foldkit 0.126.0 → 0.128.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 (92) hide show
  1. package/README.md +2 -1
  2. package/dist/asyncData/asyncData.d.ts +13 -6
  3. package/dist/asyncData/asyncData.d.ts.map +1 -1
  4. package/dist/asyncData/asyncData.js +14 -7
  5. package/dist/asyncData/public.d.ts +1 -1
  6. package/dist/asyncData/public.d.ts.map +1 -1
  7. package/dist/asyncData/public.js +1 -1
  8. package/dist/command/index.d.ts +23 -5
  9. package/dist/command/index.d.ts.map +1 -1
  10. package/dist/command/index.js +35 -7
  11. package/dist/experimental/index.d.ts +2 -0
  12. package/dist/experimental/index.d.ts.map +1 -0
  13. package/dist/experimental/index.js +1 -0
  14. package/dist/experimental/machine/index.d.ts +2 -0
  15. package/dist/experimental/machine/index.d.ts.map +1 -0
  16. package/dist/experimental/machine/index.js +1 -0
  17. package/dist/experimental/machine/machine.d.ts +194 -0
  18. package/dist/experimental/machine/machine.d.ts.map +1 -0
  19. package/dist/experimental/machine/machine.js +237 -0
  20. package/dist/experimental/machine/public.d.ts +2 -0
  21. package/dist/experimental/machine/public.d.ts.map +1 -0
  22. package/dist/experimental/machine/public.js +1 -0
  23. package/dist/experimental/public.d.ts +2 -0
  24. package/dist/experimental/public.d.ts.map +1 -0
  25. package/dist/experimental/public.js +1 -0
  26. package/dist/html/boundary.d.ts +9 -0
  27. package/dist/html/boundary.d.ts.map +1 -1
  28. package/dist/html/boundary.js +24 -0
  29. package/dist/html/childAttribute.d.ts +4 -1
  30. package/dist/html/childAttribute.d.ts.map +1 -1
  31. package/dist/html/childAttribute.js +3 -1
  32. package/dist/html/index.d.ts +45 -2
  33. package/dist/html/index.d.ts.map +1 -1
  34. package/dist/html/index.js +46 -3
  35. package/dist/html/runtimeSingleton.d.ts +7 -0
  36. package/dist/html/runtimeSingleton.d.ts.map +1 -1
  37. package/dist/html/runtimeSingleton.js +14 -1
  38. package/dist/html/submodel.d.ts +10 -3
  39. package/dist/html/submodel.d.ts.map +1 -1
  40. package/dist/managedResource/index.d.ts +1 -37
  41. package/dist/managedResource/index.d.ts.map +1 -1
  42. package/dist/managedResource/index.js +1 -20
  43. package/dist/{runtime → managedResource}/managedResource.d.ts +36 -2
  44. package/dist/managedResource/managedResource.d.ts.map +1 -0
  45. package/dist/{runtime → managedResource}/managedResource.js +20 -1
  46. package/dist/managedResource/public.d.ts +2 -4
  47. package/dist/managedResource/public.d.ts.map +1 -1
  48. package/dist/managedResource/public.js +1 -2
  49. package/dist/port/port.d.ts +1 -1
  50. package/dist/port/port.d.ts.map +1 -1
  51. package/dist/port/port.js +1 -1
  52. package/dist/route/index.d.ts +1 -1
  53. package/dist/route/index.d.ts.map +1 -1
  54. package/dist/route/index.js +1 -1
  55. package/dist/route/parser.d.ts +31 -0
  56. package/dist/route/parser.d.ts.map +1 -1
  57. package/dist/route/parser.js +64 -0
  58. package/dist/route/public.d.ts +3 -2
  59. package/dist/route/public.d.ts.map +1 -1
  60. package/dist/route/public.js +2 -1
  61. package/dist/route/transition.d.ts +73 -12
  62. package/dist/route/transition.d.ts.map +1 -1
  63. package/dist/route/transition.js +63 -12
  64. package/dist/runtime/runtime.d.ts +2 -4
  65. package/dist/runtime/runtime.d.ts.map +1 -1
  66. package/dist/runtime/runtime.js +5 -17
  67. package/dist/submodel/submodel.d.ts +4 -4
  68. package/dist/submodel/submodel.d.ts.map +1 -1
  69. package/dist/subscription/public.d.ts +2 -2
  70. package/dist/subscription/public.d.ts.map +1 -1
  71. package/dist/subscription/public.js +1 -1
  72. package/dist/subscription/subscription.d.ts.map +1 -0
  73. package/dist/test/apps/formChild.d.ts +1 -1
  74. package/dist/test/apps/formChild.d.ts.map +1 -1
  75. package/dist/test/apps/formChild.js +2 -1
  76. package/dist/test/internal.d.ts +44 -28
  77. package/dist/test/internal.d.ts.map +1 -1
  78. package/dist/test/internal.js +52 -50
  79. package/dist/test/scene.d.ts +1 -6
  80. package/dist/test/scene.d.ts.map +1 -1
  81. package/dist/test/scene.js +13 -24
  82. package/dist/test/story.d.ts +0 -2
  83. package/dist/test/story.d.ts.map +1 -1
  84. package/dist/test/story.js +2 -5
  85. package/dist/vdom.d.ts +2 -0
  86. package/dist/vdom.d.ts.map +1 -1
  87. package/dist/vdom.js +11 -1
  88. package/package.json +9 -1
  89. package/dist/runtime/managedResource.d.ts.map +0 -1
  90. package/dist/runtime/subscription.d.ts.map +0 -1
  91. /package/dist/{runtime → subscription}/subscription.d.ts +0 -0
  92. /package/dist/{runtime → subscription}/subscription.js +0 -0
