@medusajs/workflows-sdk 0.1.6 → 0.1.7-next-20240505114610

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.
@@ -2,3 +2,4 @@ export * from "./merge-data";
2
2
  export * from "./empty-handler";
3
3
  export * from "./pipe";
4
4
  export * from "./workflow-export";
5
+ export * from "./type";
@@ -18,4 +18,5 @@ __exportStar(require("./merge-data"), exports);
18
18
  __exportStar(require("./empty-handler"), exports);
19
19
  __exportStar(require("./pipe"), exports);
20
20
  __exportStar(require("./workflow-export"), exports);
21
+ __exportStar(require("./type"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helper/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,kDAA+B;AAC/B,yCAAsB;AACtB,oDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helper/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,kDAA+B;AAC/B,yCAAsB;AACtB,oDAAiC;AACjC,yCAAsB"}
@@ -0,0 +1,58 @@
1
+ import { Context, LoadedModule, MedusaContainer } from "@medusajs/types";
2
+ import { DistributedTransaction, DistributedTransactionEvents, LocalWorkflow, TransactionStepError } from "@medusajs/orchestration";
3
+ export type FlowRunOptions<TData = unknown> = {
4
+ input?: TData;
5
+ context?: Context;
6
+ resultFrom?: string | string[] | Symbol;
7
+ throwOnError?: boolean;
8
+ events?: DistributedTransactionEvents;
9
+ container?: LoadedModule[] | MedusaContainer;
10
+ };
11
+ export type FlowRegisterStepSuccessOptions<TData = unknown> = {
12
+ idempotencyKey: string;
13
+ response?: TData;
14
+ context?: Context;
15
+ resultFrom?: string | string[] | Symbol;
16
+ throwOnError?: boolean;
17
+ events?: DistributedTransactionEvents;
18
+ container?: LoadedModule[] | MedusaContainer;
19
+ };
20
+ export type FlowRegisterStepFailureOptions<TData = unknown> = {
21
+ idempotencyKey: string;
22
+ response?: TData;
23
+ context?: Context;
24
+ resultFrom?: string | string[] | Symbol;
25
+ throwOnError?: boolean;
26
+ events?: DistributedTransactionEvents;
27
+ container?: LoadedModule[] | MedusaContainer;
28
+ };
29
+ export type FlowCancelOptions = {
30
+ transaction?: DistributedTransaction;
31
+ transactionId?: string;
32
+ context?: Context;
33
+ throwOnError?: boolean;
34
+ events?: DistributedTransactionEvents;
35
+ container?: LoadedModule[] | MedusaContainer;
36
+ };
37
+ export type WorkflowResult<TResult = unknown> = {
38
+ errors: TransactionStepError[];
39
+ transaction: DistributedTransaction;
40
+ result: TResult;
41
+ };
42
+ export type ExportedWorkflow<TData = unknown, TResult = unknown, TDataOverride = undefined, TResultOverride = undefined> = {
43
+ run: (args?: FlowRunOptions<TDataOverride extends undefined ? TData : TDataOverride>) => Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
44
+ registerStepSuccess: (args?: FlowRegisterStepSuccessOptions<TDataOverride extends undefined ? TData : TDataOverride>) => Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
45
+ registerStepFailure: (args?: FlowRegisterStepFailureOptions<TDataOverride extends undefined ? TData : TDataOverride>) => Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
46
+ cancel: (args?: FlowCancelOptions) => Promise<WorkflowResult>;
47
+ };
48
+ export type MainExportedWorkflow<TData = unknown, TResult = unknown> = {
49
+ <TDataOverride = undefined, TResultOverride = undefined>(container?: LoadedModule[] | MedusaContainer): Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>;
50
+ } & {
51
+ /**
52
+ * You can also directly call run, registerStepSuccess, registerStepFailure and cancel on the exported workflow
53
+ */
54
+ run<TDataOverride = undefined, TResultOverride = undefined>(args?: FlowRunOptions<TDataOverride extends undefined ? TData : TDataOverride>): Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
55
+ registerStepSuccess<TDataOverride = undefined, TResultOverride = undefined>(args?: FlowRegisterStepSuccessOptions<TDataOverride extends undefined ? TData : TDataOverride>): Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
56
+ registerStepFailure<TDataOverride = undefined, TResultOverride = undefined>(args?: FlowRegisterStepFailureOptions<TDataOverride extends undefined ? TData : TDataOverride>): Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
57
+ cancel(args?: FlowCancelOptions): Promise<WorkflowResult>;
58
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/helper/type.ts"],"names":[],"mappings":""}
@@ -1,64 +1,4 @@
1
- import { DistributedTransaction, DistributedTransactionEvents, LocalWorkflow, TransactionStepError } from "@medusajs/orchestration";
2
- import { Context, LoadedModule, MedusaContainer } from "@medusajs/types";
3
- export type FlowRunOptions<TData = unknown> = {
4
- input?: TData;
5
- context?: Context;
6
- resultFrom?: string | string[] | Symbol;
7
- throwOnError?: boolean;
8
- events?: DistributedTransactionEvents;
9
- };
10
- export type FlowRegisterStepSuccessOptions<TData = unknown> = {
11
- idempotencyKey: string;
12
- response?: TData;
13
- context?: Context;
14
- resultFrom?: string | string[] | Symbol;
15
- throwOnError?: boolean;
16
- events?: DistributedTransactionEvents;
17
- };
18
- export type FlowRegisterStepFailureOptions<TData = unknown> = {
19
- idempotencyKey: string;
20
- response?: TData;
21
- context?: Context;
22
- resultFrom?: string | string[] | Symbol;
23
- throwOnError?: boolean;
24
- events?: DistributedTransactionEvents;
25
- };
26
- export type FlowCancelOptions = {
27
- transaction?: DistributedTransaction;
28
- transactionId?: string;
29
- context?: Context;
30
- throwOnError?: boolean;
31
- events?: DistributedTransactionEvents;
32
- };
33
- export type WorkflowResult<TResult = unknown> = {
34
- errors: TransactionStepError[];
35
- transaction: DistributedTransaction;
36
- result: TResult;
37
- };
38
- export type ExportedWorkflow<TData = unknown, TResult = unknown, TDataOverride = undefined, TResultOverride = undefined> = {
39
- run: (args?: FlowRunOptions<TDataOverride extends undefined ? TData : TDataOverride>) => Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
40
- registerStepSuccess: (args?: FlowRegisterStepSuccessOptions<TDataOverride extends undefined ? TData : TDataOverride>) => Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
41
- registerStepFailure: (args?: FlowRegisterStepFailureOptions<TDataOverride extends undefined ? TData : TDataOverride>) => Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
42
- cancel: (args?: FlowCancelOptions) => Promise<WorkflowResult>;
43
- };
44
- export type MainExportedWorkflow<TData = unknown, TResult = unknown> = {
45
- <TDataOverride = undefined, TResultOverride = undefined>(container?: LoadedModule[] | MedusaContainer): Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>;
46
- /**
47
- * You can also directly call run, registerStepSuccess, registerStepFailure and cancel on the exported workflow
48
- */
49
- run<TDataOverride = undefined, TResultOverride = undefined>(args?: FlowRunOptions<TDataOverride extends undefined ? TData : TDataOverride> & {
50
- container?: LoadedModule[] | MedusaContainer;
51
- }): Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
52
- registerStepSuccess<TDataOverride = undefined, TResultOverride = undefined>(args?: FlowRegisterStepSuccessOptions<TDataOverride extends undefined ? TData : TDataOverride> & {
53
- container?: LoadedModule[] | MedusaContainer;
54
- }): Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
55
- registerStepFailure<TDataOverride = undefined, TResultOverride = undefined>(args?: FlowRegisterStepFailureOptions<TDataOverride extends undefined ? TData : TDataOverride> & {
56
- container?: LoadedModule[] | MedusaContainer;
57
- }): Promise<WorkflowResult<TResultOverride extends undefined ? TResult : TResultOverride>>;
58
- cancel(args?: FlowCancelOptions & {
59
- container?: LoadedModule[] | MedusaContainer;
60
- }): Promise<WorkflowResult>;
61
- };
1
+ import { MainExportedWorkflow } from "./type";
62
2
  export declare const exportWorkflow: <TData = unknown, TResult = unknown>(workflowId: string, defaultResult?: string | Symbol, dataPreparation?: ((data: TData) => Promise<unknown>) | undefined, options?: {
63
3
  wrappedInput?: boolean;
64
4
  }) => MainExportedWorkflow<TData, TResult>;
@@ -9,15 +9,18 @@ const ulid_1 = require("ulid");
9
9
  const medusa_workflow_1 = require("../medusa-workflow");
10
10
  const composer_1 = require("../utils/composer");
11
11
  function createContextualWorkflowRunner({ workflowId, defaultResult, dataPreparation, options, container, }) {
12
- if (!container) {
13
- container = modules_sdk_1.MedusaModule.getLoadedModules().map((mod) => Object.values(mod)[0]);
14
- }
15
12
  const flow = new orchestration_1.LocalWorkflow(workflowId, container);
16
13
  const originalRun = flow.run.bind(flow);
17
14
  const originalRegisterStepSuccess = flow.registerStepSuccess.bind(flow);
18
15
  const originalRegisterStepFailure = flow.registerStepFailure.bind(flow);
19
16
  const originalCancel = flow.cancel.bind(flow);
20
- const originalExecution = async (method, { throwOnError, resultFrom, isCancel = false }, ...args) => {
17
+ const originalExecution = async (method, { throwOnError, resultFrom, isCancel = false, container: executionContainer, }, ...args) => {
18
+ if (!executionContainer && !flow.container) {
19
+ executionContainer = modules_sdk_1.MedusaModule.getLoadedModules().map((mod) => Object.values(mod)[0]);
20
+ }
21
+ if (!flow.container) {
22
+ flow.container = executionContainer;
23
+ }
21
24
  const transaction = await method.apply(method, args);
22
25
  let errors = transaction.getErrors(orchestration_1.TransactionHandlerType.INVOKE);
23
26
  const failedStatus = [orchestration_1.TransactionState.FAILED, orchestration_1.TransactionState.REVERTED];
@@ -49,7 +52,7 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
49
52
  result,
50
53
  };
51
54
  };
52
- const newRun = async ({ input, context: outerContext, throwOnError, resultFrom, events, } = {
55
+ const newRun = async ({ input, context: outerContext, throwOnError, resultFrom, events, container, } = {
53
56
  throwOnError: true,
54
57
  resultFrom: defaultResult,
55
58
  }) => {
@@ -74,10 +77,10 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
74
77
  };
75
78
  }
76
79
  }
77
- return await originalExecution(originalRun, { throwOnError, resultFrom }, context.transactionId, input, context, events);
80
+ return await originalExecution(originalRun, { throwOnError, resultFrom, container }, context.transactionId, input, context, events);
78
81
  };
79
82
  flow.run = newRun;
80
- const newRegisterStepSuccess = async ({ response, idempotencyKey, context: outerContext, throwOnError, resultFrom, events, } = {
83
+ const newRegisterStepSuccess = async ({ response, idempotencyKey, context: outerContext, throwOnError, resultFrom, events, container, } = {
81
84
  idempotencyKey: "",
82
85
  throwOnError: true,
83
86
  resultFrom: defaultResult,
@@ -90,10 +93,10 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
90
93
  transactionId,
91
94
  __type: utils_1.MedusaContextType,
92
95
  };
93
- return await originalExecution(originalRegisterStepSuccess, { throwOnError, resultFrom }, idempotencyKey, response, context, events);
96
+ return await originalExecution(originalRegisterStepSuccess, { throwOnError, resultFrom, container }, idempotencyKey, response, context, events);
94
97
  };
95
98
  flow.registerStepSuccess = newRegisterStepSuccess;
96
- const newRegisterStepFailure = async ({ response, idempotencyKey, context: outerContext, throwOnError, resultFrom, events, } = {
99
+ const newRegisterStepFailure = async ({ response, idempotencyKey, context: outerContext, throwOnError, resultFrom, events, container, } = {
97
100
  idempotencyKey: "",
98
101
  throwOnError: true,
99
102
  resultFrom: defaultResult,
@@ -106,10 +109,10 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
106
109
  transactionId,
107
110
  __type: utils_1.MedusaContextType,
108
111
  };
109
- return await originalExecution(originalRegisterStepFailure, { throwOnError, resultFrom }, idempotencyKey, response, context, events);
112
+ return await originalExecution(originalRegisterStepFailure, { throwOnError, resultFrom, container }, idempotencyKey, response, context, events);
110
113
  };
111
114
  flow.registerStepFailure = newRegisterStepFailure;
112
- const newCancel = async ({ transaction, transactionId, context: outerContext, throwOnError, events, } = {
115
+ const newCancel = async ({ transaction, transactionId, context: outerContext, throwOnError, events, container, } = {
113
116
  throwOnError: true,
114
117
  }) => {
115
118
  throwOnError ?? (throwOnError = true);
@@ -122,13 +125,16 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
122
125
  throwOnError,
123
126
  resultFrom: undefined,
124
127
  isCancel: true,
128
+ container,
125
129
  }, transaction ?? transactionId, context, events);
126
130
  };
127
131
  flow.cancel = newCancel;
128
132
  return flow;
129
133
  }
130
134
  const exportWorkflow = (workflowId, defaultResult, dataPreparation, options) => {
131
- function exportedWorkflow(container) {
135
+ function exportedWorkflow(
136
+ // TODO: rm when all usage have been migrated
137
+ container) {
132
138
  return createContextualWorkflowRunner({
133
139
  workflowId,
134
140
  defaultResult,
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-export.js","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-export.js","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const composer_1 = require("./composer");
4
4
  const step1 = (0, composer_1.createStep)("step1", async (input, context) => {
5
- return new composer_1.StepResponse({ step1: ["step1"] });
5
+ return new composer_1.StepResponse({ step1: "step1" });
6
6
  });
7
7
  const step2 = (0, composer_1.createStep)("step2", async (input, context) => {
8
8
  return new composer_1.StepResponse({ step2: input });
@@ -10,16 +10,16 @@ const step2 = (0, composer_1.createStep)("step2", async (input, context) => {
10
10
  const step3 = (0, composer_1.createStep)("step3", async () => {
11
11
  return new composer_1.StepResponse({ step3: "step3" });
12
12
  });
13
- const workflow = (0, composer_1.createWorkflow)("workflow", function () {
14
- const step1Res = step1();
13
+ const workflow = (0, composer_1.createWorkflow)("sub-workflow", function (input) {
14
+ step1();
15
15
  step3();
16
- return step2({ filters: { id: step1Res.step1 } });
16
+ return step2({ filters: { id: input.outsideWorkflowData } });
17
17
  });
18
18
  const workflow2 = (0, composer_1.createWorkflow)("workflow", function () {
19
19
  const step1Res = step1();
20
20
  step3();
21
- workflow();
22
- return step2({ filters: { id: step1Res.step1 } });
21
+ const workflowRes = workflow.asStep({ outsideWorkflowData: step1Res.step1 });
22
+ return workflowRes;
23
23
  });
24
24
  workflow2()
25
25
  .run({})
@@ -1 +1 @@
1
- {"version":3,"file":"_playground.js","sourceRoot":"","sources":["../../src/utils/_playground.ts"],"names":[],"mappings":";;AAAA,yCAAqE;AAErE,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAS,EAAE,OAAO,EAAE,EAAE;IAC7D,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAGF,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAiB,EAAE,OAAO,EAAE,EAAE;IACrE,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3C,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE;IAC1C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,KAAK,EAAE,CAAA;IACP,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE;IAC3C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,KAAK,EAAE,CAAA;IACP,QAAQ,EAAE,CAAA;IACV,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA;AAEF,SAAS,EAAE;KACR,GAAG,CAAC,EAAE,CAAC;KACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;MAsBM"}
1
+ {"version":3,"file":"_playground.js","sourceRoot":"","sources":["../../src/utils/_playground.ts"],"names":[],"mappings":";;AAAA,yCAKmB;AAEnB,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAS,EAAE,OAAO,EAAE,EAAE;IAC7D,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAGF,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAiB,EAAE,OAAO,EAAE,EAAE;IACrE,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3C,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAC7B,cAAc,EACd,UAAU,KAAoD;IAC5D,KAAK,EAAE,CAAA;IACP,KAAK,EAAE,CAAA;IACP,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;AAC9D,CAAC,CACF,CAAA;AAED,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE;IAC3C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,KAAK,EAAE,CAAA;IAEP,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IAE5E,OAAO,WAAW,CAAA;AACpB,CAAC,CAAC,CAAA;AAEF,SAAS,EAAE;KACR,GAAG,CAAC,EAAE,CAAC;KACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;MAsBM"}
@@ -1,68 +1,5 @@
1
- import { LocalWorkflow, TransactionModelOptions } from "@medusajs/orchestration";
2
- import { LoadedModule, MedusaContainer } from "@medusajs/types";
3
- import { ExportedWorkflow } from "../../helper";
4
- import { WorkflowData, WorkflowDataProperties } from "./type";
5
- /**
6
- * An exported workflow, which is the type of a workflow constructed by the {@link createWorkflow} function. The exported workflow can be invoked to create
7
- * an executable workflow, optionally within a specified container. So, to execute the workflow, you must invoke the exported workflow, then run the
8
- * `run` method of the exported workflow.
9
- *
10
- * @example
11
- * To execute a workflow:
12
- *
13
- * ```ts
14
- * myWorkflow()
15
- * .run({
16
- * input: {
17
- * name: "John"
18
- * }
19
- * })
20
- * .then(({ result }) => {
21
- * console.log(result)
22
- * })
23
- * ```
24
- *
25
- * To specify the container of the workflow, you can pass it as an argument to the call of the exported workflow. This is necessary when executing the workflow
26
- * within a Medusa resource such as an API Route or a Subscriber.
27
- *
28
- * For example:
29
- *
30
- * ```ts
31
- * import type {
32
- * MedusaRequest,
33
- * MedusaResponse
34
- * } from "@medusajs/medusa";
35
- * import myWorkflow from "../../../workflows/hello-world";
36
- *
37
- * export async function GET(
38
- * req: MedusaRequest,
39
- * res: MedusaResponse
40
- * ) {
41
- * const { result } = await myWorkflow(req.scope)
42
- * .run({
43
- * input: {
44
- * name: req.query.name as string
45
- * }
46
- * })
47
- *
48
- * res.send(result)
49
- * }
50
- * ```
51
- */
52
- export type ReturnWorkflow<TData, TResult, THooks extends Record<string, Function>> = {
53
- <TDataOverride = undefined, TResultOverride = undefined>(container?: LoadedModule[] | MedusaContainer): Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>;
54
- } & THooks & {
55
- getName: () => string;
56
- } & {
57
- config: (config: TransactionModelOptions) => void;
58
- };
59
- /**
60
- * Extract the raw type of the expected input data of a workflow.
61
- *
62
- * @example
63
- * type WorkflowInputData = UnwrapWorkflowInputDataType<typeof myWorkflow>
64
- */
65
- export type UnwrapWorkflowInputDataType<T extends ReturnWorkflow<any, any, any>> = T extends ReturnWorkflow<infer TData, infer R, infer THooks> ? TData : never;
1
+ import { TransactionModelOptions } from "@medusajs/orchestration";
2
+ import { ReturnWorkflow, WorkflowData, WorkflowDataProperties } from "./type";
66
3
  /**
67
4
  * This function creates a workflow with the provided name and a constructor function.
68
5
  * The constructor function builds the workflow from steps created by the {@link createStep} function.
@@ -5,6 +5,8 @@ const orchestration_1 = require("@medusajs/orchestration");
5
5
  const utils_1 = require("@medusajs/utils");
6
6
  const helper_1 = require("../../helper");
7
7
  const proxy_1 = require("./helpers/proxy");
8
+ const create_step_1 = require("./create-step");
9
+ const helpers_1 = require("./helpers");
8
10
  global[utils_1.OrchestrationUtils.SymbolMedusaWorkflowComposerContext] = null;
9
11
  /**
10
12
  * This function creates a workflow with the provided name and a constructor function.
@@ -132,6 +134,26 @@ composer) {
132
134
  };
133
135
  }
134
136
  mainFlow.getName = () => name;
137
+ mainFlow.run = mainFlow().run;
138
+ mainFlow.runAsStep = ({ input, }) => {
139
+ // TODO: Async sub workflow is not supported yet
140
+ // Info: Once the export workflow can fire the execution through the engine if loaded, the async workflow can be executed,
141
+ // the step would inherit the async configuration and subscribe to the onFinish event of the sub worklow and mark itself as success or failure
142
+ return (0, create_step_1.createStep)(`${name}-as-step`, async (stepInput, stepContext) => {
143
+ const { container, ...sharedContext } = stepContext;
144
+ const transaction = await workflow.run({
145
+ input: stepInput,
146
+ container,
147
+ context: sharedContext,
148
+ });
149
+ return new helpers_1.StepResponse(transaction.result, transaction);
150
+ }, async (transaction, { container }) => {
151
+ if (!transaction) {
152
+ return;
153
+ }
154
+ await workflow(container).cancel(transaction);
155
+ })(input);
156
+ };
135
157
  return mainFlow;
136
158
  }
137
159
  exports.createWorkflow = createWorkflow;
@@ -1 +1 @@
1
- {"version":3,"file":"create-workflow.js","sourceRoot":"","sources":["../../../src/utils/composer/create-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-workflow.js","sourceRoot":"","sources":["../../../src/utils/composer/create-workflow.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare class StepResponse<TOutput, TCompensateInput = TOutput> {
20
20
  /**
21
21
  * The output of the step.
22
22
  */
23
- output: TOutput,
23
+ output?: TOutput,
24
24
  /**
25
25
  * The input to be passed as a parameter to the step's compensation function. If not provided, the `output` will be provided instead.
26
26
  */
@@ -44,7 +44,9 @@ class StepResponse {
44
44
  _StepResponse___type.set(this, utils_1.OrchestrationUtils.SymbolWorkflowStepResponse);
45
45
  _StepResponse_output.set(this, void 0);
46
46
  _StepResponse_compensateInput.set(this, void 0);
47
- __classPrivateFieldSet(this, _StepResponse_output, output, "f");
47
+ if ((0, utils_1.isDefined)(output)) {
48
+ __classPrivateFieldSet(this, _StepResponse_output, output, "f");
49
+ }
48
50
  __classPrivateFieldSet(this, _StepResponse_compensateInput, (compensateInput ?? output), "f");
49
51
  }
50
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"step-response.js","sourceRoot":"","sources":["../../../../src/utils/composer/helpers/step-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2DAAmE;AACnE,2CAAoD;AAEpD;;;;;;;GAOG;AACH,MAAa,YAAY;IAKvB;;;;;;;OAOG;IACH;IACE;;OAEG;IACH,MAAe;IACf;;OAEG;IACH,eAAkC;QApB3B,+BAAU,0BAAkB,CAAC,0BAA0B,EAAA;QACvD,uCAAgB;QAChB,gDAAmC;QAoB1C,uBAAA,IAAI,wBAAW,MAAM,MAAA,CAAA;QACrB,uBAAA,IAAI,iCAAoB,CAAC,eAAe,IAAI,MAAM,CAAqB,MAAA,CAAA;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,GAAG,mBAAmB;QACnD,MAAM,IAAI,yCAAyB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,4BAAQ,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,4BAAQ,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,uBAAA,IAAI,qCAAqC,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,uBAAA,IAAI,4BAAQ;YACpB,MAAM,EAAE,uBAAA,IAAI,4BAAQ;YACpB,eAAe,EAAE,uBAAA,IAAI,qCAAiB;SACvC,CAAA;IACH,CAAC;CACF;AAxID,oCAwIC"}
1
+ {"version":3,"file":"step-response.js","sourceRoot":"","sources":["../../../../src/utils/composer/helpers/step-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2DAAmE;AACnE,2CAA+D;AAE/D;;;;;;;GAOG;AACH,MAAa,YAAY;IAKvB;;;;;;;OAOG;IACH;IACE;;OAEG;IACH,MAAgB;IAChB;;OAEG;IACH,eAAkC;QApB3B,+BAAU,0BAAkB,CAAC,0BAA0B,EAAA;QACvD,uCAAgB;QAChB,gDAAmC;QAoB1C,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE;YACrB,uBAAA,IAAI,wBAAW,MAAM,MAAA,CAAA;SACtB;QACD,uBAAA,IAAI,iCAAoB,CAAC,eAAe,IAAI,MAAM,CAAqB,MAAA,CAAA;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,GAAG,mBAAmB;QACnD,MAAM,IAAI,yCAAyB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,4BAAQ,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,4BAAQ,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,uBAAA,IAAI,qCAAqC,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,uBAAA,IAAI,4BAAQ;YACpB,MAAM,EAAE,uBAAA,IAAI,4BAAQ;YACpB,eAAe,EAAE,uBAAA,IAAI,qCAAiB;SACvC,CAAA;IACH,CAAC;CACF;AA1ID,oCA0IC"}
@@ -1,5 +1,6 @@
1
- import { OrchestratorBuilder, TransactionContext as OriginalWorkflowTransactionContext, TransactionPayload, TransactionStepsDefinition, WorkflowHandler } from "@medusajs/orchestration";
2
- import { Context, MedusaContainer } from "@medusajs/types";
1
+ import { LocalWorkflow, OrchestratorBuilder, TransactionContext as OriginalWorkflowTransactionContext, TransactionModelOptions, TransactionPayload, TransactionStepsDefinition, WorkflowHandler } from "@medusajs/orchestration";
2
+ import { Context, LoadedModule, MedusaContainer } from "@medusajs/types";
3
+ import { ExportedWorkflow } from "../../helper";
3
4
  export type StepFunctionResult<TOutput extends unknown | unknown[] = unknown> = (this: CreateWorkflowComposerContext) => WorkflowData<TOutput>;
4
5
  type StepFunctionReturnConfig<TOutput> = {
5
6
  config(config: {
@@ -88,4 +89,68 @@ export type WorkflowTransactionContext = StepExecutionContext & OriginalWorkflow
88
89
  };
89
90
  };
90
91
  };
92
+ /**
93
+ * An exported workflow, which is the type of a workflow constructed by the {@link createWorkflow} function. The exported workflow can be invoked to create
94
+ * an executable workflow, optionally within a specified container. So, to execute the workflow, you must invoke the exported workflow, then run the
95
+ * `run` method of the exported workflow.
96
+ *
97
+ * @example
98
+ * To execute a workflow:
99
+ *
100
+ * ```ts
101
+ * myWorkflow()
102
+ * .run({
103
+ * input: {
104
+ * name: "John"
105
+ * }
106
+ * })
107
+ * .then(({ result }) => {
108
+ * console.log(result)
109
+ * })
110
+ * ```
111
+ *
112
+ * To specify the container of the workflow, you can pass it as an argument to the call of the exported workflow. This is necessary when executing the workflow
113
+ * within a Medusa resource such as an API Route or a Subscriber.
114
+ *
115
+ * For example:
116
+ *
117
+ * ```ts
118
+ * import type {
119
+ * MedusaRequest,
120
+ * MedusaResponse
121
+ * } from "@medusajs/medusa";
122
+ * import myWorkflow from "../../../workflows/hello-world";
123
+ *
124
+ * export async function GET(
125
+ * req: MedusaRequest,
126
+ * res: MedusaResponse
127
+ * ) {
128
+ * const { result } = await myWorkflow(req.scope)
129
+ * .run({
130
+ * input: {
131
+ * name: req.query.name as string
132
+ * }
133
+ * })
134
+ *
135
+ * res.send(result)
136
+ * }
137
+ * ```
138
+ */
139
+ export type ReturnWorkflow<TData, TResult, THooks extends Record<string, Function>> = {
140
+ <TDataOverride = undefined, TResultOverride = undefined>(container?: LoadedModule[] | MedusaContainer): Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>;
141
+ } & THooks & {
142
+ runAsStep: ({ input, }: {
143
+ input: TData;
144
+ }) => ReturnType<StepFunction<TData, TResult>>;
145
+ run: <TDataOverride = undefined, TResultOverride = undefined>(...args: Parameters<ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>["run"]>) => ReturnType<ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>["run"]>;
146
+ getName: () => string;
147
+ config: (config: TransactionModelOptions) => void;
148
+ };
149
+ /**
150
+ * Extract the raw type of the expected input data of a workflow.
151
+ *
152
+ * @example
153
+ * type WorkflowInputData = UnwrapWorkflowInputDataType<typeof myWorkflow>
154
+ */
155
+ export type UnwrapWorkflowInputDataType<T extends ReturnWorkflow<any, any, any>> = T extends ReturnWorkflow<infer TData, infer R, infer THooks> ? TData : never;
91
156
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/workflows-sdk",
3
- "version": "0.1.6",
3
+ "version": "0.1.7-next-20240505114610",
4
4
  "description": "Set of workflows tooling for Medusa",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "author": "Medusa",
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
- "@medusajs/types": "^1.11.16",
24
+ "@medusajs/types": "1.11.17-next-20240505114610",
25
25
  "cross-env": "^5.2.1",
26
26
  "jest": "^29.6.3",
27
27
  "rimraf": "^5.0.1",
@@ -29,9 +29,9 @@
29
29
  "typescript": "^5.1.6"
30
30
  },
31
31
  "dependencies": {
32
- "@medusajs/modules-sdk": "^1.12.11",
33
- "@medusajs/orchestration": "^0.5.7",
34
- "@medusajs/utils": "^1.11.9",
32
+ "@medusajs/modules-sdk": "1.12.12-next-20240505114610",
33
+ "@medusajs/orchestration": "0.5.8-next-20240505114610",
34
+ "@medusajs/utils": "1.11.10-next-20240505114610",
35
35
  "awilix": "^8.0.1",
36
36
  "ulid": "^2.3.0"
37
37
  },