@xmachines/docs 7.0.0 → 8.0.0-next.1

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 (542) hide show
  1. package/README.md +2 -2
  2. package/api/@xmachines/core/cache/functions/createLruCache.md +1 -1
  3. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +3 -3
  4. package/api/@xmachines/core/errors/classes/BaseError.md +11 -11
  5. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
  6. package/api/@xmachines/core/utils/functions/asDisposable.md +2 -2
  7. package/api/@xmachines/core/utils/functions/createNullRecord.md +1 -1
  8. package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
  9. package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
  10. package/api/@xmachines/core/utils/functions/isError.md +1 -1
  11. package/api/@xmachines/core/utils/functions/isThenable.md +1 -1
  12. package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
  13. package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
  14. package/api/@xmachines/core/utils/functions/safeString.md +1 -1
  15. package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
  16. package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
  17. package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
  18. package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
  19. package/api/@xmachines/play/README.md +1 -1
  20. package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
  21. package/api/@xmachines/play/errors/classes/PlayError.md +11 -11
  22. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  23. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +4 -4
  24. package/api/@xmachines/play-actor/README.md +3 -3
  25. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
  26. package/api/@xmachines/play-actor/interfaces/PlayActor.md +6 -6
  27. package/api/@xmachines/play-atom/README.md +6 -4
  28. package/api/@xmachines/play-atom/functions/watchAtom.md +1 -1
  29. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  30. package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
  31. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +6 -6
  32. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +4 -4
  33. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  34. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
  35. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
  36. package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
  37. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
  38. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  39. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
  40. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
  41. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  42. package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
  43. package/api/@xmachines/play-dom/README.md +8 -5
  44. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  45. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  46. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  47. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +12 -12
  48. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
  49. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +15 -15
  50. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  51. package/api/@xmachines/play-dom-router/README.md +5 -3
  52. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  53. package/api/@xmachines/play-dom-router/classes/RouteMap.md +4 -4
  54. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  55. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  56. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  57. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
  58. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  59. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  60. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  61. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
  62. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  63. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  64. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  65. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  66. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  67. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
  68. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  69. package/api/@xmachines/play-pattern/README.md +1 -1
  70. package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
  71. package/api/@xmachines/play-pattern/functions/createLruCache.md +1 -1
  72. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  73. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  74. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  75. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
  76. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +3 -3
  77. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  78. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  79. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  80. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  81. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  82. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  83. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  84. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  85. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  86. package/api/@xmachines/play-react/README.md +5 -5
  87. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
  88. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  89. package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
  90. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  91. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  92. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
  93. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  94. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  95. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
  96. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  97. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  98. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  99. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  100. package/api/@xmachines/play-react-router/README.md +1 -1
  101. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  102. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  103. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  104. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  105. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
  106. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  107. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
  108. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  109. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  110. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  111. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  112. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  113. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  114. package/api/@xmachines/play-router/README.md +15 -14
  115. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
  116. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
  117. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
  118. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
  119. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
  120. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
  121. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
  122. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
  123. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
  124. package/api/@xmachines/play-router/index/classes/RouteMap.md +4 -4
  125. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
  126. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  127. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
  128. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  129. package/api/@xmachines/play-router/index/functions/createLruCache.md +1 -1
  130. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  131. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  132. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  133. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  134. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  135. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  136. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
  137. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  138. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  139. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  140. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  141. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +5 -5
  142. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  143. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
  144. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  145. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  146. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  147. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  148. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  149. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  150. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  151. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  152. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
  153. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
  154. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  155. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  156. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +3 -3
  157. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
  158. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
  159. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +10 -10
  160. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  161. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
  162. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
  163. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +11 -11
  164. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
  165. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
  166. package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
  167. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
  168. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
  169. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  170. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
  171. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
  172. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
  173. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
  174. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +7 -7
  175. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  176. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
  177. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +7 -7
  178. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
  179. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
  180. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  181. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  182. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  183. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  184. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  185. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  186. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  187. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  188. package/api/@xmachines/play-router/xstate/README.md +5 -2
  189. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +2 -2
  190. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +5 -5
  191. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  192. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  193. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  194. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +7 -8
  195. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +8 -9
  196. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  197. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  198. package/api/@xmachines/play-router/xstate/interfaces/Graph.md +26 -0
  199. package/api/@xmachines/play-router/xstate/interfaces/GraphEdge.md +22 -0
  200. package/api/@xmachines/play-router/xstate/interfaces/GraphNode.md +21 -0
  201. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +6 -6
  202. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
  203. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +4 -6
  204. package/api/@xmachines/play-solid/README.md +3 -3
  205. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  206. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  207. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  208. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  209. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  210. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  211. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  212. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  213. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  214. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  215. package/api/@xmachines/play-solid-router/README.md +4 -6
  216. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  217. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  218. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  219. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +6 -6
  220. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
  221. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  222. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
  223. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  224. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  225. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  226. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  227. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  228. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  229. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  230. package/api/@xmachines/play-svelte/README.md +3 -3
  231. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  232. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  233. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  234. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  235. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  236. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
  237. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  238. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  239. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  240. package/api/@xmachines/play-svelte-spa-router/README.md +6 -3
  241. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  242. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  243. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  244. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  245. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  246. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
  247. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
  248. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  249. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  250. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  251. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
  252. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  253. package/api/@xmachines/play-sveltekit-router/README.md +3 -2
  254. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  255. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
  256. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  257. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  258. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +11 -11
  259. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  260. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
  261. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
  262. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  263. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  264. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  265. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
  266. package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +8 -8
  267. package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +1 -1
  268. package/api/@xmachines/play-tanstack-react-router/README.md +3 -2
  269. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  270. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  271. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  272. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  273. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
  274. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  275. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
  276. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  277. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  278. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  279. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  280. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  281. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  282. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  283. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  284. package/api/@xmachines/play-tanstack-router/README.md +3 -2
  285. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  286. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  287. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  288. package/api/@xmachines/play-tanstack-solid-router/README.md +6 -7
  289. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  290. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  291. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  292. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
  293. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  294. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
  295. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  296. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  297. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  298. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  299. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  300. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  301. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  302. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  303. package/api/@xmachines/play-url/README.md +1 -1
  304. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
  305. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
  306. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
  307. package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
  308. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  309. package/api/@xmachines/play-url/index/functions/createLruCache.md +1 -1
  310. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  311. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
  312. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  313. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  314. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  315. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  316. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  317. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  318. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  319. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  320. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  321. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  322. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  323. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  324. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
  325. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  326. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  327. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
  328. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +3 -3
  329. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
  330. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
  331. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  332. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
  333. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
  334. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
  335. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
  336. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  337. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  338. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  339. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  340. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  341. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  342. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  343. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  344. package/api/@xmachines/play-view/README.md +4 -4
  345. package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
  346. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
  347. package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +13 -13
  348. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +1 -1
  349. package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +1 -1
  350. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  351. package/api/@xmachines/play-view/index/functions/composeViews.md +1 -1
  352. package/api/@xmachines/play-view/index/functions/createActorProxy.md +1 -1
  353. package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +1 -1
  354. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  355. package/api/@xmachines/play-view/index/functions/createViewSession.md +1 -1
  356. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  357. package/api/@xmachines/play-view/index/functions/forwardRenderError.md +1 -1
  358. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  359. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  360. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  361. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  362. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  363. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +7 -7
  364. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +7 -7
  365. package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
  366. package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +4 -4
  367. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
  368. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  369. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  370. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
  371. package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
  372. package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
  373. package/api/@xmachines/play-view/index/interfaces/ViewSession.md +7 -7
  374. package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +5 -5
  375. package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +8 -8
  376. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +4 -4
  377. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -7
  378. package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
  379. package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
  380. package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
  381. package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +1 -1
  382. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  383. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  384. package/api/@xmachines/play-vue/README.md +2 -2
  385. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  386. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  387. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  388. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  389. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  390. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  391. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  392. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  393. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  394. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -4
  395. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  396. package/api/@xmachines/play-vue-router/README.md +1 -1
  397. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
  398. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
  399. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +4 -4
  400. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  401. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
  402. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
  403. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  404. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
  405. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  406. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +1 -1
  407. package/api/@xmachines/play-xstate/README.md +63 -52
  408. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
  409. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
  410. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
  411. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +12 -12
  412. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +12 -12
  413. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  414. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
  415. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +15 -15
  416. package/api/@xmachines/play-xstate/index/README.md +1 -1
  417. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +201 -124
  418. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  419. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +14 -10
  420. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +6 -6
  421. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +4 -4
  422. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +9 -9
  423. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  424. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  425. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  426. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
  427. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +13 -5
  428. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +26 -13
  429. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  430. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  431. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +8 -8
  432. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
  433. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  434. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  435. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  436. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  437. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  438. package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
  439. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  440. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
  441. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
  442. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  443. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  444. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  445. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
  446. package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +1 -1
  447. package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
  448. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  449. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  450. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  451. package/contributing/architecture.md +13 -9
  452. package/contributing/configuration.md +24 -50
  453. package/contributing/deployment.md +128 -158
  454. package/contributing/development.md +6 -6
  455. package/contributing/migrating-to-play-atom.md +13 -1
  456. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +11 -11
  457. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  458. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  459. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  460. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  461. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  462. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  463. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  464. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  465. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  466. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  467. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  468. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  469. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  470. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  471. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  472. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  473. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  474. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  475. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  476. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +17 -17
  477. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +11 -11
  478. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  479. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  480. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  481. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  482. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  483. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  484. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  485. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  486. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  487. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  488. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  489. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  490. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  491. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  492. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  493. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  494. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  495. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  496. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  497. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +17 -17
  498. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +11 -11
  499. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  500. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  501. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  502. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  503. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  504. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  505. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  506. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  507. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  508. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  509. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  510. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  511. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  512. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  513. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  514. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  515. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  516. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  517. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  518. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +17 -17
  519. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +11 -11
  520. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  521. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  522. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +17 -17
  523. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +11 -11
  524. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  525. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  526. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  527. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  528. package/examples/README.md +1 -1
  529. package/examples/basic-state-machine.md +19 -23
  530. package/examples/form-validation.md +43 -48
  531. package/examples/routing-patterns.md +30 -35
  532. package/examples/traffic-light.md +19 -21
  533. package/guides/actor-model.md +5 -6
  534. package/guides/getting-started.md +45 -51
  535. package/guides/inspector.md +52 -46
  536. package/guides/routing.md +4 -2
  537. package/guides/state-machines.md +80 -64
  538. package/guides/views.md +6 -4
  539. package/package.json +1 -1
  540. package/rfc/git.md +13 -5
  541. package/rfc/play.md +22 -18
  542. package/rfc/run.md +7 -4
