@frugalco/frugal-sdk-node 0.4.0 → 0.6.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 (53) hide show
  1. package/README.md +91 -17
  2. package/dist/block-hash-lru.d.ts +8 -1
  3. package/dist/block-hash-lru.d.ts.map +1 -1
  4. package/dist/block-hash-lru.js +13 -4
  5. package/dist/block-hash-lru.js.map +1 -1
  6. package/dist/config.d.ts +41 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +232 -53
  9. package/dist/config.js.map +1 -1
  10. package/dist/instrument.d.ts +3 -0
  11. package/dist/instrument.d.ts.map +1 -1
  12. package/dist/instrument.js +70 -22
  13. package/dist/instrument.js.map +1 -1
  14. package/dist/internal-errors.d.ts +16 -0
  15. package/dist/internal-errors.d.ts.map +1 -0
  16. package/dist/internal-errors.js +54 -0
  17. package/dist/internal-errors.js.map +1 -0
  18. package/dist/model-cap.d.ts +24 -0
  19. package/dist/model-cap.d.ts.map +1 -0
  20. package/dist/model-cap.js +72 -0
  21. package/dist/model-cap.js.map +1 -0
  22. package/dist/otel.d.ts +45 -4
  23. package/dist/otel.d.ts.map +1 -1
  24. package/dist/otel.js +233 -24
  25. package/dist/otel.js.map +1 -1
  26. package/dist/providers.d.ts +2 -1
  27. package/dist/providers.d.ts.map +1 -1
  28. package/dist/providers.js +36 -19
  29. package/dist/providers.js.map +1 -1
  30. package/dist/semconv.d.ts +4 -0
  31. package/dist/semconv.d.ts.map +1 -1
  32. package/dist/semconv.js +17 -2
  33. package/dist/semconv.js.map +1 -1
  34. package/dist/streams.d.ts.map +1 -1
  35. package/dist/streams.js +6 -5
  36. package/dist/streams.js.map +1 -1
  37. package/dist/track.d.ts +6 -3
  38. package/dist/track.d.ts.map +1 -1
  39. package/dist/track.js +22 -7
  40. package/dist/track.js.map +1 -1
  41. package/dist/wrappers/anthropic.d.ts.map +1 -1
  42. package/dist/wrappers/anthropic.js +11 -31
  43. package/dist/wrappers/anthropic.js.map +1 -1
  44. package/dist/wrappers/batch.d.ts.map +1 -1
  45. package/dist/wrappers/batch.js +14 -34
  46. package/dist/wrappers/batch.js.map +1 -1
  47. package/dist/wrappers/bedrock.d.ts.map +1 -1
  48. package/dist/wrappers/bedrock.js +11 -30
  49. package/dist/wrappers/bedrock.js.map +1 -1
  50. package/dist/wrappers/openai.d.ts.map +1 -1
  51. package/dist/wrappers/openai.js +10 -31
  52. package/dist/wrappers/openai.js.map +1 -1
  53. package/package.json +1 -1
package/dist/otel.js CHANGED
@@ -12,18 +12,40 @@ import { ExportResultCode } from "@opentelemetry/core";
12
12
  import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-proto";
13
13
  import { resourceFromAttributes } from "@opentelemetry/resources";
