@rxova/journey-core 1.0.0-rc.2 → 1.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.
Files changed (158) hide show
  1. package/README.md +182 -186
  2. package/dist/connectors/immer/immer.cjs +2 -0
  3. package/dist/connectors/immer/immer.cjs.map +7 -0
  4. package/dist/connectors/immer/immer.d.cts +11 -0
  5. package/dist/connectors/immer/immer.d.ts +11 -0
  6. package/dist/connectors/immer/immer.js +2 -0
  7. package/dist/connectors/immer/immer.js.map +7 -0
  8. package/dist/connectors/immer/immer.types.d.cts +9 -0
  9. package/dist/connectors/immer/immer.types.d.ts +9 -0
  10. package/dist/core/errors.d.cts +57 -0
  11. package/dist/core/errors.d.ts +57 -0
  12. package/dist/core/helpers.d.cts +46 -0
  13. package/dist/core/helpers.d.ts +46 -0
  14. package/dist/core/machine.d.cts +9 -0
  15. package/dist/core/machine.d.ts +9 -0
  16. package/dist/core/runtime.d.cts +115 -0
  17. package/dist/core/runtime.d.ts +115 -0
  18. package/dist/core/runtime.types.d.cts +112 -0
  19. package/dist/core/runtime.types.d.ts +112 -0
  20. package/dist/core/store.d.cts +31 -0
  21. package/dist/core/store.d.ts +31 -0
  22. package/dist/core/types.d.cts +481 -0
  23. package/dist/core/types.d.ts +481 -0
  24. package/dist/diagnostics/diagnostics.helpers.d.cts +17 -0
  25. package/dist/diagnostics/diagnostics.helpers.d.ts +17 -0
  26. package/dist/diagnostics/diagnostics.types.d.cts +22 -0
  27. package/dist/diagnostics/diagnostics.types.d.ts +22 -0
  28. package/dist/graph/bag.types.d.cts +91 -0
  29. package/dist/graph/bag.types.d.ts +91 -0
  30. package/dist/graph/graph.d.cts +63 -0
  31. package/dist/graph/graph.d.ts +63 -0
  32. package/dist/graph/graph.types.d.cts +212 -0
  33. package/dist/graph/graph.types.d.ts +212 -0
  34. package/dist/graph/work.d.cts +81 -0
  35. package/dist/graph/work.d.ts +81 -0
  36. package/dist/index.cjs +1 -1
  37. package/dist/index.cjs.map +4 -4
  38. package/dist/index.d.cts +13 -5
  39. package/dist/index.d.ts +13 -5
  40. package/dist/index.js +1 -1
  41. package/dist/index.js.map +4 -4
  42. package/dist/linear/linear.d.cts +33 -0
  43. package/dist/linear/linear.d.ts +33 -0
  44. package/dist/linear/linear.types.d.cts +28 -0
  45. package/dist/linear/linear.types.d.ts +28 -0
  46. package/dist/plugins/analytics/analytics.d.cts +8 -0
  47. package/dist/plugins/analytics/analytics.d.ts +8 -0
  48. package/dist/plugins/analytics/analytics.helpers.d.cts +2 -0
  49. package/dist/plugins/analytics/analytics.helpers.d.ts +2 -0
  50. package/dist/plugins/analytics/analytics.types.d.cts +27 -0
  51. package/dist/plugins/analytics/analytics.types.d.ts +27 -0
  52. package/dist/plugins/execution-paths/execution-paths.d.cts +7 -4
  53. package/dist/plugins/execution-paths/execution-paths.d.ts +7 -4
  54. package/dist/plugins/execution-paths/execution-paths.types.d.cts +21 -0
  55. package/dist/plugins/execution-paths/execution-paths.types.d.ts +21 -0
  56. package/dist/plugins/index.cjs +2 -0
  57. package/dist/plugins/index.cjs.map +7 -0
  58. package/dist/plugins/index.d.cts +19 -0
  59. package/dist/plugins/index.d.ts +19 -0
  60. package/dist/plugins/index.js +2 -0
  61. package/dist/plugins/index.js.map +7 -0
  62. package/dist/plugins/persistence/persistence.d.cts +16 -0
  63. package/dist/plugins/persistence/persistence.d.ts +16 -0
  64. package/dist/plugins/persistence/persistence.helpers.d.cts +34 -0
  65. package/dist/plugins/persistence/persistence.helpers.d.ts +34 -0
  66. package/dist/plugins/persistence/persistence.types.d.cts +63 -0
  67. package/dist/plugins/persistence/persistence.types.d.ts +63 -0
  68. package/dist/plugins/replay/replay.d.cts +7 -0
  69. package/dist/plugins/replay/replay.d.ts +7 -0
  70. package/dist/plugins/replay/replay.helpers.d.cts +22 -0
  71. package/dist/plugins/replay/replay.helpers.d.ts +22 -0
  72. package/dist/plugins/replay/replay.types.d.cts +28 -0
  73. package/dist/plugins/replay/replay.types.d.ts +28 -0
  74. package/package.json +78 -79
  75. package/dist/journey-builder/index.d.cts +0 -5
  76. package/dist/journey-builder/index.d.ts +0 -5
  77. package/dist/journey-builder/types.d.cts +0 -126
  78. package/dist/journey-builder/types.d.ts +0 -126
  79. package/dist/journey-machine/async-state.d.cts +0 -12
  80. package/dist/journey-machine/async-state.d.ts +0 -12
  81. package/dist/journey-machine/computed.d.cts +0 -2
  82. package/dist/journey-machine/computed.d.ts +0 -2
  83. package/dist/journey-machine/controls.d.cts +0 -17
  84. package/dist/journey-machine/controls.d.ts +0 -17
  85. package/dist/journey-machine/helpers.d.cts +0 -52
  86. package/dist/journey-machine/helpers.d.ts +0 -52
  87. package/dist/journey-machine/index.d.cts +0 -3
  88. package/dist/journey-machine/index.d.ts +0 -3
  89. package/dist/journey-machine/navigation.d.cts +0 -32
  90. package/dist/journey-machine/navigation.d.ts +0 -32
  91. package/dist/journey-machine/plugin-controller.d.cts +0 -15
  92. package/dist/journey-machine/plugin-controller.d.ts +0 -15
  93. package/dist/journey-machine/resolve-journey-definition.d.cts +0 -2
  94. package/dist/journey-machine/resolve-journey-definition.d.ts +0 -2
  95. package/dist/journey-machine/runtime.d.cts +0 -33
  96. package/dist/journey-machine/runtime.d.ts +0 -33
  97. package/dist/journey-machine/send.d.cts +0 -9
  98. package/dist/journey-machine/send.d.ts +0 -9
  99. package/dist/plugins/analytics/index.cjs +0 -2
  100. package/dist/plugins/analytics/index.cjs.map +0 -7
  101. package/dist/plugins/analytics/index.d.cts +0 -25
  102. package/dist/plugins/analytics/index.d.ts +0 -25
  103. package/dist/plugins/analytics/index.js +0 -2
  104. package/dist/plugins/analytics/index.js.map +0 -7
  105. package/dist/plugins/autosave/index.cjs +0 -2
  106. package/dist/plugins/autosave/index.cjs.map +0 -7
  107. package/dist/plugins/autosave/index.d.cts +0 -17
  108. package/dist/plugins/autosave/index.d.ts +0 -17
  109. package/dist/plugins/autosave/index.js +0 -2
  110. package/dist/plugins/autosave/index.js.map +0 -7
  111. package/dist/plugins/diagnostics/diagnostics.d.cts +0 -3
  112. package/dist/plugins/diagnostics/diagnostics.d.ts +0 -3
  113. package/dist/plugins/diagnostics/index.cjs +0 -2
  114. package/dist/plugins/diagnostics/index.cjs.map +0 -7
  115. package/dist/plugins/diagnostics/index.d.cts +0 -15
  116. package/dist/plugins/diagnostics/index.d.ts +0 -15
  117. package/dist/plugins/diagnostics/index.js +0 -2
  118. package/dist/plugins/diagnostics/index.js.map +0 -7
  119. package/dist/plugins/execution-paths/index.cjs +0 -2
  120. package/dist/plugins/execution-paths/index.cjs.map +0 -7
  121. package/dist/plugins/execution-paths/index.d.cts +0 -18
  122. package/dist/plugins/execution-paths/index.d.ts +0 -18
  123. package/dist/plugins/execution-paths/index.js +0 -2
  124. package/dist/plugins/execution-paths/index.js.map +0 -7
  125. package/dist/plugins/persistence/controller.d.cts +0 -17
  126. package/dist/plugins/persistence/controller.d.ts +0 -17
  127. package/dist/plugins/persistence/index.cjs +0 -2
  128. package/dist/plugins/persistence/index.cjs.map +0 -7
  129. package/dist/plugins/persistence/index.d.cts +0 -12
  130. package/dist/plugins/persistence/index.d.ts +0 -12
  131. package/dist/plugins/persistence/index.js +0 -2
  132. package/dist/plugins/persistence/index.js.map +0 -7
  133. package/dist/plugins/replay/index.cjs +0 -2
  134. package/dist/plugins/replay/index.cjs.map +0 -7
  135. package/dist/plugins/replay/index.d.cts +0 -27
  136. package/dist/plugins/replay/index.d.ts +0 -27
  137. package/dist/plugins/replay/index.js +0 -2
  138. package/dist/plugins/replay/index.js.map +0 -7
  139. package/dist/types/analytics.types.d.cts +0 -33
  140. package/dist/types/analytics.types.d.ts +0 -33
  141. package/dist/types/autosave.types.d.cts +0 -23
  142. package/dist/types/autosave.types.d.ts +0 -23
  143. package/dist/types/diagnostics.types.d.cts +0 -38
  144. package/dist/types/diagnostics.types.d.ts +0 -38
  145. package/dist/types/index.d.cts +0 -9
  146. package/dist/types/index.d.ts +0 -9
  147. package/dist/types/journey.types.d.cts +0 -191
  148. package/dist/types/journey.types.d.ts +0 -191
  149. package/dist/types/machine.types.d.cts +0 -104
  150. package/dist/types/machine.types.d.ts +0 -104
  151. package/dist/types/observation.types.d.cts +0 -83
  152. package/dist/types/observation.types.d.ts +0 -83
  153. package/dist/types/persistence.types.d.cts +0 -34
  154. package/dist/types/persistence.types.d.ts +0 -34
  155. package/dist/types/replay.types.d.cts +0 -35
  156. package/dist/types/replay.types.d.ts +0 -35
  157. package/dist/types/transitions.types.d.cts +0 -122
  158. package/dist/types/transitions.types.d.ts +0 -122