package/README.md CHANGED
@@ -175,7 +175,7 @@ Foldkit is a complete system, not a collection of libraries you stitch together.
175
175
  - **Managed Resources**: Model-driven lifecycle for long-lived browser resources like WebSockets, AudioContext, and RTCPeerConnection. Acquire on state change, release on cleanup.
176
176
  - **Submodels**: A pattern for composing nested modules. A child owns its own Model, Messages, update function, and view; the parent embeds it and wraps child Messages in a `Got*Message` envelope. The pattern scales unchanged from a login form to a multi-page app.
177
177
  - **OutMessage**: A typed channel for a child Submodel to emit domain events up to its parent, so the parent reacts to meaningful facts instead of internal child Messages.
178
- - **UI Components**: Accessible, keyboard-friendly components in the `@foldkit/ui` package, covering Button, Checkbox, Combobox, Dialog, Disclosure, DragAndDrop, Fieldset, Input, Listbox, Menu, Popover, RadioGroup, Select, Switch, Tabs, Textarea, and Transition. Stateful components (Checkbox, Combobox, Dialog, Listbox, Menu, and the like) are Submodels you embed with `h.submodel` and consume through their OutMessage; stateless render helpers (Button, Input, Textarea, Select, Fieldset) are called directly with a typed `ViewConfig`. Both expose attribute hooks on every slot for styling and extension. Animated components share a `Transition` Submodel that coordinates CSS enter and leave animations.
178
+ - **UI Components**: Accessible, keyboard-friendly components in the `@foldkit/ui` package, covering Button, Checkbox, Combobox, Dialog, Disclosure, DragAndDrop, Fieldset, Input, Listbox, Menu, Popover, RadioGroup, Select, Switch, Tabs, Textarea, and Transition. Stateful components (Combobox, Dialog, Listbox, Menu, and the like) are Submodels you embed with `h.submodel`: they own their interaction state, read the value your Model owns through per-render view inputs, and surface selections through their OutMessage. Stateless render helpers (Button, Checkbox, Disclosure, Input, RadioGroup, Select, Switch, Textarea, and friends) are called directly with a typed `ViewConfig`. Both expose attribute hooks on every slot for styling and extension. Animated components share a `Transition` Submodel that coordinates CSS enter and leave animations.
179
179
  - **Canvas**: Declarative 2D rendering. Describe a scene as a tree of `Shape` values (Rect, Circle, Path, Text, plus Group, which composes children under translate / rotate / scale / opacity), pass them to `Canvas.view`, and the runtime re-paints on every patch. The canvas pixels are a pure function of the shapes, so DevTools time-travel reproduces past frames exactly. Pair with `Subscription.animationFrame` for `requestAnimationFrame`-driven Subscriptions.
180
180
  - **Field Validation**: Per-field validation state modeled as a discriminated union. Define rules as data, apply them in update, and the Model tracks the result.
