@duraflows/nestjs 1.1.0 → 2.1.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 CHANGED
@@ -7,7 +7,9 @@ Part of the [duraflows](https://github.com/camcima/duraflows) monorepo.
7
7
  ## Features
8
8
 
9
9
  - Dynamic NestJS module with `forRoot()` and `forRootAsync()` configuration
10
+ - Registered as a **global module** -- feature modules can inject `WorkflowService` without re-importing `WorkflowModule.forRoot()`
10
11
  - `WorkflowService` for creating instances, triggering events, and querying state
12
+ - Type-safe `createInstanceFor()` / `triggerEventFor()` variants that narrow `currentState` / `fromState` / `toState` to the state union of a `WorkflowDefinition<TState>`
11
13
  - `WorkflowTimeoutService` for processing expired workflows
12
14
  - Optional REST controllers for full HTTP API
13
15
  - `@WorkflowCommand` decorator with automatic discovery
@@ -98,6 +100,40 @@ export class OrderService {
98
100
  }
99
101
  ```
100
102
 
103
+ ### Type-Safe Variants
104
+
105
+ When you have a typed `WorkflowDefinition<TState>` in hand, use `createInstanceFor` / `triggerEventFor` to narrow `currentState`, `fromState`, and `toState` to the state union instead of `string`:
106
+
107
+ ```ts
108
+ import type { WorkflowDefinition } from "@duraflows/nestjs";
109
+
110
+ type OrderState = "new" | "paid" | "shipped" | "cancelled";
111
+
112
+ const orderWorkflow: WorkflowDefinition<OrderState> = {
113
+ name: "order",
114
+ initialState: "new",
115
+ states: {
116
+ new: { events: { PaymentReceived: { targetState: "paid" }, Cancel: { targetState: "cancelled" } } },
117
+ paid: { events: { Ship: { targetState: "shipped" } } },
118
+ shipped: {},
119
+ cancelled: {},
120
+ },
121
+ };
122
+
123
+ // `instance.currentState` is typed as OrderState, not string
124
+ const instance = await workflowService.createInstanceFor(orderWorkflow, {
125
+ metadata: { orderId: "abc" },
126
+ });
127
+
128
+ // `result.fromState` / `result.toState` are typed as OrderState
129
+ const result = await workflowService.triggerEventFor(orderWorkflow, {
130
+ workflowInstanceUuid: instance.uuid,
131
+ eventName: "PaymentReceived",
132
+ });
133
+ ```
134
+
135
+ `triggerEventFor` does not verify at runtime that the instance belongs to the supplied definition -- the type narrowing is the caller's contract. Pair it with `createInstanceFor` to keep that invariant.
136
+
101
137
  ### @WorkflowCommand Decorator
102
138
 
103
139
  Mark command handlers for automatic discovery:
@@ -1,10 +1,31 @@
1
1
  import { WorkflowHandle } from "@duraflows/core";
2
- import type { WorkflowRuntime, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, GetAvailableEventsInput, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, WorkflowHistoryRecord } from "@duraflows/core";
2
+ import type { WorkflowRuntime, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, GetAvailableEventsInput, WorkflowDefinition, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, WorkflowHistoryRecord } from "@duraflows/core";
3
3
  export declare class WorkflowService {
4
4
  private readonly runtime;
5
5
  constructor(runtime: WorkflowRuntime);
6
6
  createInstance(input: CreateWorkflowInstanceInput): Promise<WorkflowInstance>;
7
+ /**
8
+ * Type-safe variant of {@link createInstance} that binds the resulting
9
+ * instance's `currentState` to the state union of the supplied
10
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
11
+ * hand and wants to avoid widening `currentState` to `string`.
12
+ *
13
+ * The `workflowName` is read from the definition; callers pass only the
14
+ * non-name portion of `CreateWorkflowInstanceInput`.
15
+ */
16
+ createInstanceFor<TState extends string>(definition: WorkflowDefinition<TState>, input?: Omit<CreateWorkflowInstanceInput, "workflowName">): Promise<WorkflowInstance<TState>>;
7
17
  triggerEvent(input: TriggerWorkflowEventInput): Promise<WorkflowExecutionResult>;
18
+ /**
19
+ * Type-safe variant of {@link triggerEvent} that narrows the resulting
20
+ * `fromState`/`toState` to the state union of the supplied
21
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
22
+ * hand and wants to avoid widening to `string`.
23
+ *
24
+ * Does not validate at runtime that the instance belongs to the given
25
+ * definition — that is the caller's responsibility (typically enforced
26
+ * upstream when the instance was created via `createInstanceFor`).
27
+ */
28
+ triggerEventFor<TState extends string>(definition: WorkflowDefinition<TState>, input: TriggerWorkflowEventInput): Promise<WorkflowExecutionResult<TState>>;
8
29
  getAvailableEvents(input: GetAvailableEventsInput): Promise<AvailableWorkflowEvent[]>;
9
30
  getInstance(uuid: string): Promise<WorkflowInstance | null>;
10
31
  getHistory(workflowInstanceUuid: string, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../../src/services/workflow.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,qBACa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGrC,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7E,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIhF,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAIrF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAI3D,UAAU,CACd,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAGxC"}
1
+ {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../../src/services/workflow.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,qBACa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGrC,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInF;;;;;;;;OAQG;IACG,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAC3C,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACtC,KAAK,GAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAM,GAC5D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAU9B,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItF;;;;;;;;;OASG;IACG,eAAe,CAAC,MAAM,SAAS,MAAM,EACzC,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACtC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAQrC,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAIrF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAI3D,UAAU,CACd,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAGxC"}
@@ -24,9 +24,44 @@ let WorkflowService = class WorkflowService {
24
24
  async createInstance(input) {
25
25
  return this.runtime.createInstance(input);
26
26
  }
27
+ /**
28
+ * Type-safe variant of {@link createInstance} that binds the resulting
29
+ * instance's `currentState` to the state union of the supplied
30
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
31
+ * hand and wants to avoid widening `currentState` to `string`.
32
+ *
33
+ * The `workflowName` is read from the definition; callers pass only the
34
+ * non-name portion of `CreateWorkflowInstanceInput`.
35
+ */
36
+ async createInstanceFor(definition, input = {}) {
37
+ const instance = await this.runtime.createInstance({
38
+ ...input,
39
+ workflowName: definition.name,
40
+ });
41
+ // The runtime initialises `currentState` from `definition.initialState`,
42
+ // which is `TState`. Narrowing here is justified by that invariant.
43
+ return instance;
44
+ }
27
45
  async triggerEvent(input) {
28
46
  return this.runtime.triggerEvent(input);
29
47
  }
48
+ /**
49
+ * Type-safe variant of {@link triggerEvent} that narrows the resulting
50
+ * `fromState`/`toState` to the state union of the supplied
51
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
52
+ * hand and wants to avoid widening to `string`.
53
+ *
54
+ * Does not validate at runtime that the instance belongs to the given
55
+ * definition — that is the caller's responsibility (typically enforced
56
+ * upstream when the instance was created via `createInstanceFor`).
57
+ */
58
+ async triggerEventFor(definition, input) {
59
+ // `definition` is consumed at type-level only; the runtime resolves
60
+ // the instance by uuid and reads its workflowName from the live row.
61
+ void definition;
62
+ const result = await this.runtime.triggerEvent(input);
63
+ return result;
64
+ }
30
65
  async getAvailableEvents(input) {
31
66
  return this.runtime.getAvailableEvents(input);
32
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../../src/services/workflow.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,0CAAiD;AAWjD,0EAAoE;AAG7D,IAAM,eAAe,GAArB,MAAM,eAAe;IAGP;IAFnB,YAEmB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IACxC,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAAkC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAgC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,oBAA4B,EAC5B,OAA6C;QAE7C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,qBAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAhCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,sCAAgB,CAAC,CAAA;;GAFhB,eAAe,CAgC3B"}
1
+ {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../../src/services/workflow.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,0CAAiD;AAYjD,0EAAoE;AAG7D,IAAM,eAAe,GAArB,MAAM,eAAe;IAGP;IAFnB,YAEmB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IACxC,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAAkC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAsC,EACtC,QAA2D,EAAE;QAE7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YACjD,GAAG,KAAK;YACR,YAAY,EAAE,UAAU,CAAC,IAAI;SAC9B,CAAC,CAAC;QACH,yEAAyE;QACzE,oEAAoE;QACpE,OAAO,QAAoC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAgC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CACnB,UAAsC,EACtC,KAAgC;QAEhC,oEAAoE;QACpE,qEAAqE;QACrE,KAAK,UAAU,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,MAAyC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,oBAA4B,EAC5B,OAA6C;QAE7C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,qBAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AA3EY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,sCAAgB,CAAC,CAAA;;GAFhB,eAAe,CA2E3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../../src/workflow.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,IAAI,EAAiB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,2BAA2B,EAK3B,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAmB7G,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE;IAC7E,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IACnG,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAeD,qBACa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IA4H7D,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAAG,aAAa;CAkIpH"}
1
+ {"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../../src/workflow.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,IAAI,EAAiB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,2BAA2B,EAK3B,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAmB7G,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE;IAC7E,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IACnG,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAeD,qBACa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IA6H7D,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAAG,aAAa;CAmIpH"}
@@ -133,6 +133,7 @@ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
133
133
  ];
134
134
  return {
135
135
  module: WorkflowModule_1,
136
+ global: true, // allow downstream feature modules to inject WorkflowService without re-importing forRoot
136
137
  imports: [core_1.DiscoveryModule],
137
138
  controllers,
138
139
  providers,
@@ -247,6 +248,7 @@ let WorkflowModule = WorkflowModule_1 = class WorkflowModule {
247
248
  ];
248
249
  return {
249
250
  module: WorkflowModule_1,
251
+ global: true, // allow downstream feature modules to inject WorkflowService without re-importing forRootAsync
250
252
  imports: [core_1.DiscoveryModule, ...(options.imports ?? [])],
251
253
  controllers,
252
254
  providers,
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../../src/workflow.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../../src/workflow.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2G;AAC3G,uCAA4E;AAc5E,0CAMyB;AACzB,mFAA6G;AAC7G,2EAAwG;AACxG,yEASyC;AACzC,wEAAiE;AACjE,wFAAgF;AAChF,6FAAqF;AACrF,6FAAqF;AACrF,iGAAyF;AACzF,mGAA2F;AAgC3F,MAAM,eAAe,GAAG;IACtB,qCAAe;IACf,oDAAsB;IACtB,sCAAgB;IAChB,6CAAuB;IACvB,4CAAsB;IACtB,kDAA4B;IAC5B,+CAAyB;IACzB,6CAAuB;IACvB,iDAA2B;IAC3B,oCAAc;CACf,CAAC;AAGK,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAA8B;QAC3C,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB;YAC3C,CAAC,CAAC,CAAC,4DAA0B,EAAE,sDAAuB,EAAE,sDAAuB,EAAE,0DAAyB,CAAC;YAC3G,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAkB,OAAO,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAExE,MAAM,SAAS,GAAe;YAC5B,GAAG,cAAc;YACjB;gBACE,OAAO,EAAE,+CAAyB;gBAClC,UAAU,EAAE,CAAC,SAAoB,EAAE,gBAAkC,EAAE,EAAE;oBACvE,MAAM,UAAU,GAAG,IAAA,gDAAyB,EAAC,gBAAgB,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,IAAA,gDAAyB,EAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;oBACvE,OAAO,IAAI,8CAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,EAAE,CAAC,gBAAS,EAAE,uBAAgB,CAAC;aACtC;YACD;gBACE,OAAO,EAAE,6CAAuB;gBAChC,UAAU,EAAE,GAAG,EAAE;oBACf,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzE,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,CAAC,aAAa;wBAAE,OAAO,OAAO,CAAC,aAAa,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,4BAAqB,EAAE,CAAC;oBAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;wBACzC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvC,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;aACF;YACD;gBACE,OAAO,EAAE,kDAA4B;gBACrC,UAAU,EAAE,CAAC,eAAoC,EAAE,EAAE;oBACnD,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;oBAC/D,qEAAqE;oBACrE,iEAAiE;oBACjE,uDAAuD;oBACvD,MAAM,eAAe,GACnB,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvG,MAAM,QAAQ,GAAG,IAAI,iCAA0B,CAAC;wBAC9C,SAAS,EAAE,IAAI,wBAAiB,EAAE;wBAClC,QAAQ,EAAE,IAAI,uBAAgB,EAAE;wBAChC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE;qBAC1D,CAAC,CAAC;oBACH,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBACzC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,+CAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,6CAAuB;gBAChC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;aAC5C;YACD;gBACE,OAAO,EAAE,4CAAsB;gBAC/B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,YAAY;aAC3C;YACD;gBACE,OAAO,EAAE,iDAA2B;gBACpC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB;aAChD;YACD;gBACE,OAAO,EAAE,oCAAc;gBACvB,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,OAAO,EAAE,sCAAgB;gBACzB,UAAU,EAAE,CACV,kBAA8C,EAC9C,eAAoC,EACpC,aAAoC,EACpC,aAAoC,EACpC,YAAkC,EAClC,iBAA4C,EAC5C,OAAsB,EACtB,EAAE,CACF,IAAI,sBAAe,CAAC;oBAClB,kBAAkB;oBAClB,eAAe;oBACf,aAAa;oBACb,aAAa;oBACb,YAAY;oBACZ,iBAAiB;oBACjB,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC;gBACJ,MAAM,EAAE;oBACN,kDAA4B;oBAC5B,+CAAyB;oBACzB,6CAAuB;oBACvB,6CAAuB;oBACvB,4CAAsB;oBACtB,iDAA2B;oBAC3B,oCAAc;iBACf;aACF;YACD,qCAAe;YACf,oDAAsB;SACvB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,MAAM,EAAE,IAAI,EAAE,0FAA0F;YACxG,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,WAAW;YACX,SAAS;YACT,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAsC,OAA0C;QACjG,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB;YAC3C,CAAC,CAAC,CAAC,4DAA0B,EAAE,sDAAuB,EAAE,sDAAuB,EAAE,0DAAyB,CAAC;YAC3G,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAa;YAC/B,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,MAAM,SAAS,GAAe;YAC5B,cAAc;YACd,GAAG,cAAc;YACjB;gBACE,OAAO,EAAE,+CAAyB;gBAClC,UAAU,EAAE,CAAC,SAAoB,EAAE,gBAAkC,EAAE,EAAE;oBACvE,MAAM,UAAU,GAAG,IAAA,gDAAyB,EAAC,gBAAgB,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,IAAA,gDAAyB,EAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;oBACvE,OAAO,IAAI,8CAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,EAAE,CAAC,gBAAS,EAAE,uBAAgB,CAAC;aACtC;YACD;gBACE,OAAO,EAAE,6CAAuB;gBAChC,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE;oBAClD,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtE,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa;wBAAE,OAAO,MAAM,CAAC,aAAa,CAAC;oBACtD,MAAM,QAAQ,GAAG,IAAI,4BAAqB,EAAE,CAAC;oBAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;wBACxC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvC,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,kDAA4B;gBACrC,UAAU,EAAE,CAAC,MAAmC,EAAE,eAAoC,EAAE,EAAE;oBACxF,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;oBAC/D,qEAAqE;oBACrE,iEAAiE;oBACjE,uDAAuD;oBACvD,MAAM,eAAe,GACnB,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrG,MAAM,QAAQ,GAAG,IAAI,iCAA0B,CAAC;wBAC9C,SAAS,EAAE,IAAI,wBAAiB,EAAE;wBAClC,QAAQ,EAAE,IAAI,uBAAgB,EAAE;wBAChC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE;qBAC1D,CAAC,CAAC;oBACH,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACxC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,yBAAyB,EAAE,+CAAyB,CAAC;aAC/D;YACD;gBACE,OAAO,EAAE,6CAAuB;gBAChC,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa;gBACrF,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,4CAAsB;gBAC/B,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY;gBACpF,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,iDAA2B;gBACpC,UAAU,EAAE,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB;gBACzF,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,oCAAc;gBACvB,UAAU,EAAE,CAAC,MAAmC,EAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE;gBAC7G,MAAM,EAAE,CAAC,yBAAyB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,sCAAgB;gBACzB,UAAU,EAAE,CACV,MAAmC,EACnC,kBAA8C,EAC9C,eAAoC,EACpC,aAAoC,EACpC,aAAoC,EACpC,YAAkC,EAClC,iBAA4C,EAC5C,KAAoB,EACpB,EAAE,CACF,IAAI,sBAAe,CAAC;oBAClB,kBAAkB;oBAClB,eAAe;oBACf,aAAa;oBACb,aAAa;oBACb,YAAY;oBACZ,iBAAiB;oBACjB,KAAK;oBACL,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC;gBACJ,MAAM,EAAE;oBACN,yBAAyB;oBACzB,kDAA4B;oBAC5B,+CAAyB;oBACzB,6CAAuB;oBACvB,6CAAuB;oBACvB,4CAAsB;oBACtB,iDAA2B;oBAC3B,oCAAc;iBACf;aACF;YACD,qCAAe;YACf,oDAAsB;SACvB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,MAAM,EAAE,IAAI,EAAE,+FAA+F;YAC7G,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,WAAW;YACX,SAAS;YACT,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAjQY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CAiQ1B"}
@@ -1,10 +1,31 @@
1
1
  import { WorkflowHandle } from "@duraflows/core";
2
- import type { WorkflowRuntime, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, GetAvailableEventsInput, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, WorkflowHistoryRecord } from "@duraflows/core";
2
+ import type { WorkflowRuntime, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, GetAvailableEventsInput, WorkflowDefinition, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, WorkflowHistoryRecord } from "@duraflows/core";
3
3
  export declare class WorkflowService {
4
4
  private readonly runtime;
5
5
  constructor(runtime: WorkflowRuntime);
6
6
  createInstance(input: CreateWorkflowInstanceInput): Promise<WorkflowInstance>;
7
+ /**
8
+ * Type-safe variant of {@link createInstance} that binds the resulting
9
+ * instance's `currentState` to the state union of the supplied
10
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
11
+ * hand and wants to avoid widening `currentState` to `string`.
12
+ *
13
+ * The `workflowName` is read from the definition; callers pass only the
14
+ * non-name portion of `CreateWorkflowInstanceInput`.
15
+ */
16
+ createInstanceFor<TState extends string>(definition: WorkflowDefinition<TState>, input?: Omit<CreateWorkflowInstanceInput, "workflowName">): Promise<WorkflowInstance<TState>>;
7
17
  triggerEvent(input: TriggerWorkflowEventInput): Promise<WorkflowExecutionResult>;
18
+ /**
19
+ * Type-safe variant of {@link triggerEvent} that narrows the resulting
20
+ * `fromState`/`toState` to the state union of the supplied
21
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
22
+ * hand and wants to avoid widening to `string`.
23
+ *
24
+ * Does not validate at runtime that the instance belongs to the given
25
+ * definition — that is the caller's responsibility (typically enforced
26
+ * upstream when the instance was created via `createInstanceFor`).
27
+ */
28
+ triggerEventFor<TState extends string>(definition: WorkflowDefinition<TState>, input: TriggerWorkflowEventInput): Promise<WorkflowExecutionResult<TState>>;
8
29
  getAvailableEvents(input: GetAvailableEventsInput): Promise<AvailableWorkflowEvent[]>;
9
30
  getInstance(uuid: string): Promise<WorkflowInstance | null>;
10
31
  getHistory(workflowInstanceUuid: string, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../src/services/workflow.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,qBACa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGrC,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7E,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIhF,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAIrF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAI3D,UAAU,CACd,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAGxC"}
1
+ {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../src/services/workflow.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,qBACa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGrC,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInF;;;;;;;;OAQG;IACG,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAC3C,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACtC,KAAK,GAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAM,GAC5D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAU9B,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItF;;;;;;;;;OASG;IACG,eAAe,CAAC,MAAM,SAAS,MAAM,EACzC,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACtC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAQrC,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAIrF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAI3D,UAAU,CACd,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAGxC"}
@@ -21,9 +21,44 @@ let WorkflowService = class WorkflowService {
21
21
  async createInstance(input) {
22
22
  return this.runtime.createInstance(input);
23
23
  }
24
+ /**
25
+ * Type-safe variant of {@link createInstance} that binds the resulting
26
+ * instance's `currentState` to the state union of the supplied
27
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
28
+ * hand and wants to avoid widening `currentState` to `string`.
29
+ *
30
+ * The `workflowName` is read from the definition; callers pass only the
31
+ * non-name portion of `CreateWorkflowInstanceInput`.
32
+ */
33
+ async createInstanceFor(definition, input = {}) {
34
+ const instance = await this.runtime.createInstance({
35
+ ...input,
36
+ workflowName: definition.name,
37
+ });
38
+ // The runtime initialises `currentState` from `definition.initialState`,
39
+ // which is `TState`. Narrowing here is justified by that invariant.
40
+ return instance;
41
+ }
24
42
  async triggerEvent(input) {
25
43
  return this.runtime.triggerEvent(input);
26
44
  }
45
+ /**
46
+ * Type-safe variant of {@link triggerEvent} that narrows the resulting
47
+ * `fromState`/`toState` to the state union of the supplied
48
+ * `WorkflowDefinition`. Use when the caller has a typed definition in
49
+ * hand and wants to avoid widening to `string`.
50
+ *
51
+ * Does not validate at runtime that the instance belongs to the given
52
+ * definition — that is the caller's responsibility (typically enforced
53
+ * upstream when the instance was created via `createInstanceFor`).
54
+ */
55
+ async triggerEventFor(definition, input) {
56
+ // `definition` is consumed at type-level only; the runtime resolves
57
+ // the instance by uuid and reads its workflowName from the live row.
58
+ void definition;
59
+ const result = await this.runtime.triggerEvent(input);
60
+ return result;
61
+ }
27
62
  async getAvailableEvents(input) {
28
63
  return this.runtime.getAvailableEvents(input);
29
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../src/services/workflow.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAWjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG7D,IAAM,eAAe,GAArB,MAAM,eAAe;IAGP;IAFnB,YAEmB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IACxC,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAAkC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAgC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,oBAA4B,EAC5B,OAA6C;QAE7C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAhCY,eAAe;IAD3B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;;GAFhB,eAAe,CAgC3B"}
1
+ {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../src/services/workflow.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG7D,IAAM,eAAe,GAArB,MAAM,eAAe;IAGP;IAFnB,YAEmB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IACxC,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAAkC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAsC,EACtC,QAA2D,EAAE;QAE7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YACjD,GAAG,KAAK;YACR,YAAY,EAAE,UAAU,CAAC,IAAI;SAC9B,CAAC,CAAC;QACH,yEAAyE;QACzE,oEAAoE;QACpE,OAAO,QAAoC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAgC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CACnB,UAAsC,EACtC,KAAgC;QAEhC,oEAAoE;QACpE,qEAAqE;QACrE,KAAK,UAAU,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,MAAyC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,oBAA4B,EAC5B,OAA6C;QAE7C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AA3EY,eAAe;IAD3B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;;GAFhB,eAAe,CA2E3B"}