@mastra/observability 1.17.8 → 1.17.9-alpha.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"model-tracing.d.ts","sourceRoot":"","sources":["../src/model-tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EAErB,IAAI,EACJ,cAAc,EACd,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAa,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAwS1F;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAkB3B,YAAY,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAEtD;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAExD;IAYD;;;OAGG;IACH,iBAAiB,IAAI,cAAc,CAIlC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAUhF;IAED;;;OAGG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAYlD;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAE5E;IAED;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEtC;IAED;;;OAGG;IACH,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAEnF;IAED;;;OAGG;IACH,2BAA2B,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAErE;IAED;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,CAErB;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAqB1C;IA8BD;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CA4B/C;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAmB3C;IAmTD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS;QAAE,WAAW,EAAE,QAAQ,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAqJ5D;CACF"}
1
+ {"version":3,"file":"model-tracing.d.ts","sourceRoot":"","sources":["../src/model-tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EAErB,IAAI,EACJ,cAAc,EACd,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAa,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAyU1F;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAkB3B,YAAY,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAEtD;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAExD;IAYD;;;OAGG;IACH,iBAAiB,IAAI,cAAc,CAIlC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAUhF;IAED;;;OAGG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAsBlD;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAE5E;IAED;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEtC;IAED;;;OAGG;IACH,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAEnF;IAED;;;OAGG;IACH,2BAA2B,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAErE;IAED;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,CAErB;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAqB1C;IA8BD;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CA4B/C;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAmB3C;IAmTD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS;QAAE,WAAW,EAAE,QAAQ,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAqJ5D;CACF"}
@@ -57,9 +57,10 @@ export declare class SensitiveDataFilter implements SpanOutputProcessor {
57
57
  /**
58
58
  * Process a span by filtering sensitive data across its key fields.
59
59
  * Fields processed: attributes, metadata, input, output, errorInfo, requestContext.
60
+ * The span is mutated in place, as the SpanOutputProcessor contract requires.
60
61
  *
61
62
  * @param span - The input span to filter
62
- * @returns A new span with sensitive values redacted
63
+ * @returns The same span instance with sensitive values redacted
63
64
  */
64
65
  process(span: AnySpan): AnySpan;
65
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sensitive-data-filter.d.ts","sourceRoot":"","sources":["../../src/span_processors/sensitive-data-filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AA4B5D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,IAAI,SAA2B;IAC/B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAA4C;IAE/D,YAAY,OAAO,GAAE,0BAA+B,EAuBnD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAS9B;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA6ClB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,SAAS;IAQjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAkCb,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;CACF"}
1
+ {"version":3,"file":"sensitive-data-filter.d.ts","sourceRoot":"","sources":["../../src/span_processors/sensitive-data-filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AA4B5D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,IAAI,SAA2B;IAC/B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAA4C;IAE/D,YAAY,OAAO,GAAE,0BAA+B,EAuBnD;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAS9B;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA6ClB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,SAAS;IAQjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAkCb,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;CACF"}
package/dist/usage.d.ts CHANGED
@@ -3,6 +3,24 @@
3
3
  */
4
4
  import type { UsageStats } from '@mastra/core/observability';
5
5
  import type { LanguageModelUsage, ProviderMetadata } from '@mastra/core/stream';
6
+ export interface OpenRouterCostResult {
7
+ total: number;
8
+ usedCost: boolean;
9
+ usedUpstreamCost: boolean;
10
+ }
11
+ /**
12
+ * For non-BYOK requests, `usage.cost` is the complete OpenRouter charge and
13
+ * `usage.costDetails.upstreamInferenceCost` is only its upstream breakdown. For BYOK requests,
14
+ * the upstream cost is billed separately and must be added to OpenRouter's own `usage.cost`.
15
+ *
16
+ * OpenRouter reports `usage.is_byok` on the wire, but published `@openrouter/ai-sdk-provider`
17
+ * versions drop it from `providerMetadata.openrouter.usage`. When `isByok` is present it is
18
+ * authoritative. When it is absent, only the unambiguous shapes are used: a non-BYOK response
19
+ * reports an upstream cost that is absent, zero, or equal to `cost`, and a BYOK response reports
20
+ * a zero `cost` with a positive upstream cost. Any other combination falls back to model price
21
+ * inference rather than double-counting a non-BYOK charge or under-reporting a BYOK one.
22
+ */
23
+ export declare function extractOpenRouterCost(providerMetadata?: ProviderMetadata): OpenRouterCostResult | undefined;
6
24
  /**
7
25
  * Extracts and normalizes token usage from AI SDK response, including
8
26
  * provider-specific cache tokens from providerMetadata.
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA2DhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAoI/G;AA0CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAclF"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA4BhF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,SAAS,CAoC3G;AAgDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAoI/G;AA0CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAclF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/observability",
3
- "version": "1.17.8",
3
+ "version": "1.17.9-alpha.1",
4
4
  "description": "Core observability package for Mastra - includes tracing and scoring features",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,18 +24,18 @@
24
24
  "license": "Apache-2.0",
25
25
  "devDependencies": {
26
26
  "@types/node": "22.20.1",
27
- "@vitest/coverage-v8": "4.1.10",
28
- "@vitest/ui": "4.1.10",
27
+ "@vitest/coverage-v8": "4.1.11",
28
+ "@vitest/ui": "4.1.11",
29
29
  "eslint": "^10.7.0",
30
30
  "tsdown": "0.22.9",
31
31
  "typescript": "^7.0.2",
32
- "vitest": "4.1.10",
33
- "zod": "^4.4.3",
32
+ "vitest": "4.1.11",
33
+ "zod": "^4.6.4",
34
34
  "@internal/ai-sdk-v4": "0.0.80",
35
35
  "@internal/ai-sdk-v5": "0.0.80",
36
36
  "@internal/lint": "0.0.133",
37
37
  "@internal/types-builder": "0.0.108",
38
- "@mastra/core": "1.67.0"
38
+ "@mastra/core": "1.68.0-alpha.2"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@mastra/core": ">=1.16.0-0 <2.0.0-0",