modality-ts 0.0.7 → 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 +92 -35
  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 -2977
  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 -428
  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,556 +0,0 @@
1
- import { canonicalState, initialValues, validateModel } from "modality-ts/kernel";
2
- import { applyEffect, guardHolds, normalizeInitialRouteLocals, readPending } from "./eval.js";
3
- export function checkModel(model, properties, options = {}) {
4
- if (options.slicing && properties.length > 0 && properties.every((property) => property.reads !== undefined)) {
5
- return checkModelSliced(model, properties);
6
- }
7
- return checkModelCore(model, properties);
8
- }
9
- function checkModelCore(model, properties) {
10
- const validation = validateModel(model);
11
- if (!validation.ok) {
12
- return {
13
- verdicts: properties.map((property) => ({ status: "error", property: property.name, message: validation.errors.join("; ") })),
14
- stats: { states: 0, edges: 0, depth: 0 },
15
- vacuityWarnings: [],
16
- boundHits: []
17
- };
18
- }
19
- installEnabledHook(model);
20
- const parents = new Map();
21
- const states = new Map();
22
- const edges = [];
23
- const enabledTransitionIds = new Set();
24
- const boundHits = new Set();
25
- let frontier = initialStates(model);
26
- frontier = frontier.flatMap((state) => stabilize(model, state, initialChangedVars(model)));
27
- frontier.sort(compareStates(model));
28
- for (const state of frontier) {
29
- const canon = canonicalState(model, state);
30
- if (!parents.has(canon)) {
31
- parents.set(canon, { parent: null, transition: null, pre: null, post: state });
32
- states.set(canon, state);
33
- }
34
- }
35
- const verdicts = new Map();
36
- let depth = 0;
37
- let edgeCount = 0;
38
- observeStates(model, properties, frontier, parents, verdicts);
39
- while (frontier.length > 0 && depth < model.bounds.maxDepth) {
40
- const next = [];
41
- for (const pre of frontier) {
42
- const preCanon = canonicalState(model, pre);
43
- const enabled = enabledTransitions(model, pre);
44
- for (const transition of enabled) {
45
- enabledTransitionIds.add(transition.id);
46
- const rawPosts = applyEffect(model, pre, transition.effect, {
47
- onBoundHit: (hit) => {
48
- boundHits.add(hit.startsWith("token cap exhausted") ? `token cap exhausted at ${transition.id}` : `${hit} at ${transition.id}`);
49
- }
50
- });
51
- if (rawPosts.length === 0 && effectContainsEnqueue(transition.effect)) {
52
- boundHits.add(`pending cap saturated at ${transition.id}`);
53
- }
54
- for (const rawPost of rawPosts) {
55
- for (const post of stabilize(model, rawPost, changedVars(pre, rawPost))) {
56
- edgeCount += 1;
57
- const postCanon = canonicalState(model, post);
58
- const step = facts(pre, post, transition);
59
- edges.push({ preCanon, postCanon, pre, post, transition, step });
60
- observeEdge(model, properties, pre, post, transition, step, parents, verdicts);
61
- if (!parents.has(postCanon)) {
62
- parents.set(postCanon, { parent: preCanon, transition, pre, post });
63
- states.set(postCanon, post);
64
- next.push(post);
65
- }
66
- }
67
- }
68
- }
69
- }
70
- frontier = next.sort(compareStates(model));
71
- observeStates(model, properties, frontier, parents, verdicts);
72
- depth += 1;
73
- }
74
- recordMaxDepthBoundHits(model, frontier, enabledTransitionIds, boundHits);
75
- finalizeProperties(model, properties, parents, states, edges, verdicts);
76
- return {
77
- verdicts: properties.map((property) => verdicts.get(property.name) ?? { status: "verified-within-bounds", property: property.name }),
78
- stats: { states: parents.size, edges: edgeCount, depth },
79
- vacuityWarnings: vacuityWarnings(model, states, enabledTransitionIds),
80
- boundHits: [...boundHits].sort()
81
- };
82
- }
83
- function recordMaxDepthBoundHits(model, frontier, enabledTransitionIds, boundHits) {
84
- if (frontier.length === 0)
85
- return;
86
- const blockedTransitions = new Set();
87
- for (const state of frontier) {
88
- for (const transition of enabledTransitions(model, state)) {
89
- enabledTransitionIds.add(transition.id);
90
- blockedTransitions.add(transition.id);
91
- }
92
- }
93
- for (const id of [...blockedTransitions].sort()) {
94
- boundHits.add(`maxDepth reached before ${id}`);
95
- }
96
- }
97
- function checkModelSliced(model, properties) {
98
- const groups = new Map();
99
- for (const property of properties) {
100
- const slice = sliceModelForProperty(model, property);
101
- const key = slice.vars.map((decl) => decl.id).join("\0");
102
- const group = groups.get(key);
103
- if (group)
104
- group.properties.push(property);
105
- else
106
- groups.set(key, { model: slice, properties: [property] });
107
- }
108
- const verdicts = new Map();
109
- let states = 0;
110
- let edges = 0;
111
- let depth = 0;
112
- const vacuity = new Set();
113
- const boundHits = new Set();
114
- for (const group of groups.values()) {
115
- const result = checkModelCore(group.model, group.properties);
116
- for (const verdict of result.verdicts)
117
- verdicts.set(verdict.property, verdict);
118
- for (const warning of result.vacuityWarnings)
119
- vacuity.add(warning);
120
- for (const hit of result.boundHits)
121
- boundHits.add(hit);
122
- states += result.stats.states;
123
- edges += result.stats.edges;
124
- depth = Math.max(depth, result.stats.depth);
125
- }
126
- return {
127
- verdicts: properties.map((property) => verdicts.get(property.name) ?? { status: "error", property: property.name, message: "missing sliced verdict" }),
128
- stats: { states, edges, depth },
129
- vacuityWarnings: [...vacuity].sort(),
130
- boundHits: [...boundHits].sort()
131
- };
132
- }
133
- export function sliceModel(model, propertyReads) {
134
- return sliceModelForProperty(model, { reads: propertyReads });
135
- }
136
- function sliceModelForProperty(model, property) {
137
- const systemVars = new Set(model.vars.filter((decl) => decl.id.startsWith("sys:")).map((decl) => decl.id));
138
- const forcedTransitions = new Set(property.enabledTransitions ?? []);
139
- const needed = new Set([...systemVars, ...(property.reads ?? []), ...enabledTransitionVars(model, forcedTransitions)]);
140
- let changed = true;
141
- while (changed) {
142
- changed = false;
143
- for (const transition of model.transitions) {
144
- if (!transition.writes.some((write) => needed.has(write)))
145
- continue;
146
- for (const id of [...transition.reads, ...transition.writes]) {
147
- if (!needed.has(id)) {
148
- needed.add(id);
149
- changed = true;
150
- }
151
- }
152
- }
153
- }
154
- const vars = model.vars.filter((decl) => needed.has(decl.id));
155
- const transitions = model.transitions.filter((transition) => forcedTransitions.has(transition.id) || transition.writes.some((write) => needed.has(write)) || transition.reads.some((read) => needed.has(read)));
156
- return { ...model, vars, transitions };
157
- }
158
- function enabledTransitionVars(model, transitionIds) {
159
- const vars = new Set();
160
- for (const id of transitionIds) {
161
- const transition = model.transitions.find((candidate) => candidate.id === id);
162
- if (!transition)
163
- continue;
164
- vars.add("sys:route");
165
- for (const read of transition.reads)
166
- vars.add(read);
167
- for (const write of transition.writes)
168
- vars.add(write);
169
- }
170
- return [...vars].sort();
171
- }
172
- export function modelInitialStates(model) {
173
- return initialStates(model).flatMap((state) => stabilize(model, state, initialChangedVars(model))).sort(compareStates(model));
174
- }
175
- export function modelSuccessors(model, pre) {
176
- return enabledTransitions(model, pre).flatMap((transition) => applyEffect(model, pre, transition.effect).flatMap((rawPost) => stabilize(model, rawPost, changedVars(pre, rawPost)).map((post) => makeTraceStep(pre, post, transition))));
177
- }
178
- function initialStates(model) {
179
- return model.vars.reduce((states, decl) => {
180
- const initials = initialValues(decl.domain, decl.initial);
181
- return states.flatMap((state) => initials.map((value) => ({ ...state, [decl.id]: value })));
182
- }, [{}]).flatMap((state) => normalizeInitialRouteLocals(model, state));
183
- }
184
- function enabledTransitions(model, state) {
185
- return [...model.transitions]
186
- .sort((a, b) => a.id.localeCompare(b.id))
187
- .filter((transition) => transition.cls !== "internal" && routeLocalMounted(model, transition, state) && guardHolds(model, transition, state));
188
- }
189
- function stabilize(model, state, changed) {
190
- let states = [{ state, changed }];
191
- for (let i = 0; i < model.bounds.maxInternalSteps; i += 1) {
192
- const next = [];
193
- let changed = false;
194
- for (const candidate of states) {
195
- const internal = model.transitions
196
- .filter((transition) => transition.cls === "internal" && routeLocalMounted(model, transition, candidate.state) && internalTriggered(transition, candidate.changed) && guardHolds(model, transition, candidate.state))
197
- .sort((a, b) => a.id.localeCompare(b.id));
198
- if (internal.length === 0) {
199
- next.push(candidate);
200
- }
201
- else {
202
- changed = true;
203
- for (const sequence of stabilizingSequences(internal)) {
204
- next.push(...applyInternalSequence(model, candidate.state, sequence));
205
- }
206
- }
207
- }
208
- states = uniqueStabilizingStates(model, next);
209
- if (!changed)
210
- return states.map((candidate) => candidate.state);
211
- }
212
- throw new Error(`Internal transitions did not stabilize within ${model.bounds.maxInternalSteps} steps`);
213
- }
214
- function internalTriggered(transition, changed) {
215
- if (!transition.triggeredBy || transition.triggeredBy.length === 0)
216
- return true;
217
- return transition.triggeredBy.some((id) => changed.has(id));
218
- }
219
- function stabilizingSequences(internal) {
220
- if (!hasWriteConflict(internal))
221
- return [internal.slice()];
222
- return permutations(internal);
223
- }
224
- function applyInternalSequence(model, state, sequence) {
225
- return sequence.reduce((states, transition) => states.flatMap((candidate) => {
226
- if (!routeLocalMounted(model, transition, candidate.state) || !guardHolds(model, transition, candidate.state)) {
227
- return [candidate];
228
- }
229
- return applyEffect(model, candidate.state, transition.effect).map((post) => ({
230
- state: post,
231
- changed: changedVars(state, post)
232
- }));
233
- }), [{ state, changed: new Set() }]);
234
- }
235
- function permutations(values) {
236
- if (values.length <= 1)
237
- return [values.slice()];
238
- const out = [];
239
- for (let index = 0; index < values.length; index += 1) {
240
- const head = values[index];
241
- const tail = values.filter((_, candidateIndex) => candidateIndex !== index);
242
- for (const rest of permutations(tail))
243
- out.push([head, ...rest]);
244
- }
245
- return out;
246
- }
247
- function hasWriteConflict(transitions) {
248
- for (let i = 0; i < transitions.length; i += 1) {
249
- for (let j = i + 1; j < transitions.length; j += 1) {
250
- if (intersects(transitions[i].writes, transitions[j].writes))
251
- return true;
252
- }
253
- }
254
- return false;
255
- }
256
- function intersects(left, right) {
257
- const seen = new Set(left);
258
- return right.some((item) => seen.has(item));
259
- }
260
- function observeStates(model, properties, candidates, parents, verdicts) {
261
- for (const state of candidates) {
262
- const canon = canonicalState(model, state);
263
- for (const property of properties) {
264
- if (verdicts.has(property.name))
265
- continue;
266
- try {
267
- if (property.kind === "always" && !property.predicate(checkedState(model, property, state, "state predicate"))) {
268
- verdicts.set(property.name, replayCheckedVerdict("violated", property.name, traceTo(parents, canon)));
269
- }
270
- if (property.kind === "reachable" && property.predicate(checkedState(model, property, state, "state predicate"))) {
271
- verdicts.set(property.name, replayCheckedVerdict("reachable", property.name, traceTo(parents, canon)));
272
- }
273
- }
274
- catch (error) {
275
- verdicts.set(property.name, { status: "error", property: property.name, message: error.message });
276
- }
277
- }
278
- }
279
- }
280
- function observeEdge(model, properties, pre, post, transition, step, parents, verdicts) {
281
- for (const property of properties) {
282
- if (verdicts.has(property.name))
283
- continue;
284
- if (property.kind !== "alwaysStep")
285
- continue;
286
- try {
287
- if (!property.predicate(checkedState(model, property, pre, "step pre-state"), step, checkedState(model, property, post, "step post-state"))) {
288
- const preCanon = canonicalState(model, pre);
289
- verdicts.set(property.name, replayCheckedVerdict("violated", property.name, { steps: [...traceTo(parents, preCanon).steps, makeTraceStep(pre, post, transition)] }));
290
- }
291
- }
292
- catch (error) {
293
- verdicts.set(property.name, { status: "error", property: property.name, message: error.message });
294
- }
295
- }
296
- }
297
- function finalizeProperties(model, properties, parents, states, edges, verdicts) {
298
- for (const property of properties) {
299
- if (verdicts.has(property.name))
300
- continue;
301
- try {
302
- if (property.kind === "reachable") {
303
- verdicts.set(property.name, { status: "vacuous-warning", property: property.name, message: "No reachable witness within bounds" });
304
- }
305
- if (property.kind === "reachableFrom") {
306
- const goalCanons = [...states].filter(([, state]) => property.goal(checkedState(model, property, state, "reachableFrom goal"))).map(([canon]) => canon);
307
- const backward = new Set(goalCanons);
308
- let changed = true;
309
- while (changed) {
310
- changed = false;
311
- for (const edge of edges) {
312
- if (backward.has(edge.postCanon) && !backward.has(edge.preCanon)) {
313
- backward.add(edge.preCanon);
314
- changed = true;
315
- }
316
- }
317
- }
318
- const witness = [...states].find(([canon, state]) => property.when(checkedState(model, property, state, "reachableFrom when")) && !backward.has(canon));
319
- if (witness) {
320
- verdicts.set(property.name, {
321
- status: "violated",
322
- property: property.name,
323
- trace: traceTo(parents, witness[0]),
324
- replayable: false,
325
- replayBlockedReason: "reachableFrom counterexamples assert absence of a path and are not replayable"
326
- });
327
- }
328
- }
329
- if (property.kind === "leadsToWithin") {
330
- const triggerEdges = edges.filter((edge) => property.trigger(edge.step));
331
- if (triggerEdges.length === 0) {
332
- verdicts.set(property.name, { status: "vacuous-warning", property: property.name, message: "Trigger never fired within bounds" });
333
- continue;
334
- }
335
- const failure = triggerEdges.map((edge) => ({ edge, suffix: failingSuffixWithin(model, property, edge.post) })).find((candidate) => candidate.suffix);
336
- if (failure) {
337
- verdicts.set(property.name, replayCheckedVerdict("violated", property.name, {
338
- steps: [
339
- ...traceTo(parents, failure.edge.preCanon).steps,
340
- makeTraceStep(failure.edge.pre, failure.edge.post, failure.edge.transition),
341
- ...failure.suffix.map((edge) => makeTraceStep(edge.pre, edge.post, edge.transition))
342
- ]
343
- }));
344
- }
345
- }
346
- }
347
- catch (error) {
348
- verdicts.set(property.name, { status: "error", property: property.name, message: error.message });
349
- }
350
- }
351
- }
352
- function failingSuffixWithin(model, property, start) {
353
- const maxSteps = property.budget.steps ?? property.budget.environment ?? 0;
354
- const memo = new Map();
355
- const visit = (state, depth) => {
356
- if (property.goal(checkedState(model, property, state, "leadsToWithin goal")))
357
- return undefined;
358
- const canon = canonicalState(model, state);
359
- const key = `${canon}:${depth}`;
360
- const cached = memo.get(key);
361
- if (cached !== undefined)
362
- return cached ?? undefined;
363
- if (depth >= maxSteps) {
364
- memo.set(key, []);
365
- return [];
366
- }
367
- const successors = schedulerSuccessors(model, property, state);
368
- if (successors.length === 0) {
369
- memo.set(key, []);
370
- return [];
371
- }
372
- for (const edge of successors) {
373
- const suffix = visit(edge.post, depth + 1);
374
- if (suffix) {
375
- const failure = [edge, ...suffix];
376
- memo.set(key, failure);
377
- return failure;
378
- }
379
- }
380
- memo.set(key, null);
381
- return undefined;
382
- };
383
- return visit(start, 0);
384
- }
385
- function schedulerSuccessors(model, property, pre) {
386
- const preCanon = canonicalState(model, pre);
387
- const out = [];
388
- for (const transition of enabledTransitions(model, pre).filter((candidate) => schedulerAllows(property, candidate))) {
389
- for (const rawPost of applyEffect(model, pre, transition.effect)) {
390
- for (const post of stabilize(model, rawPost, changedVars(pre, rawPost))) {
391
- out.push({
392
- preCanon,
393
- postCanon: canonicalState(model, post),
394
- pre,
395
- post,
396
- transition,
397
- step: facts(pre, post, transition)
398
- });
399
- }
400
- }
401
- }
402
- return out.sort((a, b) => a.transition.id.localeCompare(b.transition.id) || a.postCanon.localeCompare(b.postCanon));
403
- }
404
- function schedulerAllows(property, transition) {
405
- if (transition.cls === "env" || transition.cls === "library" || transition.cls === "internal")
406
- return true;
407
- return property.allowUserEvents === true && (transition.cls === "user" || transition.cls === "nav");
408
- }
409
- function checkedState(model, property, state, context) {
410
- if (property.reads === undefined)
411
- return state;
412
- const allowed = allowedPropertyReads(model, property);
413
- return new Proxy(state, {
414
- get(target, key, receiver) {
415
- if (typeof key === "string" && !allowed.has(key)) {
416
- throw new Error(`${property.name}: ${context} read undeclared var ${key}`);
417
- }
418
- return Reflect.get(target, key, receiver);
419
- }
420
- });
421
- }
422
- function allowedPropertyReads(model, property) {
423
- return new Set([...(property.reads ?? []), ...enabledTransitionVars(model, new Set(property.enabledTransitions ?? []))]);
424
- }
425
- function traceTo(parents, canon) {
426
- const steps = [];
427
- let current = canon;
428
- while (current) {
429
- const parent = parents.get(current);
430
- if (!parent)
431
- break;
432
- if (parent.parent && parent.transition && parent.pre) {
433
- steps.push(makeTraceStep(parent.pre, parent.post, parent.transition));
434
- }
435
- current = parent.parent;
436
- }
437
- return { steps: steps.reverse() };
438
- }
439
- function makeTraceStep(pre, post, transition) {
440
- return { transitionId: transition.id, label: transition.label, pre, post, diff: diff(pre, post) };
441
- }
442
- function replayCheckedVerdict(status, property, trace) {
443
- const replayBlockedReason = replayBlockedReasonForTrace(trace);
444
- if (!replayBlockedReason)
445
- return { status, property, trace };
446
- return { status, property, trace, replayable: false, replayBlockedReason };
447
- }
448
- function replayBlockedReasonForTrace(trace) {
449
- const blocked = trace.steps
450
- .filter((step) => requiresLocator(step.label) && !step.label.locator)
451
- .map((step) => `${step.transitionId}:${step.label.kind}`);
452
- if (blocked.length === 0)
453
- return undefined;
454
- return `trace contains locatorless replay steps: ${blocked.join(", ")}`;
455
- }
456
- function requiresLocator(label) {
457
- return label.kind === "click" || label.kind === "submit" || label.kind === "input";
458
- }
459
- function facts(pre, post, transition) {
460
- const before = readPending(pre);
461
- const after = readPending(post);
462
- const enqueued = after.find((op) => !before.some((candidate) => sameOp(candidate, op)));
463
- const dequeued = before.find((op) => !after.some((candidate) => sameOp(candidate, op)));
464
- return {
465
- transition,
466
- enqueued: (op) => Boolean(enqueued && enqueued.opId === op),
467
- resolved: (op, outcome) => transition.label.kind === "resolve" && transition.label.op === op && (!outcome || transition.label.outcome === outcome),
468
- navigated: () => pre["sys:route"] !== post["sys:route"],
469
- navigatedTo: (route) => post["sys:route"] === route && pre["sys:route"] !== route,
470
- op: enqueued ? { id: enqueued.opId, continuation: enqueued.continuation, args: enqueued.args } : dequeued ? { id: dequeued.opId, continuation: dequeued.continuation, args: dequeued.args } : undefined
471
- };
472
- }
473
- function sameOp(a, b) {
474
- return a.opId === b.opId && a.continuation === b.continuation && JSON.stringify(a.args) === JSON.stringify(b.args);
475
- }
476
- function diff(pre, post) {
477
- const ids = new Set([...Object.keys(pre), ...Object.keys(post)]);
478
- return Object.fromEntries([...ids]
479
- .filter((id) => JSON.stringify(pre[id]) !== JSON.stringify(post[id]))
480
- .map((id) => [id, { before: pre[id], after: post[id] }]));
481
- }
482
- function uniqueStates(model, states) {
483
- const out = [];
484
- const seen = new Set();
485
- for (const state of states) {
486
- const canon = canonicalState(model, state);
487
- if (!seen.has(canon)) {
488
- seen.add(canon);
489
- out.push(state);
490
- }
491
- }
492
- return out;
493
- }
494
- function uniqueStabilizingStates(model, states) {
495
- const out = [];
496
- const seen = new Set();
497
- for (const candidate of states) {
498
- const canon = canonicalState(model, candidate.state);
499
- if (!seen.has(canon)) {
500
- seen.add(canon);
501
- out.push(candidate);
502
- }
503
- }
504
- return out;
505
- }
506
- function changedVars(pre, post) {
507
- const ids = new Set([...Object.keys(pre), ...Object.keys(post)]);
508
- return new Set([...ids].filter((id) => JSON.stringify(pre[id]) !== JSON.stringify(post[id])));
509
- }
510
- function initialChangedVars(model) {
511
- return new Set(model.vars.map((decl) => decl.id));
512
- }
513
- function compareStates(model) {
514
- return (a, b) => canonicalState(model, a).localeCompare(canonicalState(model, b));
515
- }
516
- function installEnabledHook(model) {
517
- globalThis.__modalityEvalGuard = (transition, state) => model.transitions.includes(transition) && routeLocalMounted(model, transition, state) && guardHolds(model, transition, state);
518
- }
519
- function vacuityWarnings(model, states, enabledTransitionIds) {
520
- const warnings = [];
521
- for (const transition of model.transitions) {
522
- if (transition.cls !== "internal" && !enabledTransitionIds.has(transition.id)) {
523
- warnings.push(`transition never enabled: ${transition.id}`);
524
- }
525
- }
526
- for (const decl of model.vars) {
527
- if (decl.domain.kind !== "enum")
528
- continue;
529
- const inhabited = new Set([...states.values()].map((state) => state[decl.id]).filter((value) => typeof value === "string"));
530
- for (const value of decl.domain.values) {
531
- if (!inhabited.has(value))
532
- warnings.push(`enum value never inhabited: ${decl.id}=${value}`);
533
- }
534
- }
535
- return warnings.sort();
536
- }
537
- function effectContainsEnqueue(effect) {
538
- if (effect.kind === "enqueue")
539
- return true;
540
- if (effect.kind === "seq")
541
- return effect.effects.some(effectContainsEnqueue);
542
- if (effect.kind === "if")
543
- return effectContainsEnqueue(effect.then) || effectContainsEnqueue(effect.else);
544
- return false;
545
- }
546
- function routeLocalMounted(model, transition, state) {
547
- const currentRoute = state["sys:route"];
548
- const touched = new Set([...transition.reads, ...transition.writes]);
549
- for (const decl of model.vars) {
550
- if (decl.scope.kind === "route-local" && touched.has(decl.id) && decl.scope.route !== currentRoute) {
551
- return false;
552
- }
553
- }
554
- return true;
555
- }
556
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checker/search/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { sliceModel } from "../search/index.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checker/slicing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { sliceModel } from "../search/index.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checker/slicing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { modelInitialStates, modelSuccessors } from "../search/index.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checker/traces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { modelInitialStates, modelSuccessors } from "../search/index.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checker/traces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}