@mastra/deployer 0.17.0 → 0.17.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @mastra/deployer
2
2
 
3
+ ## 0.17.1-alpha.0
4
+
5
+ ### Patch Changes
6
+
7
+ - fix workflow resuming issue in the playground ([#7988](https://github.com/mastra-ai/mastra/pull/7988))
8
+
9
+ - Updated dependencies [[`fd00e63`](https://github.com/mastra-ai/mastra/commit/fd00e63759cbcca3473c40cac9843280b0557cff), [`ab610f6`](https://github.com/mastra-ai/mastra/commit/ab610f6f41dbfe6c9502368671485ca7a0aac09b), [`e6bda5f`](https://github.com/mastra-ai/mastra/commit/e6bda5f954ee8493ea18adc1a883f0a5b785ad9b)]:
10
+ - @mastra/core@0.17.1-alpha.0
11
+ - @mastra/server@0.17.1-alpha.0
12
+
3
13
  ## 0.17.0
4
14
 
5
15
  ### Minor Changes
@@ -8,6 +8,7 @@ export declare function watchWorkflowHandler(c: Context): Response | Promise<Res
8
8
  export declare function streamWorkflowHandler(c: Context): Promise<Response>;
9
9
  export declare function observeStreamWorkflowHandler(c: Context): Promise<Response>;
10
10
  export declare function streamVNextWorkflowHandler(c: Context): Promise<Response>;
11
+ export declare function resumeStreamWorkflowHandler(c: Context): Promise<Response>;
11
12
  export declare function resumeAsyncWorkflowHandler(c: Context): Promise<Response>;
12
13
  export declare function resumeWorkflowHandler(c: Context): Promise<Response>;
13
14
  export declare function getWorkflowRunsHandler(c: Context): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/workflows/handlers.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,qBAYnD;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,qBActD;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO,qBAgBxD;AAED,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,OAAO,qBAoBzD;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,OAAO,qBAoBvD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,gCA4C9C;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBA6CrD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO,qBA6C5D;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,OAAO,qBA4C1D;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,OAAO,qBAwB1D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBAwBrD;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,qBAmBtD;AAED,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,OAAO,qBAezD;AAED,wBAAsB,oCAAoC,CAAC,CAAC,EAAE,OAAO,qBAepE;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO,qBAgBxD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAmB3D"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/workflows/handlers.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,qBAYnD;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,qBActD;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO,qBAgBxD;AAED,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,OAAO,qBAoBzD;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,OAAO,qBAoBvD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,gCA4C9C;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBA6CrD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO,qBA6C5D;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,OAAO,qBA6C1D;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBA4C3D;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,OAAO,qBAwB1D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBAwBrD;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,qBAmBtD;AAED,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,OAAO,qBAezD;AAED,wBAAsB,oCAAoC,CAAC,CAAC,EAAE,OAAO,qBAepE;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO,qBAgBxD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAmB3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/workflows/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+BvD,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,8EAq1BjE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/workflows/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgCvD,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,8EAq4BjE"}
@@ -9743,7 +9743,7 @@ async function streamVNextWorkflowHandler(c2) {
9743
9743
  const runtimeContext = c2.get("runtimeContext");
9744
9744
  const logger2 = mastra.getLogger();
9745
9745
  const workflowId = c2.req.param("workflowId");
9746
- const { inputData } = await c2.req.json();
9746
+ const { inputData, closeOnSuspend } = await c2.req.json();
9747
9747
  const runId = c2.req.query("runId");
9748
9748
  c2.header("Transfer-Encoding", "chunked");
9749
9749
  return streaming.stream(
@@ -9755,6 +9755,47 @@ async function streamVNextWorkflowHandler(c2) {
9755
9755
  workflowId,
9756
9756
  runId,
9757
9757
  inputData,
9758
+ runtimeContext,
9759
+ closeOnSuspend
9760
+ });
9761
+ const reader = result.getReader();
9762
+ stream7.onAbort(() => {
9763
+ void reader.cancel("request aborted");
9764
+ });
9765
+ let chunkResult;
9766
+ while ((chunkResult = await reader.read()) && !chunkResult.done) {
9767
+ await stream7.write(JSON.stringify(chunkResult.value) + "");
9768
+ }
9769
+ } catch (err) {
9770
+ logger2.error("Error in workflow VNext stream: " + (err?.message ?? "Unknown error"));
9771
+ }
9772
+ },
9773
+ async (err) => {
9774
+ logger2.error("Error in workflow VNext stream: " + err?.message);
9775
+ }
9776
+ );
9777
+ } catch (error) {
9778
+ return handleError(error, "Error streaming workflow");
9779
+ }
9780
+ }
9781
+ async function resumeStreamWorkflowHandler(c2) {
9782
+ try {
9783
+ const mastra = c2.get("mastra");
9784
+ const runtimeContext = c2.get("runtimeContext");
9785
+ const logger2 = mastra.getLogger();
9786
+ const workflowId = c2.req.param("workflowId");
9787
+ const { step, resumeData } = await c2.req.json();
9788
+ const runId = c2.req.query("runId");
9789
+ c2.header("Transfer-Encoding", "chunked");
9790
+ return streaming.stream(
9791
+ c2,
9792
+ async (stream7) => {
9793
+ try {
9794
+ const result = await workflows.resumeStreamWorkflowHandler({
9795
+ mastra,
9796
+ workflowId,
9797
+ runId,
9798
+ body: { step, resumeData },
9758
9799
  runtimeContext
9759
9800
  });
9760
9801
  const reader = result.getReader();
@@ -10528,6 +10569,49 @@ function workflowsRouter(bodyLimitOptions) {
10528
10569
  }),
10529
10570
  resumeWorkflowHandler
10530
10571
  );
10572
+ router.post(
10573
+ "/:workflowId/resume-stream",
10574
+ w({
10575
+ description: "Resume a suspended workflow that uses streamVNext",
10576
+ tags: ["workflows"],
10577
+ parameters: [
10578
+ {
10579
+ name: "workflowId",
10580
+ in: "path",
10581
+ required: true,
10582
+ schema: { type: "string" }
10583
+ },
10584
+ {
10585
+ name: "runId",
10586
+ in: "query",
10587
+ required: true,
10588
+ schema: { type: "string" }
10589
+ }
10590
+ ],
10591
+ requestBody: {
10592
+ required: true,
10593
+ content: {
10594
+ "application/json": {
10595
+ schema: {
10596
+ type: "object",
10597
+ properties: {
10598
+ step: {
10599
+ oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }]
10600
+ },
10601
+ resumeData: { type: "object" },
10602
+ runtimeContext: {
10603
+ type: "object",
10604
+ description: "Runtime context for the workflow execution"
10605
+ }
10606
+ },
10607
+ required: ["step"]
10608
+ }
10609
+ }
10610
+ }
10611
+ }
10612
+ }),
10613
+ resumeStreamWorkflowHandler
10614
+ );
10531
10615
  router.post(
10532
10616
  "/:workflowId/resume-async",
10533
10617
  bodyLimit.bodyLimit(bodyLimitOptions),
@@ -10678,6 +10762,10 @@ function workflowsRouter(bodyLimitOptions) {
10678
10762
  runtimeContext: {
10679
10763
  type: "object",
10680
10764
  description: "Runtime context for the workflow execution"
10765
+ },
10766
+ closeOnSuspend: {
10767
+ type: "boolean",
10768
+ description: "Close the stream on suspend"
10681
10769
  }
10682
10770
  }
10683
10771
  }