@@ -16,27 +16,24 @@ Applicable patterns:
16
16
  ## Complete Code
17
17
 
18
18
  ```typescript
19
- import { setup } from "xstate";
19
+ import { setup, types } from "xstate";
20
20
  import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
21
21
  import { formatPlayRouteTransitions } from "@xmachines/play-xstate/routing";
22
22
  import { withRouting } from "@xmachines/play-xstate/routing";
23
+ import type { PlayRouteEvent } from "@xmachines/play-router";
23
24
 
24
- // 1. Typed setup
25
+ // 1. Typed setup. The events are a map from the type of each event to its payload.
25
26
  const trafficSetup = setup({
26
- types: {
27
- context: {} as {
27
+ schemas: {
28
+ context: types<{
28
29
  params: Record<string, string>;
29
30
  query: Record<string, string>;
31
+ }>(),
32
+ events: {
33
+ timer: types<void>(),
34
+ "play.route": types<Omit<PlayRouteEvent, "type">>(),
30
35
  },
31
- events: {} as
32
- | { type: "timer" }
33
- | {
34
- type: "play.route";
35
- to: string;
36
- params?: Record<string, string>;
37
- query?: Record<string, string>;
38
- },
39
- input: undefined,
36
+ meta: types<{ route?: string }>(),
40
37
  },
41
38
  });
42
39
 
@@ -55,17 +52,17 @@ const trafficMachine = trafficSetup.createMachine(
55
52
  red: {
56
53
  id: "red",
57
54
  meta: { route: "/red" },
58
- on: { timer: "green" },
55
+ on: { timer: { target: "green" } },
59
56
  },
60
57
  green: {
61
58
  id: "green",
62
59
  meta: { route: "/green" },
63
- on: { timer: "yellow" },
60
+ on: { timer: { target: "yellow" } },
64
61
  },
65
62
  yellow: {
66
63
  id: "yellow",
67
64
  meta: { route: "/yellow" },
68
- on: { timer: "red" },
65
+ on: { timer: { target: "red" } },
69
66
  },
70
67
  },
71
68
  }),
@@ -110,9 +107,9 @@ actor.stop();
110
107
  // Auto-generated by formatPlayRouteTransitions — you don't write this manually:
111
108
  on: {
112
109
  "play.route": [
113
- { target: ".red", guard: ({ event }) => event.to === "#red", reenter: false, actions: assign({ params, query }) },
114
- { target: ".green", guard: ({ event }) => event.to === "#green", reenter: false, actions: assign({ params, query }) },
115
- { target: ".yellow", guard: ({ event }) => event.to === "#yellow", reenter: false, actions: assign({ params, query }) },
110
+ { target: ".red", matches: { to: "#red" }, reenter: false, context: ({ context, event }) => ({ params, query }) },
111
+ { target: ".green", matches: { to: "#green" }, reenter: false, context: ({ context, event }) => ({ params, query }) },
112
+ { target: ".yellow", matches: { to: "#yellow" }, reenter: false, context: ({ context, event }) => ({ params, query }) },
116
113
  ],
117
114
  }
118
115
  ```
