@temporal-contract/worker 2.0.0 → 2.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.
@@ -1,9 +1,8 @@
1
- import { _ as WorkerInferOutput, a as ChildWorkflowNotFoundError, c as SignalInputValidationError, d as WorkflowCancelledError, f as WorkflowInputValidationError, g as WorkerInferInput, h as ClientInferOutput, i as ChildWorkflowError, l as UpdateInputValidationError, m as ClientInferInput, n as ActivityInputValidationError, o as QueryInputValidationError, p as WorkflowOutputValidationError, r as ActivityOutputValidationError, s as QueryOutputValidationError, u as UpdateOutputValidationError } from "./errors-BeIXtRJe.cjs";
2
- import { ActivityDefinition, ContractDefinition, QueryDefinition, SignalDefinition, UpdateDefinition, WorkflowDefinition } from "@temporal-contract/contract";
1
+ import { _ as ClientInferOutput, a as ChildWorkflowError, c as QueryOutputValidationError, d as UpdateOutputValidationError, f as WorkflowCancelledError, g as ClientInferInput, h as WorkflowScopeError, i as ChildWorkflowCancelledError, l as SignalInputValidationError, m as WorkflowOutputValidationError, n as ActivityInputValidationError, o as ChildWorkflowNotFoundError, p as WorkflowInputValidationError, r as ActivityOutputValidationError, s as QueryInputValidationError, u as UpdateInputValidationError, v as WorkerInferInput, y as WorkerInferOutput } from "./errors-DTq5OTwH.cjs";
2
+ import { ActivityDefinition, AnyWorkflowDefinition, ContractDefinition, QueryDefinition, QueryNamesOf, SignalDefinition, SignalNamesOf, UpdateDefinition, UpdateNamesOf } from "@temporal-contract/contract";
3
3
  import { ResultAsync } from "neverthrow";
4
4
  import { StandardSchemaV1 } from "@standard-schema/spec";
5
5
  import { ActivityOptions, ChildWorkflowOptions, ContinueAsNewOptions, WorkflowInfo } from "@temporalio/workflow";
6
-
7
6
  //#region src/handlers.d.ts
8
7
  /**
9
8
  * Signal handler implementation
@@ -35,6 +34,51 @@ type UpdateHandlerImplementation<TUpdate extends UpdateDefinition> = (args: Work
35
34
  */
36
35
  type TypedContinueAsNewOptions = Omit<ContinueAsNewOptions, "workflowType" | "taskQueue">;
37
36
  //#endregion
