@mastra/mysql 0.10.0 → 0.10.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
@@ -1883,6 +1883,17 @@ function parseOptionalJSON(value, emptyValue) {
1883
1883
  function jsonArg(value) {
1884
1884
  return value === void 0 || value === null ? null : JSON.stringify(value);
1885
1885
  }
1886
+ function jsonDataArg(value) {
1887
+ return value === void 0 ? null : JSON.stringify(value);
1888
+ }
1889
+ const ITEM_SELECT_COLUMNS = Object.keys(DATASET_ITEMS_SCHEMA).map((column) => {
1890
+ const name = quoteIdentifier(column, "column name");
1891
+ return [
1892
+ "input",
1893
+ "groundTruth",
1894
+ "expectedTrajectory"
1895
+ ].includes(column) ? `CAST(${name} AS CHAR CHARACTER SET utf8mb4) AS ${name}` : name;
1896
+ }).join(", ");
1886
1897
  var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
1887
1898
  pool;
1888
1899
  operations;
@@ -2031,15 +2042,15 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2031
2042
  return {
2032
2043
  id: row.id,
2033
2044
  name: row.name,
2034
- description: row.description,
2045
+ description: row.description ?? void 0,
2035
2046
  metadata: parseJSON$3(row.metadata),
2036
2047
  inputSchema: parseJSON$3(row.inputSchema),
2037
2048
  groundTruthSchema: parseJSON$3(row.groundTruthSchema),
2038
2049
  requestContextSchema: parseJSON$3(row.requestContextSchema),
2039
- tags: parseJSON$3(row.tags) ?? null,
2040
- targetType: row.targetType ?? null,
2041
- targetIds: parseJSON$3(row.targetIds) ?? null,
2042
- scorerIds: parseJSON$3(row.scorerIds) ?? null,
2050
+ tags: parseJSON$3(row.tags),
2051
+ targetType: row.targetType ?? void 0,
2052
+ targetIds: parseJSON$3(row.targetIds),
2053
+ scorerIds: parseJSON$3(row.scorerIds),
2043
2054
  version: row.version,
2044
2055
  organizationId: row.organizationId ?? null,
2045
2056
  projectId: row.projectId ?? null,
@@ -2140,9 +2151,9 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2140
2151
  inputSchema: input.inputSchema ?? void 0,
2141
2152
  groundTruthSchema: input.groundTruthSchema ?? void 0,
2142
2153
  requestContextSchema: input.requestContextSchema ?? void 0,
2143
- targetType: input.targetType ?? null,
2144
- targetIds: input.targetIds ?? null,
2145
- scorerIds: input.scorerIds ?? null,
2154
+ targetType: input.targetType ?? void 0,
2155
+ targetIds: input.targetIds ?? void 0,
2156
+ scorerIds: input.scorerIds ?? void 0,
2146
2157
  version: 0,
2147
2158
  organizationId: input.organizationId ?? null,
2148
2159
  projectId: input.projectId ?? null,
@@ -2222,10 +2233,10 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2222
2233
  inputSchema: (args.inputSchema !== void 0 ? args.inputSchema : existing.inputSchema) ?? void 0,
2223
2234
  groundTruthSchema: (args.groundTruthSchema !== void 0 ? args.groundTruthSchema : existing.groundTruthSchema) ?? void 0,
2224
2235
  requestContextSchema: (args.requestContextSchema !== void 0 ? args.requestContextSchema : existing.requestContextSchema) ?? void 0,
2225
- tags: (args.tags !== void 0 ? args.tags : existing.tags) ?? null,
2226
- targetType: (args.targetType !== void 0 ? args.targetType : existing.targetType) ?? null,
2227
- targetIds: (args.targetIds !== void 0 ? args.targetIds : existing.targetIds) ?? null,
2228
- scorerIds: (args.scorerIds !== void 0 ? args.scorerIds : existing.scorerIds) ?? null,
2236
+ tags: (args.tags !== void 0 ? args.tags : existing.tags) ?? void 0,
2237
+ targetType: (args.targetType !== void 0 ? args.targetType : existing.targetType) ?? void 0,
2238
+ targetIds: (args.targetIds !== void 0 ? args.targetIds : existing.targetIds) ?? void 0,
2239
+ scorerIds: (args.scorerIds !== void 0 ? args.scorerIds : existing.scorerIds) ?? void 0,
2229
2240
  updatedAt: data.updatedAt
2230
2241
  };
2231
2242
  } catch (error) {
@@ -2385,8 +2396,8 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2385
2396
  newVersion,
2386
2397
  parentOrganizationId,
2387
2398
  parentProjectId,
2388
- jsonArg(args.input),
2389
- jsonArg(args.groundTruth),
2399
+ jsonDataArg(args.input),
2400
+ jsonDataArg(args.groundTruth),
2390
2401
  args.unmockedToolPolicy ?? null,
2391
2402
  jsonArg(args.scorerIds),
2392
2403
  jsonArg(args.metadata),
@@ -2437,7 +2448,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2437
2448
  const tableItemsName = formatTableName(TABLE_DATASET_ITEMS);
2438
2449
  const tableVersionsName = formatTableName(TABLE_DATASET_VERSIONS);
2439
2450
  await connection.execute(`SELECT id FROM ${tableDatasetsName} WHERE id = ? FOR UPDATE`, [args.datasetId]);
2440
- const [itemRows] = await connection.execute(`SELECT * FROM ${tableItemsName} WHERE id = ? AND validTo IS NULL AND isDeleted = 0`, [args.id]);
2451
+ const [itemRows] = await connection.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE id = ? AND validTo IS NULL AND isDeleted = 0`, [args.id]);
2441
2452
  const itemRow = itemRows[0];
2442
2453
  const existing = itemRow ? this.mapItem(itemRow) : null;
2443
2454
  if (!existing) throw new MastraError({
@@ -2466,9 +2477,9 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2466
2477
  },
2467
2478
  text: `Purged dataset item cannot be updated: ${args.id}`
2468
2479
  });
2469
- const mergedInput = args.input ?? existing.input;
2470
- const mergedGroundTruth = args.groundTruth ?? existing.groundTruth;
2471
- const mergedExpectedTrajectory = args.expectedTrajectory ?? existing.expectedTrajectory;
2480
+ const mergedInput = args.input !== void 0 ? args.input : existing.input;
2481
+ const mergedGroundTruth = args.groundTruth !== void 0 ? args.groundTruth : existing.groundTruth;
2482
+ const mergedExpectedTrajectory = args.expectedTrajectory !== void 0 ? args.expectedTrajectory : existing.expectedTrajectory;
2472
2483
  const mergedToolMocks = args.toolMocks ?? existing.toolMocks;
2473
2484
  const mergedUnmockedToolPolicy = args.unmockedToolPolicy ?? existing.unmockedToolPolicy;
2474
2485
  const mergedScorerIds = args.scorerIds !== void 0 ? args.scorerIds ?? void 0 : existing.scorerIds;
@@ -2489,9 +2500,9 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2489
2500
  existing.externalId ?? null,
2490
2501
  parentOrganizationId,
2491
2502
  parentProjectId,
2492
- jsonArg(mergedInput),
2493
- jsonArg(mergedGroundTruth),
2494
- jsonArg(mergedExpectedTrajectory),
2503
+ jsonDataArg(mergedInput),
2504
+ jsonDataArg(mergedGroundTruth),
2505
+ jsonDataArg(mergedExpectedTrajectory),
2495
2506
  jsonArg(mergedToolMocks),
2496
2507
  mergedUnmockedToolPolicy ?? null,
2497
2508
  jsonArg(mergedScorerIds),
@@ -2546,7 +2557,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2546
2557
  const tableItemsName = formatTableName(TABLE_DATASET_ITEMS);
2547
2558
  const tableVersionsName = formatTableName(TABLE_DATASET_VERSIONS);
2548
2559
  await connection.execute(`SELECT id FROM ${tableDatasetsName} WHERE id = ? FOR UPDATE`, [datasetId]);
2549
- const [itemRows] = await connection.execute(`SELECT * FROM ${tableItemsName} WHERE id = ? AND validTo IS NULL AND isDeleted = 0`, [id]);
2560
+ const [itemRows] = await connection.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE id = ? AND validTo IS NULL AND isDeleted = 0`, [id]);
2550
2561
  const itemRow = itemRows[0];
