@plures/praxis 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/LICENSE +21 -21
  3. package/README.md +162 -375
  4. package/core/codegen/docs-generator.ts +5 -2
  5. package/core/codegen/index.ts +1 -1
  6. package/core/codegen/ts-generator.ts +15 -15
  7. package/core/db-adapter/index.ts +2 -2
  8. package/core/db-adapter/sync-engine.ts +17 -6
  9. package/core/logic-engine/engine.ts +1 -1
  10. package/core/logic-engine/index.ts +2 -2
  11. package/core/logic-engine/protocol.ts +1 -1
  12. package/core/logic-engine/psf-adapter.ts +8 -4
  13. package/core/logic-engine/rules.ts +1 -1
  14. package/core/schema-engine/compiler.ts +53 -11
  15. package/core/schema-engine/generator.ts +17 -7
  16. package/core/schema-engine/index.ts +2 -2
  17. package/core/schema-engine/psf.ts +12 -3
  18. package/core/schema-engine/types.ts +3 -11
  19. package/core/schema-engine/validator.ts +112 -22
  20. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  21. package/dist/browser/index.d.ts +3004 -0
  22. package/dist/browser/index.js +2892 -0
  23. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  24. package/dist/browser/integrations/svelte.js +298 -0
  25. package/dist/node/auth-STARLY7I.js +207 -0
  26. package/dist/node/build-Y7OT5VBF.js +144 -0
  27. package/dist/node/canvas-UERZHJYW.js +362 -0
  28. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  29. package/dist/node/chunk-FXQZXAWF.js +175 -0
  30. package/dist/node/chunk-N5Y37EUV.js +202 -0
  31. package/dist/node/chunk-QGM4M3NI.js +37 -0
  32. package/dist/node/chunk-RJMWCNHR.js +175 -0
  33. package/dist/node/chunk-SRM3OPPM.js +404 -0
  34. package/dist/node/chunk-UATVJBNV.js +175 -0
  35. package/dist/node/chunk-UY7YEBE2.js +159 -0
  36. package/dist/node/chunk-XCY2VIFX.js +143 -0
  37. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  38. package/dist/node/cli/index.cjs +217418 -0
  39. package/dist/node/cli/index.d.cts +1 -0
  40. package/dist/node/cli/index.d.ts +1 -0
  41. package/dist/node/cli/index.js +690 -0
  42. package/dist/node/cloud/index.cjs +1043 -0
  43. package/dist/node/cloud/index.d.cts +864 -0
  44. package/dist/node/cloud/index.d.ts +864 -0
  45. package/dist/node/cloud/index.js +456 -0
  46. package/dist/node/cloud-AXOK4PSN.js +212 -0
  47. package/dist/node/component.cjs +374 -0
  48. package/dist/node/component.d.cts +125 -0
  49. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  50. package/dist/node/component.js +9 -0
  51. package/dist/node/components/index.cjs +216 -0
  52. package/dist/node/components/index.d.cts +43 -0
  53. package/dist/{src → node}/components/index.d.ts +8 -8
  54. package/dist/node/components/index.js +7 -0
  55. package/dist/node/create-TRLSVCNQ.js +584 -0
  56. package/dist/node/dev-PMJZUYGE.js +65 -0
  57. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  58. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  59. package/dist/node/index.cjs +3247 -0
  60. package/dist/node/index.d.cts +2579 -0
  61. package/dist/node/index.d.ts +2579 -0
  62. package/dist/node/index.js +2098 -0
  63. package/dist/node/integrations/svelte.cjs +330 -0
  64. package/dist/node/integrations/svelte.d.cts +309 -0
  65. package/dist/node/integrations/svelte.d.ts +309 -0
  66. package/dist/node/integrations/svelte.js +300 -0
  67. package/dist/node/orchestrate-737TCL5H.js +127 -0
  68. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  69. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  70. package/dist/node/schema.cjs +200 -0
  71. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  72. package/dist/node/schema.d.ts +371 -0
  73. package/dist/node/schema.js +9 -0
  74. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  75. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  76. package/dist/node/verify-YBZ7W24H.js +213239 -0
  77. package/docs/MONETIZATION.md +21 -16
  78. package/docs/REACTIVE_REDESIGN.md +132 -0
  79. package/docs/README.md +47 -36
  80. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  81. package/docs/TERMINAL_NODE.md +27 -24
  82. package/docs/core/building-extensions.md +58 -61
  83. package/docs/core/cli-usage.md +59 -59
  84. package/docs/core/code-canvas-sync.md +28 -16
  85. package/docs/core/logic-engine.md +77 -82
  86. package/docs/core/pluresdb-integration.md +29 -39
  87. package/docs/core/schema-model.md +66 -52
  88. package/docs/core/ui-generation.md +57 -49
  89. package/docs/core/what-is-praxis.md +32 -15
  90. package/docs/guides/canvas.md +21 -5
  91. package/docs/guides/getting-started.md +13 -7
  92. package/docs/guides/history-state-pattern.md +65 -51
  93. package/docs/guides/orchestration.md +46 -32
  94. package/docs/guides/parallel-state-pattern.md +56 -72
  95. package/docs/guides/svelte-integration.md +45 -53
  96. package/docs/tutorials/README.md +16 -0
  97. package/docs/tutorials/ecommerce-cart.md +177 -95
  98. package/docs/tutorials/first-app.md +26 -41
  99. package/docs/tutorials/form-builder.md +191 -138
  100. package/docs/tutorials/todo-pluresdb.md +71 -69
  101. package/package.json +132 -97
  102. package/src/__tests__/actors.test.ts +68 -68
  103. package/src/__tests__/billing.test.ts +32 -32
  104. package/src/__tests__/canvas-components.test.ts +94 -73
  105. package/src/__tests__/cli-create.test.ts +28 -28
  106. package/src/__tests__/cloud.test.ts +36 -36
  107. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  108. package/src/__tests__/docs-generator.test.ts +3 -9
  109. package/src/__tests__/dsl.test.ts +58 -64
  110. package/src/__tests__/edge-cases.test.ts +106 -108
  111. package/src/__tests__/engine.test.ts +51 -25
  112. package/src/__tests__/generators.test.ts +42 -44
  113. package/src/__tests__/introspection.test.ts +104 -114
  114. package/src/__tests__/pluresdb.test.ts +189 -187
  115. package/src/__tests__/protocol.test.ts +15 -15
  116. package/src/__tests__/provisioning.test.ts +61 -61
  117. package/src/__tests__/schema.test.ts +7 -11
  118. package/src/__tests__/state-docs-integration.test.ts +162 -145
  119. package/src/__tests__/svelte-integration.test.ts +16 -19
  120. package/src/__tests__/tauri-integration.test.ts +149 -147
  121. package/src/__tests__/terminal-node.test.ts +12 -7
  122. package/src/__tests__/unum-integration.test.ts +68 -68
  123. package/src/adapters/cli.ts +21 -15
  124. package/src/cli/commands/auth.ts +82 -78
  125. package/src/cli/commands/build.ts +29 -27
  126. package/src/cli/commands/canvas.ts +338 -127
  127. package/src/cli/commands/cloud.ts +47 -47
  128. package/src/cli/commands/create.ts +59 -47
  129. package/src/cli/commands/dev.ts +12 -12
  130. package/src/cli/commands/generate.ts +29 -40
  131. package/src/cli/commands/orchestrate.ts +24 -24
  132. package/src/cli/commands/verify.ts +7 -8
  133. package/src/cli/index.ts +14 -10
  134. package/src/cloud/README.md +28 -15
  135. package/src/cloud/auth.ts +55 -70
  136. package/src/cloud/billing.ts +59 -58
  137. package/src/cloud/client.ts +29 -35
  138. package/src/cloud/index.ts +19 -40
  139. package/src/cloud/marketplace.ts +69 -78
  140. package/src/cloud/provisioning.ts +42 -51
  141. package/src/cloud/relay/endpoints.ts +30 -34
  142. package/src/cloud/relay/health/index.ts +1 -1
  143. package/src/cloud/relay/stats/index.ts +1 -1
  144. package/src/cloud/relay/sync/index.ts +1 -1
  145. package/src/cloud/relay/usage/index.ts +1 -1
  146. package/src/cloud/sponsors.ts +31 -34
  147. package/src/cloud/types.ts +4 -4
  148. package/src/components/README.md +1 -0
  149. package/src/components/TerminalNode.svelte +457 -457
  150. package/src/components/index.ts +3 -4
  151. package/src/core/actors.ts +7 -7
  152. package/src/core/component/generator.ts +10 -28
  153. package/src/core/engine.ts +51 -24
  154. package/src/core/introspection.ts +37 -35
  155. package/src/core/logic/generator.ts +62 -62
  156. package/src/core/pluresdb/adapter.ts +8 -8
  157. package/src/core/pluresdb/generator.ts +39 -35
  158. package/src/core/pluresdb/index.ts +9 -12
  159. package/src/core/pluresdb/schema-registry.ts +22 -25
  160. package/src/core/pluresdb/store.ts +57 -57
  161. package/src/core/protocol.ts +14 -14
  162. package/src/core/reactive-engine.svelte.ts +65 -0
  163. package/src/core/reactive-engine.ts +67 -0
  164. package/src/core/rules.ts +4 -4
  165. package/src/core/schema/loader.common.ts +150 -0
  166. package/src/core/schema/loader.ts +19 -149
  167. package/src/core/schema/normalize.ts +34 -51
  168. package/src/core/schema/types.ts +47 -11
  169. package/src/dsl/index.ts +8 -8
  170. package/src/dsl.ts +11 -17
  171. package/src/examples/advanced-todo/App.svelte +506 -506
  172. package/src/examples/advanced-todo/README.md +58 -40
  173. package/src/examples/advanced-todo/index.ts +3 -3
  174. package/src/examples/auth-basic/index.ts +30 -30
  175. package/src/examples/cart/index.ts +50 -50
  176. package/src/examples/hero-ecommerce/index.ts +130 -157
  177. package/src/examples/svelte-counter/index.ts +22 -26
  178. package/src/flows.ts +6 -17
  179. package/src/index.browser.ts +204 -0
  180. package/src/index.ts +37 -42
  181. package/src/integrations/code-canvas.ts +237 -193
  182. package/src/integrations/pluresdb.ts +55 -35
  183. package/src/integrations/state-docs.ts +104 -104
  184. package/src/integrations/svelte.ts +35 -35
  185. package/src/integrations/tauri.ts +75 -73
  186. package/src/integrations/unum.ts +68 -61
  187. package/src/registry.ts +7 -14
  188. package/src/runtime/terminal-adapter.ts +31 -26
  189. package/src/step.ts +10 -16
  190. package/src/types.ts +1 -1
  191. package/templates/basic-app/README.md +6 -9
  192. package/templates/fullstack-app/README.md +10 -0
  193. package/dist/core/codegen/docs-generator.d.ts +0 -123
  194. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  195. package/dist/core/codegen/docs-generator.js +0 -674
  196. package/dist/core/codegen/docs-generator.js.map +0 -1
  197. package/dist/core/codegen/index.d.ts +0 -11
  198. package/dist/core/codegen/index.d.ts.map +0 -1
  199. package/dist/core/codegen/index.js +0 -13
  200. package/dist/core/codegen/index.js.map +0 -1
  201. package/dist/core/codegen/ts-generator.d.ts +0 -8
  202. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  203. package/dist/core/codegen/ts-generator.js +0 -8
  204. package/dist/core/codegen/ts-generator.js.map +0 -1
  205. package/dist/core/db-adapter/index.d.ts +0 -18
  206. package/dist/core/db-adapter/index.d.ts.map +0 -1
  207. package/dist/core/db-adapter/index.js +0 -23
  208. package/dist/core/db-adapter/index.js.map +0 -1
  209. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  210. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  211. package/dist/core/db-adapter/sync-engine.js +0 -342
  212. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  213. package/dist/core/logic-engine/engine.d.ts +0 -8
  214. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  215. package/dist/core/logic-engine/engine.js +0 -8
  216. package/dist/core/logic-engine/engine.js.map +0 -1
  217. package/dist/core/logic-engine/index.d.ts +0 -16
  218. package/dist/core/logic-engine/index.d.ts.map +0 -1
  219. package/dist/core/logic-engine/index.js +0 -16
  220. package/dist/core/logic-engine/index.js.map +0 -1
  221. package/dist/core/logic-engine/protocol.d.ts +0 -7
  222. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  223. package/dist/core/logic-engine/protocol.js +0 -7
  224. package/dist/core/logic-engine/protocol.js.map +0 -1
  225. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  226. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  227. package/dist/core/logic-engine/psf-adapter.js +0 -207
  228. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  229. package/dist/core/logic-engine/rules.d.ts +0 -7
  230. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  231. package/dist/core/logic-engine/rules.js +0 -7
  232. package/dist/core/logic-engine/rules.js.map +0 -1
  233. package/dist/core/schema-engine/compiler.d.ts +0 -198
  234. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  235. package/dist/core/schema-engine/compiler.js +0 -262
  236. package/dist/core/schema-engine/compiler.js.map +0 -1
  237. package/dist/core/schema-engine/generator.d.ts +0 -115
  238. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  239. package/dist/core/schema-engine/generator.js +0 -506
  240. package/dist/core/schema-engine/generator.js.map +0 -1
  241. package/dist/core/schema-engine/index.d.ts +0 -18
  242. package/dist/core/schema-engine/index.d.ts.map +0 -1
  243. package/dist/core/schema-engine/index.js +0 -18
  244. package/dist/core/schema-engine/index.js.map +0 -1
  245. package/dist/core/schema-engine/psf.d.ts +0 -612
  246. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  247. package/dist/core/schema-engine/psf.js +0 -45
  248. package/dist/core/schema-engine/psf.js.map +0 -1
  249. package/dist/core/schema-engine/types.d.ts +0 -10
  250. package/dist/core/schema-engine/types.d.ts.map +0 -1
  251. package/dist/core/schema-engine/types.js +0 -7
  252. package/dist/core/schema-engine/types.js.map +0 -1
  253. package/dist/core/schema-engine/validator.d.ts +0 -140
  254. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  255. package/dist/core/schema-engine/validator.js +0 -407
  256. package/dist/core/schema-engine/validator.js.map +0 -1
  257. package/dist/src/adapters/cli.d.ts +0 -43
  258. package/dist/src/adapters/cli.d.ts.map +0 -1
  259. package/dist/src/adapters/cli.js +0 -126
  260. package/dist/src/adapters/cli.js.map +0 -1
  261. package/dist/src/cli/commands/auth.d.ts +0 -26
  262. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  263. package/dist/src/cli/commands/auth.js +0 -233
  264. package/dist/src/cli/commands/auth.js.map +0 -1
  265. package/dist/src/cli/commands/build.d.ts +0 -23
  266. package/dist/src/cli/commands/build.d.ts.map +0 -1
  267. package/dist/src/cli/commands/build.js +0 -162
  268. package/dist/src/cli/commands/build.js.map +0 -1
  269. package/dist/src/cli/commands/canvas.d.ts +0 -23
  270. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  271. package/dist/src/cli/commands/canvas.js +0 -215
  272. package/dist/src/cli/commands/canvas.js.map +0 -1
  273. package/dist/src/cli/commands/cloud.d.ts +0 -27
  274. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  275. package/dist/src/cli/commands/cloud.js +0 -232
  276. package/dist/src/cli/commands/cloud.js.map +0 -1
  277. package/dist/src/cli/commands/create.d.ts +0 -21
  278. package/dist/src/cli/commands/create.d.ts.map +0 -1
  279. package/dist/src/cli/commands/create.js +0 -621
  280. package/dist/src/cli/commands/create.js.map +0 -1
  281. package/dist/src/cli/commands/dev.d.ts +0 -21
  282. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  283. package/dist/src/cli/commands/dev.js +0 -71
  284. package/dist/src/cli/commands/dev.js.map +0 -1
  285. package/dist/src/cli/commands/generate.d.ts +0 -25
  286. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/generate.js +0 -168
  288. package/dist/src/cli/commands/generate.js.map +0 -1
  289. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  290. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  291. package/dist/src/cli/commands/orchestrate.js +0 -150
  292. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  293. package/dist/src/cli/commands/verify.d.ts +0 -10
  294. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  295. package/dist/src/cli/commands/verify.js +0 -39
  296. package/dist/src/cli/commands/verify.js.map +0 -1
  297. package/dist/src/cli/index.d.ts +0 -8
  298. package/dist/src/cli/index.d.ts.map +0 -1
  299. package/dist/src/cli/index.js +0 -226
  300. package/dist/src/cli/index.js.map +0 -1
  301. package/dist/src/cloud/auth.d.ts +0 -51
  302. package/dist/src/cloud/auth.d.ts.map +0 -1
  303. package/dist/src/cloud/auth.js +0 -194
  304. package/dist/src/cloud/auth.js.map +0 -1
  305. package/dist/src/cloud/billing.d.ts +0 -184
  306. package/dist/src/cloud/billing.d.ts.map +0 -1
  307. package/dist/src/cloud/billing.js +0 -179
  308. package/dist/src/cloud/billing.js.map +0 -1
  309. package/dist/src/cloud/client.d.ts +0 -39
  310. package/dist/src/cloud/client.d.ts.map +0 -1
  311. package/dist/src/cloud/client.js +0 -176
  312. package/dist/src/cloud/client.js.map +0 -1
  313. package/dist/src/cloud/index.d.ts +0 -44
  314. package/dist/src/cloud/index.d.ts.map +0 -1
  315. package/dist/src/cloud/index.js +0 -44
  316. package/dist/src/cloud/index.js.map +0 -1
  317. package/dist/src/cloud/marketplace.d.ts +0 -166
  318. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  319. package/dist/src/cloud/marketplace.js +0 -159
  320. package/dist/src/cloud/marketplace.js.map +0 -1
  321. package/dist/src/cloud/provisioning.d.ts +0 -110
  322. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  323. package/dist/src/cloud/provisioning.js +0 -148
  324. package/dist/src/cloud/provisioning.js.map +0 -1
  325. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  326. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/endpoints.js +0 -217
  328. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  329. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/health/index.js +0 -9
  332. package/dist/src/cloud/relay/health/index.js.map +0 -1
  333. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/stats/index.js +0 -9
  336. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  337. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/sync/index.js +0 -9
  340. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  341. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  342. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  343. package/dist/src/cloud/relay/usage/index.js +0 -9
  344. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  345. package/dist/src/cloud/sponsors.d.ts +0 -81
  346. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  347. package/dist/src/cloud/sponsors.js +0 -130
  348. package/dist/src/cloud/sponsors.js.map +0 -1
  349. package/dist/src/cloud/types.d.ts +0 -169
  350. package/dist/src/cloud/types.d.ts.map +0 -1
  351. package/dist/src/cloud/types.js +0 -7
  352. package/dist/src/cloud/types.js.map +0 -1
  353. package/dist/src/components/index.d.ts.map +0 -1
  354. package/dist/src/components/index.js +0 -17
  355. package/dist/src/components/index.js.map +0 -1
  356. package/dist/src/core/actors.d.ts +0 -95
  357. package/dist/src/core/actors.d.ts.map +0 -1
  358. package/dist/src/core/actors.js +0 -158
  359. package/dist/src/core/actors.js.map +0 -1
  360. package/dist/src/core/component/generator.d.ts.map +0 -1
  361. package/dist/src/core/component/generator.js +0 -349
  362. package/dist/src/core/component/generator.js.map +0 -1
  363. package/dist/src/core/engine.d.ts +0 -92
  364. package/dist/src/core/engine.d.ts.map +0 -1
  365. package/dist/src/core/engine.js +0 -199
  366. package/dist/src/core/engine.js.map +0 -1
  367. package/dist/src/core/introspection.d.ts +0 -141
  368. package/dist/src/core/introspection.d.ts.map +0 -1
  369. package/dist/src/core/introspection.js +0 -208
  370. package/dist/src/core/introspection.js.map +0 -1
  371. package/dist/src/core/logic/generator.d.ts +0 -76
  372. package/dist/src/core/logic/generator.d.ts.map +0 -1
  373. package/dist/src/core/logic/generator.js +0 -370
  374. package/dist/src/core/logic/generator.js.map +0 -1
  375. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  376. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/adapter.js +0 -73
  378. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  379. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  380. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/generator.js +0 -191
  382. package/dist/src/core/pluresdb/generator.js.map +0 -1
  383. package/dist/src/core/pluresdb/index.d.ts +0 -15
  384. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/index.js +0 -11
  386. package/dist/src/core/pluresdb/index.js.map +0 -1
  387. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  388. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  390. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  391. package/dist/src/core/pluresdb/store.d.ts +0 -199
  392. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  393. package/dist/src/core/pluresdb/store.js +0 -344
  394. package/dist/src/core/pluresdb/store.js.map +0 -1
  395. package/dist/src/core/protocol.d.ts.map +0 -1
  396. package/dist/src/core/protocol.js +0 -46
  397. package/dist/src/core/protocol.js.map +0 -1
  398. package/dist/src/core/rules.d.ts +0 -120
  399. package/dist/src/core/rules.d.ts.map +0 -1
  400. package/dist/src/core/rules.js +0 -81
  401. package/dist/src/core/rules.js.map +0 -1
  402. package/dist/src/core/schema/loader.d.ts +0 -47
  403. package/dist/src/core/schema/loader.d.ts.map +0 -1
  404. package/dist/src/core/schema/loader.js +0 -189
  405. package/dist/src/core/schema/loader.js.map +0 -1
  406. package/dist/src/core/schema/normalize.d.ts +0 -72
  407. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  408. package/dist/src/core/schema/normalize.js +0 -190
  409. package/dist/src/core/schema/normalize.js.map +0 -1
  410. package/dist/src/core/schema/types.d.ts.map +0 -1
  411. package/dist/src/core/schema/types.js +0 -161
  412. package/dist/src/core/schema/types.js.map +0 -1
  413. package/dist/src/dsl/index.d.ts +0 -152
  414. package/dist/src/dsl/index.d.ts.map +0 -1
  415. package/dist/src/dsl/index.js +0 -132
  416. package/dist/src/dsl/index.js.map +0 -1
  417. package/dist/src/dsl.d.ts +0 -124
  418. package/dist/src/dsl.d.ts.map +0 -1
  419. package/dist/src/dsl.js +0 -130
  420. package/dist/src/dsl.js.map +0 -1
  421. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  422. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  423. package/dist/src/examples/advanced-todo/index.js +0 -222
  424. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  425. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  426. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  427. package/dist/src/examples/auth-basic/index.js +0 -122
  428. package/dist/src/examples/auth-basic/index.js.map +0 -1
  429. package/dist/src/examples/cart/index.d.ts +0 -19
  430. package/dist/src/examples/cart/index.d.ts.map +0 -1
  431. package/dist/src/examples/cart/index.js +0 -202
  432. package/dist/src/examples/cart/index.js.map +0 -1
  433. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  434. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  435. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  436. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  437. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  438. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  439. package/dist/src/examples/svelte-counter/index.js +0 -123
  440. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  441. package/dist/src/flows.d.ts +0 -125
  442. package/dist/src/flows.d.ts.map +0 -1
  443. package/dist/src/flows.js +0 -160
  444. package/dist/src/flows.js.map +0 -1
  445. package/dist/src/index.d.ts +0 -77
  446. package/dist/src/index.d.ts.map +0 -1
  447. package/dist/src/index.js +0 -64
  448. package/dist/src/index.js.map +0 -1
  449. package/dist/src/integrations/code-canvas.d.ts +0 -265
  450. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  451. package/dist/src/integrations/code-canvas.js +0 -451
  452. package/dist/src/integrations/code-canvas.js.map +0 -1
  453. package/dist/src/integrations/pluresdb.d.ts +0 -117
  454. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  455. package/dist/src/integrations/pluresdb.js +0 -117
  456. package/dist/src/integrations/pluresdb.js.map +0 -1
  457. package/dist/src/integrations/state-docs.d.ts +0 -191
  458. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  459. package/dist/src/integrations/state-docs.js +0 -515
  460. package/dist/src/integrations/state-docs.js.map +0 -1
  461. package/dist/src/integrations/svelte.d.ts.map +0 -1
  462. package/dist/src/integrations/svelte.js +0 -447
  463. package/dist/src/integrations/svelte.js.map +0 -1
  464. package/dist/src/integrations/tauri.d.ts +0 -360
  465. package/dist/src/integrations/tauri.d.ts.map +0 -1
  466. package/dist/src/integrations/tauri.js +0 -278
  467. package/dist/src/integrations/tauri.js.map +0 -1
  468. package/dist/src/integrations/unum.d.ts +0 -159
  469. package/dist/src/integrations/unum.d.ts.map +0 -1
  470. package/dist/src/integrations/unum.js +0 -240
  471. package/dist/src/integrations/unum.js.map +0 -1
  472. package/dist/src/registry.d.ts +0 -94
  473. package/dist/src/registry.d.ts.map +0 -1
  474. package/dist/src/registry.js +0 -181
  475. package/dist/src/registry.js.map +0 -1
  476. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  477. package/dist/src/runtime/terminal-adapter.js +0 -239
  478. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  479. package/dist/src/step.d.ts +0 -34
  480. package/dist/src/step.d.ts.map +0 -1
  481. package/dist/src/step.js +0 -111
  482. package/dist/src/step.js.map +0 -1
  483. package/dist/src/types.d.ts +0 -63
  484. package/dist/src/types.d.ts.map +0 -1
  485. package/dist/src/types.js +0 -6
  486. package/dist/src/types.js.map +0 -1
  487. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  488. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  489. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  490. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  491. package/dist/tools/cli/commands/index.d.ts +0 -7
  492. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  493. package/dist/tools/cli/commands/index.js +0 -7
  494. package/dist/tools/cli/commands/index.js.map +0 -1
  495. package/dist/tools/cli/index.d.ts +0 -8
  496. package/dist/tools/cli/index.d.ts.map +0 -1
  497. package/dist/tools/cli/index.js +0 -9
  498. package/dist/tools/cli/index.js.map +0 -1
  499. package/dist/tools/watcher/index.d.ts +0 -105
  500. package/dist/tools/watcher/index.d.ts.map +0 -1
  501. package/dist/tools/watcher/index.js +0 -213
  502. package/dist/tools/watcher/index.js.map +0 -1
  503. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  504. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-projection.js +0 -416
  506. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  507. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  508. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  509. package/dist/ui/canvas/canvas-state.js +0 -464
  510. package/dist/ui/canvas/canvas-state.js.map +0 -1
  511. package/dist/ui/canvas/components/index.d.ts +0 -95
  512. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/components/index.js +0 -19
  514. package/dist/ui/canvas/components/index.js.map +0 -1
  515. package/dist/ui/canvas/index.d.ts +0 -32
  516. package/dist/ui/canvas/index.d.ts.map +0 -1
  517. package/dist/ui/canvas/index.js +0 -32
  518. package/dist/ui/canvas/index.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  520. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/server.js +0 -248
  522. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  523. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  524. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  525. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  526. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  527. package/dist/ui/svelte-generator/index.d.ts +0 -9
  528. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/index.js +0 -11
  530. package/dist/ui/svelte-generator/index.js.map +0 -1
  531. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  532. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  533. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  534. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -2,296 +2,313 @@
