modality-ts 0.0.8 → 0.0.9

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 (578) hide show
  1. package/dist/check/diagnostics/bounds.d.ts +4 -0
  2. package/dist/check/diagnostics/bounds.d.ts.map +1 -0
  3. package/dist/check/diagnostics/bounds.js +25 -0
  4. package/dist/check/diagnostics/bounds.js.map +1 -0
  5. package/dist/check/diagnostics/vacuity.d.ts +3 -0
  6. package/dist/check/diagnostics/vacuity.d.ts.map +1 -0
  7. package/dist/check/diagnostics/vacuity.js +22 -0
  8. package/dist/check/diagnostics/vacuity.js.map +1 -0
  9. package/dist/check/engine/check-model.d.ts +4 -0
  10. package/dist/check/engine/check-model.d.ts.map +1 -0
  11. package/dist/check/engine/check-model.js +162 -0
  12. package/dist/check/engine/check-model.js.map +1 -0
  13. package/dist/check/engine/initial-states.d.ts +3 -0
  14. package/dist/check/engine/initial-states.d.ts.map +1 -0
  15. package/dist/check/engine/initial-states.js +11 -0
  16. package/dist/check/engine/initial-states.js.map +1 -0
  17. package/dist/check/engine/model-api.d.ts +4 -0
  18. package/dist/check/engine/model-api.d.ts.map +1 -0
  19. package/dist/check/engine/model-api.js +15 -0
  20. package/dist/check/engine/model-api.js.map +1 -0
  21. package/dist/check/engine/mounts.d.ts +3 -0
  22. package/dist/check/engine/mounts.d.ts.map +1 -0
  23. package/dist/check/engine/mounts.js +13 -0
  24. package/dist/check/engine/mounts.js.map +1 -0
  25. package/dist/check/engine/stabilize.d.ts +3 -0
  26. package/dist/check/engine/stabilize.d.ts.map +1 -0
  27. package/dist/check/engine/stabilize.js +82 -0
  28. package/dist/check/engine/stabilize.js.map +1 -0
  29. package/dist/check/engine/state-utils.d.ts +12 -0
  30. package/dist/check/engine/state-utils.d.ts.map +1 -0
  31. package/dist/check/engine/state-utils.js +30 -0
  32. package/dist/check/engine/state-utils.js.map +1 -0
  33. package/dist/check/engine/transitions.d.ts +4 -0
  34. package/dist/check/engine/transitions.d.ts.map +1 -0
  35. package/dist/check/engine/transitions.js +15 -0
  36. package/dist/check/engine/transitions.js.map +1 -0
  37. package/dist/check/index.d.ts +14 -0
  38. package/dist/check/index.d.ts.map +1 -0
  39. package/dist/check/index.js +13 -0
  40. package/dist/check/index.js.map +1 -0
  41. package/dist/check/properties/checked-state.d.ts +3 -0
  42. package/dist/check/properties/checked-state.d.ts.map +1 -0
  43. package/dist/check/properties/checked-state.js +21 -0
  44. package/dist/check/properties/checked-state.js.map +1 -0
  45. package/dist/check/properties/finalize.d.ts +4 -0
  46. package/dist/check/properties/finalize.d.ts.map +1 -0
  47. package/dist/check/properties/finalize.js +71 -0
  48. package/dist/check/properties/finalize.js.map +1 -0
  49. package/dist/check/properties/leads-to.d.ts +8 -0
  50. package/dist/check/properties/leads-to.d.ts.map +1 -0
  51. package/dist/check/properties/leads-to.js +69 -0
  52. package/dist/check/properties/leads-to.js.map +1 -0
  53. package/dist/check/properties/observe.d.ts +5 -0
  54. package/dist/check/properties/observe.d.ts.map +1 -0
  55. package/dist/check/properties/observe.js +56 -0
  56. package/dist/check/properties/observe.js.map +1 -0
  57. package/dist/check/properties/reachable-from.d.ts +8 -0
  58. package/dist/check/properties/reachable-from.d.ts.map +1 -0
  59. package/dist/check/properties/reachable-from.js +19 -0
  60. package/dist/check/properties/reachable-from.js.map +1 -0
  61. package/dist/check/runtime/domains.d.ts +5 -0
  62. package/dist/check/runtime/domains.d.ts.map +1 -0
  63. package/dist/check/runtime/domains.js +53 -0
  64. package/dist/check/runtime/domains.js.map +1 -0
  65. package/dist/check/runtime/effects.d.ts +9 -0
  66. package/dist/check/runtime/effects.d.ts.map +1 -0
  67. package/dist/check/runtime/effects.js +86 -0
  68. package/dist/check/runtime/effects.js.map +1 -0
  69. package/dist/check/runtime/expr.d.ts +7 -0
  70. package/dist/check/runtime/expr.d.ts.map +1 -0
  71. package/dist/check/runtime/expr.js +49 -0
  72. package/dist/check/runtime/expr.js.map +1 -0
  73. package/dist/check/runtime/navigation.d.ts +7 -0
  74. package/dist/check/runtime/navigation.d.ts.map +1 -0
  75. package/dist/check/runtime/navigation.js +60 -0
  76. package/dist/check/runtime/navigation.js.map +1 -0
  77. package/dist/check/runtime/opaque.d.ts +3 -0
  78. package/dist/check/runtime/opaque.d.ts.map +1 -0
  79. package/dist/check/runtime/opaque.js +72 -0
  80. package/dist/check/runtime/opaque.js.map +1 -0
  81. package/dist/check/runtime/paths.d.ts +4 -0
  82. package/dist/check/runtime/paths.d.ts.map +1 -0
  83. package/dist/check/runtime/paths.js +28 -0
  84. package/dist/check/runtime/paths.js.map +1 -0
  85. package/dist/check/runtime/pending.d.ts +9 -0
  86. package/dist/check/runtime/pending.d.ts.map +1 -0
  87. package/dist/check/runtime/pending.js +5 -0
  88. package/dist/check/runtime/pending.js.map +1 -0
  89. package/dist/check/runtime/tokens.d.ts +7 -0
  90. package/dist/check/runtime/tokens.d.ts.map +1 -0
  91. package/dist/check/runtime/tokens.js +36 -0
  92. package/dist/check/runtime/tokens.js.map +1 -0
  93. package/dist/check/slicing/slice-model.d.ts +5 -0
  94. package/dist/check/slicing/slice-model.d.ts.map +1 -0
  95. package/dist/check/slicing/slice-model.js +48 -0
  96. package/dist/check/slicing/slice-model.js.map +1 -0
  97. package/dist/check/traces/step-facts.d.ts +3 -0
  98. package/dist/check/traces/step-facts.d.ts.map +1 -0
  99. package/dist/check/traces/step-facts.js +35 -0
  100. package/dist/check/traces/step-facts.js.map +1 -0
  101. package/dist/check/traces/trace.d.ts +8 -0
  102. package/dist/check/traces/trace.d.ts.map +1 -0
  103. package/dist/check/traces/trace.js +42 -0
  104. package/dist/check/traces/trace.js.map +1 -0
  105. package/dist/{checker/search/index.d.ts → check/types.d.ts} +16 -6
  106. package/dist/check/types.d.ts.map +1 -0
  107. package/dist/{kernel/ir → check}/types.js.map +1 -1
  108. package/dist/cli/check.d.ts +3 -0
  109. package/dist/cli/check.d.ts.map +1 -0
  110. package/dist/cli/check.js +2 -0
  111. package/dist/cli/check.js.map +1 -0
  112. package/dist/cli/ci.d.ts.map +1 -0
  113. package/dist/cli/ci.js.map +1 -0
  114. package/dist/{modality → cli}/cli.d.ts.map +1 -1
  115. package/dist/{modality → cli}/cli.js +131 -18
  116. package/dist/cli/cli.js.map +1 -0
  117. package/dist/cli/codegen/model.d.ts +3 -0
  118. package/dist/cli/codegen/model.d.ts.map +1 -0
  119. package/dist/{modality → cli}/codegen/model.js +18 -10
  120. package/dist/cli/codegen/model.js.map +1 -0
  121. package/dist/{modality → cli}/codegen/replay-test.d.ts +1 -1
  122. package/dist/cli/codegen/replay-test.d.ts.map +1 -0
  123. package/dist/{modality → cli}/codegen/replay-test.js +12 -12
  124. package/dist/cli/codegen/replay-test.js.map +1 -0
  125. package/dist/cli/conform.d.ts +3 -0
  126. package/dist/cli/conform.d.ts.map +1 -0
  127. package/dist/cli/conform.js +2 -0
  128. package/dist/cli/conform.js.map +1 -0
  129. package/dist/cli/export-tla.d.ts +3 -0
  130. package/dist/cli/export-tla.d.ts.map +1 -0
  131. package/dist/cli/export-tla.js +2 -0
  132. package/dist/cli/export-tla.js.map +1 -0
  133. package/dist/{modality → cli}/extract.d.ts +1 -1
  134. package/dist/cli/extract.d.ts.map +1 -0
  135. package/dist/cli/extract.js.map +1 -0
  136. package/dist/{modality → cli}/features/check/command.d.ts +2 -2
  137. package/dist/cli/features/check/command.d.ts.map +1 -0
  138. package/dist/{modality → cli}/features/check/command.js +53 -17
  139. package/dist/cli/features/check/command.js.map +1 -0
  140. package/dist/cli/features/check/index.d.ts +3 -0
  141. package/dist/cli/features/check/index.d.ts.map +1 -0
  142. package/dist/cli/features/check/index.js +2 -0
  143. package/dist/cli/features/check/index.js.map +1 -0
  144. package/dist/cli/features/ci/command.d.ts.map +1 -0
  145. package/dist/{modality → cli}/features/ci/command.js +66 -26
  146. package/dist/cli/features/ci/command.js.map +1 -0
  147. package/dist/cli/features/ci/index.d.ts.map +1 -0
  148. package/dist/cli/features/ci/index.js.map +1 -0
  149. package/dist/{modality → cli}/features/conform/command.d.ts +1 -1
  150. package/dist/cli/features/conform/command.d.ts.map +1 -0
  151. package/dist/{modality → cli}/features/conform/command.js +67 -25
  152. package/dist/cli/features/conform/command.js.map +1 -0
  153. package/dist/cli/features/conform/index.d.ts.map +1 -0
  154. package/dist/cli/features/conform/index.js.map +1 -0
  155. package/dist/{modality → cli}/features/export/command.d.ts +1 -1
  156. package/dist/cli/features/export/command.d.ts.map +1 -0
  157. package/dist/{modality → cli}/features/export/command.js +72 -27
  158. package/dist/cli/features/export/command.js.map +1 -0
  159. package/dist/{modality → cli}/features/export/index.d.ts +2 -2
  160. package/dist/cli/features/export/index.d.ts.map +1 -0
  161. package/dist/cli/features/export/index.js +2 -0
  162. package/dist/cli/features/export/index.js.map +1 -0
  163. package/dist/{modality → cli}/features/extract/command.d.ts +3 -3
  164. package/dist/cli/features/extract/command.d.ts.map +1 -0
  165. package/dist/{modality → cli}/features/extract/command.js +219 -77
  166. package/dist/cli/features/extract/command.js.map +1 -0
  167. package/dist/{modality → cli}/features/extract/index.d.ts +1 -1
  168. package/dist/cli/features/extract/index.d.ts.map +1 -0
  169. package/dist/cli/features/extract/index.js.map +1 -0
  170. package/dist/{modality → cli}/features/replay/command.d.ts +1 -1
  171. package/dist/cli/features/replay/command.d.ts.map +1 -0
  172. package/dist/{modality → cli}/features/replay/command.js +42 -16
  173. package/dist/cli/features/replay/command.js.map +1 -0
  174. package/dist/cli/features/replay/index.d.ts.map +1 -0
  175. package/dist/cli/features/replay/index.js.map +1 -0
  176. package/dist/{harness → cli/harness}/index.d.ts +1 -1
  177. package/dist/cli/harness/index.d.ts.map +1 -0
  178. package/dist/{harness → cli/harness}/index.js +128 -37
  179. package/dist/cli/harness/index.js.map +1 -0
  180. package/dist/{modality → cli}/overlay.d.ts +1 -1
  181. package/dist/cli/overlay.d.ts.map +1 -0
  182. package/dist/{modality → cli}/overlay.js +1 -1
  183. package/dist/cli/overlay.js.map +1 -0
  184. package/dist/{modality → cli}/registry/index.d.ts +2 -2
  185. package/dist/cli/registry/index.d.ts.map +1 -0
  186. package/dist/{modality → cli}/registry/index.js +32 -17
  187. package/dist/cli/registry/index.js.map +1 -0
  188. package/dist/cli/replay.d.ts +3 -0
  189. package/dist/cli/replay.d.ts.map +1 -0
  190. package/dist/cli/replay.js.map +1 -0
  191. package/dist/{runtime → cli/runtime}/index.d.ts +1 -1
  192. package/dist/cli/runtime/index.d.ts.map +1 -0
  193. package/dist/{runtime → cli/runtime}/index.js +37 -10
  194. package/dist/cli/runtime/index.js.map +1 -0
  195. package/dist/core/artifacts/index.d.ts.map +1 -0
  196. package/dist/{kernel → core}/artifacts/index.js +7 -2
  197. package/dist/core/artifacts/index.js.map +1 -0
  198. package/dist/core/index.d.ts.map +1 -0
  199. package/dist/core/index.js.map +1 -0
  200. package/dist/core/ir/canonical.d.ts.map +1 -0
  201. package/dist/{kernel → core}/ir/canonical.js +30 -7
  202. package/dist/core/ir/canonical.js.map +1 -0
  203. package/dist/core/ir/domains.d.ts.map +1 -0
  204. package/dist/{kernel → core}/ir/domains.js +18 -6
  205. package/dist/core/ir/domains.js.map +1 -0
  206. package/dist/core/ir/types.d.ts.map +1 -0
  207. package/dist/{kernel/trace → core/ir}/types.js.map +1 -1
  208. package/dist/core/ir/validator.d.ts.map +1 -0
  209. package/dist/{kernel → core}/ir/validator.js +48 -19
  210. package/dist/core/ir/validator.js.map +1 -0
  211. package/dist/core/overlay/index.d.ts.map +1 -0
  212. package/dist/{kernel → core}/overlay/index.js +35 -14
  213. package/dist/core/overlay/index.js.map +1 -0
  214. package/dist/core/props/index.d.ts.map +1 -0
  215. package/dist/{kernel → core}/props/index.js +69 -21
  216. package/dist/core/props/index.js.map +1 -0
  217. package/dist/{kernel → core}/report/types.d.ts.map +1 -1
  218. package/dist/{kernel → core}/report/types.js.map +1 -1
  219. package/dist/core/trace/types.d.ts.map +1 -0
  220. package/dist/core/trace/types.js +2 -0
  221. package/dist/core/trace/types.js.map +1 -0
  222. package/dist/extract/engine/index.d.ts +4 -0
  223. package/dist/extract/engine/index.d.ts.map +1 -0
  224. package/dist/extract/engine/index.js +4 -0
  225. package/dist/extract/engine/index.js.map +1 -0
  226. package/dist/{extraction → extract/engine}/pipeline/index.d.ts +1 -2
  227. package/dist/extract/engine/pipeline/index.d.ts.map +1 -0
  228. package/dist/{extraction → extract/engine}/pipeline/index.js +55 -18
  229. package/dist/extract/engine/pipeline/index.js.map +1 -0
  230. package/dist/{extraction → extract/engine}/spi/index.d.ts +17 -1
  231. package/dist/extract/engine/spi/index.d.ts.map +1 -0
  232. package/dist/extract/engine/spi/index.js.map +1 -0
  233. package/dist/extract/engine/ts/ast.d.ts +23 -0
  234. package/dist/extract/engine/ts/ast.d.ts.map +1 -0
  235. package/dist/extract/engine/ts/ast.js +97 -0
  236. package/dist/extract/engine/ts/ast.js.map +1 -0
  237. package/dist/extract/engine/ts/components.d.ts +21 -0
  238. package/dist/extract/engine/ts/components.d.ts.map +1 -0
  239. package/dist/extract/engine/ts/components.js +287 -0
  240. package/dist/extract/engine/ts/components.js.map +1 -0
  241. package/dist/extract/engine/ts/context.d.ts +10 -0
  242. package/dist/extract/engine/ts/context.d.ts.map +1 -0
  243. package/dist/extract/engine/ts/context.js +273 -0
  244. package/dist/extract/engine/ts/context.js.map +1 -0
  245. package/dist/extract/engine/ts/domains.d.ts +8 -0
  246. package/dist/extract/engine/ts/domains.d.ts.map +1 -0
  247. package/dist/extract/engine/ts/domains.js +262 -0
  248. package/dist/extract/engine/ts/domains.js.map +1 -0
  249. package/dist/extract/engine/ts/expressions.d.ts +2 -0
  250. package/dist/extract/engine/ts/expressions.d.ts.map +1 -0
  251. package/dist/extract/engine/ts/expressions.js +2 -0
  252. package/dist/extract/engine/ts/expressions.js.map +1 -0
  253. package/dist/extract/engine/ts/handlers.d.ts +4 -0
  254. package/dist/extract/engine/ts/handlers.d.ts.map +1 -0
  255. package/dist/extract/engine/ts/handlers.js +3 -0
  256. package/dist/extract/engine/ts/handlers.js.map +1 -0
  257. package/dist/extract/engine/ts/ids.d.ts +7 -0
  258. package/dist/extract/engine/ts/ids.d.ts.map +1 -0
  259. package/dist/extract/engine/ts/ids.js +63 -0
  260. package/dist/extract/engine/ts/ids.js.map +1 -0
  261. package/dist/extract/engine/ts/input-transitions.d.ts +5 -0
  262. package/dist/extract/engine/ts/input-transitions.d.ts.map +1 -0
  263. package/dist/extract/engine/ts/input-transitions.js +132 -0
  264. package/dist/extract/engine/ts/input-transitions.js.map +1 -0
  265. package/dist/extract/engine/ts/jsx.d.ts +3 -0
  266. package/dist/extract/engine/ts/jsx.d.ts.map +1 -0
  267. package/dist/extract/engine/ts/jsx.js +3 -0
  268. package/dist/extract/engine/ts/jsx.js.map +1 -0
  269. package/dist/extract/engine/ts/react-source-transitions.d.ts +24 -0
  270. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -0
  271. package/dist/extract/engine/ts/react-source-transitions.js +243 -0
  272. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -0
  273. package/dist/extract/engine/ts/routes.d.ts +9 -0
  274. package/dist/extract/engine/ts/routes.d.ts.map +1 -0
  275. package/dist/extract/engine/ts/routes.js +94 -0
  276. package/dist/extract/engine/ts/routes.js.map +1 -0
  277. package/dist/extract/engine/ts/source.d.ts +3 -0
  278. package/dist/extract/engine/ts/source.d.ts.map +1 -0
  279. package/dist/extract/engine/ts/source.js +5 -0
  280. package/dist/extract/engine/ts/source.js.map +1 -0
  281. package/dist/extract/engine/ts/static-navigation.d.ts +5 -0
  282. package/dist/extract/engine/ts/static-navigation.d.ts.map +1 -0
  283. package/dist/extract/engine/ts/static-navigation.js +425 -0
  284. package/dist/extract/engine/ts/static-navigation.js.map +1 -0
  285. package/dist/extract/engine/ts/transition/async.d.ts +44 -0
  286. package/dist/extract/engine/ts/transition/async.d.ts.map +1 -0
  287. package/dist/extract/engine/ts/transition/async.js +546 -0
  288. package/dist/extract/engine/ts/transition/async.js.map +1 -0
  289. package/dist/extract/engine/ts/transition/component-props.d.ts +26 -0
  290. package/dist/extract/engine/ts/transition/component-props.d.ts.map +1 -0
  291. package/dist/extract/engine/ts/transition/component-props.js +200 -0
  292. package/dist/extract/engine/ts/transition/component-props.js.map +1 -0
  293. package/dist/extract/engine/ts/transition/effects.d.ts +33 -0
  294. package/dist/extract/engine/ts/transition/effects.d.ts.map +1 -0
  295. package/dist/extract/engine/ts/transition/effects.js +303 -0
  296. package/dist/extract/engine/ts/transition/effects.js.map +1 -0
  297. package/dist/extract/engine/ts/transition/expressions.d.ts +33 -0
  298. package/dist/extract/engine/ts/transition/expressions.d.ts.map +1 -0
  299. package/dist/extract/engine/ts/transition/expressions.js +353 -0
  300. package/dist/extract/engine/ts/transition/expressions.js.map +1 -0
  301. package/dist/extract/engine/ts/transition/guards.d.ts +21 -0
  302. package/dist/extract/engine/ts/transition/guards.d.ts.map +1 -0
  303. package/dist/extract/engine/ts/transition/guards.js +249 -0
  304. package/dist/extract/engine/ts/transition/guards.js.map +1 -0
  305. package/dist/extract/engine/ts/transition/handlers.d.ts +53 -0
  306. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -0
  307. package/dist/extract/engine/ts/transition/handlers.js +438 -0
  308. package/dist/extract/engine/ts/transition/handlers.js.map +1 -0
  309. package/dist/extract/engine/ts/transition/locals.d.ts +16 -0
  310. package/dist/extract/engine/ts/transition/locals.d.ts.map +1 -0
  311. package/dist/extract/engine/ts/transition/locals.js +113 -0
  312. package/dist/extract/engine/ts/transition/locals.js.map +1 -0
  313. package/dist/extract/engine/ts/transition/navigation.d.ts +21 -0
  314. package/dist/extract/engine/ts/transition/navigation.d.ts.map +1 -0
  315. package/dist/extract/engine/ts/transition/navigation.js +129 -0
  316. package/dist/extract/engine/ts/transition/navigation.js.map +1 -0
  317. package/dist/extract/engine/ts/transition/plugin-calls.d.ts +10 -0
  318. package/dist/extract/engine/ts/transition/plugin-calls.d.ts.map +1 -0
  319. package/dist/extract/engine/ts/transition/plugin-calls.js +114 -0
  320. package/dist/extract/engine/ts/transition/plugin-calls.js.map +1 -0
  321. package/dist/extract/engine/ts/transition/timers.d.ts +15 -0
  322. package/dist/extract/engine/ts/transition/timers.d.ts.map +1 -0
  323. package/dist/extract/engine/ts/transition/timers.js +121 -0
  324. package/dist/extract/engine/ts/transition/timers.js.map +1 -0
  325. package/dist/extract/engine/ts/transition/ui.d.ts +12 -0
  326. package/dist/extract/engine/ts/transition/ui.d.ts.map +1 -0
  327. package/dist/extract/engine/ts/transition/ui.js +113 -0
  328. package/dist/extract/engine/ts/transition/ui.js.map +1 -0
  329. package/dist/extract/engine/ts/traversal.d.ts +3 -0
  330. package/dist/extract/engine/ts/traversal.d.ts.map +1 -0
  331. package/dist/extract/engine/ts/traversal.js +6 -0
  332. package/dist/extract/engine/ts/traversal.js.map +1 -0
  333. package/dist/extract/engine/ts/types.d.ts +46 -0
  334. package/dist/extract/engine/ts/types.d.ts.map +1 -0
  335. package/dist/extract/engine/ts/types.js +2 -0
  336. package/dist/extract/engine/ts/types.js.map +1 -0
  337. package/dist/extract/index.d.ts +2 -0
  338. package/dist/extract/index.d.ts.map +1 -0
  339. package/dist/extract/index.js +2 -0
  340. package/dist/extract/index.js.map +1 -0
  341. package/dist/extract/sources/jotai/discover.d.ts +3 -0
  342. package/dist/extract/sources/jotai/discover.d.ts.map +1 -0
  343. package/dist/extract/sources/jotai/discover.js +65 -0
  344. package/dist/extract/sources/jotai/discover.js.map +1 -0
  345. package/dist/extract/sources/jotai/domains.d.ts +6 -0
  346. package/dist/extract/sources/jotai/domains.d.ts.map +1 -0
  347. package/dist/extract/sources/jotai/domains.js +283 -0
  348. package/dist/extract/sources/jotai/domains.js.map +1 -0
  349. package/dist/{sources → extract/sources}/jotai/harness.d.ts +2 -2
  350. package/dist/extract/sources/jotai/harness.d.ts.map +1 -0
  351. package/dist/{sources → extract/sources}/jotai/harness.js +1 -1
  352. package/dist/extract/sources/jotai/harness.js.map +1 -0
  353. package/dist/extract/sources/jotai/index.d.ts +4 -0
  354. package/dist/extract/sources/jotai/index.d.ts.map +1 -0
  355. package/dist/extract/sources/jotai/index.js +19 -0
  356. package/dist/extract/sources/jotai/index.js.map +1 -0
  357. package/dist/extract/sources/jotai/writes.d.ts +8 -0
  358. package/dist/extract/sources/jotai/writes.d.ts.map +1 -0
  359. package/dist/extract/sources/jotai/writes.js +173 -0
  360. package/dist/extract/sources/jotai/writes.js.map +1 -0
  361. package/dist/{sources → extract/sources}/router/harness.d.ts +1 -1
  362. package/dist/extract/sources/router/harness.d.ts.map +1 -0
  363. package/dist/{sources → extract/sources}/router/harness.js +6 -2
  364. package/dist/extract/sources/router/harness.js.map +1 -0
  365. package/dist/extract/sources/router/index.d.ts +9 -0
  366. package/dist/extract/sources/router/index.d.ts.map +1 -0
  367. package/dist/extract/sources/router/index.js +22 -0
  368. package/dist/extract/sources/router/index.js.map +1 -0
  369. package/dist/extract/sources/router/navigation.d.ts +5 -0
  370. package/dist/extract/sources/router/navigation.d.ts.map +1 -0
  371. package/dist/extract/sources/router/navigation.js +16 -0
  372. package/dist/extract/sources/router/navigation.js.map +1 -0
  373. package/dist/extract/sources/router/routes.d.ts +4 -0
  374. package/dist/extract/sources/router/routes.d.ts.map +1 -0
  375. package/dist/extract/sources/router/routes.js +28 -0
  376. package/dist/extract/sources/router/routes.js.map +1 -0
  377. package/dist/extract/sources/swr/discover.d.ts +11 -0
  378. package/dist/extract/sources/swr/discover.d.ts.map +1 -0
  379. package/dist/extract/sources/swr/discover.js +175 -0
  380. package/dist/extract/sources/swr/discover.js.map +1 -0
  381. package/dist/extract/sources/swr/domains.d.ts +5 -0
  382. package/dist/extract/sources/swr/domains.d.ts.map +1 -0
  383. package/dist/extract/sources/swr/domains.js +99 -0
  384. package/dist/extract/sources/swr/domains.js.map +1 -0
  385. package/dist/{sources → extract/sources}/swr/harness.d.ts +2 -2
  386. package/dist/extract/sources/swr/harness.d.ts.map +1 -0
  387. package/dist/{sources → extract/sources}/swr/harness.js +3 -1
  388. package/dist/extract/sources/swr/harness.js.map +1 -0
  389. package/dist/extract/sources/swr/index.d.ts +6 -0
  390. package/dist/extract/sources/swr/index.d.ts.map +1 -0
  391. package/dist/extract/sources/swr/index.js +22 -0
  392. package/dist/extract/sources/swr/index.js.map +1 -0
  393. package/dist/{sources/swr/index.d.ts → extract/sources/swr/template.d.ts} +4 -6
  394. package/dist/extract/sources/swr/template.d.ts.map +1 -0
  395. package/dist/extract/sources/swr/template.js +331 -0
  396. package/dist/extract/sources/swr/template.js.map +1 -0
  397. package/dist/extract/sources/swr/writes.d.ts +3 -0
  398. package/dist/extract/sources/swr/writes.d.ts.map +1 -0
  399. package/dist/extract/sources/swr/writes.js +54 -0
  400. package/dist/extract/sources/swr/writes.js.map +1 -0
  401. package/dist/{sources → extract/sources}/use-state/harness.d.ts +2 -2
  402. package/dist/extract/sources/use-state/harness.d.ts.map +1 -0
  403. package/dist/{sources → extract/sources}/use-state/harness.js +1 -1
  404. package/dist/extract/sources/use-state/harness.js.map +1 -0
  405. package/dist/extract/sources/use-state/index.d.ts +4 -0
  406. package/dist/extract/sources/use-state/index.d.ts.map +1 -0
  407. package/dist/{sources → extract/sources}/use-state/index.js +84 -31
  408. package/dist/extract/sources/use-state/index.js.map +1 -0
  409. package/dist/extract/sources/use-state/transitions.d.ts +4 -0
  410. package/dist/extract/sources/use-state/transitions.d.ts.map +1 -0
  411. package/dist/extract/sources/use-state/transitions.js +20 -0
  412. package/dist/extract/sources/use-state/transitions.js.map +1 -0
  413. package/dist/extract/sources/use-state/types.d.ts +67 -0
  414. package/dist/extract/sources/use-state/types.d.ts.map +1 -0
  415. package/dist/extract/sources/use-state/types.js +2 -0
  416. package/dist/extract/sources/use-state/types.js.map +1 -0
  417. package/package.json +85 -71
  418. package/dist/checker/encode/index.d.ts +0 -2
  419. package/dist/checker/encode/index.d.ts.map +0 -1
  420. package/dist/checker/encode/index.js +0 -2
  421. package/dist/checker/encode/index.js.map +0 -1
  422. package/dist/checker/index.d.ts +0 -6
  423. package/dist/checker/index.d.ts.map +0 -1
  424. package/dist/checker/index.js +0 -6
  425. package/dist/checker/index.js.map +0 -1
  426. package/dist/checker/monitors/index.d.ts +0 -2
  427. package/dist/checker/monitors/index.d.ts.map +0 -1
  428. package/dist/checker/monitors/index.js.map +0 -1
  429. package/dist/checker/search/eval.d.ts +0 -16
  430. package/dist/checker/search/eval.d.ts.map +0 -1
  431. package/dist/checker/search/eval.js +0 -308
  432. package/dist/checker/search/eval.js.map +0 -1
  433. package/dist/checker/search/index.d.ts.map +0 -1
  434. package/dist/checker/search/index.js +0 -556
  435. package/dist/checker/search/index.js.map +0 -1
  436. package/dist/checker/slicing/index.d.ts +0 -2
  437. package/dist/checker/slicing/index.d.ts.map +0 -1
  438. package/dist/checker/slicing/index.js +0 -2
  439. package/dist/checker/slicing/index.js.map +0 -1
  440. package/dist/checker/traces/index.d.ts +0 -2
  441. package/dist/checker/traces/index.d.ts.map +0 -1
  442. package/dist/checker/traces/index.js +0 -2
  443. package/dist/checker/traces/index.js.map +0 -1
  444. package/dist/extraction/index.d.ts +0 -34
  445. package/dist/extraction/index.d.ts.map +0 -1
  446. package/dist/extraction/index.js +0 -2982
  447. package/dist/extraction/index.js.map +0 -1
  448. package/dist/extraction/pipeline/index.d.ts.map +0 -1
  449. package/dist/extraction/pipeline/index.js.map +0 -1
  450. package/dist/extraction/spi/index.d.ts.map +0 -1
  451. package/dist/extraction/spi/index.js +0 -2
  452. package/dist/extraction/spi/index.js.map +0 -1
  453. package/dist/harness/index.d.ts.map +0 -1
  454. package/dist/harness/index.js.map +0 -1
  455. package/dist/kernel/artifacts/index.d.ts.map +0 -1
  456. package/dist/kernel/artifacts/index.js.map +0 -1
  457. package/dist/kernel/index.d.ts.map +0 -1
  458. package/dist/kernel/index.js.map +0 -1
  459. package/dist/kernel/ir/canonical.d.ts.map +0 -1
  460. package/dist/kernel/ir/canonical.js.map +0 -1
  461. package/dist/kernel/ir/domains.d.ts.map +0 -1
  462. package/dist/kernel/ir/domains.js.map +0 -1
  463. package/dist/kernel/ir/types.d.ts.map +0 -1
  464. package/dist/kernel/ir/validator.d.ts.map +0 -1
  465. package/dist/kernel/ir/validator.js.map +0 -1
  466. package/dist/kernel/overlay/index.d.ts.map +0 -1
  467. package/dist/kernel/overlay/index.js.map +0 -1
  468. package/dist/kernel/props/index.d.ts.map +0 -1
  469. package/dist/kernel/props/index.js.map +0 -1
  470. package/dist/kernel/trace/types.d.ts.map +0 -1
  471. package/dist/modality/check.d.ts +0 -3
  472. package/dist/modality/check.d.ts.map +0 -1
  473. package/dist/modality/check.js +0 -2
  474. package/dist/modality/check.js.map +0 -1
  475. package/dist/modality/ci.d.ts.map +0 -1
  476. package/dist/modality/ci.js.map +0 -1
  477. package/dist/modality/cli.js.map +0 -1
  478. package/dist/modality/codegen/model.d.ts +0 -3
  479. package/dist/modality/codegen/model.d.ts.map +0 -1
  480. package/dist/modality/codegen/model.js.map +0 -1
  481. package/dist/modality/codegen/replay-test.d.ts.map +0 -1
  482. package/dist/modality/codegen/replay-test.js.map +0 -1
  483. package/dist/modality/conform.d.ts +0 -3
  484. package/dist/modality/conform.d.ts.map +0 -1
  485. package/dist/modality/conform.js +0 -2
  486. package/dist/modality/conform.js.map +0 -1
  487. package/dist/modality/export-tla.d.ts +0 -3
  488. package/dist/modality/export-tla.d.ts.map +0 -1
  489. package/dist/modality/export-tla.js +0 -2
  490. package/dist/modality/export-tla.js.map +0 -1
  491. package/dist/modality/extract.d.ts.map +0 -1
  492. package/dist/modality/extract.js.map +0 -1
  493. package/dist/modality/features/check/command.d.ts.map +0 -1
  494. package/dist/modality/features/check/command.js.map +0 -1
  495. package/dist/modality/features/check/index.d.ts +0 -3
  496. package/dist/modality/features/check/index.d.ts.map +0 -1
  497. package/dist/modality/features/check/index.js +0 -2
  498. package/dist/modality/features/check/index.js.map +0 -1
  499. package/dist/modality/features/ci/command.d.ts.map +0 -1
  500. package/dist/modality/features/ci/command.js.map +0 -1
  501. package/dist/modality/features/ci/index.d.ts.map +0 -1
  502. package/dist/modality/features/ci/index.js.map +0 -1
  503. package/dist/modality/features/conform/command.d.ts.map +0 -1
  504. package/dist/modality/features/conform/command.js.map +0 -1
  505. package/dist/modality/features/conform/index.d.ts.map +0 -1
  506. package/dist/modality/features/conform/index.js.map +0 -1
  507. package/dist/modality/features/export/command.d.ts.map +0 -1
  508. package/dist/modality/features/export/command.js.map +0 -1
  509. package/dist/modality/features/export/index.d.ts.map +0 -1
  510. package/dist/modality/features/export/index.js +0 -2
  511. package/dist/modality/features/export/index.js.map +0 -1
  512. package/dist/modality/features/extract/command.d.ts.map +0 -1
  513. package/dist/modality/features/extract/command.js.map +0 -1
  514. package/dist/modality/features/extract/index.d.ts.map +0 -1
  515. package/dist/modality/features/extract/index.js.map +0 -1
  516. package/dist/modality/features/replay/command.d.ts.map +0 -1
  517. package/dist/modality/features/replay/command.js.map +0 -1
  518. package/dist/modality/features/replay/index.d.ts.map +0 -1
  519. package/dist/modality/features/replay/index.js.map +0 -1
  520. package/dist/modality/overlay.d.ts.map +0 -1
  521. package/dist/modality/overlay.js.map +0 -1
  522. package/dist/modality/registry/index.d.ts.map +0 -1
  523. package/dist/modality/registry/index.js.map +0 -1
  524. package/dist/modality/replay.d.ts +0 -3
  525. package/dist/modality/replay.d.ts.map +0 -1
  526. package/dist/modality/replay.js.map +0 -1
  527. package/dist/runtime/index.d.ts.map +0 -1
  528. package/dist/runtime/index.js.map +0 -1
  529. package/dist/sources/jotai/harness.d.ts.map +0 -1
  530. package/dist/sources/jotai/harness.js.map +0 -1
  531. package/dist/sources/jotai/index.d.ts +0 -11
  532. package/dist/sources/jotai/index.d.ts.map +0 -1
  533. package/dist/sources/jotai/index.js +0 -432
  534. package/dist/sources/jotai/index.js.map +0 -1
  535. package/dist/sources/router/harness.d.ts.map +0 -1
  536. package/dist/sources/router/harness.js.map +0 -1
  537. package/dist/sources/router/index.d.ts +0 -15
  538. package/dist/sources/router/index.d.ts.map +0 -1
  539. package/dist/sources/router/index.js +0 -41
  540. package/dist/sources/router/index.js.map +0 -1
  541. package/dist/sources/swr/harness.d.ts.map +0 -1
  542. package/dist/sources/swr/harness.js.map +0 -1
  543. package/dist/sources/swr/index.d.ts.map +0 -1
  544. package/dist/sources/swr/index.js +0 -528
  545. package/dist/sources/swr/index.js.map +0 -1
  546. package/dist/sources/use-state/harness.d.ts.map +0 -1
  547. package/dist/sources/use-state/harness.js.map +0 -1
  548. package/dist/sources/use-state/index.d.ts +0 -9
  549. package/dist/sources/use-state/index.d.ts.map +0 -1
  550. package/dist/sources/use-state/index.js.map +0 -1
  551. /package/dist/{kernel/ir → check}/types.js +0 -0
  552. /package/dist/{modality → cli}/ci.d.ts +0 -0
  553. /package/dist/{modality → cli}/ci.js +0 -0
  554. /package/dist/{modality → cli}/cli.d.ts +0 -0
  555. /package/dist/{modality → cli}/extract.js +0 -0
  556. /package/dist/{modality → cli}/features/ci/command.d.ts +0 -0
  557. /package/dist/{modality → cli}/features/ci/index.d.ts +0 -0
  558. /package/dist/{modality → cli}/features/ci/index.js +0 -0
  559. /package/dist/{modality → cli}/features/conform/index.d.ts +0 -0
  560. /package/dist/{modality → cli}/features/conform/index.js +0 -0
  561. /package/dist/{modality → cli}/features/extract/index.js +0 -0
  562. /package/dist/{modality → cli}/features/replay/index.d.ts +0 -0
  563. /package/dist/{modality → cli}/features/replay/index.js +0 -0
  564. /package/dist/{modality → cli}/replay.js +0 -0
  565. /package/dist/{kernel → core}/artifacts/index.d.ts +0 -0
  566. /package/dist/{kernel → core}/index.d.ts +0 -0
  567. /package/dist/{kernel → core}/index.js +0 -0
  568. /package/dist/{kernel → core}/ir/canonical.d.ts +0 -0
  569. /package/dist/{kernel → core}/ir/domains.d.ts +0 -0
  570. /package/dist/{kernel → core}/ir/types.d.ts +0 -0
  571. /package/dist/{kernel/report → core/ir}/types.js +0 -0
  572. /package/dist/{kernel → core}/ir/validator.d.ts +0 -0
  573. /package/dist/{kernel → core}/overlay/index.d.ts +0 -0
  574. /package/dist/{kernel → core}/props/index.d.ts +0 -0
  575. /package/dist/{kernel → core}/report/types.d.ts +0 -0
  576. /package/dist/{kernel/trace → core/report}/types.js +0 -0
  577. /package/dist/{kernel → core}/trace/types.d.ts +0 -0
  578. /package/dist/{checker/monitors → extract/engine/spi}/index.js +0 -0
