@mastra/duckdb 1.19.0-alpha.4 → 1.19.0-alpha.5

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-xTAPLAPX.cjs");
1
+ const require_features = require("./features-TxRZAzYn.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);
@@ -4097,15 +4097,19 @@ function keys(rows, values, alias = "") {
4097
4097
  return `${alias}${field} IS NOT DISTINCT FROM ?`;
4098
4098
  }).join(" AND ")})`).join(" OR ");
4099
4099
  }
4100
+ function sortColumn(plan) {
4101
+ const column = `s.${plan.orderBy.field}`;
4102
+ return plan.orderBy.field === "model" || plan.orderBy.field === "provider" ? `${column} COLLATE "C"` : column;
4103
+ }
4100
4104
  function afterCursor(plan) {
4101
4105
  if (!plan.cursor) return {
4102
4106
  sql: "TRUE",
4103
4107
  values: []
4104
4108
  };
4105
4109
  const cursor = plan.cursor;
4106
- const sort = `s.${plan.orderBy.field}`;
4110
+ const sort = sortColumn(plan);
4107
4111
  const empty = cursor.sortValue === null;
4108
- const value = `CAST(? AS ${typeof cursor.sortValue === "number" ? "DOUBLE" : "TIMESTAMP"})`;
4112
+ const value = plan.orderBy.field === "model" || plan.orderBy.field === "provider" ? "CAST(? AS VARCHAR) COLLATE \"C\"" : `CAST(? AS ${typeof cursor.sortValue === "number" ? "DOUBLE" : "TIMESTAMP"})`;
4109
4113
  const comparisons = empty ? [] : [`${sort} ${plan.orderBy.direction === "asc" ? ">" : "<"} ${value}`, `${sort} IS NULL`];
4110
4114
  const values = empty ? [] : [cursor.sortValue];
4111
4115
  for (let i = 0; i < identityFields.length; i++) {
@@ -4186,10 +4190,12 @@ function compileDuckDBSpanQuery(plan) {
4186
4190
  "endedAt",
4187
4191
  "durationMs",
4188
4192
  "status",
4189
- "cursorId"
4193
+ "cursorId",
4194
+ "model",
4195
+ "provider"
4190
4196
  ].map((field) => `s.${field}`).join(", ")}
4191
4197
  FROM selected s WHERE ${after.sql}
4192
- ORDER BY s.${plan.orderBy.field} ${plan.orderBy.direction === "asc" ? "ASC" : "DESC"} NULLS LAST, ${identityFields.map((field) => `s.${field} ASC NULLS LAST`).join(", ")}
4198
+ ORDER BY ${sortColumn(plan)} ${plan.orderBy.direction === "asc" ? "ASC" : "DESC"} NULLS LAST, ${identityFields.map((field) => `s.${field} ASC NULLS LAST`).join(", ")}
4193
4199
  LIMIT ?`,
4194
4200
  values
4195
4201
  };
@@ -4227,6 +4233,7 @@ async function querySpans(db, plan) {
4227
4233
  const rows = await query(compiled.sql, compiled.values);
4228
4234
  const selected = rows.map(({ cursorId: _cursorId, startedAt, endedAt, timeToFirstChunkMs, timeToFirstTokenMs, outcome, stopReason, ...row }) => ({
4229
4235
  ...row,
4236
+ ...(plan.orderBy.field === "model" || plan.orderBy.field === "provider") && { cursorSortValue: row[plan.orderBy.field] },
4230
4237
  startedAt: startedAt.toISOString(),
4231
4238
  endedAt: endedAt.toISOString(),
4232
4239
  ...require_features.timeToFirstChunkSupported && { timeToFirstChunkMs: timeToFirstChunkMs == null ? null : Number(timeToFirstChunkMs) },
@@ -6721,4 +6728,4 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
6721
6728
  };
6722
6729
  exports.ObservabilityStorageDuckDB = ObservabilityStorageDuckDB;
6723
6730
 
6724
- //# sourceMappingURL=observability-cJFzLpu4.cjs.map
6731
+ //# sourceMappingURL=observability-BT6At9hS.cjs.map