@temporal-contract/client 1.0.0 → 2.0.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/dist/index.cjs +87 -91
- package/dist/index.d.cts +60 -60
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +60 -60
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +87 -91
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -12
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Client, ScheduleClient, ScheduleDescription, ScheduleOptions, ScheduleOptionsStartWorkflowAction, ScheduleOverlapPolicy, ScheduleSpec, WorkflowHandle, WorkflowSignalWithStartOptions, WorkflowStartOptions } from "@temporalio/client";
|
|
2
2
|
import { ActivityDefinition, AnySchema, ContractDefinition, QueryDefinition, SearchAttributeDefinition, SearchAttributeKindToType, SignalDefinition, UpdateDefinition, WorkflowDefinition } from "@temporal-contract/contract";
|
|
3
3
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
4
|
-
import {
|
|
4
|
+
import { ResultAsync } from "neverthrow";
|
|
5
5
|
|
|
6
6
|
//#region src/types.d.ts
|
|
7
7
|
/**
|
|
@@ -34,19 +34,19 @@ type ClientInferWorkflow<TWorkflow extends WorkflowDefinition> = (args: ClientIn
|
|
|
34
34
|
type ClientInferActivity<TActivity extends ActivityDefinition> = (args: ClientInferInput<TActivity>) => Promise<ClientInferOutput<TActivity>>;
|
|
35
35
|
/**
|
|
36
36
|
* Infer signal handler signature from client perspective
|
|
37
|
-
* Client sends z.output and returns
|
|
37
|
+
* Client sends z.output and returns ResultAsync<void, Error>
|
|
38
38
|
*/
|
|
39
|
-
type ClientInferSignal<TSignal extends SignalDefinition> = (args: ClientInferInput<TSignal>) =>
|
|
39
|
+
type ClientInferSignal<TSignal extends SignalDefinition> = (args: ClientInferInput<TSignal>) => ResultAsync<void, Error>;
|
|
40
40
|
/**
|
|
41
41
|
* Infer query handler signature from client perspective
|
|
42
|
-
* Client sends z.output and receives z.input wrapped in
|
|
42
|
+
* Client sends z.output and receives z.input wrapped in ResultAsync<T, Error>
|
|
43
43
|
*/
|
|
44
|
-
type ClientInferQuery<TQuery extends QueryDefinition> = (args: ClientInferInput<TQuery>) =>
|
|
44
|
+
type ClientInferQuery<TQuery extends QueryDefinition> = (args: ClientInferInput<TQuery>) => ResultAsync<ClientInferOutput<TQuery>, Error>;
|
|
45
45
|
/**
|
|
46
46
|
* Infer update handler signature from client perspective
|
|
47
|
-
* Client sends z.output and receives z.input wrapped in
|
|
47
|
+
* Client sends z.output and receives z.input wrapped in ResultAsync<T, Error>
|
|
48
48
|
*/
|
|
49
|
-
type ClientInferUpdate<TUpdate extends UpdateDefinition> = (args: ClientInferInput<TUpdate>) =>
|
|
49
|
+
type ClientInferUpdate<TUpdate extends UpdateDefinition> = (args: ClientInferInput<TUpdate>) => ResultAsync<ClientInferOutput<TUpdate>, Error>;
|
|
50
50
|
/**
|
|
51
51
|
* CLIENT PERSPECTIVE - Contract-level types
|
|
52
52
|
*/
|
|
@@ -232,16 +232,16 @@ type TypedScheduleCreateOptions<TContract extends ContractDefinition, TWorkflowN
|
|
|
232
232
|
/**
|
|
233
233
|
* Typed handle to a schedule. Mirrors Temporal's `ScheduleHandle` lifecycle
|
|
234
234
|
* methods (`pause`, `unpause`, `trigger`, `describe`, `delete`) wrapped in
|
|
235
|
-
* the
|
|
236
|
-
* client.
|
|
235
|
+
* the neverthrow ResultAsync pattern so call sites match the rest of the
|
|
236
|
+
* typed client.
|
|
237
237
|
*/
|
|
238
238
|
type TypedScheduleHandle = {
|
|
239
239
|
/** This schedule's identifier. */readonly scheduleId: string; /** Pause the schedule. Optional note becomes part of the audit trail. */
|
|
240
|
-
pause: (note?: string) =>
|
|
241
|
-
unpause: (note?: string) =>
|
|
242
|
-
trigger: (overlap?: ScheduleOverlapPolicy) =>
|
|
243
|
-
delete: () =>
|
|
244
|
-
describe: () =>
|
|
240
|
+
pause: (note?: string) => ResultAsync<void, RuntimeClientError>; /** Resume a paused schedule. */
|
|
241
|
+
unpause: (note?: string) => ResultAsync<void, RuntimeClientError>; /** Fire the schedule's action immediately. */
|
|
242
|
+
trigger: (overlap?: ScheduleOverlapPolicy) => ResultAsync<void, RuntimeClientError>; /** Delete the schedule. */
|
|
243
|
+
delete: () => ResultAsync<void, RuntimeClientError>; /** Fetch the schedule's current description from the server. */
|
|
244
|
+
describe: () => ResultAsync<ScheduleDescription, RuntimeClientError>;
|
|
245
245
|
};
|
|
246
246
|
/**
|
|
247
247
|
* Typed wrapper around Temporal's `ScheduleClient`. Exposed as
|
|
@@ -261,7 +261,7 @@ declare class TypedScheduleClient<TContract extends ContractDefinition> {
|
|
|
261
261
|
* `workflowType` are pulled from the contract automatically; the typed
|
|
262
262
|
* options shape omits them so call sites don't have to repeat themselves.
|
|
263
263
|
*/
|
|
264
|
-
create<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, options: TypedScheduleCreateOptions<TContract, TWorkflowName>):
|
|
264
|
+
create<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, options: TypedScheduleCreateOptions<TContract, TWorkflowName>): ResultAsync<TypedScheduleHandle, WorkflowNotFoundError | WorkflowValidationError | RuntimeClientError>;
|
|
265
265
|
/**
|
|
266
266
|
* Get a typed handle to an existing schedule. Does not validate that the
|
|
267
267
|
* schedule exists — handle methods (`describe`, `pause`, etc.) will
|
|
@@ -323,48 +323,48 @@ type TypedWorkflowHandleWithSignaledRunId<TWorkflow extends WorkflowDefinition>
|
|
|
323
323
|
readonly signaledRunId: string;
|
|
324
324
|
};
|
|
325
325
|
/**
|
|
326
|
-
* Typed workflow handle with validated results using Result/
|
|
326
|
+
* Typed workflow handle with validated results using neverthrow Result/ResultAsync
|
|
327
327
|
*/
|
|
328
328
|
type TypedWorkflowHandle<TWorkflow extends WorkflowDefinition> = {
|
|
329
329
|
workflowId: string;
|
|
330
330
|
/**
|
|
331
331
|
* Type-safe queries based on workflow definition with Result pattern
|
|
332
|
-
* Each query returns
|
|
332
|
+
* Each query returns ResultAsync<T, Error> instead of Promise<T>
|
|
333
333
|
*/
|
|
334
|
-
queries: { [K in keyof ClientInferWorkflowQueries<TWorkflow>]: ClientInferWorkflowQueries<TWorkflow>[K] extends ((...args: infer Args) =>
|
|
334
|
+
queries: { [K in keyof ClientInferWorkflowQueries<TWorkflow>]: ClientInferWorkflowQueries<TWorkflow>[K] extends ((...args: infer Args) => ResultAsync<infer R, Error>) ? (...args: Args) => ResultAsync<R, QueryValidationError | WorkflowExecutionNotFoundError | RuntimeClientError> : never };
|
|
335
335
|
/**
|
|
336
336
|
* Type-safe signals based on workflow definition with Result pattern
|
|
337
|
-
* Each signal returns
|
|
337
|
+
* Each signal returns ResultAsync<void, Error> instead of Promise<void>
|
|
338
338
|
*/
|
|
339
|
-
signals: { [K in keyof ClientInferWorkflowSignals<TWorkflow>]: ClientInferWorkflowSignals<TWorkflow>[K] extends ((...args: infer Args) =>
|
|
339
|
+
signals: { [K in keyof ClientInferWorkflowSignals<TWorkflow>]: ClientInferWorkflowSignals<TWorkflow>[K] extends ((...args: infer Args) => ResultAsync<void, Error>) ? (...args: Args) => ResultAsync<void, SignalValidationError | WorkflowExecutionNotFoundError | RuntimeClientError> : never };
|
|
340
340
|
/**
|
|
341
341
|
* Type-safe updates based on workflow definition with Result pattern
|
|
342
|
-
* Each update returns
|
|
342
|
+
* Each update returns ResultAsync<T, Error> instead of Promise<T>
|
|
343
343
|
*/
|
|
344
|
-
updates: { [K in keyof ClientInferWorkflowUpdates<TWorkflow>]: ClientInferWorkflowUpdates<TWorkflow>[K] extends ((...args: infer Args) =>
|
|
344
|
+
updates: { [K in keyof ClientInferWorkflowUpdates<TWorkflow>]: ClientInferWorkflowUpdates<TWorkflow>[K] extends ((...args: infer Args) => ResultAsync<infer R, Error>) ? (...args: Args) => ResultAsync<R, UpdateValidationError | WorkflowExecutionNotFoundError | RuntimeClientError> : never };
|
|
345
345
|
/**
|
|
346
346
|
* Get workflow result with Result pattern
|
|
347
347
|
*/
|
|
348
|
-
result: () =>
|
|
348
|
+
result: () => ResultAsync<ClientInferOutput<TWorkflow>, WorkflowValidationError | WorkflowFailedError | WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
349
349
|
/**
|
|
350
350
|
* Terminate workflow with Result pattern
|
|
351
351
|
*/
|
|
352
|
-
terminate: (reason?: string) =>
|
|
352
|
+
terminate: (reason?: string) => ResultAsync<void, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
353
353
|
/**
|
|
354
354
|
* Cancel workflow with Result pattern
|
|
355
355
|
*/
|
|
356
|
-
cancel: () =>
|
|
356
|
+
cancel: () => ResultAsync<void, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
357
357
|
/**
|
|
358
358
|
* Get workflow execution description including status and metadata
|
|
359
359
|
*/
|
|
360
|
-
describe: () =>
|
|
360
|
+
describe: () => ResultAsync<Awaited<ReturnType<WorkflowHandle["describe"]>>, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
361
361
|
/**
|
|
362
362
|
* Fetch the workflow execution history
|
|
363
363
|
*/
|
|
364
|
-
fetchHistory: () =>
|
|
364
|
+
fetchHistory: () => ResultAsync<Awaited<ReturnType<WorkflowHandle["fetchHistory"]>>, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
365
365
|
};
|
|
366
366
|
/**
|
|
367
|
-
* Typed Temporal client with Result/
|
|
367
|
+
* Typed Temporal client with neverthrow Result/ResultAsync pattern based on a contract
|
|
368
368
|
*
|
|
369
369
|
* Provides type-safe methods to start and execute workflows
|
|
370
370
|
* defined in the contract, with explicit error handling using Result pattern.
|
|
@@ -390,16 +390,16 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
390
390
|
* args: { orderId: "sweep" },
|
|
391
391
|
* });
|
|
392
392
|
*
|
|
393
|
-
* result.match(
|
|
394
|
-
*
|
|
395
|
-
*
|
|
396
|
-
*
|
|
393
|
+
* result.match(
|
|
394
|
+
* async (handle) => { await handle.pause("maintenance"); },
|
|
395
|
+
* (error) => console.error("schedule create failed", error),
|
|
396
|
+
* );
|
|
397
397
|
* ```
|
|
398
398
|
*/
|
|
399
399
|
readonly schedule: TypedScheduleClient<TContract>;
|
|
400
400
|
private constructor();
|
|
401
401
|
/**
|
|
402
|
-
* Create a typed Temporal client with
|
|
402
|
+
* Create a typed Temporal client with neverthrow pattern from a contract
|
|
403
403
|
*
|
|
404
404
|
* @example
|
|
405
405
|
* ```ts
|
|
@@ -412,15 +412,15 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
412
412
|
* args: { ... },
|
|
413
413
|
* });
|
|
414
414
|
*
|
|
415
|
-
* result.match(
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
415
|
+
* result.match(
|
|
416
|
+
* (output) => console.log('Success:', output),
|
|
417
|
+
* (error) => console.error('Failed:', error),
|
|
418
|
+
* );
|
|
419
419
|
* ```
|
|
420
420
|
*/
|
|
421
421
|
static create<TContract extends ContractDefinition>(contract: TContract, client: Client): TypedClient<TContract>;
|
|
422
422
|
/**
|
|
423
|
-
* Start a workflow and return a typed handle with
|
|
423
|
+
* Start a workflow and return a typed handle with ResultAsync pattern
|
|
424
424
|
*
|
|
425
425
|
* @example
|
|
426
426
|
* ```ts
|
|
@@ -431,20 +431,20 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
431
431
|
* retry: { maximumAttempts: 3 },
|
|
432
432
|
* });
|
|
433
433
|
*
|
|
434
|
-
* handleResult.match(
|
|
435
|
-
*
|
|
434
|
+
* handleResult.match(
|
|
435
|
+
* async (handle) => {
|
|
436
436
|
* const result = await handle.result();
|
|
437
437
|
* // ... handle result
|
|
438
438
|
* },
|
|
439
|
-
*
|
|
440
|
-
*
|
|
439
|
+
* (error) => console.error('Failed to start:', error),
|
|
440
|
+
* );
|
|
441
441
|
* ```
|
|
442
442
|
*/
|
|
443
443
|
startWorkflow<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, {
|
|
444
444
|
args,
|
|
445
445
|
searchAttributes,
|
|
446
446
|
...temporalOptions
|
|
447
|
-
}: TypedWorkflowStartOptions<TContract, TWorkflowName>):
|
|
447
|
+
}: TypedWorkflowStartOptions<TContract, TWorkflowName>): ResultAsync<TypedWorkflowHandle<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | WorkflowValidationError | WorkflowAlreadyStartedError | RuntimeClientError>;
|
|
448
448
|
/**
|
|
449
449
|
* Send a signal to a workflow, starting it first if it doesn't already exist.
|
|
450
450
|
*
|
|
@@ -465,10 +465,10 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
465
465
|
* signalArgs: { reason: 'duplicate' },
|
|
466
466
|
* });
|
|
467
467
|
*
|
|
468
|
-
* result.match(
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
*
|
|
468
|
+
* result.match(
|
|
469
|
+
* (handle) => console.log('signaled run', handle.signaledRunId),
|
|
470
|
+
* (error) => console.error('signalWithStart failed', error),
|
|
471
|
+
* );
|
|
472
472
|
* ```
|
|
473
473
|
*/
|
|
474
474
|
signalWithStart<TWorkflowName extends keyof TContract["workflows"], TSignalName extends keyof TContract["workflows"][TWorkflowName]["signals"] & string>(workflowName: TWorkflowName, {
|
|
@@ -477,9 +477,9 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
477
477
|
signalArgs,
|
|
478
478
|
searchAttributes,
|
|
479
479
|
...temporalOptions
|
|
480
|
-
}: TypedSignalWithStartOptions<TContract, TWorkflowName, TSignalName>):
|
|
480
|
+
}: TypedSignalWithStartOptions<TContract, TWorkflowName, TSignalName>): ResultAsync<TypedWorkflowHandleWithSignaledRunId<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | WorkflowValidationError | SignalValidationError | WorkflowAlreadyStartedError | RuntimeClientError>;
|
|
481
481
|
/**
|
|
482
|
-
* Execute a workflow (start and wait for result) with
|
|
482
|
+
* Execute a workflow (start and wait for result) with ResultAsync pattern
|
|
483
483
|
*
|
|
484
484
|
* @example
|
|
485
485
|
* ```ts
|
|
@@ -490,33 +490,33 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
490
490
|
* retry: { maximumAttempts: 3 },
|
|
491
491
|
* });
|
|
492
492
|
*
|
|
493
|
-
* result.match(
|
|
494
|
-
*
|
|
495
|
-
*
|
|
496
|
-
*
|
|
493
|
+
* result.match(
|
|
494
|
+
* (output) => console.log('Order processed:', output.status),
|
|
495
|
+
* (error) => console.error('Processing failed:', error),
|
|
496
|
+
* );
|
|
497
497
|
* ```
|
|
498
498
|
*/
|
|
499
499
|
executeWorkflow<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, {
|
|
500
500
|
args,
|
|
501
501
|
searchAttributes,
|
|
502
502
|
...temporalOptions
|
|
503
|
-
}: TypedWorkflowStartOptions<TContract, TWorkflowName>):
|
|
503
|
+
}: TypedWorkflowStartOptions<TContract, TWorkflowName>): ResultAsync<ClientInferOutput<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | WorkflowValidationError | WorkflowAlreadyStartedError | WorkflowFailedError | WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
504
504
|
/**
|
|
505
|
-
* Get a handle to an existing workflow with
|
|
505
|
+
* Get a handle to an existing workflow with ResultAsync pattern
|
|
506
506
|
*
|
|
507
507
|
* @example
|
|
508
508
|
* ```ts
|
|
509
509
|
* const handleResult = await client.getHandle('processOrder', 'order-123');
|
|
510
|
-
* handleResult.match(
|
|
511
|
-
*
|
|
510
|
+
* handleResult.match(
|
|
511
|
+
* async (handle) => {
|
|
512
512
|
* const result = await handle.result();
|
|
513
513
|
* // ... handle result
|
|
514
514
|
* },
|
|
515
|
-
*
|
|
516
|
-
*
|
|
515
|
+
* (error) => console.error('Failed to get handle:', error),
|
|
516
|
+
* );
|
|
517
517
|
* ```
|
|
518
518
|
*/
|
|
519
|
-
getHandle<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, workflowId: string):
|
|
519
|
+
getHandle<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, workflowId: string): ResultAsync<TypedWorkflowHandle<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | RuntimeClientError>;
|
|
520
520
|
private createTypedHandle;
|
|
521
521
|
}
|
|
522
522
|
//#endregion
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/errors.ts","../src/schedule.ts","../src/client.ts"],"mappings":";;;;;;;;;AAgBA;KAAY,gBAAA;EAA6B,KAAA,EAAO,SAAA;AAAA,KAAe,gBAAA,CAAiB,UAAA,CAC9E,CAAA;;;;;KAOU,iBAAA;EAA8B,MAAA,EAAQ,SAAA;AAAA,KAAe,gBAAA,CAAiB,WAAA,CAChF,CAAA;;;;;;AADF;;;KAaY,mBAAA,mBAAsC,kBAAA,KAChD,IAAA,EAAM,gBAAA,CAAiB,SAAA,MACpB,OAAA,CAAQ,iBAAA,CAAkB,SAAA;;;;;KAMnB,mBAAA,mBAAsC,kBAAA,KAChD,IAAA,EAAM,gBAAA,CAAiB,SAAA,MACpB,OAAA,CAAQ,iBAAA,CAAkB,SAAA;;;;;KAMnB,iBAAA,iBAAkC,gBAAA,KAC5C,IAAA,EAAM,gBAAA,CAAiB,OAAA,MACpB,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/errors.ts","../src/schedule.ts","../src/client.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ResultAsync } from "neverthrow";
|
|
2
2
|
import { Client, ScheduleClient, ScheduleDescription, ScheduleOptions, ScheduleOptionsStartWorkflowAction, ScheduleOverlapPolicy, ScheduleSpec, WorkflowHandle, WorkflowSignalWithStartOptions, WorkflowStartOptions } from "@temporalio/client";
|
|
3
3
|
import { ActivityDefinition, AnySchema, ContractDefinition, QueryDefinition, SearchAttributeDefinition, SearchAttributeKindToType, SignalDefinition, UpdateDefinition, WorkflowDefinition } from "@temporal-contract/contract";
|
|
4
4
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
@@ -34,19 +34,19 @@ type ClientInferWorkflow<TWorkflow extends WorkflowDefinition> = (args: ClientIn
|
|
|
34
34
|
type ClientInferActivity<TActivity extends ActivityDefinition> = (args: ClientInferInput<TActivity>) => Promise<ClientInferOutput<TActivity>>;
|
|
35
35
|
/**
|
|
36
36
|
* Infer signal handler signature from client perspective
|
|
37
|
-
* Client sends z.output and returns
|
|
37
|
+
* Client sends z.output and returns ResultAsync<void, Error>
|
|
38
38
|
*/
|
|
39
|
-
type ClientInferSignal<TSignal extends SignalDefinition> = (args: ClientInferInput<TSignal>) =>
|
|
39
|
+
type ClientInferSignal<TSignal extends SignalDefinition> = (args: ClientInferInput<TSignal>) => ResultAsync<void, Error>;
|
|
40
40
|
/**
|
|
41
41
|
* Infer query handler signature from client perspective
|
|
42
|
-
* Client sends z.output and receives z.input wrapped in
|
|
42
|
+
* Client sends z.output and receives z.input wrapped in ResultAsync<T, Error>
|
|
43
43
|
*/
|
|
44
|
-
type ClientInferQuery<TQuery extends QueryDefinition> = (args: ClientInferInput<TQuery>) =>
|
|
44
|
+
type ClientInferQuery<TQuery extends QueryDefinition> = (args: ClientInferInput<TQuery>) => ResultAsync<ClientInferOutput<TQuery>, Error>;
|
|
45
45
|
/**
|
|
46
46
|
* Infer update handler signature from client perspective
|
|
47
|
-
* Client sends z.output and receives z.input wrapped in
|
|
47
|
+
* Client sends z.output and receives z.input wrapped in ResultAsync<T, Error>
|
|
48
48
|
*/
|
|
49
|
-
type ClientInferUpdate<TUpdate extends UpdateDefinition> = (args: ClientInferInput<TUpdate>) =>
|
|
49
|
+
type ClientInferUpdate<TUpdate extends UpdateDefinition> = (args: ClientInferInput<TUpdate>) => ResultAsync<ClientInferOutput<TUpdate>, Error>;
|
|
50
50
|
/**
|
|
51
51
|
* CLIENT PERSPECTIVE - Contract-level types
|
|
52
52
|
*/
|
|
@@ -232,16 +232,16 @@ type TypedScheduleCreateOptions<TContract extends ContractDefinition, TWorkflowN
|
|
|
232
232
|
/**
|
|
233
233
|
* Typed handle to a schedule. Mirrors Temporal's `ScheduleHandle` lifecycle
|
|
234
234
|
* methods (`pause`, `unpause`, `trigger`, `describe`, `delete`) wrapped in
|
|
235
|
-
* the
|
|
236
|
-
* client.
|
|
235
|
+
* the neverthrow ResultAsync pattern so call sites match the rest of the
|
|
236
|
+
* typed client.
|
|
237
237
|
*/
|
|
238
238
|
type TypedScheduleHandle = {
|
|
239
239
|
/** This schedule's identifier. */readonly scheduleId: string; /** Pause the schedule. Optional note becomes part of the audit trail. */
|
|
240
|
-
pause: (note?: string) =>
|
|
241
|
-
unpause: (note?: string) =>
|
|
242
|
-
trigger: (overlap?: ScheduleOverlapPolicy) =>
|
|
243
|
-
delete: () =>
|
|
244
|
-
describe: () =>
|
|
240
|
+
pause: (note?: string) => ResultAsync<void, RuntimeClientError>; /** Resume a paused schedule. */
|
|
241
|
+
unpause: (note?: string) => ResultAsync<void, RuntimeClientError>; /** Fire the schedule's action immediately. */
|
|
242
|
+
trigger: (overlap?: ScheduleOverlapPolicy) => ResultAsync<void, RuntimeClientError>; /** Delete the schedule. */
|
|
243
|
+
delete: () => ResultAsync<void, RuntimeClientError>; /** Fetch the schedule's current description from the server. */
|
|
244
|
+
describe: () => ResultAsync<ScheduleDescription, RuntimeClientError>;
|
|
245
245
|
};
|
|
246
246
|
/**
|
|
247
247
|
* Typed wrapper around Temporal's `ScheduleClient`. Exposed as
|
|
@@ -261,7 +261,7 @@ declare class TypedScheduleClient<TContract extends ContractDefinition> {
|
|
|
261
261
|
* `workflowType` are pulled from the contract automatically; the typed
|
|
262
262
|
* options shape omits them so call sites don't have to repeat themselves.
|
|
263
263
|
*/
|
|
264
|
-
create<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, options: TypedScheduleCreateOptions<TContract, TWorkflowName>):
|
|
264
|
+
create<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, options: TypedScheduleCreateOptions<TContract, TWorkflowName>): ResultAsync<TypedScheduleHandle, WorkflowNotFoundError | WorkflowValidationError | RuntimeClientError>;
|
|
265
265
|
/**
|
|
266
266
|
* Get a typed handle to an existing schedule. Does not validate that the
|
|
267
267
|
* schedule exists — handle methods (`describe`, `pause`, etc.) will
|
|
@@ -323,48 +323,48 @@ type TypedWorkflowHandleWithSignaledRunId<TWorkflow extends WorkflowDefinition>
|
|
|
323
323
|
readonly signaledRunId: string;
|
|
324
324
|
};
|
|
325
325
|
/**
|
|
326
|
-
* Typed workflow handle with validated results using Result/
|
|
326
|
+
* Typed workflow handle with validated results using neverthrow Result/ResultAsync
|
|
327
327
|
*/
|
|
328
328
|
type TypedWorkflowHandle<TWorkflow extends WorkflowDefinition> = {
|
|
329
329
|
workflowId: string;
|
|
330
330
|
/**
|
|
331
331
|
* Type-safe queries based on workflow definition with Result pattern
|
|
332
|
-
* Each query returns
|
|
332
|
+
* Each query returns ResultAsync<T, Error> instead of Promise<T>
|
|
333
333
|
*/
|
|
334
|
-
queries: { [K in keyof ClientInferWorkflowQueries<TWorkflow>]: ClientInferWorkflowQueries<TWorkflow>[K] extends ((...args: infer Args) =>
|
|
334
|
+
queries: { [K in keyof ClientInferWorkflowQueries<TWorkflow>]: ClientInferWorkflowQueries<TWorkflow>[K] extends ((...args: infer Args) => ResultAsync<infer R, Error>) ? (...args: Args) => ResultAsync<R, QueryValidationError | WorkflowExecutionNotFoundError | RuntimeClientError> : never };
|
|
335
335
|
/**
|
|
336
336
|
* Type-safe signals based on workflow definition with Result pattern
|
|
337
|
-
* Each signal returns
|
|
337
|
+
* Each signal returns ResultAsync<void, Error> instead of Promise<void>
|
|
338
338
|
*/
|
|
339
|
-
signals: { [K in keyof ClientInferWorkflowSignals<TWorkflow>]: ClientInferWorkflowSignals<TWorkflow>[K] extends ((...args: infer Args) =>
|
|
339
|
+
signals: { [K in keyof ClientInferWorkflowSignals<TWorkflow>]: ClientInferWorkflowSignals<TWorkflow>[K] extends ((...args: infer Args) => ResultAsync<void, Error>) ? (...args: Args) => ResultAsync<void, SignalValidationError | WorkflowExecutionNotFoundError | RuntimeClientError> : never };
|
|
340
340
|
/**
|
|
341
341
|
* Type-safe updates based on workflow definition with Result pattern
|
|
342
|
-
* Each update returns
|
|
342
|
+
* Each update returns ResultAsync<T, Error> instead of Promise<T>
|
|
343
343
|
*/
|
|
344
|
-
updates: { [K in keyof ClientInferWorkflowUpdates<TWorkflow>]: ClientInferWorkflowUpdates<TWorkflow>[K] extends ((...args: infer Args) =>
|
|
344
|
+
updates: { [K in keyof ClientInferWorkflowUpdates<TWorkflow>]: ClientInferWorkflowUpdates<TWorkflow>[K] extends ((...args: infer Args) => ResultAsync<infer R, Error>) ? (...args: Args) => ResultAsync<R, UpdateValidationError | WorkflowExecutionNotFoundError | RuntimeClientError> : never };
|
|
345
345
|
/**
|
|
346
346
|
* Get workflow result with Result pattern
|
|
347
347
|
*/
|
|
348
|
-
result: () =>
|
|
348
|
+
result: () => ResultAsync<ClientInferOutput<TWorkflow>, WorkflowValidationError | WorkflowFailedError | WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
349
349
|
/**
|
|
350
350
|
* Terminate workflow with Result pattern
|
|
351
351
|
*/
|
|
352
|
-
terminate: (reason?: string) =>
|
|
352
|
+
terminate: (reason?: string) => ResultAsync<void, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
353
353
|
/**
|
|
354
354
|
* Cancel workflow with Result pattern
|
|
355
355
|
*/
|
|
356
|
-
cancel: () =>
|
|
356
|
+
cancel: () => ResultAsync<void, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
357
357
|
/**
|
|
358
358
|
* Get workflow execution description including status and metadata
|
|
359
359
|
*/
|
|
360
|
-
describe: () =>
|
|
360
|
+
describe: () => ResultAsync<Awaited<ReturnType<WorkflowHandle["describe"]>>, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
361
361
|
/**
|
|
362
362
|
* Fetch the workflow execution history
|
|
363
363
|
*/
|
|
364
|
-
fetchHistory: () =>
|
|
364
|
+
fetchHistory: () => ResultAsync<Awaited<ReturnType<WorkflowHandle["fetchHistory"]>>, WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
365
365
|
};
|
|
366
366
|
/**
|
|
367
|
-
* Typed Temporal client with Result/
|
|
367
|
+
* Typed Temporal client with neverthrow Result/ResultAsync pattern based on a contract
|
|
368
368
|
*
|
|
369
369
|
* Provides type-safe methods to start and execute workflows
|
|
370
370
|
* defined in the contract, with explicit error handling using Result pattern.
|
|
@@ -390,16 +390,16 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
390
390
|
* args: { orderId: "sweep" },
|
|
391
391
|
* });
|
|
392
392
|
*
|
|
393
|
-
* result.match(
|
|
394
|
-
*
|
|
395
|
-
*
|
|
396
|
-
*
|
|
393
|
+
* result.match(
|
|
394
|
+
* async (handle) => { await handle.pause("maintenance"); },
|
|
395
|
+
* (error) => console.error("schedule create failed", error),
|
|
396
|
+
* );
|
|
397
397
|
* ```
|
|
398
398
|
*/
|
|
399
399
|
readonly schedule: TypedScheduleClient<TContract>;
|
|
400
400
|
private constructor();
|
|
401
401
|
/**
|
|
402
|
-
* Create a typed Temporal client with
|
|
402
|
+
* Create a typed Temporal client with neverthrow pattern from a contract
|
|
403
403
|
*
|
|
404
404
|
* @example
|
|
405
405
|
* ```ts
|
|
@@ -412,15 +412,15 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
412
412
|
* args: { ... },
|
|
413
413
|
* });
|
|
414
414
|
*
|
|
415
|
-
* result.match(
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
415
|
+
* result.match(
|
|
416
|
+
* (output) => console.log('Success:', output),
|
|
417
|
+
* (error) => console.error('Failed:', error),
|
|
418
|
+
* );
|
|
419
419
|
* ```
|
|
420
420
|
*/
|
|
421
421
|
static create<TContract extends ContractDefinition>(contract: TContract, client: Client): TypedClient<TContract>;
|
|
422
422
|
/**
|
|
423
|
-
* Start a workflow and return a typed handle with
|
|
423
|
+
* Start a workflow and return a typed handle with ResultAsync pattern
|
|
424
424
|
*
|
|
425
425
|
* @example
|
|
426
426
|
* ```ts
|
|
@@ -431,20 +431,20 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
431
431
|
* retry: { maximumAttempts: 3 },
|
|
432
432
|
* });
|
|
433
433
|
*
|
|
434
|
-
* handleResult.match(
|
|
435
|
-
*
|
|
434
|
+
* handleResult.match(
|
|
435
|
+
* async (handle) => {
|
|
436
436
|
* const result = await handle.result();
|
|
437
437
|
* // ... handle result
|
|
438
438
|
* },
|
|
439
|
-
*
|
|
440
|
-
*
|
|
439
|
+
* (error) => console.error('Failed to start:', error),
|
|
440
|
+
* );
|
|
441
441
|
* ```
|
|
442
442
|
*/
|
|
443
443
|
startWorkflow<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, {
|
|
444
444
|
args,
|
|
445
445
|
searchAttributes,
|
|
446
446
|
...temporalOptions
|
|
447
|
-
}: TypedWorkflowStartOptions<TContract, TWorkflowName>):
|
|
447
|
+
}: TypedWorkflowStartOptions<TContract, TWorkflowName>): ResultAsync<TypedWorkflowHandle<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | WorkflowValidationError | WorkflowAlreadyStartedError | RuntimeClientError>;
|
|
448
448
|
/**
|
|
449
449
|
* Send a signal to a workflow, starting it first if it doesn't already exist.
|
|
450
450
|
*
|
|
@@ -465,10 +465,10 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
465
465
|
* signalArgs: { reason: 'duplicate' },
|
|
466
466
|
* });
|
|
467
467
|
*
|
|
468
|
-
* result.match(
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
*
|
|
468
|
+
* result.match(
|
|
469
|
+
* (handle) => console.log('signaled run', handle.signaledRunId),
|
|
470
|
+
* (error) => console.error('signalWithStart failed', error),
|
|
471
|
+
* );
|
|
472
472
|
* ```
|
|
473
473
|
*/
|
|
474
474
|
signalWithStart<TWorkflowName extends keyof TContract["workflows"], TSignalName extends keyof TContract["workflows"][TWorkflowName]["signals"] & string>(workflowName: TWorkflowName, {
|
|
@@ -477,9 +477,9 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
477
477
|
signalArgs,
|
|
478
478
|
searchAttributes,
|
|
479
479
|
...temporalOptions
|
|
480
|
-
}: TypedSignalWithStartOptions<TContract, TWorkflowName, TSignalName>):
|
|
480
|
+
}: TypedSignalWithStartOptions<TContract, TWorkflowName, TSignalName>): ResultAsync<TypedWorkflowHandleWithSignaledRunId<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | WorkflowValidationError | SignalValidationError | WorkflowAlreadyStartedError | RuntimeClientError>;
|
|
481
481
|
/**
|
|
482
|
-
* Execute a workflow (start and wait for result) with
|
|
482
|
+
* Execute a workflow (start and wait for result) with ResultAsync pattern
|
|
483
483
|
*
|
|
484
484
|
* @example
|
|
485
485
|
* ```ts
|
|
@@ -490,33 +490,33 @@ declare class TypedClient<TContract extends ContractDefinition> {
|
|
|
490
490
|
* retry: { maximumAttempts: 3 },
|
|
491
491
|
* });
|
|
492
492
|
*
|
|
493
|
-
* result.match(
|
|
494
|
-
*
|
|
495
|
-
*
|
|
496
|
-
*
|
|
493
|
+
* result.match(
|
|
494
|
+
* (output) => console.log('Order processed:', output.status),
|
|
495
|
+
* (error) => console.error('Processing failed:', error),
|
|
496
|
+
* );
|
|
497
497
|
* ```
|
|
498
498
|
*/
|
|
499
499
|
executeWorkflow<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, {
|
|
500
500
|
args,
|
|
501
501
|
searchAttributes,
|
|
502
502
|
...temporalOptions
|
|
503
|
-
}: TypedWorkflowStartOptions<TContract, TWorkflowName>):
|
|
503
|
+
}: TypedWorkflowStartOptions<TContract, TWorkflowName>): ResultAsync<ClientInferOutput<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | WorkflowValidationError | WorkflowAlreadyStartedError | WorkflowFailedError | WorkflowExecutionNotFoundError | RuntimeClientError>;
|
|
504
504
|
/**
|
|
505
|
-
* Get a handle to an existing workflow with
|
|
505
|
+
* Get a handle to an existing workflow with ResultAsync pattern
|
|
506
506
|
*
|
|
507
507
|
* @example
|
|
508
508
|
* ```ts
|
|
509
509
|
* const handleResult = await client.getHandle('processOrder', 'order-123');
|
|
510
|
-
* handleResult.match(
|
|
511
|
-
*
|
|
510
|
+
* handleResult.match(
|
|
511
|
+
* async (handle) => {
|
|
512
512
|
* const result = await handle.result();
|
|
513
513
|
* // ... handle result
|
|
514
514
|
* },
|
|
515
|
-
*
|
|
516
|
-
*
|
|
515
|
+
* (error) => console.error('Failed to get handle:', error),
|
|
516
|
+
* );
|
|
517
517
|
* ```
|
|
518
518
|
*/
|
|
519
|
-
getHandle<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, workflowId: string):
|
|
519
|
+
getHandle<TWorkflowName extends keyof TContract["workflows"]>(workflowName: TWorkflowName, workflowId: string): ResultAsync<TypedWorkflowHandle<TContract["workflows"][TWorkflowName]>, WorkflowNotFoundError | RuntimeClientError>;
|
|
520
520
|
private createTypedHandle;
|
|
521
521
|
}
|
|
522
522
|
//#endregion
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/errors.ts","../src/schedule.ts","../src/client.ts"],"mappings":";;;;;;;;;AAgBA;KAAY,gBAAA;EAA6B,KAAA,EAAO,SAAA;AAAA,KAAe,gBAAA,CAAiB,UAAA,CAC9E,CAAA;;;;;KAOU,iBAAA;EAA8B,MAAA,EAAQ,SAAA;AAAA,KAAe,gBAAA,CAAiB,WAAA,CAChF,CAAA;;;;;;AADF;;;KAaY,mBAAA,mBAAsC,kBAAA,KAChD,IAAA,EAAM,gBAAA,CAAiB,SAAA,MACpB,OAAA,CAAQ,iBAAA,CAAkB,SAAA;;;;;KAMnB,mBAAA,mBAAsC,kBAAA,KAChD,IAAA,EAAM,gBAAA,CAAiB,SAAA,MACpB,OAAA,CAAQ,iBAAA,CAAkB,SAAA;;;;;KAMnB,iBAAA,iBAAkC,gBAAA,KAC5C,IAAA,EAAM,gBAAA,CAAiB,OAAA,MACpB,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/errors.ts","../src/schedule.ts","../src/client.ts"],"mappings":"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"}
|