@temporal-contract/worker 0.0.7 → 0.2.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/README.md +47 -34
- package/dist/activity-utils-B3vP03_P.d.mts +68 -0
- package/dist/activity-utils-B3vP03_P.d.mts.map +1 -0
- package/dist/activity-utils-RsXOceIH.d.cts +68 -0
- package/dist/activity-utils-RsXOceIH.d.cts.map +1 -0
- package/dist/activity.cjs +1 -0
- package/dist/activity.d.cts +99 -3
- package/dist/activity.d.cts.map +1 -0
- package/dist/activity.d.mts +99 -3
- package/dist/activity.d.mts.map +1 -0
- package/dist/activity.mjs +3 -2
- package/dist/activity.mjs.map +1 -0
- package/dist/{errors-C1RFkCuD.d.mts → errors-4jH78z8m.d.cts} +2 -2
- package/dist/errors-4jH78z8m.d.cts.map +1 -0
- package/dist/{errors-BqYWpdvd.d.cts → errors-CmTXZ3JW.d.mts} +2 -2
- package/dist/errors-CmTXZ3JW.d.mts.map +1 -0
- package/dist/{errors-BqVTpfcf.mjs → errors-Di6Ja4Rt.mjs} +2 -1
- package/dist/errors-Di6Ja4Rt.mjs.map +1 -0
- package/dist/worker.cjs +11 -5
- package/dist/worker.d.cts +14 -8
- package/dist/worker.d.cts.map +1 -0
- package/dist/worker.d.mts +14 -8
- package/dist/worker.d.mts.map +1 -0
- package/dist/worker.mjs +12 -6
- package/dist/worker.mjs.map +1 -0
- package/dist/workflow.cjs +92 -106
- package/dist/workflow.d.cts +35 -35
- package/dist/workflow.d.cts.map +1 -0
- package/dist/workflow.d.mts +35 -35
- package/dist/workflow.d.mts.map +1 -0
- package/dist/workflow.mjs +94 -108
- package/dist/workflow.mjs.map +1 -0
- package/package.json +18 -14
- package/dist/activity-Csptpwgf.d.cts +0 -162
- package/dist/activity-UOnp_bSX.d.mts +0 -162
package/dist/workflow.d.cts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { a as ChildWorkflowNotFoundError, c as SignalInputValidationError, d as WorkflowInputValidationError, f as WorkflowOutputValidationError, g as WorkerInferOutput, h as WorkerInferInput, i as ChildWorkflowError, l as UpdateInputValidationError, m as ClientInferOutput, n as ActivityInputValidationError, o as QueryInputValidationError, p as ClientInferInput, r as ActivityOutputValidationError, s as QueryOutputValidationError, u as UpdateOutputValidationError } from "./errors-
|
|
1
|
+
import { a as ChildWorkflowNotFoundError, c as SignalInputValidationError, d as WorkflowInputValidationError, f as WorkflowOutputValidationError, g as WorkerInferOutput, h as WorkerInferInput, i as ChildWorkflowError, l as UpdateInputValidationError, m as ClientInferOutput, n as ActivityInputValidationError, o as QueryInputValidationError, p as ClientInferInput, r as ActivityOutputValidationError, s as QueryOutputValidationError, u as UpdateOutputValidationError } from "./errors-4jH78z8m.cjs";
|
|
2
2
|
import { ActivityDefinition, ContractDefinition, QueryDefinition, SignalDefinition, UpdateDefinition, WorkflowDefinition } from "@temporal-contract/contract";
|
|
3
3
|
import { Future, Result } from "@temporal-contract/boxed";
|
|
4
4
|
import { ActivityOptions, ChildWorkflowOptions, WorkflowInfo } from "@temporalio/workflow";
|
|
5
5
|
|
|
6
6
|
//#region src/workflow.d.ts
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Create a typed workflow implementation with automatic validation
|
|
10
9
|
*
|
|
@@ -19,53 +18,53 @@ import { ActivityOptions, ChildWorkflowOptions, WorkflowInfo } from "@temporalio
|
|
|
19
18
|
* @example
|
|
20
19
|
* ```ts
|
|
21
20
|
* // workflows/processOrder.ts
|
|
22
|
-
* import { declareWorkflow } from '@temporal-contract/worker';
|
|
21
|
+
* import { declareWorkflow } from '@temporal-contract/worker/workflow';
|
|
23
22
|
* import myContract from '../contract';
|
|
24
23
|
*
|
|
25
24
|
* export const processOrder = declareWorkflow({
|
|
26
25
|
* workflowName: 'processOrder',
|
|
27
26
|
* contract: myContract,
|
|
28
|
-
*
|
|
27
|
+
* activityOptions: {
|
|
28
|
+
* startToCloseTimeout: '1 minute',
|
|
29
|
+
* },
|
|
30
|
+
* implementation: async (context, args) => {
|
|
29
31
|
* // context.activities: typed activities (workflow + global)
|
|
30
32
|
* // context.info: WorkflowInfo
|
|
31
33
|
*
|
|
32
|
-
* const inventory = await context.activities.validateInventory(
|
|
34
|
+
* const inventory = await context.activities.validateInventory({
|
|
35
|
+
* orderId: args.orderId,
|
|
36
|
+
* });
|
|
33
37
|
*
|
|
34
38
|
* if (!inventory.available) {
|
|
35
|
-
*
|
|
39
|
+
* return { orderId: args.orderId, status: 'out_of_stock' };
|
|
36
40
|
* }
|
|
37
41
|
*
|
|
38
|
-
* const payment = await context.activities.chargePayment(
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* customerId,
|
|
43
|
-
* 'Order processed',
|
|
44
|
-
* 'Your order has been processed'
|
|
45
|
-
* );
|
|
42
|
+
* const payment = await context.activities.chargePayment({
|
|
43
|
+
* customerId: args.customerId,
|
|
44
|
+
* amount: 100,
|
|
45
|
+
* });
|
|
46
46
|
*
|
|
47
47
|
* return {
|
|
48
|
-
* orderId,
|
|
48
|
+
* orderId: args.orderId,
|
|
49
49
|
* status: payment.success ? 'success' : 'failed',
|
|
50
50
|
* transactionId: payment.transactionId,
|
|
51
51
|
* };
|
|
52
52
|
* },
|
|
53
|
-
* activityOptions: {
|
|
54
|
-
* startToCloseTimeout: '1 minute',
|
|
55
|
-
* },
|
|
56
53
|
* });
|
|
57
54
|
* ```
|
|
58
55
|
*
|
|
59
56
|
* Then in your worker setup:
|
|
60
57
|
* ```ts
|
|
61
58
|
* // worker.ts
|
|
62
|
-
* import {
|
|
63
|
-
* import {
|
|
59
|
+
* import { createWorker } from '@temporal-contract/worker/worker';
|
|
60
|
+
* import { activities } from './activities';
|
|
61
|
+
* import myContract from './contract';
|
|
64
62
|
*
|
|
65
|
-
* const worker = await
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
63
|
+
* const worker = await createWorker({
|
|
64
|
+
* contract: myContract,
|
|
65
|
+
* connection,
|
|
66
|
+
* workflowsPath: workflowsPathFromURL(import.meta.url, './workflows.js'),
|
|
67
|
+
* activities,
|
|
69
68
|
* });
|
|
70
69
|
* ```
|
|
71
70
|
*/
|
|
@@ -99,7 +98,7 @@ type UpdateHandlerImplementation<TUpdate extends UpdateDefinition> = (args: Work
|
|
|
99
98
|
/**
|
|
100
99
|
* Options for declaring a workflow implementation
|
|
101
100
|
*/
|
|
102
|
-
|
|
101
|
+
type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
|
|
103
102
|
workflowName: TWorkflowName;
|
|
104
103
|
contract: TContract;
|
|
105
104
|
implementation: WorkflowImplementation<TContract, TWorkflowName>;
|
|
@@ -121,7 +120,7 @@ interface DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflow
|
|
|
121
120
|
* ```
|
|
122
121
|
*/
|
|
123
122
|
activityOptions: ActivityOptions;
|
|
124
|
-
}
|
|
123
|
+
};
|
|
125
124
|
/**
|
|
126
125
|
* Workflow implementation function
|
|
127
126
|
*
|
|
@@ -138,7 +137,7 @@ type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName
|
|
|
138
137
|
* - Signal, query, and update handler registration
|
|
139
138
|
* - Child workflow execution capabilities
|
|
140
139
|
*/
|
|
141
|
-
|
|
140
|
+
type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
|
|
142
141
|
activities: WorkflowInferWorkflowContextActivities<TContract, TWorkflowName>;
|
|
143
142
|
info: WorkflowInfo;
|
|
144
143
|
/**
|
|
@@ -158,7 +157,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
158
157
|
* }
|
|
159
158
|
* ```
|
|
160
159
|
*/
|
|
161
|
-
defineSignal: <K
|
|
160
|
+
defineSignal: <K extends keyof TContract["workflows"][TWorkflowName]["signals"]>(signalName: K, handler: SignalHandlerImplementation<TContract["workflows"][TWorkflowName]["signals"][K] extends SignalDefinition ? TContract["workflows"][TWorkflowName]["signals"][K] : never>) => void;
|
|
162
161
|
/**
|
|
163
162
|
* Define a query handler within the workflow implementation
|
|
164
163
|
* Allows the query handler to access workflow state
|
|
@@ -176,7 +175,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
176
175
|
* }
|
|
177
176
|
* ```
|
|
178
177
|
*/
|
|
179
|
-
defineQuery: <K
|
|
178
|
+
defineQuery: <K extends keyof TContract["workflows"][TWorkflowName]["queries"]>(queryName: K, handler: QueryHandlerImplementation<TContract["workflows"][TWorkflowName]["queries"][K] extends QueryDefinition ? TContract["workflows"][TWorkflowName]["queries"][K] : never>) => void;
|
|
180
179
|
/**
|
|
181
180
|
* Define an update handler within the workflow implementation
|
|
182
181
|
* Allows the update handler to access and modify workflow state
|
|
@@ -195,7 +194,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
195
194
|
* }
|
|
196
195
|
* ```
|
|
197
196
|
*/
|
|
198
|
-
defineUpdate: <K
|
|
197
|
+
defineUpdate: <K extends keyof TContract["workflows"][TWorkflowName]["updates"]>(updateName: K, handler: UpdateHandlerImplementation<TContract["workflows"][TWorkflowName]["updates"][K] extends UpdateDefinition ? TContract["workflows"][TWorkflowName]["updates"][K] : never>) => void;
|
|
199
198
|
/**
|
|
200
199
|
* Start a child workflow and return a typed handle with Future/Result pattern
|
|
201
200
|
*
|
|
@@ -255,7 +254,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
255
254
|
* ```
|
|
256
255
|
*/
|
|
257
256
|
executeChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => Future<Result<ClientInferOutput<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError>>;
|
|
258
|
-
}
|
|
257
|
+
};
|
|
259
258
|
/**
|
|
260
259
|
* Options for starting a child workflow
|
|
261
260
|
*/
|
|
@@ -265,7 +264,7 @@ type TypedChildWorkflowOptions<TChildContract extends ContractDefinition, TChild
|
|
|
265
264
|
/**
|
|
266
265
|
* Typed handle for a child workflow with Future/Result pattern
|
|
267
266
|
*/
|
|
268
|
-
|
|
267
|
+
type TypedChildWorkflowHandle<TWorkflow extends WorkflowDefinition> = {
|
|
269
268
|
/**
|
|
270
269
|
* Get child workflow result with Result pattern
|
|
271
270
|
*/
|
|
@@ -274,7 +273,7 @@ interface TypedChildWorkflowHandle<TWorkflow extends WorkflowDefinition> {
|
|
|
274
273
|
* Child workflow ID
|
|
275
274
|
*/
|
|
276
275
|
workflowId: string;
|
|
277
|
-
}
|
|
276
|
+
};
|
|
278
277
|
/**
|
|
279
278
|
* Activity function signature from workflow execution perspective
|
|
280
279
|
*
|
|
@@ -294,6 +293,7 @@ type WorkflowInferWorkflowActivities<T extends WorkflowDefinition> = T["activiti
|
|
|
294
293
|
*
|
|
295
294
|
* Combines workflow-specific activities with global contract activities
|
|
296
295
|
*/
|
|
297
|
-
type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>;
|
|
296
|
+
type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>; //# sourceMappingURL=workflow.d.ts.map
|
|
298
297
|
//#endregion
|
|
299
|
-
export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowInputValidationError, WorkflowOutputValidationError, declareWorkflow };
|
|
298
|
+
export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowInputValidationError, WorkflowOutputValidationError, declareWorkflow };
|
|
299
|
+
//# sourceMappingURL=workflow.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.cts","names":[],"sources":["../src/workflow.ts"],"mappings":"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"}
|
package/dist/workflow.d.mts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { a as ChildWorkflowNotFoundError, c as SignalInputValidationError, d as WorkflowInputValidationError, f as WorkflowOutputValidationError, g as WorkerInferOutput, h as WorkerInferInput, i as ChildWorkflowError, l as UpdateInputValidationError, m as ClientInferOutput, n as ActivityInputValidationError, o as QueryInputValidationError, p as ClientInferInput, r as ActivityOutputValidationError, s as QueryOutputValidationError, u as UpdateOutputValidationError } from "./errors-
|
|
1
|
+
import { a as ChildWorkflowNotFoundError, c as SignalInputValidationError, d as WorkflowInputValidationError, f as WorkflowOutputValidationError, g as WorkerInferOutput, h as WorkerInferInput, i as ChildWorkflowError, l as UpdateInputValidationError, m as ClientInferOutput, n as ActivityInputValidationError, o as QueryInputValidationError, p as ClientInferInput, r as ActivityOutputValidationError, s as QueryOutputValidationError, u as UpdateOutputValidationError } from "./errors-CmTXZ3JW.mjs";
|
|
2
2
|
import { Future, Result } from "@temporal-contract/boxed";
|
|
3
3
|
import { ActivityOptions, ChildWorkflowOptions, WorkflowInfo } from "@temporalio/workflow";
|
|
4
4
|
import { ActivityDefinition, ContractDefinition, QueryDefinition, SignalDefinition, UpdateDefinition, WorkflowDefinition } from "@temporal-contract/contract";
|
|
5
5
|
|
|
6
6
|
//#region src/workflow.d.ts
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Create a typed workflow implementation with automatic validation
|
|
10
9
|
*
|
|
@@ -19,53 +18,53 @@ import { ActivityDefinition, ContractDefinition, QueryDefinition, SignalDefiniti
|
|
|
19
18
|
* @example
|
|
20
19
|
* ```ts
|
|
21
20
|
* // workflows/processOrder.ts
|
|
22
|
-
* import { declareWorkflow } from '@temporal-contract/worker';
|
|
21
|
+
* import { declareWorkflow } from '@temporal-contract/worker/workflow';
|
|
23
22
|
* import myContract from '../contract';
|
|
24
23
|
*
|
|
25
24
|
* export const processOrder = declareWorkflow({
|
|
26
25
|
* workflowName: 'processOrder',
|
|
27
26
|
* contract: myContract,
|
|
28
|
-
*
|
|
27
|
+
* activityOptions: {
|
|
28
|
+
* startToCloseTimeout: '1 minute',
|
|
29
|
+
* },
|
|
30
|
+
* implementation: async (context, args) => {
|
|
29
31
|
* // context.activities: typed activities (workflow + global)
|
|
30
32
|
* // context.info: WorkflowInfo
|
|
31
33
|
*
|
|
32
|
-
* const inventory = await context.activities.validateInventory(
|
|
34
|
+
* const inventory = await context.activities.validateInventory({
|
|
35
|
+
* orderId: args.orderId,
|
|
36
|
+
* });
|
|
33
37
|
*
|
|
34
38
|
* if (!inventory.available) {
|
|
35
|
-
*
|
|
39
|
+
* return { orderId: args.orderId, status: 'out_of_stock' };
|
|
36
40
|
* }
|
|
37
41
|
*
|
|
38
|
-
* const payment = await context.activities.chargePayment(
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* customerId,
|
|
43
|
-
* 'Order processed',
|
|
44
|
-
* 'Your order has been processed'
|
|
45
|
-
* );
|
|
42
|
+
* const payment = await context.activities.chargePayment({
|
|
43
|
+
* customerId: args.customerId,
|
|
44
|
+
* amount: 100,
|
|
45
|
+
* });
|
|
46
46
|
*
|
|
47
47
|
* return {
|
|
48
|
-
* orderId,
|
|
48
|
+
* orderId: args.orderId,
|
|
49
49
|
* status: payment.success ? 'success' : 'failed',
|
|
50
50
|
* transactionId: payment.transactionId,
|
|
51
51
|
* };
|
|
52
52
|
* },
|
|
53
|
-
* activityOptions: {
|
|
54
|
-
* startToCloseTimeout: '1 minute',
|
|
55
|
-
* },
|
|
56
53
|
* });
|
|
57
54
|
* ```
|
|
58
55
|
*
|
|
59
56
|
* Then in your worker setup:
|
|
60
57
|
* ```ts
|
|
61
58
|
* // worker.ts
|
|
62
|
-
* import {
|
|
63
|
-
* import {
|
|
59
|
+
* import { createWorker } from '@temporal-contract/worker/worker';
|
|
60
|
+
* import { activities } from './activities';
|
|
61
|
+
* import myContract from './contract';
|
|
64
62
|
*
|
|
65
|
-
* const worker = await
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
63
|
+
* const worker = await createWorker({
|
|
64
|
+
* contract: myContract,
|
|
65
|
+
* connection,
|
|
66
|
+
* workflowsPath: workflowsPathFromURL(import.meta.url, './workflows.js'),
|
|
67
|
+
* activities,
|
|
69
68
|
* });
|
|
70
69
|
* ```
|
|
71
70
|
*/
|
|
@@ -99,7 +98,7 @@ type UpdateHandlerImplementation<TUpdate extends UpdateDefinition> = (args: Work
|
|
|
99
98
|
/**
|
|
100
99
|
* Options for declaring a workflow implementation
|
|
101
100
|
*/
|
|
102
|
-
|
|
101
|
+
type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
|
|
103
102
|
workflowName: TWorkflowName;
|
|
104
103
|
contract: TContract;
|
|
105
104
|
implementation: WorkflowImplementation<TContract, TWorkflowName>;
|
|
@@ -121,7 +120,7 @@ interface DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflow
|
|
|
121
120
|
* ```
|
|
122
121
|
*/
|
|
123
122
|
activityOptions: ActivityOptions;
|
|
124
|
-
}
|
|
123
|
+
};
|
|
125
124
|
/**
|
|
126
125
|
* Workflow implementation function
|
|
127
126
|
*
|
|
@@ -138,7 +137,7 @@ type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName
|
|
|
138
137
|
* - Signal, query, and update handler registration
|
|
139
138
|
* - Child workflow execution capabilities
|
|
140
139
|
*/
|
|
141
|
-
|
|
140
|
+
type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
|
|
142
141
|
activities: WorkflowInferWorkflowContextActivities<TContract, TWorkflowName>;
|
|
143
142
|
info: WorkflowInfo;
|
|
144
143
|
/**
|
|
@@ -158,7 +157,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
158
157
|
* }
|
|
159
158
|
* ```
|
|
160
159
|
*/
|
|
161
|
-
defineSignal: <K
|
|
160
|
+
defineSignal: <K extends keyof TContract["workflows"][TWorkflowName]["signals"]>(signalName: K, handler: SignalHandlerImplementation<TContract["workflows"][TWorkflowName]["signals"][K] extends SignalDefinition ? TContract["workflows"][TWorkflowName]["signals"][K] : never>) => void;
|
|
162
161
|
/**
|
|
163
162
|
* Define a query handler within the workflow implementation
|
|
164
163
|
* Allows the query handler to access workflow state
|
|
@@ -176,7 +175,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
176
175
|
* }
|
|
177
176
|
* ```
|
|
178
177
|
*/
|
|
179
|
-
defineQuery: <K
|
|
178
|
+
defineQuery: <K extends keyof TContract["workflows"][TWorkflowName]["queries"]>(queryName: K, handler: QueryHandlerImplementation<TContract["workflows"][TWorkflowName]["queries"][K] extends QueryDefinition ? TContract["workflows"][TWorkflowName]["queries"][K] : never>) => void;
|
|
180
179
|
/**
|
|
181
180
|
* Define an update handler within the workflow implementation
|
|
182
181
|
* Allows the update handler to access and modify workflow state
|
|
@@ -195,7 +194,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
195
194
|
* }
|
|
196
195
|
* ```
|
|
197
196
|
*/
|
|
198
|
-
defineUpdate: <K
|
|
197
|
+
defineUpdate: <K extends keyof TContract["workflows"][TWorkflowName]["updates"]>(updateName: K, handler: UpdateHandlerImplementation<TContract["workflows"][TWorkflowName]["updates"][K] extends UpdateDefinition ? TContract["workflows"][TWorkflowName]["updates"][K] : never>) => void;
|
|
199
198
|
/**
|
|
200
199
|
* Start a child workflow and return a typed handle with Future/Result pattern
|
|
201
200
|
*
|
|
@@ -255,7 +254,7 @@ interface WorkflowContext<TContract extends ContractDefinition, TWorkflowName ex
|
|
|
255
254
|
* ```
|
|
256
255
|
*/
|
|
257
256
|
executeChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => Future<Result<ClientInferOutput<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError>>;
|
|
258
|
-
}
|
|
257
|
+
};
|
|
259
258
|
/**
|
|
260
259
|
* Options for starting a child workflow
|
|
261
260
|
*/
|
|
@@ -265,7 +264,7 @@ type TypedChildWorkflowOptions<TChildContract extends ContractDefinition, TChild
|
|
|
265
264
|
/**
|
|
266
265
|
* Typed handle for a child workflow with Future/Result pattern
|
|
267
266
|
*/
|
|
268
|
-
|
|
267
|
+
type TypedChildWorkflowHandle<TWorkflow extends WorkflowDefinition> = {
|
|
269
268
|
/**
|
|
270
269
|
* Get child workflow result with Result pattern
|
|
271
270
|
*/
|
|
@@ -274,7 +273,7 @@ interface TypedChildWorkflowHandle<TWorkflow extends WorkflowDefinition> {
|
|
|
274
273
|
* Child workflow ID
|
|
275
274
|
*/
|
|
276
275
|
workflowId: string;
|
|
277
|
-
}
|
|
276
|
+
};
|
|
278
277
|
/**
|
|
279
278
|
* Activity function signature from workflow execution perspective
|
|
280
279
|
*
|
|
@@ -294,6 +293,7 @@ type WorkflowInferWorkflowActivities<T extends WorkflowDefinition> = T["activiti
|
|
|
294
293
|
*
|
|
295
294
|
* Combines workflow-specific activities with global contract activities
|
|
296
295
|
*/
|
|
297
|
-
type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>;
|
|
296
|
+
type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>; //# sourceMappingURL=workflow.d.ts.map
|
|
298
297
|
//#endregion
|
|
299
|
-
export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowInputValidationError, WorkflowOutputValidationError, declareWorkflow };
|
|
298
|
+
export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowInputValidationError, WorkflowOutputValidationError, declareWorkflow };
|
|
299
|
+
//# sourceMappingURL=workflow.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.mts","names":[],"sources":["../src/workflow.ts"],"mappings":"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"}
|