14
14
  import { AggregationType, ConsoleMetricExporter, MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
15
+ import { parseHeaders } from "./config.js";
15
16
  import { emitLog } from "./debug.js";
16
- import { FRUGAL_COMPONENT, FRUGAL_CUSTOMER_ID, FRUGAL_PROJECT_ID, METRIC_CACHE_PREFIX_STABLE, METRIC_CACHE_READ_TOKENS, METRIC_CACHE_WRITE_TOKENS, METRIC_CALLS, METRIC_DUPLICATE_REQUESTS, METRIC_ERRORS, METRIC_FEW_SHOT_COUNT, METRIC_FEW_SHOT_TOKENS, METRIC_HISTORY_DEPTH, METRIC_NOISE_RATIO, METRIC_OPERATION_DURATION, METRIC_INTERNAL_ERRORS, METRIC_OUTPUT_CAP_UTILIZATION, METRIC_REASONING_TOKENS, METRIC_STRUCTURED_OUTPUT_HINT, METRIC_TOKEN_USAGE, } from "./semconv.js";
17
+ export { parseHeaders };
18
+ import { FRUGAL_COMPONENT, FRUGAL_CUSTOMER_ID, FRUGAL_INSTRUMENT, FRUGAL_PROJECT_ID, METRIC_AGENT_TURNS, METRIC_CACHE_PREFIX_STABLE, METRIC_CACHE_READ_TOKENS, METRIC_CACHE_WRITE_TOKENS, METRIC_CALLS, METRIC_DUPLICATE_REQUESTS, METRIC_ERRORS, METRIC_FEW_SHOT_COUNT, METRIC_FEW_SHOT_TOKENS, METRIC_HISTORY_DEPTH, METRIC_NOISE_RATIO, METRIC_OPERATION_DURATION, METRIC_INTERNAL_ERRORS, METRIC_OUTPUT_CAP_UTILIZATION, METRIC_REASONING_TOKENS, METRIC_STRUCTURED_OUTPUT_HINT, METRIC_TOKEN_USAGE, } from "./semconv.js";
17
19
  const INSTRUMENTATION_NAME = "frugal-metrics";
18
20
  const INSTRUMENTATION_VERSION = "0.1.0";
21
+ // The attribute OTel's metrics SDK stamps on the single merged series it
22
+ // creates once an instrument exceeds its per-instrument attribute-set limit.
23
+ // Deliberately a literal here rather than an import from semconv.ts: this is
24
+ // OTel's own wire key, not a Frugal convention, and the detector below is the
25
+ // only thing that reads it.
26
+ const OTEL_METRIC_OVERFLOW = "otel.metric.overflow";
27
+ // Effective "no limit" when FRUGAL_MAX_SERIES_PER_INSTRUMENT is 0 — the OTel
28
+ // SDK has no explicit off switch, so we hand it a number no real deployment
29
+ // reaches.
30
+ export const UNLIMITED_SERIES_PER_INSTRUMENT = 1_000_000;
19
31
  let cached = null;
32
+ // A build failure is cached exactly like a success. Configuration is read from
33
+ // the environment once per process, so a build that failed will fail the same
34
+ // way every time — and every retry constructs a MeterProvider whose reader
35
+ // starts an export timer, leaking one per customer call. Remember the failure
36
+ // and rethrow it; the wrappers already catch and fall through to the real
37
+ // client call, so the customer sees a no-op SDK rather than a rebuild storm.
38
+ let buildFailure = null;
20
39
  export function getInstruments(config) {
21
40
  if (cached !== null)
22
41
  return cached;
42
+ if (buildFailure !== null)
43
+ throw buildFailure.error;
23
44
  try {
24
45
  cached = buildInstruments(config);
25
46
  }
26
47
  catch (err) {
48
+ buildFailure = { error: err };
27
49
  emitLog("error", `failed to initialize metrics: ${errorMessage(err)}`);
28
50
  throw err;
29
51
  }
@@ -36,7 +58,24 @@ function errorMessage(err) {
36
58
  }
37
59
  function buildInstruments(config) {
38
60
  const reader = buildReader(config);
39
- return buildFromReader(config, reader);
61
+ try {
62
+ return buildFromReader(config, reader);
63
+ }
64
+ catch (err) {
65
+ // The reader owns an export timer from the moment the MeterProvider
66
+ // registers it. Failing here (a bad resource, a meter that refuses an
67
+ // instrument) would otherwise strand that timer in the customer's process
68
+ // for its lifetime, exporting from a provider nobody holds a handle to.
69
+ try {
70
+ void reader.shutdown().catch(() => {
71
+ /* best effort */
72
+ });
73
+ }
74
+ catch {
75
+ /* best effort */
76
+ }
77
+ throw err;
78
+ }
40
79
  }
41
80
  export function buildFromReader(config, reader) {
42
81
  // service.name takes the customer suffix when configured, otherwise stays
@@ -77,6 +116,22 @@ export function buildFromReader(config, reader) {
77
116
  },
78
117
  },
79
118
  },
119
+ {
120
+ // Same reasoning as the operation-duration view above: OTel's default
121
+ // boundaries are tuned for durations, not integer turn counts, so a
122
+ // real agent run (typically 1–30 turns, occasionally more on long
123
+ // tool loops) would collapse into one or two buckets. These give
124
+ // visible spread across the realistic range.
125
+ instrumentName: METRIC_AGENT_TURNS,
126
+ aggregation: {
127
+ type: AggregationType.EXPLICIT_BUCKET_HISTOGRAM,
128
+ options: {
129
+ boundaries: [
130
+ 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 30, 40, 50, 75, 100,
131
+ ],
132
+ },
133
+ },
134
+ },
80
135
  ],