2551
2562
  const existing = itemRow ? this.mapItem(itemRow) : null;
2552
2563
  if (!existing) {
@@ -2577,9 +2588,9 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2577
2588
  existing.externalId ?? null,
2578
2589
  parentOrganizationId,
2579
2590
  parentProjectId,
2580
- jsonArg(existing.input),
2581
- jsonArg(existing.groundTruth),
2582
- jsonArg(existing.expectedTrajectory),
2591
+ jsonDataArg(existing.input),
2592
+ jsonDataArg(existing.groundTruth),
2593
+ jsonDataArg(existing.expectedTrajectory),
2583
2594
  jsonArg(existing.toolMocks),
2584
2595
  existing.unmockedToolPolicy ?? null,
2585
2596
  jsonArg(existing.scorerIds),
@@ -2659,12 +2670,12 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2659
2670
  try {
2660
2671
  const tableItemsName = formatTableName(TABLE_DATASET_ITEMS);
2661
2672
  let rows;
2662
- if (args.datasetVersion !== void 0) [rows] = await this.pool.execute(`SELECT * FROM ${tableItemsName} WHERE \`id\` = ? AND \`datasetVersion\` <= ? AND (\`validTo\` IS NULL OR \`validTo\` > ?) AND \`isDeleted\` = 0 ORDER BY \`datasetVersion\` DESC LIMIT 1`, [
2673
+ if (args.datasetVersion !== void 0) [rows] = await this.pool.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE \`id\` = ? AND \`datasetVersion\` <= ? AND (\`validTo\` IS NULL OR \`validTo\` > ?) AND \`isDeleted\` = 0 ORDER BY \`datasetVersion\` DESC LIMIT 1`, [
2663
2674
  args.id,
2664
2675
  args.datasetVersion,
2665
2676
  args.datasetVersion
2666
2677
  ]);
2667
- else [rows] = await this.pool.execute(`SELECT * FROM ${tableItemsName} WHERE \`id\` = ? AND \`validTo\` IS NULL AND \`isDeleted\` = 0`, [args.id]);
2678
+ else [rows] = await this.pool.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE \`id\` = ? AND \`validTo\` IS NULL AND \`isDeleted\` = 0`, [args.id]);
2668
2679
  return rows.length > 0 ? this.mapItem(rows[0]) : null;
2669
2680
  } catch (error) {
2670
2681
  throw new MastraError({
@@ -2677,7 +2688,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2677
2688
  async getItemsByVersion({ datasetId, version }) {
2678
2689
  try {
2679
2690
  const tableItemsName = formatTableName(TABLE_DATASET_ITEMS);
2680
- const [rows] = await this.pool.execute(`SELECT * FROM ${tableItemsName} WHERE \`datasetId\` = ? AND \`datasetVersion\` <= ? AND (\`validTo\` IS NULL OR \`validTo\` > ?) AND \`isDeleted\` = 0 ORDER BY \`createdAt\` DESC, \`id\` ASC`, [
2691
+ const [rows] = await this.pool.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE \`datasetId\` = ? AND \`datasetVersion\` <= ? AND (\`validTo\` IS NULL OR \`validTo\` > ?) AND \`isDeleted\` = 0 ORDER BY \`createdAt\` DESC, \`id\` ASC`, [
2681
2692
  datasetId,
2682
2693
  version,
2683
2694
  version
@@ -2694,7 +2705,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2694
2705
  async getItemHistory(itemId) {
2695
2706
  try {
2696
2707
  const tableItemsName = formatTableName(TABLE_DATASET_ITEMS);
2697
- const [rows] = await this.pool.execute(`SELECT * FROM ${tableItemsName} WHERE \`id\` = ? ORDER BY \`datasetVersion\` DESC`, [itemId]);
2708
+ const [rows] = await this.pool.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE \`id\` = ? ORDER BY \`datasetVersion\` DESC`, [itemId]);
2698
2709
  return rows.map((row) => this.mapItemFull(row));
2699
2710
  } catch (error) {
2700
2711
  throw new MastraError({
@@ -2751,7 +2762,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2751
2762
  const perPage = normalizePerPage(perPageInput, 100);
2752
2763
  const { offset, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);
2753
2764
  const limitValue = perPageInput === false ? total : perPage;
2754
- const [rows] = await this.pool.execute(`SELECT * FROM ${tableItemsName}${whereSql} ORDER BY ${quoteIdentifier(orderBy.field, "column name")} ${orderBy.direction}, \`id\` ASC LIMIT ${limitValue} OFFSET ${offset}`, params);
2765
+ const [rows] = await this.pool.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName}${whereSql} ORDER BY ${quoteIdentifier(orderBy.field, "column name")} ${orderBy.direction}, \`id\` ASC LIMIT ${limitValue} OFFSET ${offset}`, params);
2755
2766
  return {
2756
2767
  items: rows.map((row) => this.mapItem(row)),
2757
2768
  pagination: {
@@ -2862,7 +2873,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2862
2873
  let historyRows = [];
2863
2874
  if (externalIds.length > 0) {
2864
2875
  const placeholders = externalIds.map(() => "?").join(", ");
2865
- const [rows] = await connection.execute(`SELECT * FROM ${tableItemsName} WHERE \`datasetId\` = ? AND \`externalId\` IN (${placeholders}) ORDER BY \`datasetVersion\` ASC`, [input.datasetId, ...externalIds]);
2876
+ const [rows] = await connection.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE \`datasetId\` = ? AND \`externalId\` IN (${placeholders}) ORDER BY \`datasetVersion\` ASC`, [input.datasetId, ...externalIds]);
2866
2877
  historyRows = rows.map((row) => this.mapItemFull(row));
2867
2878
  }
2868
2879
  const plan = this.planDatasetItemBatch(input.items, historyRows, randomUUID);
@@ -2883,9 +2894,9 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2883
2894
  item.externalId ?? null,
2884
2895
  dataset.organizationId ?? null,
2885
2896
  dataset.projectId ?? null,
2886
- jsonArg(item.input),
2887
- jsonArg(item.groundTruth),
2888
- jsonArg(item.expectedTrajectory),
2897
+ jsonDataArg(item.input),
2898
+ jsonDataArg(item.groundTruth),
2899
+ jsonDataArg(item.expectedTrajectory),
2889
2900
  jsonArg(item.toolMocks),
2890
2901
  item.unmockedToolPolicy ?? null,
2891
2902
  jsonArg(item.scorerIds),
@@ -2946,7 +2957,7 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2946
2957
  await connection.execute(`SELECT id FROM ${tableDatasetsName} WHERE id = ? FOR UPDATE`, [input.datasetId]);
2947
2958
  const currentItems = [];
2948
2959
  for (const itemId of input.itemIds) {
2949
- const [itemRows] = await connection.execute(`SELECT * FROM ${tableItemsName} WHERE id = ? AND validTo IS NULL AND isDeleted = 0`, [itemId]);
2960
+ const [itemRows] = await connection.execute(`SELECT ${ITEM_SELECT_COLUMNS} FROM ${tableItemsName} WHERE id = ? AND validTo IS NULL AND isDeleted = 0`, [itemId]);
2950
2961
  const row = itemRows[0];
2951
2962
  const item = row ? this.mapItem(row) : null;
2952
2963
  if (item && item.datasetId === input.datasetId) currentItems.push(item);
@@ -2969,9 +2980,9 @@ var DatasetsMySQL = class DatasetsMySQL extends DatasetsStorage {
2969
2980
  item.externalId ?? null,
2970
2981
  parentOrganizationId,
2971
2982
  parentProjectId,
2972
- jsonArg(item.input),
2973
- jsonArg(item.groundTruth),
2974
- jsonArg(item.expectedTrajectory),
2983
+ jsonDataArg(item.input),
2984
+ jsonDataArg(item.groundTruth),
2985
+ jsonDataArg(item.expectedTrajectory),
2975
2986
  jsonArg(item.toolMocks),
2976
2987
  item.unmockedToolPolicy ?? null,
2977
2988
  jsonArg(item.scorerIds),