@mastra/deployer 0.24.6 → 0.24.7-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/build/analyze/analyzeEntry.d.ts +4 -1
- package/dist/build/analyze/analyzeEntry.d.ts.map +1 -1
- package/dist/build/analyze.cjs +2 -2
- package/dist/build/analyze.d.ts.map +1 -1
- package/dist/build/analyze.js +1 -1
- package/dist/build/bundler.cjs +3 -3
- package/dist/build/bundler.js +1 -1
- package/dist/build/index.cjs +12 -12
- package/dist/build/index.js +4 -4
- package/dist/build/plugins/esm-shim.d.ts +14 -0
- package/dist/build/plugins/esm-shim.d.ts.map +1 -0
- package/dist/build/plugins/tsconfig-paths.d.ts.map +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/{chunk-4KA7G7H5.cjs → chunk-53B6GOCH.cjs} +10 -12
- package/dist/chunk-53B6GOCH.cjs.map +1 -0
- package/dist/{chunk-CVJ35R7W.cjs → chunk-6R73ZVZX.cjs} +135 -34
- package/dist/chunk-6R73ZVZX.cjs.map +1 -0
- package/dist/{chunk-KI27F57F.js → chunk-7VIDVYTY.js} +3 -4
- package/dist/chunk-7VIDVYTY.js.map +1 -0
- package/dist/{chunk-VAW2CQ6L.cjs → chunk-FHZKTDSF.cjs} +5 -5
- package/dist/{chunk-VAW2CQ6L.cjs.map → chunk-FHZKTDSF.cjs.map} +1 -1
- package/dist/{chunk-VHQHPXQQ.cjs → chunk-K7JCMIZW.cjs} +16 -16
- package/dist/{chunk-VHQHPXQQ.cjs.map → chunk-K7JCMIZW.cjs.map} +1 -1
- package/dist/{chunk-PKKDL5R4.js → chunk-KEU3VV3H.js} +3 -3
- package/dist/{chunk-PKKDL5R4.js.map → chunk-KEU3VV3H.js.map} +1 -1
- package/dist/{chunk-7QAMM6ZD.js → chunk-KLIBX4WB.js} +5 -5
- package/dist/{chunk-7QAMM6ZD.js.map → chunk-KLIBX4WB.js.map} +1 -1
- package/dist/{chunk-J74CSPBA.js → chunk-MYLM6HSI.js} +4 -4
- package/dist/{chunk-J74CSPBA.js.map → chunk-MYLM6HSI.js.map} +1 -1
- package/dist/{chunk-D6C25KS4.js → chunk-PHZK4P6J.js} +133 -33
- package/dist/chunk-PHZK4P6J.js.map +1 -0
- package/dist/{chunk-CAOUHPIR.cjs → chunk-UWCXK7X6.cjs} +14 -14
- package/dist/{chunk-CAOUHPIR.cjs.map → chunk-UWCXK7X6.cjs.map} +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.js +2 -2
- package/dist/server/handlers/auth/helpers.d.ts +1 -1
- package/dist/server/handlers/auth/helpers.d.ts.map +1 -1
- package/dist/server/handlers/restart-active-runs.d.ts +3 -0
- package/dist/server/handlers/restart-active-runs.d.ts.map +1 -0
- package/dist/server/handlers/routes/agents/handlers.d.ts.map +1 -1
- package/dist/server/handlers/routes/workflows/handlers.d.ts +7 -0
- package/dist/server/handlers/routes/workflows/handlers.d.ts.map +1 -1
- package/dist/server/handlers/routes/workflows/router.d.ts.map +1 -1
- package/dist/server/index.cjs +497 -6
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +498 -7
- package/dist/server/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-4KA7G7H5.cjs.map +0 -1
- package/dist/chunk-CVJ35R7W.cjs.map +0 -1
- package/dist/chunk-D6C25KS4.js.map +0 -1
- package/dist/chunk-KI27F57F.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuB5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnD,KAAK,QAAQ,GAAG,EAAE,CAAC;AAEnB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC;QAAE,UAAU,EAAE,+BAA+B,CAAA;KAAE,CAAC,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,wCAmB/D;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAER;cAGgC,QAAQ;eAAa,SAAS;2CA8gBhE;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAmC,mDAoDlG"}
|
package/dist/server/index.js
CHANGED
|
@@ -39,7 +39,7 @@ import { getAITracesPaginatedHandler as getAITracesPaginatedHandler$1, getAITrac
|
|
|
39
39
|
import { getScorersHandler as getScorersHandler$1, getScorerHandler as getScorerHandler$1, getScoresByRunIdHandler as getScoresByRunIdHandler$1, getScoresByScorerIdHandler as getScoresByScorerIdHandler$1, getScoresByEntityIdHandler as getScoresByEntityIdHandler$1, saveScoreHandler as saveScoreHandler$1 } from '@mastra/server/handlers/scores';
|
|
40
40
|
import { getTelemetryHandler as getTelemetryHandler$1, storeTelemetryHandler as storeTelemetryHandler$1 } from '@mastra/server/handlers/telemetry';
|
|
41
41
|
import { upsertVectors as upsertVectors$1, createIndex as createIndex$1, queryVectors as queryVectors$1, listIndexes as listIndexes$1, describeIndex as describeIndex$1, deleteIndex as deleteIndex$1 } from '@mastra/server/handlers/vector';
|
|
42
|
-
import { getWorkflowsHandler as getWorkflowsHandler$1, getWorkflowByIdHandler as getWorkflowByIdHandler$1, getWorkflowRunsHandler as getWorkflowRunsHandler$1, getWorkflowRunExecutionResultHandler as getWorkflowRunExecutionResultHandler$1, getWorkflowRunByIdHandler as getWorkflowRunByIdHandler$1, resumeWorkflowHandler as resumeWorkflowHandler$1, resumeStreamWorkflowHandler as resumeStreamWorkflowHandler$1, resumeAsyncWorkflowHandler as resumeAsyncWorkflowHandler$1, streamLegacyWorkflowHandler as streamLegacyWorkflowHandler$1, observeStreamLegacyWorkflowHandler as observeStreamLegacyWorkflowHandler$1, streamVNextWorkflowHandler as streamVNextWorkflowHandler$1, observeStreamVNextWorkflowHandler as observeStreamVNextWorkflowHandler$1, createWorkflowRunHandler as createWorkflowRunHandler$1, startAsyncWorkflowHandler as startAsyncWorkflowHandler$1, startWorkflowRunHandler as startWorkflowRunHandler$1, watchWorkflowHandler as watchWorkflowHandler$1, cancelWorkflowRunHandler as cancelWorkflowRunHandler$1, sendWorkflowRunEventHandler as sendWorkflowRunEventHandler$1 } from '@mastra/server/handlers/workflows';
|
|
42
|
+
import { getWorkflowsHandler as getWorkflowsHandler$1, getWorkflowByIdHandler as getWorkflowByIdHandler$1, getWorkflowRunsHandler as getWorkflowRunsHandler$1, getWorkflowRunExecutionResultHandler as getWorkflowRunExecutionResultHandler$1, getWorkflowRunByIdHandler as getWorkflowRunByIdHandler$1, resumeWorkflowHandler as resumeWorkflowHandler$1, resumeStreamWorkflowHandler as resumeStreamWorkflowHandler$1, resumeAsyncWorkflowHandler as resumeAsyncWorkflowHandler$1, timeTravelWorkflowHandler as timeTravelWorkflowHandler$1, timeTravelStreamWorkflowHandler as timeTravelStreamWorkflowHandler$1, timeTravelAsyncWorkflowHandler as timeTravelAsyncWorkflowHandler$1, restartWorkflowHandler as restartWorkflowHandler$1, restartAsyncWorkflowHandler as restartAsyncWorkflowHandler$1, restartAllActiveWorkflowRunsHandler as restartAllActiveWorkflowRunsHandler$1, restartAllActiveWorkflowRunsAsyncHandler as restartAllActiveWorkflowRunsAsyncHandler$1, streamLegacyWorkflowHandler as streamLegacyWorkflowHandler$1, observeStreamLegacyWorkflowHandler as observeStreamLegacyWorkflowHandler$1, streamVNextWorkflowHandler as streamVNextWorkflowHandler$1, observeStreamVNextWorkflowHandler as observeStreamVNextWorkflowHandler$1, createWorkflowRunHandler as createWorkflowRunHandler$1, startAsyncWorkflowHandler as startAsyncWorkflowHandler$1, startWorkflowRunHandler as startWorkflowRunHandler$1, watchWorkflowHandler as watchWorkflowHandler$1, cancelWorkflowRunHandler as cancelWorkflowRunHandler$1, sendWorkflowRunEventHandler as sendWorkflowRunEventHandler$1 } from '@mastra/server/handlers/workflows';
|
|
43
43
|
import { getLegacyWorkflowsHandler as getLegacyWorkflowsHandler$1, getLegacyWorkflowByIdHandler as getLegacyWorkflowByIdHandler$1, getLegacyWorkflowRunsHandler as getLegacyWorkflowRunsHandler$1, resumeLegacyWorkflowHandler as resumeLegacyWorkflowHandler$1, resumeAsyncLegacyWorkflowHandler as resumeAsyncLegacyWorkflowHandler$1, createLegacyWorkflowRunHandler as createLegacyWorkflowRunHandler$1, startAsyncLegacyWorkflowHandler as startAsyncLegacyWorkflowHandler$1, startLegacyWorkflowRunHandler as startLegacyWorkflowRunHandler$1, watchLegacyWorkflowHandler as watchLegacyWorkflowHandler$1 } from '@mastra/server/handlers/legacyWorkflows';
|
|
44
44
|
|
|
45
45
|
// src/server/index.ts
|
|
@@ -1052,8 +1052,9 @@ var defaultAuthConfig = {
|
|
|
1052
1052
|
};
|
|
1053
1053
|
|
|
1054
1054
|
// src/server/handlers/auth/helpers.ts
|
|
1055
|
-
var isDevPlaygroundRequest = (req) => {
|
|
1056
|
-
|
|
1055
|
+
var isDevPlaygroundRequest = (req, authConfig) => {
|
|
1056
|
+
const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
|
|
1057
|
+
return process.env.MASTRA_DEV === "true" && (!isAnyMatch(req.path, req.method, protectedAccess) || req.header("x-mastra-dev-playground") === "true");
|
|
1057
1058
|
};
|
|
1058
1059
|
var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
|
|
1059
1060
|
if (!customRouteAuthConfig) {
|
|
@@ -1158,7 +1159,7 @@ var authenticationMiddleware = async (c2, next) => {
|
|
|
1158
1159
|
if (!authConfig) {
|
|
1159
1160
|
return next();
|
|
1160
1161
|
}
|
|
1161
|
-
if (isDevPlaygroundRequest(c2.req)) {
|
|
1162
|
+
if (isDevPlaygroundRequest(c2.req, authConfig)) {
|
|
1162
1163
|
return next();
|
|
1163
1164
|
}
|
|
1164
1165
|
if (!isProtectedPath(c2.req.path, c2.req.method, authConfig, customRouteAuthConfig)) {
|
|
@@ -1201,7 +1202,7 @@ var authorizationMiddleware = async (c2, next) => {
|
|
|
1201
1202
|
}
|
|
1202
1203
|
const path = c2.req.path;
|
|
1203
1204
|
const method = c2.req.method;
|
|
1204
|
-
if (isDevPlaygroundRequest(c2.req)) {
|
|
1205
|
+
if (isDevPlaygroundRequest(c2.req, authConfig)) {
|
|
1205
1206
|
return next();
|
|
1206
1207
|
}
|
|
1207
1208
|
if (!isProtectedPath(c2.req.path, c2.req.method, authConfig, customRouteAuthConfig)) {
|
|
@@ -1317,6 +1318,17 @@ async function healthHandler(c2) {
|
|
|
1317
1318
|
return c2.json({ success: true }, 200);
|
|
1318
1319
|
}
|
|
1319
1320
|
|
|
1321
|
+
// src/server/handlers/restart-active-runs.ts
|
|
1322
|
+
async function restartAllActiveWorkflowRunsHandler(c2) {
|
|
1323
|
+
try {
|
|
1324
|
+
const mastra = c2.get("mastra");
|
|
1325
|
+
void mastra.restartAllActiveWorkflowRuns();
|
|
1326
|
+
return c2.json({ message: "Restarting all active workflow runs..." });
|
|
1327
|
+
} catch (error) {
|
|
1328
|
+
return handleError(error, "Error restarting active workflow runs");
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1320
1332
|
// src/server/handlers/root.ts
|
|
1321
1333
|
async function rootHandler(c2) {
|
|
1322
1334
|
const baseUrl = new URL(c2.req.url).origin;
|
|
@@ -2555,9 +2567,11 @@ var vNextBodyOptions = {
|
|
|
2555
2567
|
...sharedBodyOptions
|
|
2556
2568
|
};
|
|
2557
2569
|
async function getAgentsHandler(c2) {
|
|
2570
|
+
const partial = c2.req.query("partial") === "true";
|
|
2558
2571
|
const serializedAgents = await getAgentsHandler$1({
|
|
2559
2572
|
mastra: c2.get("mastra"),
|
|
2560
|
-
runtimeContext: c2.get("runtimeContext")
|
|
2573
|
+
runtimeContext: c2.get("runtimeContext"),
|
|
2574
|
+
partial
|
|
2561
2575
|
});
|
|
2562
2576
|
return c2.json(serializedAgents);
|
|
2563
2577
|
}
|
|
@@ -9888,8 +9902,10 @@ function vectorRouter(bodyLimitOptions) {
|
|
|
9888
9902
|
async function getWorkflowsHandler(c2) {
|
|
9889
9903
|
try {
|
|
9890
9904
|
const mastra = c2.get("mastra");
|
|
9905
|
+
const partial = c2.req.query("partial") === "true";
|
|
9891
9906
|
const workflows = await getWorkflowsHandler$1({
|
|
9892
|
-
mastra
|
|
9907
|
+
mastra,
|
|
9908
|
+
partial
|
|
9893
9909
|
});
|
|
9894
9910
|
return c2.json(workflows);
|
|
9895
9911
|
} catch (error) {
|
|
@@ -10332,6 +10348,163 @@ async function sendWorkflowRunEventHandler(c2) {
|
|
|
10332
10348
|
return handleError(error, "Error sending workflow run event");
|
|
10333
10349
|
}
|
|
10334
10350
|
}
|
|
10351
|
+
async function restartAsyncWorkflowHandler(c2) {
|
|
10352
|
+
try {
|
|
10353
|
+
const mastra = c2.get("mastra");
|
|
10354
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
10355
|
+
const workflowId = c2.req.param("workflowId");
|
|
10356
|
+
const runId = c2.req.query("runId");
|
|
10357
|
+
const { tracingOptions } = await c2.req.json();
|
|
10358
|
+
if (!runId) {
|
|
10359
|
+
throw new HTTPException(400, { message: "runId required to restart workflow" });
|
|
10360
|
+
}
|
|
10361
|
+
const result = await restartAsyncWorkflowHandler$1({
|
|
10362
|
+
mastra,
|
|
10363
|
+
runtimeContext,
|
|
10364
|
+
workflowId,
|
|
10365
|
+
runId,
|
|
10366
|
+
tracingOptions
|
|
10367
|
+
});
|
|
10368
|
+
return c2.json(result);
|
|
10369
|
+
} catch (error) {
|
|
10370
|
+
return handleError(error, "Error restarting workflow run");
|
|
10371
|
+
}
|
|
10372
|
+
}
|
|
10373
|
+
async function restartWorkflowHandler(c2) {
|
|
10374
|
+
try {
|
|
10375
|
+
const mastra = c2.get("mastra");
|
|
10376
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
10377
|
+
const workflowId = c2.req.param("workflowId");
|
|
10378
|
+
const runId = c2.req.query("runId");
|
|
10379
|
+
const { tracingOptions } = await c2.req.json();
|
|
10380
|
+
if (!runId) {
|
|
10381
|
+
throw new HTTPException(400, { message: "runId required to restart workflow" });
|
|
10382
|
+
}
|
|
10383
|
+
await restartWorkflowHandler$1({
|
|
10384
|
+
mastra,
|
|
10385
|
+
runtimeContext,
|
|
10386
|
+
workflowId,
|
|
10387
|
+
runId,
|
|
10388
|
+
tracingOptions
|
|
10389
|
+
});
|
|
10390
|
+
return c2.json({ message: "Workflow run restarted" });
|
|
10391
|
+
} catch (error) {
|
|
10392
|
+
return handleError(error, "Error restarting workflow");
|
|
10393
|
+
}
|
|
10394
|
+
}
|
|
10395
|
+
async function restartAllActiveWorkflowRunsAsyncHandler(c2) {
|
|
10396
|
+
try {
|
|
10397
|
+
const mastra = c2.get("mastra");
|
|
10398
|
+
const workflowId = c2.req.param("workflowId");
|
|
10399
|
+
const result = await restartAllActiveWorkflowRunsAsyncHandler$1({
|
|
10400
|
+
mastra,
|
|
10401
|
+
workflowId
|
|
10402
|
+
});
|
|
10403
|
+
return c2.json(result);
|
|
10404
|
+
} catch (error) {
|
|
10405
|
+
return handleError(error, "Error restarting all active workflow runs");
|
|
10406
|
+
}
|
|
10407
|
+
}
|
|
10408
|
+
async function restartAllActiveWorkflowRunsHandler2(c2) {
|
|
10409
|
+
try {
|
|
10410
|
+
const mastra = c2.get("mastra");
|
|
10411
|
+
const workflowId = c2.req.param("workflowId");
|
|
10412
|
+
await restartAllActiveWorkflowRunsHandler$1({
|
|
10413
|
+
mastra,
|
|
10414
|
+
workflowId
|
|
10415
|
+
});
|
|
10416
|
+
return c2.json({ message: "All active workflow runs restarted" });
|
|
10417
|
+
} catch (error) {
|
|
10418
|
+
return handleError(error, "Error restarting all active workflow runs");
|
|
10419
|
+
}
|
|
10420
|
+
}
|
|
10421
|
+
async function timeTravelAsyncWorkflowHandler(c2) {
|
|
10422
|
+
try {
|
|
10423
|
+
const mastra = c2.get("mastra");
|
|
10424
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
10425
|
+
const workflowId = c2.req.param("workflowId");
|
|
10426
|
+
const runId = c2.req.query("runId");
|
|
10427
|
+
const { tracingOptions, ...body } = await c2.req.json();
|
|
10428
|
+
if (!runId) {
|
|
10429
|
+
throw new HTTPException(400, { message: "runId required to time travel workflow" });
|
|
10430
|
+
}
|
|
10431
|
+
const result = await timeTravelAsyncWorkflowHandler$1({
|
|
10432
|
+
mastra,
|
|
10433
|
+
runtimeContext,
|
|
10434
|
+
workflowId,
|
|
10435
|
+
runId,
|
|
10436
|
+
tracingOptions,
|
|
10437
|
+
body
|
|
10438
|
+
});
|
|
10439
|
+
return c2.json(result);
|
|
10440
|
+
} catch (error) {
|
|
10441
|
+
return handleError(error, "Error time traveling workflow run");
|
|
10442
|
+
}
|
|
10443
|
+
}
|
|
10444
|
+
async function timeTravelWorkflowHandler(c2) {
|
|
10445
|
+
try {
|
|
10446
|
+
const mastra = c2.get("mastra");
|
|
10447
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
10448
|
+
const workflowId = c2.req.param("workflowId");
|
|
10449
|
+
const runId = c2.req.query("runId");
|
|
10450
|
+
const { tracingOptions, ...body } = await c2.req.json();
|
|
10451
|
+
if (!runId) {
|
|
10452
|
+
throw new HTTPException(400, { message: "runId required to time travel workflow" });
|
|
10453
|
+
}
|
|
10454
|
+
await timeTravelWorkflowHandler$1({
|
|
10455
|
+
mastra,
|
|
10456
|
+
runtimeContext,
|
|
10457
|
+
workflowId,
|
|
10458
|
+
runId,
|
|
10459
|
+
tracingOptions,
|
|
10460
|
+
body
|
|
10461
|
+
});
|
|
10462
|
+
return c2.json({ message: "Workflow run time traveled" });
|
|
10463
|
+
} catch (error) {
|
|
10464
|
+
return handleError(error, "Error time traveling workflow");
|
|
10465
|
+
}
|
|
10466
|
+
}
|
|
10467
|
+
async function timeTravelStreamWorkflowHandler(c2) {
|
|
10468
|
+
try {
|
|
10469
|
+
const mastra = c2.get("mastra");
|
|
10470
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
10471
|
+
const logger2 = mastra.getLogger();
|
|
10472
|
+
const workflowId = c2.req.param("workflowId");
|
|
10473
|
+
const { tracingOptions, ...body } = await c2.req.json();
|
|
10474
|
+
const runId = c2.req.query("runId");
|
|
10475
|
+
c2.header("Transfer-Encoding", "chunked");
|
|
10476
|
+
return stream(
|
|
10477
|
+
c2,
|
|
10478
|
+
async (stream6) => {
|
|
10479
|
+
try {
|
|
10480
|
+
const result = await timeTravelStreamWorkflowHandler$1({
|
|
10481
|
+
mastra,
|
|
10482
|
+
workflowId,
|
|
10483
|
+
runId,
|
|
10484
|
+
body,
|
|
10485
|
+
runtimeContext,
|
|
10486
|
+
tracingOptions
|
|
10487
|
+
});
|
|
10488
|
+
const reader = result.getReader();
|
|
10489
|
+
stream6.onAbort(() => {
|
|
10490
|
+
void reader.cancel("request aborted");
|
|
10491
|
+
});
|
|
10492
|
+
let chunkResult;
|
|
10493
|
+
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
10494
|
+
await stream6.write(JSON.stringify(chunkResult.value) + "");
|
|
10495
|
+
}
|
|
10496
|
+
} catch (err) {
|
|
10497
|
+
logger2.error("Error in workflow time travel stream: " + (err?.message ?? "Unknown error"));
|
|
10498
|
+
}
|
|
10499
|
+
},
|
|
10500
|
+
async (err) => {
|
|
10501
|
+
logger2.error("Error in workflow time travel stream: " + err?.message);
|
|
10502
|
+
}
|
|
10503
|
+
);
|
|
10504
|
+
} catch (error) {
|
|
10505
|
+
return handleError(error, "Error streaming time traveled workflow");
|
|
10506
|
+
}
|
|
10507
|
+
}
|
|
10335
10508
|
async function getLegacyWorkflowsHandler(c2) {
|
|
10336
10509
|
try {
|
|
10337
10510
|
const mastra = c2.get("mastra");
|
|
@@ -11074,6 +11247,315 @@ function workflowsRouter(bodyLimitOptions) {
|
|
|
11074
11247
|
}),
|
|
11075
11248
|
resumeAsyncWorkflowHandler
|
|
11076
11249
|
);
|
|
11250
|
+
router.post(
|
|
11251
|
+
"/:workflowId/time-travel",
|
|
11252
|
+
w({
|
|
11253
|
+
description: "Time travel a workflow run",
|
|
11254
|
+
tags: ["workflows"],
|
|
11255
|
+
parameters: [
|
|
11256
|
+
{
|
|
11257
|
+
name: "workflowId",
|
|
11258
|
+
in: "path",
|
|
11259
|
+
required: true,
|
|
11260
|
+
schema: { type: "string" }
|
|
11261
|
+
},
|
|
11262
|
+
{
|
|
11263
|
+
name: "runId",
|
|
11264
|
+
in: "query",
|
|
11265
|
+
required: true,
|
|
11266
|
+
schema: { type: "string" }
|
|
11267
|
+
}
|
|
11268
|
+
],
|
|
11269
|
+
requestBody: {
|
|
11270
|
+
required: true,
|
|
11271
|
+
content: {
|
|
11272
|
+
"application/json": {
|
|
11273
|
+
schema: {
|
|
11274
|
+
type: "object",
|
|
11275
|
+
properties: {
|
|
11276
|
+
step: {
|
|
11277
|
+
oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }]
|
|
11278
|
+
},
|
|
11279
|
+
inputData: { type: "object" },
|
|
11280
|
+
resumeData: { type: "object" },
|
|
11281
|
+
initialState: { type: "object" },
|
|
11282
|
+
context: { type: "object", description: "Context for the workflow execution" },
|
|
11283
|
+
nestedStepsContext: { type: "object", description: "Nested steps context for the workflow execution" },
|
|
11284
|
+
runtimeContext: {
|
|
11285
|
+
type: "object",
|
|
11286
|
+
description: "Runtime context for the workflow execution"
|
|
11287
|
+
},
|
|
11288
|
+
tracingOptions: {
|
|
11289
|
+
type: "object",
|
|
11290
|
+
description: "Tracing options for the workflow execution",
|
|
11291
|
+
properties: {
|
|
11292
|
+
metadata: {
|
|
11293
|
+
type: "object",
|
|
11294
|
+
description: "Custom metadata to attach to the trace",
|
|
11295
|
+
additionalProperties: true
|
|
11296
|
+
}
|
|
11297
|
+
}
|
|
11298
|
+
}
|
|
11299
|
+
},
|
|
11300
|
+
required: ["step"]
|
|
11301
|
+
}
|
|
11302
|
+
}
|
|
11303
|
+
}
|
|
11304
|
+
}
|
|
11305
|
+
}),
|
|
11306
|
+
timeTravelWorkflowHandler
|
|
11307
|
+
);
|
|
11308
|
+
router.post(
|
|
11309
|
+
"/:workflowId/time-travel-stream",
|
|
11310
|
+
w({
|
|
11311
|
+
description: "Time travel a workflow run using streamVNext",
|
|
11312
|
+
tags: ["workflows"],
|
|
11313
|
+
parameters: [
|
|
11314
|
+
{
|
|
11315
|
+
name: "workflowId",
|
|
11316
|
+
in: "path",
|
|
11317
|
+
required: true,
|
|
11318
|
+
schema: { type: "string" }
|
|
11319
|
+
},
|
|
11320
|
+
{
|
|
11321
|
+
name: "runId",
|
|
11322
|
+
in: "query",
|
|
11323
|
+
required: true,
|
|
11324
|
+
schema: { type: "string" }
|
|
11325
|
+
}
|
|
11326
|
+
],
|
|
11327
|
+
requestBody: {
|
|
11328
|
+
required: true,
|
|
11329
|
+
content: {
|
|
11330
|
+
"application/json": {
|
|
11331
|
+
schema: {
|
|
11332
|
+
type: "object",
|
|
11333
|
+
properties: {
|
|
11334
|
+
step: {
|
|
11335
|
+
oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }]
|
|
11336
|
+
},
|
|
11337
|
+
inputData: { type: "object" },
|
|
11338
|
+
resumeData: { type: "object" },
|
|
11339
|
+
initialState: { type: "object" },
|
|
11340
|
+
context: { type: "object", description: "Context for the workflow execution" },
|
|
11341
|
+
nestedStepsContext: { type: "object", description: "Nested steps context for the workflow execution" },
|
|
11342
|
+
runtimeContext: {
|
|
11343
|
+
type: "object",
|
|
11344
|
+
description: "Runtime context for the workflow execution"
|
|
11345
|
+
},
|
|
11346
|
+
tracingOptions: {
|
|
11347
|
+
type: "object",
|
|
11348
|
+
description: "Tracing options for the workflow execution",
|
|
11349
|
+
properties: {
|
|
11350
|
+
metadata: {
|
|
11351
|
+
type: "object",
|
|
11352
|
+
description: "Custom metadata to attach to the trace",
|
|
11353
|
+
additionalProperties: true
|
|
11354
|
+
}
|
|
11355
|
+
}
|
|
11356
|
+
}
|
|
11357
|
+
},
|
|
11358
|
+
required: ["step"]
|
|
11359
|
+
}
|
|
11360
|
+
}
|
|
11361
|
+
}
|
|
11362
|
+
}
|
|
11363
|
+
}),
|
|
11364
|
+
timeTravelStreamWorkflowHandler
|
|
11365
|
+
);
|
|
11366
|
+
router.post(
|
|
11367
|
+
"/:workflowId/time-travel-async",
|
|
11368
|
+
bodyLimit(bodyLimitOptions),
|
|
11369
|
+
w({
|
|
11370
|
+
description: "Time travel a workflow run asynchronously",
|
|
11371
|
+
tags: ["workflows"],
|
|
11372
|
+
parameters: [
|
|
11373
|
+
{
|
|
11374
|
+
name: "workflowId",
|
|
11375
|
+
in: "path",
|
|
11376
|
+
required: true,
|
|
11377
|
+
schema: { type: "string" }
|
|
11378
|
+
},
|
|
11379
|
+
{
|
|
11380
|
+
name: "runId",
|
|
11381
|
+
in: "query",
|
|
11382
|
+
required: true,
|
|
11383
|
+
schema: { type: "string" }
|
|
11384
|
+
}
|
|
11385
|
+
],
|
|
11386
|
+
requestBody: {
|
|
11387
|
+
required: true,
|
|
11388
|
+
content: {
|
|
11389
|
+
"application/json": {
|
|
11390
|
+
schema: {
|
|
11391
|
+
type: "object",
|
|
11392
|
+
properties: {
|
|
11393
|
+
step: {
|
|
11394
|
+
oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }]
|
|
11395
|
+
},
|
|
11396
|
+
inputData: { type: "object" },
|
|
11397
|
+
resumeData: { type: "object" },
|
|
11398
|
+
initialState: { type: "object" },
|
|
11399
|
+
context: { type: "object", description: "Context for the workflow execution" },
|
|
11400
|
+
nestedStepsContext: { type: "object", description: "Nested steps context for the workflow execution" },
|
|
11401
|
+
runtimeContext: {
|
|
11402
|
+
type: "object",
|
|
11403
|
+
description: "Runtime context for the workflow execution"
|
|
11404
|
+
},
|
|
11405
|
+
tracingOptions: {
|
|
11406
|
+
type: "object",
|
|
11407
|
+
description: "Tracing options for the workflow execution",
|
|
11408
|
+
properties: {
|
|
11409
|
+
metadata: {
|
|
11410
|
+
type: "object",
|
|
11411
|
+
description: "Custom metadata to attach to the trace",
|
|
11412
|
+
additionalProperties: true
|
|
11413
|
+
}
|
|
11414
|
+
}
|
|
11415
|
+
}
|
|
11416
|
+
},
|
|
11417
|
+
required: ["step"]
|
|
11418
|
+
}
|
|
11419
|
+
}
|
|
11420
|
+
}
|
|
11421
|
+
}
|
|
11422
|
+
}),
|
|
11423
|
+
timeTravelAsyncWorkflowHandler
|
|
11424
|
+
);
|
|
11425
|
+
router.post(
|
|
11426
|
+
"/:workflowId/restart",
|
|
11427
|
+
bodyLimit(bodyLimitOptions),
|
|
11428
|
+
w({
|
|
11429
|
+
description: "Restart a workflow run",
|
|
11430
|
+
tags: ["workflows"],
|
|
11431
|
+
parameters: [
|
|
11432
|
+
{
|
|
11433
|
+
name: "workflowId",
|
|
11434
|
+
in: "path",
|
|
11435
|
+
required: true,
|
|
11436
|
+
schema: { type: "string" }
|
|
11437
|
+
},
|
|
11438
|
+
{
|
|
11439
|
+
name: "runId",
|
|
11440
|
+
in: "query",
|
|
11441
|
+
required: true,
|
|
11442
|
+
schema: { type: "string" }
|
|
11443
|
+
}
|
|
11444
|
+
],
|
|
11445
|
+
requestBody: {
|
|
11446
|
+
required: true,
|
|
11447
|
+
content: {
|
|
11448
|
+
"application/json": {
|
|
11449
|
+
schema: {
|
|
11450
|
+
type: "object",
|
|
11451
|
+
properties: {
|
|
11452
|
+
runtimeContext: {
|
|
11453
|
+
type: "object",
|
|
11454
|
+
description: "Runtime context for the workflow execution"
|
|
11455
|
+
},
|
|
11456
|
+
tracingOptions: {
|
|
11457
|
+
type: "object",
|
|
11458
|
+
description: "Tracing options for the workflow execution",
|
|
11459
|
+
properties: {
|
|
11460
|
+
metadata: {
|
|
11461
|
+
type: "object",
|
|
11462
|
+
description: "Custom metadata to attach to the trace",
|
|
11463
|
+
additionalProperties: true
|
|
11464
|
+
}
|
|
11465
|
+
}
|
|
11466
|
+
}
|
|
11467
|
+
}
|
|
11468
|
+
}
|
|
11469
|
+
}
|
|
11470
|
+
}
|
|
11471
|
+
}
|
|
11472
|
+
}),
|
|
11473
|
+
restartWorkflowHandler
|
|
11474
|
+
);
|
|
11475
|
+
router.post(
|
|
11476
|
+
"/:workflowId/restart-async",
|
|
11477
|
+
bodyLimit(bodyLimitOptions),
|
|
11478
|
+
w({
|
|
11479
|
+
description: "Restart a workflow run asynchronously",
|
|
11480
|
+
tags: ["workflows"],
|
|
11481
|
+
parameters: [
|
|
11482
|
+
{
|
|
11483
|
+
name: "workflowId",
|
|
11484
|
+
in: "path",
|
|
11485
|
+
required: true,
|
|
11486
|
+
schema: { type: "string" }
|
|
11487
|
+
},
|
|
11488
|
+
{
|
|
11489
|
+
name: "runId",
|
|
11490
|
+
in: "query",
|
|
11491
|
+
required: true,
|
|
11492
|
+
schema: { type: "string" }
|
|
11493
|
+
}
|
|
11494
|
+
],
|
|
11495
|
+
requestBody: {
|
|
11496
|
+
required: true,
|
|
11497
|
+
content: {
|
|
11498
|
+
"application/json": {
|
|
11499
|
+
schema: {
|
|
11500
|
+
type: "object",
|
|
11501
|
+
properties: {
|
|
11502
|
+
runtimeContext: {
|
|
11503
|
+
type: "object",
|
|
11504
|
+
description: "Runtime context for the workflow execution"
|
|
11505
|
+
},
|
|
11506
|
+
tracingOptions: {
|
|
11507
|
+
type: "object",
|
|
11508
|
+
description: "Tracing options for the workflow execution",
|
|
11509
|
+
properties: {
|
|
11510
|
+
metadata: {
|
|
11511
|
+
type: "object",
|
|
11512
|
+
description: "Custom metadata to attach to the trace",
|
|
11513
|
+
additionalProperties: true
|
|
11514
|
+
}
|
|
11515
|
+
}
|
|
11516
|
+
}
|
|
11517
|
+
}
|
|
11518
|
+
}
|
|
11519
|
+
}
|
|
11520
|
+
}
|
|
11521
|
+
}
|
|
11522
|
+
}),
|
|
11523
|
+
restartAsyncWorkflowHandler
|
|
11524
|
+
);
|
|
11525
|
+
router.post(
|
|
11526
|
+
"/:workflowId/restart-all-active-workflow-runs",
|
|
11527
|
+
bodyLimit(bodyLimitOptions),
|
|
11528
|
+
w({
|
|
11529
|
+
description: "Restart all active workflow runs",
|
|
11530
|
+
tags: ["workflows"],
|
|
11531
|
+
parameters: [
|
|
11532
|
+
{
|
|
11533
|
+
name: "workflowId",
|
|
11534
|
+
in: "path",
|
|
11535
|
+
required: true,
|
|
11536
|
+
schema: { type: "string" }
|
|
11537
|
+
}
|
|
11538
|
+
]
|
|
11539
|
+
}),
|
|
11540
|
+
restartAllActiveWorkflowRunsHandler2
|
|
11541
|
+
);
|
|
11542
|
+
router.post(
|
|
11543
|
+
"/:workflowId/restart-all-active-workflow-runs-async",
|
|
11544
|
+
bodyLimit(bodyLimitOptions),
|
|
11545
|
+
w({
|
|
11546
|
+
description: "Restart all active workflow runs asynchronously",
|
|
11547
|
+
tags: ["workflows"],
|
|
11548
|
+
parameters: [
|
|
11549
|
+
{
|
|
11550
|
+
name: "workflowId",
|
|
11551
|
+
in: "path",
|
|
11552
|
+
required: true,
|
|
11553
|
+
schema: { type: "string" }
|
|
11554
|
+
}
|
|
11555
|
+
]
|
|
11556
|
+
}),
|
|
11557
|
+
restartAllActiveWorkflowRunsAsyncHandler
|
|
11558
|
+
);
|
|
11077
11559
|
router.post(
|
|
11078
11560
|
"/:workflowId/stream-legacy",
|
|
11079
11561
|
w({
|
|
@@ -12057,6 +12539,15 @@ async function createHonoServer(mastra, options = {
|
|
|
12057
12539
|
middleware({ url: "/openapi.json" })
|
|
12058
12540
|
);
|
|
12059
12541
|
}
|
|
12542
|
+
if (options?.isDev) {
|
|
12543
|
+
app.post(
|
|
12544
|
+
"/__restart-active-workflow-runs",
|
|
12545
|
+
w({
|
|
12546
|
+
hide: true
|
|
12547
|
+
}),
|
|
12548
|
+
restartAllActiveWorkflowRunsHandler
|
|
12549
|
+
);
|
|
12550
|
+
}
|
|
12060
12551
|
if (options?.playground) {
|
|
12061
12552
|
app.get(
|
|
12062
12553
|
"/refresh-events",
|