81
136
  });
82
137
  const meter = provider.getMeter(INSTRUMENTATION_NAME, INSTRUMENTATION_VERSION);
@@ -107,6 +162,10 @@ export function buildFromReader(config, reader) {
107
162
  unit: "{token}",
108
163
  description: "Reasoning / extended thinking tokens billed at output rate.",
109
164
  }),
165
+ agentTurns: meter.createHistogram(METRIC_AGENT_TURNS, {
166
+ unit: "{turn}",
167
+ description: "Model-response turns completed by an agent invocation.",
168
+ }),
110
169
  errors: meter.createCounter(METRIC_ERRORS, {
111
170
  unit: "{error}",
112
171
  description: "Count of errors raised by AI client operations.",
@@ -171,6 +230,7 @@ function applyComponentFanout(raw, components) {
171
230
  cacheReadTokens: fanoutHistogram(raw.cacheReadTokens, components),
172
231
  cacheWriteTokens: fanoutHistogram(raw.cacheWriteTokens, components),
173
232
  reasoningTokens: fanoutHistogram(raw.reasoningTokens, components),
233
+ agentTurns: fanoutHistogram(raw.agentTurns, components),
174
234
  errors: fanoutCounter(raw.errors, components),
175
235
  internalErrors: raw.internalErrors,
176
236
  outputCapUtilization: fanoutHistogram(raw.outputCapUtilization, components),
@@ -203,18 +263,83 @@ function fanoutHistogram(inner, components) {
203
263
  },
204
264
  };
205
265
  }
206
- function buildReader(config) {
207
- const base = config.otlpEndpoint
208
- ? new OTLPMetricExporter({
266
+ export function buildReader(config) {
267
+ const base = config.exporter === "console"
268
+ ? new ConsoleMetricExporter()
269
+ : withoutHostOtlpHeaders(() => new OTLPMetricExporter({
209
270
  url: config.otlpEndpoint,
210
- headers: parseHeaders(config.otlpHeaders),
211
- })
212
- : new ConsoleMetricExporter();
271
+ headers: exporterHeaders(config),
272
+ }));
213
273
  return new PeriodicExportingMetricReader({
214
- exporter: wrapExporterForHealth(base),
274
+ exporter: wrapExporterForHealth(base, {
275
+ projectId: config.projectId,
276
+ customerId: config.customerId,
277
+ }),
215
278
  exportIntervalMillis: config.exportIntervalMs,
279
+ // Reader-level (`default`), NOT per-View: a per-View limit applies only to
280
+ // the instruments that View matches, so any instrument added later would
281
+ // silently sit at OTel's 2000-attribute-set default and start merging
282
+ // series into `otel.metric.overflow` without anyone changing config.
283
+ cardinalityLimits: {
284
+ default: config.maxSeriesPerInstrument > 0
285
+ ? config.maxSeriesPerInstrument
286
+ : UNLIMITED_SERIES_PER_INSTRUMENT,
287
+ },
216
288
  });
217
289
  }
290
+ /**
291
+ * Walk exported metrics for data points OTel merged into its per-instrument
292
+ * overflow bucket, and return the de-duplicated, order-stable list of
293
+ * instrument names affected.
294
+ *
295
+ * Pure and total: runs on every export tick against SDK-shaped data we do not
296
+ * own, so every level is guarded and any surprise yields whatever was collected
297
+ * so far rather than an exception on the export path.
298
+ */
299
+ export function scanForOverflow(metrics) {
300
+ const found = [];
301
+ const seen = new Set();
302
+ try {
303
+ const scopeMetrics = metrics?.scopeMetrics;
304
+ if (!Array.isArray(scopeMetrics))
305
+ return found;
306
+ for (const sm of scopeMetrics) {
307
+ const list = sm?.metrics;
308
+ if (!Array.isArray(list))
309
+ continue;
310
+ for (const metric of list) {
311
+ const name = metric?.descriptor?.name;
312
+ if (typeof name !== "string" || seen.has(name))
313
+ continue;
314
+ const dataPoints = metric?.dataPoints;
315
+ if (!Array.isArray(dataPoints))
316
+ continue;
317
+ for (const dp of dataPoints) {
318
+ const attributes = dp?.attributes;
319
+ if (!attributes || typeof attributes !== "object")
320
+ continue;
321
+ if (OTEL_METRIC_OVERFLOW in attributes) {
322
+ seen.add(name);
323
+ found.push(name);
324
+ break;
325
+ }
326
+ }
327
+ }
328
+ }
329
+ }
330
+ catch {
331
+ // Diagnostics must never break the export path.
332
+ }
333
+ return found;
334
+ }
335
+ /**
336
+ * The internal-errors counter, if instruments have been built. The health
337
+ * wrapper is constructed inside buildReader — before buildFromReader creates
338
+ * any instrument — so it can only resolve the counter lazily, per export.
339
+ */
340
+ function internalErrorsCounterOrNull() {
341
+ return cached === null ? null : cached.internalErrors;
342
+ }
218
343
  /**
219
344
  * Wrap an OTLP exporter so persistent export failures surface as a single
220
345
  * de-duped `error` debug callback. The periodic reader retries silently
@@ -224,11 +349,67 @@ function buildReader(config) {
224
349
  * one alert per failure run, not one per export tick.
225
350
  *
226
351
  * Delegates every other exporter method so behavior is otherwise unchanged.
352
+ *
353
+ * `identity` stamps frugal.project_id / frugal.customer_id onto the
354
+ * overflow-detection points below. Optional so tests (and any caller that only
355
+ * wants export-failure reporting) can wrap without a Config.
227
356
  */
228
- export function wrapExporterForHealth(exporter) {
357
+ export function wrapExporterForHealth(exporter, identity) {
229
358
  let consecutiveFailures = 0;
359
+ // Per-wrapper (not global) so state lives and dies with the reader it was
360
+ // built for — no reset hook to remember in tests, and two readers never share
361
+ // a "already reported" memory. Both are bounded by the instrument count, so a
362
+ // permanently overflowing instrument yields one point, not one per tick.
363
+ //
364
+ // Two sets, not one: the wrapper is built inside buildReader, BEFORE any
365
+ // instrument exists, so the very first export can find no counter to add to.
366
+ // A single "reported" set would mark the instrument done on that export and
367
+ // the internal_errors point would never be emitted, even though the counter
368
+ // exists one tick later. `logged` retires the debug line immediately (it did
369
+ // fire); `counted` is only written once the counter add actually ran.
370
+ const logged = new Set();
371
+ const counted = new Set();
230
372
  return {
231
373
  export(metrics, resultCallback) {
374
+ // Diagnostics only: never alters control flow, never recurses (the
375
+ // counter increment lands in the NEXT collection cycle), and the export
376
+ // below runs exactly as before whatever happens here.
377
+ try {
378
+ for (const name of scanForOverflow(metrics)) {
379
+ if (!logged.has(name)) {
380
+ logged.add(name);
381
+ emitLog("error", `OTel per-instrument cardinality limit exceeded on ${name}: further attribute sets are merged into a single {${OTEL_METRIC_OVERFLOW}: true} series with every other label dropped. Raise FRUGAL_MAX_SERIES_PER_INSTRUMENT, or lower FRUGAL_MAX_CALL_SITES / FRUGAL_MAX_MODELS.`, { [FRUGAL_INSTRUMENT]: name });
382
+ }
383
+ if (counted.has(name))
384
+ continue;
385
+ const counter = internalErrorsCounterOrNull();
386
+ // No counter yet — leave the name uncounted so a later export, once
387
+ // instruments exist, still lands the point.
388
+ if (counter === null)
389
+ continue;
390
+ // Identity goes on the POINT, matching cardinality_cap_hit and
391
+ // model_cap_hit: every product-side query scopes on the
392
+ // frugal.project_id point label, so relying on the resource
393
+ // attributes being flattened by OTLP ingest would drop these points
394
+ // out of every dashboard.
395
+ counter.add(1, {
396
+ ...(identity?.customerId
397
+ ? { [FRUGAL_CUSTOMER_ID]: identity.customerId }
398
+ : {}),
399
+ ...(identity?.projectId
400
+ ? { [FRUGAL_PROJECT_ID]: identity.projectId }
401
+ : {}),
402
+ "frugal.internal_error.stage": "otel_cardinality_overflow",
403
+ [FRUGAL_INSTRUMENT]: name,
404
+ });
405
+ // Only AFTER the add actually returned: a throwing counter must not
406
+ // consume the one-shot and lose the point forever.
407
+ counted.add(name);
408
+ }
409
+ }
410
+ catch {
411
+ // never let a diagnostic break the export path
412
+ }
232
413
  exporter.export(metrics, (result) => {
233
414
  if (result.code === ExportResultCode.SUCCESS) {
234
415
  if (consecutiveFailures > 0)
@@ -277,22 +458,48 @@ export async function shutdownMetrics() {
277
458
  cached = null;
278
459
  await provider.shutdown();
279
460
  }
280
- function parseHeaders(raw) {
281
- if (!raw)
282
- return undefined;
283
- const out = {};
284
- for (const part of raw.split(",")) {
285
- const trimmed = part.trim();
286
- if (!trimmed)
287
- continue;
288
- const eq = trimmed.indexOf("=");
289
- if (eq < 0)
290
- continue;
291
- out[trimmed.slice(0, eq).trim()] = trimmed.slice(eq + 1).trim();
461
+ /**
462
+ * The OTLP exporter's header map. A header built from the API key is passed
463
+ * verbatim (never parsed, so a key containing `%` or `,` reaches the exporter
464
+ * unchanged); only an explicit FRUGAL_OTEL_EXPORTER_OTLP_HEADERS string is
465
+ * parsed and percent-decoded. Same rule in the Python and Go SDKs.
466
+ */
467
+ export function exporterHeaders(config) {
468
+ if (config.otlpApiKey)
469
+ return { Authorization: `Bearer ${config.otlpApiKey}` };
470
+ return parseHeaders(config.otlpHeaders);
471
+ }
472
+ // The generic OTel header variables the OTLP exporter library reads on its own
473
+ // and MERGES under the `headers` option (otlp-exporter-base: env headers first,
474
+ // ours on top, so only an identical key is overridden). They belong to the
475
+ // host's own pipeline and must never reach Frugal's ingest.
476
+ const HOST_OTLP_HEADER_ENV = [
477
+ "OTEL_EXPORTER_OTLP_HEADERS",
478
+ "OTEL_EXPORTER_OTLP_METRICS_HEADERS",
479
+ ];
480
+ /**
481
+ * Run `build` with the host's generic OTLP header variables hidden, restoring
482
+ * them in `finally`. The exporter reads its env configuration synchronously in
483
+ * its constructor, and JS is single-threaded, so no other code observes the gap.
484
+ */
485
+ export function withoutHostOtlpHeaders(build) {
486
+ const saved = [];
487
+ for (const name of HOST_OTLP_HEADER_ENV) {
488
+ const value = process.env[name];
489
+ if (value !== undefined) {
490
+ saved.push([name, value]);
491
+ delete process.env[name];
492
+ }
493
+ }
494
+ try {
495
+ return build();
496
+ }
497
+ finally {
498
+ for (const [name, value] of saved)
499
+ process.env[name] = value;
292
500
  }
293
- return Object.keys(out).length > 0 ? out : undefined;
294
501
  }
295
- /** Test-only hook — wipe the cached instruments between tests. */
502
+ /** Test-only hook — wipe the cached instruments (and any cached failure). */
296
503
  export function resetInstrumentsForTests() {
297
504
  if (cached) {
298
505
  cached.meterProvider.shutdown().catch(() => {
@@ -300,9 +507,11 @@ export function resetInstrumentsForTests() {
300
507
  });
301
508
  }
302
509
  cached = null;
510
+ buildFailure = null;
303
511
  }
304
512
  /** Test-only hook — install pre-built instruments (e.g. with InMemory reader). */
305
513
  export function setInstrumentsForTests(instruments) {
306
514
  cached = instruments;
515
+ buildFailure = null;
307
516
  }
308
517
  //# sourceMappingURL=otel.js.map
package/dist/otel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,8 @@ declare const OPERATIONS: readonly ["chat", "text_completion", "embeddings", "ge
63
63
  */
64
64
  export type GenAiOperation = (typeof OPERATIONS)[number] | typeof OP_OTHER;
65
65
  export declare function warnInvalidOnce(key: string, message: string): void;
66
- /** Test-only — clear the bounded invalid-value warning state. */
66
+ export declare function warnCustomLabelOnce(key: string, message: string): void;
67
+ /** Test-only — clear the bounded invalid-value warning state (both channels). */
67
68
  export declare function resetProviderWarningsForTests(): void;
68
69
  /**
69
70
  * Resolve a caller-supplied provider string to its canonical
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAW,QAAQ,EAAiB,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcuB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACpC,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,GAC1C,QAAQ,CAAC;AAKb,QAAA,MAAM,UAAU,wHAQN,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,QAAQ,CAAC;AA0B3E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAclE;AAED,iEAAiE;AACjE,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,GAAE,SAAS,MAAM,EAAO,GACtC,aAAa,CAcf;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAUzD"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAW,QAAQ,EAAiB,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcuB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACpC,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,GAC1C,QAAQ,CAAC;AAKb,QAAA,MAAM,UAAU,wHAQN,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,QAAQ,CAAC;AAyD3E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAElE;AAGD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEtE;AAED,iFAAiF;AACjF,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,GAAE,SAAS,MAAM,EAAO,GACtC,aAAa,CAcf;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAUzD"}
package/dist/providers.js CHANGED
@@ -63,28 +63,45 @@ for (const entry of PROVIDERS) {
63
63
  // the cap is enforced in one place — and so every distinct typo is surfaced, not
64
64
  // just the first one.
65
65
  const MAX_TRACKED_INVALID = 32;
66
- const warnedInvalid = new Set();
67
- let capNoticeEmitted = false;
68
- // Exported for the custom_label coercion in instrument.ts — every label
69
- // vocabulary in the SDK that coerces to a sentinel reports through this one
70
- // bounded helper.
66
+ // Each vocabulary gets its own independent budget so a flood of unlisted
67
+ // custom_label values cannot starve provider/operation typo warnings (and vice
68
+ // versa), and each cap notice names the vocabulary it is about.
69
+ function createBoundedWarner(capNotice) {
70
+ const warned = new Set();
71
+ let capNoticeEmitted = false;
72
+ return {
73
+ warn(key, message) {
74
+ if (warned.has(key))
75
+ return;
76
+ if (warned.size >= MAX_TRACKED_INVALID) {
77
+ if (!capNoticeEmitted) {
78
+ capNoticeEmitted = true;
79
+ emitLog("warn", capNotice);
80
+ }
81
+ return;
82
+ }
83
+ warned.add(key);
84
+ emitLog("warn", message);
85
+ },
86
+ reset() {
87
+ warned.clear();
88
+ capNoticeEmitted = false;
89
+ },
90
+ };
91
+ }
92
+ const providerOperationWarner = createBoundedWarner(`frugal-metrics: ${MAX_TRACKED_INVALID}+ distinct invalid provider/operation values seen; further unknown values are coerced to the sentinel without an individual warning.`);
93
+ const customLabelWarner = createBoundedWarner(`frugal-metrics: ${MAX_TRACKED_INVALID}+ distinct unlisted custom_label values seen; further values are coerced to "other" without an individual warning.`);
71
94
  export function warnInvalidOnce(key, message) {
72
- if (warnedInvalid.has(key))
73
- return;
74
- if (warnedInvalid.size >= MAX_TRACKED_INVALID) {
75
- if (!capNoticeEmitted) {
76
- capNoticeEmitted = true;
77
- emitLog("warn", `frugal-metrics: ${MAX_TRACKED_INVALID}+ distinct invalid provider/operation values seen; further unknown values are coerced to the sentinel without an individual warning.`);
78
- }
79
- return;
80
- }
81
- warnedInvalid.add(key);
82
- emitLog("warn", message);
95
+ providerOperationWarner.warn(key, message);
96
+ }
97
+ // Exported for the custom_label coercion in instrument.ts, on its own budget.
98
+ export function warnCustomLabelOnce(key, message) {
99
+ customLabelWarner.warn(key, message);
83
100
  }
84
- /** Test-only — clear the bounded invalid-value warning state. */
101
+ /** Test-only — clear the bounded invalid-value warning state (both channels). */
85
102
  export function resetProviderWarningsForTests() {
86
- warnedInvalid.clear();
87
- capNoticeEmitted = false;
103
+ providerOperationWarner.reset();
104
+ customLabelWarner.reset();
88
105
  }
89
106
  /**
90
107
  * Resolve a caller-supplied provider string to its canonical
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
package/dist/semconv.d.ts CHANGED
@@ -22,6 +22,7 @@ export declare const METRIC_CALLS = "frugal.gen_ai.calls";
22
22
  export declare const METRIC_CACHE_READ_TOKENS = "frugal.gen_ai.cache_read_tokens";
23
23
  export declare const METRIC_CACHE_WRITE_TOKENS = "frugal.gen_ai.cache_write_tokens";
24
24
  export declare const METRIC_REASONING_TOKENS = "frugal.gen_ai.reasoning_tokens";
25
+ export declare const METRIC_AGENT_TURNS = "frugal.gen_ai.agent.turns";
25
26
  export declare const METRIC_ERRORS = "frugal.gen_ai.errors";
26
27
  export declare const METRIC_INTERNAL_ERRORS = "frugal.gen_ai.internal_errors";
27
28
  export declare const METRIC_OUTPUT_CAP_UTILIZATION = "frugal.gen_ai.output_cap_utilization";
@@ -59,6 +60,9 @@ export declare const BLOCK_USER = "user";
59
60
  export declare const BLOCK_TOOLS = "tools";
60
61
  export declare const BLOCK_SCHEMA = "schema";
61
62
  export declare const CALLER_FILE_EXTERNAL = "<external>";
63
+ export declare const UNKNOWN = "<unknown>";
62
64
  export declare const CALLER_FILE_UNKNOWN = "<unknown>";
65
+ export declare const OVERFLOW = "<overflow>";
63
66
  export declare const CALLER_OVERFLOW = "<overflow>";
67
+ export declare const FRUGAL_INSTRUMENT = "frugal.instrument";
64
68
  //# sourceMappingURL=semconv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semconv.d.ts","sourceRoot":"","sources":["../src/semconv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semconv.d.ts","sourceRoot":"","sources":["../src/semconv.ts"],"names":[],"mappings":"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"}
package/dist/semconv.js CHANGED
@@ -31,6 +31,7 @@ export const METRIC_CALLS = "frugal.gen_ai.calls";
31
31
  export const METRIC_CACHE_READ_TOKENS = "frugal.gen_ai.cache_read_tokens";
32
32
  export const METRIC_CACHE_WRITE_TOKENS = "frugal.gen_ai.cache_write_tokens";
33
33
  export const METRIC_REASONING_TOKENS = "frugal.gen_ai.reasoning_tokens";
34
+ export const METRIC_AGENT_TURNS = "frugal.gen_ai.agent.turns";
34
35
  export const METRIC_ERRORS = "frugal.gen_ai.errors";
35
36
  export const METRIC_INTERNAL_ERRORS = "frugal.gen_ai.internal_errors";
36
37
  export const METRIC_OUTPUT_CAP_UTILIZATION = "frugal.gen_ai.output_cap_utilization";
@@ -79,6 +80,20 @@ export const BLOCK_USER = "user";
79
80
  export const BLOCK_TOOLS = "tools";
80
81
  export const BLOCK_SCHEMA = "schema";
81
82
  export const CALLER_FILE_EXTERNAL = "<external>";
82
- export const CALLER_FILE_UNKNOWN = "<unknown>";
83
- export const CALLER_OVERFLOW = "<overflow>";
83
+ // Shared "we could not determine this" sentinel — the wire value for ANY axis
84
+ // the SDK could not resolve (caller file/function, request/response model).
85
+ // CALLER_FILE_UNKNOWN stays as an alias so the older call-site-specific
86
+ // spelling keeps working, mirroring OVERFLOW / CALLER_OVERFLOW below.
87
+ export const UNKNOWN = "<unknown>";
88
+ export const CALLER_FILE_UNKNOWN = UNKNOWN;
89
+ // Shared overflow sentinel — the wire value for ANY axis collapsed by a
90
+ // cardinality cap (call sites, models, and the DB/storage instrumentation that
91
+ // shares this contract). CALLER_OVERFLOW stays as an alias so the older
92
+ // call-site-specific spelling keeps working.
93
+ export const OVERFLOW = "<overflow>";
94
+ export const CALLER_OVERFLOW = OVERFLOW;
95
+ // Bounded label naming the OTel instrument a diagnostic is about. Emitted ONLY
96
+ // on frugal.gen_ai.internal_errors, so its cardinality is bounded by the number
97
+ // of instruments the SDK creates.
98
+ export const FRUGAL_INSTRUMENT = "frugal.instrument";
84
99
  //# sourceMappingURL=semconv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semconv.js","sourceRoot":"","sources":["../src/semconv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semconv.js","sourceRoot":"","sources":["../src/semconv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,OAAO,IAAI,CAC5C,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;AAEV,qBAAa,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAKlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,SAAS,CAAS;gBAGP,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAGjD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;IA0C1C,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;CAStB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,kBAAkB,GAC1B,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAU5B"}
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,OAAO,IAAI,CAC5C,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;AAEV,qBAAa,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAKlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,SAAS,CAAS;gBAGP,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAGjD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;IA0C1C,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;CAStB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,kBAAkB,GAC1B,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAU5B"}
package/dist/streams.js CHANGED
@@ -31,7 +31,7 @@ export class AsyncStreamProxy {
31
31
  try {
32
32
  this.handler(result.value, this.usage);
33
33
  }
34
- catch {
34
+ catch (_handlerErr) {
35
35
  // swallow handler errors — we never want to break user code
36
36
  }
37
37
  return result;
@@ -62,8 +62,9 @@ export class AsyncStreamProxy {
62
62
  try {
63
63
  this.emit.success(this.usage);
64
64
  }
65
- catch {
66
- // never break the customer's stream iteration
65
+ catch (err) {
66
+ // never break the customer's stream iteration, but count and log it
67
+ this.emit.recordEmissionFailure(err);
67
68
  }
68
69
  }
69
70
  finalizeError(err) {
@@ -73,8 +74,8 @@ export class AsyncStreamProxy {
73
74
  try {
74
75
  this.emit.error(err);
75
76
  }
76
- catch {
77
- // never break the customer's stream iteration
77
+ catch (emitErr) {
78
+ this.emit.recordEmissionFailure(emitErr);
78
79
  }
79
80
  }
80
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"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"}