@@ -1,7 +1,7 @@
1
1
  export function setup(ctx) {
2
2
  return {
3
3
  initialState: ctx.initialState ?? {},
4
- probes: ctx.probes ?? {}
4
+ probes: ctx.probes ?? {},
5
5
  };
6
6
  }
7
7
  export function observe(varId, handles) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/harness.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,KAAK,CACnB,GAA0D;IAE1D,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAa,EACb,OAAqB;IAErB,MAAM,QAAQ,GAAG,OAA+B,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IACrC,IAAI,KAAK,IAAI,QAAQ,CAAC,YAAY;QAChC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAE,EAAE,CAAC;IAClD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAAuB,EACvB,MAAc;IAEd,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { StateSourcePlugin } from "modality-ts/extract/engine/spi";
2
+ export declare function useStateSource(): StateSourcePlugin;
3
+ export default useStateSource;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AAUxC,wBAAgB,cAAc,IAAI,iBAAiB,CAclD;AAED,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as ts from "typescript";
2
- import { validateValue } from "modality-ts/kernel";
2
+ import { validateValue, } from "modality-ts/core";
3
3
  import * as harness from "./harness.js";
4
4
  export function useStateSource() {
5
5
  return {
@@ -10,19 +10,22 @@ export function useStateSource() {
10
10
  writeChannels: (ctx) => discoverUseStateWriteChannels(ctx.sourceText, ctx.fileName),
11
11
  harness,
12
12
  conformance: {
13
- testedVersions: "react>=18"
14
- }
13
+ testedVersions: "react>=18",
14
+ },
15
15
  };
16
16
  }
