@frugalco/frugal-sdk-node 0.2.0 → 0.4.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 (55) hide show
  1. package/README.md +21 -10
  2. package/dist/config.d.ts +17 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +130 -4
  5. package/dist/config.js.map +1 -1
  6. package/dist/duplicate-filter.d.ts +46 -0
  7. package/dist/duplicate-filter.d.ts.map +1 -0
  8. package/dist/duplicate-filter.js +168 -0
  9. package/dist/duplicate-filter.js.map +1 -0
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/instrument.d.ts +36 -1
  15. package/dist/instrument.d.ts.map +1 -1
  16. package/dist/instrument.js +242 -22
  17. package/dist/instrument.js.map +1 -1
  18. package/dist/otel.d.ts +2 -0
  19. package/dist/otel.d.ts.map +1 -1
  20. package/dist/otel.js +17 -2
  21. package/dist/otel.js.map +1 -1
  22. package/dist/prompt-analyzer.d.ts +12 -1
  23. package/dist/prompt-analyzer.d.ts.map +1 -1
  24. package/dist/prompt-analyzer.js +185 -14
  25. package/dist/prompt-analyzer.js.map +1 -1
  26. package/dist/providers.d.ts +87 -0
  27. package/dist/providers.d.ts.map +1 -0
  28. package/dist/providers.js +128 -0
  29. package/dist/providers.js.map +1 -0
  30. package/dist/semconv.d.ts +12 -0
  31. package/dist/semconv.d.ts.map +1 -1
  32. package/dist/semconv.js +31 -0
  33. package/dist/semconv.js.map +1 -1
  34. package/dist/streams.d.ts.map +1 -1
  35. package/dist/streams.js +15 -2
  36. package/dist/streams.js.map +1 -1
  37. package/dist/track.d.ts +32 -4
  38. package/dist/track.d.ts.map +1 -1
  39. package/dist/track.js +2 -1
  40. package/dist/track.js.map +1 -1
  41. package/dist/wrappers/anthropic.d.ts.map +1 -1
  42. package/dist/wrappers/anthropic.js +9 -1
  43. package/dist/wrappers/anthropic.js.map +1 -1
  44. package/dist/wrappers/batch.d.ts +11 -0
  45. package/dist/wrappers/batch.d.ts.map +1 -0
  46. package/dist/wrappers/batch.js +338 -0
  47. package/dist/wrappers/batch.js.map +1 -0
  48. package/dist/wrappers/openai.d.ts.map +1 -1
  49. package/dist/wrappers/openai.js +37 -30
  50. package/dist/wrappers/openai.js.map +1 -1
  51. package/dist/wrappers/patching.d.ts +10 -0
  52. package/dist/wrappers/patching.d.ts.map +1 -0
  53. package/dist/wrappers/patching.js +38 -0
  54. package/dist/wrappers/patching.js.map +1 -0
  55. package/package.json +1 -1
@@ -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;IAuC1C,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;CAKtB;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;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"}
package/dist/streams.js CHANGED
@@ -52,17 +52,30 @@ export class AsyncStreamProxy {
52
52
  },
53
53
  };
54
54
  }
55
+ // Finalize runs inside the customer's `for await` loop (next/return/throw),
56
+ // so an emission failure must be swallowed here — there is no wrapper-level
57
+ // safe() on this path.
55
58
  finalizeSuccess() {
56
59
  if (this.finalized)
57
60
  return;
58
61
  this.finalized = true;
59
- this.emit.success(this.usage);
62
+ try {
63
+ this.emit.success(this.usage);
64
+ }
65
+ catch {
66
+ // never break the customer's stream iteration
67
+ }
60
68
  }
61
69
  finalizeError(err) {
62
70
  if (this.finalized)
63
71
  return;
64
72
  this.finalized = true;
65
- this.emit.error(err);
73
+ try {
74
+ this.emit.error(err);
75
+ }
76
+ catch {
77
+ // never break the customer's stream iteration
78
+ }
66
79
  }
67
80
  }
68
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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"}
package/dist/track.d.ts CHANGED
@@ -1,12 +1,40 @@
1
1
  import { type UsageReport } from "./instrument.js";