@@ -120,7 +117,8 @@ on: {
120
117
  **Requirements:**
121
118
 
122
119
  - Every routable state must have both `id` (the `#id` navigation target) and `meta.route` (the URL template).
123
- - The machine's context must include `params` and `query` fields (both `Record<string, string>`), because `formatPlayRouteTransitions` assigns them on every `play.route` transition.
120
+ - The machine's context must include `params` and `query` fields (both `Record<string, string>`), because `formatPlayRouteTransitions` writes them on every `play.route` transition.
121
+ - Each generated transition is a config object: `matches` selects the event by its `to` field, and `context` returns the patch that XState merges into the context. The list holds the generated transitions first, and a `play.route` transition of your own last, as the fallback. The config types of XState 6 declare one transition for each event, and its runtime reads a list in its order.
124
122
  - `reenter` comes from the object form of `meta.route`, and the default is `false`. Declare `meta: { route: { path: "/red", reenter: true } }` for a state whose route must also re-enter the domain of the transition. See [Re-entry on a navigation](../guides/routing.md#re-entry-on-a-navigation).
125
123
 
126
124
  ## The `actor.currentRoute` atom
@@ -151,6 +149,6 @@ unwatch();
151
149
 
152
150
  ## Next Steps
153
151
 
154
- - **[Form Validation Example](form-validation.md)** — Context mutations with `setup.assign` and guards
152
+ - **[Form Validation Example](form-validation.md)** — Context patches and guards in transition functions
155
153
  - **[Routing Patterns](routing-patterns.md)** — Parameter routes, relative routes, and `always` auth guards
156
154
  - **[Play RFC](../rfc/play.md)** — Complete architectural specification
@@ -102,8 +102,7 @@ This is why the invariant is called **State-Driven Reset** in the Play RFC.
102
102
 
103
103
  An adapter extends the actor class of its own engine. [`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md) of [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) extends `Actor` of XState, which means:
104
104
 
105
- - XState's inspection API works ([`@statelyai/inspect`](https://stately.ai/docs/inspector) — see [Inspecting a Running Actor](inspector.md))
106
- - XState DevTools attach to actors normally
105
+ - The inspection API of XState works: the `inspect` option receives the `@xstate.actor` and `@xstate.transition` events of the actor — see [Inspecting a Running Actor](inspector.md)
107
106
  - The full XState ecosystem (testing utilities, visualization) is compatible
108
107
 
109
108
  [`PlayActor`](../api/@xmachines/play-actor/interfaces/PlayActor.md) asks for two members: a reactive `state` property of type `Atom<TSnapshot>`, and a typed `send`. `state` is the single point where the pull-based snapshot API of an engine is bridged to the push-based atom system.
@@ -166,12 +165,12 @@ The factory accepts an optional `input` (initial context overrides) and an optio
166
165
 
167
166
  ```typescript
168
167
  import { definePlayer } from "@xmachines/play-xstate";
169
- import { setup } from "xstate";
168
+ import { setup, types } from "xstate";
170
169
 
171
170
  const machine = setup({
172
- types: {
173
- input: {} as { userId: string } | undefined,
174
- context: {} as { userId: string | null },
171
+ schemas: {
172
+ input: types<{ userId: string } | undefined>(),
173
+ context: types<{ userId: string | null }>(),
175
174
  },
176
175
  }).createMachine({ context: ({ input }) => ({ userId: input?.userId ?? null }) });
177
176
 
@@ -143,7 +143,7 @@ This section covers installing XMachines packages into your own application and
143
143
  - **Node.js** `>= 24.0.0`
144
144
  - **pnpm** via corepack (`corepack enable`)
145
145
  - **TypeScript** `>= 5.7` (strict mode recommended)
146
- - **XState** `v5` (required peer dependency for [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md))
146
+ - **XState** `6.0.0-alpha.71` (required peer dependency for [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md))
147
147
 
148
148
  All packages are ES modules (`"type": "module"`). Use `.js` extensions in all TypeScript imports.
149
149
 
@@ -154,14 +154,14 @@ All packages are ES modules (`"type": "module"`). Use `.js` extensions in all Ty
154
154
  Every XMachines application needs these six packages plus XState:
155
155
 
156
156
  ```bash
157
- pnpm add xstate @xmachines/play-xstate @xmachines/play-actor @xmachines/play-atom @xmachines/play @xmachines/core @xmachines/json-render-core@0.21.0-xm.6
157
+ pnpm add xstate@6.0.0-alpha.71 @xmachines/play-xstate @xmachines/play-actor @xmachines/play-atom @xmachines/play @xmachines/core @xmachines/json-render-core@0.21.0-xm.7
158
158
  ```
159
159
 
160
- The json-render packages are exact peers: install the version that this release names, `0.21.0-xm.6`.
160
+ The json-render packages are exact peers: install the version that this release names, `0.21.0-xm.7`.
161
161
 
162
162
  | Package | Role |
163
163
  | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
164
- | `xstate` | XState v5 state machine engine (peer dependency) |
164
+ | `xstate` | XState v6 state machine engine (peer dependency) |
165
165
  | [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | [`definePlayer()`](../api/@xmachines/play-xstate/index/functions/definePlayer.md), [`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md), routing helpers |
166
166
  | [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | The actor contract: `PlayActor`, which names no state machine library |
167
167
  | [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) | The atom primitives (`createAtom`, [`watchAtom`](../api/@xmachines/play-atom/functions/watchAtom.md)) |
@@ -202,14 +202,14 @@ pnpm add @xmachines/play-dom # Vanilla DOM
202
202
  The minimum viable XMachines actor — no framework dependencies:
203
203
 
204
204
  ```typescript
205
- import { setup } from "xstate";
205
+ import { setup, types } from "xstate";
206
206
  import { definePlayer } from "@xmachines/play-xstate";
207
207
 
208
- // 1. Declare types with setup() — the XState v5 typed entry point
208
+ // 1. Declare the schemas with setup() — the XState v6 typed entry point
209
209
  const appSetup = setup({
210
- types: {
211
- context: {} as { count: number },
212
- events: {} as { type: "toggle" },
210
+ schemas: {
211
+ context: types<{ count: number }>(),
212
+ events: { toggle: types<void>() },
213
213
  },
214
214
  });
215
215
 
@@ -221,18 +221,12 @@ const machine = appSetup.createMachine({
221
221
  states: {
222
222
  off: {
223
223
  on: {
224
- toggle: {
225
- target: "on",
226
- actions: appSetup.assign({ count: ({ context }) => context.count + 1 }),
227
- },
224
+ toggle: ({ context }) => ({ target: "on", context: { count: context.count + 1 } }),
228
225
  },
229
226
  },
230
227
  on: {
231
228
  on: {
232
- toggle: {
233
- target: "off",
234
- actions: appSetup.assign({ count: ({ context }) => context.count + 1 }),
235
- },
229
+ toggle: ({ context }) => ({ target: "off", context: { count: context.count + 1 } }),
236
230
  },
237
231
  },
238
232
  },
@@ -259,8 +253,8 @@ actor.stop();
259
253
 
260
254
  **Key rules:**
261
255
 
262
- - Always use `setup({ types })` before `createMachine` — never bare `createMachine` from xstate.
263
- - Use `setup.assign(...)` for context mutations — not the bare `assign` from xstate.
256
+ - Always use `setup({ schemas })` before `createMachine` — never bare `createMachine` from xstate.
257
+ - Return a context patch from a transition function — `{ context: { count: 1 } }`. XState 6 has no `assign` action.
264
258
  - Call `actor.start()` before sending events.
265
259
  - Call `actor.stop()` when done to clean up atom subscriptions.
266
260
 
@@ -314,22 +308,27 @@ State machines control navigation through `meta.route` on states and `play.route
314
308
  [`formatPlayRouteTransitions`](../api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md) auto-generates `play.route` handlers from `id` + `meta.route` state pairs:
315
309
 
316
310
  ```typescript
317
- import { setup } from "xstate";
311
+ import { setup, types } from "xstate";
318
312
  import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
319
313
  import { formatPlayRouteTransitions } from "@xmachines/play-xstate/routing";
320
314
  import { withRouting } from "@xmachines/play-xstate/routing";
321
- import type { PlayRouteEvent } from "@xmachines/play-router";
315
+ import type { PlayRouteEvent, RouteMetadata } from "@xmachines/play-router";
322
316
 
323
317
  const appSetup = setup({
324
- types: {
318
+ schemas: {
325
319
  // params and query are REQUIRED for formatPlayRouteTransitions
326
- context: {} as {
320
+ context: types<{
327
321
  isAuthenticated: boolean;
328
322
  params: Record<string, string>;
329
323
  query: Record<string, string>;
324
+ }>(),
325
+ events: {
326
+ "play.route": types<Omit<PlayRouteEvent, "type">>(),
327
+ "auth.login": types<{ username: string }>(),
328
+ "auth.logout": types<void>(),
330
329
  },
331
- events: {} as
332
- PlayRouteEvent | { type: "auth.login"; username: string } | { type: "auth.logout" },
330
+ // The `meta` of each state: XState 6 types it from this schema
331
+ meta: types<{ route?: RouteMetadata }>(),
333
332
  },
334
333
  });
335
334
 
@@ -347,26 +346,21 @@ const appMachine = appSetup.createMachine(
347
346
  id: "dashboard",
348
347
  meta: { route: "/dashboard" },
349
348
  // always guard: redirect to /login if not authenticated
350
- always: {
351
- guard: ({ context }) => !context.isAuthenticated,
352
- target: "login",
353
- },
349
+ always: ({ context }) =>
350
+ context.isAuthenticated ? undefined : { target: "login" },
354
351
  },
355
352
  profile: { id: "profile", meta: { route: "/profile/:username" } },
356
353
  },
357
354
  on: {
358
- "auth.login": {
359
- target: ".dashboard",
360
- guard: ({ context }) => !context.isAuthenticated,
361
- actions: appSetup.assign({
362
- isAuthenticated: true,
363
- }),
364
- },
365
- "auth.logout": {
366
- target: ".home",
367
- guard: ({ context }) => context.isAuthenticated,
368
- actions: appSetup.assign({ isAuthenticated: false }),
369
- },
355
+ // A transition function is the guard: it returns nothing to refuse the event
356
+ "auth.login": ({ context }) =>
357
+ context.isAuthenticated
358
+ ? undefined
359
+ : { target: ".dashboard", context: { isAuthenticated: true } },
360
+ "auth.logout": ({ context }) =>
361
+ context.isAuthenticated
362
+ ? { target: ".home", context: { isAuthenticated: false } }
363
+ : undefined,
370
364
  },
371
365
  }),
372
366
  );
@@ -698,18 +692,18 @@ const disconnect = mount(actor, document.getElementById("app")!);
698
692
  `query` field builds a query-less URL, exactly like `query: {}`.
699
693
 
700
694
  **Fix:** With [`formatPlayRouteTransitions`](../api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md)
701
- nothing is needed — the generated transitions assign `event.query` to context
702
- on every navigation. A machine that handles `play.route` by hand must do that
703
- assignment itself:
695
+ nothing is needed — the generated transitions write `event.query` to context
696
+ on every navigation. A machine that handles `play.route` by hand must return that
697
+ context patch itself:
704
698
 
705
699
  ```typescript fragment
706
700
  on: {
707
- "play.route": {
708
- actions: assign({
709
- params: ({ event }) => event.params ?? {},
710
- query: ({ event }) => event.query ?? {},
711
- }),
712
- },
701
+ "play.route": ({ event }) => ({
702
+ context: {
703
+ params: event.params ?? {},
704
+ query: event.query ?? {},
705
+ },
706
+ }),
713
707
  }
714
708
  ```
715
709
 
@@ -776,7 +770,7 @@ node --version
776
770
 
777
771
  | Term | Description |
778
772
  | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
779
- | `setup({ types })` | XState v5 entry point — declares TypeScript types for context, events, and input |
773
+ | `setup({ schemas })` | XState v6 entry point — declares the schemas of the context, the events, the input, and the `meta` of the states |
780
774
  | [`definePlayer({ machine })`](../api/@xmachines/play-xstate/index/functions/definePlayer.md) | Creates a factory that produces [`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md) instances |
781
775
  | `actor.start()` | Activates the machine — always call before sending events |
782
776
  | `actor.send({ type })` | Sends an event; machine guards decide whether a transition occurs |
@@ -1,37 +1,36 @@
1
1
  # Inspecting a Running Actor
2
2
 
3
- A `PlayerActor` is an XState actor, so every XState inspection tool works on it unchanged. This guide covers how to attach an inspector, what the events look like once they arrive, and the two things that are specific to XMachines: the actor _is_ the actor an inspector sees, and the observer is configured on the factory rather than on each instance.
3
+ A `PlayerActor` is an XState actor, so every observer of the inspection events of XState 6 works on it unchanged. This guide covers how to attach an inspector, what the events look like once they arrive, and the two things that are specific to XMachines: the actor _is_ the actor an inspector sees, and the observer is configured on the factory rather than on each instance.
4
4
 
5
- After reading this you will be able to open the [Stately inspector](https://stately.ai/docs/inspector) against a running demo or your own app, inspect an actor that has no browser around it, and wire an inspector that can be turned on after the actor has already started.
5
+ After reading this you will be able to observe a running demo or your own app, inspect an actor that has no browser around it, and wire an inspector that can be turned on after the actor has already started.
6
6
 
7
- - [Quick start](#quick-start) — three lines to a live inspector
7
+ - [Quick start](#quick-start) — one observer on the factory
8
8
  - [Where the observer attaches](#where-the-observer-attaches) — factory-level, creation-time
9
9
  - [Reading the events](#reading-the-events) — identity, `rootId`, the construction caveat
10
10
  - [Turning the inspector on later](#turning-the-inspector-on-later) — dev-tools toggles and replay
11
- - [Inspecting without a browser](#inspecting-without-a-browser) — WebSocket transport, Node and SSR
12
- - [Trying it in the demos](#trying-it-in-the-demos) — the shared demo controller
11
+ - [Inspecting without a browser](#inspecting-without-a-browser) — Node and SSR
12
+ - [Trying it in the demos](#trying-it-in-the-demos) — the shared demo controller and the Stately inspector
13
13
  - [Production considerations](#production-considerations) — cost and data exposure
14
14
 
15
+ > **`@statelyai/inspect` and XState 6.** Release 0.7 of `@statelyai/inspect` imports `toObserver` from `xstate`, which XState 6 no longer exports, so its module does not load beside XState 6. It also reads the inspection events of XState 5. The [demos](#trying-it-in-the-demos) of this repository therefore convert the events of XState 6 to the protocol of the [Stately inspector](https://stately.ai/docs/inspector) app themselves.
16
+
15
17
  ---
16
18
 
17
19
  ## Quick start
18
20
 
19
- Install the inspect client alongside your existing XState dependency:
20
-
21
- ```bash
22
- pnpm add -D @statelyai/inspect
23
- ```
24
-
25
- Create an inspector and hand its `inspect` observer to [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md):
21
+ Hand an observer of the inspection events to [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md):
26
22
 
27
23
  ```typescript
28
- import { createBrowserInspector } from "@statelyai/inspect";
29
24
  import { definePlayer } from "@xmachines/play-xstate";
30
- import type { AnyStateMachine } from "xstate";
25
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
31
26
 
32
27
  declare const appMachine: AnyStateMachine; // your machine
33
28
 
34
- const { inspect } = createBrowserInspector();
29
+ const inspect = (event: InspectionEvent): void => {
30
+ if (event.type === "@xstate.transition") {
31
+ console.log(event.event.type, "→", event.snapshot.status);
32
+ }
33
+ };
35
34
 
36
35
  const createPlayer = definePlayer({
37
36
  machine: appMachine,
@@ -42,7 +41,7 @@ const actor = createPlayer();
42
41
  actor.start();
43
42
  ```
44
43
 
45
- `createBrowserInspector()` opens Stately's hosted inspector in a new tab and streams the actor's events to it. From there the machine draws itself, every transition animates, and the context is readable at each step.
44
+ The observer receives one `@xstate.actor` event for each actor that the system creates, and one `@xstate.transition` event for each transition, with its event and its snapshot.
46
45
 
47
46
  That is the whole integration. [`PlayerOptions.inspect`](../api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md) is forwarded verbatim to XState's `createActor`, so anything XState accepts there is accepted here — a function, or an observer object with a `next` method:
48
47
 
@@ -96,7 +95,12 @@ Because a `PlayerActor` _is_ the XState actor rather than a wrapper around a hid
96
95
  - `event.actorRef === actor` for the player's own events — recognise a player by identity, no bookkeeping required.
97
96
  - `event.rootId === actor.sessionId` for the whole tree, including invoked and spawned children, whose `actorRef` is the child rather than the player.
98
97
 
99
- The event types are XState's: `@xstate.actor` when an actor registers, `@xstate.event` when an event is sent, `@xstate.snapshot` after a transition, `@xstate.action` for executed actions, and `@xstate.microstep` for intermediate steps.
98
+ XState 6 emits two event types:
99
+
100
+ - `@xstate.actor` when an actor registers: `actorRef`, `parentRef`, `id`, `src`, and its initial `snapshot`.
101
+ - `@xstate.transition` for each transition: the `event`, the resulting `snapshot`, `sourceRef`, `targetRef`, the `microsteps`, the executed `actions`, and the events that the transition `sent`. The stop of an actor is its last `@xstate.transition`, whose `snapshot.status` is `"stopped"`.
102
+
103
+ The `@xstate.event`, `@xstate.snapshot`, `@xstate.action` and `@xstate.microstep` events of XState 5 are facets of `@xstate.transition` now.
100
104
 
101
105
  ### The construction caveat
102
106
 
@@ -108,14 +112,14 @@ const inspect = (event: InspectionEvent) => {
108
112
  // ❌ throws — the atoms are not assigned yet
109
113
  console.log(event.actorRef.currentRoute.get());
110
114
  }
111
- if (event.type === "@xstate.snapshot") {
115
+ if (event.type === "@xstate.transition") {
112
116
  // ✅ construction has returned; atoms are live
113
117
  console.log(event.actorRef.getSnapshot().value);
114
118
  }
115
119
  };
116
120
  ```
117
121
 
118
- Capture the reference during construction if you need it, and read the atoms from a later event or from outside the observer entirely.
122
+ Capture the reference during construction if you need it, and read the atoms from a later event or from outside the observer entirely. The `@xstate.actor` event carries the initial `snapshot` itself, so an observer reads that field and not `getSnapshot()`.
119
123
 
120
124
  ---
121
125
 
@@ -124,23 +128,22 @@ Capture the reference during construction if you need it, and read the atoms fro
124
128
  An inspector that is only created when the user asks for it — a dev-tools toggle, a keyboard shortcut, a debug panel button — cannot be passed to `definePlayer`, which ran at module scope long before the click. Pass a forwarding function instead, so the attachment point is fixed at factory time while the destination stays swappable:
125
129
 
126
130
  ```typescript
127
- import { createBrowserInspector } from "@statelyai/inspect";
128
131
  import { definePlayer } from "@xmachines/play-xstate";
129
- import type { AnyStateMachine, InspectionEvent, Observer } from "xstate";
132
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
130
133
 
131
134
  declare const appMachine: AnyStateMachine; // your machine
135
+ declare function openInspector(): (event: InspectionEvent) => void; // your transport
132
136
 
133
- let current: Observer<InspectionEvent> | undefined;
137
+ let current: ((event: InspectionEvent) => void) | undefined;
134
138
 
135
139
  const createPlayer = definePlayer({
136
140
  machine: appMachine,
137
- options: { inspect: (event) => current?.next?.(event) },
141
+ options: { inspect: (event) => current?.(event) },
138
142
  });
139
143
 
140
144
  // Later, from a click handler
141
145
  export function enableInspector() {
142
- const { inspect } = createBrowserInspector();
143
- current = inspect;
146
+ current = openInspector();
144
147
  }
145
148
  ```
146
149
 
@@ -152,21 +155,25 @@ There is a catch worth knowing before you ship it: events that arrive while `cur
152
155
 
153
156
  ## Inspecting without a browser
154
157
 
155
- `createBrowserInspector` is one transport, not the only one. `@statelyai/inspect` also exports `createWebSocketInspector`, which pairs with `createInspectorServer` from `@statelyai/inspect/server` to stream the same events over a socket — the route to an actor with no browser around it at all, such as one running in a Node process or on the server half of an SSR render:
158
+ An observer needs no browser. A `console.log`, a test spy that asserts a transition sequence, and a writer that appends each event to a log or sends it over a socket are all valid `inspect` values — the route to an actor with no browser around it at all, such as one running in a Node process or on the server half of an SSR render:
156
159
 
157
160
  ```typescript
158
- import { createWebSocketInspector } from "@statelyai/inspect";
159
161
  import { definePlayer } from "@xmachines/play-xstate";
160
- import type { AnyStateMachine } from "xstate";
162
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
161
163
 
162
164
  declare const appMachine: AnyStateMachine; // your machine
165
+ declare const socket: { send(data: string): void }; // your transport
163
166
 
164
- const { inspect } = createWebSocketInspector({ url: "ws://localhost:8080" });
167
+ const inspect = (event: InspectionEvent): void => {
168
+ if (event.type !== "@xstate.transition") return;
169
+ // The snapshot holds live references, so send the fields that you need
170
+ socket.send(JSON.stringify({ event: event.event, status: event.snapshot.status }));
171
+ };
165
172
 
166
173
  const createPlayer = definePlayer({ machine: appMachine, options: { inspect } });
167
174
  ```
168
175
 
169
- Both transports consume the identical `options.inspect` observer, so switching between them touches only the line that creates the inspector. The same is true of an observer you write yourself: a `console.log`, a test spy asserting a transition sequence, or a writer that appends events to a log are all valid `inspect` values, and none of them require the inspect client at all.
176
+ Every transport consumes the identical `options.inspect` observer, so switching between them touches only the line that creates the observer.
170
177
 
171
178
  ---
172
179
 
@@ -180,24 +187,26 @@ pnpm --filter @xmachines/play-react-demo run dev
180
187
 
181
188
  Click **Show Inspector** in the debug panel at the bottom of the page. The inspector opens in its own window with the machine already drawn and the session's history replayed, and it keeps updating as you log in, navigate, and log out.
182
189
 
183
- The demos share one controller, `createDemoInspector()`, which each demo passes straight through to `definePlayer`. The controller lives in a private package of this repository, so you cannot install it. The block below shows the same wiring with the public API. It keeps each event from the creation of the actor, and it replays the events when the user opens the inspector:
190
+ The demos share one controller, `createDemoInspector()`, which each demo passes straight through to `definePlayer`. The controller converts each event of XState 6 to the protocol of the Stately inspector app: `@xstate.actor` becomes the registration of the actor, and each `@xstate.transition` becomes the `@xstate.event` and the `@xstate.snapshot` that the app draws one transition from. It posts the converted events to the window of the inspector app.
191
+
192
+ The controller lives in a private package of this repository, so you cannot install it. The block below shows the buffer and the replay with the public API. It keeps each event from the creation of the actor, and it replays the events when the user opens the inspector:
184
193
 
185
194
  ```typescript
186
- import { createBrowserInspector } from "@statelyai/inspect";
187
195
  import { definePlayer } from "@xmachines/play-xstate";
188
- import type { AnyStateMachine, InspectionEvent, Observer } from "xstate";
196
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
189
197
 
190
198
  declare const appMachine: AnyStateMachine; // your machine
199
+ declare function openInspector(): (event: InspectionEvent) => void; // your transport
191
200
 
192
201
  const buffer: InspectionEvent[] = [];
193
- let current: Observer<InspectionEvent> | undefined;
202
+ let current: ((event: InspectionEvent) => void) | undefined;
194
203
 
195
204
  const actor = definePlayer({
196
205
  machine: appMachine,
197
206
  options: {
198
207
  inspect: (event) => {
199
208
  if (current) {
200
- current.next?.(event);
209
+ current(event);
201
210
  return;
202
211
  }
203
212
  // Keep the last 500 events while nobody opens the inspector. A long session drops
@@ -214,11 +223,8 @@ actor.start();
214
223
  // The click handler of the "Show Inspector" button of the debug panel
215
224
  export function showInspector() {
216
225
  if (current) return;
217
- // The inspector holds these events until its window connects, and it drops the oldest
218
- // past `maxDeferredEvents`. The limit leaves room for the events of the handshake, so
219
- // the inspector keeps every event of the replay.
220
- current = createBrowserInspector({ maxDeferredEvents: 1000 }).inspect;
221
- for (const event of buffer.splice(0)) current.next?.(event);
226
+ current = openInspector();
227
+ for (const event of buffer.splice(0)) current(event);
222
228
  }
223
229
  ```
224
230
 
@@ -228,23 +234,23 @@ The demo controller answers the late-opening problem from the previous section:
228
234
 
229
235
  ## Production considerations
230
236
 
231
- **Cost.** Inspection serializes events. A `console.log` observer is cheap; a browser inspector posting every transition, and any buffering scheme layered on top, is not. Gate the inspector behind a development-only branch, and prefer letting the bundler drop it entirely:
237
+ **Cost.** Inspection serializes events. A `console.log` observer is cheap; a transport posting every transition, and any buffering scheme layered on top, is not. Gate the inspector behind a development-only branch, and prefer letting the bundler drop it entirely:
232
238
 
233
239
  ```typescript
234
240
  /// <reference types="vite/client" />
235
- import { createBrowserInspector } from "@statelyai/inspect";
236
241
  import { definePlayer } from "@xmachines/play-xstate";
237
- import type { AnyStateMachine } from "xstate";
242
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
238
243
 
239
244
  declare const appMachine: AnyStateMachine; // your machine
245
+ declare function openInspector(): (event: InspectionEvent) => void; // your transport
240
246
 
241
247
  // `import.meta.env.DEV` is the development flag of Vite
242
- const options = import.meta.env.DEV ? { inspect: createBrowserInspector().inspect } : {};
248
+ const options = import.meta.env.DEV ? { inspect: openInspector() } : {};
243
249
 
244
250
  const createPlayer = definePlayer({ machine: appMachine, options });
245
251
  ```
246
252
 
247
- **Data exposure.** Inspection events carry the machine's definition and its context — which in a real application may include user identifiers, tokens, or form input. The browser transport posts that data to the inspector's origin over `postMessage`, and the WebSocket transport sends it to whatever server is listening. Treat an inspector connection as a data egress path: keep it out of production builds, and when inspecting a shared environment, know where the events are going.
253
+ **Data exposure.** Inspection events carry the machine's definition and its context — which in a real application may include user identifiers, tokens, or form input. A browser transport posts that data to the inspector's origin over `postMessage`, and a socket transport sends it to whatever server is listening. Treat an inspector connection as a data egress path: keep it out of production builds, and when inspecting a shared environment, know where the events are going.
248
254
 
249
255
  ---
250
256
 
@@ -254,4 +260,4 @@ const createPlayer = definePlayer({ machine: appMachine, options });
254
260
  - **[`PlayerActor`](../api/@xmachines/play-xstate/index/classes/PlayerActor.md)** — the actor an inspector observes
255
261
  - **[The Actor Model](actor-model.md)** — why the actor is the actor, and what that buys
256
262
  - **[Getting Started](getting-started.md)** — installing packages and creating your first actor
257
- - **[Stately inspect docs](https://stately.ai/docs/inspector)** — the inspector itself, its transports and options
263
+ - **[Stately inspect docs](https://stately.ai/docs/inspector)** — the inspector app itself
package/guides/routing.md CHANGED
@@ -55,10 +55,12 @@ A **modifier** follows a param, a wildcard or a group:
55
55
  | `*` | zero or more | matches |
56
56
 
57
57
  ```ts
58
- import { createMachine } from "xstate";
58
+ import { createMachine, types } from "xstate";
59
59
 
60
60
  const machine = createMachine({
61
61
  id: "app",
62
+ // XState 6 types the `meta` of each state from this schema
63
+ schemas: { meta: types<{ route?: string }>() },
62
64
  initial: "home",
63
65
  states: {
64
66
  home: { meta: { route: "/" } },
@@ -145,7 +147,7 @@ This rule is about the PATTERN that a state declares. A param VALUE needs no esc
145
147
 
146
148
  `encodeURIComponent` leaves `*` as it stands, and that is the one exception. A bridge refuses a path that still holds a `:` or a `*`, because such a character marks a param that nothing substituted. A value of `a*b` therefore stops the push, and the URL stays where it is.
147
149
 
148
- A route that carries a QUERY STRING is the same case as a raw `?`, and it is the form a machine writes most often. The grammar reads the `?` of `meta: { route: "/dates?trip=one-way" }` as a modifier that follows no part, so `RouteMap` throws `InvalidRoutePatternError` in its constructor and the application starts never. A route declares a PATHNAME: put the default in `context.query`, which the generated `play.route` transition assigns and `buildRouteUrl` writes to the URL.
150
+ A route that carries a QUERY STRING is the same case as a raw `?`, and it is the form a machine writes most often. The grammar reads the `?` of `meta: { route: "/dates?trip=one-way" }` as a modifier that follows no part, so `RouteMap` throws `InvalidRoutePatternError` in its constructor and the application starts never. A route declares a PATHNAME: put the default in `context.query`, which the generated `play.route` transition writes and `buildRouteUrl` writes to the URL.
149
151
 
150
152
  ### The prefix rule
151
153