@mastra/server 1.11.0-alpha.0 → 1.11.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @mastra/server
2
2
 
3
+ ## 1.11.0-alpha.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Experiments now fail immediately with a clear error when triggered on a dataset with zero items, instead of getting stuck in "pending" status forever. The experiment trigger API returns HTTP 400 for empty datasets. Unexpected errors during async experiment setup are now logged and mark the experiment as failed. ([#14031](https://github.com/mastra-ai/mastra/pull/14031))
8
+
9
+ - Updated dependencies [[`866cc2c`](https://github.com/mastra-ai/mastra/commit/866cc2cb1f0e3b314afab5194f69477fada745d1), [`6bcbf8a`](https://github.com/mastra-ai/mastra/commit/6bcbf8a6774d5a53b21d61db8a45ce2593ca1616), [`18c3a90`](https://github.com/mastra-ai/mastra/commit/18c3a90c9e48cf69500e308affeb8eba5860b2af), [`f35487b`](https://github.com/mastra-ai/mastra/commit/f35487bb2d46c636e22aa71d90025613ae38235a), [`6dc2192`](https://github.com/mastra-ai/mastra/commit/6dc21921aef0f0efab15cd0805fa3d18f277a76f), [`eeb3a3f`](https://github.com/mastra-ai/mastra/commit/eeb3a3f43aca10cf49479eed2a84b7d9ecea02ba), [`05f8d90`](https://github.com/mastra-ai/mastra/commit/05f8d9009290ce6aa03428b3add635268615db85), [`4b8da97`](https://github.com/mastra-ai/mastra/commit/4b8da97a5ce306e97869df6c39535d9069e563db), [`256df35`](https://github.com/mastra-ai/mastra/commit/256df3571d62beb3ad4971faa432927cc140e603)]:
10
+ - @mastra/core@1.11.0-alpha.1
11
+
3
12
  ## 1.11.0-alpha.0
4
13
 
5
14
  ### Minor Changes
@@ -282,6 +282,8 @@ function getHttpStatusForMastraError(errorId) {
282
282
  case "DATASET_NOT_FOUND":
283
283
  case "EXPERIMENT_NOT_FOUND":
284
284
  return 404;
285
+ case "EXPERIMENT_NO_ITEMS":
286
+ return 400;
285
287
  default:
286
288
  return 500;
287
289
  }
@@ -645,7 +647,7 @@ var TRIGGER_EXPERIMENT_ROUTE = chunkGTFXCNM6_cjs.createRoute({
645
647
  return {
646
648
  experimentId: result.experimentId,
647
649
  status: result.status,
648
- totalItems: 0,
650
+ totalItems: result.totalItems ?? 0,
649
651
  succeededCount: 0,
650
652
  failedCount: 0,
651
653
  startedAt: /* @__PURE__ */ new Date(),
@@ -911,5 +913,5 @@ exports.LIST_ITEM_VERSIONS_ROUTE = LIST_ITEM_VERSIONS_ROUTE;
911
913
  exports.TRIGGER_EXPERIMENT_ROUTE = TRIGGER_EXPERIMENT_ROUTE;
912
914
  exports.UPDATE_DATASET_ROUTE = UPDATE_DATASET_ROUTE;
913
915
  exports.UPDATE_ITEM_ROUTE = UPDATE_ITEM_ROUTE;
914
- //# sourceMappingURL=chunk-MNTIEOUO.cjs.map
915
- //# sourceMappingURL=chunk-MNTIEOUO.cjs.map
916
+ //# sourceMappingURL=chunk-V4RWTVRV.cjs.map
917
+ //# sourceMappingURL=chunk-V4RWTVRV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/datasets.ts","../src/server/handlers/datasets.ts"],"names":["z","paginationInfoSchema","coreFeatures","HTTPException","createRoute","error","MastraError","handleError","successResponseSchema"],"mappings":"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","file":"chunk-V4RWTVRV.cjs","sourcesContent":["import z from 'zod';\nimport { paginationInfoSchema } from './common';\n\n// ============================================================================\n// JSON Schema Types (for inputSchema/groundTruthSchema fields)\n// ============================================================================\n\n// JSON Schema type (simplified for storage - full spec too complex)\nconst jsonSchemaObject: z.ZodType<Record<string, unknown>> = z.lazy(() => z.record(z.string(), z.unknown()));\n\n// JSON Schema field (object or null to disable)\nconst jsonSchemaField = z.union([jsonSchemaObject, z.null()]).optional();\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const datasetIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n});\n\nexport const experimentIdPathParams = z.object({\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const itemIdPathParams = z.object({\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndExperimentIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const datasetAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\nexport const paginationQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n});\n\nexport const listItemsQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n});\n\n// ============================================================================\n// Request Body Schemas\n// ============================================================================\n\nexport const createDatasetBodySchema = z.object({\n name: z.string().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n});\n\nexport const updateDatasetBodySchema = z.object({\n name: z.string().optional().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n});\n\nexport const addItemBodySchema = z.object({\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n});\n\nexport const updateItemBodySchema = z.object({\n input: z.unknown().optional().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n});\n\nexport const triggerExperimentBodySchema = z.object({\n targetType: z.enum(['agent', 'workflow', 'scorer']).describe('Type of target to run against'),\n targetId: z.string().describe('ID of the target'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers to apply'),\n version: z.coerce.number().int().optional().describe('Pin to specific dataset version'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n});\n\nexport const compareExperimentsBodySchema = z.object({\n experimentIdA: z.string().describe('ID of baseline experiment'),\n experimentIdB: z.string().describe('ID of candidate experiment'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n// Dataset entity schema\nexport const datasetResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n inputSchema: z.record(z.string(), z.unknown()).optional(),\n groundTruthSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Dataset item entity schema\nexport const datasetItemResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Experiment entity schema\nexport const experimentResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string().nullable(),\n datasetVersion: z.number().int().nullable(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']),\n targetId: z.string(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n skippedCount: z.number(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Scorer result schema\nexport const scorerResultSchema = z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n});\n\n// Experiment result entity schema\nexport const experimentResultResponseSchema = z.object({\n id: z.string(),\n experimentId: z.string(),\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n traceId: z.string().nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Comparison item schema (MVP shape)\nconst comparisonItemSchema = z.object({\n itemId: z.string(),\n input: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n results: z.record(\n z.string(),\n z\n .object({\n output: z.unknown().nullable(),\n scores: z.record(z.string(), z.number().nullable()),\n })\n .nullable(),\n ),\n});\n\n// Comparison result schema\nexport const comparisonResponseSchema = z.object({\n baselineId: z.string(),\n items: z.array(comparisonItemSchema),\n});\n\n// Experiment summary schema (returned by trigger experiment)\n// Note: completedAt is nullable for pending/running experiments (async trigger)\nexport const experimentSummaryResponseSchema = z.object({\n experimentId: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date().nullable(),\n results: z.array(\n z.object({\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n }),\n ),\n }),\n ),\n});\n\n// ============================================================================\n// List Response Schemas\n// ============================================================================\n\nexport const listDatasetsResponseSchema = z.object({\n datasets: z.array(datasetResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentsResponseSchema = z.object({\n experiments: z.array(experimentResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentResultsResponseSchema = z.object({\n results: z.array(experimentResultResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Version Schemas\n// ============================================================================\n\n// Path params for item version routes\nexport const datasetItemVersionPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n datasetVersion: z.coerce.number().int().describe('Dataset version number'),\n});\n\n// Item history row response schema (SCD-2 DatasetItemRow shape)\nexport const itemVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n validTo: z.number().int().nullable(),\n isDeleted: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const listItemVersionsResponseSchema = z.object({\n history: z.array(itemVersionResponseSchema),\n});\n\n// Dataset version response schema\nexport const datasetVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n});\n\nexport const listDatasetVersionsResponseSchema = z.object({\n versions: z.array(datasetVersionResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Batch Operation Schemas\n// ============================================================================\n\nexport const batchInsertItemsBodySchema = z.object({\n items: z.array(\n z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n ),\n});\n\nexport const batchInsertItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n count: z.number(),\n});\n\nexport const batchDeleteItemsBodySchema = z.object({\n itemIds: z.array(z.string()),\n});\n\nexport const batchDeleteItemsResponseSchema = z.object({\n success: z.boolean(),\n deletedCount: z.number(),\n});\n","import { MastraError } from '@mastra/core/error';\nimport { coreFeatures } from '@mastra/core/features';\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport { successResponseSchema } from '../schemas/common';\nimport {\n datasetIdPathParams,\n datasetAndExperimentIdPathParams,\n datasetAndItemIdPathParams,\n datasetItemVersionPathParams,\n paginationQuerySchema,\n listItemsQuerySchema,\n createDatasetBodySchema,\n updateDatasetBodySchema,\n addItemBodySchema,\n updateItemBodySchema,\n triggerExperimentBodySchema,\n compareExperimentsBodySchema,\n batchInsertItemsBodySchema,\n batchDeleteItemsBodySchema,\n datasetResponseSchema,\n datasetItemResponseSchema,\n experimentResponseSchema,\n experimentSummaryResponseSchema,\n comparisonResponseSchema,\n listDatasetsResponseSchema,\n listItemsResponseSchema,\n listExperimentsResponseSchema,\n listExperimentResultsResponseSchema,\n listDatasetVersionsResponseSchema,\n listItemVersionsResponseSchema,\n batchInsertItemsResponseSchema,\n batchDeleteItemsResponseSchema,\n} from '../schemas/datasets';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + local type guards\n// ============================================================================\n\nfunction assertDatasetsAvailable(): void {\n if (!coreFeatures.has('datasets')) {\n throw new HTTPException(501, { message: 'Datasets require @mastra/core >= 1.4.0' });\n }\n}\n\ninterface SchemaValidationLike extends Error {\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n}\n\ninterface SchemaUpdateValidationLike extends Error {\n failingItems: Array<{\n index: number;\n data: unknown;\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n }>;\n}\n\nfunction isSchemaValidationError(error: unknown): error is SchemaValidationLike {\n return error instanceof Error && error.name === 'SchemaValidationError';\n}\n\nfunction isSchemaUpdateValidationError(error: unknown): error is SchemaUpdateValidationLike {\n return error instanceof Error && error.name === 'SchemaUpdateValidationError';\n}\n\n// ============================================================================\n// Helper: Map MastraError IDs to HTTP status codes\n// ============================================================================\n\nfunction getHttpStatusForMastraError(errorId: string): number {\n switch (errorId) {\n case 'DATASET_NOT_FOUND':\n case 'EXPERIMENT_NOT_FOUND':\n return 404;\n case 'EXPERIMENT_NO_ITEMS':\n return 400;\n default:\n return 500;\n }\n}\n\n// ============================================================================\n// Dataset CRUD Routes\n// ============================================================================\n\nexport const LIST_DATASETS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets',\n responseType: 'json',\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetsResponseSchema,\n summary: 'List all datasets',\n description: 'Returns a paginated list of all datasets',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const result = await mastra.datasets.list({ page: page ?? 0, perPage: perPage ?? 10 });\n return {\n datasets: result.datasets as any,\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing datasets');\n }\n },\n});\n\nexport const CREATE_DATASET_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets',\n responseType: 'json',\n bodySchema: createDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Create a new dataset',\n description: 'Creates a new dataset with the specified name and optional metadata',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { name, description, metadata, inputSchema, groundTruthSchema, requestContextSchema } = params as {\n name: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n };\n const ds = await mastra.datasets.create({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n });\n const details = await ds.getDetails();\n return details as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error creating dataset');\n }\n },\n});\n\nexport const GET_DATASET_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: datasetResponseSchema.nullable(),\n summary: 'Get dataset by ID',\n description: 'Returns details for a specific dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n return (await ds.getDetails()) as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset');\n }\n },\n});\n\nexport const UPDATE_DATASET_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: updateDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Update dataset',\n description: 'Updates a dataset with the specified fields',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { name, description, metadata, inputSchema, groundTruthSchema, requestContextSchema } = params as {\n name?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.update({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n });\n return result as any;\n } catch (error) {\n if (isSchemaUpdateValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { failingItems: error.failingItems },\n });\n }\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset');\n }\n },\n});\n\nexport const DELETE_DATASET_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset',\n description: 'Deletes a dataset and all its items',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n await mastra.datasets.get({ id: datasetId }); // validates existence\n await mastra.datasets.delete({ id: datasetId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset');\n }\n },\n});\n\n// ============================================================================\n// Item CRUD Routes\n// ============================================================================\n\nexport const LIST_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: listItemsQuerySchema,\n responseSchema: listItemsResponseSchema,\n summary: 'List dataset items',\n description: 'Returns a paginated list of items in the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage, version, search } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listItems({\n page: page ?? 0,\n perPage: perPage ?? 10,\n version,\n search,\n });\n // When version is specified, result is DatasetItem[] (flat). Otherwise paginated.\n if (Array.isArray(result)) {\n return { items: result, pagination: { total: result.length, page: 0, perPage: result.length, hasMore: false } };\n }\n return { items: result.items, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset items');\n }\n },\n});\n\nexport const ADD_ITEM_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: addItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Add item to dataset',\n description: 'Adds a new item to the dataset (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n return await ds.addItem({ input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error adding item to dataset');\n }\n },\n});\n\nexport const GET_ITEM_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get dataset item by ID',\n description: 'Returns details for a specific dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId });\n if (!item || (item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset item');\n }\n },\n});\n\nexport const UPDATE_ITEM_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n bodySchema: updateItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Update dataset item',\n description: 'Updates a dataset item (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input?: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n // Check if item exists and belongs to dataset\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return await ds.updateItem({ itemId, input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset item');\n }\n },\n});\n\nexport const DELETE_ITEM_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset item',\n description: 'Deletes a dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n await ds.deleteItem({ itemId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset item');\n }\n },\n});\n\n// ============================================================================\n// Experiment Operations Routes (nested under datasets)\n// ============================================================================\n\nexport const LIST_EXPERIMENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentsResponseSchema,\n summary: 'List experiments for dataset',\n description: 'Returns a paginated list of experiments for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listExperiments({ page: page ?? 0, perPage: perPage ?? 10 });\n return { experiments: result.experiments, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiments');\n }\n },\n});\n\nexport const TRIGGER_EXPERIMENT_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: triggerExperimentBodySchema,\n responseSchema: experimentSummaryResponseSchema,\n summary: 'Trigger a new experiment',\n description:\n 'Triggers a new experiment on the dataset against the specified target. Returns immediately with pending status; execution happens in background.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { targetType, targetId, scorerIds, version, maxConcurrency, requestContext } = params as {\n targetType: 'agent' | 'workflow' | 'scorer';\n targetId: string;\n scorerIds?: string[];\n version?: number;\n maxConcurrency?: number;\n requestContext?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.startExperimentAsync({\n targetType,\n targetId,\n scorers: scorerIds,\n version,\n maxConcurrency,\n requestContext,\n });\n // Return shape matching experimentSummaryResponseSchema\n return {\n experimentId: result.experimentId,\n status: result.status,\n totalItems: result.totalItems ?? 0,\n succeededCount: 0,\n failedCount: 0,\n startedAt: new Date(),\n completedAt: null,\n results: [],\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error triggering experiment');\n }\n },\n});\n\nexport const GET_EXPERIMENT_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n responseSchema: experimentResponseSchema.nullable(),\n summary: 'Get experiment by ID',\n description: 'Returns details for a specific experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n return run;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting experiment');\n }\n },\n});\n\nexport const LIST_EXPERIMENT_RESULTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId/results',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentResultsResponseSchema,\n summary: 'List experiment results',\n description: 'Returns a paginated list of results for the experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n // Validate experiment belongs to dataset\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n const result = await ds.listExperimentResults({ experimentId, page: page ?? 0, perPage: perPage ?? 10 });\n return {\n results: result.results.map(({ experimentId: _eid, ...rest }) => ({ experimentId, ...rest })),\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiment results');\n }\n },\n});\n\n// ============================================================================\n// Analytics Routes (nested under datasets)\n// ============================================================================\n\nexport const COMPARE_EXPERIMENTS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/compare',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: compareExperimentsBodySchema,\n responseSchema: comparisonResponseSchema,\n summary: 'Compare two experiments',\n description: 'Compares two experiments to detect score regressions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { experimentIdA, experimentIdB } = params as {\n experimentIdA: string;\n experimentIdB: string;\n };\n // Validate dataset exists\n await mastra.datasets.get({ id: datasetId });\n const result = await mastra.datasets.compareExperiments({\n experimentIds: [experimentIdA, experimentIdB],\n baselineId: experimentIdA,\n });\n return result;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error comparing experiments');\n }\n },\n});\n\n// ============================================================================\n// Version Routes\n// ============================================================================\n\nexport const LIST_DATASET_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/versions',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetVersionsResponseSchema,\n summary: 'List dataset versions',\n description: 'Returns a paginated list of all versions for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listVersions({ page: page ?? 0, perPage: perPage ?? 10 });\n return { versions: result.versions, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset versions');\n }\n },\n});\n\nexport const LIST_ITEM_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/history',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: listItemVersionsResponseSchema,\n summary: 'Get item history',\n description: 'Returns the full SCD-2 history of the item across all dataset versions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const rows = await ds.getItemHistory({ itemId });\n // Check rows belong to this dataset\n if (rows.length > 0 && rows[0]?.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return { history: rows };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing item history');\n }\n },\n});\n\nexport const GET_ITEM_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/versions/:datasetVersion',\n responseType: 'json',\n pathParamSchema: datasetItemVersionPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get item at specific dataset version',\n description: 'Returns the item as it existed at a specific dataset version',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, datasetVersion }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId, version: datasetVersion });\n if (!item) {\n throw new HTTPException(404, { message: `Item ${itemId} not found at version ${datasetVersion}` });\n }\n if ((item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting item version');\n }\n },\n});\n\n// ============================================================================\n// Batch Operations Routes\n// ============================================================================\n\nexport const BATCH_INSERT_ITEMS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchInsertItemsBodySchema,\n responseSchema: batchInsertItemsResponseSchema,\n summary: 'Batch insert items to dataset',\n description: 'Adds multiple items to the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { items } = params as {\n items: Array<{ input: unknown; groundTruth?: unknown; metadata?: Record<string, unknown> }>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const addedItems = await ds.addItems({ items });\n return { items: addedItems, count: addedItems.length };\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error batch inserting items');\n }\n },\n});\n\nexport const BATCH_DELETE_ITEMS_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchDeleteItemsBodySchema,\n responseSchema: batchDeleteItemsResponseSchema,\n summary: 'Batch delete items from dataset',\n description: 'Deletes multiple items from the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { itemIds } = params as { itemIds: string[] };\n const ds = await mastra.datasets.get({ id: datasetId });\n await ds.deleteItems({ itemIds });\n return { success: true, deletedCount: itemIds.length };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error bulk deleting items');\n }\n },\n});\n"]}
@@ -276,6 +276,8 @@ function getHttpStatusForMastraError(errorId) {
276
276
  case "DATASET_NOT_FOUND":
277
277
  case "EXPERIMENT_NOT_FOUND":
278
278
  return 404;
279
+ case "EXPERIMENT_NO_ITEMS":
280
+ return 400;
279
281
  default:
280
282
  return 500;
281
283
  }
@@ -639,7 +641,7 @@ var TRIGGER_EXPERIMENT_ROUTE = createRoute({
639
641
  return {
640
642
  experimentId: result.experimentId,
641
643
  status: result.status,
642
- totalItems: 0,
644
+ totalItems: result.totalItems ?? 0,
643
645
  succeededCount: 0,
644
646
  failedCount: 0,
645
647
  startedAt: /* @__PURE__ */ new Date(),
@@ -886,5 +888,5 @@ var BATCH_DELETE_ITEMS_ROUTE = createRoute({
886
888
  });
887
889
 
888
890
  export { ADD_ITEM_ROUTE, BATCH_DELETE_ITEMS_ROUTE, BATCH_INSERT_ITEMS_ROUTE, COMPARE_EXPERIMENTS_ROUTE, CREATE_DATASET_ROUTE, DELETE_DATASET_ROUTE, DELETE_ITEM_ROUTE, GET_DATASET_ROUTE, GET_EXPERIMENT_ROUTE, GET_ITEM_ROUTE, GET_ITEM_VERSION_ROUTE, LIST_DATASETS_ROUTE, LIST_DATASET_VERSIONS_ROUTE, LIST_EXPERIMENTS_ROUTE, LIST_EXPERIMENT_RESULTS_ROUTE, LIST_ITEMS_ROUTE, LIST_ITEM_VERSIONS_ROUTE, TRIGGER_EXPERIMENT_ROUTE, UPDATE_DATASET_ROUTE, UPDATE_ITEM_ROUTE };
889
- //# sourceMappingURL=chunk-PBSSNSUL.js.map
890
- //# sourceMappingURL=chunk-PBSSNSUL.js.map
891
+ //# sourceMappingURL=chunk-W7PA7IJX.js.map
892
+ //# sourceMappingURL=chunk-W7PA7IJX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/datasets.ts","../src/server/handlers/datasets.ts"],"names":[],"mappings":"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","file":"chunk-W7PA7IJX.js","sourcesContent":["import z from 'zod';\nimport { paginationInfoSchema } from './common';\n\n// ============================================================================\n// JSON Schema Types (for inputSchema/groundTruthSchema fields)\n// ============================================================================\n\n// JSON Schema type (simplified for storage - full spec too complex)\nconst jsonSchemaObject: z.ZodType<Record<string, unknown>> = z.lazy(() => z.record(z.string(), z.unknown()));\n\n// JSON Schema field (object or null to disable)\nconst jsonSchemaField = z.union([jsonSchemaObject, z.null()]).optional();\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const datasetIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n});\n\nexport const experimentIdPathParams = z.object({\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const itemIdPathParams = z.object({\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndExperimentIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const datasetAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\nexport const paginationQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n});\n\nexport const listItemsQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n});\n\n// ============================================================================\n// Request Body Schemas\n// ============================================================================\n\nexport const createDatasetBodySchema = z.object({\n name: z.string().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n});\n\nexport const updateDatasetBodySchema = z.object({\n name: z.string().optional().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n});\n\nexport const addItemBodySchema = z.object({\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n});\n\nexport const updateItemBodySchema = z.object({\n input: z.unknown().optional().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n});\n\nexport const triggerExperimentBodySchema = z.object({\n targetType: z.enum(['agent', 'workflow', 'scorer']).describe('Type of target to run against'),\n targetId: z.string().describe('ID of the target'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers to apply'),\n version: z.coerce.number().int().optional().describe('Pin to specific dataset version'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n});\n\nexport const compareExperimentsBodySchema = z.object({\n experimentIdA: z.string().describe('ID of baseline experiment'),\n experimentIdB: z.string().describe('ID of candidate experiment'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n// Dataset entity schema\nexport const datasetResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n inputSchema: z.record(z.string(), z.unknown()).optional(),\n groundTruthSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Dataset item entity schema\nexport const datasetItemResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Experiment entity schema\nexport const experimentResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string().nullable(),\n datasetVersion: z.number().int().nullable(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']),\n targetId: z.string(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n skippedCount: z.number(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Scorer result schema\nexport const scorerResultSchema = z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n});\n\n// Experiment result entity schema\nexport const experimentResultResponseSchema = z.object({\n id: z.string(),\n experimentId: z.string(),\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n traceId: z.string().nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Comparison item schema (MVP shape)\nconst comparisonItemSchema = z.object({\n itemId: z.string(),\n input: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n results: z.record(\n z.string(),\n z\n .object({\n output: z.unknown().nullable(),\n scores: z.record(z.string(), z.number().nullable()),\n })\n .nullable(),\n ),\n});\n\n// Comparison result schema\nexport const comparisonResponseSchema = z.object({\n baselineId: z.string(),\n items: z.array(comparisonItemSchema),\n});\n\n// Experiment summary schema (returned by trigger experiment)\n// Note: completedAt is nullable for pending/running experiments (async trigger)\nexport const experimentSummaryResponseSchema = z.object({\n experimentId: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date().nullable(),\n results: z.array(\n z.object({\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n }),\n ),\n }),\n ),\n});\n\n// ============================================================================\n// List Response Schemas\n// ============================================================================\n\nexport const listDatasetsResponseSchema = z.object({\n datasets: z.array(datasetResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentsResponseSchema = z.object({\n experiments: z.array(experimentResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentResultsResponseSchema = z.object({\n results: z.array(experimentResultResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Version Schemas\n// ============================================================================\n\n// Path params for item version routes\nexport const datasetItemVersionPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n datasetVersion: z.coerce.number().int().describe('Dataset version number'),\n});\n\n// Item history row response schema (SCD-2 DatasetItemRow shape)\nexport const itemVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n validTo: z.number().int().nullable(),\n isDeleted: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const listItemVersionsResponseSchema = z.object({\n history: z.array(itemVersionResponseSchema),\n});\n\n// Dataset version response schema\nexport const datasetVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n});\n\nexport const listDatasetVersionsResponseSchema = z.object({\n versions: z.array(datasetVersionResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Batch Operation Schemas\n// ============================================================================\n\nexport const batchInsertItemsBodySchema = z.object({\n items: z.array(\n z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n ),\n});\n\nexport const batchInsertItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n count: z.number(),\n});\n\nexport const batchDeleteItemsBodySchema = z.object({\n itemIds: z.array(z.string()),\n});\n\nexport const batchDeleteItemsResponseSchema = z.object({\n success: z.boolean(),\n deletedCount: z.number(),\n});\n","import { MastraError } from '@mastra/core/error';\nimport { coreFeatures } from '@mastra/core/features';\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport { successResponseSchema } from '../schemas/common';\nimport {\n datasetIdPathParams,\n datasetAndExperimentIdPathParams,\n datasetAndItemIdPathParams,\n datasetItemVersionPathParams,\n paginationQuerySchema,\n listItemsQuerySchema,\n createDatasetBodySchema,\n updateDatasetBodySchema,\n addItemBodySchema,\n updateItemBodySchema,\n triggerExperimentBodySchema,\n compareExperimentsBodySchema,\n batchInsertItemsBodySchema,\n batchDeleteItemsBodySchema,\n datasetResponseSchema,\n datasetItemResponseSchema,\n experimentResponseSchema,\n experimentSummaryResponseSchema,\n comparisonResponseSchema,\n listDatasetsResponseSchema,\n listItemsResponseSchema,\n listExperimentsResponseSchema,\n listExperimentResultsResponseSchema,\n listDatasetVersionsResponseSchema,\n listItemVersionsResponseSchema,\n batchInsertItemsResponseSchema,\n batchDeleteItemsResponseSchema,\n} from '../schemas/datasets';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + local type guards\n// ============================================================================\n\nfunction assertDatasetsAvailable(): void {\n if (!coreFeatures.has('datasets')) {\n throw new HTTPException(501, { message: 'Datasets require @mastra/core >= 1.4.0' });\n }\n}\n\ninterface SchemaValidationLike extends Error {\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n}\n\ninterface SchemaUpdateValidationLike extends Error {\n failingItems: Array<{\n index: number;\n data: unknown;\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n }>;\n}\n\nfunction isSchemaValidationError(error: unknown): error is SchemaValidationLike {\n return error instanceof Error && error.name === 'SchemaValidationError';\n}\n\nfunction isSchemaUpdateValidationError(error: unknown): error is SchemaUpdateValidationLike {\n return error instanceof Error && error.name === 'SchemaUpdateValidationError';\n}\n\n// ============================================================================\n// Helper: Map MastraError IDs to HTTP status codes\n// ============================================================================\n\nfunction getHttpStatusForMastraError(errorId: string): number {\n switch (errorId) {\n case 'DATASET_NOT_FOUND':\n case 'EXPERIMENT_NOT_FOUND':\n return 404;\n case 'EXPERIMENT_NO_ITEMS':\n return 400;\n default:\n return 500;\n }\n}\n\n// ============================================================================\n// Dataset CRUD Routes\n// ============================================================================\n\nexport const LIST_DATASETS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets',\n responseType: 'json',\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetsResponseSchema,\n summary: 'List all datasets',\n description: 'Returns a paginated list of all datasets',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const result = await mastra.datasets.list({ page: page ?? 0, perPage: perPage ?? 10 });\n return {\n datasets: result.datasets as any,\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing datasets');\n }\n },\n});\n\nexport const CREATE_DATASET_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets',\n responseType: 'json',\n bodySchema: createDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Create a new dataset',\n description: 'Creates a new dataset with the specified name and optional metadata',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { name, description, metadata, inputSchema, groundTruthSchema, requestContextSchema } = params as {\n name: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n };\n const ds = await mastra.datasets.create({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n });\n const details = await ds.getDetails();\n return details as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error creating dataset');\n }\n },\n});\n\nexport const GET_DATASET_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: datasetResponseSchema.nullable(),\n summary: 'Get dataset by ID',\n description: 'Returns details for a specific dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n return (await ds.getDetails()) as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset');\n }\n },\n});\n\nexport const UPDATE_DATASET_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: updateDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Update dataset',\n description: 'Updates a dataset with the specified fields',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { name, description, metadata, inputSchema, groundTruthSchema, requestContextSchema } = params as {\n name?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.update({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n });\n return result as any;\n } catch (error) {\n if (isSchemaUpdateValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { failingItems: error.failingItems },\n });\n }\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset');\n }\n },\n});\n\nexport const DELETE_DATASET_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset',\n description: 'Deletes a dataset and all its items',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n await mastra.datasets.get({ id: datasetId }); // validates existence\n await mastra.datasets.delete({ id: datasetId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset');\n }\n },\n});\n\n// ============================================================================\n// Item CRUD Routes\n// ============================================================================\n\nexport const LIST_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: listItemsQuerySchema,\n responseSchema: listItemsResponseSchema,\n summary: 'List dataset items',\n description: 'Returns a paginated list of items in the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage, version, search } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listItems({\n page: page ?? 0,\n perPage: perPage ?? 10,\n version,\n search,\n });\n // When version is specified, result is DatasetItem[] (flat). Otherwise paginated.\n if (Array.isArray(result)) {\n return { items: result, pagination: { total: result.length, page: 0, perPage: result.length, hasMore: false } };\n }\n return { items: result.items, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset items');\n }\n },\n});\n\nexport const ADD_ITEM_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: addItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Add item to dataset',\n description: 'Adds a new item to the dataset (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n return await ds.addItem({ input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error adding item to dataset');\n }\n },\n});\n\nexport const GET_ITEM_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get dataset item by ID',\n description: 'Returns details for a specific dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId });\n if (!item || (item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset item');\n }\n },\n});\n\nexport const UPDATE_ITEM_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n bodySchema: updateItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Update dataset item',\n description: 'Updates a dataset item (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input?: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n // Check if item exists and belongs to dataset\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return await ds.updateItem({ itemId, input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset item');\n }\n },\n});\n\nexport const DELETE_ITEM_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset item',\n description: 'Deletes a dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n await ds.deleteItem({ itemId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset item');\n }\n },\n});\n\n// ============================================================================\n// Experiment Operations Routes (nested under datasets)\n// ============================================================================\n\nexport const LIST_EXPERIMENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentsResponseSchema,\n summary: 'List experiments for dataset',\n description: 'Returns a paginated list of experiments for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listExperiments({ page: page ?? 0, perPage: perPage ?? 10 });\n return { experiments: result.experiments, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiments');\n }\n },\n});\n\nexport const TRIGGER_EXPERIMENT_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: triggerExperimentBodySchema,\n responseSchema: experimentSummaryResponseSchema,\n summary: 'Trigger a new experiment',\n description:\n 'Triggers a new experiment on the dataset against the specified target. Returns immediately with pending status; execution happens in background.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { targetType, targetId, scorerIds, version, maxConcurrency, requestContext } = params as {\n targetType: 'agent' | 'workflow' | 'scorer';\n targetId: string;\n scorerIds?: string[];\n version?: number;\n maxConcurrency?: number;\n requestContext?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.startExperimentAsync({\n targetType,\n targetId,\n scorers: scorerIds,\n version,\n maxConcurrency,\n requestContext,\n });\n // Return shape matching experimentSummaryResponseSchema\n return {\n experimentId: result.experimentId,\n status: result.status,\n totalItems: result.totalItems ?? 0,\n succeededCount: 0,\n failedCount: 0,\n startedAt: new Date(),\n completedAt: null,\n results: [],\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error triggering experiment');\n }\n },\n});\n\nexport const GET_EXPERIMENT_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n responseSchema: experimentResponseSchema.nullable(),\n summary: 'Get experiment by ID',\n description: 'Returns details for a specific experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n return run;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting experiment');\n }\n },\n});\n\nexport const LIST_EXPERIMENT_RESULTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId/results',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentResultsResponseSchema,\n summary: 'List experiment results',\n description: 'Returns a paginated list of results for the experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n // Validate experiment belongs to dataset\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n const result = await ds.listExperimentResults({ experimentId, page: page ?? 0, perPage: perPage ?? 10 });\n return {\n results: result.results.map(({ experimentId: _eid, ...rest }) => ({ experimentId, ...rest })),\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiment results');\n }\n },\n});\n\n// ============================================================================\n// Analytics Routes (nested under datasets)\n// ============================================================================\n\nexport const COMPARE_EXPERIMENTS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/compare',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: compareExperimentsBodySchema,\n responseSchema: comparisonResponseSchema,\n summary: 'Compare two experiments',\n description: 'Compares two experiments to detect score regressions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { experimentIdA, experimentIdB } = params as {\n experimentIdA: string;\n experimentIdB: string;\n };\n // Validate dataset exists\n await mastra.datasets.get({ id: datasetId });\n const result = await mastra.datasets.compareExperiments({\n experimentIds: [experimentIdA, experimentIdB],\n baselineId: experimentIdA,\n });\n return result;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error comparing experiments');\n }\n },\n});\n\n// ============================================================================\n// Version Routes\n// ============================================================================\n\nexport const LIST_DATASET_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/versions',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetVersionsResponseSchema,\n summary: 'List dataset versions',\n description: 'Returns a paginated list of all versions for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listVersions({ page: page ?? 0, perPage: perPage ?? 10 });\n return { versions: result.versions, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset versions');\n }\n },\n});\n\nexport const LIST_ITEM_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/history',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: listItemVersionsResponseSchema,\n summary: 'Get item history',\n description: 'Returns the full SCD-2 history of the item across all dataset versions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const rows = await ds.getItemHistory({ itemId });\n // Check rows belong to this dataset\n if (rows.length > 0 && rows[0]?.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return { history: rows };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing item history');\n }\n },\n});\n\nexport const GET_ITEM_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/versions/:datasetVersion',\n responseType: 'json',\n pathParamSchema: datasetItemVersionPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get item at specific dataset version',\n description: 'Returns the item as it existed at a specific dataset version',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, datasetVersion }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId, version: datasetVersion });\n if (!item) {\n throw new HTTPException(404, { message: `Item ${itemId} not found at version ${datasetVersion}` });\n }\n if ((item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting item version');\n }\n },\n});\n\n// ============================================================================\n// Batch Operations Routes\n// ============================================================================\n\nexport const BATCH_INSERT_ITEMS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchInsertItemsBodySchema,\n responseSchema: batchInsertItemsResponseSchema,\n summary: 'Batch insert items to dataset',\n description: 'Adds multiple items to the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { items } = params as {\n items: Array<{ input: unknown; groundTruth?: unknown; metadata?: Record<string, unknown> }>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const addedItems = await ds.addItems({ items });\n return { items: addedItems, count: addedItems.length };\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error batch inserting items');\n }\n },\n});\n\nexport const BATCH_DELETE_ITEMS_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchDeleteItemsBodySchema,\n responseSchema: batchDeleteItemsResponseSchema,\n summary: 'Batch delete items from dataset',\n description: 'Deletes multiple items from the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { itemIds } = params as { itemIds: string[] };\n const ds = await mastra.datasets.get({ id: datasetId });\n await ds.deleteItems({ itemIds });\n return { success: true, deletedCount: itemIds.length };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error bulk deleting items');\n }\n },\n});\n"]}
@@ -3,7 +3,7 @@ name: mastra-server
3
3
  description: Documentation for @mastra/server. Use when working with @mastra/server APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/server"
6
- version: "1.11.0-alpha.0"
6
+ version: "1.11.0-alpha.1"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -16,13 +16,13 @@ Read the individual reference documents for detailed explanations and code examp
16
16
 
17
17
  ### Docs
18
18
 
19
- - [Custom Adapters](references/docs-server-custom-adapters.md) - Create a custom server adapter for frameworks other than Hono or Express.
19
+ - [Custom adapters](references/docs-server-custom-adapters.md) - Create a custom server adapter for frameworks other than Hono or Express.
20
20
 
21
21
  ### Reference
22
22
 
23
23
  - [Reference: createRoute()](references/reference-server-create-route.md) - API reference for createRoute() function used to define type-safe routes with validation and OpenAPI generation.
24
24
  - [Reference: MastraServer](references/reference-server-mastra-server.md) - API reference for the MastraServer abstract class used to create server adapters.
25
- - [Reference: Server Routes](references/reference-server-routes.md) - API reference for HTTP routes registered by Mastra server adapters.
25
+ - [Reference: Server routes](references/reference-server-routes.md) - API reference for HTTP routes registered by Mastra server adapters.
26
26
 
27
27
 
28
28
  Read [assets/SOURCE_MAP.json](assets/SOURCE_MAP.json) for source code references.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.11.0-alpha.0",
2
+ "version": "1.11.0-alpha.1",
3
3
  "package": "@mastra/server",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -1,4 +1,4 @@
1
- # Custom Adapters
1
+ # Custom adapters
2
2
 
3
3
  Create a custom adapter when you need to run Mastra with a framework other than Hono or Express. This might be necessary if you have specific request/response handling requirements that `@mastra/hono` and `@mastra/express` don't support.
4
4
 
@@ -38,7 +38,7 @@ These type parameters ensure type safety throughout your adapter implementation
38
38
 
39
39
  You must implement these six abstract methods. Each handles a specific part of the request lifecycle, from attaching context to sending responses.
40
40
 
41
- ### registerContextMiddleware()
41
+ ### `registerContextMiddleware()`
42
42
 
43
43
  This method runs first and attaches Mastra context to every incoming request. Route handlers need access to the Mastra instance, tools, and other context to function. How you attach this context depends on your framework — Express uses `res.locals`, Hono uses `c.set()`, and other frameworks have their own patterns.
44
44
 
@@ -65,7 +65,7 @@ Context to attach:
65
65
  | `abortSignal` | `AbortSignal` | Request cancellation signal |
66
66
  | `taskStore` | `InMemoryTaskStore` | A2A task storage (if configured) |
67
67
 
68
- ### registerAuthMiddleware()
68
+ ### `registerAuthMiddleware()`
69
69
 
70
70
  Register authentication and authorization middleware. This method should check if authentication is configured on the Mastra instance and skip registration entirely if not. When auth is configured, you'll typically register two middleware functions: one for authentication (validating tokens and setting the user) and one for authorization (checking if the user can access the requested resource).
71
71
 
@@ -101,7 +101,7 @@ registerAuthMiddleware(): void {
101
101
  }
102
102
  ```
103
103
 
104
- ### registerRoute()
104
+ ### `registerRoute()`
105
105
 
106
106
  Register a single route with your framework. This method is called once for each Mastra route during initialization. It receives a `ServerRoute` object containing the path, HTTP method, handler function, and Zod schemas for validation. Your implementation should wire this up to your framework's routing system.
107
107
 
@@ -148,7 +148,7 @@ async registerRoute(
148
148
  }
149
149
  ```
150
150
 
151
- ### getParams()
151
+ ### `getParams()`
152
152
 
153
153
  Extract URL parameters, query parameters, and request body from the incoming request. Different frameworks expose these values in different ways—Express uses `req.params`, `req.query`, and `req.body`, while other frameworks may use different property names or require method calls. This method normalizes the extraction for your framework.
154
154
 
@@ -172,7 +172,7 @@ async getParams(
172
172
  }
173
173
  ```
174
174
 
175
- ### sendResponse()
175
+ ### `sendResponse()`
176
176
 
177
177
  Send the response back to the client based on the route's response type. Mastra routes can return different response types: JSON for most API responses, streams for agent generation, and special types for MCP transports. Your implementation should handle each type appropriately for your framework.
178
178
 
@@ -207,7 +207,7 @@ async sendResponse(
207
207
  }
208
208
  ```
209
209
 
210
- ### stream()
210
+ ### `stream()`
211
211
 
212
212
  Handle streaming responses for agent generation. When an agent generates a response, it produces a stream of chunks that should be sent to the client as they become available. This method reads from the stream, optionally applies redaction to hide sensitive data, and writes chunks to the response in the appropriate format (SSE or newline-delimited JSON).
213
213