@mastra/pg 1.14.0-alpha.0 → 1.14.1-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
@@ -5184,6 +5184,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5184
5184
  await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "requestContext", "JSONB");
5185
5185
  await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "source", "JSONB");
5186
5186
  await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "expectedTrajectory", "JSONB");
5187
+ await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "toolMocks", "JSONB");
5187
5188
  await this.createDefaultIndexes();
5188
5189
  await this.createCustomIndexes();
5189
5190
  }
@@ -5267,6 +5268,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5267
5268
  input: safelyParseJSON(row.input),
5268
5269
  groundTruth: row.groundTruth ? safelyParseJSON(row.groundTruth) : void 0,
5269
5270
  expectedTrajectory: row.expectedTrajectory ? safelyParseJSON(row.expectedTrajectory) : void 0,
5271
+ toolMocks: row.toolMocks ? safelyParseJSON(row.toolMocks) : void 0,
5270
5272
  requestContext: row.requestContext ? safelyParseJSON(row.requestContext) : void 0,
5271
5273
  metadata: row.metadata ? safelyParseJSON(row.metadata) : void 0,
5272
5274
  source: row.source ? safelyParseJSON(row.source) : void 0,
@@ -5284,6 +5286,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5284
5286
  input: safelyParseJSON(row.input),
5285
5287
  groundTruth: row.groundTruth ? safelyParseJSON(row.groundTruth) : void 0,
5286
5288
  expectedTrajectory: row.expectedTrajectory ? safelyParseJSON(row.expectedTrajectory) : void 0,
5289
+ toolMocks: row.toolMocks ? safelyParseJSON(row.toolMocks) : void 0,
5287
5290
  requestContext: row.requestContext ? safelyParseJSON(row.requestContext) : void 0,
5288
5291
  metadata: row.metadata ? safelyParseJSON(row.metadata) : void 0,
5289
5292
  source: row.source ? safelyParseJSON(row.source) : void 0,
@@ -5553,7 +5556,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5553
5556
  );
5554
5557
  newVersion = row.version;
