@mastra/server 1.78.1-alpha.0 → 1.79.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.
Files changed (62) hide show
  1. package/dist/_types/@internal_core/dist/storage/index.d.ts +8 -0
  2. package/dist/{api-schema-manifest-aur2BK6a.js → api-schema-manifest-BiW4tqad.js} +2 -2
  3. package/dist/{api-schema-manifest-aur2BK6a.js.map → api-schema-manifest-BiW4tqad.js.map} +1 -1
  4. package/dist/{api-schema-manifest-Dr8PM4Qj.cjs → api-schema-manifest-DvcVwlpA.cjs} +2 -2
  5. package/dist/{api-schema-manifest-Dr8PM4Qj.cjs.map → api-schema-manifest-DvcVwlpA.cjs.map} +1 -1
  6. package/dist/{datasets-BdD8JWhx.cjs → datasets-BUC5T-fd.cjs} +6 -1
  7. package/dist/datasets-BUC5T-fd.cjs.map +1 -0
  8. package/dist/{datasets-CKwh-k4I.js → datasets-CCWuznUu.js} +6 -1
  9. package/dist/datasets-CCWuznUu.js.map +1 -0
  10. package/dist/{dist-B8rA8_Wt.cjs → dist-CKHUMrWI.cjs} +2 -2
  11. package/dist/{dist-B8rA8_Wt.cjs.map → dist-CKHUMrWI.cjs.map} +1 -1
  12. package/dist/{dist-CdMzvOLk.js → dist-hfFDNas-.js} +2 -2
  13. package/dist/{dist-CdMzvOLk.js.map → dist-hfFDNas-.js.map} +1 -1
  14. package/dist/docs/SKILL.md +1 -1
  15. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  16. package/dist/{observability-new-endpoints-BoALDMSi.cjs → observability-new-endpoints-BKFVVMTS.cjs} +8 -1
  17. package/dist/observability-new-endpoints-BKFVVMTS.cjs.map +1 -0
  18. package/dist/{observability-new-endpoints-CB7T6Z7c.js → observability-new-endpoints-C5VO7nLK.js} +9 -2
  19. package/dist/observability-new-endpoints-C5VO7nLK.js.map +1 -0
  20. package/dist/{routes-CuJPLAh8.cjs → routes-D36OQQe5.cjs} +8 -8
  21. package/dist/{routes-CuJPLAh8.cjs.map → routes-D36OQQe5.cjs.map} +1 -1
  22. package/dist/{routes-BhI1lW_W.js → routes-gjTcauG8.js} +8 -8
  23. package/dist/{routes-BhI1lW_W.js.map → routes-gjTcauG8.js.map} +1 -1
  24. package/dist/server/handlers/agent-builder.cjs +1 -1
  25. package/dist/server/handlers/agent-builder.js +1 -1
  26. package/dist/server/handlers/datasets.cjs +11 -5
  27. package/dist/server/handlers/datasets.cjs.map +1 -1
  28. package/dist/server/handlers/datasets.d.ts +4 -0
  29. package/dist/server/handlers/datasets.d.ts.map +1 -1
  30. package/dist/server/handlers/datasets.js +11 -5
  31. package/dist/server/handlers/datasets.js.map +1 -1
  32. package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
  33. package/dist/server/handlers/observability-new-endpoints.d.ts +88 -48
  34. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  35. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  36. package/dist/server/handlers/observability-shared.cjs +29 -0
  37. package/dist/server/handlers/observability-shared.cjs.map +1 -1
  38. package/dist/server/handlers/observability-shared.d.ts +2 -1
  39. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  40. package/dist/server/handlers/observability-shared.js +29 -1
  41. package/dist/server/handlers/observability-shared.js.map +1 -1
  42. package/dist/server/handlers/observability.cjs +1 -1
  43. package/dist/server/handlers/observability.js +1 -1
  44. package/dist/server/handlers/stored-agents.cjs +1 -1
  45. package/dist/server/handlers/stored-agents.js +1 -1
  46. package/dist/server/handlers/system.cjs +1 -1
  47. package/dist/server/handlers/system.js +1 -1
  48. package/dist/server/schemas/datasets.d.ts +2 -0
  49. package/dist/server/schemas/datasets.d.ts.map +1 -1
  50. package/dist/server/schemas/index.cjs +6 -6
  51. package/dist/server/schemas/index.js +6 -6
  52. package/dist/server/server-adapter/index.cjs +1 -1
  53. package/dist/server/server-adapter/index.js +1 -1
  54. package/dist/server/server-adapter/routes/datasets.d.ts +4 -0
  55. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  56. package/dist/server/server-adapter/routes/observability.d.ts +44 -24
  57. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  58. package/package.json +4 -4
  59. package/dist/datasets-BdD8JWhx.cjs.map +0 -1
  60. package/dist/datasets-CKwh-k4I.js.map +0 -1
  61. package/dist/observability-new-endpoints-BoALDMSi.cjs.map +0 -1
  62. package/dist/observability-new-endpoints-CB7T6Z7c.js.map +0 -1