2
+ import type { GenAiOperation, GenAiSystem } from "./providers.js";
2
3
  /** Metadata describing a hand-instrumented AI call. All fields optional. */
3
4
  export interface AICallInfo {
4
- /** gen_ai.system — free-form (e.g. "anthropic"). Default "custom". */
5
- provider?: string;
6
- /** gen_ai.operation.name. Default OP_CHAT ("chat"). */
7
- operation?: string;
5
+ /**
6
+ * gen_ai.system — a well-known OpenTelemetry provider value (autocompleted via
7
+ * GenAiSystem); any other string is accepted but coerced to "custom" at emit
8
+ * time with a one-time warning. Default "custom".
9
+ */
10
+ provider?: GenAiSystem | (string & {});
11
+ /**
12
+ * gen_ai.operation.name — a well-known value (autocompleted via GenAiOperation);
13
+ * any other string is coerced to the "other" sentinel (NOT "chat", so a typo
14
+ * can't inflate the real chat series) with a one-time warning. An absent
15
+ * operation defaults to "chat".
16
+ */
17
+ operation?: GenAiOperation | (string & {});
8
18
  /** gen_ai.request.model. Default "<unknown>". */
9
19
  model?: string;
20
+ /**
21
+ * Optional caller-defined tag (e.g. a business unit), emitted as the
22
+ * `frugal.custom_label` label on
23
+ * EVERY metric of this call. To keep cardinality bounded the value must match
24
+ * one of the first 20 comma-separated entries of the `FRUGAL_CUSTOM_LABEL`
25
+ * env var — anything else (including when the env var is unset) is coerced to
26
+ * `"other"` with a warn-once diagnostic. Omitted entirely when unset;
27
+ * at runtime `null` is treated as unset and any other non-string coerces to
28
+ * `"other"` (never throws).
29
+ */
30
+ customLabel?: string;
31
+ /**
32
+ * Marks the call as submitted through a provider batch API — sets the
33
+ * frugal.batched label on every metric of the call. Use this when
34
+ * hand-instrumenting a batch submission or batch-result ingestion the
35
+ * provider wrappers can't see. Default false.
36
+ */
37
+ batched?: boolean;
10
38
  messages?: unknown;
11
39
  system?: unknown;
12
40
  tools?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAgBA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAIzB,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC;AAElC,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,uCAAuC;IACvC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAmCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,UAAe,GAAG,YAAY,CA2D/D;AAkBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAAK,CAAC,GAC1C,CAAC,CA2BH"}
1
+ {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAgBA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlE,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACvC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC;AAElC,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,uCAAuC;IACvC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAmCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,UAAe,GAAG,YAAY,CA4D/D;AAkBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAAK,CAAC,GAC1C,CAAC,CA2BH"}
package/dist/track.js CHANGED
@@ -62,8 +62,9 @@ export function startAICall(info = {}) {
62
62
  operation: info.operation ?? OP_CHAT,
63
63
  requestModel: info.model ?? "<unknown>",
64
64
  skipPackageDirs: SKIP_DIRS,
65
- batched: false,
65
+ batched: info.batched ?? false,
66
66
  requestPayload: buildPayload(info),
67
+ customLabel: info.customLabel,
67
68
  };
68
69
  emit = startCall(config, ctx, { skipFrames: 2 });
69
70
  }
package/dist/track.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/wrappers/anthropic.ts"],"names":[],"mappings":"AAiCA,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsC7C"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/wrappers/anthropic.ts"],"names":[],"mappings":"AAoCA,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CA8C7C"}
@@ -10,7 +10,8 @@ import { startCall, } from "../instrument.js";
10
10
  import { getInstruments } from "../otel.js";
11
11
  import { FRUGAL_CUSTOMER_ID, FRUGAL_PROJECT_ID, OP_CHAT, SYSTEM_ANTHROPIC, SYSTEM_AWS_BEDROCK, SYSTEM_VERTEX_AI, } from "../semconv.js";
12
12
  import { wrapStreamObject } from "../streams.js";