17
17
  export default useStateSource;
18
- export function discoverUseState(sourceText, fileName = "App.tsx", route = "/") {
18
+ function discoverUseState(sourceText, fileName = "App.tsx", route = "/") {
19
19
  const source = ts.createSourceFile(fileName, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
20
20
  const typeAliases = typeAliasDeclarations(source);
21
21
  const providerComponents = providerComponentNames(source);
22
22
  const decls = [];
23
23
  const visit = (node, componentName) => {
24
24
  const component = componentNameFor(node) ?? componentName;
25
- if (ts.isVariableDeclaration(node) && ts.isArrayBindingPattern(node.name) && node.initializer && isUseStateCall(node.initializer)) {
25
+ if (ts.isVariableDeclaration(node) &&
26
+ ts.isArrayBindingPattern(node.name) &&
27
+ node.initializer &&
28
+ isUseStateCall(node.initializer)) {
26
29
  const stateName = node.name.elements[0];
27
30
  const setterName = node.name.elements[1];
28
31
  if (ts.isBindingElement(stateName) && ts.isIdentifier(stateName.name)) {
@@ -34,8 +37,10 @@ export function discoverUseState(sourceText, fileName = "App.tsx", route = "/")
34
37
  id: varId,
35
38
  domain,
36
39
  origin,
37
- scope: providerComponents.has(componentId) ? { kind: "global" } : { kind: "route-local", route },
38
- initial: initialValueForUseState(node.initializer, domain)
40
+ scope: providerComponents.has(componentId)
41
+ ? { kind: "global" }
42
+ : { kind: "route-local", route },
43
+ initial: initialValueForUseState(node.initializer, domain),
39
44
  };
40
45
  decls.push({
41
46
  id: varId,
@@ -45,8 +50,12 @@ export function discoverUseState(sourceText, fileName = "App.tsx", route = "/")
45
50
  metadata: {
46
51
  component: componentId,
47
52
  stateName: stateName.name.text,
48
- ...(setterName && ts.isBindingElement(setterName) && ts.isIdentifier(setterName.name) ? { setterName: setterName.name.text } : {})
49
- }
53
+ ...(setterName &&
54
+ ts.isBindingElement(setterName) &&
55
+ ts.isIdentifier(setterName.name)
56
+ ? { setterName: setterName.name.text }
57
+ : {}),
58
+ },
50
59
  });
51
60
  }
52
61
  }
@@ -55,20 +64,22 @@ export function discoverUseState(sourceText, fileName = "App.tsx", route = "/")
55
64
  visit(source, undefined);
56
65
  return decls;
57
66
  }
58
- export function discoverUseStateWriteChannels(sourceText, fileName = "App.tsx") {
67
+ function discoverUseStateWriteChannels(sourceText, fileName = "App.tsx") {
59
68
  return discoverUseState(sourceText, fileName, "/").flatMap((decl) => {
60
69
  const setterName = decl.metadata?.setterName;
61
70
  if (typeof setterName !== "string" || !decl.var)
62
71
  return [];
63
- return [{
72
+ return [
73
+ {
64
74
  id: `${decl.id}.setter`,
65
75
  varId: decl.var.id,
66
76
  symbolName: setterName,
67
- source: decl.origin
68
- }];
77
+ source: decl.origin,
78
+ },
79
+ ];
69
80
  });
70
81
  }
71
- export function inferDomainFromTypeNode(node, typeAliases = new Map()) {
82
+ function inferDomainFromTypeNode(node, typeAliases = new Map()) {
72
83
  if (!node)
73
84
  return { kind: "tokens", count: 1 };
74
85
  switch (node.kind) {
@@ -100,12 +111,17 @@ function inferUseStateDomain(call, typeAliases = new Map()) {
100
111
  const initial = call.arguments[0];
101
112
  if (!initial)
102
113
  return { kind: "tokens", count: 1 };
103
- if (initial.kind === ts.SyntaxKind.TrueKeyword || initial.kind === ts.SyntaxKind.FalseKeyword)
114
+ if (initial.kind === ts.SyntaxKind.TrueKeyword ||
115
+ initial.kind === ts.SyntaxKind.FalseKeyword)
104
116
  return { kind: "bool" };
105
117
  if (ts.isStringLiteral(initial))
106
118
  return { kind: "enum", values: [initial.text] };
107
119
  if (ts.isNumericLiteral(initial))
108
- return { kind: "boundedInt", min: Number(initial.text), max: Number(initial.text) };
120
+ return {
121
+ kind: "boundedInt",
122
+ min: Number(initial.text),
123
+ max: Number(initial.text),
124
+ };
109
125
  if (initial.kind === ts.SyntaxKind.NullKeyword)
110
126
  return { kind: "option", inner: { kind: "tokens", count: 1 } };
111
127
  if (ts.isArrayLiteralExpression(initial))
@@ -127,7 +143,11 @@ function initialValueForUseState(call, domain) {
127
143
  if (initial.kind === ts.SyntaxKind.NullKeyword)
128
144
  return validInitialOrFirst(domain, null);
129
145
  if (ts.isArrayLiteralExpression(initial))
130
- return validInitialOrFirst(domain, initial.elements.length === 0 ? "0" : initial.elements.length === 1 ? "1" : "many");
146
+ return validInitialOrFirst(domain, initial.elements.length === 0
147
+ ? "0"
148
+ : initial.elements.length === 1
149
+ ? "1"
150
+ : "many");
131
151
  return firstValue(domain);
132
152
  }
133
153
  function validInitialOrFirst(domain, value) {
@@ -135,7 +155,8 @@ function validInitialOrFirst(domain, value) {
135
155
  }
136
156
  function domainFromLiteralType(node) {
137
157
  const lit = node.literal;
138
- if (lit.kind === ts.SyntaxKind.TrueKeyword || lit.kind === ts.SyntaxKind.FalseKeyword)
158
+ if (lit.kind === ts.SyntaxKind.TrueKeyword ||
159
+ lit.kind === ts.SyntaxKind.FalseKeyword)
139
160
  return { kind: "bool" };
140
161
  if (ts.isStringLiteral(lit))
141
162
  return { kind: "enum", values: [lit.text] };
@@ -146,9 +167,14 @@ function domainFromLiteralType(node) {
146
167
  return { kind: "tokens", count: 1 };
147
168
  }
148
169
  function domainFromUnion(node, typeAliases = new Map()) {
149
- const nonNull = node.types.filter((part) => part.kind !== ts.SyntaxKind.UndefinedKeyword && !(ts.isLiteralTypeNode(part) && part.literal.kind === ts.SyntaxKind.NullKeyword));
170
+ const nonNull = node.types.filter((part) => part.kind !== ts.SyntaxKind.UndefinedKeyword &&
171
+ !(ts.isLiteralTypeNode(part) &&
172
+ part.literal.kind === ts.SyntaxKind.NullKeyword));
150
173
  if (nonNull.length !== node.types.length && nonNull.length === 1) {
151
- return { kind: "option", inner: inferDomainFromTypeNode(nonNull[0], typeAliases) };
174
+ return {
175
+ kind: "option",
176
+ inner: inferDomainFromTypeNode(nonNull[0], typeAliases),
177
+ };
152
178
  }
153
179
  const literalValues = [];
154
180
  const numericValues = [];
@@ -164,7 +190,11 @@ function domainFromUnion(node, typeAliases = new Map()) {
164
190
  return taggedUnionFrom(node) ?? { kind: "tokens", count: 1 };
165
191
  }
166
192
  if (numericValues.length === node.types.length)
167
- return { kind: "boundedInt", min: Math.min(...numericValues), max: Math.max(...numericValues) };
193
+ return {
194
+ kind: "boundedInt",
195
+ min: Math.min(...numericValues),
196
+ max: Math.max(...numericValues),
197
+ };
168
198
  return { kind: "enum", values: literalValues };
169
199
  }
170
200
  function taggedUnionFrom(node) {
@@ -174,7 +204,10 @@ function taggedUnionFrom(node) {
174
204
  const tagCandidates = new Map();
175
205
  for (const member of members) {
176
206
  for (const prop of member.members.filter(ts.isPropertySignature)) {
177
- if (!prop.type || !ts.isIdentifier(prop.name) || !ts.isLiteralTypeNode(prop.type) || !ts.isStringLiteral(prop.type.literal))
207
+ if (!prop.type ||
208
+ !ts.isIdentifier(prop.name) ||
209
+ !ts.isLiteralTypeNode(prop.type) ||
210
+ !ts.isStringLiteral(prop.type.literal))
178
211
  continue;
179
212
  const set = tagCandidates.get(prop.name.text) ?? new Set();
180
213
  set.add(prop.type.literal.text);
@@ -186,8 +219,12 @@ function taggedUnionFrom(node) {
186
219
  return undefined;
187
220
  const variants = {};
188
221
  for (const member of members) {
189
- const tagProp = member.members.find((prop) => ts.isPropertySignature(prop) && ts.isIdentifier(prop.name) && prop.name.text === tag);
190
- if (!tagProp?.type || !ts.isLiteralTypeNode(tagProp.type) || !ts.isStringLiteral(tagProp.type.literal))
222
+ const tagProp = member.members.find((prop) => ts.isPropertySignature(prop) &&
223
+ ts.isIdentifier(prop.name) &&
224
+ prop.name.text === tag);
225
+ if (!tagProp?.type ||
226
+ !ts.isLiteralTypeNode(tagProp.type) ||
227
+ !ts.isStringLiteral(tagProp.type.literal))
191
228
  return undefined;
192
229
  variants[tagProp.type.literal.text] = domainFromTypeLiteral(member, tag);
193
230
  }
@@ -196,7 +233,10 @@ function taggedUnionFrom(node) {
196
233
  function domainFromTypeLiteral(node, omitField) {
197
234
  const fields = {};
198
235
  for (const member of node.members) {
199
- if (!ts.isPropertySignature(member) || !member.type || !ts.isIdentifier(member.name) || member.name.text === omitField)
236
+ if (!ts.isPropertySignature(member) ||
237
+ !member.type ||
238
+ !ts.isIdentifier(member.name) ||
239
+ member.name.text === omitField)
200
240
  continue;
201
241
  fields[member.name.text] = inferDomainFromTypeNode(member.type);
202
242
  }
@@ -207,7 +247,8 @@ function domainFromTypeReference(node, typeAliases = new Map()) {
207
247
  const alias = typeAliases.get(name);
208
248
  if (alias)
209
249
  return inferDomainFromTypeNode(alias, typeAliases);
210
- if ((name === "Array" || name === "ReadonlyArray") && node.typeArguments?.length === 1)
250
+ if ((name === "Array" || name === "ReadonlyArray") &&
251
+ node.typeArguments?.length === 1)
211
252
  return { kind: "lengthCat" };
212
253
  if (name === "Record")
213
254
  return { kind: "tokens", count: 1 };
@@ -224,12 +265,18 @@ function typeAliasDeclarations(source) {
224
265
  return aliases;
225
266
  }
226
267
  function isUseStateCall(node) {
227
- return ts.isCallExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === "useState";
268
+ return (ts.isCallExpression(node) &&
269
+ ts.isIdentifier(node.expression) &&
270
+ node.expression.text === "useState");
228
271
  }
229
272
  function componentNameFor(node) {
230
- if (ts.isFunctionDeclaration(node) && node.name && startsUppercase(node.name.text))
273
+ if (ts.isFunctionDeclaration(node) &&
274
+ node.name &&
275
+ startsUppercase(node.name.text))
231
276
  return node.name.text;
232
- if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name) && startsUppercase(node.name.text))
277
+ if (ts.isVariableDeclaration(node) &&
278
+ ts.isIdentifier(node.name) &&
279
+ startsUppercase(node.name.text))
233
280
  return node.name.text;
234
281
  return undefined;
235
282
  }
@@ -258,9 +305,15 @@ function firstValue(domain) {
258
305
  case "option":
259
306
  return null;
260
307
  case "record":
261
- return Object.fromEntries(Object.entries(domain.fields).map(([key, field]) => [key, firstValue(field)]));
308
+ return Object.fromEntries(Object.entries(domain.fields).map(([key, field]) => [
309
+ key,
310
+ firstValue(field),
311
+ ]));
262
312
  case "tagged": {
263
- const [tagValue, variant] = Object.entries(domain.variants)[0] ?? ["unknown", { kind: "record", fields: {} }];
313
+ const [tagValue, variant] = Object.entries(domain.variants)[0] ?? [
314
+ "unknown",
315
+ { kind: "record", fields: {} },
316
+ ];
264
317
  return { ...firstValue(variant), [domain.tag]: tagValue };
265
318
  }
266
319
  case "tokens":
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ExtractedModelSkeleton, UseStateExtractionOptions, UseStateExtractionResult } from "./types.js";
2
+ export declare function extractUseStateVars(sourceText: string, options?: UseStateExtractionOptions): UseStateExtractionResult;
3
+ export declare function extractUseStateSkeleton(sourceText: string, options?: UseStateExtractionOptions): ExtractedModelSkeleton;
4
+ //# sourceMappingURL=transitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/transitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CAE1B;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACtC,sBAAsB,CAcxB"}
@@ -0,0 +1,20 @@
1
+ import { extractReactSourceTransitions } from "../../engine/ts/react-source-transitions.js";
2
+ export function extractUseStateVars(sourceText, options = {}) {
3
+ return extractUseStateSkeleton(sourceText, options);
4
+ }
5
+ export function extractUseStateSkeleton(sourceText, options = {}) {
6
+ const fileName = options.fileName ?? "App.tsx";
7
+ const route = options.route ?? "/";
8
+ return extractReactSourceTransitions(sourceText, {
9
+ route,
10
+ fileName,
11
+ effectApis: options.effectApis,
12
+ routePatterns: options.routePatterns,
13
+ asyncOutcomes: options.asyncOutcomes,
14
+ stateVars: options.stateVars,
15
+ writeChannels: options.writeChannels,
16
+ sourcePlugins: options.sourcePlugins,
17
+ ...(options.routerPlugin ? { routerPlugin: options.routerPlugin } : {}),
18
+ });
19
+ }
20
+ //# sourceMappingURL=transitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAO5F,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,UAAqC,EAAE;IAEvC,OAAO,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,UAAqC,EAAE;IAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;IACnC,OAAO,6BAA6B,CAAC,UAAU,EAAE;QAC/C,KAAK;QACL,QAAQ;QACR,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type * as ts from "typescript";
2
+ import type { AbstractDomain, EffectIR, ExprIR, StateVarDecl, Transition, Value } from "modality-ts/core";
3
+ import type { ExtractableHandler } from "../../engine/ts/ast.js";
4
+ export interface UseStateExtractionOptions {
5
+ route?: string;
6
+ fileName?: string;
7
+ effectApis?: readonly string[];
8
+ routePatterns?: readonly string[];
9
+ asyncOutcomes?: Record<string, {
10
+ success: Value;
11
+ error?: Value;
12
+ }>;
13
+ stateVars?: readonly StateVarDecl[];
14
+ writeChannels?: readonly import("../../engine/spi/index.js").WriteChannel[];
15
+ sourcePlugins?: readonly import("../../engine/spi/index.js").StateSourcePlugin[];
16
+ routerPlugin?: import("../../engine/spi/index.js").RouterPlugin;
17
+ }
18
+ export interface ExtractionWarning {
19
+ message: string;
20
+ line?: number;
21
+ }
22
+ export interface UseStateExtractionResult {
23
+ vars: StateVarDecl[];
24
+ warnings: ExtractionWarning[];
25
+ }
26
+ export interface ExtractedModelSkeleton extends UseStateExtractionResult {
27
+ transitions: Transition[];
28
+ }
29
+ export interface SetterBinding {
30
+ varId: string;
31
+ component: string;
32
+ stateName: string;
33
+ domain: AbstractDomain;
34
+ }
35
+ export interface SetterCall {
36
+ setter: SetterBinding;
37
+ argument: ts.Expression;
38
+ }
39
+ export type ComponentDecl = ts.FunctionDeclaration | ts.ArrowFunction | ts.FunctionExpression;
40
+ export type CustomHookDecl = ts.FunctionDeclaration | ts.ArrowFunction | ts.FunctionExpression;
41
+ export type InternalTransition = Transition & {
42
+ __stableIdKey?: string;
43
+ };
44
+ export interface BoundExpr {
45
+ expr: ExprIR;
46
+ reads: string[];
47
+ setter?: SetterBinding;
48
+ }
49
+ export interface HookStateReturn {
50
+ domain: AbstractDomain;
51
+ initial: Value;
52
+ }
53
+ export interface ContextBindings {
54
+ vars: StateVarDecl[];
55
+ setters: Map<string, SetterBinding>;
56
+ hookReturns: Map<string, Map<string, SetterBinding>>;
57
+ }
58
+ export type StaticValue = string | number | boolean | null | readonly StaticValue[] | {
59
+ readonly [key: string]: StaticValue;
60
+ };
61
+ export type StaticEnv = Map<string, readonly StaticValue[]>;
62
+ export interface EffectSummary {
63
+ effect: EffectIR;
64
+ reads: string[];
65
+ }
66
+ export type { ExtractableHandler };
67
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/extract/sources/use-state/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "modality-ts",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "Model-checking-based testing tools for React state-transition bugs.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -8,107 +8,119 @@
8
8
  "url": "git+https://github.com/Harineko0/modality-ts.git"
9
9
  },
10
10
  "type": "module",
11
- "types": "./dist/modality/cli.d.ts",
11
+ "types": "./dist/cli/cli.d.ts",
12
12
  "files": [
13
13
  "dist/**",
14
14
  "README.md",
15
15
  "LICENSE"
16
16
  ],
17
17
  "bin": {
18
- "modality": "dist/modality/cli.js"
18
+ "modality": "dist/cli/cli.js"
19
19
  },
20
20
  "exports": {
21
21
  ".": {
22
- "types": "./dist/modality/cli.d.ts",
23
- "default": "./dist/modality/cli.js"
22
+ "types": "./dist/cli/cli.d.ts",
23
+ "default": "./dist/cli/cli.js"
24
24
  },
25
- "./check": {
26
- "types": "./dist/modality/check.d.ts",
27
- "default": "./dist/modality/check.js"
25
+ "./cli": {
26
+ "types": "./dist/cli/cli.d.ts",
27
+ "default": "./dist/cli/cli.js"
28
28
  },
29
- "./ci": {
30
- "types": "./dist/modality/ci.d.ts",
31
- "default": "./dist/modality/ci.js"
29
+ "./cli/check": {
30
+ "types": "./dist/cli/check.d.ts",
31
+ "default": "./dist/cli/check.js"
32
32
  },
33
- "./conform": {
34
- "types": "./dist/modality/conform.d.ts",
35
- "default": "./dist/modality/conform.js"
33
+ "./cli/ci": {
34
+ "types": "./dist/cli/ci.d.ts",
35
+ "default": "./dist/cli/ci.js"
36
36
  },
37
- "./extract": {
38
- "types": "./dist/modality/extract.d.ts",
39
- "default": "./dist/modality/extract.js"
37
+ "./cli/conform": {
38
+ "types": "./dist/cli/conform.d.ts",
39
+ "default": "./dist/cli/conform.js"
40
+ },
41
+ "./cli/extract": {
42
+ "types": "./dist/cli/extract.d.ts",
43
+ "default": "./dist/cli/extract.js"
44
+ },
45
+ "./cli/replay": {
46
+ "types": "./dist/cli/replay.d.ts",
47
+ "default": "./dist/cli/replay.js"
40
48
  },
41
- "./replay": {
42
- "types": "./dist/modality/replay.d.ts",
43
- "default": "./dist/modality/replay.js"
49
+ "./cli/export-tla": {
50
+ "types": "./dist/cli/export-tla.d.ts",
51
+ "default": "./dist/cli/export-tla.js"
44
52
  },
45
- "./export-tla": {
46
- "types": "./dist/modality/export-tla.d.ts",
47
- "default": "./dist/modality/export-tla.js"
53
+ "./cli/overlay": {
54
+ "types": "./dist/cli/overlay.d.ts",
55
+ "default": "./dist/cli/overlay.js"
48
56
  },
49
- "./kernel": {
50
- "types": "./dist/kernel/index.d.ts",
51
- "default": "./dist/kernel/index.js"
57
+ "./cli/harness": {
58
+ "types": "./dist/cli/harness/index.d.ts",
59
+ "default": "./dist/cli/harness/index.js"
52
60
  },
53
- "./kernel/props": {
54
- "types": "./dist/kernel/props/index.d.ts",
55
- "default": "./dist/kernel/props/index.js"
61
+ "./cli/runtime": {
62
+ "types": "./dist/cli/runtime/index.d.ts",
63
+ "default": "./dist/cli/runtime/index.js"
56
64
  },
57
- "./checker": {
58
- "types": "./dist/checker/index.d.ts",
59
- "default": "./dist/checker/index.js"
65
+ "./core": {
66
+ "types": "./dist/core/index.d.ts",
67
+ "default": "./dist/core/index.js"
60
68
  },
61
- "./extraction": {
62
- "types": "./dist/extraction/index.d.ts",
63
- "default": "./dist/extraction/index.js"
69
+ "./core/props": {
70
+ "types": "./dist/core/props/index.d.ts",
71
+ "default": "./dist/core/props/index.js"
64
72
  },
65
- "./extraction/pipeline": {
66
- "types": "./dist/extraction/pipeline/index.d.ts",
67
- "default": "./dist/extraction/pipeline/index.js"
73
+ "./check": {
74
+ "types": "./dist/check/index.d.ts",
75
+ "default": "./dist/check/index.js"
76
+ },
77
+ "./extract": {
78
+ "types": "./dist/extract/index.d.ts",
79
+ "default": "./dist/extract/index.js"
68
80
  },
69
- "./extraction/spi": {
70
- "types": "./dist/extraction/spi/index.d.ts",
71
- "default": "./dist/extraction/spi/index.js"
81
+ "./extract/engine": {
82
+ "types": "./dist/extract/engine/index.d.ts",
83
+ "default": "./dist/extract/engine/index.js"
72
84
  },
73
- "./harness": {
74
- "types": "./dist/harness/index.d.ts",
75
- "default": "./dist/harness/index.js"
85
+ "./extract/engine/pipeline": {
86
+ "types": "./dist/extract/engine/pipeline/index.d.ts",
87
+ "default": "./dist/extract/engine/pipeline/index.js"
76
88
  },
77
- "./runtime": {
78
- "types": "./dist/runtime/index.d.ts",
79
- "default": "./dist/runtime/index.js"
89
+ "./extract/engine/spi": {
90
+ "types": "./dist/extract/engine/spi/index.d.ts",
91
+ "default": "./dist/extract/engine/spi/index.js"
80
92
  },
81
- "./source-jotai": {
82
- "types": "./dist/sources/jotai/index.d.ts",
83
- "default": "./dist/sources/jotai/index.js"
93
+ "./extract/sources/jotai": {
94
+ "types": "./dist/extract/sources/jotai/index.d.ts",
95
+ "default": "./dist/extract/sources/jotai/index.js"
84
96
  },
85
- "./source-jotai/harness": {
86
- "types": "./dist/sources/jotai/harness.d.ts",
87
- "default": "./dist/sources/jotai/harness.js"
97
+ "./extract/sources/jotai/harness": {
98
+ "types": "./dist/extract/sources/jotai/harness.d.ts",
99
+ "default": "./dist/extract/sources/jotai/harness.js"
88
100
  },
89
- "./source-router": {
90
- "types": "./dist/sources/router/index.d.ts",
91
- "default": "./dist/sources/router/index.js"
101
+ "./extract/sources/router": {
102
+ "types": "./dist/extract/sources/router/index.d.ts",
103
+ "default": "./dist/extract/sources/router/index.js"
92
104
  },
93
- "./source-router/harness": {
94
- "types": "./dist/sources/router/harness.d.ts",
95
- "default": "./dist/sources/router/harness.js"
105
+ "./extract/sources/router/harness": {
106
+ "types": "./dist/extract/sources/router/harness.d.ts",
107
+ "default": "./dist/extract/sources/router/harness.js"
96
108
  },
97
- "./source-swr": {
98
- "types": "./dist/sources/swr/index.d.ts",
99
- "default": "./dist/sources/swr/index.js"
109
+ "./extract/sources/swr": {
110
+ "types": "./dist/extract/sources/swr/index.d.ts",
111
+ "default": "./dist/extract/sources/swr/index.js"
100
112
  },
101
- "./source-swr/harness": {
102
- "types": "./dist/sources/swr/harness.d.ts",
103
- "default": "./dist/sources/swr/harness.js"
113
+ "./extract/sources/swr/harness": {
114
+ "types": "./dist/extract/sources/swr/harness.d.ts",
115
+ "default": "./dist/extract/sources/swr/harness.js"
104
116
  },
105
- "./source-use-state": {
106
- "types": "./dist/sources/use-state/index.d.ts",
107
- "default": "./dist/sources/use-state/index.js"
117
+ "./extract/sources/use-state": {
118
+ "types": "./dist/extract/sources/use-state/index.d.ts",
119
+ "default": "./dist/extract/sources/use-state/index.js"
108
120
  },
109
- "./source-use-state/harness": {
110
- "types": "./dist/sources/use-state/harness.d.ts",
111
- "default": "./dist/sources/use-state/harness.js"
121
+ "./extract/sources/use-state/harness": {
122
+ "types": "./dist/extract/sources/use-state/harness.d.ts",
123
+ "default": "./dist/extract/sources/use-state/harness.js"
112
124
  }
113
125
  },
114
126
  "packageManager": "pnpm@10.12.4",
@@ -118,6 +130,7 @@
118
130
  "clean": "rm -rf dist tsconfig.tsbuildinfo",
119
131
  "ci:examples": "tsx tools/examples-ci.ts",
120
132
  "demo": "vitest run test/modality/demo-acceptance.test.ts",
133
+ "fix": "biome lint --write . && biome format --write .",
121
134
  "phase7": "tsx tools/phase7-differential.ts",
122
135
  "publish:npm": "npm publish --access public",
123
136
  "test": "vitest run",
@@ -128,6 +141,7 @@
128
141
  "typescript": "^5.9.3"
129
142
  },
130
143
  "devDependencies": {
144
+ "@biomejs/biome": "2.5.0",
131
145
  "@types/node": "^24.10.1",
132
146
  "dependency-cruiser": "^17.4.3",
133
147
  "tsx": "^4.20.6",
@@ -1,2 +0,0 @@
1
- export { canonicalState } from "modality-ts/kernel";
2
- //# sourceMappingURL=index.d.ts.map