@etohq/workflows-sdk 1.3.0 → 1.5.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/LICENSE +21 -0
- package/dist/helper/type.d.ts +6 -1
- package/dist/helper/type.d.ts.map +1 -1
- package/dist/helper/workflow-export.d.ts.map +1 -1
- package/dist/helper/workflow-export.js +7 -3
- package/dist/helper/workflow-export.js.map +1 -1
- package/dist/utils/_playground.js +29 -63
- package/dist/utils/_playground.js.map +1 -1
- package/dist/utils/composer/create-hook.d.ts +11 -3
- package/dist/utils/composer/create-hook.d.ts.map +1 -1
- package/dist/utils/composer/create-hook.js +33 -6
- package/dist/utils/composer/create-hook.js.map +1 -1
- package/dist/utils/composer/create-step.d.ts +24 -9
- package/dist/utils/composer/create-step.d.ts.map +1 -1
- package/dist/utils/composer/create-step.js +28 -14
- package/dist/utils/composer/create-step.js.map +1 -1
- package/dist/utils/composer/create-workflow.d.ts +2 -3
- package/dist/utils/composer/create-workflow.d.ts.map +1 -1
- package/dist/utils/composer/create-workflow.js +58 -22
- package/dist/utils/composer/create-workflow.js.map +1 -1
- package/dist/utils/composer/helpers/create-step-handler.d.ts.map +1 -1
- package/dist/utils/composer/helpers/create-step-handler.js +8 -1
- package/dist/utils/composer/helpers/create-step-handler.js.map +1 -1
- package/dist/utils/composer/helpers/resolve-value.d.ts.map +1 -1
- package/dist/utils/composer/helpers/resolve-value.js +4 -1
- package/dist/utils/composer/helpers/resolve-value.js.map +1 -1
- package/dist/utils/composer/helpers/step-response.d.ts.map +1 -1
- package/dist/utils/composer/helpers/step-response.js +1 -1
- package/dist/utils/composer/helpers/step-response.js.map +1 -1
- package/dist/utils/composer/helpers/workflow-response.d.ts +1 -1
- package/dist/utils/composer/helpers/workflow-response.d.ts.map +1 -1
- package/dist/utils/composer/helpers/workflow-response.js.map +1 -1
- package/dist/utils/composer/parallelize.d.ts +5 -4
- package/dist/utils/composer/parallelize.d.ts.map +1 -1
- package/dist/utils/composer/parallelize.js +4 -3
- package/dist/utils/composer/parallelize.js.map +1 -1
- package/dist/utils/composer/type.d.ts +32 -7
- package/dist/utils/composer/type.d.ts.map +1 -1
- package/dist/utils/composer/when.d.ts +1 -1
- package/dist/utils/composer/when.js +12 -1
- package/dist/utils/composer/when.js.map +1 -1
- package/package.json +31 -26
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Etohq
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/helper/type.d.ts
CHANGED
|
@@ -19,9 +19,14 @@ export type FlowRegisterStepFailureOptions<TData = unknown> = BaseFlowRunOptions
|
|
|
19
19
|
idempotencyKey: string;
|
|
20
20
|
response?: TData;
|
|
21
21
|
};
|
|
22
|
-
export type FlowCancelOptions =
|
|
22
|
+
export type FlowCancelOptions = {
|
|
23
23
|
transaction?: DistributedTransactionType;
|
|
24
24
|
transactionId?: string;
|
|
25
|
+
context?: Context;
|
|
26
|
+
throwOnError?: boolean;
|
|
27
|
+
logOnError?: boolean;
|
|
28
|
+
events?: DistributedTransactionEvents;
|
|
29
|
+
container?: LoadedModule[] | EtoContainer;
|
|
25
30
|
};
|
|
26
31
|
/**
|
|
27
32
|
* The details of a workflow's execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/helper/type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,aAAa,EACb,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAElE,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,4BAA4B,CAAA;IACrC,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,YAAY,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,OAAO,IAAI,kBAAkB,GAAG;IACjE,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,8BAA8B,CAAC,KAAK,GAAG,OAAO,IACxD,kBAAkB,GAAG;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAEH,MAAM,MAAM,8BAA8B,CAAC,KAAK,GAAG,OAAO,IACxD,kBAAkB,GAAG;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAEH,MAAM,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/helper/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-export.d.ts","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":"AAyBA,OAAO,EAML,oBAAoB,EAErB,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"workflow-export.d.ts","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":"AAyBA,OAAO,EAML,oBAAoB,EAErB,MAAM,QAAQ,CAAA;AAmTf,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAC/D,YAAY,MAAM,EAClB,gBAAgB,MAAM,GAAG,MAAM,EAC/B,UAAU;IACR,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,KACA,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAwJrC,CAAA"}
|
|
@@ -24,13 +24,17 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, options, co
|
|
|
24
24
|
if (executionContainer) {
|
|
25
25
|
flow.container = executionContainer;
|
|
26
26
|
}
|
|
27
|
-
const { eventGroupId, parentStepIdempotencyKey } = context;
|
|
28
|
-
|
|
27
|
+
const { eventGroupId, parentStepIdempotencyKey, preventReleaseEvents } = context;
|
|
28
|
+
if (!preventReleaseEvents) {
|
|
29
|
+
attachOnFinishReleaseEvents(events, flow, { logOnError });
|
|
30
|
+
}
|
|
29
31
|
const flowMetadata = {
|
|
30
32
|
eventGroupId,
|
|
31
33
|
parentStepIdempotencyKey,
|
|
32
34
|
sourcePath: options?.sourcePath,
|
|
35
|
+
preventReleaseEvents,
|
|
33
36
|
};
|
|
37
|
+
context.isCancelling = isCancel;
|
|
34
38
|
const args = [
|
|
35
39
|
transactionOrIdOrIdempotencyKey,
|
|
36
40
|
input,
|
|
@@ -86,7 +90,7 @@ function createContextualWorkflowRunner({ workflowId, defaultResult, options, co
|
|
|
86
90
|
...outerContext,
|
|
87
91
|
__type: utils_1.EtoContextType,
|
|
88
92
|
};
|
|
89
|
-
context.transactionId ??= (0, ulid_1.ulid)();
|
|
93
|
+
context.transactionId ??= "auto-" + (0, ulid_1.ulid)();
|
|
90
94
|
context.eventGroupId ??= (0, ulid_1.ulid)();
|
|
91
95
|
return await originalExecution(originalRun, {
|
|
92
96
|
throwOnError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-export.js","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":";;;AAAA,oDAA8C;AAC9C,wDAK6B;AAQ7B,wCAMqB;AACrB,2BAAwB;AACxB,+BAA2B;AAC3B,kDAA6C;AAC7C,2EAAsE;AAWtE,SAAS,8BAA8B,CAKrC,EACA,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,GASV;IAKC,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,EACE,YAAY,EACZ,UAAU,GAAG,KAAK,EAClB,UAAU,EACV,QAAQ,GAAG,KAAK,EAChB,SAAS,EAAE,kBAAkB,GAC9B,EACD,+BAAoE,EACpE,KAAc,EACd,OAAgB,EAChB,SAAmD,EAAE,EACrD,EAAE;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAyB,CAAA;YAEjD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;gBACzD,kBAAkB,GAAG,uBAAS,CAAC,gBAAgB,EAAE,CAAC,GAAG,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAA;QACrC,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"workflow-export.js","sourceRoot":"","sources":["../../src/helper/workflow-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,72 +3,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const composer_1 = require("./composer");
|
|
4
4
|
const create_hook_1 = require("./composer/create-hook");
|
|
5
5
|
const workflow_response_1 = require("./composer/helpers/workflow-response");
|
|
6
|
-
const step1 = (0, composer_1.createStep)("step1",
|
|
7
|
-
return new composer_1.StepResponse(
|
|
6
|
+
const step1 = (0, composer_1.createStep)("step1", () => {
|
|
7
|
+
return new composer_1.StepResponse("step1");
|
|
8
|
+
}, () => {
|
|
9
|
+
console.log("compensate step1");
|
|
8
10
|
});
|
|
9
|
-
const step2 = (0, composer_1.createStep)("step2",
|
|
10
|
-
return new composer_1.StepResponse(
|
|
11
|
+
const step2 = (0, composer_1.createStep)("step2", (input) => {
|
|
12
|
+
return new composer_1.StepResponse(input);
|
|
13
|
+
}, (input) => {
|
|
14
|
+
console.log("compensate step2", input);
|
|
11
15
|
});
|
|
12
|
-
const
|
|
13
|
-
|
|
16
|
+
const workflow = (0, composer_1.createWorkflow)("workflow", () => {
|
|
17
|
+
const step1Result = step1();
|
|
18
|
+
const step2Input = (0, composer_1.transform)({ step1Result }, (input) => {
|
|
19
|
+
return input;
|
|
20
|
+
});
|
|
21
|
+
const step2Result = step2(step2Input);
|
|
22
|
+
const hook = (0, create_hook_1.createHook)("hook", {
|
|
23
|
+
step2Result,
|
|
24
|
+
});
|
|
25
|
+
return new workflow_response_1.WorkflowResponse(void 0, {
|
|
26
|
+
hooks: [hook],
|
|
27
|
+
});
|
|
14
28
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
step2({ filters: { id: [] } });
|
|
18
|
-
const somethingHook = (0, create_hook_1.createHook)("something", { id: "1" });
|
|
19
|
-
step3();
|
|
20
|
-
return new workflow_response_1.WorkflowResponse({ id: 1 }, { hooks: [somethingHook] });
|
|
29
|
+
workflow.hooks.hook(() => {
|
|
30
|
+
throw new Error("hook failed");
|
|
21
31
|
});
|
|
22
|
-
workflow.hooks.something((input, context) => {
|
|
23
|
-
console.log("input>", input);
|
|
24
|
-
console.log("context>", context);
|
|
25
|
-
});
|
|
26
|
-
workflow.run().then((res) => {
|
|
27
|
-
console.log("res", res);
|
|
28
|
-
});
|
|
29
|
-
/*const workflow2 = createWorkflow("workflow", function () {
|
|
30
|
-
const step1Res = step1()
|
|
31
|
-
|
|
32
|
-
const step3Res = when({ value: true }, ({ value }) => {
|
|
33
|
-
return value
|
|
34
|
-
}).then(() => {
|
|
35
|
-
return step3()
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
transform({ step3Res }, ({ step3Res }) => {
|
|
39
|
-
console.log(step3Res)
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
const workflowRes = workflow.asStep({ outsideWorkflowData: step1Res.step1 })
|
|
43
|
-
|
|
44
|
-
return workflowRes
|
|
45
|
-
})*/
|
|
46
|
-
// workflow()
|
|
47
|
-
// .run({})
|
|
48
|
-
// .then((res) => {
|
|
49
|
-
// console.log(res.result)
|
|
50
|
-
// })
|
|
51
|
-
/*const step1 = createStep("step1", async (input: {}, context) => {
|
|
52
|
-
return new StepResponse({ step1: ["step1"] })
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
const step2 = createStep("step2", async (input: string[], context) => {
|
|
56
|
-
return new StepResponse({ step2: input })
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
const step3 = createStep("step3", async () => {
|
|
60
|
-
return new StepResponse({ step3: "step3" })
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
const workflow = createWorkflow("workflow", function () {
|
|
64
|
-
const step1Res = step1()
|
|
65
|
-
step3()
|
|
66
|
-
return step2(step1Res.step1)
|
|
67
|
-
})
|
|
68
|
-
|
|
69
32
|
workflow()
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
console.log(res
|
|
73
|
-
|
|
33
|
+
.run()
|
|
34
|
+
.then((res) => {
|
|
35
|
+
console.log(res);
|
|
36
|
+
})
|
|
37
|
+
.catch((e) => {
|
|
38
|
+
console.log(e);
|
|
39
|
+
});
|
|
74
40
|
//# sourceMappingURL=_playground.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_playground.js","sourceRoot":"","sources":["../../src/utils/_playground.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"_playground.js","sourceRoot":"","sources":["../../src/utils/_playground.ts"],"names":[],"mappings":";;AAAA,yCAAgF;AAChF,wDAAmD;AACnD,4EAAuE;AAEvE,MAAM,KAAK,GAAG,IAAA,qBAAU,EACtB,OAAO,EACP,GAAG,EAAE;IACH,OAAO,IAAI,uBAAY,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC,EACD,GAAG,EAAE;IACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AACjC,CAAC,CACF,CAAA;AAED,MAAM,KAAK,GAAG,IAAA,qBAAU,EACtB,OAAO,EACP,CAAC,KAAU,EAAE,EAAE;IACb,OAAO,IAAI,uBAAY,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;IACR,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;AACxC,CAAC,CACF,CAAA;AAED,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE,GAAG,EAAE;IAC/C,MAAM,WAAW,GAAG,KAAK,EAAE,CAAA;IAE3B,MAAM,UAAU,GAAG,IAAA,oBAAS,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;QACtD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IAErC,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,MAAM,EAAE;QAC9B,WAAW;KACZ,CAAC,CAAA;IAEF,OAAO,IAAI,oCAAgB,CAAC,KAAK,CAAC,EAAE;QAClC,KAAK,EAAE,CAAC,IAAI,CAAC;KACd,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;IACvB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAEF,QAAQ,EAAE;KACP,GAAG,EAAE;KACL,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
+
import { type ZodSchema } from "zod";
|
|
1
2
|
import { OrchestrationUtils } from "@etohq/utils";
|
|
2
3
|
/**
|
|
3
4
|
* Representation of a hook definition.
|
|
4
5
|
*/
|
|
5
|
-
export type Hook<Name extends string, Input> = {
|
|
6
|
+
export type Hook<Name extends string, Input, Output> = {
|
|
6
7
|
__type: typeof OrchestrationUtils.SymbolWorkflowHook;
|
|
7
8
|
name: Name;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the result of the hook
|
|
11
|
+
*/
|
|
12
|
+
getResult(): Output | undefined;
|
|
8
13
|
/**
|
|
9
14
|
* By prefixing a key with a space, we remove it from the
|
|
10
15
|
* intellisense of TypeScript. This is needed because
|
|
11
16
|
* input is not set at runtime. It is a type-only
|
|
12
17
|
* property to infer input data type of a hook
|
|
13
18
|
*/
|
|
19
|
+
" output": Output;
|
|
14
20
|
" input": Input;
|
|
15
21
|
};
|
|
16
22
|
/**
|
|
@@ -21,7 +27,7 @@ export type Hook<Name extends string, Input> = {
|
|
|
21
27
|
* Learn more in [this documentation](https://docs.etohq.com/learn/fundamentals/workflows/workflow-hooks).
|
|
22
28
|
*
|
|
23
29
|
* @param name - The hook's name. This is used when the hook handler is registered to consume the workflow.
|
|
24
|
-
* @param
|
|
30
|
+
* @param hookInput - The input to pass to the hook handler.
|
|
25
31
|
* @returns A workflow hook.
|
|
26
32
|
*
|
|
27
33
|
* @example
|
|
@@ -48,5 +54,7 @@ export type Hook<Name extends string, Input> = {
|
|
|
48
54
|
* }
|
|
49
55
|
* )
|
|
50
56
|
*/
|
|
51
|
-
export declare function createHook<Name extends string, TInvokeInput>(name: Name,
|
|
57
|
+
export declare function createHook<Name extends string, TInvokeInput, TInvokeOutput>(name: Name, hookInput: TInvokeInput, options?: {
|
|
58
|
+
resultValidator?: ZodSchema<TInvokeOutput>;
|
|
59
|
+
}): Hook<Name, TInvokeInput, TInvokeOutput>;
|
|
52
60
|
//# sourceMappingURL=create-hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-hook.d.ts","sourceRoot":"","sources":["../../../src/utils/composer/create-hook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-hook.d.ts","sourceRoot":"","sources":["../../../src/utils/composer/create-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAQjD;;GAEG;AACH,MAAM,MAAM,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI;IACrD,MAAM,EAAE,OAAO,kBAAkB,CAAC,kBAAkB,CAAA;IACpD,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS,CAAA;IAE/B;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAA;CAChB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,EAAE,aAAa,EACzE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,YAAY,EACvB,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;CACtC,GACL,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CA0EzC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createHook = createHook;
|
|
4
|
-
const create_step_1 = require("./create-step");
|
|
5
4
|
const utils_1 = require("@etohq/utils");
|
|
5
|
+
const create_step_1 = require("./create-step");
|
|
6
6
|
const create_step_handler_1 = require("./helpers/create-step-handler");
|
|
7
|
+
const helpers_1 = require("./helpers");
|
|
8
|
+
const NOOP_RESULT = Symbol.for("NOOP");
|
|
7
9
|
/**
|
|
8
10
|
* Expose a hook in your workflow where you can inject custom functionality as a step function.
|
|
9
11
|
*
|
|
@@ -12,7 +14,7 @@ const create_step_handler_1 = require("./helpers/create-step-handler");
|
|
|
12
14
|
* Learn more in [this documentation](https://docs.etohq.com/learn/fundamentals/workflows/workflow-hooks).
|
|
13
15
|
*
|
|
14
16
|
* @param name - The hook's name. This is used when the hook handler is registered to consume the workflow.
|
|
15
|
-
* @param
|
|
17
|
+
* @param hookInput - The input to pass to the hook handler.
|
|
16
18
|
* @returns A workflow hook.
|
|
17
19
|
*
|
|
18
20
|
* @example
|
|
@@ -39,24 +41,41 @@ const create_step_handler_1 = require("./helpers/create-step-handler");
|
|
|
39
41
|
* }
|
|
40
42
|
* )
|
|
41
43
|
*/
|
|
42
|
-
function createHook(name,
|
|
44
|
+
function createHook(name, hookInput, options = {}) {
|
|
43
45
|
const context = global[utils_1.OrchestrationUtils.SymbolEtoWorkflowComposerContext];
|
|
46
|
+
const getHookResultStep = (0, create_step_1.createStep)(`get-${name}-result`, (_, context) => {
|
|
47
|
+
const result = context[" getStepResult"](name);
|
|
48
|
+
if (result === NOOP_RESULT) {
|
|
49
|
+
return new helpers_1.StepResponse(undefined);
|
|
50
|
+
}
|
|
51
|
+
if (options.resultValidator) {
|
|
52
|
+
return options.resultValidator.parse(result);
|
|
53
|
+
}
|
|
54
|
+
if (result === undefined) {
|
|
55
|
+
return new helpers_1.StepResponse(undefined);
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}, () => void 0);
|
|
44
59
|
context.hookBinder(name, function () {
|
|
45
60
|
/**
|
|
46
61
|
* We start by registering a new step within the workflow. This will be a noop
|
|
47
62
|
* step that can be replaced (optionally) by the workflow consumer.
|
|
48
63
|
*/
|
|
49
|
-
(0, create_step_1.createStep)(name, (_) =>
|
|
64
|
+
(0, create_step_1.createStep)(name, (_) => new helpers_1.StepResponse(NOOP_RESULT), () => void 0)(hookInput);
|
|
50
65
|
function hook(invokeFn, compensateFn) {
|
|
51
66
|
const handlers = create_step_handler_1.createStepHandler.bind(this)({
|
|
52
67
|
stepName: name,
|
|
53
|
-
input,
|
|
68
|
+
input: hookInput,
|
|
54
69
|
invokeFn,
|
|
55
|
-
compensateFn,
|
|
70
|
+
compensateFn: compensateFn ?? (() => void 0),
|
|
56
71
|
});
|
|
57
72
|
if (this.hooks_.registered.includes(name)) {
|
|
58
73
|
throw new Error(`Cannot define multiple hook handlers for the ${name} hook`);
|
|
59
74
|
}
|
|
75
|
+
const conditional = this.stepConditions_[name];
|
|
76
|
+
if (conditional) {
|
|
77
|
+
(0, create_step_1.wrapConditionalStep)(conditional.input, conditional.condition, handlers);
|
|
78
|
+
}
|
|
60
79
|
this.hooks_.registered.push(name);
|
|
61
80
|
this.handlers.set(name, handlers);
|
|
62
81
|
}
|
|
@@ -65,6 +84,14 @@ function createHook(name, input) {
|
|
|
65
84
|
return {
|
|
66
85
|
__type: utils_1.OrchestrationUtils.SymbolWorkflowHook,
|
|
67
86
|
name,
|
|
87
|
+
getResult() {
|
|
88
|
+
if ("cachedResult" in this) {
|
|
89
|
+
return this.cachedResult;
|
|
90
|
+
}
|
|
91
|
+
const result = getHookResultStep();
|
|
92
|
+
this["cachedResult"] = result;
|
|
93
|
+
return result;
|
|
94
|
+
},
|
|
68
95
|
};
|
|
69
96
|
}
|
|
70
97
|
//# sourceMappingURL=create-hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-hook.js","sourceRoot":"","sources":["../../../src/utils/composer/create-hook.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"create-hook.js","sourceRoot":"","sources":["../../../src/utils/composer/create-hook.ts"],"names":[],"mappings":";;AAkEA,gCAgFC;AAjJD,wCAAiD;AAEjD,+CAAuF;AACvF,uEAAiE;AACjE,uCAAwC;AAExC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAwBtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAgB,UAAU,CACxB,IAAU,EACV,SAAuB,EACvB,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,MAAM,CACpB,0BAAkB,CAAC,gCAAgC,CACnB,CAAA;IAElC,MAAM,iBAAiB,GAAG,IAAA,wBAAU,EAClC,OAAO,IAAI,SAAS,EACpB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,sBAAY,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,sBAAY,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EACD,GAAG,EAAE,CAAC,KAAK,CAAC,CACb,CAAA;IAED,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;QACvB;;;WAGG;QACH,IAAA,wBAAU,EACR,IAAI,EACJ,CAAC,CAAe,EAAE,EAAE,CAAC,IAAI,sBAAY,CAAC,WAAW,CAAC,EAClD,GAAG,EAAE,CAAC,KAAK,CAAC,CACb,CAAC,SAAS,CAAC,CAAA;QAEZ,SAAS,IAAI,CAE0B,QAAuE,EAAE,YAAyD;YACvK,MAAM,QAAQ,GAAG,uCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,SAAS;gBAChB,QAAQ;gBACR,YAAY,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;aAC7C,CAAC,CAAA;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,gDAAgD,IAAI,OAAO,CAC5D,CAAA;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAA,iCAAmB,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACzE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,0BAAkB,CAAC,kBAAkB;QAC7C,IAAI;QACJ,SAAS;YACP,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,YAAY,CAAA;YAC1B,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;YAClC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;YAC7B,OAAO,MAAM,CAAA;QACf,CAAC;KACyC,CAAA;AAC9C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransactionStepsDefinition } from "@etohq/orchestration";
|
|
1
|
+
import { TransactionStepsDefinition, WorkflowStepHandler } from "@etohq/orchestration";
|
|
2
2
|
import { StepResponse } from "./helpers";
|
|
3
3
|
import { StepExecutionContext, StepFunction, StepFunctionResult, WorkflowData } from "./type";
|
|
4
4
|
/**
|
|
@@ -63,6 +63,18 @@ export interface ApplyStepOptions<TStepInputs extends {
|
|
|
63
63
|
export declare function applyStep<TInvokeInput, TStepInput extends {
|
|
64
64
|
[K in keyof TInvokeInput]: WorkflowData<TInvokeInput[K]>;
|
|
65
65
|
}, TInvokeResultOutput, TInvokeResultCompensateInput>({ stepName, stepConfig, input, invokeFn, compensateFn, }: ApplyStepOptions<TStepInput, TInvokeInput, TInvokeResultOutput, TInvokeResultCompensateInput>): StepFunctionResult<TInvokeResultOutput>;
|
|
66
|
+
/**
|
|
67
|
+
* @internal
|
|
68
|
+
*
|
|
69
|
+
* Internal function to handle conditional steps.
|
|
70
|
+
*
|
|
71
|
+
* @param condition
|
|
72
|
+
* @param handle
|
|
73
|
+
*/
|
|
74
|
+
export declare function wrapConditionalStep(input: any, condition: (...args: any) => boolean | WorkflowData, handle: {
|
|
75
|
+
invoke: WorkflowStepHandler;
|
|
76
|
+
compensate?: WorkflowStepHandler;
|
|
77
|
+
}): void;
|
|
66
78
|
/**
|
|
67
79
|
* This function creates a {@link StepFunction} that can be used as a step in a workflow constructed by the {@link createWorkflow} function.
|
|
68
80
|
*
|
|
@@ -86,12 +98,12 @@ export declare function applyStep<TInvokeInput, TStepInput extends {
|
|
|
86
98
|
* "createProductStep",
|
|
87
99
|
* async function (
|
|
88
100
|
* input: CreateProductInput,
|
|
89
|
-
*
|
|
101
|
+
* { container }
|
|
90
102
|
* ) {
|
|
91
|
-
* const
|
|
92
|
-
* "
|
|
103
|
+
* const productModuleService = container.resolve(
|
|
104
|
+
* "product"
|
|
93
105
|
* )
|
|
94
|
-
* const product = await
|
|
106
|
+
* const product = await productModuleService.createProducts(input)
|
|
95
107
|
* return new StepResponse({
|
|
96
108
|
* product
|
|
97
109
|
* }, {
|
|
@@ -100,12 +112,15 @@ export declare function applyStep<TInvokeInput, TStepInput extends {
|
|
|
100
112
|
* },
|
|
101
113
|
* async function (
|
|
102
114
|
* input,
|
|
103
|
-
*
|
|
115
|
+
* { container }
|
|
104
116
|
* ) {
|
|
105
|
-
*
|
|
106
|
-
*
|
|
117
|
+
* if (!input) {
|
|
118
|
+
* return
|
|
119
|
+
* }
|
|
120
|
+
* const productModuleService = container.resolve(
|
|
121
|
+
* "product"
|
|
107
122
|
* )
|
|
108
|
-
* await
|
|
123
|
+
* await productModuleService.deleteProducts([input.product_id])
|
|
109
124
|
* }
|
|
110
125
|
* )
|
|
111
126
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-step.d.ts","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,
|
|
1
|
+
{"version":3,"file":"create-step.d.ts","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.applyStep = applyStep;
|
|
4
|
+
exports.wrapConditionalStep = wrapConditionalStep;
|
|
4
5
|
exports.createStep = createStep;
|
|
5
6
|
const orchestration_1 = require("@etohq/orchestration");
|
|
6
7
|
const utils_1 = require("@etohq/utils");
|
|
@@ -36,9 +37,8 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
36
37
|
stepConfig.noCompensation = !compensateFn;
|
|
37
38
|
this.flow.addAction(stepName, stepConfig);
|
|
38
39
|
this.isAsync ||= !!(stepConfig.async || stepConfig.compensateAsync);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
40
|
+
this.overriddenHandler.set(stepName, this.handlers.get(stepName));
|
|
41
|
+
this.handlers.set(stepName, handler);
|
|
42
42
|
const ret = {
|
|
43
43
|
__type: utils_1.OrchestrationUtils.SymbolWorkflowStep,
|
|
44
44
|
__step__: stepName,
|
|
@@ -52,20 +52,27 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
52
52
|
...stepConfig,
|
|
53
53
|
...localConfig,
|
|
54
54
|
};
|
|
55
|
-
|
|
55
|
+
if ((0, utils_1.isDefined)(newConfig.nested)) {
|
|
56
|
+
newConfig.nested ||= newConfig.async;
|
|
57
|
+
}
|
|
58
|
+
delete newConfig.name;
|
|
56
59
|
const handler = create_step_handler_1.createStepHandler.bind(this)({
|
|
57
60
|
stepName: newStepName,
|
|
58
61
|
input,
|
|
59
62
|
invokeFn,
|
|
60
63
|
compensateFn,
|
|
61
64
|
});
|
|
62
|
-
wrapAsyncHandler(
|
|
65
|
+
wrapAsyncHandler(newConfig, handler);
|
|
66
|
+
this.handlers.set(stepName, this.overriddenHandler.get(stepName));
|
|
67
|
+
this.overriddenHandler.delete(stepName);
|
|
63
68
|
this.handlers.set(newStepName, handler);
|
|
64
69
|
this.flow.replaceAction(stepConfig.uuid, newStepName, newConfig);
|
|
65
70
|
this.isAsync ||= !!(newConfig.async || newConfig.compensateAsync);
|
|
71
|
+
const stepCondition = this.stepConditions_[stepName];
|
|
72
|
+
delete this.stepConditions_[stepName];
|
|
73
|
+
this.stepConditions_[newStepName] = stepCondition;
|
|
66
74
|
ret.__step__ = newStepName;
|
|
67
75
|
orchestration_1.WorkflowManager.update(this.workflowId, this.flow, this.handlers);
|
|
68
|
-
//const confRef = proxify(ret)
|
|
69
76
|
if (global[utils_1.OrchestrationUtils.SymbolEtoWorkflowComposerCondition]) {
|
|
70
77
|
const flagSteps = global[utils_1.OrchestrationUtils.SymbolEtoWorkflowComposerCondition].steps;
|
|
71
78
|
const idx = flagSteps.findIndex((a) => a.__step__ === ret.__step__);
|
|
@@ -80,6 +87,10 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
|
|
|
80
87
|
if (typeof condition !== "function") {
|
|
81
88
|
throw new Error("Condition must be a function");
|
|
82
89
|
}
|
|
90
|
+
this.stepConditions_[ret.__step__] = {
|
|
91
|
+
condition,
|
|
92
|
+
input,
|
|
93
|
+
};
|
|
83
94
|
wrapConditionalStep(input, condition, handler);
|
|
84
95
|
this.handlers.set(ret.__step__, handler);
|
|
85
96
|
return refRet;
|
|
@@ -173,12 +184,12 @@ function wrapConditionalStep(input, condition, handle) {
|
|
|
173
184
|
* "createProductStep",
|
|
174
185
|
* async function (
|
|
175
186
|
* input: CreateProductInput,
|
|
176
|
-
*
|
|
187
|
+
* { container }
|
|
177
188
|
* ) {
|
|
178
|
-
* const
|
|
179
|
-
* "
|
|
189
|
+
* const productModuleService = container.resolve(
|
|
190
|
+
* "product"
|
|
180
191
|
* )
|
|
181
|
-
* const product = await
|
|
192
|
+
* const product = await productModuleService.createProducts(input)
|
|
182
193
|
* return new StepResponse({
|
|
183
194
|
* product
|
|
184
195
|
* }, {
|
|
@@ -187,12 +198,15 @@ function wrapConditionalStep(input, condition, handle) {
|
|
|
187
198
|
* },
|
|
188
199
|
* async function (
|
|
189
200
|
* input,
|
|
190
|
-
*
|
|
201
|
+
* { container }
|
|
191
202
|
* ) {
|
|
192
|
-
*
|
|
193
|
-
*
|
|
203
|
+
* if (!input) {
|
|
204
|
+
* return
|
|
205
|
+
* }
|
|
206
|
+
* const productModuleService = container.resolve(
|
|
207
|
+
* "product"
|
|
194
208
|
* )
|
|
195
|
-
* await
|
|
209
|
+
* await productModuleService.deleteProducts([input.product_id])
|
|
196
210
|
* }
|
|
197
211
|
* )
|
|
198
212
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-step.js","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":";;AAuGA,
|
|
1
|
+
{"version":3,"file":"create-step.js","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { TransactionModelOptions } from "@etohq/orchestration";
|
|
1
|
+
import { TransactionModelOptions, WorkflowManager } from "@etohq/orchestration";
|
|
2
2
|
import { WorkflowResponse } from "./helpers/workflow-response";
|
|
3
3
|
import { ReturnWorkflow, WorkflowData } from "./type";
|
|
4
|
+
export { WorkflowManager };
|
|
4
5
|
/**
|
|
5
6
|
* This function creates a workflow with the provided name and a constructor function.
|
|
6
7
|
* The constructor function builds the workflow from steps created by the {@link createStep} function.
|
|
@@ -22,7 +23,6 @@ import { ReturnWorkflow, WorkflowData } from "./type";
|
|
|
22
23
|
* import {
|
|
23
24
|
* createProductStep,
|
|
24
25
|
* getProductStep,
|
|
25
|
-
* createPricesStep
|
|
26
26
|
* } from "./steps"
|
|
27
27
|
*
|
|
28
28
|
* interface WorkflowInput {
|
|
@@ -36,7 +36,6 @@ import { ReturnWorkflow, WorkflowData } from "./type";
|
|
|
36
36
|
* // during the execution. Including the data access.
|
|
37
37
|
*
|
|
38
38
|
* const product = createProductStep(input)
|
|
39
|
-
* const prices = createPricesStep(product)
|
|
40
39
|
* return new WorkflowResponse(getProductStep(product.id))
|
|
41
40
|
* }
|
|
42
41
|
* )
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-workflow.d.ts","sourceRoot":"","sources":["../../../src/utils/composer/create-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,
|
|
1
|
+
{"version":3,"file":"create-workflow.d.ts","sourceRoot":"","sources":["../../../src/utils/composer/create-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EAEvB,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAiB7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAGL,cAAc,EAEd,YAAY,EACb,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,eAAe,EAAE,CAAA;AAI1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,EAAE;AACjE;;GAEG;AACH,YAAY,EAAE,MAAM,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,uBAAuB,CAAC;AACnE;;;;GAIG;AACH,QAAQ,EAAE,CACR,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KACvB,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,GAC5C,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAiLxC"}
|