@mastra/spanner 1.6.2-alpha.1 → 1.6.3-alpha.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.
package/dist/index.js CHANGED
@@ -1967,7 +1967,7 @@ var BackgroundTasksSpanner = class BackgroundTasksSpanner extends BackgroundTask
1967
1967
  }
1968
1968
  });
1969
1969
  }
1970
- async updateTask(taskId, update) {
1970
+ async updateTask(taskId, update, options) {
1971
1971
  const data = {};
1972
1972
  if ("status" in update) data.status = update.status;
1973
1973
  if ("result" in update) data.result = update.result ?? null;
@@ -1977,12 +1977,19 @@ var BackgroundTasksSpanner = class BackgroundTasksSpanner extends BackgroundTask
1977
1977
  if ("startedAt" in update) data.startedAt = update.startedAt ?? null;
1978
1978
  if ("suspendedAt" in update) data.suspendedAt = update.suspendedAt ?? null;
1979
1979
  if ("completedAt" in update) data.completedAt = update.completedAt ?? null;
1980
- if (Object.keys(data).length === 0) return;
1981
- await this.db.update({
1982
- tableName: TABLE_BACKGROUND_TASKS,
1983
- keys: { id: taskId },
1984
- data
1980
+ if (Object.keys(data).length === 0) return false;
1981
+ const setClauses = Object.keys(data).map((field) => `${quoteIdent(field, "column name")} = @${field}`);
1982
+ const params = {
1983
+ ...data,
1984
+ id: taskId,
1985
+ expectedStatus: options?.expectedStatus
1986
+ };
1987
+ const statusPredicate = options?.expectedStatus ? " AND status = @expectedStatus" : "";
1988
+ const [rowCount] = await this.database.runUpdate({
1989
+ sql: `UPDATE ${this.tableName()} SET ${setClauses.join(", ")} WHERE id = @id${statusPredicate}`,
1990
+ params
1985
1991
  });
1992
+ return rowCount > 0;
1986
1993
  }
1987
1994
  async getTask(taskId) {
1988
1995
  const [rows] = await this.database.run({
@@ -4015,6 +4022,7 @@ function rowToExperimentResult(row) {
4015
4022
  input: t.input ?? null,
4016
4023
  output: t.output ?? null,
4017
4024
  groundTruth: t.groundTruth ?? null,
4025
+ metadata: t.metadata ?? null,
4018
4026
  error: t.error ?? null,
4019
4027
  startedAt: toDate(t.startedAt),
4020
4028
  completedAt: toDate(t.completedAt),
@@ -4081,6 +4089,7 @@ var ExperimentsSpanner = class ExperimentsSpanner extends ExperimentsStorage {
4081
4089
  schema: TABLE_SCHEMAS[TABLE_EXPERIMENT_RESULTS],
4082
4090
  ifNotExists: [
4083
4091
  "comment",
4092
+ "metadata",
4084
4093
  "organizationId",
4085
4094
  "projectId",
4086
4095
  "attempt"
@@ -4474,6 +4483,7 @@ var ExperimentsSpanner = class ExperimentsSpanner extends ExperimentsStorage {
4474
4483
  input: input.input ?? null,
4475
4484
  output: input.output ?? null,
4476
4485
  groundTruth: input.groundTruth ?? null,
4486
+ metadata: input.metadata ?? null,
4477
4487
  error: input.error ?? null,
4478
4488
  startedAt: input.startedAt,
4479
4489
  completedAt: input.completedAt,
@@ -4497,6 +4507,7 @@ var ExperimentsSpanner = class ExperimentsSpanner extends ExperimentsStorage {
4497
4507
  input: result.input,
4498
4508
  output: result.output,
4499
4509
  groundTruth: result.groundTruth,
4510
+ metadata: result.metadata,
4500
4511
  error: result.error,
4501
4512
  startedAt: result.startedAt,
4502
4513
  completedAt: result.completedAt,
@@ -4568,6 +4579,7 @@ var ExperimentsSpanner = class ExperimentsSpanner extends ExperimentsStorage {
4568
4579
  ${quoteIdent("input", "column name")} = @input,
4569
4580
  ${quoteIdent("output", "column name")} = @output,
4570
4581
  ${quoteIdent("groundTruth", "column name")} = @groundTruth,
4582
+ ${quoteIdent("metadata", "column name")} = @metadata,
4571
4583
  ${quoteIdent("error", "column name")} = @error,
4572
4584
  ${quoteIdent("startedAt", "column name")} = @startedAt,
4573
4585
  ${quoteIdent("completedAt", "column name")} = @completedAt,
@@ -4586,6 +4598,7 @@ var ExperimentsSpanner = class ExperimentsSpanner extends ExperimentsStorage {
4586
4598
  input: JSON.stringify(input.input),
4587
4599
  output: input.output == null ? null : JSON.stringify(input.output),
4588
4600
  groundTruth: input.groundTruth == null ? null : JSON.stringify(input.groundTruth),
4601
+ metadata: input.metadata == null ? null : JSON.stringify(input.metadata),
4589
4602
  error: input.error == null ? null : JSON.stringify(input.error),
4590
4603
  startedAt: input.startedAt,
4591
4604
  completedAt: input.completedAt,
@@ -4603,6 +4616,7 @@ var ExperimentsSpanner = class ExperimentsSpanner extends ExperimentsStorage {
4603
4616
  input: "json",
4604
4617
  output: "json",
4605
4618
  groundTruth: "json",
4619
+ metadata: "json",
4606
4620
  error: "json",
4607
4621
  traceId: "string",
4608
4622
  status: "string",