37
+ //#region src/child-workflow.d.ts
38
+ /**
39
+ * Options for starting a child workflow. `taskQueue` and `args` come from
40
+ * the contract; everything else is forwarded to Temporal's
41
+ * `startChild` / `executeChild`.
42
+ */
43
+ type TypedChildWorkflowOptions<TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"] & string> = Omit<ChildWorkflowOptions, "taskQueue" | "args"> & {
44
+ args: ClientInferInput<TChildContract["workflows"][TChildWorkflowName]>;
45
+ };
46
+ /**
47
+ * Typed handle for a child workflow with neverthrow `ResultAsync` pattern.
48
+ */
49
+ type TypedChildWorkflowHandle<TWorkflow extends AnyWorkflowDefinition> = {
50
+ /**
51
+ * Get child workflow result with `ResultAsync` pattern.
52
+ */
53
+ result: () => ResultAsync<ClientInferOutput<TWorkflow>, ChildWorkflowError | ChildWorkflowCancelledError>;
54
+ /**
55
+ * Child workflow ID.
56
+ */
57
+ workflowId: string;
58
+ };
59
+ //#endregion
60
+ //#region src/activities-proxy.d.ts
61
+ /**
62
+ * Activity function signature from workflow execution perspective.
63
+ *
64
+ * Workflows call activities with validated input (z.input parsed) and receive validated output (z.output).
65
+ */
66
+ type WorkflowInferActivity<TActivity extends ActivityDefinition> = (args: ClientInferInput<TActivity>) => Promise<ClientInferOutput<TActivity>>;
67
+ /**
68
+ * All global activities from a contract (workflow execution perspective).
69
+ */
70
+ type WorkflowInferActivities<TContract extends ContractDefinition> = TContract["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof TContract["activities"]]: WorkflowInferActivity<TContract["activities"][K]> } : {};
71
+ /**
72
+ * Workflow-specific activities (workflow execution perspective).
73
+ */
74
+ type WorkflowInferWorkflowActivities<T extends AnyWorkflowDefinition> = T["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof T["activities"]]: WorkflowInferActivity<T["activities"][K]> } : {};
75
+ /**
76
+ * All activities available in a workflow context (workflow execution perspective).
77
+ *
78
+ * Combines workflow-specific activities with global contract activities.
79
+ */
80
+ type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>;
81
+ //#endregion
38
82
  //#region src/workflow.d.ts
39
83
  /**
40
84
  * Create a typed workflow implementation with automatic validation
@@ -109,7 +153,7 @@ type TypedContinueAsNewOptions = Omit<ContinueAsNewOptions, "workflowType" | "ta
109
153
  * });
110
154
  * ```
111
155
  */
112
- declare function declareWorkflow<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]>({
156
+ declare function declareWorkflow<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string>({
113
157
  workflowName,
114
158
  contract,
115
159
  implementation,
@@ -120,11 +164,11 @@ declare function declareWorkflow<TContract extends ContractDefinition, TWorkflow
120
164
  * Union of all activity names available to a workflow — the workflow-local
121
165
  * activities plus the contract's global activities.
122
166
  */
123
- type ActivityNamesFor<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = (TContract["workflows"][TWorkflowName]["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["workflows"][TWorkflowName]["activities"] & string : never) | (TContract["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["activities"] & string : never);
167
+ type ActivityNamesFor<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = (TContract["workflows"][TWorkflowName]["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["workflows"][TWorkflowName]["activities"] & string : never) | (TContract["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["activities"] & string : never);
124
168
  /**
125
169
  * Options for declaring a workflow implementation
126
170
  */
127
- type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
171
+ type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = {
128
172
  workflowName: TWorkflowName;
129
173
  contract: TContract;
130
174
  implementation: WorkflowImplementation<TContract, TWorkflowName>;
@@ -178,7 +222,7 @@ type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName
178
222
  * Receives a workflow context (with typed activities and utilities) and validated input arguments.
179
223
  * Returns the workflow output which will be validated against the contract schema.
180
224
  */
181
- type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = (context: WorkflowContext<TContract, TWorkflowName>, args: WorkerInferInput<TContract["workflows"][TWorkflowName]>) => Promise<WorkerInferOutput<TContract["workflows"][TWorkflowName]>>;
225
+ type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = (context: WorkflowContext<TContract, TWorkflowName>, args: WorkerInferInput<TContract["workflows"][TWorkflowName]>) => Promise<WorkerInferOutput<TContract["workflows"][TWorkflowName]>>;
182
226
  /**
183
227
  * Workflow execution context providing typed activities, workflow info, and interaction handlers
184
228
  *
@@ -188,8 +232,8 @@ type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName
188
232
  * - Signal, query, and update handler registration
189
233
  * - Child workflow execution capabilities
190
234
  */
191
- type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
192
- activities: WorkflowInferWorkflowContextActivities<TContract, TWorkflowName>;
235
+ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = {
236
+ activities: Readonly<WorkflowInferWorkflowContextActivities<TContract, TWorkflowName>>;
193
237
  info: WorkflowInfo;
194
238
  /**
195
239
  * Define a signal handler within the workflow implementation
@@ -208,7 +252,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
208
252
  * }
209
253
  * ```
210
254
  */
211
- 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;
255
+ defineSignal: <K extends SignalNamesOf<TContract["workflows"][TWorkflowName]>>(signalName: K, handler: SignalHandlerImplementation<NonNullable<TContract["workflows"][TWorkflowName]["signals"]> extends Record<string, SignalDefinition> ? NonNullable<TContract["workflows"][TWorkflowName]["signals"]>[K] extends SignalDefinition ? NonNullable<TContract["workflows"][TWorkflowName]["signals"]>[K] : never : never>) => void;
212
256
  /**
213
257
  * Define a query handler within the workflow implementation
214
258
  * Allows the query handler to access workflow state
@@ -226,7 +270,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
226
270
  * }
227
271
  * ```
228
272
  */
229
- 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;
273
+ defineQuery: <K extends QueryNamesOf<TContract["workflows"][TWorkflowName]>>(queryName: K, handler: QueryHandlerImplementation<NonNullable<TContract["workflows"][TWorkflowName]["queries"]> extends Record<string, QueryDefinition> ? NonNullable<TContract["workflows"][TWorkflowName]["queries"]>[K] extends QueryDefinition ? NonNullable<TContract["workflows"][TWorkflowName]["queries"]>[K] : never : never>) => void;
230
274
  /**
231
275
  * Define an update handler within the workflow implementation
232
276
  * Allows the update handler to access and modify workflow state
@@ -245,7 +289,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
245
289
  * }
246
290
  * ```
247
291
  */
248
- 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;
292
+ defineUpdate: <K extends UpdateNamesOf<TContract["workflows"][TWorkflowName]>>(updateName: K, handler: UpdateHandlerImplementation<NonNullable<TContract["workflows"][TWorkflowName]["updates"]> extends Record<string, UpdateDefinition> ? NonNullable<TContract["workflows"][TWorkflowName]["updates"]>[K] extends UpdateDefinition ? NonNullable<TContract["workflows"][TWorkflowName]["updates"]>[K] : never : never>) => void;
249
293
  /**
250
294
  * Start a child workflow and return a typed handle with ResultAsync pattern
251
295
  *
@@ -276,7 +320,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
276
320
  * );
277
321
  * ```
278
322
  */
279
- startChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<TypedChildWorkflowHandle<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError>;
323
+ startChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"] & string>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<TypedChildWorkflowHandle<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError | ChildWorkflowCancelledError | ChildWorkflowNotFoundError>;
280
324
  /**
281
325
  * Execute a child workflow (start and wait for result) with ResultAsync pattern
282
326
  *
@@ -304,7 +348,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
304
348
  * );
305
349
  * ```
306
350
  */
307
- executeChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<ClientInferOutput<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError>;
351
+ executeChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"] & string>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<ClientInferOutput<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError | ChildWorkflowCancelledError | ChildWorkflowNotFoundError>;
308
352
  /**
309
353
  * Run `fn` inside a cancellable Temporal scope. If the workflow (or an
310
354
  * ancestor scope) is cancelled while `fn` is in flight, the resulting
@@ -312,9 +356,11 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
312
356
  * rejecting — letting callers handle cancellation explicitly, typically
313
357
  * to perform a graceful exit from the current step.
314
358
  *
315
- * Non-cancellation errors thrown by `fn` propagate as ResultAsync
316
- * rejections unchanged, preserving their identity for upstream
317
- * `try/catch` blocks.
359
+ * Non-cancellation errors thrown by `fn` resolve to
360
+ * `err(WorkflowScopeError)` (with the original error preserved on
361
+ * `cause`). Both failure modes ride neverthrow's railway, so
362
+ * `result.match(...)` is exhaustive — nothing escapes as an unhandled
363
+ * rejection.
318
364
  *
319
365
  * @example
320
366
  * ```ts
@@ -324,29 +370,34 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
324
370
  * });
325
371
  *
326
372
  * if (result.isErr()) {
327
- * // workflow was cancelled — perform cleanup that must not be cancelled:
328
- * await context.nonCancellableScope(async () => {
329
- * await context.activities.releaseResources(args);
330
- * });
331
- * return { status: "cancelled" };
373
+ * if (result.error instanceof WorkflowCancelledError) {
374
+ * // workflow was cancelled — perform cleanup that must not be cancelled:
375
+ * await context.nonCancellableScope(async () => {
376
+ * await context.activities.releaseResources(args);
377
+ * });
378
+ * return { status: "cancelled" };
379
+ * }
380
+ * // result.error instanceof WorkflowScopeError — domain failure
381
+ * return { status: "failed" };
332
382
  * }
333
383
  *
334
384
  * return { status: "ok" };
335
385
  * }
336
386
  * ```
337
387
  */
338
- cancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError>;
388
+ cancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError | WorkflowScopeError>;
339
389
  /**
340
390
  * Run `fn` inside a non-cancellable Temporal scope. Cancellation requests
341
391
  * from outside the scope are ignored for its duration — the idiomatic way
342
392
  * to perform cleanup work that must not be interrupted.
343
393
  *
344
394
  * Returns the same `ResultAsync<...>` shape as
345
- * {@link WorkflowContext.cancellableScope} for symmetry; the `err(...)`
346
- * branch only triggers when cancellation is raised from *inside* the
347
- * scope, which is rare.
395
+ * {@link WorkflowContext.cancellableScope} for symmetry; the
396
+ * `err(WorkflowCancelledError)` branch only triggers when cancellation is
397
+ * raised from *inside* the scope, which is rare. Non-cancellation errors
398
+ * surface as `err(WorkflowScopeError)`.
348
399
  */
349
- nonCancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError>;
400
+ nonCancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError | WorkflowScopeError>;
350
401
  /**
351
402
  * Continue this workflow execution as a new run, optionally with a different
352
403
  * workflow type from another contract.
@@ -376,48 +427,9 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
376
427
  */
377
428
  continueAsNew: {
378
429
  /** Same-workflow continuation — args typed against this workflow's input. */(args: ClientInferInput<TContract["workflows"][TWorkflowName]>, options?: TypedContinueAsNewOptions): Promise<never>; /** Cross-contract continuation — args typed against the destination workflow. */
379
- <TOtherContract extends ContractDefinition, TOtherWorkflowName extends keyof TOtherContract["workflows"]>(contract: TOtherContract, workflowName: TOtherWorkflowName, args: ClientInferInput<TOtherContract["workflows"][TOtherWorkflowName]>, options?: TypedContinueAsNewOptions): Promise<never>;
430
+ <TOtherContract extends ContractDefinition, TOtherWorkflowName extends keyof TOtherContract["workflows"] & string>(contract: TOtherContract, workflowName: TOtherWorkflowName, args: ClientInferInput<TOtherContract["workflows"][TOtherWorkflowName]>, options?: TypedContinueAsNewOptions): Promise<never>;
380
431
  };
381
- };
382
- /**
383
- * Options for starting a child workflow
384
- */
385
- type TypedChildWorkflowOptions<TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]> = Omit<ChildWorkflowOptions, "taskQueue" | "args"> & {
386
- args: ClientInferInput<TChildContract["workflows"][TChildWorkflowName]>;
387
- };
388
- /**
389
- * Typed handle for a child workflow with neverthrow ResultAsync pattern
390
- */
391
- type TypedChildWorkflowHandle<TWorkflow extends WorkflowDefinition> = {
392
- /**
393
- * Get child workflow result with Result pattern
394
- */
395
- result: () => ResultAsync<ClientInferOutput<TWorkflow>, ChildWorkflowError>;
396
- /**
397
- * Child workflow ID
398
- */
399
- workflowId: string;
400
- };
401
- /**
402
- * Activity function signature from workflow execution perspective
403
- *
404
- * Workflows call activities with validated input (z.input parsed) and receive validated output (z.output)
405
- */
406
- type WorkflowInferActivity<TActivity extends ActivityDefinition> = (args: ClientInferInput<TActivity>) => Promise<ClientInferOutput<TActivity>>;
407
- /**
408
- * All global activities from a contract (workflow execution perspective)
409
- */
410
- type WorkflowInferActivities<TContract extends ContractDefinition> = TContract["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof TContract["activities"]]: WorkflowInferActivity<TContract["activities"][K]> } : {};
411
- /**
412
- * Workflow-specific activities (workflow execution perspective)
413
- */
414
- type WorkflowInferWorkflowActivities<T extends WorkflowDefinition> = T["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof T["activities"]]: WorkflowInferActivity<T["activities"][K]> } : {};
415
- /**
416
- * All activities available in a workflow context (workflow execution perspective)
417
- *
418
- * Combines workflow-specific activities with global contract activities
419
- */
420
- type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>; //# sourceMappingURL=workflow.d.ts.map
432
+ }; //# sourceMappingURL=workflow.d.ts.map
421
433
  //#endregion
422
- export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowCancelledError, WorkflowInputValidationError, WorkflowOutputValidationError, declareWorkflow };
434
+ export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowCancelledError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowCancelledError, WorkflowInputValidationError, WorkflowOutputValidationError, WorkflowScopeError, declareWorkflow };
423
435
  //# sourceMappingURL=workflow.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.cts","names":[],"sources":["../src/handlers.ts","../src/internal.ts","../src/workflow.ts"],"mappings":";;;;;;;;;;;;AAkCA;KAAY,2BAAA,iBAA4C,gBAAA,KACtD,IAAA,EAAM,gBAAA,CAAiB,OAAA,aACb,OAAA;;;;;;;KAQA,0BAAA,gBAA0C,eAAA,KACpD,IAAA,EAAM,gBAAA,CAAiB,MAAA,MACpB,iBAAA,CAAkB,MAAA;;;;;;;KAQX,2BAAA,iBAA4C,gBAAA,KACtD,IAAA,EAAM,gBAAA,CAAiB,OAAA,MACpB,OAAA,CAAQ,iBAAA,CAAkB,OAAA;;;;;;;;KC2DnB,yBAAA,GAA4B,IAAA,CAAK,oBAAA;;;;;;;;;;;;;;;;;;;ADvE7C;;;;;;;;;;;;;;;;;;;AAUA;;;;;;;;;;;;;;;;;;;;;;;;AC6DA;;;;;;;;AC8BA;;;;;;iBAAgB,eAAA,mBACI,kBAAA,8BACU,SAAA,cAAA,CAAA;EAE5B,YAAA;EACA,QAAA;EACA,cAAA;EACA,eAAA;EACA;AAAA,GACC,sBAAA,CAAuB,SAAA,EAAW,aAAA,QAChC,IAAA,gBACA,OAAA,CAAQ,iBAAA,CAAkB,SAAA,cAAuB,aAAA;;;;;KAmHjD,gBAAA,mBACe,kBAAA,8BACU,SAAA,kBAEzB,SAAA,cAAuB,aAAA,wBAAqC,MAAA,SAAe,kBAAA,UAClE,SAAA,cAAuB,aAAA,qCAEhC,SAAA,uBAAgC,MAAA,SAAe,kBAAA,UACtC,SAAA;;;;KAMT,sBAAA,mBACe,kBAAA,8BACU,SAAA;EAE5B,YAAA,EAAc,aAAA;EACd,QAAA,EAAU,SAAA;EACV,cAAA,EAAgB,sBAAA,CAAuB,SAAA,EAAW,aAAA;EAjJlD;;;;;;;;;;;;;;;;;;;EAqKA,eAAA,EAAiB,eAAA;EA3JY;;;;AA6G9B;;;;;;;;;;;;;;;;;;EAqEC,qBAAA,GAAwB,OAAA,CACtB,MAAA,CAAO,gBAAA,CAAiB,SAAA,EAAW,aAAA,GAAgB,eAAA;AAAA;;;;;;;KAUlD,sBAAA,mBACe,kBAAA,8BACU,SAAA,kBAE5B,OAAA,EAAS,eAAA,CAAgB,SAAA,EAAW,aAAA,GACpC,IAAA,EAAM,gBAAA,CAAiB,SAAA,cAAuB,aAAA,OAC3C,OAAA,CAAQ,iBAAA,CAAkB,SAAA,cAAuB,aAAA;;;;;;;AAxE/B;;;KAmFlB,eAAA,mBACe,kBAAA,8BACU,SAAA;EAE5B,UAAA,EAAY,sCAAA,CAAuC,SAAA,EAAW,aAAA;EAC9D,IAAA,EAAM,YAAA;EA7EI;;;;;;;;;;;;;;;;;EAgGV,YAAA,mBAA+B,SAAA,cAAuB,aAAA,cACpD,UAAA,EAAY,CAAA,EACZ,OAAA,EAAS,2BAAA,CACP,SAAA,cAAuB,aAAA,aAA0B,CAAA,UAAW,gBAAA,GACxD,SAAA,cAAuB,aAAA,aAA0B,CAAA;EArG3C;;;;;;;;;;;;;;;;;EA2Hd,WAAA,mBAA8B,SAAA,cAAuB,aAAA,cACnD,SAAA,EAAW,CAAA,EACX,OAAA,EAAS,0BAAA,CACP,SAAA,cAAuB,aAAA,aAA0B,CAAA,UAAW,eAAA,GACxD,SAAA,cAAuB,aAAA,aAA0B,CAAA;EAvEtD;;;;;;;;;;;;;;;;;;EA8FH,YAAA,mBAA+B,SAAA,cAAuB,aAAA,cACpD,UAAA,EAAY,CAAA,EACZ,OAAA,EAAS,2BAAA,CACP,SAAA,cAAuB,aAAA,aAA0B,CAAA,UAAW,gBAAA,GACxD,SAAA,cAAuB,aAAA,aAA0B,CAAA;EAhGzD;;;;;;;;;;;;;;;;AAIiE;;;;;;;;;;;;;;EA+HjE,kBAAA,0BACyB,kBAAA,mCACU,cAAA,eAEjC,QAAA,EAAU,cAAA,EACV,YAAA,EAAc,kBAAA,EACd,OAAA,EAAS,yBAAA,CAA0B,cAAA,EAAgB,kBAAA,MAChD,WAAA,CACH,wBAAA,CAAyB,cAAA,cAA4B,kBAAA,IACrD,kBAAA;EAlG8D;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgIhE,oBAAA,0BACyB,kBAAA,mCACU,cAAA,eAEjC,QAAA,EAAU,cAAA,EACV,YAAA,EAAc,kBAAA,EACd,OAAA,EAAS,yBAAA,CAA0B,cAAA,EAAgB,kBAAA,MAChD,WAAA,CACH,iBAAA,CAAkB,cAAA,cAA4B,kBAAA,IAC9C,kBAAA;EA9CiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+EnC,gBAAA,MAAsB,EAAA,QAAU,CAAA,GAAI,OAAA,CAAQ,CAAA,MAAO,WAAA,CAAY,CAAA,EAAG,sBAAA;EAY3B;;;;;;;;;;EAAvC,mBAAA,MAAyB,EAAA,QAAU,CAAA,GAAI,OAAA,CAAQ,CAAA,MAAO,WAAA,CAAY,CAAA,EAAG,sBAAA;EAwCvD;;;;;;;;;;;;;;;;;;;;;;;;;;;EAXd,aAAA;IAnNqD,8EAsNjD,IAAA,EAAM,gBAAA,CAAiB,SAAA,cAAuB,aAAA,IAC9C,OAAA,GAAU,yBAAA,GACT,OAAA,SAvNG;IAAA,wBA0NmB,kBAAA,mCACU,cAAA,eAEjC,QAAA,EAAU,cAAA,EACV,YAAA,EAAc,kBAAA,EACd,IAAA,EAAM,gBAAA,CAAiB,cAAA,cAA4B,kBAAA,IACnD,OAAA,GAAU,yBAAA,GACT,OAAA;EAAA;AAAA;;;;KAOF,yBAAA,wBACoB,kBAAA,mCACU,cAAA,iBAC/B,IAAA,CAAK,oBAAA;EACP,IAAA,EAAM,gBAAA,CAAiB,cAAA,cAA4B,kBAAA;AAAA;;;;KAMhD,wBAAA,mBAA2C,kBAAA;EAzNkB;;;EA6NhE,MAAA,QAAc,WAAA,CAAY,iBAAA,CAAkB,SAAA,GAAY,kBAAA;EA9NtD;;;EAmOF,UAAA;AAAA;;;;;;KAQG,qBAAA,mBAAwC,kBAAA,KAC3C,IAAA,EAAM,gBAAA,CAAiB,SAAA,MACpB,OAAA,CAAQ,iBAAA,CAAkB,SAAA;;;;KAK1B,uBAAA,mBAA0C,kBAAA,IAC7C,SAAA,uBAAgC,MAAA,SAAe,kBAAA,kBAE7B,SAAA,iBAA0B,qBAAA,CAAsB,SAAA,eAAwB,CAAA;;;;KAOvF,+BAAA,WAA0C,kBAAA,IAC7C,CAAA,uBAAwB,MAAA,SAAe,kBAAA,kBAErB,CAAA,iBAAkB,qBAAA,CAAsB,CAAA,eAAgB,CAAA;;;;;;KASvE,sCAAA,mBACe,kBAAA,8BACU,SAAA,iBAC1B,+BAAA,CAAgC,SAAA,cAAuB,aAAA,KACzD,uBAAA,CAAwB,SAAA"}
1
+ {"version":3,"file":"workflow.d.cts","names":[],"sources":["../src/handlers.ts","../src/internal.ts","../src/child-workflow.ts","../src/activities-proxy.ts","../src/workflow.ts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { _ as WorkerInferOutput, a as ChildWorkflowNotFoundError, c as SignalInputValidationError, d as WorkflowCancelledError, f as WorkflowInputValidationError, g as WorkerInferInput, h as ClientInferOutput, i as ChildWorkflowError, l as UpdateInputValidationError, m as ClientInferInput, n as ActivityInputValidationError, o as QueryInputValidationError, p as WorkflowOutputValidationError, r as ActivityOutputValidationError, s as QueryOutputValidationError, u as UpdateOutputValidationError } from "./errors-BjNG_jUi.mjs";
1
+ import { _ as ClientInferOutput, a as ChildWorkflowError, c as QueryOutputValidationError, d as UpdateOutputValidationError, f as WorkflowCancelledError, g as ClientInferInput, h as WorkflowScopeError, i as ChildWorkflowCancelledError, l as SignalInputValidationError, m as WorkflowOutputValidationError, n as ActivityInputValidationError, o as ChildWorkflowNotFoundError, p as WorkflowInputValidationError, r as ActivityOutputValidationError, s as QueryInputValidationError, u as UpdateInputValidationError, v as WorkerInferInput, y as WorkerInferOutput } from "./errors-DbPMxULo.mjs";
2
+ import { ActivityDefinition, AnyWorkflowDefinition, ContractDefinition, QueryDefinition, QueryNamesOf, SignalDefinition, SignalNamesOf, UpdateDefinition, UpdateNamesOf } from "@temporal-contract/contract";
2
3
  import { ActivityOptions, ChildWorkflowOptions, ContinueAsNewOptions, WorkflowInfo } from "@temporalio/workflow";
3
4
  import { ResultAsync } from "neverthrow";
4
- import { ActivityDefinition, ContractDefinition, QueryDefinition, SignalDefinition, UpdateDefinition, WorkflowDefinition } from "@temporal-contract/contract";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
 
7
7
  //#region src/handlers.d.ts
@@ -35,6 +35,51 @@ type UpdateHandlerImplementation<TUpdate extends UpdateDefinition> = (args: Work
35
35
  */
36
36
  type TypedContinueAsNewOptions = Omit<ContinueAsNewOptions, "workflowType" | "taskQueue">;
37
37
  //#endregion
38
+ //#region src/child-workflow.d.ts
39
+ /**
40
+ * Options for starting a child workflow. `taskQueue` and `args` come from
41
+ * the contract; everything else is forwarded to Temporal's
42
+ * `startChild` / `executeChild`.
43
+ */
44
+ type TypedChildWorkflowOptions<TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"] & string> = Omit<ChildWorkflowOptions, "taskQueue" | "args"> & {
45
+ args: ClientInferInput<TChildContract["workflows"][TChildWorkflowName]>;
46
+ };
47
+ /**
48
+ * Typed handle for a child workflow with neverthrow `ResultAsync` pattern.
49
+ */
50
+ type TypedChildWorkflowHandle<TWorkflow extends AnyWorkflowDefinition> = {
51
+ /**
52
+ * Get child workflow result with `ResultAsync` pattern.
53
+ */
54
+ result: () => ResultAsync<ClientInferOutput<TWorkflow>, ChildWorkflowError | ChildWorkflowCancelledError>;
55
+ /**
56
+ * Child workflow ID.
57
+ */
58
+ workflowId: string;
59
+ };
60
+ //#endregion
61
+ //#region src/activities-proxy.d.ts
62
+ /**
63
+ * Activity function signature from workflow execution perspective.
64
+ *
65
+ * Workflows call activities with validated input (z.input parsed) and receive validated output (z.output).
66
+ */
67
+ type WorkflowInferActivity<TActivity extends ActivityDefinition> = (args: ClientInferInput<TActivity>) => Promise<ClientInferOutput<TActivity>>;
68
+ /**
69
+ * All global activities from a contract (workflow execution perspective).
70
+ */
71
+ type WorkflowInferActivities<TContract extends ContractDefinition> = TContract["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof TContract["activities"]]: WorkflowInferActivity<TContract["activities"][K]> } : {};
72
+ /**
73
+ * Workflow-specific activities (workflow execution perspective).
74
+ */
75
+ type WorkflowInferWorkflowActivities<T extends AnyWorkflowDefinition> = T["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof T["activities"]]: WorkflowInferActivity<T["activities"][K]> } : {};
76
+ /**
77
+ * All activities available in a workflow context (workflow execution perspective).
78
+ *
79
+ * Combines workflow-specific activities with global contract activities.
80
+ */
81
+ type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>;
82
+ //#endregion
38
83
  //#region src/workflow.d.ts
39
84
  /**
40
85
  * Create a typed workflow implementation with automatic validation
@@ -109,7 +154,7 @@ type TypedContinueAsNewOptions = Omit<ContinueAsNewOptions, "workflowType" | "ta
109
154
  * });
110
155
  * ```
111
156
  */
112
- declare function declareWorkflow<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]>({
157
+ declare function declareWorkflow<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string>({
113
158
  workflowName,
114
159
  contract,
115
160
  implementation,
@@ -120,11 +165,11 @@ declare function declareWorkflow<TContract extends ContractDefinition, TWorkflow
120
165
  * Union of all activity names available to a workflow — the workflow-local
121
166
  * activities plus the contract's global activities.
122
167
  */
123
- type ActivityNamesFor<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = (TContract["workflows"][TWorkflowName]["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["workflows"][TWorkflowName]["activities"] & string : never) | (TContract["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["activities"] & string : never);
168
+ type ActivityNamesFor<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = (TContract["workflows"][TWorkflowName]["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["workflows"][TWorkflowName]["activities"] & string : never) | (TContract["activities"] extends Record<string, ActivityDefinition> ? keyof TContract["activities"] & string : never);
124
169
  /**
125
170
  * Options for declaring a workflow implementation
126
171
  */
127
- type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
172
+ type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = {
128
173
  workflowName: TWorkflowName;
129
174
  contract: TContract;
130
175
  implementation: WorkflowImplementation<TContract, TWorkflowName>;
@@ -178,7 +223,7 @@ type DeclareWorkflowOptions<TContract extends ContractDefinition, TWorkflowName
178
223
  * Receives a workflow context (with typed activities and utilities) and validated input arguments.
179
224
  * Returns the workflow output which will be validated against the contract schema.
180
225
  */
181
- type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = (context: WorkflowContext<TContract, TWorkflowName>, args: WorkerInferInput<TContract["workflows"][TWorkflowName]>) => Promise<WorkerInferOutput<TContract["workflows"][TWorkflowName]>>;
226
+ type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = (context: WorkflowContext<TContract, TWorkflowName>, args: WorkerInferInput<TContract["workflows"][TWorkflowName]>) => Promise<WorkerInferOutput<TContract["workflows"][TWorkflowName]>>;
182
227
  /**
183
228
  * Workflow execution context providing typed activities, workflow info, and interaction handlers
184
229
  *
@@ -188,8 +233,8 @@ type WorkflowImplementation<TContract extends ContractDefinition, TWorkflowName
188
233
  * - Signal, query, and update handler registration
189
234
  * - Child workflow execution capabilities
190
235
  */
191
- type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = {
192
- activities: WorkflowInferWorkflowContextActivities<TContract, TWorkflowName>;
236
+ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"] & string> = {
237
+ activities: Readonly<WorkflowInferWorkflowContextActivities<TContract, TWorkflowName>>;
193
238
  info: WorkflowInfo;
194
239
  /**
195
240
  * Define a signal handler within the workflow implementation
@@ -208,7 +253,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
208
253
  * }
209
254
  * ```
210
255
  */
211
- 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;
256
+ defineSignal: <K extends SignalNamesOf<TContract["workflows"][TWorkflowName]>>(signalName: K, handler: SignalHandlerImplementation<NonNullable<TContract["workflows"][TWorkflowName]["signals"]> extends Record<string, SignalDefinition> ? NonNullable<TContract["workflows"][TWorkflowName]["signals"]>[K] extends SignalDefinition ? NonNullable<TContract["workflows"][TWorkflowName]["signals"]>[K] : never : never>) => void;
212
257
  /**
213
258
  * Define a query handler within the workflow implementation
214
259
  * Allows the query handler to access workflow state
@@ -226,7 +271,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
226
271
  * }
227
272
  * ```
228
273
  */
229
- 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;
274
+ defineQuery: <K extends QueryNamesOf<TContract["workflows"][TWorkflowName]>>(queryName: K, handler: QueryHandlerImplementation<NonNullable<TContract["workflows"][TWorkflowName]["queries"]> extends Record<string, QueryDefinition> ? NonNullable<TContract["workflows"][TWorkflowName]["queries"]>[K] extends QueryDefinition ? NonNullable<TContract["workflows"][TWorkflowName]["queries"]>[K] : never : never>) => void;
230
275
  /**
231
276
  * Define an update handler within the workflow implementation
232
277
  * Allows the update handler to access and modify workflow state
@@ -245,7 +290,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
245
290
  * }
246
291
  * ```
247
292
  */
248
- 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;
293
+ defineUpdate: <K extends UpdateNamesOf<TContract["workflows"][TWorkflowName]>>(updateName: K, handler: UpdateHandlerImplementation<NonNullable<TContract["workflows"][TWorkflowName]["updates"]> extends Record<string, UpdateDefinition> ? NonNullable<TContract["workflows"][TWorkflowName]["updates"]>[K] extends UpdateDefinition ? NonNullable<TContract["workflows"][TWorkflowName]["updates"]>[K] : never : never>) => void;
249
294
  /**
250
295
  * Start a child workflow and return a typed handle with ResultAsync pattern
251
296
  *
@@ -276,7 +321,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
276
321
  * );
277
322
  * ```
278
323
  */
279
- startChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<TypedChildWorkflowHandle<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError>;
324
+ startChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"] & string>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<TypedChildWorkflowHandle<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError | ChildWorkflowCancelledError | ChildWorkflowNotFoundError>;
280
325
  /**
281
326
  * Execute a child workflow (start and wait for result) with ResultAsync pattern
282
327
  *
@@ -304,7 +349,7 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
304
349
  * );
305
350
  * ```
306
351
  */
307
- executeChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<ClientInferOutput<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError>;
352
+ executeChildWorkflow: <TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"] & string>(contract: TChildContract, workflowName: TChildWorkflowName, options: TypedChildWorkflowOptions<TChildContract, TChildWorkflowName>) => ResultAsync<ClientInferOutput<TChildContract["workflows"][TChildWorkflowName]>, ChildWorkflowError | ChildWorkflowCancelledError | ChildWorkflowNotFoundError>;
308
353
  /**
309
354
  * Run `fn` inside a cancellable Temporal scope. If the workflow (or an
310
355
  * ancestor scope) is cancelled while `fn` is in flight, the resulting
@@ -312,9 +357,11 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
312
357
  * rejecting — letting callers handle cancellation explicitly, typically
313
358
  * to perform a graceful exit from the current step.
314
359
  *
315
- * Non-cancellation errors thrown by `fn` propagate as ResultAsync
316
- * rejections unchanged, preserving their identity for upstream
317
- * `try/catch` blocks.
360
+ * Non-cancellation errors thrown by `fn` resolve to
361
+ * `err(WorkflowScopeError)` (with the original error preserved on
362
+ * `cause`). Both failure modes ride neverthrow's railway, so
363
+ * `result.match(...)` is exhaustive — nothing escapes as an unhandled
364
+ * rejection.
318
365
  *
319
366
  * @example
320
367
  * ```ts
@@ -324,29 +371,34 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
324
371
  * });
325
372
  *
326
373
  * if (result.isErr()) {
327
- * // workflow was cancelled — perform cleanup that must not be cancelled:
328
- * await context.nonCancellableScope(async () => {
329
- * await context.activities.releaseResources(args);
330
- * });
331
- * return { status: "cancelled" };
374
+ * if (result.error instanceof WorkflowCancelledError) {
375
+ * // workflow was cancelled — perform cleanup that must not be cancelled:
376
+ * await context.nonCancellableScope(async () => {
377
+ * await context.activities.releaseResources(args);
378
+ * });
379
+ * return { status: "cancelled" };
380
+ * }
381
+ * // result.error instanceof WorkflowScopeError — domain failure
382
+ * return { status: "failed" };
332
383
  * }
333
384
  *
334
385
  * return { status: "ok" };
335
386
  * }
336
387
  * ```
337
388
  */
338
- cancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError>;
389
+ cancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError | WorkflowScopeError>;
339
390
  /**
340
391
  * Run `fn` inside a non-cancellable Temporal scope. Cancellation requests
341
392
  * from outside the scope are ignored for its duration — the idiomatic way
342
393
  * to perform cleanup work that must not be interrupted.
343
394
  *
344
395
  * Returns the same `ResultAsync<...>` shape as
345
- * {@link WorkflowContext.cancellableScope} for symmetry; the `err(...)`
346
- * branch only triggers when cancellation is raised from *inside* the
347
- * scope, which is rare.
396
+ * {@link WorkflowContext.cancellableScope} for symmetry; the
397
+ * `err(WorkflowCancelledError)` branch only triggers when cancellation is
398
+ * raised from *inside* the scope, which is rare. Non-cancellation errors
399
+ * surface as `err(WorkflowScopeError)`.
348
400
  */
349
- nonCancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError>;
401
+ nonCancellableScope: <T>(fn: () => T | Promise<T>) => ResultAsync<T, WorkflowCancelledError | WorkflowScopeError>;
350
402
  /**
351
403
  * Continue this workflow execution as a new run, optionally with a different
352
404
  * workflow type from another contract.
@@ -376,48 +428,9 @@ type WorkflowContext<TContract extends ContractDefinition, TWorkflowName extends
376
428
  */
377
429
  continueAsNew: {
378
430
  /** Same-workflow continuation — args typed against this workflow's input. */(args: ClientInferInput<TContract["workflows"][TWorkflowName]>, options?: TypedContinueAsNewOptions): Promise<never>; /** Cross-contract continuation — args typed against the destination workflow. */
379
- <TOtherContract extends ContractDefinition, TOtherWorkflowName extends keyof TOtherContract["workflows"]>(contract: TOtherContract, workflowName: TOtherWorkflowName, args: ClientInferInput<TOtherContract["workflows"][TOtherWorkflowName]>, options?: TypedContinueAsNewOptions): Promise<never>;
431
+ <TOtherContract extends ContractDefinition, TOtherWorkflowName extends keyof TOtherContract["workflows"] & string>(contract: TOtherContract, workflowName: TOtherWorkflowName, args: ClientInferInput<TOtherContract["workflows"][TOtherWorkflowName]>, options?: TypedContinueAsNewOptions): Promise<never>;
380
432
  };
381
- };
382
- /**
383
- * Options for starting a child workflow
384
- */
385
- type TypedChildWorkflowOptions<TChildContract extends ContractDefinition, TChildWorkflowName extends keyof TChildContract["workflows"]> = Omit<ChildWorkflowOptions, "taskQueue" | "args"> & {
386
- args: ClientInferInput<TChildContract["workflows"][TChildWorkflowName]>;
387
- };
388
- /**
389
- * Typed handle for a child workflow with neverthrow ResultAsync pattern
390
- */
391
- type TypedChildWorkflowHandle<TWorkflow extends WorkflowDefinition> = {
392
- /**
393
- * Get child workflow result with Result pattern
394
- */
395
- result: () => ResultAsync<ClientInferOutput<TWorkflow>, ChildWorkflowError>;
396
- /**
397
- * Child workflow ID
398
- */
399
- workflowId: string;
400
- };
401
- /**
402
- * Activity function signature from workflow execution perspective
403
- *
404
- * Workflows call activities with validated input (z.input parsed) and receive validated output (z.output)
405
- */
406
- type WorkflowInferActivity<TActivity extends ActivityDefinition> = (args: ClientInferInput<TActivity>) => Promise<ClientInferOutput<TActivity>>;
407
- /**
408
- * All global activities from a contract (workflow execution perspective)
409
- */
410
- type WorkflowInferActivities<TContract extends ContractDefinition> = TContract["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof TContract["activities"]]: WorkflowInferActivity<TContract["activities"][K]> } : {};
411
- /**
412
- * Workflow-specific activities (workflow execution perspective)
413
- */
414
- type WorkflowInferWorkflowActivities<T extends WorkflowDefinition> = T["activities"] extends Record<string, ActivityDefinition> ? { [K in keyof T["activities"]]: WorkflowInferActivity<T["activities"][K]> } : {};
415
- /**
416
- * All activities available in a workflow context (workflow execution perspective)
417
- *
418
- * Combines workflow-specific activities with global contract activities
419
- */
420
- type WorkflowInferWorkflowContextActivities<TContract extends ContractDefinition, TWorkflowName extends keyof TContract["workflows"]> = WorkflowInferWorkflowActivities<TContract["workflows"][TWorkflowName]> & WorkflowInferActivities<TContract>; //# sourceMappingURL=workflow.d.ts.map
433
+ }; //# sourceMappingURL=workflow.d.ts.map
421
434
  //#endregion
422
- export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowCancelledError, WorkflowInputValidationError, WorkflowOutputValidationError, declareWorkflow };
435
+ export { ActivityInputValidationError, ActivityOutputValidationError, ChildWorkflowCancelledError, ChildWorkflowError, ChildWorkflowNotFoundError, QueryInputValidationError, QueryOutputValidationError, SignalInputValidationError, UpdateInputValidationError, UpdateOutputValidationError, WorkflowCancelledError, WorkflowInputValidationError, WorkflowOutputValidationError, WorkflowScopeError, declareWorkflow };
423
436
  //# sourceMappingURL=workflow.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.mts","names":[],"sources":["../src/handlers.ts","../src/internal.ts","../src/workflow.ts"],"mappings":"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"}
1
+ {"version":3,"file":"workflow.d.mts","names":[],"sources":["../src/handlers.ts","../src/internal.ts","../src/child-workflow.ts","../src/activities-proxy.ts","../src/workflow.ts"],"mappings":"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"}