2
2
  * State-Docs Integration Tests
3
3
  */
4
4
 
5
- import { describe, it, expect } from "vitest";
5
+ import { describe, it, expect } from 'vitest';
6
6
  import {
7
7
  createStateDocsGenerator,
8
8
  generateDocs,
9
9
  StateDocsGenerator,
10
- } from "../integrations/state-docs.js";
11
- import type { PraxisSchema } from "../core/schema/types.js";
10
+ } from '../integrations/state-docs.js';
11
+ import type { PraxisSchema } from '../core/schema/types.js';
12
12
 
13
- describe("State-Docs Integration", () => {
13
+ describe('State-Docs Integration', () => {
14
14
  const testSchema: PraxisSchema = {
15
- version: "1.0.0",
16
- name: "TestProject",
17
- description: "A test project for documentation generation",
15
+ version: '1.0.0',
16
+ name: 'TestProject',
17
+ description: 'A test project for documentation generation',
18
18
  models: [
19
19
  {
20
- name: "User",
21
- description: "User model",
20
+ name: 'User',
21
+ description: 'User model',
22
22
  fields: [
23
- { name: "id", type: "string", description: "User ID" },
24
- { name: "name", type: "string", description: "User name" },
25
- { name: "email", type: "string", description: "Email address", optional: true },
23
+ { name: 'id', type: 'string', description: 'User ID' },
24
+ { name: 'name', type: 'string', description: 'User name' },
25
+ { name: 'email', type: 'string', description: 'Email address', optional: true },
26
26
  ],
27
27
  },
28
28
  {
29
- name: "Post",
30
- description: "Blog post model",
29
+ name: 'Post',
30
+ description: 'Blog post model',
31
31
  fields: [
32
- { name: "id", type: "string" },
33
- { name: "title", type: "string" },
34
- { name: "content", type: "string" },
35
- { name: "authorId", type: "string" },
32
+ { name: 'id', type: 'string' },
33
+ { name: 'title', type: 'string' },
34
+ { name: 'content', type: 'string' },
35
+ { name: 'authorId', type: 'string' },
36
36
  ],
37
37
  },
38
38
  ],
39
39
  components: [
40
40
  {
41
- name: "UserProfile",
42
- type: "display",
43
- description: "User profile display component",
44
- model: "User",
41
+ name: 'UserProfile',
42
+ type: 'display',
43
+ description: 'User profile display component',
44
+ model: 'User',
45
45
  },
46
46
  {
47
- name: "PostEditor",
48
- type: "form",
49
- description: "Post editing form",
50
- model: "Post",
47
+ name: 'PostEditor',
48
+ type: 'form',
49
+ description: 'Post editing form',
50
+ model: 'Post',
51
51
  },
52
52
  ],
53
53
  logic: [
54
54
  {
55
- id: "auth-logic",
56
- description: "Authentication logic module",
55
+ id: 'auth-logic',
56
+ description: 'Authentication logic module',
57
57
  events: [
58
- { tag: "Login", payload: { username: "string", password: "string" }, description: "User login event" },
59
- { tag: "Logout", payload: { userId: "string" }, description: "User logout event" },
58
+ {
59
+ tag: 'Login',
60
+ payload: { username: 'string', password: 'string' },
61
+ description: 'User login event',
62
+ },
63
+ { tag: 'Logout', payload: { userId: 'string' }, description: 'User logout event' },
60
64
  ],
61
65
  facts: [
62
- { tag: "UserLoggedIn", payload: { userId: "string", timestamp: "number" }, description: "User is logged in" },
66
+ {
67
+ tag: 'UserLoggedIn',
68
+ payload: { userId: 'string', timestamp: 'number' },
69
+ description: 'User is logged in',
70
+ },
63
71
  ],
64
72
  rules: [
65
- { id: "process-login", description: "Process login request", then: "validateCredentials()" },
73
+ {
74
+ id: 'process-login',
75
+ description: 'Process login request',
76
+ then: 'validateCredentials()',
77
+ },
66
78
  ],
67
79
  constraints: [
68
- { id: "valid-session", description: "Session must be valid", check: "session.isValid()", message: "Invalid session" },
80
+ {
81
+ id: 'valid-session',
82
+ description: 'Session must be valid',
83
+ check: 'session.isValid()',
84
+ message: 'Invalid session',
85
+ },
69
86
  ],
70
87
  },
71
88
  ],
72
89
  };
73
90
 
74
- describe("createStateDocsGenerator", () => {
75
- it("should create a generator with default config", () => {
91
+ describe('createStateDocsGenerator', () => {
92
+ it('should create a generator with default config', () => {
76
93
  const generator = createStateDocsGenerator({
77
- projectTitle: "Test Project",
94
+ projectTitle: 'Test Project',
78
95
  });
79
-
96
+
80
97
  expect(generator).toBeInstanceOf(StateDocsGenerator);
81
98
  });
82
-
83
- it("should create a generator with custom config", () => {
99
+
100
+ it('should create a generator with custom config', () => {
84
101
  const generator = createStateDocsGenerator({
85
- projectTitle: "Test Project",
86
- target: "./custom-docs",
102
+ projectTitle: 'Test Project',
103
+ target: './custom-docs',
87
104
  visualization: {
88
- format: "mermaid",
89
- theme: "dark",
105
+ format: 'mermaid',
106
+ theme: 'dark',
90
107
  },
91
108
  template: {
92
109
  toc: true,
93
110
  timestamp: false,
94
111
  },
95
112
  });
96
-
113
+
97
114
  expect(generator).toBeInstanceOf(StateDocsGenerator);
98
115
  });
99
116
  });
100
117
 
101
- describe("generateFromSchema", () => {
102
- it("should generate documentation from schema", () => {
118
+ describe('generateFromSchema', () => {
119
+ it('should generate documentation from schema', () => {
103
120
  const generator = createStateDocsGenerator({
104
- projectTitle: "Test Project",
121
+ projectTitle: 'Test Project',
105
122
  });
106
-
123
+
107
124
  const docs = generator.generateFromSchema(testSchema);
108
-
125
+
109
126
  expect(docs).toBeDefined();
110
127
  expect(docs.length).toBeGreaterThan(0);
111
128
  });
112
-
113
- it("should generate README", () => {
129
+
130
+ it('should generate README', () => {
114
131
  const generator = createStateDocsGenerator({
115
- projectTitle: "Test Project",
132
+ projectTitle: 'Test Project',
116
133
  });
117
-
134
+
118
135
  const docs = generator.generateFromSchema(testSchema);
119
- const readme = docs.find(d => d.path.endsWith("README.md"));
120
-
136
+ const readme = docs.find((d) => d.path.endsWith('README.md'));
137
+
121
138
  expect(readme).toBeDefined();
122
- expect(readme?.type).toBe("markdown");
123
- expect(readme?.content).toContain("TestProject");
139
+ expect(readme?.type).toBe('markdown');
140
+ expect(readme?.content).toContain('TestProject');
124
141
  });
125
-
126
- it("should generate models documentation", () => {
142
+
143
+ it('should generate models documentation', () => {
127
144
  const generator = createStateDocsGenerator({
128
- projectTitle: "Test Project",
145
+ projectTitle: 'Test Project',
129
146
  });
130
-
147
+
131
148
  const docs = generator.generateFromSchema(testSchema);
132
- const modelsDocs = docs.find(d => d.path.endsWith("models.md"));
133
-
149
+ const modelsDocs = docs.find((d) => d.path.endsWith('models.md'));
150
+
134
151
  expect(modelsDocs).toBeDefined();
135
- expect(modelsDocs?.content).toContain("User");
136
- expect(modelsDocs?.content).toContain("Post");
152
+ expect(modelsDocs?.content).toContain('User');
153
+ expect(modelsDocs?.content).toContain('Post');
137
154
  });
138
-
139
- it("should generate components documentation", () => {
155
+
156
+ it('should generate components documentation', () => {
140
157
  const generator = createStateDocsGenerator({
141
- projectTitle: "Test Project",
158
+ projectTitle: 'Test Project',
142
159
  });
143
-
160
+
144
161
  const docs = generator.generateFromSchema(testSchema);
145
- const componentsDocs = docs.find(d => d.path.endsWith("components.md"));
146
-
162
+ const componentsDocs = docs.find((d) => d.path.endsWith('components.md'));
163
+
147
164
  expect(componentsDocs).toBeDefined();
148
- expect(componentsDocs?.content).toContain("UserProfile");
149
- expect(componentsDocs?.content).toContain("PostEditor");
165
+ expect(componentsDocs?.content).toContain('UserProfile');
166
+ expect(componentsDocs?.content).toContain('PostEditor');
150
167
  });
151
-
152
- it("should generate logic documentation", () => {
168
+
169
+ it('should generate logic documentation', () => {
153
170
  const generator = createStateDocsGenerator({
154
- projectTitle: "Test Project",
171
+ projectTitle: 'Test Project',
155
172
  });
156
-
173
+
157
174
  const docs = generator.generateFromSchema(testSchema);
158
- const logicDocs = docs.find(d => d.path.includes("auth-logic.md"));
159
-
175
+ const logicDocs = docs.find((d) => d.path.includes('auth-logic.md'));
176
+
160
177
  expect(logicDocs).toBeDefined();
161
- expect(logicDocs?.content).toContain("Login");
162
- expect(logicDocs?.content).toContain("Logout");
178
+ expect(logicDocs?.content).toContain('Login');
179
+ expect(logicDocs?.content).toContain('Logout');
163
180
  });
164
-
165
- it("should generate Mermaid diagrams", () => {
181
+
182
+ it('should generate Mermaid diagrams', () => {
166
183
  const generator = createStateDocsGenerator({
167
- projectTitle: "Test Project",
184
+ projectTitle: 'Test Project',
168
185
  });
169
-
186
+
170
187
  const docs = generator.generateFromSchema(testSchema);
171
- const mermaidDocs = docs.filter(d => d.type === "mermaid");
172
-
188
+ const mermaidDocs = docs.filter((d) => d.type === 'mermaid');
189
+
173
190
  expect(mermaidDocs.length).toBeGreaterThan(0);
174
- expect(mermaidDocs[0].content).toContain("stateDiagram-v2");
191
+ expect(mermaidDocs[0].content).toContain('stateDiagram-v2');
175
192
  });
176
-
177
- it("should include table of contents when enabled", () => {
193
+
194
+ it('should include table of contents when enabled', () => {
178
195
  const generator = createStateDocsGenerator({
179
- projectTitle: "Test Project",
196
+ projectTitle: 'Test Project',
180
197
  template: { toc: true },
181
198
  });
182
-
199
+
183
200
  const docs = generator.generateFromSchema(testSchema);
184
- const readme = docs.find(d => d.path.endsWith("README.md"));
185
-
186
- expect(readme?.content).toContain("Table of Contents");
201
+ const readme = docs.find((d) => d.path.endsWith('README.md'));
202
+
203
+ expect(readme?.content).toContain('Table of Contents');
187
204
  });
188
-
189
- it("should include timestamp when enabled", () => {
205
+
206
+ it('should include timestamp when enabled', () => {
190
207
  const generator = createStateDocsGenerator({
191
- projectTitle: "Test Project",
208
+ projectTitle: 'Test Project',
192
209
  template: { timestamp: true },
193
210
  });
194
-
211
+
195
212
  const docs = generator.generateFromSchema(testSchema);
196
- const readme = docs.find(d => d.path.endsWith("README.md"));
197
-
198
- expect(readme?.content).toContain("Generated on");
213
+ const readme = docs.find((d) => d.path.endsWith('README.md'));
214
+
215
+ expect(readme?.content).toContain('Generated on');
199
216
  });
200
-
201
- it("should include statistics", () => {
217
+
218
+ it('should include statistics', () => {
202
219
  const generator = createStateDocsGenerator({
203
- projectTitle: "Test Project",
220
+ projectTitle: 'Test Project',
204
221
  });
205
-
222
+
206
223
  const docs = generator.generateFromSchema(testSchema);
207
- const readme = docs.find(d => d.path.endsWith("README.md"));
208
-
209
- expect(readme?.content).toContain("Statistics");
210
- expect(readme?.content).toContain("Models");
211
- expect(readme?.content).toContain("Components");
224
+ const readme = docs.find((d) => d.path.endsWith('README.md'));
225
+
226
+ expect(readme?.content).toContain('Statistics');
227
+ expect(readme?.content).toContain('Models');
228
+ expect(readme?.content).toContain('Components');
212
229
  });
213
230
  });
214
231
 
215
- describe("generateDocs (convenience function)", () => {
216
- it("should generate docs directly from schema", () => {
232
+ describe('generateDocs (convenience function)', () => {
233
+ it('should generate docs directly from schema', () => {
217
234
  const docs = generateDocs(testSchema, {
218
- projectTitle: "Quick Project",
235
+ projectTitle: 'Quick Project',
219
236
  });
220
-
237
+
221
238
  expect(docs).toBeDefined();
222
239
  expect(docs.length).toBeGreaterThan(0);
223
240
  });
224
241
  });
225
242
 
226
- describe("generateFromModule", () => {
227
- it("should generate documentation from a Praxis module", () => {
243
+ describe('generateFromModule', () => {
244
+ it('should generate documentation from a Praxis module', () => {
228
245
  const generator = createStateDocsGenerator({
229
- projectTitle: "Test Project",
246
+ projectTitle: 'Test Project',
230
247
  });
231
-
248
+
232
249
  const docs = generator.generateFromModule({
233
250
  rules: [
234
251
  {
235
- id: "test-rule",
236
- description: "A test rule",
252
+ id: 'test-rule',
253
+ description: 'A test rule',
237
254
  impl: () => [],
238
255
  },
239
256
  ],
240
257
  constraints: [
241
258
  {
242
- id: "test-constraint",
243
- description: "A test constraint",
259
+ id: 'test-constraint',
260
+ description: 'A test constraint',
244
261
  impl: () => true,
245
262
  },
246
263
  ],
247
264
  });
248
-
265
+
249
266
  expect(docs.length).toBe(3); // rules.md, constraints.md, state-diagram.mmd
250
267
  });
251
-
252
- it("should generate rules documentation from module", () => {
268
+
269
+ it('should generate rules documentation from module', () => {
253
270
  const generator = createStateDocsGenerator({
254
- projectTitle: "Test Project",
271
+ projectTitle: 'Test Project',
255
272
  });
256
-
273
+
257
274
  const docs = generator.generateFromModule({
258
275
  rules: [
259
276
  {
260
- id: "auth.login",
261
- description: "Process user login",
277
+ id: 'auth.login',
278
+ description: 'Process user login',
262
279
  impl: () => [],
263
280
  },
264
281
  ],
265
282
  constraints: [],
266
283
  });
267
-
268
- const rulesDocs = docs.find(d => d.path.endsWith("rules.md"));
284
+
285
+ const rulesDocs = docs.find((d) => d.path.endsWith('rules.md'));
269
286
  expect(rulesDocs).toBeDefined();
270
- expect(rulesDocs?.content).toContain("auth.login");
271
- expect(rulesDocs?.content).toContain("Process user login");
287
+ expect(rulesDocs?.content).toContain('auth.login');
288
+ expect(rulesDocs?.content).toContain('Process user login');
272
289
  });
273
-
274
- it("should generate constraints documentation from module", () => {
290
+
291
+ it('should generate constraints documentation from module', () => {
275
292
  const generator = createStateDocsGenerator({
276
- projectTitle: "Test Project",
293
+ projectTitle: 'Test Project',
277
294
  });
278
-
295
+
279
296
  const docs = generator.generateFromModule({
280
297
  rules: [],
281
298
  constraints: [
282
299
  {
283
- id: "user.valid",
284
- description: "User must be valid",
300
+ id: 'user.valid',
301
+ description: 'User must be valid',
285
302
  impl: () => true,
286
- meta: { errorMessage: "User is invalid" },
303
+ meta: { errorMessage: 'User is invalid' },
287
304
  },
288
305
  ],
289
306
  });
290
-
291
- const constraintsDocs = docs.find(d => d.path.endsWith("constraints.md"));
307
+
308
+ const constraintsDocs = docs.find((d) => d.path.endsWith('constraints.md'));
292
309
  expect(constraintsDocs).toBeDefined();
293
- expect(constraintsDocs?.content).toContain("user.valid");
294
- expect(constraintsDocs?.content).toContain("User must be valid");
310
+ expect(constraintsDocs?.content).toContain('user.valid');
311
+ expect(constraintsDocs?.content).toContain('User must be valid');
295
312
  });
296
313
  });
297
314
  });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Tests for Svelte 5 Integration
3
- *
3
+ *
4
4
  * Tests the enhanced Svelte integration with runes support,
5
5
  * history state pattern, and snapshot functionality.
6
6
  */
@@ -35,7 +35,7 @@ const Increment = defineEvent<'INCREMENT', { amount?: number }>('INCREMENT');
35
35
 
36
36
  function createTestEngine() {
37
37
  const registry = new PraxisRegistry<CounterContext>();
38
-
38
+
39
39
  registry.registerRule(
40
40
  defineRule<CounterContext>({
41
41
  id: 'counter.increment',
@@ -43,11 +43,11 @@ function createTestEngine() {
43
43
  impl: (state, events) => {
44
44
  const event = findEvent(events, Increment);
45
45
  if (!event) return [];
46
-
46
+
47
47
  const amount = event.payload.amount ?? 1;
48
48
  state.context.count += amount;
49
49
  state.context.history.push(state.context.count);
50
-
50
+
51
51
  return [CountIncremented.create({ amount })];
52
52
  },
53
53
  })
@@ -78,7 +78,7 @@ describe('Svelte Integration - Store API', () => {
78
78
 
79
79
  // Dispatch event
80
80
  store.dispatch([Increment.create({ amount: 5 })]);
81
-
81
+
82
82
  expect(states.length).toBe(2);
83
83
  expect(states[1].context.count).toBe(5);
84
84
 
@@ -98,7 +98,7 @@ describe('Svelte Integration - Store API', () => {
98
98
  expect(contexts[0].count).toBe(0);
99
99
 
100
100
  store.dispatch([Increment.create({ amount: 3 })]);
101
-
101
+
102
102
  expect(contexts.length).toBe(2);
103
103
  expect(contexts[1].count).toBe(3);
104
104
 
@@ -258,7 +258,7 @@ describe('Svelte Integration - Runes API', () => {
258
258
  describe('History State Manager', () => {
259
259
  it('should record and navigate history', () => {
260
260
  const manager = new HistoryStateManager<CounterContext>(10);
261
-
261
+
262
262
  // Record initial state
263
263
  const state1 = {
264
264
  context: { count: 0, history: [0] },
@@ -300,19 +300,19 @@ describe('History State Manager', () => {
300
300
 
301
301
  it('should truncate future history when recording from past', () => {
302
302
  const manager = new HistoryStateManager<CounterContext>(10);
303
-
303
+
304
304
  const state1 = {
305
305
  context: { count: 0, history: [0] },
306
306
  facts: [],
307
307
  meta: {},
308
308
  protocolVersion: '1.0.0',
309
309
  };
310
-
310
+
311
311
  // Record 3 states
312
312
  manager.record(state1, []);
313
313
  manager.record({ ...state1, context: { count: 1, history: [0, 1] } }, []);
314
314
  manager.record({ ...state1, context: { count: 2, history: [0, 1, 2] } }, []);
315
-
315
+
316
316
  expect(manager.getHistory().length).toBe(3);
317
317
 
318
318
  // Go back to first state
@@ -322,14 +322,14 @@ describe('History State Manager', () => {
322
322
 
323
323
  // Record new state - should truncate
324
324
  manager.record({ ...state1, context: { count: 10, history: [0, 10] } }, []);
325
-
325
+
326
326
  expect(manager.getHistory().length).toBe(2);
327
327
  expect(manager.getCurrentIndex()).toBe(1);
328
328
  });
329
329
 
330
330
  it('should limit history size', () => {
331
331
  const manager = new HistoryStateManager<CounterContext>(3);
332
-
332
+
333
333
  const state = {
334
334
  context: { count: 0, history: [0] },
335
335
  facts: [],
@@ -339,10 +339,7 @@ describe('History State Manager', () => {
339
339
 
340
340
  // Record 5 states
341
341
  for (let i = 0; i < 5; i++) {
342
- manager.record(
343
- { ...state, context: { count: i, history: [i] } },
344
- []
345
- );
342
+ manager.record({ ...state, context: { count: i, history: [i] } }, []);
346
343
  }
347
344
 
348
345
  // Should only keep last 3
@@ -352,7 +349,7 @@ describe('History State Manager', () => {
352
349
 
353
350
  it('should clear history', () => {
354
351
  const manager = new HistoryStateManager<CounterContext>(10);
355
-
352
+
356
353
  const state = {
357
354
  context: { count: 0, history: [0] },
358
355
  facts: [],
@@ -362,11 +359,11 @@ describe('History State Manager', () => {
362
359
 
363
360
  manager.record(state, []);
364
361
  manager.record({ ...state, context: { count: 1, history: [0, 1] } }, []);
365
-
362
+
366
363
  expect(manager.getHistory().length).toBe(2);
367
364
 
368
365
  manager.clear();
369
-
366
+
370
367
  expect(manager.getHistory().length).toBe(0);
371
368
  expect(manager.getCurrentIndex()).toBe(-1);
372
369
  expect(manager.current()).toBeNull();