13
- const FRUGAL_MARK = "__frugalWrapped";
13
+ import { patchAnthropicBatches } from "./batch.js";
14
+ import { FRUGAL_MARK } from "./patching.js";
14
15
  export function wrapAnthropic(client) {
15
16
  const config = loadConfig();
16
17
  if (config === null)
@@ -38,6 +39,13 @@ export function wrapAnthropic(client) {
38
39
  catch {
39
40
  return client;
40
41
  }
42
+ // Message Batches exists on the direct Anthropic API only — Bedrock/Vertex
43
+ // variants are left alone so a stray `messages.batches` attribute on those
44
+ // clients can never mint batched-looking series for channels without the
45
+ // discount.
46
+ if (system === SYSTEM_ANTHROPIC) {
47
+ patchAnthropicBatches(c, { config, system, skipDirs });
48
+ }
41
49
  try {
42
50
  Object.defineProperty(c, FRUGAL_MARK, {
43
51
  value: true,
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/wrappers/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/wrappers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Config } from "../config.js";
2
+ export interface BatchPatchOptions {
3
+ config: Config;
4
+ system: string;
5
+ skipDirs: readonly string[];
6
+ }
7
+ /** Test-only. */
8
+ export declare function resetBatchCallersForTests(): void;
9
+ export declare function patchOpenAIBatchCreate(client: unknown, opts: BatchPatchOptions): void;
10
+ export declare function patchAnthropicBatches(client: unknown, opts: BatchPatchOptions): void;
11
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/wrappers/batch.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAoB3C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAyBD,iBAAiB;AACjB,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAmBD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,iBAAiB,GACtB,IAAI,CAwCN;AAUD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,iBAAiB,GACtB,IAAI,CAKN"}
@@ -0,0 +1,338 @@
1
+ // Provider batch-API instrumentation (OpenAI Batch API, Anthropic Message
2
+ // Batches). Emits the frugal.batched="true" side of the metric contract:
3
+ //
4
+ // - Submission (`batches.create` / `messages.batches.create`): the fanned-out
5
+ // request volume lands on frugal.gen_ai.calls. Anthropic submissions carry
6
+ // the requests array, so counts (and models) are exact per request; OpenAI
7
+ // submissions reference a pre-uploaded JSONL file the SDK never sees, so the
8
+ // count falls back to the server-reported request_counts.total when present,
9
+ // else one point per submission — a deliberate floor, never an overcount.
10
+ // - Results (Anthropic `messages.batches.results()` only): per-entry token
11
+ // usage, attributed to the call site that SUBMITTED the batch when the
12
+ // submission happened in this process (a bounded id → caller map), else to
13
+ // the results call site. OpenAI batch results live in an output file read
14
+ // through the generic files API, which is not intercepted.
15
+ //
16
+ // Submission errors ride the normal CallEmitter error path (calls + errors
17
+ // with batched=true), so a failing batch pipeline is as visible as a failing
18
+ // sync one.
19
+ import { resolveCaller } from "../caller.js";
20
+ import { emitLogOnce } from "../debug.js";
21
+ import { recordBatchedCalls, recordBatchedUsage, startCall, } from "../instrument.js";
22
+ import { getInstruments } from "../otel.js";
23
+ import { FRUGAL_CUSTOMER_ID, FRUGAL_PROJECT_ID, OP_CHAT, OP_EMBEDDINGS, OP_OTHER, OP_TEXT_COMPLETION, } from "../semconv.js";
24
+ import { installWrapped, resolveChain, unwrappedMethod } from "./patching.js";
25
+ // --- submission-site memory --------------------------------------------------
26
+ //
27
+ // Results retrieval usually runs far from the submission (a poll loop, another
28
+ // module), but the spend belongs to the site that decided to batch. Remember
29
+ // the resolved submission caller per batch id, bounded FIFO so a long-lived
30
+ // process submitting many batches cannot grow it without limit. A miss (other
31
+ // process, eviction, restart) falls back to the results call site.
32
+ const MAX_REMEMBERED_BATCHES = 1024;
33
+ const batchCallers = new Map();
34
+ function rememberBatchCaller(batchId, caller) {
35
+ if (batchCallers.size >= MAX_REMEMBERED_BATCHES && !batchCallers.has(batchId)) {
36
+ const oldest = batchCallers.keys().next();
37
+ if (!oldest.done)
38
+ batchCallers.delete(oldest.value);
39
+ }
40
+ batchCallers.set(batchId, caller);
41
+ }
42
+ function lookupBatchCaller(batchId) {
43
+ return batchCallers.get(batchId);
44
+ }
45
+ /** Test-only. */
46
+ export function resetBatchCallersForTests() {
47
+ batchCallers.clear();
48
+ }
49
+ // --- OpenAI -------------------------------------------------------------------
50
+ // The submission names the target endpoint; map it to the operation vocabulary
51
+ // so batched embeddings don't masquerade as chat. Unknown endpoints coerce to
52
+ // the "other" sentinel rather than polluting a real series.
53
+ const OPENAI_ENDPOINT_OPERATIONS = {
54
+ "/v1/chat/completions": OP_CHAT,
55
+ "/v1/completions": OP_TEXT_COMPLETION,
56
+ "/v1/embeddings": OP_EMBEDDINGS,
57
+ "/v1/responses": OP_CHAT,
58
+ };
59
+ function openAIEndpointOperation(endpoint) {
60
+ if (typeof endpoint !== "string")
61
+ return OP_OTHER;
62
+ return OPENAI_ENDPOINT_OPERATIONS[endpoint] ?? OP_OTHER;
63
+ }
64
+ export function patchOpenAIBatchCreate(client, opts) {
65
+ // Older openai clients have no `batches` surface — nothing to do.
66
+ const target = resolveChain(client, ["batches"]);
67
+ if (!target)
68
+ return;
69
+ const original = unwrappedMethod(target, "create");
70
+ if (!original)
71
+ return;
72
+ const bound = original.bind(target);
73
+ const wrapped = function (...args) {
74
+ let emit;
75
+ let operation;
76
+ try {
77
+ const params = (args[0] ?? {});
78
+ operation = openAIEndpointOperation(params.endpoint);
79
+ const ctx = {
80
+ system: opts.system,
81
+ operation,
82
+ // The per-request models live in the uploaded JSONL, not the
83
+ // submission params.
84
+ requestModel: "<unknown>",
85
+ skipPackageDirs: opts.skipDirs,
86
+ batched: true,
87
+ };
88
+ emit = startCall(opts.config, ctx);
89
+ }
90
+ catch (err) {
91
+ recordInternalError("setup_failed", err, opts.config);
92
+ return bound(...args);
93
+ }
94
+ return finishSubmission(bound, args, emit, (awaited) => {
95
+ const total = openAIRequestTotal(awaited);
96
+ recordBatchedCalls(opts.config, { system: opts.system, operation }, emit.caller, [{ requestModel: "<unknown>", count: total ?? 1 }]);
97
+ });
98
+ };
99
+ installWrapped(target, "create", wrapped);
100
+ }
101
+ function openAIRequestTotal(response) {
102
+ const counts = attr(response, "request_counts");
103
+ const total = attr(counts, "total");
104
+ return typeof total === "number" && total > 0 ? total : null;
105
+ }
106
+ // --- Anthropic ------------------------------------------------------------------
107
+ export function patchAnthropicBatches(client, opts) {
108
+ const target = resolveChain(client, ["messages", "batches"]);
109
+ if (!target)
110
+ return;
111
+ patchAnthropicBatchCreate(target, opts);
112
+ patchAnthropicBatchResults(target, opts);
113
+ }
114
+ function patchAnthropicBatchCreate(target, opts) {
115
+ const original = unwrappedMethod(target, "create");
116
+ if (!original)
117
+ return;
118
+ const bound = original.bind(target);
119
+ const wrapped = function (...args) {
120
+ let emit;
121
+ let groups;
122
+ try {
123
+ const params = (args[0] ?? {});
124
+ groups = anthropicRequestGroups(params.requests);
125
+ const ctx = {
126
+ system: opts.system,
127
+ operation: OP_CHAT,
128
+ requestModel: groups[0]?.requestModel ?? "<unknown>",
129
+ skipPackageDirs: opts.skipDirs,
130
+ batched: true,
131
+ };
132
+ emit = startCall(opts.config, ctx);
133
+ }
134
+ catch (err) {
135
+ recordInternalError("setup_failed", err, opts.config);
136
+ return bound(...args);
137
+ }
138
+ return finishSubmission(bound, args, emit, (awaited) => {
139
+ recordBatchedCalls(opts.config, { system: opts.system, operation: OP_CHAT }, emit.caller, groups);
140
+ const batchId = attr(awaited, "id");
141
+ if (typeof batchId === "string" && batchId) {
142
+ rememberBatchCaller(batchId, emit.caller);
143
+ }
144
+ });
145
+ };
146
+ installWrapped(target, "create", wrapped);
147
+ }
148
+ function anthropicRequestGroups(requests) {
149
+ if (!Array.isArray(requests) || requests.length === 0) {
150
+ return [{ requestModel: "<unknown>", count: 1 }];
151
+ }
152
+ const byModel = new Map();
153
+ for (const request of requests) {
154
+ const model = attr(attr(request, "params"), "model");
155
+ const key = typeof model === "string" && model ? model : "<unknown>";
156
+ byModel.set(key, (byModel.get(key) ?? 0) + 1);
157
+ }
158
+ return [...byModel.entries()].map(([requestModel, count]) => ({
159
+ requestModel,
160
+ count,
161
+ }));
162
+ }
163
+ function patchAnthropicBatchResults(target, opts) {
164
+ const original = unwrappedMethod(target, "results");
165
+ if (!original)
166
+ return;
167
+ const bound = original.bind(target);
168
+ const wrapped = function (...args) {
169
+ // Attribution only — the underlying call must pass through untouched on
170
+ // any internal failure, and results errors are the customer's to handle
171
+ // (no calls were counted here, so nothing needs an error metric).
172
+ let caller = null;
173
+ try {
174
+ const batchId = typeof args[0] === "string" ? args[0] : null;
175
+ caller =
176
+ (batchId ? lookupBatchCaller(batchId) : undefined) ??
177
+ resolveCaller({
178
+ skipPackageDirs: opts.skipDirs,
179
+ blockList: opts.config.pathBlockList,
180
+ repoRoot: opts.config.repoRoot,
181
+ maxCallSites: opts.config.maxCallSites,
182
+ skipFrames: 1,
183
+ });
184
+ }
185
+ catch {
186
+ caller = null;
187
+ }
188
+ const result = bound(...args);
189
+ if (caller === null)
190
+ return result;
191
+ const resolved = caller;
192
+ if (isPromiseLike(result)) {
193
+ return (async () => {
194
+ const awaited = await result;
195
+ return teeResults(awaited, opts, resolved);
196
+ })();
197
+ }
198
+ return teeResults(result, opts, resolved);
199
+ };
200
+ installWrapped(target, "results", wrapped);
201
+ }
202
+ // Tease off the async iterator of the results decoder and record each
203
+ // succeeded entry's usage as it is consumed — the decoder streams, so this is
204
+ // the only pass over the data. Everything else on the object passes through.
205
+ function teeResults(decoder, opts, caller) {
206
+ try {
207
+ if (decoder === null ||
208
+ typeof decoder !== "object" ||
209
+ typeof decoder[Symbol.asyncIterator] !==
210
+ "function") {
211
+ return decoder;
212
+ }
213
+ const iterable = decoder;
214
+ return new Proxy(iterable, {
215
+ get(proxyTarget, prop, receiver) {
216
+ if (prop === Symbol.asyncIterator) {
217
+ return () => teeIterator(iterable, opts, caller);
218
+ }
219
+ return Reflect.get(proxyTarget, prop, receiver);
220
+ },
221
+ });
222
+ }
223
+ catch (err) {
224
+ recordInternalError("stream_proxy_failed", err, opts.config);
225
+ return decoder;
226
+ }
227
+ }
228
+ async function* teeIterator(iterable, opts, caller) {
229
+ for await (const entry of iterable) {
230
+ try {
231
+ recordResultEntry(entry, opts, caller);
232
+ }
233
+ catch (err) {
234
+ recordInternalError("emission", err, opts.config);
235
+ }
236
+ yield entry;
237
+ }
238
+ }
239
+ function recordResultEntry(entry, opts, caller) {
240
+ const result = attr(entry, "result");
241
+ if (attr(result, "type") !== "succeeded")
242
+ return;
243
+ const message = attr(result, "message");
244
+ if (!message)
245
+ return;
246
+ const usage = attr(message, "usage");
247
+ const model = attr(message, "model");
248
+ const requestModel = typeof model === "string" && model ? model : "<unknown>";
249
+ recordBatchedUsage(opts.config, { system: opts.system, operation: OP_CHAT }, caller, requestModel, {
250
+ responseModel: typeof model === "string" ? model : null,
251
+ inputTokens: asNumber(attr(usage, "input_tokens")),
252
+ outputTokens: asNumber(attr(usage, "output_tokens")),
253
+ cacheReadTokens: asNumber(attr(usage, "cache_read_input_tokens")),
254
+ cacheWriteTokens: asNumber(attr(usage, "cache_creation_input_tokens")),
255
+ });
256
+ }
257
+ // --- shared plumbing ----------------------------------------------------------
258
+ // Run the bound submission call, wiring the emitter's error path and invoking
259
+ // `onSuccess` (guarded) with the awaited response. emit.success is deliberately
260
+ // never called: the submission's request volume is recorded via
261
+ // recordBatchedCalls, and a success() here would double-count one call.
262
+ function finishSubmission(bound, args, emit, onSuccess) {
263
+ let result;
264
+ try {
265
+ result = bound(...args);
266
+ }
267
+ catch (err) {
268
+ safe(() => emit.error(err));
269
+ throw err;
270
+ }
271
+ if (isPromiseLike(result)) {
272
+ return (async () => {
273
+ let awaited;
274
+ try {
275
+ awaited = await result;
276
+ }
277
+ catch (err) {
278
+ safe(() => emit.error(err));
279
+ throw err;
280
+ }
281
+ safe(() => onSuccess(awaited));
282
+ return awaited;
283
+ })();
284
+ }
285
+ safe(() => onSuccess(result));
286
+ return result;
287
+ }
288
+ function safe(fn) {
289
+ try {
290
+ fn();
291
+ }
292
+ catch (err) {
293
+ recordInternalError("emission", err, null);
294
+ }
295
+ }
296
+ function recordInternalError(stage, err, config) {
297
+ if (stage === "setup_failed") {
298
+ emitLogOnce("batch_setup_failed", "error", `batch wrapper setup failed: ${errorName(err)}`);
299
+ }
300
+ try {
301
+ if (!config)
302
+ return;
303
+ const instruments = getInstruments(config);
304
+ instruments.internalErrors.add(1, {
305
+ ...(config.customerId ? { [FRUGAL_CUSTOMER_ID]: config.customerId } : {}),
306
+ [FRUGAL_PROJECT_ID]: config.projectId,
307
+ "frugal.internal_error.stage": stage,
308
+ "frugal.internal_error.type": errorName(err),
309
+ });
310
+ }
311
+ catch {
312
+ // swallow — nothing left to try
313
+ }
314
+ }
315
+ function errorName(err) {
316
+ if (err && typeof err === "object" && "name" in err && typeof err.name === "string") {
317
+ return err.name;
318
+ }
319
+ if (err instanceof Error)
320
+ return err.constructor.name;
321
+ return "UnknownError";
322
+ }
323
+ function isPromiseLike(value) {
324
+ return (value !== null &&
325
+ typeof value === "object" &&
326
+ typeof value.then === "function");
327
+ }
328
+ function attr(obj, key) {
329
+ if (obj === null || obj === undefined)
330
+ return undefined;
331
+ if (typeof obj !== "object")
332
+ return undefined;
333
+ return obj[key];
334
+ }
335
+ function asNumber(v) {
336
+ return typeof v === "number" ? v : null;
337
+ }
338
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/wrappers/batch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/wrappers/openai.ts"],"names":[],"mappings":"AAoCA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAyD1C"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/wrappers/openai.ts"],"names":[],"mappings":"AA0CA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CA2D1C"}