@@ -2559,6 +2559,7 @@ declare const metricsFilterSchema: z.ZodObject<{
2559
2559
  executionSource: z.ZodOptional<z.ZodString>;
2560
2560
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2561
2561
  traceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2562
+ experimentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2562
2563
  name: z.ZodOptional<z.ZodArray<z.ZodString>>;
2563
2564
  source: z.ZodOptional<z.ZodString>;
2564
2565
  provider: z.ZodOptional<z.ZodString>;
@@ -2618,6 +2619,7 @@ declare const listMetricsArgsSchema: z.ZodPipe<z.ZodObject<{
2618
2619
  executionSource: z.ZodOptional<z.ZodString>;
2619
2620
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2620
2621
  traceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2622
+ experimentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2621
2623
  name: z.ZodOptional<z.ZodArray<z.ZodString>>;
2622
2624
  source: z.ZodOptional<z.ZodString>;
2623
2625
  provider: z.ZodOptional<z.ZodString>;
@@ -2673,6 +2675,7 @@ declare const listMetricsArgsSchema: z.ZodPipe<z.ZodObject<{
2673
2675
  executionSource?: string | undefined;
2674
2676
  tags?: string[] | undefined;
2675
2677
  traceIds?: string[] | undefined;
2678
+ experimentIds?: string[] | undefined;
2676
2679
  name?: string[] | undefined;
2677
2680
  source?: string | undefined;
2678
2681
  provider?: string | undefined;
@@ -2723,6 +2726,7 @@ declare const listMetricsArgsSchema: z.ZodPipe<z.ZodObject<{
2723
2726
  executionSource?: string | undefined;
2724
2727
  tags?: string[] | undefined;
2725
2728
  traceIds?: string[] | undefined;
2729
+ experimentIds?: string[] | undefined;
2726
2730
  name?: string[] | undefined;
2727
2731
  source?: string | undefined;
2728
2732
  provider?: string | undefined;
@@ -2883,6 +2887,7 @@ declare const getMetricAggregateArgsSchema: z.ZodObject<{
2883
2887
  executionSource: z.ZodOptional<z.ZodString>;
2884
2888
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2885
2889
  traceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2890
+ experimentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2886
2891
  name: z.ZodOptional<z.ZodArray<z.ZodString>>;
2887
2892
  source: z.ZodOptional<z.ZodString>;
2888
2893
  provider: z.ZodOptional<z.ZodString>;
@@ -2966,6 +2971,7 @@ declare const getMetricBreakdownArgsSchema: z.ZodObject<{
2966
2971
  executionSource: z.ZodOptional<z.ZodString>;
2967
2972
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2968
2973
  traceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2974
+ experimentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2969
2975
  name: z.ZodOptional<z.ZodArray<z.ZodString>>;
2970
2976
  source: z.ZodOptional<z.ZodString>;
2971
2977
  provider: z.ZodOptional<z.ZodString>;
@@ -3054,6 +3060,7 @@ declare const getMetricTimeSeriesArgsSchema: z.ZodObject<{
3054
3060
  executionSource: z.ZodOptional<z.ZodString>;
3055
3061
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
3056
3062
  traceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3063
+ experimentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3057
3064
  name: z.ZodOptional<z.ZodArray<z.ZodString>>;
3058
3065
  source: z.ZodOptional<z.ZodString>;
3059
3066
  provider: z.ZodOptional<z.ZodString>;
@@ -3117,6 +3124,7 @@ declare const getMetricPercentilesArgsSchema: z.ZodObject<{
3117
3124
  executionSource: z.ZodOptional<z.ZodString>;
3118
3125
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
3119
3126
  traceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3127
+ experimentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3120
3128
  name: z.ZodOptional<z.ZodArray<z.ZodString>>;
3121
3129
  source: z.ZodOptional<z.ZodString>;
3122
3130
  provider: z.ZodOptional<z.ZodString>;
@@ -1,5 +1,5 @@
1
1
  import { c as schemaToJsonSchema } from "./route-builder-lBil8Cvo.js";
2
- import { t as SERVER_ROUTES } from "./routes-BhI1lW_W.js";
2
+ import { t as SERVER_ROUTES } from "./routes-gjTcauG8.js";
3
3
  //#region src/server/server-adapter/api-schema-manifest.ts
4
4
  function convertSchema(schema) {
5
5
  return schema ? schemaToJsonSchema(schema) : void 0;
@@ -52,4 +52,4 @@ function buildApiSchemaManifest(routes = SERVER_ROUTES) {
52
52
  //#endregion
53
53
  export { buildApiSchemaManifest };
54
54
 
55
- //# sourceMappingURL=api-schema-manifest-aur2BK6a.js.map
55
+ //# sourceMappingURL=api-schema-manifest-BiW4tqad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-schema-manifest-aur2BK6a.js","names":[],"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"],"mappings":";;;AA2BA,SAAS,cAAc,QAA4D;CACjF,OAAO,SAAS,mBAAmB,MAAM,IAAI,KAAA;AAC/C;AAEA,SAAS,aAAa,OAAyC;CAC7D,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAAK,QAAwB,KAAA;AAChG;AAEA,SAAS,WAAW,QAAkE;CACpF,MAAM,OAAO,QAAQ;CACrB,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI;AACpD;AAEA,SAAS,mBAAmB,gBAAiE;CAC3F,IAAI,CAAC,gBAAgB,OAAO,EAAE,MAAM,UAAU;CAE9C,MAAM,OAAO,WAAW,cAAc;CACtC,IAAI,SAAS,SAAS,OAAO,EAAE,MAAM,QAAQ;CAC7C,IAAI,SAAS,UAAU,OAAO,EAAE,MAAM,SAAS;CAE/C,MAAM,aACJ,eAAe,cAAc,CAAC,MAAM,QAAQ,eAAe,UAAU,IAAI,eAAe,aAAa,CAAC;CACxG,MAAM,gBAAgB,OAAO,KAAK,UAAU;CAC5C,MAAM,qBAAqB,UAAU,aAAa,SAAS,gBAAgB,aAAa,eAAe,KAAA;CACvG,MAAM,eAAe,OAAO,QAAQ,UAAU,CAAC,CAAC,MAC7C,GAAG,cAAc,WAAW,aAAa,QAAQ,CAAC,MAAM,OAC3D,CAAC,GAAG;CAEJ,IAAI,iBAAiB,sBAAsB,cAAc,UAAU,IACjE,OAAO;EAAE,MAAM;EAAmB;EAAc;CAAmB;CAErE,IAAI,eAAe,wBAAwB,cAAc,WAAW,GAAG,OAAO,EAAE,MAAM,SAAS;CAC/F,OAAO,EAAE,MAAM,SAAS;AAC1B;AAEA,SAAS,gBAAgB,OAA6B;CACpD,OAAO,MAAM,iBAAiB,UAAU,CAAC,MAAM;AACjD;AAEA,SAAgB,uBAAuB,SAAiC,eAAkC;CACxG,OAAO;EACL,SAAS;EACT,QAAQ,OAAO,OAAO,eAAe,CAAC,CAAC,KAAI,UAAS;GAClD,MAAM,iBAAiB,cAAc,MAAM,cAAc;GACzD,OAAO;IACL,QAAQ,MAAM;IACd,MAAM,MAAM;IACZ,cAAc,MAAM;IACpB,iBAAiB,cAAc,MAAM,eAAe;IACpD,kBAAkB,cAAc,MAAM,gBAAgB;IACtD,YAAY,cAAc,MAAM,UAAU;IAC1C;IACA,eAAe,mBAAmB,cAAc;GAClD;EACF,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"api-schema-manifest-BiW4tqad.js","names":[],"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"],"mappings":";;;AA2BA,SAAS,cAAc,QAA4D;CACjF,OAAO,SAAS,mBAAmB,MAAM,IAAI,KAAA;AAC/C;AAEA,SAAS,aAAa,OAAyC;CAC7D,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAAK,QAAwB,KAAA;AAChG;AAEA,SAAS,WAAW,QAAkE;CACpF,MAAM,OAAO,QAAQ;CACrB,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI;AACpD;AAEA,SAAS,mBAAmB,gBAAiE;CAC3F,IAAI,CAAC,gBAAgB,OAAO,EAAE,MAAM,UAAU;CAE9C,MAAM,OAAO,WAAW,cAAc;CACtC,IAAI,SAAS,SAAS,OAAO,EAAE,MAAM,QAAQ;CAC7C,IAAI,SAAS,UAAU,OAAO,EAAE,MAAM,SAAS;CAE/C,MAAM,aACJ,eAAe,cAAc,CAAC,MAAM,QAAQ,eAAe,UAAU,IAAI,eAAe,aAAa,CAAC;CACxG,MAAM,gBAAgB,OAAO,KAAK,UAAU;CAC5C,MAAM,qBAAqB,UAAU,aAAa,SAAS,gBAAgB,aAAa,eAAe,KAAA;CACvG,MAAM,eAAe,OAAO,QAAQ,UAAU,CAAC,CAAC,MAC7C,GAAG,cAAc,WAAW,aAAa,QAAQ,CAAC,MAAM,OAC3D,CAAC,GAAG;CAEJ,IAAI,iBAAiB,sBAAsB,cAAc,UAAU,IACjE,OAAO;EAAE,MAAM;EAAmB;EAAc;CAAmB;CAErE,IAAI,eAAe,wBAAwB,cAAc,WAAW,GAAG,OAAO,EAAE,MAAM,SAAS;CAC/F,OAAO,EAAE,MAAM,SAAS;AAC1B;AAEA,SAAS,gBAAgB,OAA6B;CACpD,OAAO,MAAM,iBAAiB,UAAU,CAAC,MAAM;AACjD;AAEA,SAAgB,uBAAuB,SAAiC,eAAkC;CACxG,OAAO;EACL,SAAS;EACT,QAAQ,OAAO,OAAO,eAAe,CAAC,CAAC,KAAI,UAAS;GAClD,MAAM,iBAAiB,cAAc,MAAM,cAAc;GACzD,OAAO;IACL,QAAQ,MAAM;IACd,MAAM,MAAM;IACZ,cAAc,MAAM;IACpB,iBAAiB,cAAc,MAAM,eAAe;IACpD,kBAAkB,cAAc,MAAM,gBAAgB;IACtD,YAAY,cAAc,MAAM,UAAU;IAC1C;IACA,eAAe,mBAAmB,cAAc;GAClD;EACF,CAAC;CACH;AACF"}
@@ -1,6 +1,6 @@
1
1
  require("./rolldown-runtime-Bd6kNlEP.cjs");
2
2
  const require_route_builder = require("./route-builder-2yrD15TL.cjs");
3
- const require_routes = require("./routes-CuJPLAh8.cjs");
3
+ const require_routes = require("./routes-D36OQQe5.cjs");
4
4
  //#region src/server/server-adapter/api-schema-manifest.ts
5
5
  function convertSchema(schema) {
6
6
  return schema ? require_route_builder.schemaToJsonSchema(schema) : void 0;
@@ -53,4 +53,4 @@ function buildApiSchemaManifest(routes = require_routes.SERVER_ROUTES) {
53
53
  //#endregion
54
54
  exports.buildApiSchemaManifest = buildApiSchemaManifest;
55
55
 
56
- //# sourceMappingURL=api-schema-manifest-Dr8PM4Qj.cjs.map
56
+ //# sourceMappingURL=api-schema-manifest-DvcVwlpA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-schema-manifest-Dr8PM4Qj.cjs","names":["schemaToJsonSchema","SERVER_ROUTES"],"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"],"mappings":";;;;AA2BA,SAAS,cAAc,QAA4D;CACjF,OAAO,SAASA,sBAAAA,mBAAmB,MAAM,IAAI,KAAA;AAC/C;AAEA,SAAS,aAAa,OAAyC;CAC7D,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAAK,QAAwB,KAAA;AAChG;AAEA,SAAS,WAAW,QAAkE;CACpF,MAAM,OAAO,QAAQ;CACrB,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI;AACpD;AAEA,SAAS,mBAAmB,gBAAiE;CAC3F,IAAI,CAAC,gBAAgB,OAAO,EAAE,MAAM,UAAU;CAE9C,MAAM,OAAO,WAAW,cAAc;CACtC,IAAI,SAAS,SAAS,OAAO,EAAE,MAAM,QAAQ;CAC7C,IAAI,SAAS,UAAU,OAAO,EAAE,MAAM,SAAS;CAE/C,MAAM,aACJ,eAAe,cAAc,CAAC,MAAM,QAAQ,eAAe,UAAU,IAAI,eAAe,aAAa,CAAC;CACxG,MAAM,gBAAgB,OAAO,KAAK,UAAU;CAC5C,MAAM,qBAAqB,UAAU,aAAa,SAAS,gBAAgB,aAAa,eAAe,KAAA;CACvG,MAAM,eAAe,OAAO,QAAQ,UAAU,CAAC,CAAC,MAC7C,GAAG,cAAc,WAAW,aAAa,QAAQ,CAAC,MAAM,OAC3D,CAAC,GAAG;CAEJ,IAAI,iBAAiB,sBAAsB,cAAc,UAAU,IACjE,OAAO;EAAE,MAAM;EAAmB;EAAc;CAAmB;CAErE,IAAI,eAAe,wBAAwB,cAAc,WAAW,GAAG,OAAO,EAAE,MAAM,SAAS;CAC/F,OAAO,EAAE,MAAM,SAAS;AAC1B;AAEA,SAAS,gBAAgB,OAA6B;CACpD,OAAO,MAAM,iBAAiB,UAAU,CAAC,MAAM;AACjD;AAEA,SAAgB,uBAAuB,SAAiCC,eAAAA,eAAkC;CACxG,OAAO;EACL,SAAS;EACT,QAAQ,OAAO,OAAO,eAAe,CAAC,CAAC,KAAI,UAAS;GAClD,MAAM,iBAAiB,cAAc,MAAM,cAAc;GACzD,OAAO;IACL,QAAQ,MAAM;IACd,MAAM,MAAM;IACZ,cAAc,MAAM;IACpB,iBAAiB,cAAc,MAAM,eAAe;IACpD,kBAAkB,cAAc,MAAM,gBAAgB;IACtD,YAAY,cAAc,MAAM,UAAU;IAC1C;IACA,eAAe,mBAAmB,cAAc;GAClD;EACF,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"api-schema-manifest-DvcVwlpA.cjs","names":["schemaToJsonSchema","SERVER_ROUTES"],"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"],"mappings":";;;;AA2BA,SAAS,cAAc,QAA4D;CACjF,OAAO,SAASA,sBAAAA,mBAAmB,MAAM,IAAI,KAAA;AAC/C;AAEA,SAAS,aAAa,OAAyC;CAC7D,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAAK,QAAwB,KAAA;AAChG;AAEA,SAAS,WAAW,QAAkE;CACpF,MAAM,OAAO,QAAQ;CACrB,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI;AACpD;AAEA,SAAS,mBAAmB,gBAAiE;CAC3F,IAAI,CAAC,gBAAgB,OAAO,EAAE,MAAM,UAAU;CAE9C,MAAM,OAAO,WAAW,cAAc;CACtC,IAAI,SAAS,SAAS,OAAO,EAAE,MAAM,QAAQ;CAC7C,IAAI,SAAS,UAAU,OAAO,EAAE,MAAM,SAAS;CAE/C,MAAM,aACJ,eAAe,cAAc,CAAC,MAAM,QAAQ,eAAe,UAAU,IAAI,eAAe,aAAa,CAAC;CACxG,MAAM,gBAAgB,OAAO,KAAK,UAAU;CAC5C,MAAM,qBAAqB,UAAU,aAAa,SAAS,gBAAgB,aAAa,eAAe,KAAA;CACvG,MAAM,eAAe,OAAO,QAAQ,UAAU,CAAC,CAAC,MAC7C,GAAG,cAAc,WAAW,aAAa,QAAQ,CAAC,MAAM,OAC3D,CAAC,GAAG;CAEJ,IAAI,iBAAiB,sBAAsB,cAAc,UAAU,IACjE,OAAO;EAAE,MAAM;EAAmB;EAAc;CAAmB;CAErE,IAAI,eAAe,wBAAwB,cAAc,WAAW,GAAG,OAAO,EAAE,MAAM,SAAS;CAC/F,OAAO,EAAE,MAAM,SAAS;AAC1B;AAEA,SAAS,gBAAgB,OAA6B;CACpD,OAAO,MAAM,iBAAiB,UAAU,CAAC,MAAM;AACjD;AAEA,SAAgB,uBAAuB,SAAiCC,eAAAA,eAAkC;CACxG,OAAO;EACL,SAAS;EACT,QAAQ,OAAO,OAAO,eAAe,CAAC,CAAC,KAAI,UAAS;GAClD,MAAM,iBAAiB,cAAc,MAAM,cAAc;GACzD,OAAO;IACL,QAAQ,MAAM;IACd,MAAM,MAAM;IACZ,cAAc,MAAM;IACpB,iBAAiB,cAAc,MAAM,eAAe;IACpD,kBAAkB,cAAc,MAAM,gBAAgB;IACtD,YAAY,cAAc,MAAM,UAAU;IAC1C;IACA,eAAe,mBAAmB,cAAc;GAClD;EACF,CAAC;CACH;AACF"}
@@ -224,6 +224,11 @@ const listDatasetsQuerySchema = paginationQuerySchema.extend({
224
224
  const nonBlank = list.filter((id) => id !== "");
225
225
  return nonBlank.length > 0 ? nonBlank : void 0;
226
226
  }, zod_v4.z.array(zod_v4.z.string()).optional()).describe("Only return datasets attached to at least one of these target IDs"),
227
+ datasetIds: zod_v4.z.preprocess((v) => {
228
+ const list = typeof v === "string" ? [v] : v;
229
+ if (!Array.isArray(list)) return list;
230
+ return list.filter((id) => id !== "");
231
+ }, zod_v4.z.array(zod_v4.z.string()).max(100).optional()).describe("Only return datasets with these IDs (up to 100). All matches come back on one page; page and perPage are ignored. A blank value matches no datasets."),
227
232
  orderBy: createOrderByQuerySchema([
228
233
  "createdAt",
229
234
  "updatedAt",
@@ -1034,4 +1039,4 @@ Object.defineProperty(exports, "updateItemBodySchema", {
1034
1039
  }
1035
1040
  });
1036
1041
 
1037
- //# sourceMappingURL=datasets-BdD8JWhx.cjs.map
1042
+ //# sourceMappingURL=datasets-BUC5T-fd.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasets-BUC5T-fd.cjs","names":["z","createPagePaginationSchema","paginationInfoSchema"],"sources":["../src/server/schemas/datasets.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema } 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// Trajectory Expectation Schema (2 levels deep, children at level 2 use z.unknown())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.unknown())\nconst expectedStepBase = {\n name: z.string().describe('Step name to match'),\n durationMs: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n children: z.unknown().optional().describe('Nested trajectory expectation (untyped at this depth)'),\n};\n\n// Typed step variants keyed by stepType\nconst expectedToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedMcpToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('mcp_tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n mcpServer: z.string().optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedModelGenerationStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('model_generation'),\n modelId: z.string().optional(),\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n finishReason: z.string().optional(),\n});\n\nconst expectedAgentRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('agent_run'),\n agentId: z.string().optional(),\n});\n\nconst expectedWorkflowStepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_step'),\n stepId: z.string().optional(),\n status: z.string().optional(),\n output: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst expectedWorkflowRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_run'),\n workflowId: z.string().optional(),\n status: z.string().optional(),\n});\n\nconst expectedWorkflowConditionalStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_conditional'),\n conditionCount: z.number().optional(),\n selectedSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowParallelStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_parallel'),\n branchCount: z.number().optional(),\n parallelSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowLoopStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_loop'),\n loopType: z.string().optional(),\n totalIterations: z.number().optional(),\n});\n\nconst expectedWorkflowSleepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_sleep'),\n sleepDurationMs: z.number().optional(),\n sleepType: z.string().optional(),\n});\n\nconst expectedWorkflowWaitEventStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_wait_event'),\n eventName: z.string().optional(),\n eventReceived: z.boolean().optional(),\n});\n\nconst expectedProcessorRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('processor_run'),\n processorId: z.string().optional(),\n});\n\n// Generic step (no stepType — matches by name only)\nconst expectedGenericStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.undefined().optional(),\n});\n\n// Union of all expected step types\nconst expectedStepSchema = z.union([\n z.discriminatedUnion('stepType', [\n expectedToolCallStepSchema,\n expectedMcpToolCallStepSchema,\n expectedModelGenerationStepSchema,\n expectedAgentRunStepSchema,\n expectedWorkflowStepStepSchema,\n expectedWorkflowRunStepSchema,\n expectedWorkflowConditionalStepSchema,\n expectedWorkflowParallelStepSchema,\n expectedWorkflowLoopStepSchema,\n expectedWorkflowSleepStepSchema,\n expectedWorkflowWaitEventStepSchema,\n expectedProcessorRunStepSchema,\n ]),\n expectedGenericStepSchema,\n]);\n\n// Full TrajectoryExpectation schema\nconst trajectoryExpectationSchema = z\n .object({\n // Accuracy\n steps: z.array(expectedStepSchema).optional().describe('Expected steps for accuracy checking'),\n ordering: z\n .enum(['strict', 'relaxed', 'unordered'])\n .optional()\n .describe('How to compare step ordering (default: relaxed)'),\n allowRepeatedSteps: z.boolean().optional().describe('Whether to allow repeated steps (default: true)'),\n\n // Efficiency\n maxSteps: z.number().int().optional().describe('Maximum number of steps allowed'),\n maxTotalTokens: z.number().int().optional().describe('Maximum total tokens across all model_generation steps'),\n maxTotalDurationMs: z.number().optional().describe('Maximum total duration in milliseconds'),\n noRedundantCalls: z\n .boolean()\n .optional()\n .describe('Whether to penalize redundant calls (same tool + same args consecutively, default: true)'),\n\n // Blacklist\n blacklistedTools: z.array(z.string()).optional().describe('Tool names that should never appear'),\n blacklistedSequences: z\n .array(z.array(z.string()))\n .optional()\n .describe('Tool name sequences that should never appear'),\n\n // Tool failure tolerance\n maxRetriesPerTool: z.number().int().optional().describe('Maximum retries per tool before penalizing (default: 2)'),\n })\n .optional()\n .nullable()\n .describe('Expected trajectory configuration for trajectory scoring');\n\n// Dataset item source tracking\nconst datasetItemSourceSchema = z\n .object({\n type: z\n .enum(['csv', 'json', 'trace', 'llm', 'experiment-result', 'candidate-screener'])\n .describe('How this item was created'),\n referenceId: z.string().optional().describe('Reference identifier (e.g., trace id, csv filename)'),\n })\n .optional()\n .describe('Source/provenance of this dataset item');\n\n// Item-level static tool mocks (agent targets only).\nconst itemToolMockSchema = z.object({\n toolName: z.string().describe('Name of the tool this mock applies to'),\n args: z.record(z.string(), z.unknown()).describe('Arguments to match against the tool call'),\n output: z.unknown().describe('Output served to the agent when matched'),\n matchArgs: z\n .enum(['strict', 'ignore'])\n .optional()\n .describe(\"Argument matching mode. 'strict' (default) deep-equals args; 'ignore' matches on toolName only\"),\n});\n\nconst toolMocksSchema = z\n .array(itemToolMockSchema)\n .optional()\n .describe('Ordered item-level static tool mocks served in place of executing the real tool');\n\nconst unmockedToolPolicySchema = z\n .enum(['allow', 'deny'])\n .optional()\n .describe(\"Policy for undeclared tool calls. 'allow' runs them live; 'deny' fails the experiment item\");\n\n// Diagnostic receipt for item-level tool mocks, persisted on experiment results.\nconst toolMockReportSchema = z\n .object({\n served: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n unconsumed: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n liveCalls: z.array(z.object({ toolName: z.string(), args: z.unknown() })),\n failure: z\n .object({\n code: z.enum(['TOOL_MOCK_MISMATCH', 'TOOL_MOCK_EXHAUSTED', 'TOOL_MOCK_NOT_DECLARED']),\n toolName: z.string(),\n args: z.unknown(),\n })\n .optional(),\n })\n .optional()\n .describe('Diagnostic receipt for item-level tool mocks');\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 experimentResultIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n resultId: z.string().describe('Unique identifier for the experiment result'),\n});\n\nexport const datasetExperimentAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\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 = createPagePaginationSchema(10);\n\n/**\n * Order-by query param. Arrives either as a nested object or as a JSON string\n * (bracket notation `orderBy[field]=x&orderBy[direction]=ASC` is reconstructed\n * into a JSON string by `normalizeQueryParams`).\n */\nconst createOrderByQuerySchema = <const T extends readonly [string, ...string[]]>(fields: T) =>\n z\n .preprocess(\n val => {\n if (typeof val !== 'string') return val;\n try {\n return JSON.parse(val);\n } catch {\n // Let the object schema reject it so the caller gets a 400.\n return val;\n }\n },\n z\n .object({\n field: z.enum(fields),\n direction: z.enum(['ASC', 'DESC']),\n })\n .optional(),\n )\n .optional();\n\nexport const listExperimentResultsQuerySchema = paginationQuerySchema.extend({\n tags: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n // Blank values (`?tags=`) mean \"no filter\", not \"match the empty tag\".\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(tag => tag !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return results that have all of these tags'),\n orderBy: createOrderByQuerySchema(['startedAt', 'createdAt']),\n});\n\nconst targetTypeQuerySchema = z\n .enum(['agent', 'workflow', 'scorer', 'processor'])\n .optional()\n .describe('Only return records attached to targets of this type');\n\nexport const listDatasetsQuerySchema = paginationQuerySchema.extend({\n targetType: targetTypeQuerySchema,\n targetIds: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(id => id !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return datasets attached to at least one of these target IDs'),\n datasetIds: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n // Unlike targetIds, a blank list stays empty so it matches no datasets.\n return list.filter(id => id !== '');\n }, z.array(z.string()).max(100).optional())\n .describe(\n 'Only return datasets with these IDs (up to 100). All matches come back on one page; page and perPage are ignored. A blank value matches no datasets.',\n ),\n orderBy: createOrderByQuerySchema(['createdAt', 'updatedAt', 'name']),\n});\n\nexport const listExperimentsQuerySchema = paginationQuerySchema.extend({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.coerce.number().int().min(0).optional(),\n targetType: targetTypeQuerySchema,\n targetId: z.string().optional().describe('Only return experiments run against this target ID'),\n orderBy: createOrderByQuerySchema(['createdAt', 'status']),\n});\n\nexport const tenancyQuerySchema = z.object({\n organizationId: z.string().optional().describe('Restrict lookup to the given organization'),\n projectId: z.string().optional().describe('Restrict lookup to the given project'),\n});\n\nexport const listItemsQuerySchema = createPagePaginationSchema(10).extend({\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n orderBy: createOrderByQuerySchema(['createdAt', 'updatedAt']),\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 targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers attached to this dataset'),\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 tags: z.array(z.string()).optional().describe('Tag definitions for categorizing experiment results'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const addItemBodySchema = z.object({\n externalId: z.string().optional().nullable().describe('Caller-defined, dataset-local item identity'),\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers selected for this item'),\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 source: datasetItemSourceSchema,\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 expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers selected for this item'),\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 source: datasetItemSourceSchema,\n});\n\nexport const updateExperimentBodySchema = z\n .object({\n name: z.string().optional().describe('New name of the experiment'),\n description: z.string().optional().describe('New description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Replacement metadata for the experiment'),\n })\n .strict();\n\nexport const triggerExperimentBodySchema = z.object({\n start: z\n .boolean()\n .optional()\n .describe(\n 'When true (default), spawns the in-process runner. When false, creates the experiment without running it: the caller drives the loop via run-item (targeted) or result submission (target-less).',\n ),\n targetType: z\n .enum(['agent', 'workflow', 'scorer'])\n .optional()\n .describe('Type of target to run against. Required when start is true. Optional for create-only experiments.'),\n targetId: z.string().optional().describe('ID of the target. Required when targetType is set.'),\n id: z\n .string()\n .optional()\n .describe(\n 'Caller-supplied experiment id (e.g. a workflow run id) for idempotent create-only requests. Ignored when start is true.',\n ),\n name: z.string().optional().describe('Name of the experiment'),\n description: z.string().optional().describe('Description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\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 agentVersion: z.string().optional().describe('Agent version ID to use for experiment'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .optional()\n .describe('Caller-provided provenance claims for the experiment execution'),\n grouping: z\n .object({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.number().int().min(0).optional(),\n })\n .optional()\n .describe('Stable grouping dimensions for comparisons and repeated trials'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\n});\n\nexport const runExperimentItemBodySchema = z.object({\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n requestContext: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\"Request context merged with the item's own request context (item wins)\"),\n});\n\nexport const submitExperimentResultBodySchema = z.object({\n itemId: z.string().describe('Dataset item this result belongs to'),\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n input: z.unknown().optional().describe('Input replayed by the external runner. Defaults to the dataset item input.'),\n output: z.unknown().optional().describe('Output produced by the external runner'),\n groundTruth: z.unknown().optional().describe('Ground truth. Defaults to the dataset item groundTruth.'),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable()\n .optional()\n .describe('Failure info when the item run failed'),\n startedAt: z.coerce.date().optional(),\n completedAt: z.coerce.date().optional(),\n traceId: z.string().optional(),\n scores: z\n .array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string().optional(),\n score: z.number(),\n reason: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional()\n .describe('Externally computed scores, persisted keyed by runId = experimentId'),\n});\n\nconst compareExperimentIdsBodySchema = z\n .object({\n experimentIds: z\n .array(z.string().min(1))\n .min(2)\n .max(10)\n .describe('IDs of the experiments to compare (2 to 10). Each one gets a result entry per item.'),\n baselineId: z\n .string()\n .optional()\n .describe('Experiment the others are compared against. Must be one of experimentIds. Defaults to the first.'),\n })\n .refine(body => !body.baselineId || body.experimentIds.includes(body.baselineId), {\n path: ['baselineId'],\n message: 'baselineId must be one of experimentIds',\n });\n\n/** Body sent by clients released before N-way comparison. Mapped to the experimentIds shape. */\nconst legacyCompareExperimentsBodySchema = z\n .object({\n experimentIdA: z.string().min(1).describe('Deprecated: use experimentIds. Baseline experiment ID.'),\n experimentIdB: z.string().min(1).describe('Deprecated: use experimentIds. Contender experiment ID.'),\n })\n .transform(({ experimentIdA, experimentIdB }) => ({\n experimentIds: [experimentIdA, experimentIdB],\n baselineId: experimentIdA,\n }));\n\nexport const compareExperimentsBodySchema = z.union([\n compareExperimentIdsBodySchema,\n legacyCompareExperimentsBodySchema,\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 tags: z.array(z.string()).optional().nullable(),\n targetType: z.string().optional().nullable(),\n targetIds: z.array(z.string()).optional().nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\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 externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n source: datasetItemSourceSchema.nullable(),\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 agentVersion: z.string().nullable().optional(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']).nullable(),\n targetId: z.string().nullable(),\n scorerIds: z.array(z.string()).nullable().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .nullable()\n .optional(),\n runnerAttestation: z\n .object({\n runnerId: z.string(),\n invocationId: z.string(),\n runnerVersion: z.string().optional(),\n })\n .nullable()\n .optional(),\n experimentSetId: z.string().nullable().optional(),\n comparisonId: z.string().nullable().optional(),\n variantId: z.string().nullable().optional(),\n trialIndex: z.number().int().nullable().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// Agent target output. Lenient: legacy rows persisted `error` as `{}` and arbitrary extra fields.\nexport const agentExperimentOutputSchema = z\n .object({\n text: z.string().optional(),\n reasoningText: z.string().optional(),\n object: z.unknown().optional(),\n toolCalls: z.array(z.record(z.string(), z.unknown())).optional(),\n toolResults: z.array(z.record(z.string(), z.unknown())).optional(),\n sources: z.array(z.record(z.string(), z.unknown())).optional(),\n files: z.array(z.record(z.string(), z.unknown())).optional(),\n usage: z.record(z.string(), z.unknown()).optional(),\n traceId: z.string().nullable().optional(),\n error: z\n .object({ message: z.string().optional(), stack: z.string().optional() })\n .passthrough()\n .nullable()\n .optional(),\n })\n .passthrough();\n\nexport const scorerExperimentOutputSchema = z\n .object({\n score: z.number().nullable(),\n reason: z.string().nullable(),\n notScorable: z.unknown().optional(),\n })\n .passthrough();\n\n// Experiment result entity schema\nconst experimentResultBaseSchema = 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 groundTruth: z.unknown().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n expectedTrajectory: z.unknown().optional(),\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 attempt: z.number().int().optional(),\n traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n comment: z.string().nullable().optional(),\n toolMockReport: toolMockReportSchema.nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Discriminated by the parent experiment's targetType so clients can narrow `output`.\nexport const experimentResultResponseSchema = z.union([\n experimentResultBaseSchema.extend({\n targetType: z.literal('agent'),\n output: agentExperimentOutputSchema.nullable(),\n }),\n experimentResultBaseSchema.extend({\n targetType: z.literal('scorer'),\n output: scorerExperimentOutputSchema.nullable(),\n }),\n experimentResultBaseSchema.extend({\n targetType: z.enum(['workflow', 'processor']).nullable(),\n output: z.unknown().nullable(),\n }),\n]);\n\n// Returned by the run-item route: the upserted result row plus the scorer runs.\nexport const runExperimentItemResponseSchema = z.object({\n result: experimentResultResponseSchema,\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 // Set when the scorer declared the item not scorable; `score` and `error` are null.\n notScorable: z.object({ step: z.string(), reason: z.string().optional() }).optional(),\n failedStep: z.string().optional(),\n completedSteps: z.array(z.string()).optional(),\n targetScope: z.enum(['span', 'trajectory']).optional(),\n stepId: z.string().optional(),\n }),\n ),\n});\n\nexport const updateExperimentResultBodySchema = z.object({\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).optional(),\n comment: z.string().nullable().optional(),\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 datasetVersion: z.number().int().optional().describe('Dataset version pinned on the experiment (create-only)'),\n // Nullable: a create-only request returns the persisted startedAt, which is\n // null until the experiment transitions to running.\n startedAt: z.coerce.date().nullable(),\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 metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n toolMockReport: toolMockReportSchema.nullable(),\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\nexport const experimentReviewCountsSchema = z.object({\n experimentId: z.string(),\n total: z.number().int(),\n needsReview: z.number().int(),\n reviewed: z.number().int(),\n complete: z.number().int(),\n});\n\nexport const reviewSummaryResponseSchema = z.object({\n counts: z.array(experimentReviewCountsSchema),\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 expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\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 externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\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\n// ============================================================================\n// AI Generation Schemas\n// ============================================================================\n\nexport const generateItemsBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n prompt: z.string().describe('Description of the kind of test data to generate'),\n count: z.number().int().min(1).max(50).default(5).describe('Number of items to generate'),\n agentContext: z\n .object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n tools: z.array(z.string()).optional(),\n })\n .optional()\n .describe('Context about the agent to generate relevant test data'),\n});\n\nconst generatedItemSchema = z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n});\n\nexport const generateItemsResponseSchema = z.object({\n items: z.array(generatedItemSchema),\n});\n\n// ============================================================================\n// Cluster Failures\n// ============================================================================\n\nexport const clusterFailuresBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n items: z\n .array(\n z.object({\n id: z.string(),\n input: z.unknown(),\n output: z.unknown().optional(),\n error: z.string().optional(),\n scores: z.record(z.string(), z.number()).optional(),\n existingTags: z.array(z.string()).optional().describe('Tags already applied to this item'),\n }),\n )\n .min(1)\n .max(200)\n .describe('Failure items to cluster'),\n availableTags: z\n .array(z.string())\n .optional()\n .describe('Existing tag vocabulary from the dataset. The LLM should prefer reusing these tags when applicable.'),\n prompt: z\n .string()\n .optional()\n .describe('Optional user instructions to guide the analysis (e.g., \"focus on tool usage failures\")'),\n});\n\nconst failureClusterSchema = z.object({\n id: z.string().describe('A unique cluster identifier'),\n label: z.string().describe('Short label for this failure pattern'),\n description: z.string().describe('Description of the common pattern'),\n itemIds: z.array(z.string()).describe('IDs of items belonging to this cluster'),\n});\n\nexport const clusterFailuresResponseSchema = z.object({\n clusters: z.array(failureClusterSchema),\n /** Per-item proposed tag assignments. Each entry maps an item ID to the tags the LLM suggests adding. */\n proposedTags: z\n .array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned to this item'),\n }),\n )\n .optional(),\n});\n"],"mappings":"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"}
@@ -224,6 +224,11 @@ const listDatasetsQuerySchema = paginationQuerySchema.extend({
224
224
  const nonBlank = list.filter((id) => id !== "");
225
225
  return nonBlank.length > 0 ? nonBlank : void 0;
226
226
  }, z.array(z.string()).optional()).describe("Only return datasets attached to at least one of these target IDs"),
227
+ datasetIds: z.preprocess((v) => {
228
+ const list = typeof v === "string" ? [v] : v;
229
+ if (!Array.isArray(list)) return list;
230
+ return list.filter((id) => id !== "");
231
+ }, z.array(z.string()).max(100).optional()).describe("Only return datasets with these IDs (up to 100). All matches come back on one page; page and perPage are ignored. A blank value matches no datasets."),
227
232
  orderBy: createOrderByQuerySchema([
228
233
  "createdAt",
229
234
  "updatedAt",
@@ -723,4 +728,4 @@ const clusterFailuresResponseSchema = z.object({
723
728
  //#endregion
724
729
  export { listDatasetVersionsResponseSchema as A, paginationQuerySchema as B, experimentResultResponseSchema as C, generateItemsResponseSchema as D, generateItemsBodySchema as E, listExperimentsQuerySchema as F, scorerResultSchema as G, runExperimentItemBodySchema as H, listExperimentsResponseSchema as I, triggerExperimentBodySchema as J, submitExperimentResultBodySchema as K, listItemVersionsResponseSchema as L, listDatasetsResponseSchema as M, listExperimentResultsQuerySchema as N, itemIdPathParams as O, listExperimentResultsResponseSchema as P, updateItemBodySchema as Q, listItemsQuerySchema as R, experimentResultIdPathParams as S, experimentSummaryResponseSchema as T, runExperimentItemResponseSchema as U, reviewSummaryResponseSchema as V, scorerExperimentOutputSchema as W, updateExperimentBodySchema as X, updateDatasetBodySchema as Y, updateExperimentResultBodySchema as Z, datasetItemVersionPathParams as _, batchInsertItemsBodySchema as a, experimentIdPathParams as b, clusterFailuresResponseSchema as c, createDatasetBodySchema as d, datasetAndExperimentIdPathParams as f, datasetItemResponseSchema as g, datasetIdPathParams as h, batchDeleteItemsResponseSchema as i, listDatasetsQuerySchema as j, itemVersionResponseSchema as k, compareExperimentsBodySchema as l, datasetExperimentAndItemIdPathParams as m, agentExperimentOutputSchema as n, batchInsertItemsResponseSchema as o, datasetAndItemIdPathParams as p, tenancyQuerySchema as q, batchDeleteItemsBodySchema as r, clusterFailuresBodySchema as s, addItemBodySchema as t, comparisonResponseSchema as u, datasetResponseSchema as v, experimentReviewCountsSchema as w, experimentResponseSchema as x, datasetVersionResponseSchema as y, listItemsResponseSchema as z };
725
730
 
726
- //# sourceMappingURL=datasets-CKwh-k4I.js.map
731
+ //# sourceMappingURL=datasets-CCWuznUu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasets-CCWuznUu.js","names":[],"sources":["../src/server/schemas/datasets.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema } 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// Trajectory Expectation Schema (2 levels deep, children at level 2 use z.unknown())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.unknown())\nconst expectedStepBase = {\n name: z.string().describe('Step name to match'),\n durationMs: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n children: z.unknown().optional().describe('Nested trajectory expectation (untyped at this depth)'),\n};\n\n// Typed step variants keyed by stepType\nconst expectedToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedMcpToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('mcp_tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n mcpServer: z.string().optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedModelGenerationStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('model_generation'),\n modelId: z.string().optional(),\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n finishReason: z.string().optional(),\n});\n\nconst expectedAgentRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('agent_run'),\n agentId: z.string().optional(),\n});\n\nconst expectedWorkflowStepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_step'),\n stepId: z.string().optional(),\n status: z.string().optional(),\n output: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst expectedWorkflowRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_run'),\n workflowId: z.string().optional(),\n status: z.string().optional(),\n});\n\nconst expectedWorkflowConditionalStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_conditional'),\n conditionCount: z.number().optional(),\n selectedSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowParallelStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_parallel'),\n branchCount: z.number().optional(),\n parallelSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowLoopStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_loop'),\n loopType: z.string().optional(),\n totalIterations: z.number().optional(),\n});\n\nconst expectedWorkflowSleepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_sleep'),\n sleepDurationMs: z.number().optional(),\n sleepType: z.string().optional(),\n});\n\nconst expectedWorkflowWaitEventStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_wait_event'),\n eventName: z.string().optional(),\n eventReceived: z.boolean().optional(),\n});\n\nconst expectedProcessorRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('processor_run'),\n processorId: z.string().optional(),\n});\n\n// Generic step (no stepType — matches by name only)\nconst expectedGenericStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.undefined().optional(),\n});\n\n// Union of all expected step types\nconst expectedStepSchema = z.union([\n z.discriminatedUnion('stepType', [\n expectedToolCallStepSchema,\n expectedMcpToolCallStepSchema,\n expectedModelGenerationStepSchema,\n expectedAgentRunStepSchema,\n expectedWorkflowStepStepSchema,\n expectedWorkflowRunStepSchema,\n expectedWorkflowConditionalStepSchema,\n expectedWorkflowParallelStepSchema,\n expectedWorkflowLoopStepSchema,\n expectedWorkflowSleepStepSchema,\n expectedWorkflowWaitEventStepSchema,\n expectedProcessorRunStepSchema,\n ]),\n expectedGenericStepSchema,\n]);\n\n// Full TrajectoryExpectation schema\nconst trajectoryExpectationSchema = z\n .object({\n // Accuracy\n steps: z.array(expectedStepSchema).optional().describe('Expected steps for accuracy checking'),\n ordering: z\n .enum(['strict', 'relaxed', 'unordered'])\n .optional()\n .describe('How to compare step ordering (default: relaxed)'),\n allowRepeatedSteps: z.boolean().optional().describe('Whether to allow repeated steps (default: true)'),\n\n // Efficiency\n maxSteps: z.number().int().optional().describe('Maximum number of steps allowed'),\n maxTotalTokens: z.number().int().optional().describe('Maximum total tokens across all model_generation steps'),\n maxTotalDurationMs: z.number().optional().describe('Maximum total duration in milliseconds'),\n noRedundantCalls: z\n .boolean()\n .optional()\n .describe('Whether to penalize redundant calls (same tool + same args consecutively, default: true)'),\n\n // Blacklist\n blacklistedTools: z.array(z.string()).optional().describe('Tool names that should never appear'),\n blacklistedSequences: z\n .array(z.array(z.string()))\n .optional()\n .describe('Tool name sequences that should never appear'),\n\n // Tool failure tolerance\n maxRetriesPerTool: z.number().int().optional().describe('Maximum retries per tool before penalizing (default: 2)'),\n })\n .optional()\n .nullable()\n .describe('Expected trajectory configuration for trajectory scoring');\n\n// Dataset item source tracking\nconst datasetItemSourceSchema = z\n .object({\n type: z\n .enum(['csv', 'json', 'trace', 'llm', 'experiment-result', 'candidate-screener'])\n .describe('How this item was created'),\n referenceId: z.string().optional().describe('Reference identifier (e.g., trace id, csv filename)'),\n })\n .optional()\n .describe('Source/provenance of this dataset item');\n\n// Item-level static tool mocks (agent targets only).\nconst itemToolMockSchema = z.object({\n toolName: z.string().describe('Name of the tool this mock applies to'),\n args: z.record(z.string(), z.unknown()).describe('Arguments to match against the tool call'),\n output: z.unknown().describe('Output served to the agent when matched'),\n matchArgs: z\n .enum(['strict', 'ignore'])\n .optional()\n .describe(\"Argument matching mode. 'strict' (default) deep-equals args; 'ignore' matches on toolName only\"),\n});\n\nconst toolMocksSchema = z\n .array(itemToolMockSchema)\n .optional()\n .describe('Ordered item-level static tool mocks served in place of executing the real tool');\n\nconst unmockedToolPolicySchema = z\n .enum(['allow', 'deny'])\n .optional()\n .describe(\"Policy for undeclared tool calls. 'allow' runs them live; 'deny' fails the experiment item\");\n\n// Diagnostic receipt for item-level tool mocks, persisted on experiment results.\nconst toolMockReportSchema = z\n .object({\n served: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n unconsumed: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n liveCalls: z.array(z.object({ toolName: z.string(), args: z.unknown() })),\n failure: z\n .object({\n code: z.enum(['TOOL_MOCK_MISMATCH', 'TOOL_MOCK_EXHAUSTED', 'TOOL_MOCK_NOT_DECLARED']),\n toolName: z.string(),\n args: z.unknown(),\n })\n .optional(),\n })\n .optional()\n .describe('Diagnostic receipt for item-level tool mocks');\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 experimentResultIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n resultId: z.string().describe('Unique identifier for the experiment result'),\n});\n\nexport const datasetExperimentAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\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 = createPagePaginationSchema(10);\n\n/**\n * Order-by query param. Arrives either as a nested object or as a JSON string\n * (bracket notation `orderBy[field]=x&orderBy[direction]=ASC` is reconstructed\n * into a JSON string by `normalizeQueryParams`).\n */\nconst createOrderByQuerySchema = <const T extends readonly [string, ...string[]]>(fields: T) =>\n z\n .preprocess(\n val => {\n if (typeof val !== 'string') return val;\n try {\n return JSON.parse(val);\n } catch {\n // Let the object schema reject it so the caller gets a 400.\n return val;\n }\n },\n z\n .object({\n field: z.enum(fields),\n direction: z.enum(['ASC', 'DESC']),\n })\n .optional(),\n )\n .optional();\n\nexport const listExperimentResultsQuerySchema = paginationQuerySchema.extend({\n tags: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n // Blank values (`?tags=`) mean \"no filter\", not \"match the empty tag\".\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(tag => tag !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return results that have all of these tags'),\n orderBy: createOrderByQuerySchema(['startedAt', 'createdAt']),\n});\n\nconst targetTypeQuerySchema = z\n .enum(['agent', 'workflow', 'scorer', 'processor'])\n .optional()\n .describe('Only return records attached to targets of this type');\n\nexport const listDatasetsQuerySchema = paginationQuerySchema.extend({\n targetType: targetTypeQuerySchema,\n targetIds: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(id => id !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return datasets attached to at least one of these target IDs'),\n datasetIds: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n // Unlike targetIds, a blank list stays empty so it matches no datasets.\n return list.filter(id => id !== '');\n }, z.array(z.string()).max(100).optional())\n .describe(\n 'Only return datasets with these IDs (up to 100). All matches come back on one page; page and perPage are ignored. A blank value matches no datasets.',\n ),\n orderBy: createOrderByQuerySchema(['createdAt', 'updatedAt', 'name']),\n});\n\nexport const listExperimentsQuerySchema = paginationQuerySchema.extend({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.coerce.number().int().min(0).optional(),\n targetType: targetTypeQuerySchema,\n targetId: z.string().optional().describe('Only return experiments run against this target ID'),\n orderBy: createOrderByQuerySchema(['createdAt', 'status']),\n});\n\nexport const tenancyQuerySchema = z.object({\n organizationId: z.string().optional().describe('Restrict lookup to the given organization'),\n projectId: z.string().optional().describe('Restrict lookup to the given project'),\n});\n\nexport const listItemsQuerySchema = createPagePaginationSchema(10).extend({\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n orderBy: createOrderByQuerySchema(['createdAt', 'updatedAt']),\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 targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers attached to this dataset'),\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 tags: z.array(z.string()).optional().describe('Tag definitions for categorizing experiment results'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const addItemBodySchema = z.object({\n externalId: z.string().optional().nullable().describe('Caller-defined, dataset-local item identity'),\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers selected for this item'),\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 source: datasetItemSourceSchema,\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 expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers selected for this item'),\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 source: datasetItemSourceSchema,\n});\n\nexport const updateExperimentBodySchema = z\n .object({\n name: z.string().optional().describe('New name of the experiment'),\n description: z.string().optional().describe('New description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Replacement metadata for the experiment'),\n })\n .strict();\n\nexport const triggerExperimentBodySchema = z.object({\n start: z\n .boolean()\n .optional()\n .describe(\n 'When true (default), spawns the in-process runner. When false, creates the experiment without running it: the caller drives the loop via run-item (targeted) or result submission (target-less).',\n ),\n targetType: z\n .enum(['agent', 'workflow', 'scorer'])\n .optional()\n .describe('Type of target to run against. Required when start is true. Optional for create-only experiments.'),\n targetId: z.string().optional().describe('ID of the target. Required when targetType is set.'),\n id: z\n .string()\n .optional()\n .describe(\n 'Caller-supplied experiment id (e.g. a workflow run id) for idempotent create-only requests. Ignored when start is true.',\n ),\n name: z.string().optional().describe('Name of the experiment'),\n description: z.string().optional().describe('Description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\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 agentVersion: z.string().optional().describe('Agent version ID to use for experiment'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .optional()\n .describe('Caller-provided provenance claims for the experiment execution'),\n grouping: z\n .object({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.number().int().min(0).optional(),\n })\n .optional()\n .describe('Stable grouping dimensions for comparisons and repeated trials'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\n});\n\nexport const runExperimentItemBodySchema = z.object({\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n requestContext: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\"Request context merged with the item's own request context (item wins)\"),\n});\n\nexport const submitExperimentResultBodySchema = z.object({\n itemId: z.string().describe('Dataset item this result belongs to'),\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n input: z.unknown().optional().describe('Input replayed by the external runner. Defaults to the dataset item input.'),\n output: z.unknown().optional().describe('Output produced by the external runner'),\n groundTruth: z.unknown().optional().describe('Ground truth. Defaults to the dataset item groundTruth.'),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable()\n .optional()\n .describe('Failure info when the item run failed'),\n startedAt: z.coerce.date().optional(),\n completedAt: z.coerce.date().optional(),\n traceId: z.string().optional(),\n scores: z\n .array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string().optional(),\n score: z.number(),\n reason: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional()\n .describe('Externally computed scores, persisted keyed by runId = experimentId'),\n});\n\nconst compareExperimentIdsBodySchema = z\n .object({\n experimentIds: z\n .array(z.string().min(1))\n .min(2)\n .max(10)\n .describe('IDs of the experiments to compare (2 to 10). Each one gets a result entry per item.'),\n baselineId: z\n .string()\n .optional()\n .describe('Experiment the others are compared against. Must be one of experimentIds. Defaults to the first.'),\n })\n .refine(body => !body.baselineId || body.experimentIds.includes(body.baselineId), {\n path: ['baselineId'],\n message: 'baselineId must be one of experimentIds',\n });\n\n/** Body sent by clients released before N-way comparison. Mapped to the experimentIds shape. */\nconst legacyCompareExperimentsBodySchema = z\n .object({\n experimentIdA: z.string().min(1).describe('Deprecated: use experimentIds. Baseline experiment ID.'),\n experimentIdB: z.string().min(1).describe('Deprecated: use experimentIds. Contender experiment ID.'),\n })\n .transform(({ experimentIdA, experimentIdB }) => ({\n experimentIds: [experimentIdA, experimentIdB],\n baselineId: experimentIdA,\n }));\n\nexport const compareExperimentsBodySchema = z.union([\n compareExperimentIdsBodySchema,\n legacyCompareExperimentsBodySchema,\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 tags: z.array(z.string()).optional().nullable(),\n targetType: z.string().optional().nullable(),\n targetIds: z.array(z.string()).optional().nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\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 externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n source: datasetItemSourceSchema.nullable(),\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 agentVersion: z.string().nullable().optional(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']).nullable(),\n targetId: z.string().nullable(),\n scorerIds: z.array(z.string()).nullable().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .nullable()\n .optional(),\n runnerAttestation: z\n .object({\n runnerId: z.string(),\n invocationId: z.string(),\n runnerVersion: z.string().optional(),\n })\n .nullable()\n .optional(),\n experimentSetId: z.string().nullable().optional(),\n comparisonId: z.string().nullable().optional(),\n variantId: z.string().nullable().optional(),\n trialIndex: z.number().int().nullable().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// Agent target output. Lenient: legacy rows persisted `error` as `{}` and arbitrary extra fields.\nexport const agentExperimentOutputSchema = z\n .object({\n text: z.string().optional(),\n reasoningText: z.string().optional(),\n object: z.unknown().optional(),\n toolCalls: z.array(z.record(z.string(), z.unknown())).optional(),\n toolResults: z.array(z.record(z.string(), z.unknown())).optional(),\n sources: z.array(z.record(z.string(), z.unknown())).optional(),\n files: z.array(z.record(z.string(), z.unknown())).optional(),\n usage: z.record(z.string(), z.unknown()).optional(),\n traceId: z.string().nullable().optional(),\n error: z\n .object({ message: z.string().optional(), stack: z.string().optional() })\n .passthrough()\n .nullable()\n .optional(),\n })\n .passthrough();\n\nexport const scorerExperimentOutputSchema = z\n .object({\n score: z.number().nullable(),\n reason: z.string().nullable(),\n notScorable: z.unknown().optional(),\n })\n .passthrough();\n\n// Experiment result entity schema\nconst experimentResultBaseSchema = 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 groundTruth: z.unknown().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n expectedTrajectory: z.unknown().optional(),\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 attempt: z.number().int().optional(),\n traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n comment: z.string().nullable().optional(),\n toolMockReport: toolMockReportSchema.nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Discriminated by the parent experiment's targetType so clients can narrow `output`.\nexport const experimentResultResponseSchema = z.union([\n experimentResultBaseSchema.extend({\n targetType: z.literal('agent'),\n output: agentExperimentOutputSchema.nullable(),\n }),\n experimentResultBaseSchema.extend({\n targetType: z.literal('scorer'),\n output: scorerExperimentOutputSchema.nullable(),\n }),\n experimentResultBaseSchema.extend({\n targetType: z.enum(['workflow', 'processor']).nullable(),\n output: z.unknown().nullable(),\n }),\n]);\n\n// Returned by the run-item route: the upserted result row plus the scorer runs.\nexport const runExperimentItemResponseSchema = z.object({\n result: experimentResultResponseSchema,\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 // Set when the scorer declared the item not scorable; `score` and `error` are null.\n notScorable: z.object({ step: z.string(), reason: z.string().optional() }).optional(),\n failedStep: z.string().optional(),\n completedSteps: z.array(z.string()).optional(),\n targetScope: z.enum(['span', 'trajectory']).optional(),\n stepId: z.string().optional(),\n }),\n ),\n});\n\nexport const updateExperimentResultBodySchema = z.object({\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).optional(),\n comment: z.string().nullable().optional(),\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 datasetVersion: z.number().int().optional().describe('Dataset version pinned on the experiment (create-only)'),\n // Nullable: a create-only request returns the persisted startedAt, which is\n // null until the experiment transitions to running.\n startedAt: z.coerce.date().nullable(),\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 metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n toolMockReport: toolMockReportSchema.nullable(),\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\nexport const experimentReviewCountsSchema = z.object({\n experimentId: z.string(),\n total: z.number().int(),\n needsReview: z.number().int(),\n reviewed: z.number().int(),\n complete: z.number().int(),\n});\n\nexport const reviewSummaryResponseSchema = z.object({\n counts: z.array(experimentReviewCountsSchema),\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 expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\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 externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\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\n// ============================================================================\n// AI Generation Schemas\n// ============================================================================\n\nexport const generateItemsBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n prompt: z.string().describe('Description of the kind of test data to generate'),\n count: z.number().int().min(1).max(50).default(5).describe('Number of items to generate'),\n agentContext: z\n .object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n tools: z.array(z.string()).optional(),\n })\n .optional()\n .describe('Context about the agent to generate relevant test data'),\n});\n\nconst generatedItemSchema = z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n});\n\nexport const generateItemsResponseSchema = z.object({\n items: z.array(generatedItemSchema),\n});\n\n// ============================================================================\n// Cluster Failures\n// ============================================================================\n\nexport const clusterFailuresBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n items: z\n .array(\n z.object({\n id: z.string(),\n input: z.unknown(),\n output: z.unknown().optional(),\n error: z.string().optional(),\n scores: z.record(z.string(), z.number()).optional(),\n existingTags: z.array(z.string()).optional().describe('Tags already applied to this item'),\n }),\n )\n .min(1)\n .max(200)\n .describe('Failure items to cluster'),\n availableTags: z\n .array(z.string())\n .optional()\n .describe('Existing tag vocabulary from the dataset. The LLM should prefer reusing these tags when applicable.'),\n prompt: z\n .string()\n .optional()\n .describe('Optional user instructions to guide the analysis (e.g., \"focus on tool usage failures\")'),\n});\n\nconst failureClusterSchema = z.object({\n id: z.string().describe('A unique cluster identifier'),\n label: z.string().describe('Short label for this failure pattern'),\n description: z.string().describe('Description of the common pattern'),\n itemIds: z.array(z.string()).describe('IDs of items belonging to this cluster'),\n});\n\nexport const clusterFailuresResponseSchema = z.object({\n clusters: z.array(failureClusterSchema),\n /** Per-item proposed tag assignments. Each entry maps an item ID to the tags the LLM suggests adding. */\n proposedTags: z\n .array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned to this item'),\n }),\n )\n .optional(),\n});\n"],"mappings":"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"}
@@ -20,8 +20,8 @@ let _mastra_core_storage = require("@mastra/core/storage");
20
20
  let _mastra_core_features = require("@mastra/core/features");
21
21
  let _mastra_core_observability = require("@mastra/core/observability");
22
22
  let _mastra_core_processors = require("@mastra/core/processors");
23
- let fs = require("fs");
24
23
  let _mastra_core_workflows = require("@mastra/core/workflows");
24
+ let fs = require("fs");
25
25
  let os = require("os");
26
26
  let path = require("path");
27
27
  let crypto$1 = require("crypto");
@@ -51910,4 +51910,4 @@ const agentBuilderWorkflows = {
51910
51910
  //#endregion
51911
51911
  exports.agentBuilderWorkflows = agentBuilderWorkflows;
51912
51912
 
51913
- //# sourceMappingURL=dist-B8rA8_Wt.cjs.map
51913
+ //# sourceMappingURL=dist-CKHUMrWI.cjs.map