@mastra/duckdb 1.17.0 → 1.18.0-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,4 +1,4 @@
1
- const require_features = require("./features-CBdrOdEO.cjs");
1
+ const require_features = require("./features-CP_ka777.cjs");
2
2
  let _mastra_core_error = require("@mastra/core/error");
3
3
  let _mastra_core_storage = require("@mastra/core/storage");
4
4
  _mastra_core_storage = require_features.__toESM(_mastra_core_storage, 1);
@@ -2883,6 +2883,18 @@ const TRACE_FIELDS = {
2883
2883
  sql: "r.organizationId",
2884
2884
  parameterType: "scalar"
2885
2885
  },
2886
+ requestId: {
2887
+ sql: "r.requestId",
2888
+ parameterType: "scalar"
2889
+ },
2890
+ serviceName: {
2891
+ sql: "r.serviceName",
2892
+ parameterType: "scalar"
2893
+ },
2894
+ experimentId: {
2895
+ sql: "r.experimentId",
2896
+ parameterType: "scalar"
2897
+ },
2886
2898
  startedAt: {
2887
2899
  sql: "r.startedAt",
2888
2900
  parameterType: "timestamp"
@@ -3036,6 +3048,18 @@ const SPAN_FIELDS = {
3036
3048
  organizationId: {
3037
3049
  sql: "s.organizationId",
3038
3050
  parameterType: "scalar"
3051
+ },
3052
+ requestId: {
3053
+ sql: "s.requestId",
3054
+ parameterType: "scalar"
3055
+ },
3056
+ serviceName: {
3057
+ sql: "s.serviceName",
3058
+ parameterType: "scalar"
3059
+ },
3060
+ experimentId: {
3061
+ sql: "s.experimentId",
3062
+ parameterType: "scalar"
3039
3063
  }
3040
3064
  };
3041
3065
  const SPAN_QUERY_FIELDS = {
@@ -3060,18 +3084,6 @@ const SPAN_QUERY_FIELDS = {
3060
3084
  sql: "s.resourceId",
3061
3085
  parameterType: "scalar"
3062
3086
  },
3063
- requestId: {
3064
- sql: "s.requestId",
3065
- parameterType: "scalar"
3066
- },
3067
- serviceName: {
3068
- sql: "s.serviceName",
3069
- parameterType: "scalar"
3070
- },
3071
- experimentId: {
3072
- sql: "s.experimentId",
3073
- parameterType: "scalar"
3074
- },
3075
3087
  environment: {
3076
3088
  sql: "s.environment",
3077
3089
  parameterType: "scalar"
@@ -3437,6 +3449,9 @@ const ROOT_PUSHDOWN_FIELDS = /* @__PURE__ */ new Set([
3437
3449
  "sessionId",
3438
3450
  "userId",
3439
3451
  "organizationId",
3452
+ "requestId",
3453
+ "serviceName",
3454
+ "experimentId",
3440
3455
  "endedAt",
3441
3456
  "timeToFirstChunkMs",
3442
3457
  "timeToFirstTokenMs",
@@ -3587,7 +3602,10 @@ function compileDuckDBTraceScope(relatedCollections, scope, timeRange, rootPredi
3587
3602
  runId,
3588
3603
  sessionId,
3589
3604
  userId,
3590
- organizationId
3605
+ organizationId,
3606
+ requestId,
3607
+ serviceName,
3608
+ experimentId
3591
3609
  FROM current_span_rows
3592
3610
  WHERE currentRank = 1
3593
3611
  )`);
@@ -4508,6 +4526,13 @@ const SPAN_DIMENSION_SQL = Object.fromEntries([
4508
4526
  "model",
4509
4527
  "provider"
4510
4528
  ].map((field) => [field, `r.${field}`]));
4529
+ /** Quantile for each percentile statistic of a time-to-first measure. */
4530
+ const STATISTIC_PERCENTILES = {
4531
+ p50: .5,
4532
+ p90: .9,
4533
+ p95: .95,
4534
+ p99: .99
4535
+ };
4511
4536
  const PERCENTILES = {
4512
4537
  "duration.p50": .5,
4513
4538
  "duration.p90": .9,
@@ -4586,6 +4611,8 @@ function compileDuckDBAggregate(plan, options, source) {
4586
4611
  values.push(...compiled.values);
4587
4612
  }
4588
4613
  factColumns.push(`CAST(${durationMsSql("r.startedAt", "r.endedAt")} AS DOUBLE) AS durationMs`, `r.error IS NOT NULL AS isError`);
4614
+ const timeToFirstFields = new Set(plan.measures.map((measure) => measureRule(measure.name)?.field));
4615
+ for (const field of timeToFirstFields) if (field) factColumns.push(`CAST(r.${field} AS DOUBLE) AS ${field}`);
4589
4616
  if (plan.interval !== void 0) {
4590
4617
  const intervalMs = _mastra_core_storage.TRACE_AGGREGATE_INTERVAL_MS[plan.interval];
4591
4618
  if (intervalMs === void 0) throw new Error(`Unsupported trusted trace-aggregate interval: ${plan.interval}`);
@@ -4621,6 +4648,16 @@ function compileDuckDBAggregate(plan, options, source) {
4621
4648
  const measureSql = (name, alias = "") => {
4622
4649
  const column = (name) => `${alias}${name}`;
4623
4650
  if (name === "count") return "CAST(count(*) AS DOUBLE)";
4651
+ const timeToFirst = measureRule(name);
4652
+ if (timeToFirst?.field) {
4653
+ const value = column(timeToFirst.field);
4654
+ if (timeToFirst.statistic === "count") return `CAST(count(${value}) AS DOUBLE)`;
4655
+ if (timeToFirst.statistic === "avg") return `avg(${value})`;
4656
+ if (timeToFirst.statistic === "min") return `min(${value})`;
4657
+ if (timeToFirst.statistic === "max") return `max(${value})`;
4658
+ const quantile = timeToFirst.statistic && STATISTIC_PERCENTILES[timeToFirst.statistic];
4659
+ if (quantile !== void 0) return `quantile_cont(${value}, ${quantile})`;
4660
+ }
4624
4661
  if (name === "errorCount") return `CAST(count_if(${column("isError")}) AS DOUBLE)`;
4625
4662
  if (name === "errorRate") return `CAST(count_if(${column("isError")}) AS DOUBLE) / count(*)`;
4626
4663
  if (name === "duration.avg") return `avg(${column("durationMs")})`;
@@ -6390,6 +6427,7 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
6390
6427
  "metric-discovery",
6391
6428
  "trace-query",
6392
6429
  "trace-aggregate",
6430
+ ...require_features.aggregateTimeToFirstFeatures,
6393
6431
  ...require_features.spanQueryFeatures,
6394
6432
  ...require_features.spanAggregateFeatures,
6395
6433
  ...typeof _mastra_core_storage.planThreadRowsQuery === "function" ? ["thread-query-rows"] : [],
@@ -6399,6 +6437,7 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
6399
6437
  "trace-query-tenant-scope",
6400
6438
  "feedback",
6401
6439
  "trace-query-context-ids",
6440
+ ...require_features.contextFieldFeatures,
6402
6441
  ...require_features.timingFeatures,
6403
6442
  ...require_features.outcomeFeatures,
6404
6443
  "trace-query-root-span-fields",
@@ -6416,6 +6455,7 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
6416
6455
  "delta-polling",
6417
6456
  "trace-query",
6418
6457
  "trace-aggregate",
6458
+ ...require_features.aggregateTimeToFirstFeatures,
6419
6459
  ...require_features.spanQueryFeatures,
6420
6460
  ...require_features.spanAggregateFeatures,
6421
6461
  ...typeof _mastra_core_storage.planThreadRowsQuery === "function" ? ["thread-query-rows"] : [],
@@ -6425,6 +6465,7 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
6425
6465
  "trace-query-tenant-scope",
6426
6466
  "feedback",
6427
6467
  "trace-query-context-ids",
6468
+ ...require_features.contextFieldFeatures,
6428
6469
  ...require_features.timingFeatures,
6429
6470
  ...require_features.outcomeFeatures,
6430
6471
  "trace-query-root-span-fields",
@@ -6592,4 +6633,4 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
6592
6633
  };
6593
6634
  exports.ObservabilityStorageDuckDB = ObservabilityStorageDuckDB;
6594
6635
 
6595
- //# sourceMappingURL=observability-B_ARB4Uv.cjs.map
6636
+ //# sourceMappingURL=observability-De8nSw6B.cjs.map