@medusajs/workflows-sdk 0.1.5 → 0.1.6-next-20240425093236
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/helper/workflow-export.js +8 -2
- package/dist/helper/workflow-export.js.map +1 -1
- package/dist/medusa-workflow.d.ts +2 -2
- package/dist/medusa-workflow.js +3 -0
- package/dist/medusa-workflow.js.map +1 -1
- package/dist/utils/_playground.js +7 -1
- package/dist/utils/_playground.js.map +1 -1
- package/dist/utils/composer/create-step.js +63 -20
- package/dist/utils/composer/create-step.js.map +1 -1
- package/dist/utils/composer/create-workflow.d.ts +1 -1
- package/dist/utils/composer/helpers/resolve-value.js +3 -1
- package/dist/utils/composer/helpers/resolve-value.js.map +1 -1
- package/dist/utils/composer/hook.js +10 -9
- package/dist/utils/composer/hook.js.map +1 -1
- package/dist/utils/composer/type.d.ts +2 -1
- package/package.json +5 -5
|
@@ -19,7 +19,7 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
|
|
|
19
19
|
const originalCancel = flow.cancel.bind(flow);
|
|
20
20
|
const originalExecution = async (method, { throwOnError, resultFrom, isCancel = false }, ...args) => {
|
|
21
21
|
const transaction = await method.apply(method, args);
|
|
22
|
-
|
|
22
|
+
let errors = transaction.getErrors(orchestration_1.TransactionHandlerType.INVOKE);
|
|
23
23
|
const failedStatus = [orchestration_1.TransactionState.FAILED, orchestration_1.TransactionState.REVERTED];
|
|
24
24
|
const isCancelled = isCancel && transaction.getState() === orchestration_1.TransactionState.REVERTED;
|
|
25
25
|
if (!isCancelled &&
|
|
@@ -32,7 +32,13 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, dataPrepara
|
|
|
32
32
|
}
|
|
33
33
|
let result;
|
|
34
34
|
if (options?.wrappedInput) {
|
|
35
|
-
result =
|
|
35
|
+
result = (0, composer_1.resolveValue)(resultFrom, transaction.getContext());
|
|
36
|
+
if (result instanceof Promise) {
|
|
37
|
+
result = await result.catch((e) => {
|
|
38
|
+
errors ?? (errors = []);
|
|
39
|
+
errors.push(e);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
36
42
|
}
|
|
37
43
|
else {
|
|
38
44
|
result = transaction.getContext().invoke?.[resultFrom];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-export.js","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":";;;AAAA,2DAOgC;AAGhC,uDAAoD;AACpD,2CAAmD;AACnD,2BAAwB;AACxB,+BAA2B;AAC3B,wDAAmD;AACnD,gDAAgD;AAuIhD,SAAS,8BAA8B,CAKrC,EACA,UAAU,EACV,aAAa,EACb,eAAe,EACf,OAAO,EACP,SAAS,GASV;IAKC,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,0BAAY,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;KACF;IAED,MAAM,IAAI,GAAG,IAAI,6BAAa,CAAC,UAAU,EAAE,SAAU,CAAC,CAAA;IAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,2BAA2B,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvE,MAAM,2BAA2B,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE7C,MAAM,iBAAiB,GAAG,KAAK,EAC7B,MAAM,EACN,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,GAAG,KAAK,EAAE,EAC9C,GAAG,IAAI,EACP,EAAE;QACF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEpD,
|
|
1
|
+
{"version":3,"file":"workflow-export.js","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ import { LocalWorkflow } from "@medusajs/orchestration";
|
|
|
2
2
|
import { LoadedModule, MedusaContainer } from "@medusajs/types";
|
|
3
3
|
import { ExportedWorkflow } from "./helper";
|
|
4
4
|
export declare class MedusaWorkflow {
|
|
5
|
-
static workflows: Record<string, (container?: LoadedModule[] | MedusaContainer) => Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure"> & ExportedWorkflow>;
|
|
5
|
+
static workflows: Record<string, (container?: LoadedModule[] | MedusaContainer) => Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow>;
|
|
6
6
|
static registerWorkflow(workflowId: any, exportedWorkflow: any): void;
|
|
7
7
|
static getWorkflow(workflowId: any): (container?: MedusaContainer | {
|
|
8
8
|
__joinerConfig: import("@medusajs/types").ModuleJoinerConfig;
|
|
9
9
|
__definition: import("@medusajs/types").ModuleDefinition;
|
|
10
|
-
}[] | undefined) => Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure"> & ExportedWorkflow;
|
|
10
|
+
}[] | undefined) => Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow;
|
|
11
11
|
}
|
package/dist/medusa-workflow.js
CHANGED
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MedusaWorkflow = void 0;
|
|
4
4
|
class MedusaWorkflow {
|
|
5
5
|
static registerWorkflow(workflowId, exportedWorkflow) {
|
|
6
|
+
if (workflowId in MedusaWorkflow.workflows) {
|
|
7
|
+
throw new Error(`Workflow with id ${workflowId} already registered.`);
|
|
8
|
+
}
|
|
6
9
|
MedusaWorkflow.workflows[workflowId] = exportedWorkflow;
|
|
7
10
|
}
|
|
8
11
|
static getWorkflow(workflowId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"medusa-workflow.js","sourceRoot":"","sources":["../src/medusa-workflow.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAYzB,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB;QAClD,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAU;QAC3B,OAAO,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;;
|
|
1
|
+
{"version":3,"file":"medusa-workflow.js","sourceRoot":"","sources":["../src/medusa-workflow.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAYzB,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB;QAClD,IAAI,UAAU,IAAI,cAAc,CAAC,SAAS,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,sBAAsB,CAAC,CAAA;SACtE;QAED,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAU;QAC3B,OAAO,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;;AAtBH,wCAuBC;AAtBQ,wBAAS,GASZ,EAAE,CAAA;AAeR,MAAM,CAAC,cAAc,KAArB,MAAM,CAAC,cAAc,GAAK,cAAc,EAAA;AACxC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA"}
|
|
@@ -15,7 +15,13 @@ const workflow = (0, composer_1.createWorkflow)("workflow", function () {
|
|
|
15
15
|
step3();
|
|
16
16
|
return step2({ filters: { id: step1Res.step1 } });
|
|
17
17
|
});
|
|
18
|
-
workflow()
|
|
18
|
+
const workflow2 = (0, composer_1.createWorkflow)("workflow", function () {
|
|
19
|
+
const step1Res = step1();
|
|
20
|
+
step3();
|
|
21
|
+
workflow();
|
|
22
|
+
return step2({ filters: { id: step1Res.step1 } });
|
|
23
|
+
});
|
|
24
|
+
workflow2()
|
|
19
25
|
.run({})
|
|
20
26
|
.then((res) => {
|
|
21
27
|
console.log(res.result);
|
|
@@ -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;
|
|
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"}
|
|
@@ -24,20 +24,21 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
24
24
|
throw new Error("createStep must be used inside a createWorkflow definition");
|
|
25
25
|
}
|
|
26
26
|
const handler = {
|
|
27
|
-
invoke: async (
|
|
27
|
+
invoke: async (stepArguments) => {
|
|
28
|
+
const metadata = stepArguments.metadata;
|
|
29
|
+
const idempotencyKey = metadata.idempotency_key;
|
|
30
|
+
stepArguments.context.idempotencyKey = idempotencyKey;
|
|
28
31
|
const executionContext = {
|
|
29
|
-
workflowId:
|
|
30
|
-
stepName:
|
|
32
|
+
workflowId: metadata.model_id,
|
|
33
|
+
stepName: metadata.action,
|
|
31
34
|
action: "invoke",
|
|
32
|
-
idempotencyKey
|
|
33
|
-
attempt:
|
|
34
|
-
container:
|
|
35
|
-
metadata
|
|
36
|
-
context:
|
|
35
|
+
idempotencyKey,
|
|
36
|
+
attempt: metadata.attempt,
|
|
37
|
+
container: stepArguments.container,
|
|
38
|
+
metadata,
|
|
39
|
+
context: stepArguments.context,
|
|
37
40
|
};
|
|
38
|
-
const argInput = input
|
|
39
|
-
? await (0, helpers_1.resolveValue)(input, transactionContext)
|
|
40
|
-
: {};
|
|
41
|
+
const argInput = input ? await (0, helpers_1.resolveValue)(input, stepArguments) : {};
|
|
41
42
|
const stepResponse = await invokeFn.apply(this, [argInput, executionContext]);
|
|
42
43
|
const stepResponseJSON = stepResponse?.__type === utils_1.OrchestrationUtils.SymbolWorkflowStepResponse
|
|
43
44
|
? stepResponse.toJSON()
|
|
@@ -48,18 +49,21 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
48
49
|
};
|
|
49
50
|
},
|
|
50
51
|
compensate: compensateFn
|
|
51
|
-
? async (
|
|
52
|
+
? async (stepArguments) => {
|
|
53
|
+
const metadata = stepArguments.metadata;
|
|
54
|
+
const idempotencyKey = metadata.idempotency_key;
|
|
55
|
+
stepArguments.context.idempotencyKey = idempotencyKey;
|
|
52
56
|
const executionContext = {
|
|
53
|
-
workflowId:
|
|
54
|
-
stepName:
|
|
57
|
+
workflowId: metadata.model_id,
|
|
58
|
+
stepName: metadata.action,
|
|
55
59
|
action: "compensate",
|
|
56
|
-
idempotencyKey
|
|
57
|
-
attempt:
|
|
58
|
-
container:
|
|
59
|
-
metadata
|
|
60
|
-
context:
|
|
60
|
+
idempotencyKey,
|
|
61
|
+
attempt: metadata.attempt,
|
|
62
|
+
container: stepArguments.container,
|
|
63
|
+
metadata,
|
|
64
|
+
context: stepArguments.context,
|
|
61
65
|
};
|
|
62
|
-
const stepOutput =
|
|
66
|
+
const stepOutput = stepArguments.invoke[stepName]?.output;
|
|
63
67
|
const invokeResult = stepOutput?.__type ===
|
|
64
68
|
utils_1.OrchestrationUtils.SymbolWorkflowStepResponse
|
|
65
69
|
? stepOutput.compensateInput &&
|
|
@@ -73,6 +77,7 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
73
77
|
}
|
|
74
78
|
: undefined,
|
|
75
79
|
};
|
|
80
|
+
wrapAsyncHandler(stepConfig, handler);
|
|
76
81
|
stepConfig.uuid = (0, ulid_1.ulid)();
|
|
77
82
|
stepConfig.noCompensation = !compensateFn;
|
|
78
83
|
this.flow.addAction(stepName, stepConfig);
|
|
@@ -98,6 +103,44 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
98
103
|
return (0, proxy_1.proxify)(ret);
|
|
99
104
|
};
|
|
100
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* @internal
|
|
108
|
+
*
|
|
109
|
+
* Internal function to handle async steps to be automatically marked as completed after they are executed.
|
|
110
|
+
*
|
|
111
|
+
* @param stepConfig
|
|
112
|
+
* @param handle
|
|
113
|
+
*/
|
|
114
|
+
function wrapAsyncHandler(stepConfig, handle) {
|
|
115
|
+
if (stepConfig.async) {
|
|
116
|
+
if (typeof handle.invoke === "function") {
|
|
117
|
+
const originalInvoke = handle.invoke;
|
|
118
|
+
handle.invoke = async (stepArguments) => {
|
|
119
|
+
const response = (await originalInvoke(stepArguments));
|
|
120
|
+
if (response?.output?.__type !==
|
|
121
|
+
utils_1.OrchestrationUtils.SymbolWorkflowStepResponse) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
stepArguments.step.definition.backgroundExecution = true;
|
|
125
|
+
return response;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (stepConfig.compensateAsync) {
|
|
130
|
+
if (typeof handle.compensate === "function") {
|
|
131
|
+
const originalCompensate = handle.compensate;
|
|
132
|
+
handle.compensate = async (stepArguments) => {
|
|
133
|
+
const response = (await originalCompensate(stepArguments));
|
|
134
|
+
if (response?.output?.__type !==
|
|
135
|
+
utils_1.OrchestrationUtils.SymbolWorkflowStepResponse) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
stepArguments.step.definition.backgroundExecution = true;
|
|
139
|
+
return response;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
101
144
|
/**
|
|
102
145
|
* This function creates a {@link StepFunction} that can be used as a step in a workflow constructed by the {@link createWorkflow} function.
|
|
103
146
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-step.js","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"create-step.js","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ import { WorkflowData, WorkflowDataProperties } from "./type";
|
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
export type ReturnWorkflow<TData, TResult, THooks extends Record<string, Function>> = {
|
|
53
|
-
<TDataOverride = undefined, TResultOverride = undefined>(container?: LoadedModule[] | MedusaContainer): Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure"> & ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>;
|
|
53
|
+
<TDataOverride = undefined, TResultOverride = undefined>(container?: LoadedModule[] | MedusaContainer): Omit<LocalWorkflow, "run" | "registerStepSuccess" | "registerStepFailure" | "cancel"> & ExportedWorkflow<TData, TResult, TDataOverride, TResultOverride>;
|
|
54
54
|
} & THooks & {
|
|
55
55
|
getName: () => string;
|
|
56
56
|
} & {
|
|
@@ -31,7 +31,6 @@ async function resolveProperty(property, transactionContext) {
|
|
|
31
31
|
* @internal
|
|
32
32
|
*/
|
|
33
33
|
async function resolveValue(input, transactionContext) {
|
|
34
|
-
const copiedInput = (0, utils_1.deepCopy)(input);
|
|
35
34
|
const unwrapInput = async (inputTOUnwrap, parentRef) => {
|
|
36
35
|
if (inputTOUnwrap == null) {
|
|
37
36
|
return inputTOUnwrap;
|
|
@@ -50,6 +49,9 @@ async function resolveValue(input, transactionContext) {
|
|
|
50
49
|
}
|
|
51
50
|
return parentRef;
|
|
52
51
|
};
|
|
52
|
+
const copiedInput = input?.__type === utils_1.OrchestrationUtils.SymbolWorkflowWorkflowData
|
|
53
|
+
? (0, utils_1.deepCopy)(input.output)
|
|
54
|
+
: (0, utils_1.deepCopy)(input);
|
|
53
55
|
const result = copiedInput?.__type
|
|
54
56
|
? await resolveProperty(copiedInput, transactionContext)
|
|
55
57
|
: await unwrapInput(copiedInput, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-value.js","sourceRoot":"","sources":["../../../../src/utils/composer/helpers/resolve-value.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;AAE1E,KAAK,UAAU,eAAe,CAAC,QAAQ,EAAE,kBAAkB;IACzD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAA;IAEhD,IAAI,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,oBAAoB,EAAE;QAChE,OAAO,kBAAkB,CAAC,OAAO,CAAA;KAClC;SAAM,IACL,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,6BAA6B,EACrE;QACA,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;KACrD;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,kBAAkB,EAAE;QACrE,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;KAClD;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,kBAAkB,EAAE;QACrE,MAAM,MAAM,GACV,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtE,IAAI,MAAM,EAAE,MAAM,KAAK,0BAAkB,CAAC,0BAA0B,EAAE;YACpE,OAAO,MAAM,CAAC,MAAM,CAAA;SACrB;QAED,OAAO,MAAM,CAAA;KACd;SAAM,IACL,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,0BAA0B,EAClE;QACA,OAAO,QAAQ,CAAC,MAAM,CAAA;KACvB;SAAM;QACL,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,KAAK,EAAE,kBAAkB;IAC1D,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"resolve-value.js","sourceRoot":"","sources":["../../../../src/utils/composer/helpers/resolve-value.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;AAE1E,KAAK,UAAU,eAAe,CAAC,QAAQ,EAAE,kBAAkB;IACzD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAA;IAEhD,IAAI,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,oBAAoB,EAAE;QAChE,OAAO,kBAAkB,CAAC,OAAO,CAAA;KAClC;SAAM,IACL,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,6BAA6B,EACrE;QACA,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;KACrD;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,kBAAkB,EAAE;QACrE,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;KAClD;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,kBAAkB,EAAE;QACrE,MAAM,MAAM,GACV,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtE,IAAI,MAAM,EAAE,MAAM,KAAK,0BAAkB,CAAC,0BAA0B,EAAE;YACpE,OAAO,MAAM,CAAC,MAAM,CAAA;SACrB;QAED,OAAO,MAAM,CAAA;KACd;SAAM,IACL,QAAQ,EAAE,MAAM,KAAK,0BAAkB,CAAC,0BAA0B,EAClE;QACA,OAAO,QAAQ,CAAC,MAAM,CAAA;KACvB;SAAM;QACL,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,KAAK,EAAE,kBAAkB;IAC1D,MAAM,WAAW,GAAG,KAAK,EACvB,aAAsC,EACtC,SAAc,EACd,EAAE;QACF,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,OAAO,aAAa,CAAA;SACrB;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAChC,OAAO,MAAM,IAAA,kBAAU,EACrB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAC9D,CAAA;SACF;QAED,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,OAAO,aAAa,CAAA;SACrB;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC5C,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,eAAe,CACpC,aAAa,CAAC,GAAG,CAAC,EAClB,kBAAkB,CACnB,CAAA;YAED,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACtC,MAAM,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;aAClD;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,WAAW,GACf,KAAK,EAAE,MAAM,KAAK,0BAAkB,CAAC,0BAA0B;QAC7D,CAAC,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAErB,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM;QAChC,CAAC,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC;QACxD,CAAC,CAAC,MAAM,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAEtC,OAAO,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;AACrD,CAAC;AA3CD,oCA2CC"}
|
|
@@ -100,20 +100,21 @@ value) {
|
|
|
100
100
|
return hookBinder(name, function (context) {
|
|
101
101
|
return {
|
|
102
102
|
__value: async function (transactionContext) {
|
|
103
|
+
const metadata = transactionContext.metadata;
|
|
104
|
+
const idempotencyKey = metadata.idempotency_key;
|
|
105
|
+
transactionContext.context.idempotencyKey = idempotencyKey;
|
|
103
106
|
const executionContext = {
|
|
104
|
-
workflowId:
|
|
105
|
-
stepName:
|
|
106
|
-
action:
|
|
107
|
-
idempotencyKey
|
|
108
|
-
attempt:
|
|
107
|
+
workflowId: metadata.model_id,
|
|
108
|
+
stepName: metadata.action,
|
|
109
|
+
action: metadata.action_type,
|
|
110
|
+
idempotencyKey,
|
|
111
|
+
attempt: metadata.attempt,
|
|
109
112
|
container: transactionContext.container,
|
|
110
|
-
metadata
|
|
113
|
+
metadata,
|
|
111
114
|
context: transactionContext.context,
|
|
112
115
|
};
|
|
113
116
|
const allValues = await (0, helpers_1.resolveValue)(value, transactionContext);
|
|
114
|
-
const stepValue = allValues
|
|
115
|
-
? JSON.parse(JSON.stringify(allValues))
|
|
116
|
-
: allValues;
|
|
117
|
+
const stepValue = allValues ? (0, utils_1.deepCopy)(allValues) : allValues;
|
|
117
118
|
let finalResult;
|
|
118
119
|
const functions = context.hooksCallback_[name];
|
|
119
120
|
for (let i = 0; i < functions.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/utils/composer/hook.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/utils/composer/hook.ts"],"names":[],"mappings":";;;AACA,2CAA8D;AAC9D,uCAAwC;AAOxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,SAAgB,IAAI;AAClB;;GAEG;AACH,IAAY;AACZ;;GAEG;AACH,KAAU;IAEV,MAAM,UAAU,GACd,MAAM,CACJ,0BAAkB,CAAC,mCAAmC,CAEzD,CAAC,UAAU,CAAA;IAEZ,OAAO,UAAU,CAAC,IAAI,EAAE,UAAU,OAAO;QACvC,OAAO;YACL,OAAO,EAAE,KAAK,WACZ,kBAAgD;gBAEhD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAA;gBAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAA;gBAE/C,kBAAkB,CAAC,OAAQ,CAAC,cAAc,GAAG,cAAc,CAAA;gBAE3D,MAAM,gBAAgB,GAAyB;oBAC7C,UAAU,EAAE,QAAQ,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,QAAQ,CAAC,MAAM;oBACzB,MAAM,EAAE,QAAQ,CAAC,WAAW;oBAC5B,cAAc;oBACd,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,SAAS,EAAE,kBAAkB,CAAC,SAAS;oBACvC,QAAQ;oBACR,OAAO,EAAE,kBAAkB,CAAC,OAAQ;iBACrC,CAAA;gBAED,MAAM,SAAS,GAAG,MAAM,IAAA,sBAAY,EAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;gBAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAE7D,IAAI,WAAW,CAAA;gBACf,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;oBACvB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;oBAC7C,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAA;iBAC1D;gBACD,OAAO,WAAW,CAAA;YACpB,CAAC;YACD,MAAM,EAAE,0BAAkB,CAAC,kBAAkB;SAC9C,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AApDD,oBAoDC"}
|
|
@@ -6,13 +6,14 @@ type StepFunctionReturnConfig<TOutput> = {
|
|
|
6
6
|
name?: string;
|
|
7
7
|
} & Omit<TransactionStepsDefinition, "next" | "uuid" | "action">): WorkflowData<TOutput>;
|
|
8
8
|
};
|
|
9
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
9
10
|
/**
|
|
10
11
|
* A step function to be used in a workflow.
|
|
11
12
|
*
|
|
12
13
|
* @typeParam TInput - The type of the input of the step.
|
|
13
14
|
* @typeParam TOutput - The type of the output of the step.
|
|
14
15
|
*/
|
|
15
|
-
export type StepFunction<TInput, TOutput = unknown> = (
|
|
16
|
+
export type StepFunction<TInput, TOutput = unknown> = (KeysOfUnion<TInput> extends [] ? {
|
|
16
17
|
(): WorkflowData<TOutput> & StepFunctionReturnConfig<TOutput>;
|
|
17
18
|
} : {
|
|
18
19
|
(input: WorkflowData<TInput> | TInput): WorkflowData<TOutput> & StepFunctionReturnConfig<TOutput>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/workflows-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6-next-20240425093236",
|
|
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": "
|
|
24
|
+
"@medusajs/types": "1.12.0-next-20240425093236",
|
|
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": "
|
|
33
|
-
"@medusajs/orchestration": "
|
|
34
|
-
"@medusajs/utils": "
|
|
32
|
+
"@medusajs/modules-sdk": "1.12.11-next-20240425093236",
|
|
33
|
+
"@medusajs/orchestration": "0.5.7-next-20240425093236",
|
|
34
|
+
"@medusajs/utils": "1.12.0-next-20240425093236",
|
|
35
35
|
"awilix": "^8.0.1",
|
|
36
36
|
"ulid": "^2.3.0"
|
|
37
37
|
},
|