@@ -1,35 +0,0 @@
1
- import type { JourneyMachineSnapshotReason } from "./machine.types";
2
- import type { JourneyJsonObject, JourneySnapshot } from "./journey.types";
3
- import type { JourneyObservationEvent } from "./observation.types";
4
- /** Snapshot entry captured by the replay plugin. */
5
- export type JourneyReplaySnapshotEntry<TContext extends JourneyJsonObject, TStepId extends string> = {
6
- kind: "snapshot";
7
- timestamp: number;
8
- reason: JourneyMachineSnapshotReason;
9
- snapshot: JourneySnapshot<TContext, TStepId>;
10
- };
11
- /** Observation event entry captured by the replay plugin. */
12
- export type JourneyReplayEventEntry<TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>> = {
13
- kind: "event";
14
- timestamp: number;
15
- event: JourneyObservationEvent<TStepId, TEventMap>;
16
- };
17
- /** Ordered replay entry captured from a live machine session. */
18
- export type JourneyReplayEntry<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>> = JourneyReplaySnapshotEntry<TContext, TStepId> | JourneyReplayEventEntry<TStepId, TEventMap>;
19
- /** Full replay session captured from a journey machine. */
20
- export type JourneyReplaySession<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>> = {
21
- version: 1;
22
- initialSnapshot: JourneySnapshot<TContext, TStepId> | null;
23
- entries: JourneyReplayEntry<TContext, TStepId, TEventMap>[];
24
- truncated: boolean;
25
- };
26
- /** Runtime options for the replay plugin. */
27
- export type JourneyReplayPluginOptions = {
28
- maxEntries?: number;
29
- captureEvents?: boolean;
30
- captureSnapshots?: boolean;
31
- };
32
- /** Serialization options for `exportReplaySession()`. */
33
- export type JourneyReplayExportOptions = {
34
- pretty?: boolean;
35
- };
@@ -1,35 +0,0 @@
1
- import type { JourneyMachineSnapshotReason } from "./machine.types";
2
- import type { JourneyJsonObject, JourneySnapshot } from "./journey.types";
3
- import type { JourneyObservationEvent } from "./observation.types";
4
- /** Snapshot entry captured by the replay plugin. */
5
- export type JourneyReplaySnapshotEntry<TContext extends JourneyJsonObject, TStepId extends string> = {
6
- kind: "snapshot";
7
- timestamp: number;
8
- reason: JourneyMachineSnapshotReason;
9
- snapshot: JourneySnapshot<TContext, TStepId>;
10
- };
11
- /** Observation event entry captured by the replay plugin. */
12
- export type JourneyReplayEventEntry<TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>> = {
13
- kind: "event";
14
- timestamp: number;
15
- event: JourneyObservationEvent<TStepId, TEventMap>;
16
- };
17
- /** Ordered replay entry captured from a live machine session. */
18
- export type JourneyReplayEntry<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>> = JourneyReplaySnapshotEntry<TContext, TStepId> | JourneyReplayEventEntry<TStepId, TEventMap>;
19
- /** Full replay session captured from a journey machine. */
20
- export type JourneyReplaySession<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>> = {
21
- version: 1;
22
- initialSnapshot: JourneySnapshot<TContext, TStepId> | null;
23
- entries: JourneyReplayEntry<TContext, TStepId, TEventMap>[];
24
- truncated: boolean;
25
- };
26
- /** Runtime options for the replay plugin. */
27
- export type JourneyReplayPluginOptions = {
28
- maxEntries?: number;
29
- captureEvents?: boolean;
30
- captureSnapshots?: boolean;
31
- };
32
- /** Serialization options for `exportReplaySession()`. */
33
- export type JourneyReplayExportOptions = {
34
- pretty?: boolean;
35
- };
@@ -1,122 +0,0 @@
1
- import type { JourneyBuiltInFrom, JourneyEvent, JourneyFullEventType, JourneyGoToEvent, JourneyHistory, JourneyJsonObject, JourneyPayloadFor, JourneySendEvent, JourneySendResult, JourneySnapshot, JourneyTerminal } from "./journey.types";
2
- type JourneyTransitionArgsBase<TContext extends JourneyJsonObject, TStepId extends string, THandlers extends Record<string, unknown>> = {
3
- snapshot: JourneySnapshot<TContext, TStepId>;
4
- context: Readonly<TContext>;
5
- from: TStepId;
6
- timeline: JourneyHistory<TStepId>["timeline"];
7
- index: number;
8
- signal: AbortSignal;
9
- handlers: THandlers;
10
- };
11
- type JourneyTransitionEventOfType<TStepId extends string, TEventMap extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = TEventType extends "goToStepById" ? JourneyGoToEvent<TStepId, JourneyPayloadFor<TEventMap, "goToStepById">> : {
12
- type: TEventType;
13
- payload?: JourneyPayloadFor<TEventMap, TEventType>;
14
- };
15
- export type JourneyDispatch<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>> = (event: JourneySendEvent<TStepId, TEventMap>) => Promise<JourneySendResult<TContext, TStepId>>;
16
- export type JourneyLifecycleArgs<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>> = {
17
- snapshot: JourneySnapshot<TContext, TStepId>;
18
- context: Readonly<TContext>;
19
- from: TStepId;
20
- to: TStepId | JourneyTerminal;
21
- event: {
22
- type: string;
23
- payload?: unknown;
24
- };
25
- transitionId: string | null;
26
- label?: string;
27
- handlers: THandlers;
28
- signal: AbortSignal;
29
- dispatch: JourneyDispatch<TContext, TStepId, TEventMap>;
30
- };
31
- /**
32
- * Wrap callback signatures to opt into TypeScript's bivariant parameter checking.
33
- * This keeps narrow event payload handlers assignable to wider transition slots.
34
- */
35
- type JourneyBivariantCallback<TArgs, TResult> = {
36
- bivarianceHack(args: TArgs): TResult;
37
- }["bivarianceHack"];
38
- export type JourneyStepLifecycleCallback<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>> = JourneyBivariantCallback<JourneyLifecycleArgs<TContext, TStepId, TEventMap, THandlers>, void | Promise<void>>;
39
- export type JourneyTransitionArgs<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionArgsBase<TContext, TStepId, THandlers> & {
40
- event: JourneyEvent<TStepId, TEventMap>;
41
- };
42
- export type JourneyTransitionArgsForEvent<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = JourneyTransitionArgsBase<TContext, TStepId, THandlers> & {
43
- event: JourneyTransitionEventOfType<TStepId, TEventMap, TEventType>;
44
- };
45
- export type JourneyTransitionUpdateContextArgsForEvent<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = {
46
- snapshot: JourneySnapshot<TContext, TStepId>;
47
- context: Readonly<TContext>;
48
- from: TStepId;
49
- timeline: JourneyHistory<TStepId>["timeline"];
50
- index: number;
51
- event: JourneyTransitionEventOfType<TStepId, TEventMap, TEventType>;
52
- };
53
- type JourneyStepTransitionEventType<TEventMap extends Record<string, unknown>> = Exclude<JourneyFullEventType<TEventMap>, "completeJourney" | "terminateJourney" | "goToStepById">;
54
- type JourneyTerminalTransitionEventType<TEventMap extends Record<string, unknown>> = Extract<JourneyFullEventType<TEventMap>, "completeJourney" | "terminateJourney">;
55
- export type JourneyTransitionTarget<TStepId extends string> = TStepId | JourneyTerminal;
56
- type JourneyTransitionBehavior<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = {
57
- label?: string;
58
- timeoutMs?: number;
59
- when?: JourneyBivariantCallback<JourneyTransitionArgsForEvent<TContext, TStepId, TEventMap, THandlers, TEventType>, boolean | Promise<boolean>>;
60
- updateContext?: JourneyBivariantCallback<JourneyTransitionUpdateContextArgsForEvent<TContext, TStepId, TEventMap, TEventType>, TContext>;
61
- onEnter?: JourneyStepLifecycleCallback<TContext, TStepId, TEventMap, THandlers>;
62
- onLeave?: JourneyStepLifecycleCallback<TContext, TStepId, TEventMap, THandlers>;
63
- };
64
- type JourneyTransitionConfig<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, TEventType> & {
65
- from: TStepId | JourneyBuiltInFrom;
66
- };
67
- export type JourneyStepEventTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyStepTransitionEventType<TEventMap> = JourneyStepTransitionEventType<TEventMap>> = {
68
- [TSelectedEvent in TEventType]: JourneyTransitionConfig<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
69
- event: TSelectedEvent;
70
- to: JourneyTransitionTarget<TStepId>;
71
- };
72
- }[TEventType];
73
- export type JourneyTerminalTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyTerminalTransitionEventType<TEventMap> = JourneyTerminalTransitionEventType<TEventMap>> = {
74
- [TSelectedEvent in TEventType]: JourneyTransitionConfig<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
75
- event: TSelectedEvent;
76
- to?: never;
77
- };
78
- }[TEventType];
79
- export type JourneyGoToStepTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionConfig<TContext, TStepId, TEventMap, THandlers, "goToStepById"> & {
80
- event: "goToStepById";
81
- to: TStepId;
82
- };
83
- export type JourneyTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyStepEventTransition<TContext, TStepId, TEventMap, THandlers> | JourneyTerminalTransition<TContext, TStepId, TEventMap, THandlers> | JourneyGoToStepTransition<TContext, TStepId, TEventMap, THandlers>;
84
- export type JourneyResolvedTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransition<TContext, TStepId, TEventMap, THandlers> & {
85
- id: string;
86
- label?: string;
87
- };
88
- export type JourneyGlobalTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransition<TContext, TStepId, TEventMap, THandlers> & {
89
- from: JourneyBuiltInFrom;
90
- };
91
- export type JourneyStepEventGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyStepTransitionEventType<TEventMap> = JourneyStepTransitionEventType<TEventMap>> = {
92
- [TSelectedEvent in TEventType]: JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
93
- to: JourneyTransitionTarget<TStepId>;
94
- };
95
- }[TEventType];
96
- export type JourneyTerminalGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyTerminalTransitionEventType<TEventMap> = JourneyTerminalTransitionEventType<TEventMap>> = {
97
- [TSelectedEvent in TEventType]: JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
98
- to?: never;
99
- };
100
- }[TEventType];
101
- export type JourneyGoToStepGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, "goToStepById"> & {
102
- to: TStepId;
103
- };
104
- export type JourneyGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyFullEventType<TEventMap> = JourneyFullEventType<TEventMap>> = JourneyStepEventGraphEdge<TContext, TStepId, TEventMap, THandlers, Extract<TEventType, JourneyStepTransitionEventType<TEventMap>>> | JourneyTerminalGraphEdge<TContext, TStepId, TEventMap, THandlers, Extract<TEventType, JourneyTerminalTransitionEventType<TEventMap>>> | (Extract<TEventType, "goToStepById"> extends never ? never : JourneyGoToStepGraphEdge<TContext, TStepId, TEventMap, THandlers>);
105
- export type JourneyTerminalTransitionShorthand<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyTerminalTransitionEventType<TEventMap>> = true | readonly [] | readonly JourneyGraphEdge<TContext, TStepId, TEventMap, THandlers, TEventType>[];
106
- export type JourneyStepTransitions<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = Partial<{
107
- [TSelectedEvent in JourneyFullEventType<TEventMap>]: TSelectedEvent extends "completeJourney" | "terminateJourney" ? JourneyTerminalTransitionShorthand<TContext, TStepId, TEventMap, THandlers, Extract<TSelectedEvent, JourneyTerminalTransitionEventType<TEventMap>>> : readonly JourneyGraphEdge<TContext, TStepId, TEventMap, THandlers, TSelectedEvent>[];
108
- }>;
109
- export type JourneyGlobalKey = "global";
110
- export type JourneyTransitionGraph<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = Partial<Record<TStepId, JourneyStepTransitions<TContext, TStepId, TEventMap, THandlers>>> & {
111
- global?: JourneyStepTransitions<TContext, TStepId, TEventMap, THandlers>;
112
- };
113
- export type JourneyLinearStep<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, "goToNextStep"> & {
114
- step: TStepId;
115
- when?: never;
116
- to?: never;
117
- from?: never;
118
- event?: never;
119
- };
120
- export type JourneyLinearTransitions<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = readonly [TStepId, ...(TStepId | JourneyLinearStep<TContext, TStepId, TEventMap, THandlers>)[]];
121
- export type JourneyTransitionsDefinition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyLinearTransitions<TContext, TStepId, TEventMap, THandlers> | JourneyTransitionGraph<TContext, TStepId, TEventMap, THandlers>;
122
- export {};
@@ -1,122 +0,0 @@
1
- import type { JourneyBuiltInFrom, JourneyEvent, JourneyFullEventType, JourneyGoToEvent, JourneyHistory, JourneyJsonObject, JourneyPayloadFor, JourneySendEvent, JourneySendResult, JourneySnapshot, JourneyTerminal } from "./journey.types";
2
- type JourneyTransitionArgsBase<TContext extends JourneyJsonObject, TStepId extends string, THandlers extends Record<string, unknown>> = {
3
- snapshot: JourneySnapshot<TContext, TStepId>;
4
- context: Readonly<TContext>;
5
- from: TStepId;
6
- timeline: JourneyHistory<TStepId>["timeline"];
7
- index: number;
8
- signal: AbortSignal;
9
- handlers: THandlers;
10
- };
11
- type JourneyTransitionEventOfType<TStepId extends string, TEventMap extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = TEventType extends "goToStepById" ? JourneyGoToEvent<TStepId, JourneyPayloadFor<TEventMap, "goToStepById">> : {
12
- type: TEventType;
13
- payload?: JourneyPayloadFor<TEventMap, TEventType>;
14
- };
15
- export type JourneyDispatch<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>> = (event: JourneySendEvent<TStepId, TEventMap>) => Promise<JourneySendResult<TContext, TStepId>>;
16
- export type JourneyLifecycleArgs<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>> = {
17
- snapshot: JourneySnapshot<TContext, TStepId>;
18
- context: Readonly<TContext>;
19
- from: TStepId;
20
- to: TStepId | JourneyTerminal;
21
- event: {
22
- type: string;
23
- payload?: unknown;
24
- };
25
- transitionId: string | null;
26
- label?: string;
27
- handlers: THandlers;
28
- signal: AbortSignal;
29
- dispatch: JourneyDispatch<TContext, TStepId, TEventMap>;
30
- };
31
- /**
32
- * Wrap callback signatures to opt into TypeScript's bivariant parameter checking.
33
- * This keeps narrow event payload handlers assignable to wider transition slots.
34
- */
35
- type JourneyBivariantCallback<TArgs, TResult> = {
36
- bivarianceHack(args: TArgs): TResult;
37
- }["bivarianceHack"];
38
- export type JourneyStepLifecycleCallback<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>> = JourneyBivariantCallback<JourneyLifecycleArgs<TContext, TStepId, TEventMap, THandlers>, void | Promise<void>>;
39
- export type JourneyTransitionArgs<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionArgsBase<TContext, TStepId, THandlers> & {
40
- event: JourneyEvent<TStepId, TEventMap>;
41
- };
42
- export type JourneyTransitionArgsForEvent<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = JourneyTransitionArgsBase<TContext, TStepId, THandlers> & {
43
- event: JourneyTransitionEventOfType<TStepId, TEventMap, TEventType>;
44
- };
45
- export type JourneyTransitionUpdateContextArgsForEvent<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = {
46
- snapshot: JourneySnapshot<TContext, TStepId>;
47
- context: Readonly<TContext>;
48
- from: TStepId;
49
- timeline: JourneyHistory<TStepId>["timeline"];
50
- index: number;
51
- event: JourneyTransitionEventOfType<TStepId, TEventMap, TEventType>;
52
- };
53
- type JourneyStepTransitionEventType<TEventMap extends Record<string, unknown>> = Exclude<JourneyFullEventType<TEventMap>, "completeJourney" | "terminateJourney" | "goToStepById">;
54
- type JourneyTerminalTransitionEventType<TEventMap extends Record<string, unknown>> = Extract<JourneyFullEventType<TEventMap>, "completeJourney" | "terminateJourney">;
55
- export type JourneyTransitionTarget<TStepId extends string> = TStepId | JourneyTerminal;
56
- type JourneyTransitionBehavior<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = {
57
- label?: string;
58
- timeoutMs?: number;
59
- when?: JourneyBivariantCallback<JourneyTransitionArgsForEvent<TContext, TStepId, TEventMap, THandlers, TEventType>, boolean | Promise<boolean>>;
60
- updateContext?: JourneyBivariantCallback<JourneyTransitionUpdateContextArgsForEvent<TContext, TStepId, TEventMap, TEventType>, TContext>;
61
- onEnter?: JourneyStepLifecycleCallback<TContext, TStepId, TEventMap, THandlers>;
62
- onLeave?: JourneyStepLifecycleCallback<TContext, TStepId, TEventMap, THandlers>;
63
- };
64
- type JourneyTransitionConfig<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyFullEventType<TEventMap>> = JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, TEventType> & {
65
- from: TStepId | JourneyBuiltInFrom;
66
- };
67
- export type JourneyStepEventTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyStepTransitionEventType<TEventMap> = JourneyStepTransitionEventType<TEventMap>> = {
68
- [TSelectedEvent in TEventType]: JourneyTransitionConfig<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
69
- event: TSelectedEvent;
70
- to: JourneyTransitionTarget<TStepId>;
71
- };
72
- }[TEventType];
73
- export type JourneyTerminalTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyTerminalTransitionEventType<TEventMap> = JourneyTerminalTransitionEventType<TEventMap>> = {
74
- [TSelectedEvent in TEventType]: JourneyTransitionConfig<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
75
- event: TSelectedEvent;
76
- to?: never;
77
- };
78
- }[TEventType];
79
- export type JourneyGoToStepTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionConfig<TContext, TStepId, TEventMap, THandlers, "goToStepById"> & {
80
- event: "goToStepById";
81
- to: TStepId;
82
- };
83
- export type JourneyTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyStepEventTransition<TContext, TStepId, TEventMap, THandlers> | JourneyTerminalTransition<TContext, TStepId, TEventMap, THandlers> | JourneyGoToStepTransition<TContext, TStepId, TEventMap, THandlers>;
84
- export type JourneyResolvedTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransition<TContext, TStepId, TEventMap, THandlers> & {
85
- id: string;
86
- label?: string;
87
- };
88
- export type JourneyGlobalTransition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransition<TContext, TStepId, TEventMap, THandlers> & {
89
- from: JourneyBuiltInFrom;
90
- };
91
- export type JourneyStepEventGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyStepTransitionEventType<TEventMap> = JourneyStepTransitionEventType<TEventMap>> = {
92
- [TSelectedEvent in TEventType]: JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
93
- to: JourneyTransitionTarget<TStepId>;
94
- };
95
- }[TEventType];
96
- export type JourneyTerminalGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyTerminalTransitionEventType<TEventMap> = JourneyTerminalTransitionEventType<TEventMap>> = {
97
- [TSelectedEvent in TEventType]: JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, TSelectedEvent> & {
98
- to?: never;
99
- };
100
- }[TEventType];
101
- export type JourneyGoToStepGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, "goToStepById"> & {
102
- to: TStepId;
103
- };
104
- export type JourneyGraphEdge<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>, TEventType extends JourneyFullEventType<TEventMap> = JourneyFullEventType<TEventMap>> = JourneyStepEventGraphEdge<TContext, TStepId, TEventMap, THandlers, Extract<TEventType, JourneyStepTransitionEventType<TEventMap>>> | JourneyTerminalGraphEdge<TContext, TStepId, TEventMap, THandlers, Extract<TEventType, JourneyTerminalTransitionEventType<TEventMap>>> | (Extract<TEventType, "goToStepById"> extends never ? never : JourneyGoToStepGraphEdge<TContext, TStepId, TEventMap, THandlers>);
105
- export type JourneyTerminalTransitionShorthand<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown>, THandlers extends Record<string, unknown>, TEventType extends JourneyTerminalTransitionEventType<TEventMap>> = true | readonly [] | readonly JourneyGraphEdge<TContext, TStepId, TEventMap, THandlers, TEventType>[];
106
- export type JourneyStepTransitions<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = Partial<{
107
- [TSelectedEvent in JourneyFullEventType<TEventMap>]: TSelectedEvent extends "completeJourney" | "terminateJourney" ? JourneyTerminalTransitionShorthand<TContext, TStepId, TEventMap, THandlers, Extract<TSelectedEvent, JourneyTerminalTransitionEventType<TEventMap>>> : readonly JourneyGraphEdge<TContext, TStepId, TEventMap, THandlers, TSelectedEvent>[];
108
- }>;
109
- export type JourneyGlobalKey = "global";
110
- export type JourneyTransitionGraph<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = Partial<Record<TStepId, JourneyStepTransitions<TContext, TStepId, TEventMap, THandlers>>> & {
111
- global?: JourneyStepTransitions<TContext, TStepId, TEventMap, THandlers>;
112
- };
113
- export type JourneyLinearStep<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyTransitionBehavior<TContext, TStepId, TEventMap, THandlers, "goToNextStep"> & {
114
- step: TStepId;
115
- when?: never;
116
- to?: never;
117
- from?: never;
118
- event?: never;
119
- };
120
- export type JourneyLinearTransitions<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = readonly [TStepId, ...(TStepId | JourneyLinearStep<TContext, TStepId, TEventMap, THandlers>)[]];
121
- export type JourneyTransitionsDefinition<TContext extends JourneyJsonObject, TStepId extends string, TEventMap extends Record<string, unknown> = Record<never, never>, THandlers extends Record<string, unknown> = Record<never, never>> = JourneyLinearTransitions<TContext, TStepId, TEventMap, THandlers> | JourneyTransitionGraph<TContext, TStepId, TEventMap, THandlers>;
122
- export {};