@mastra/server 1.76.0 → 1.77.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{datasets-C2aXB8At.cjs → datasets-BdD8JWhx.cjs} +64 -7
- package/dist/datasets-BdD8JWhx.cjs.map +1 -0
- package/dist/{datasets-CDQDQxos.js → datasets-CKwh-k4I.js} +53 -8
- package/dist/datasets-CKwh-k4I.js.map +1 -0
- package/dist/{dist-C68HDUAO.js → dist-B6B4Cxda.js} +1060 -304
- package/dist/dist-B6B4Cxda.js.map +1 -0
- package/dist/{dist-C8tgsOw_.cjs → dist-BGfXR4Xj.cjs} +1059 -303
- package/dist/dist-BGfXR4Xj.cjs.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-server-custom-adapters.md +1 -1
- package/dist/docs/references/reference-server-create-route.md +1 -1
- package/dist/docs/references/reference-server-routes.md +1 -1
- package/dist/server/handlers/agent-builder.cjs +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/datasets.cjs +27 -15
- package/dist/server/handlers/datasets.cjs.map +1 -1
- package/dist/server/handlers/datasets.d.ts +1032 -38
- package/dist/server/handlers/datasets.d.ts.map +1 -1
- package/dist/server/handlers/datasets.js +27 -15
- package/dist/server/handlers/datasets.js.map +1 -1
- package/dist/server/schemas/datasets.d.ts +430 -11
- package/dist/server/schemas/datasets.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +3 -1
- package/dist/server/schemas/index.js +2 -2
- package/dist/server/server-adapter/routes/datasets.d.ts +1032 -38
- package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/datasets-C2aXB8At.cjs.map +0 -1
- package/dist/datasets-CDQDQxos.js.map +0 -1
- package/dist/dist-C68HDUAO.js.map +0 -1
- package/dist/dist-C8tgsOw_.cjs.map +0 -1
package/dist/docs/SKILL.md
CHANGED
|
@@ -162,7 +162,7 @@ async getParams(
|
|
|
162
162
|
request: MyRequest
|
|
163
163
|
): Promise<{
|
|
164
164
|
urlParams: Record<string, string>;
|
|
165
|
-
queryParams: Record<string, string>;
|
|
165
|
+
queryParams: Record<string, string | string[]>; // repeated keys (?tag=a&tag=b) become arrays
|
|
166
166
|
body: unknown;
|
|
167
167
|
}> {
|
|
168
168
|
return {
|
|
@@ -50,7 +50,7 @@ function createRoute<TPath, TQuery, TBody, TResponse, TResponseType>(
|
|
|
50
50
|
|
|
51
51
|
**deprecated** (`boolean`): Mark route as deprecated
|
|
52
52
|
|
|
53
|
-
**onValidationError** (`(error: ZodError, context: 'query' | 'body' | 'path') => { status: number; body: unknown } | undefined`): Custom validation error handler for this route. Overrides the server-level onValidationError hook. Return { status, body } to customize the response, or undefined to use the default.
|
|
53
|
+
**onValidationError** (`(error: ZodError, context: 'query' | 'body' | 'path') => { status: number; body: unknown } | undefined | void`): Custom validation error handler for this route. Overrides the server-level onValidationError hook. Return { status, body } to customize the response, or return nothing (undefined) to use the default.
|
|
54
54
|
|
|
55
55
|
## Handler parameters
|
|
56
56
|
|
|
@@ -416,7 +416,7 @@ On authenticated servers, the read routes require the `stored-workflows:read` pe
|
|
|
416
416
|
| `PATCH` | `/api/datasets/:datasetId/experiments/:experimentId` | Update an experiment's name, description or metadata |
|
|
417
417
|
| `DELETE` | `/api/datasets/:datasetId/experiments/:experimentId` | Delete an experiment that belongs to the dataset |
|
|
418
418
|
| `GET` | `/api/datasets/:datasetId/experiments/:experimentId/results` | List experiment results |
|
|
419
|
-
| `POST` | `/api/datasets/:datasetId/compare` | Compare two experiments
|
|
419
|
+
| `POST` | `/api/datasets/:datasetId/compare` | Compare two to ten experiments |
|
|
420
420
|
|
|
421
421
|
### Delete an experiment
|
|
422
422
|
|
|
@@ -30,7 +30,7 @@ var agent_builder_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll
|
|
|
30
30
|
});
|
|
31
31
|
let agentBuilderWorkflowsPromise;
|
|
32
32
|
async function loadAgentBuilderWorkflows() {
|
|
33
|
-
agentBuilderWorkflowsPromise ??= Promise.resolve().then(() => require("../../dist-
|
|
33
|
+
agentBuilderWorkflowsPromise ??= Promise.resolve().then(() => require("../../dist-BGfXR4Xj.cjs")).then((mod) => mod.agentBuilderWorkflows);
|
|
34
34
|
return agentBuilderWorkflowsPromise;
|
|
35
35
|
}
|
|
36
36
|
async function registerAgentBuilderWorkflows(mastra) {
|
|
@@ -29,7 +29,7 @@ var agent_builder_exports = /* @__PURE__ */ __exportAll({
|
|
|
29
29
|
});
|
|
30
30
|
let agentBuilderWorkflowsPromise;
|
|
31
31
|
async function loadAgentBuilderWorkflows() {
|
|
32
|
-
agentBuilderWorkflowsPromise ??= import("../../dist-
|
|
32
|
+
agentBuilderWorkflowsPromise ??= import("../../dist-B6B4Cxda.js").then((mod) => mod.agentBuilderWorkflows);
|
|
33
33
|
return agentBuilderWorkflowsPromise;
|
|
34
34
|
}
|
|
35
35
|
async function registerAgentBuilderWorkflows(mastra) {
|
|
@@ -5,7 +5,7 @@ const require_common = require("../../common-DhKNoXGp.cjs");
|
|
|
5
5
|
const require_route_builder = require("../../route-builder-2yrD15TL.cjs");
|
|
6
6
|
const require_constants = require("../../constants-6d6tCMH8.cjs");
|
|
7
7
|
const require_server_handlers_error = require("./error.cjs");
|
|
8
|
-
const require_datasets = require("../../datasets-
|
|
8
|
+
const require_datasets = require("../../datasets-BdD8JWhx.cjs");
|
|
9
9
|
let zod = require("zod");
|
|
10
10
|
let _mastra_core_agent = require("@mastra/core/agent");
|
|
11
11
|
let _mastra_core_error = require("@mastra/core/error");
|
|
@@ -13,6 +13,12 @@ let _mastra_core_llm = require("@mastra/core/llm");
|
|
|
13
13
|
let _mastra_core_request_context = require("@mastra/core/request-context");
|
|
14
14
|
let _mastra_core_features = require("@mastra/core/features");
|
|
15
15
|
//#region src/server/handlers/datasets.ts
|
|
16
|
+
function withTargetType(result, targetType) {
|
|
17
|
+
return {
|
|
18
|
+
...result,
|
|
19
|
+
targetType: targetType ?? null
|
|
20
|
+
};
|
|
21
|
+
}
|
|
16
22
|
function assertDatasetsAvailable() {
|
|
17
23
|
if (!_mastra_core_features.coreFeatures.has("datasets")) throw new require_http_exception.HTTPException(501, { message: "Datasets require @mastra/core >= 1.4.0" });
|
|
18
24
|
}
|
|
@@ -692,12 +698,17 @@ const RUN_EXPERIMENT_ITEM_ROUTE = require_route_builder.createRoute({
|
|
|
692
698
|
try {
|
|
693
699
|
const { attempt, requestContext: rawRequestContext } = params;
|
|
694
700
|
const requestContext = rawRequestContext instanceof _mastra_core_request_context.RequestContext ? rawRequestContext.all : rawRequestContext;
|
|
695
|
-
|
|
701
|
+
const ds = await mastra.datasets.get({ id: datasetId });
|
|
702
|
+
const [run, experiment] = await Promise.all([ds.runExperimentItem({
|
|
696
703
|
experimentId,
|
|
697
704
|
itemId,
|
|
698
705
|
attempt,
|
|
699
706
|
requestContext
|
|
700
|
-
});
|
|
707
|
+
}), ds.getExperiment({ experimentId })]);
|
|
708
|
+
return {
|
|
709
|
+
...run,
|
|
710
|
+
result: withTargetType(run.result, experiment?.targetType)
|
|
711
|
+
};
|
|
701
712
|
} catch (error) {
|
|
702
713
|
if (error instanceof _mastra_core_error.MastraError) throw new require_http_exception.HTTPException(getHttpStatusForMastraError(error.id), { message: error.message });
|
|
703
714
|
return require_server_handlers_error.handleError(error, "Error running experiment item");
|
|
@@ -719,7 +730,9 @@ const SUBMIT_EXPERIMENT_RESULT_ROUTE = require_route_builder.createRoute({
|
|
|
719
730
|
assertDatasetsAvailable();
|
|
720
731
|
try {
|
|
721
732
|
const { itemId, attempt, input, output, groundTruth, error, startedAt, completedAt, traceId, scores } = params;
|
|
722
|
-
|
|
733
|
+
const ds = await mastra.datasets.get({ id: datasetId });
|
|
734
|
+
const experiment = await ds.getExperiment({ experimentId });
|
|
735
|
+
return withTargetType(await ds.submitExperimentResult({
|
|
723
736
|
experimentId,
|
|
724
737
|
itemId,
|
|
725
738
|
attempt,
|
|
@@ -731,7 +744,7 @@ const SUBMIT_EXPERIMENT_RESULT_ROUTE = require_route_builder.createRoute({
|
|
|
731
744
|
completedAt,
|
|
732
745
|
traceId,
|
|
733
746
|
scores
|
|
734
|
-
});
|
|
747
|
+
}), experiment?.targetType);
|
|
735
748
|
} catch (error) {
|
|
736
749
|
if (error instanceof _mastra_core_error.MastraError) throw new require_http_exception.HTTPException(getHttpStatusForMastraError(error.id), { message: error.message });
|
|
737
750
|
return require_server_handlers_error.handleError(error, "Error submitting experiment result");
|
|
@@ -860,10 +873,10 @@ const LIST_EXPERIMENT_RESULTS_ROUTE = require_route_builder.createRoute({
|
|
|
860
873
|
orderBy
|
|
861
874
|
});
|
|
862
875
|
return {
|
|
863
|
-
results: result.results.map(({ experimentId: _eid, ...rest }) => ({
|
|
876
|
+
results: result.results.map(({ experimentId: _eid, ...rest }) => withTargetType({
|
|
864
877
|
experimentId,
|
|
865
878
|
...rest
|
|
866
|
-
})),
|
|
879
|
+
}, run.targetType)),
|
|
867
880
|
pagination: result.pagination
|
|
868
881
|
};
|
|
869
882
|
} catch (error) {
|
|
@@ -890,13 +903,13 @@ const UPDATE_EXPERIMENT_RESULT_ROUTE = require_route_builder.createRoute({
|
|
|
890
903
|
if (!storage) throw new require_http_exception.HTTPException(500, { message: "Storage not configured" });
|
|
891
904
|
const experimentsStore = await storage.getStore("experiments");
|
|
892
905
|
if (!experimentsStore) throw new require_http_exception.HTTPException(500, { message: "Experiments storage not available" });
|
|
893
|
-
return await experimentsStore.updateExperimentResult({
|
|
906
|
+
return withTargetType(await experimentsStore.updateExperimentResult({
|
|
894
907
|
id: resultId,
|
|
895
908
|
experimentId,
|
|
896
909
|
status: params.status,
|
|
897
910
|
tags: params.tags,
|
|
898
911
|
comment: params.comment
|
|
899
|
-
});
|
|
912
|
+
}), (await experimentsStore.getExperimentById({ id: experimentId }))?.targetType);
|
|
900
913
|
} catch (error) {
|
|
901
914
|
if (error instanceof _mastra_core_error.MastraError) throw new require_http_exception.HTTPException(getHttpStatusForMastraError(error.id), { message: error.message });
|
|
902
915
|
return require_server_handlers_error.handleError(error, "Error updating experiment result");
|
|
@@ -910,18 +923,17 @@ const COMPARE_EXPERIMENTS_ROUTE = require_route_builder.createRoute({
|
|
|
910
923
|
pathParamSchema: require_datasets.datasetIdPathParams,
|
|
911
924
|
bodySchema: require_datasets.compareExperimentsBodySchema,
|
|
912
925
|
responseSchema: require_datasets.comparisonResponseSchema,
|
|
913
|
-
summary: "Compare two experiments",
|
|
914
|
-
description: "Compares two experiments
|
|
926
|
+
summary: "Compare two to ten experiments",
|
|
927
|
+
description: "Compares two to ten experiments item by item against a baseline experiment",
|
|
915
928
|
tags: ["Datasets"],
|
|
916
929
|
requiresAuth: true,
|
|
917
|
-
handler: async ({ mastra, datasetId,
|
|
930
|
+
handler: async ({ mastra, datasetId, experimentIds, baselineId }) => {
|
|
918
931
|
assertDatasetsAvailable();
|
|
919
932
|
try {
|
|
920
|
-
const { experimentIdA, experimentIdB } = params;
|
|
921
933
|
await mastra.datasets.get({ id: datasetId });
|
|
922
934
|
return await mastra.datasets.compareExperiments({
|
|
923
|
-
experimentIds
|
|
924
|
-
baselineId
|
|
935
|
+
experimentIds,
|
|
936
|
+
baselineId
|
|
925
937
|
});
|
|
926
938
|
} catch (error) {
|
|
927
939
|
if (error instanceof _mastra_core_error.MastraError) throw new require_http_exception.HTTPException(getHttpStatusForMastraError(error.id), { message: error.message });
|