181
181
  - **Virtual DOM**: Declarative views powered by [Snabbdom](https://github.com/snabbdom/snabbdom), with lazy memoization and fast, keyed diffing. Views are plain functions of your Model.
@@ -209,6 +209,7 @@ This is what makes Foldkit unusually AI-friendly. The same property that makes t
209
209
  - **[Map](https://foldkit.dev/example-apps/map)** — Interactive MapLibre GL map demonstrating Mount with a third-party DOM library
210
210
  - **[Auth](https://foldkit.dev/example-apps/auth)** — Authentication flow with Submodels and OutMessage
211
211
  - **[Shopping Cart](https://foldkit.dev/example-apps/shopping-cart)** — Nested models and complex state
212
+ - **[Checkout Machine](https://foldkit.dev/example-apps/checkout-machine)** — Experimental state machine checkout with guarded branches and edge Commands
212
213
  - **[WebSocket Chat](https://foldkit.dev/example-apps/websocket-chat)** — Managed Resources with WebSocket integration
213
214
  - **[Kanban](https://foldkit.dev/example-apps/kanban)** — Drag-and-drop kanban board with cross-column reordering and keyboard navigation
214
215
  - **[Pixel Art](https://foldkit.dev/example-apps/pixel-art)** — Grid-based pixel editor with painting, erasing, and palette selection
@@ -195,7 +195,7 @@ export declare const match: {
195
195
  * `onData` spans the data-bearing states (`Success`, `Refreshing`,
196
196
  * `Stale`), `onFailure` receives the `Failure` error, and `onEmpty` covers
197
197
  * `Idle` and `Loading` together. A `Stale` renders through `onData` so its
198
- * data stays on screen. Use `matchDataSplit` when `Idle` and `Loading`
198
+ * data stays on screen. Use `matchDataSplitEmpty` when `Idle` and `Loading`
199
199
  * render differently, and `match` when the stale error or the `Refreshing`
200
200
  * signal matters. */
201
201
  export declare const matchData: {
@@ -210,11 +210,11 @@ export declare const matchData: {
210
210
  readonly onData: (data: A) => D;
211
211
  }): B | C | D;
212
212
  };
213
- /** Like `matchData`, but the two cold states are split: `onIdle` handles
214
- * `Idle` and `onLoading` handles `Loading`, for views that render nothing
215
- * requested yet differently from a request in flight. `onData` and
216
- * `onFailure` behave exactly as in `matchData`. */
217
- export declare const matchDataSplit: {
213
+ /** Like `matchData`, but the collapsed `onEmpty` channel is split in two:
214
+ * `onIdle` handles `Idle` and `onLoading` handles `Loading`, for views that
215
+ * render nothing requested yet differently from a request in flight.
216
+ * `onData` and `onFailure` behave exactly as in `matchData`. */
217
+ export declare const matchDataSplitEmpty: {
218
218
  <A, E, B, C = B, D = B, F = B>(handlers: {
219
219
  readonly onIdle: Function.LazyArg<B>;
220
220
  readonly onLoading: Function.LazyArg<C>;
@@ -339,6 +339,13 @@ export declare const revalidateOrLoad: <A, E>(self: AsyncData<A, E>) => Option.O
339
339
  * that actually hold data revalidate; this is the generic refresher path
340
340
  * after a mutation. */
341
341
  export declare const revalidate: <A, E>(self: AsyncData<A, E>) => Option.Option<AsyncData<A, E>>;
342
+ /** The first-visit load transition: the cold no-data states (`Idle`,
343
+ * `Failure`) start a fresh `Loading`; every other state yields `None`, so
344
+ * loaded data is kept without revalidation and a request in flight is not
345
+ * restarted. The load-only sibling of `revalidateOrLoad` and `revalidate`,
346
+ * and the state-machine form of TanStack Query's `staleTime: Infinity`:
347
+ * fetch on first visit, keep the cache afterwards. */
348
+ export declare const loadIfMissing: <A, E>(self: AsyncData<A, E>) => Option.Option<AsyncData<A, E>>;
342
349
  /** Combines two values under the two-tier lattice
343
350
  * `Failure > Loading > Idle > Stale > Refreshing > Success`. If either
344
351
  * input is a no-data state, the highest-ranked such state wins with no
@@ -1 +1 @@
1
- {"version":3,"file":"asyncData.d.ts","sourceRoot":"","sources":["../../src/asyncData/asyncData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncData.d.ts","sourceRoot":"","sources":["../../src/asyncData/asyncData.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ export const Schema = (dataSchema, errorSchema) => {
99
99
  * })
100
100
  * ```
101
101
  */
102
- // NOTE: match, matchData, matchDataSplit, getData, and getError use
102
+ // NOTE: match, matchData, matchDataSplitEmpty, getData, and getError use
103
103
  // refinement chains instead of Match because tagsExhaustive returns
104
104
  // Unify<B>, which does not reduce when the handlers return a caller's
105
105
  // naked generic in effect 4.0.0-beta.88. Combinators whose handlers
@@ -126,7 +126,7 @@ export const match = Function.dual(2, (self, handlers) => {
126
126
  * `onData` spans the data-bearing states (`Success`, `Refreshing`,
127
127
  * `Stale`), `onFailure` receives the `Failure` error, and `onEmpty` covers
128
128
  * `Idle` and `Loading` together. A `Stale` renders through `onData` so its
129
- * data stays on screen. Use `matchDataSplit` when `Idle` and `Loading`
129
+ * data stays on screen. Use `matchDataSplitEmpty` when `Idle` and `Loading`
130
130
  * render differently, and `match` when the stale error or the `Refreshing`
131
131
  * signal matters. */
132
132
  export const matchData = Function.dual(2, (self, handlers) => {
@@ -139,11 +139,11 @@ export const matchData = Function.dual(2, (self, handlers) => {
139
139
  }
140
140
  return handlers.onEmpty();
141
141
  });
142
- /** Like `matchData`, but the two cold states are split: `onIdle` handles
143
- * `Idle` and `onLoading` handles `Loading`, for views that render nothing
144
- * requested yet differently from a request in flight. `onData` and
145
- * `onFailure` behave exactly as in `matchData`. */
146
- export const matchDataSplit = Function.dual(2, (self, handlers) => {
142
+ /** Like `matchData`, but the collapsed `onEmpty` channel is split in two:
143
+ * `onIdle` handles `Idle` and `onLoading` handles `Loading`, for views that
144
+ * render nothing requested yet differently from a request in flight.
145
+ * `onData` and `onFailure` behave exactly as in `matchData`. */
146
+ export const matchDataSplitEmpty = Function.dual(2, (self, handlers) => {
147
147
  const maybeData = getData(self);
148
148
  if (Option.isSome(maybeData)) {
149
149
  return handlers.onData(maybeData.value);
@@ -301,6 +301,13 @@ export const revalidateOrLoad = (self) => M.value(self).pipe(M.withReturnType(),
301
301
  * that actually hold data revalidate; this is the generic refresher path
302
302
  * after a mutation. */
303
303
  export const revalidate = (self) => M.value(self).pipe(M.tag('Success', 'Stale', ({ data }) => Refreshing({ data })), M.option);
304
+ /** The first-visit load transition: the cold no-data states (`Idle`,
305
+ * `Failure`) start a fresh `Loading`; every other state yields `None`, so
306
+ * loaded data is kept without revalidation and a request in flight is not
307
+ * restarted. The load-only sibling of `revalidateOrLoad` and `revalidate`,
308
+ * and the state-machine form of TanStack Query's `staleTime: Infinity`:
309
+ * fetch on first visit, keep the cache afterwards. */
310
+ export const loadIfMissing = (self) => M.value(self).pipe(M.tag('Idle', 'Failure', () => Loading()), M.option);
304
311
  /** Combines two values under the two-tier lattice
305
312
  * `Failure > Loading > Idle > Stale > Refreshing > Success`. If either
306
313
  * input is a no-data state, the highest-ranked such state wins with no
@@ -1,3 +1,3 @@
1
- export { Idle, Loading, Refreshing, Failure, Stale, Success, succeed, fail, Schema, match, matchData, matchDataSplit, map, mapError, mapBoth, flatMap, getData, getError, getOrElse, fromOptionOrIdle, isIdle, isLoading, isRefreshing, isFailure, isStale, isSuccess, hasData, hasError, isPending, isAsyncData, orElse, revalidate, revalidateOrLoad, zipWith, all, settle, } from './index.js';
1
+ export { Idle, Loading, Refreshing, Failure, Stale, Success, succeed, fail, Schema, match, matchData, matchDataSplitEmpty, map, mapError, mapBoth, flatMap, getData, getError, getOrElse, fromOptionOrIdle, isIdle, isLoading, isRefreshing, isFailure, isStale, isSuccess, hasData, hasError, isPending, isAsyncData, orElse, revalidate, revalidateOrLoad, loadIfMissing, zipWith, all, settle, } from './index.js';
2
2
  export type { AsyncData, AsyncDataEncoded, AsyncDataSchema } from './index.js';
3
3
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/asyncData/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,cAAc,EACd,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,GAAG,EACH,MAAM,GACP,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/asyncData/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,GAAG,EACH,MAAM,GACP,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- export { Idle, Loading, Refreshing, Failure, Stale, Success, succeed, fail, Schema, match, matchData, matchDataSplit, map, mapError, mapBoth, flatMap, getData, getError, getOrElse, fromOptionOrIdle, isIdle, isLoading, isRefreshing, isFailure, isStale, isSuccess, hasData, hasError, isPending, isAsyncData, orElse, revalidate, revalidateOrLoad, zipWith, all, settle, } from './index.js';
1
+ export { Idle, Loading, Refreshing, Failure, Stale, Success, succeed, fail, Schema, match, matchData, matchDataSplitEmpty, map, mapError, mapBoth, flatMap, getData, getError, getOrElse, fromOptionOrIdle, isIdle, isLoading, isRefreshing, isFailure, isStale, isSuccess, hasData, hasError, isPending, isAsyncData, orElse, revalidate, revalidateOrLoad, loadIfMissing, zipWith, all, settle, } from './index.js';
@@ -67,7 +67,15 @@ export type CommandDefinition<Name extends string = string, ResultMessage = any>
67
67
  */
68
68
  export declare function define<const Name extends string, Results extends ReadonlyArray<Schema.Top>>(name: Name, ...results: Results): <Eff extends Effect.Effect<Schema.Schema.Type<Results[number]>, any, any>>(effect: Eff) => CommandDefinitionNoArgs<Name, Eff>;
69
69
  export declare function define<const Name extends string, Fields extends Schema.Struct.Fields, Results extends ReadonlyArray<Schema.Top>>(name: Name, args: Fields, ...results: Results): <Eff extends Effect.Effect<Schema.Schema.Type<Results[number]>, any, any>>(effectBuilder: (args: Schema.Schema.Type<Schema.Struct<Fields>>) => Eff) => CommandDefinitionWithArgs<Name, Fields, Eff>;
70
- /** Transforms the Effect inside a Command while preserving its name and args. */
70
+ /** Transforms the Effect inside a Command while preserving its name, args, and
71
+ * message-mapping chain. Reach for this to adjust the Effect itself (provide a
72
+ * service, add a delay or retry), not to lift the result Message. Never use it
73
+ * to transform the result Message, even via
74
+ * `Effect.map(childMessage => Parent({ childMessage }))`. That dispatches
75
+ * correctly in production but is invisible to `Story`/`Scene` `resolve`, which
76
+ * replays only the recorded chain and never runs the Effect, so the test would
77
+ * see the child's raw Message instead of the wrapped one. Lift result Messages
78
+ * with {@link mapMessage} / {@link mapMessages}, which record the lift. */
71
79
  export declare const mapEffect: {
72
80
  <A, E1, R1, B, E2, R2>(f: (effect: Effect.Effect<A, E1, R1>) => Effect.Effect<B, E2, R2>): (command: Readonly<{
73
81
  name: string;
@@ -94,6 +102,13 @@ export declare const mapEffect: {
94
102
  * (e.g. an animation leave Command), reach for `mapMessages` when it
95
103
  * returns a list.
96
104
  *
105
+ * Fuses `f` into the Effect so production dispatch is unchanged, and also
106
+ * records `f` on the Command's internal message-mapping chain. The chain is
107
+ * recoverable metadata the runtime never reads: `Story.Command.resolve` and
108
+ * `Scene.Command.resolve` replay the matched Command's chain over a substitute
109
+ * result, so a root test resolves with the child's raw result Message and
110
+ * never restates the wrapping by hand.
111
+ *
97
112
  * Preserves the Command's `name` and `args` so traces still attribute
98
113
  * it to the originating Submodel. When you need to transform the
99
114
  * Effect itself (not just the result Message), reach for
@@ -135,10 +150,13 @@ export declare const mapMessage: {
135
150
  * }
136
151
  * ```
137
152
  *
138
- * Preserves each Command's `name` and `args` so traces still attribute
139
- * the Command to the originating Submodel. When you need to transform
140
- * the Effect itself (not just the result Message), reach for
141
- * {@link mapEffect} instead. */
153
+ * Fuses `f` into each Command's Effect and also records it on the Command's
154
+ * internal message-mapping chain, so production dispatch is unchanged while
155
+ * `Story.Command.resolve` / `Scene.Command.resolve` can recover the mapping
156
+ * from the matched Command.
157
+ * Preserves each Command's `name` and `args` so traces still attribute the
158
+ * Command to the originating Submodel. When you need to transform the Effect
159
+ * itself (not just the result Message), reach for {@link mapEffect} instead. */
142
160
  export declare const mapMessages: {
143
161
  <FromMessage, ToMessage, E = never, R = never>(commands: ReadonlyArray<Readonly<{
144
162
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export function define(name, ...rest) {
11
11
  name,
12
12
  args,
13
13
  effect: effectBuilder(args),
14
+ messageMappers: [],
14
15
  });
15
16
  Object.defineProperty(definition, 'name', {
16
17
  value: name,
@@ -24,7 +25,7 @@ export function define(name, ...rest) {
24
25
  };
25
26
  }
26
27
  return (effect) => {
27
- const definition = () => ({ name, effect });
28
+ const definition = () => ({ name, effect, messageMappers: [] });
28
29
  Object.defineProperty(definition, 'name', {
29
30
  value: name,
30
31
  configurable: true,
@@ -36,7 +37,15 @@ export function define(name, ...rest) {
36
37
  return definition;
37
38
  };
38
39
  }
39
- /** Transforms the Effect inside a Command while preserving its name and args. */
40
+ /** Transforms the Effect inside a Command while preserving its name, args, and
41
+ * message-mapping chain. Reach for this to adjust the Effect itself (provide a
42
+ * service, add a delay or retry), not to lift the result Message. Never use it
43
+ * to transform the result Message, even via
44
+ * `Effect.map(childMessage => Parent({ childMessage }))`. That dispatches
45
+ * correctly in production but is invisible to `Story`/`Scene` `resolve`, which
46
+ * replays only the recorded chain and never runs the Effect, so the test would
47
+ * see the child's raw Message instead of the wrapped one. Lift result Messages
48
+ * with {@link mapMessage} / {@link mapMessages}, which record the lift. */
40
49
  export const mapEffect = Function.dual(2, (command, f) => ({ ...command, effect: f(command.effect) }));
41
50
  /** Lifts a single Command's result Message through `f`, transforming
42
51
  * `FromMessage` to `ToMessage`. The singular complement to
@@ -44,11 +53,27 @@ export const mapEffect = Function.dual(2, (command, f) => ({ ...command, effect:
44
53
  * (e.g. an animation leave Command), reach for `mapMessages` when it
45
54
  * returns a list.
46
55
  *
56
+ * Fuses `f` into the Effect so production dispatch is unchanged, and also
57
+ * records `f` on the Command's internal message-mapping chain. The chain is
58
+ * recoverable metadata the runtime never reads: `Story.Command.resolve` and
59
+ * `Scene.Command.resolve` replay the matched Command's chain over a substitute
60
+ * result, so a root test resolves with the child's raw result Message and
61
+ * never restates the wrapping by hand.
62
+ *
47
63
  * Preserves the Command's `name` and `args` so traces still attribute
48
64
  * it to the originating Submodel. When you need to transform the
49
65
  * Effect itself (not just the result Message), reach for
50
66
  * {@link mapEffect} instead. */
51
- export const mapMessage = Function.dual(2, (command, f) => mapEffect(command, Effect.map(f)));
67
+ export const mapMessage = Function.dual(2, (command, f) => {
68
+ /* eslint-disable @typescript-eslint/consistent-type-assertions */
69
+ const withMappers = command;
70
+ return {
71
+ ...withMappers,
72
+ effect: Effect.map(command.effect, f),
73
+ messageMappers: [...(withMappers.messageMappers ?? []), f],
74
+ };
75
+ /* eslint-enable @typescript-eslint/consistent-type-assertions */
76
+ });
52
77
  /** Lifts every Command in a list through `f`, transforming the result
53
78
  * Message type from `FromMessage` to `ToMessage`. Reach for this at the
54
79
  * boundary where a child Submodel's `update` returns Commands typed in
@@ -66,8 +91,11 @@ export const mapMessage = Function.dual(2, (command, f) => mapEffect(command, Ef
66
91
  * }
67
92
  * ```
68
93
  *
69
- * Preserves each Command's `name` and `args` so traces still attribute
70
- * the Command to the originating Submodel. When you need to transform
71
- * the Effect itself (not just the result Message), reach for
72
- * {@link mapEffect} instead. */
94
+ * Fuses `f` into each Command's Effect and also records it on the Command's
95
+ * internal message-mapping chain, so production dispatch is unchanged while
96
+ * `Story.Command.resolve` / `Scene.Command.resolve` can recover the mapping
97
+ * from the matched Command.
98
+ * Preserves each Command's `name` and `args` so traces still attribute the
99
+ * Command to the originating Submodel. When you need to transform the Effect
100
+ * itself (not just the result Message), reach for {@link mapEffect} instead. */
73
101
  export const mapMessages = Function.dual(2, (commands, f) => Array.map(commands, command => mapMessage(command, f)));
@@ -0,0 +1,2 @@
1
+ export * as Machine from './machine/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1 @@
1
+ export * as Machine from './machine/index.js';
@@ -0,0 +1,2 @@
1
+ export * from './machine.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experimental/machine/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './machine.js';
@@ -0,0 +1,194 @@
1
+ import { Option, Schema } from 'effect';
2
+ import type { Command } from '../../command/index.js';
3
+ /** Any value discriminated by a `_tag` field. Both states and Messages satisfy this shape. */
4
+ export type Tagged = Readonly<{
5
+ _tag: string;
6
+ }>;
7
+ /** The union of `_tag` literals in a Tagged union. */
8
+ export type TagOf<Union extends Tagged> = Union['_tag'];
9
+ /** The single variant of a Tagged union carrying the given tag. */
10
+ export type Variant<Union extends Tagged, Tag extends TagOf<Union>> = Extract<Union, Readonly<{
11
+ _tag: Tag;
12
+ }>>;
13
+ declare const EdgeGuardValueTypeId: unique symbol;
14
+ /**
15
+ * The single argument an Edge's `build` and `commands` callbacks receive:
16
+ * the source state, the triggering Message, and the guard value produced by
17
+ * the Edge's {@link when} guard (`void` on unguarded and boolean-guarded
18
+ * Edges). Destructure the fields you need.
19
+ */
20
+ export type EdgeInput<SourceState extends Tagged, TriggerMessage extends Tagged, GuardValue = void> = Readonly<{
21
+ state: SourceState;
22
+ message: TriggerMessage;
23
+ guardValue: GuardValue;
24
+ }>;
25
+ /**
26
+ * A single transition edge. The target state tag is a literal value, so the
27
+ * edge set of a Machine is enumerable data. `build` constructs the target
28
+ * variant from its {@link EdgeInput}. `maybeCommands` holds transition-time
29
+ * effects, dispatched as ordinary Commands.
30
+ *
31
+ * The correlation between `target` and `build`'s return variant is enforced
32
+ * by {@link to}'s signature, not by this type. Keeping this type free of the
33
+ * target tag is what lets TypeScript infer the source state and trigger
34
+ * Message from the transition table position.
35
+ *
36
+ * Construct with {@link to}.
37
+ */
38
+ export type Edge<State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message, GuardValue = void> = Readonly<{
39
+ _tag: 'Edge';
40
+ target: TagOf<State>;
41
+ build: (input: EdgeInput<SourceState, TriggerMessage, unknown>) => State;
42
+ maybeCommands: Option.Option<(input: EdgeInput<SourceState, TriggerMessage, unknown>) => ReadonlyArray<Command<Message>>>;
43
+ readonly [EdgeGuardValueTypeId]?: GuardValue;
44
+ }>;
45
+ /** A guarded Edge that fires only when its guard passes. Construct with {@link when}. */
46
+ export type When<State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message, GuardValue = unknown> = Readonly<{
47
+ _tag: 'When';
48
+ guard: (state: SourceState, message: TriggerMessage) => Option.Option<unknown>;
49
+ edge: Edge<State, Message, SourceState, TriggerMessage, GuardValue>;
50
+ }>;
51
+ /** The unconditional fallback Edge at the end of a guard list. Construct with {@link otherwise}. */
52
+ export type Otherwise<State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message> = Readonly<{
53
+ _tag: 'Otherwise';
54
+ edge: Edge<State, Message, SourceState, TriggerMessage>;
55
+ }>;
56
+ /** One entry in an ordered guard list: a {@link When} or the {@link Otherwise} fallback. */
57
+ export type GuardedEdge<State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message> = When<State, Message, SourceState, TriggerMessage, unknown> | Otherwise<State, Message, SourceState, TriggerMessage>;
58
+ type OptionValue<MaybeValue> = MaybeValue extends Option.Option<infer Value> ? Value : never;
59
+ type GuardValueOf<GuardResult> = [GuardResult] extends [boolean] ? void : OptionValue<GuardResult>;
60
+ /**
61
+ * The transition table: for each source state tag, the Messages it responds
62
+ * to and the Edge (or ordered guard list) each Message fires. States absent
63
+ * from the table, and Messages absent from a state's `on` record, are
64
+ * ignored: {@link Machine.step} reports them as `Ignored` rather than
65
+ * transitioning.
66
+ */
67
+ export type TransitionTable<State extends Tagged, Message extends Tagged> = Readonly<{
68
+ [SourceTag in TagOf<State>]?: Readonly<{
69
+ on: Readonly<{
70
+ [MessageTag in TagOf<Message>]?: Edge<State, Message, Variant<State, SourceTag>, Variant<Message, MessageTag>> | ReadonlyArray<GuardedEdge<State, Message, Variant<State, SourceTag>, Variant<Message, MessageTag>>>;
71
+ }>;
72
+ }>;
73
+ }>;
74
+ /**
75
+ * Declares a transition Edge to the state variant named by `target`. The
76
+ * `build` callback receives an {@link EdgeInput} whose state and Message are
77
+ * narrowed to the variants the Edge sits under in the transition table, and
78
+ * must return the target variant. Optional `commands` attach transition-time
79
+ * effects.
80
+ *
81
+ * Only meaningful inside a {@link TransitionTable}: the source and trigger
82
+ * types flow in from the table position contextually.
83
+ */
84
+ export declare const to: <State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message, const TargetTag extends TagOf<State>>(target: TargetTag, build: (input: NoInfer<EdgeInput<SourceState, TriggerMessage>>) => NoInfer<Variant<State, TargetTag>>, commands?: (input: NoInfer<EdgeInput<SourceState, TriggerMessage>>) => NoInfer<ReadonlyArray<Command<Message>>>) => Edge<State, Message, SourceState, TriggerMessage>;
85
+ /**
86
+ * Guards an Edge. Guard lists run in order, and the first guard that passes
87
+ * fires its Edge. A guard either resolves the state and Message to an
88
+ * `Option` (returning `Option.some` passes, and the wrapped value flows into
89
+ * the Edge's build and commands callbacks as `guardValue`) or returns a
90
+ * plain boolean when there is nothing to extract (returning `true` passes,
91
+ * and `guardValue` is `void`).
92
+ *
93
+ * The state and Message parameters are `NoInfer` so they resolve from the
94
+ * guard list's table position alone.
95
+ */
96
+ export declare const when: <State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message, GuardResult extends Option.Option<unknown> | boolean, const TargetTag extends TagOf<State>>(guard: (state: NoInfer<SourceState>, message: NoInfer<TriggerMessage>) => GuardResult, target: TargetTag, build: (input: NoInfer<EdgeInput<SourceState, TriggerMessage, GuardValueOf<GuardResult>>>) => NoInfer<Variant<State, TargetTag>>, commands?: (input: NoInfer<EdgeInput<SourceState, TriggerMessage, GuardValueOf<GuardResult>>>) => NoInfer<ReadonlyArray<Command<Message>>>) => When<State, Message, SourceState, TriggerMessage, GuardValueOf<GuardResult>>;
97
+ /** The unconditional fallback at the end of a guard list. The parameter is `NoInfer` for the same reason as {@link when}'s. */
98
+ export declare const otherwise: <State extends Tagged, Message extends Tagged, SourceState extends State, TriggerMessage extends Message>(edge: NoInfer<Edge<State, Message, SourceState, TriggerMessage>>) => Otherwise<State, Message, SourceState, TriggerMessage>;
99
+ /** A step that matched an Edge: the next state plus any transition-time Commands. */
100
+ export type Transitioned<State extends Tagged, Message extends Tagged> = Readonly<{
101
+ _tag: 'Transitioned';
102
+ from: TagOf<State>;
103
+ target: TagOf<State>;
104
+ messageTag: TagOf<Message>;
105
+ state: State;
106
+ commands: ReadonlyArray<Command<Message>>;
107
+ }>;
108
+ /** A step that matched no Edge: the state is unchanged and the Message is observable as ignored. */
109
+ export type Ignored<State extends Tagged, Message extends Tagged> = Readonly<{
110
+ _tag: 'Ignored';
111
+ stateTag: TagOf<State>;
112
+ messageTag: TagOf<Message>;
113
+ state: State;
114
+ }>;
115
+ /** The observable outcome of one step: `Transitioned` or `Ignored`. */
116
+ export type TransitionResult<State extends Tagged, Message extends Tagged> = Transitioned<State, Message> | Ignored<State, Message>;
117
+ /** Which guard construct an Edge sits under, with its position in the guard list. */
118
+ export type EdgeGuard = Readonly<{
119
+ _tag: 'Unguarded';
120
+ }> | Readonly<{
121
+ _tag: 'When';
122
+ position: number;
123
+ }> | Readonly<{
124
+ _tag: 'Otherwise';
125
+ position: number;
126
+ }>;
127
+ /** One Edge of the table as plain data: source, trigger, target, and guard placement. */
128
+ export type EdgeSummary<State extends Tagged, Message extends Tagged> = Readonly<{
129
+ from: TagOf<State>;
130
+ messageTag: TagOf<Message>;
131
+ target: TagOf<State>;
132
+ guard: EdgeGuard;
133
+ }>;
134
+ /** Why a transition can never fire. */
135
+ export type DeadTransitionReason = 'UnreachableSource' | 'ShadowedByOtherwise';
136
+ /** An Edge that can never fire, with the reason. */
137
+ export type DeadTransition<State extends Tagged, Message extends Tagged> = Readonly<{
138
+ edge: EdgeSummary<State, Message>;
139
+ reason: DeadTransitionReason;
140
+ }>;
141
+ /** A compiled state Machine: a pure transition function plus static analysis over the Edge set. */
142
+ export type Machine<State extends Tagged, Message extends Tagged> = Readonly<{
143
+ initial: State;
144
+ stateTags: ReadonlyArray<TagOf<State>>;
145
+ edges: ReadonlyArray<EdgeSummary<State, Message>>;
146
+ transition: (state: State, message: Message) => [State, ReadonlyArray<Command<Message>>];
147
+ step: (state: State, message: Message) => TransitionResult<State, Message>;
148
+ reachableFrom: (tag: TagOf<State>) => ReadonlySet<TagOf<State>>;
149
+ unreachableStates: () => ReadonlyArray<TagOf<State>>;
150
+ deadTransitions: () => ReadonlyArray<DeadTransition<State, Message>>;
151
+ toMermaid: () => string;
152
+ }>;
153
+ /**
154
+ * The Schemas a Machine is defined over: the state union and the Message
155
+ * union. Passed to `define`'s first stage so the type parameters are
156
+ * fully resolved before the transition table is checked.
157
+ */
158
+ export type MachineSchemas<State extends Tagged, Message extends Tagged> = Readonly<{
159
+ state: Schema.Top & Readonly<{
160
+ Type: State;
161
+ members: ReadonlyArray<Schema.Top>;
162
+ }>;
163
+ message: Schema.Top & Readonly<{
164
+ Type: Message;
165
+ }>;
166
+ }>;
167
+ /** The Machine definition: the initial state and the transition table. */
168
+ export type MachineDefinition<State extends Tagged, Message extends Tagged> = Readonly<{
169
+ initial: State;
170
+ states: TransitionTable<State, Message>;
171
+ }>;
172
+ /**
173
+ * Compiles a declarative transition table into a {@link Machine}.
174
+ *
175
+ * Two stages: the first takes the state and Message union Schemas and fixes
176
+ * the type parameters, the second takes the initial state and the transition
177
+ * table. The split is what lets TypeScript narrow `state` and `message`
178
+ * inside every Edge from its table position: a single-call form checks the
179
+ * table while the type parameters are still being inferred, and the
180
+ * narrowing collapses.
181
+ *
182
+ * The Machine is not a runtime: `transition` has the same shape as a Foldkit
183
+ * `update` branch and returns `[nextState, commands]`, so the machine state
184
+ * lives in the Model and the Foldkit runtime never learns the Machine
185
+ * exists. Messages that match no Edge leave the state unchanged; use `step`
186
+ * when the `Ignored` outcome should be observable.
187
+ *
188
+ * Because every Edge names a literal target tag, the Edge set is plain data:
189
+ * `reachableFrom`, `unreachableStates`, `deadTransitions`, and `toMermaid`
190
+ * all read it directly.
191
+ */
192
+ export declare const define: <State extends Tagged, Message extends Tagged>(schemas: MachineSchemas<State, Message>) => (definition: MachineDefinition<State, Message>) => Machine<State, Message>;
193
+ export {};
194
+ //# sourceMappingURL=machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/experimental/machine/machine.ts"],"names":[],"mappings":"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"}