5555
5558
  await t.none(
5556
- `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,false,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)`,
5559
+ `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","toolMocks","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,false,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)`,
5557
5560
  [
5558
5561
  id,
5559
5562
  args.datasetId,
@@ -5561,6 +5564,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5561
5564
  JSON.stringify(args.input),
5562
5565
  jsonbArg(args.groundTruth),
5563
5566
  jsonbArg(args.expectedTrajectory),
5567
+ jsonbArg(args.toolMocks),
5564
5568
  jsonbArg(args.requestContext),
5565
5569
  jsonbArg(args.metadata),
5566
5570
  jsonbArg(args.source),
@@ -5582,6 +5586,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5582
5586
  input: args.input,
5583
5587
  groundTruth: args.groundTruth,
5584
5588
  expectedTrajectory: args.expectedTrajectory,
5589
+ toolMocks: args.toolMocks,
5585
5590
  requestContext: args.requestContext,
5586
5591
  metadata: args.metadata,
5587
5592
  source: args.source,
@@ -5631,6 +5636,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5631
5636
  const mergedInput = args.input !== void 0 ? args.input : existing.input;
5632
5637
  const mergedGroundTruth = args.groundTruth !== void 0 ? args.groundTruth : existing.groundTruth;
5633
5638
  const mergedExpectedTrajectory = args.expectedTrajectory !== void 0 ? args.expectedTrajectory : existing.expectedTrajectory;
5639
+ const mergedToolMocks = args.toolMocks !== void 0 ? args.toolMocks : existing.toolMocks;
5634
5640
  const mergedRequestContext = args.requestContext !== void 0 ? args.requestContext : existing.requestContext;
5635
5641
  const mergedMetadata = args.metadata !== void 0 ? args.metadata : existing.metadata;
5636
5642
  const mergedSource = args.source !== void 0 ? args.source : existing.source;
@@ -5646,7 +5652,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5646
5652
  [newVersion, args.id]
5647
5653
  );
5648
5654
  await t.none(
5649
- `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,false,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)`,
5655
+ `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","toolMocks","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,false,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)`,
5650
5656
  [
5651
5657
  args.id,
5652
5658
  args.datasetId,
@@ -5654,6 +5660,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5654
5660
  JSON.stringify(mergedInput),
5655
5661
  jsonbArg(mergedGroundTruth),
5656
5662
  jsonbArg(mergedExpectedTrajectory),
5663
+ jsonbArg(mergedToolMocks),
5657
5664
  jsonbArg(mergedRequestContext),
5658
5665
  jsonbArg(mergedMetadata),
5659
5666
  jsonbArg(mergedSource),
@@ -5674,6 +5681,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5674
5681
  input: mergedInput,
5675
5682
  groundTruth: mergedGroundTruth,
5676
5683
  expectedTrajectory: mergedExpectedTrajectory,
5684
+ toolMocks: mergedToolMocks,
5677
5685
  requestContext: mergedRequestContext,
5678
5686
  metadata: mergedMetadata,
5679
5687
  source: mergedSource,
@@ -5722,7 +5730,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5722
5730
  [newVersion, id]
5723
5731
  );
5724
5732
  await t.none(
5725
- `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,true,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)`,
5733
+ `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","toolMocks","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,true,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)`,
5726
5734
  [
5727
5735
  id,
5728
5736
  datasetId,
@@ -5730,6 +5738,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5730
5738
  JSON.stringify(existing.input),
5731
5739
  jsonbArg(existing.groundTruth),
5732
5740
  jsonbArg(existing.expectedTrajectory),
5741
+ jsonbArg(existing.toolMocks),
5733
5742
  jsonbArg(existing.requestContext),
5734
5743
  jsonbArg(existing.metadata),
5735
5744
  jsonbArg(existing.source),
@@ -5786,7 +5795,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5786
5795
  newVersion = row.version;
5787
5796
  for (const { id, input: itemInput } of itemsWithIds) {
5788
5797
  await t.none(
5789
- `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,false,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)`,
5798
+ `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","toolMocks","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,false,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)`,
5790
5799
  [
5791
5800
  id,
5792
5801
  input.datasetId,
@@ -5794,6 +5803,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5794
5803
  JSON.stringify(itemInput.input),
5795
5804
  jsonbArg(itemInput.groundTruth),
5796
5805
  jsonbArg(itemInput.expectedTrajectory),
5806
+ jsonbArg(itemInput.toolMocks),
5797
5807
  jsonbArg(itemInput.requestContext),
5798
5808
  jsonbArg(itemInput.metadata),
5799
5809
  jsonbArg(itemInput.source),
@@ -5816,6 +5826,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5816
5826
  input: itemInput.input,
5817
5827
  groundTruth: itemInput.groundTruth,
5818
5828
  expectedTrajectory: itemInput.expectedTrajectory,
5829
+ toolMocks: itemInput.toolMocks,
5819
5830
  requestContext: itemInput.requestContext,
5820
5831
  metadata: itemInput.metadata,
5821
5832
  source: itemInput.source,
@@ -5873,7 +5884,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5873
5884
  [newVersion, item.id]
5874
5885
  );
5875
5886
  await t.none(
5876
- `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,true,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)`,
5887
+ `INSERT INTO ${itemsTable} ("id","datasetId","datasetVersion","validTo","isDeleted","input","groundTruth","expectedTrajectory","toolMocks","requestContext","metadata","source","createdAt","createdAtZ","updatedAt","updatedAtZ") VALUES ($1,$2,$3,NULL,true,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)`,
5877
5888
  [
5878
5889
  item.id,
5879
5890
  input.datasetId,
@@ -5881,6 +5892,7 @@ var DatasetsPG = class _DatasetsPG extends DatasetsStorage {
5881
5892
  JSON.stringify(item.input),
5882
5893
  jsonbArg(item.groundTruth),
5883
5894
  jsonbArg(item.expectedTrajectory),
5895
+ jsonbArg(item.toolMocks),
5884
5896
  jsonbArg(item.requestContext),
5885
5897
  jsonbArg(item.metadata),
5886
5898
  jsonbArg(item.source),
@@ -6141,7 +6153,7 @@ var ExperimentsPG = class _ExperimentsPG extends ExperimentsStorage {
6141
6153
  await this.#db.alterTable({
6142
6154
  tableName: TABLE_EXPERIMENT_RESULTS,
6143
6155
  schema: EXPERIMENT_RESULTS_SCHEMA,
6144
- ifNotExists: ["status", "tags"]
6156
+ ifNotExists: ["status", "tags", "toolMockReport"]
6145
6157
  });
6146
6158
  await this.createDefaultIndexes();
6147
6159
  await this.createCustomIndexes();
@@ -6217,6 +6229,7 @@ var ExperimentsPG = class _ExperimentsPG extends ExperimentsStorage {
6217
6229
  traceId: row.traceId ?? null,
6218
6230
  status: row.status ?? null,
6219
6231
  tags: row.tags ? safelyParseJSON(row.tags) : null,
6232
+ toolMockReport: row.toolMockReport ? safelyParseJSON(row.toolMockReport) : null,
6220
6233
  createdAt: ensureDate(row.createdAtZ || row.createdAt)
6221
6234
  };
6222
6235
  }
@@ -6477,6 +6490,7 @@ var ExperimentsPG = class _ExperimentsPG extends ExperimentsStorage {
6477
6490
  traceId: input.traceId ?? null,
6478
6491
  status: input.status ?? null,
6479
6492
  tags: input.tags ?? null,
6493
+ toolMockReport: input.toolMockReport ?? null,
6480
6494
  createdAt: nowIso
6481
6495
  }
6482
6496
  });
@@ -6495,6 +6509,7 @@ var ExperimentsPG = class _ExperimentsPG extends ExperimentsStorage {
6495
6509
  traceId: input.traceId ?? null,
6496
6510
  status: input.status ?? null,
6497
6511
  tags: input.tags ?? null,
6512
+ toolMockReport: input.toolMockReport ?? null,
6498
6513
  createdAt: now
6499
6514
  };
6500
6515
  } catch (error) {
@@ -8284,12 +8299,7 @@ var MemoryPG = class _MemoryPG extends MemoryStorage {
8284
8299
  await this.#db.createTable({ tableName: TABLE_THREADS, schema: TABLE_SCHEMAS[TABLE_THREADS] });
8285
8300
  await this.#db.createTable({ tableName: TABLE_MESSAGES, schema: TABLE_SCHEMAS[TABLE_MESSAGES] });
8286
8301
  await this.#db.createTable({ tableName: TABLE_RESOURCES, schema: TABLE_SCHEMAS[TABLE_RESOURCES] });
8287
- let omSchema;
8288
- try {
8289
- const { OBSERVATIONAL_MEMORY_TABLE_SCHEMA } = await import('@mastra/core/storage');
8290
- omSchema = OBSERVATIONAL_MEMORY_TABLE_SCHEMA?.[OM_TABLE];
8291
- } catch {
8292
- }
8302
+ const omSchema = _omTableSchema?.[OM_TABLE];
8293
8303
  if (omSchema) {
8294
8304
  await this.#db.createTable({
8295
8305
  tableName: OM_TABLE,
@@ -19147,6 +19157,9 @@ var PostgresStore = class extends MastraCompositeStore {
19147
19157
  #poolClosed = false;
19148
19158
  schema;
19149
19159
  isInitialized = false;
19160
+ // Caches the in-flight init() so concurrent callers share one initialization
19161
+ // instead of each acquiring + pinning a client. See init() / issue #18282.
19162
+ #initPromise = null;
19150
19163
  stores;
19151
19164
  constructor(config) {
19152
19165
  try {
@@ -19213,16 +19226,25 @@ var PostgresStore = class extends MastraCompositeStore {
19213
19226
  throw new Error("PostgresStore: invalid config");
19214
19227
  }
19215
19228
  async init() {
19229
+ if (this.disableInit || process.env.MASTRA_DISABLE_STORAGE_INIT === "true") {
19230
+ return;
19231
+ }
19216
19232
  if (this.isInitialized) {
19217
19233
  return;
19218
19234
  }
19219
- const pinnedClient = await this.#pool.connect();
19220
- const pinned = new PinnedClientAdapter(this.#pool, pinnedClient);
19235
+ this.#initPromise ??= this.#runPinnedInit();
19236
+ await this.#initPromise;
19237
+ }
19238
+ async #runPinnedInit() {
19239
+ let pinnedClient;
19221
19240
  try {
19241
+ pinnedClient = await this.#pool.connect();
19242
+ const pinned = new PinnedClientAdapter(this.#pool, pinnedClient);
19222
19243
  this.#db.pin(pinned);
19223
19244
  await super.init();
19224
19245
  this.isInitialized = true;
19225
19246
  } catch (error) {
19247
+ this.#initPromise = null;
19226
19248
  if (error instanceof MastraError) {
19227
19249
  throw error;
19228
19250
  }
@@ -19235,8 +19257,10 @@ var PostgresStore = class extends MastraCompositeStore {
19235
19257
  error
19236
19258
  );
19237
19259
  } finally {
19238
- this.#db.unpin();
19239
- pinnedClient.release();
19260
+ if (pinnedClient) {
19261
+ this.#db.unpin();
19262
+ pinnedClient.release();
19263
+ }
19240
19264
  }
19241
19265
  }
19242
19266
  /**