@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
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * State-Docs Integration
3
- *
3
+ *
4
4
  * Integration with plures/state-docs - FSM documentation generator for XState projects.
5
5
  * Generates Markdown and Mermaid documentation from Praxis state machines and logic.
6
- *
6
+ *
7
7
  * Features:
8
8
  * - Auto-generate documentation from Praxis schemas
9
9
  * - Markdown output with Mermaid diagrams
10
10
  * - State machine visualization
11
11
  * - Transition documentation
12
12
  * - Integration with Praxis logic engine
13
- *
13
+ *
14
14
  * @see https://github.com/plures/state-docs
15
15
  */
16
16
 
17
- import type { PraxisSchema, LogicDefinition } from "../core/schema/types.js";
18
- import type { RuleDescriptor, ConstraintDescriptor, PraxisModule } from "../core/rules.js";
17
+ import type { PraxisSchema, LogicDefinition } from '../core/schema/types.js';
18
+ import type { RuleDescriptor, ConstraintDescriptor, PraxisModule } from '../core/rules.js';
19
19
 
20
20
  /**
21
21
  * State-Docs configuration
@@ -130,7 +130,7 @@ export interface TransitionDoc {
130
130
  */
131
131
  export class StateDocsGenerator {
132
132
  private config: StateDocsConfig;
133
-
133
+
134
134
  constructor(config: StateDocsConfig) {
135
135
  this.config = {
136
136
  target: './docs',
@@ -147,26 +147,26 @@ export class StateDocsGenerator {
147
147
  ...config,
148
148
  };
149
149
  }
150
-
150
+
151
151
  /**
152
152
  * Generate documentation from a Praxis schema
153
153
  */
154
154
  generateFromSchema(schema: PraxisSchema): GeneratedDoc[] {
155
155
  const docs: GeneratedDoc[] = [];
156
-
156
+
157
157
  // Generate main README
158
158
  docs.push(this.generateSchemaReadme(schema));
159
-
159
+
160
160
  // Generate model documentation
161
161
  if (schema.models && schema.models.length > 0) {
162
162
  docs.push(this.generateModelsDoc(schema));
163
163
  }
164
-
164
+
165
165
  // Generate component documentation
166
166
  if (schema.components && schema.components.length > 0) {
167
167
  docs.push(this.generateComponentsDoc(schema));
168
168
  }
169
-
169
+
170
170
  // Generate logic documentation with state diagrams
171
171
  if (schema.logic && schema.logic.length > 0) {
172
172
  for (const logic of schema.logic) {
@@ -174,52 +174,52 @@ export class StateDocsGenerator {
174
174
  docs.push(this.generateLogicDiagram(logic));
175
175
  }
176
176
  }
177
-
177
+
178
178
  return docs;
179
179
  }
180
-
180
+
181
181
  /**
182
182
  * Generate documentation from a Praxis registry
183
183
  */
184
184
  generateFromModule<TContext>(module: PraxisModule<TContext>): GeneratedDoc[] {
185
185
  const docs: GeneratedDoc[] = [];
186
-
186
+
187
187
  // Get all rules and constraints
188
188
  const rules = module.rules;
189
189
  const constraints = module.constraints;
190
-
190
+
191
191
  // Generate rules documentation
192
192
  docs.push(this.generateRulesDoc(rules));
193
-
193
+
194
194
  // Generate constraints documentation
195
195
  docs.push(this.generateConstraintsDoc(constraints));
196
-
196
+
197
197
  // Generate state diagram
198
198
  docs.push(this.generateRegistryDiagram(rules, constraints));
199
-
199
+
200
200
  return docs;
201
201
  }
202
-
202
+
203
203
  /**
204
204
  * Generate the main schema README
205
205
  */
206
206
  private generateSchemaReadme(schema: PraxisSchema): GeneratedDoc {
207
207
  const lines: string[] = [];
208
-
208
+
209
209
  // Header
210
210
  if (this.config.template?.header) {
211
211
  lines.push(this.config.template.header);
212
212
  lines.push('');
213
213
  }
214
-
214
+
215
215
  lines.push(`# ${schema.name || this.config.projectTitle}`);
216
216
  lines.push('');
217
-
217
+
218
218
  if (schema.description) {
219
219
  lines.push(schema.description);
220
220
  lines.push('');
221
221
  }
222
-
222
+
223
223
  // Table of contents
224
224
  if (this.config.template?.toc) {
225
225
  lines.push('## Table of Contents');
@@ -236,13 +236,13 @@ export class StateDocsGenerator {
236
236
  }
237
237
  lines.push('');
238
238
  }
239
-
239
+
240
240
  // Overview
241
241
  lines.push('## Overview');
242
242
  lines.push('');
243
243
  lines.push(`**Version:** ${schema.version}`);
244
244
  lines.push('');
245
-
245
+
246
246
  // Summary statistics
247
247
  lines.push('### Statistics');
248
248
  lines.push('');
@@ -252,7 +252,7 @@ export class StateDocsGenerator {
252
252
  lines.push(`| Components | ${schema.components?.length || 0} |`);
253
253
  lines.push(`| Logic Modules | ${schema.logic?.length || 0} |`);
254
254
  lines.push('');
255
-
255
+
256
256
  // Models summary
257
257
  if (schema.models && schema.models.length > 0) {
258
258
  lines.push('## Models');
@@ -275,7 +275,7 @@ export class StateDocsGenerator {
275
275
  lines.push('');
276
276
  }
277
277
  }
278
-
278
+
279
279
  // Components summary
280
280
  if (schema.components && schema.components.length > 0) {
281
281
  lines.push('## Components');
@@ -295,7 +295,7 @@ export class StateDocsGenerator {
295
295
  }
296
296
  }
297
297
  }
298
-
298
+
299
299
  // Logic summary
300
300
  if (schema.logic && schema.logic.length > 0) {
301
301
  lines.push('## Logic');
@@ -307,7 +307,7 @@ export class StateDocsGenerator {
307
307
  lines.push(logic.description);
308
308
  lines.push('');
309
309
  }
310
-
310
+
311
311
  // Events
312
312
  if (logic.events && logic.events.length > 0) {
313
313
  lines.push('**Events:**');
@@ -317,7 +317,7 @@ export class StateDocsGenerator {
317
317
  }
318
318
  lines.push('');
319
319
  }
320
-
320
+
321
321
  // Facts
322
322
  if (logic.facts && logic.facts.length > 0) {
323
323
  lines.push('**Facts:**');
@@ -327,7 +327,7 @@ export class StateDocsGenerator {
327
327
  }
328
328
  lines.push('');
329
329
  }
330
-
330
+
331
331
  // Rules
332
332
  if (logic.rules && logic.rules.length > 0) {
333
333
  lines.push('**Rules:**');
@@ -339,27 +339,27 @@ export class StateDocsGenerator {
339
339
  }
340
340
  }
341
341
  }
342
-
342
+
343
343
  // Timestamp
344
344
  if (this.config.template?.timestamp) {
345
345
  lines.push('---');
346
346
  lines.push('');
347
347
  lines.push(`*Generated on ${new Date().toISOString()} by State-Docs*`);
348
348
  }
349
-
349
+
350
350
  // Footer
351
351
  if (this.config.template?.footer) {
352
352
  lines.push('');
353
353
  lines.push(this.config.template.footer);
354
354
  }
355
-
355
+
356
356
  return {
357
357
  path: `${this.config.target}/README.md`,
358
358
  content: lines.join('\n'),
359
359
  type: 'markdown',
360
360
  };
361
361
  }
362
-
362
+
363
363
  /**
364
364
  * Generate models documentation
365
365
  */
@@ -370,30 +370,30 @@ export class StateDocsGenerator {
370
370
  'This document describes all data models defined in the schema.',
371
371
  '',
372
372
  ];
373
-
373
+
374
374
  if (schema.models) {
375
375
  for (const model of schema.models) {
376
376
  lines.push(`## ${model.name}`);
377
377
  lines.push('');
378
-
378
+
379
379
  if (model.description) {
380
380
  lines.push(model.description);
381
381
  lines.push('');
382
382
  }
383
-
383
+
384
384
  lines.push('### Fields');
385
385
  lines.push('');
386
386
  lines.push('| Name | Type | Required | Description |');
387
387
  lines.push('|------|------|----------|-------------|');
388
-
388
+
389
389
  for (const field of model.fields) {
390
390
  const required = field.optional ? 'No' : 'Yes';
391
391
  const description = field.description || '-';
392
392
  lines.push(`| ${field.name} | \`${field.type}\` | ${required} | ${description} |`);
393
393
  }
394
-
394
+
395
395
  lines.push('');
396
-
396
+
397
397
  // Indexes
398
398
  if (model.indexes && model.indexes.length > 0) {
399
399
  lines.push('### Indexes');
@@ -405,14 +405,14 @@ export class StateDocsGenerator {
405
405
  }
406
406
  }
407
407
  }
408
-
408
+
409
409
  return {
410
410
  path: `${this.config.target}/models.md`,
411
411
  content: lines.join('\n'),
412
412
  type: 'markdown',
413
413
  };
414
414
  }
415
-
415
+
416
416
  /**
417
417
  * Generate components documentation
418
418
  */
@@ -423,156 +423,157 @@ export class StateDocsGenerator {
423
423
  'This document describes all UI components defined in the schema.',
424
424
  '',
425
425
  ];
426
-
426
+
427
427
  if (schema.components) {
428
428
  for (const component of schema.components) {
429
429
  lines.push(`## ${component.name}`);
430
430
  lines.push('');
431
431
  lines.push(`**Type:** ${component.type}`);
432
432
  lines.push('');
433
-
433
+
434
434
  if (component.description) {
435
435
  lines.push(component.description);
436
436
  lines.push('');
437
437
  }
438
-
438
+
439
439
  if (component.model) {
440
- lines.push(`**Associated Model:** [${component.model}](./models.md#${component.model.toLowerCase()})`);
440
+ lines.push(
441
+ `**Associated Model:** [${component.model}](./models.md#${component.model.toLowerCase()})`
442
+ );
441
443
  lines.push('');
442
444
  }
443
445
  }
444
446
  }
445
-
447
+
446
448
  return {
447
449
  path: `${this.config.target}/components.md`,
448
450
  content: lines.join('\n'),
449
451
  type: 'markdown',
450
452
  };
451
453
  }
452
-
454
+
453
455
  /**
454
456
  * Generate logic documentation
455
457
  */
456
458
  private generateLogicDoc(logic: LogicDefinition): GeneratedDoc {
457
- const lines: string[] = [
458
- `# ${logic.id}`,
459
- '',
460
- ];
461
-
459
+ const lines: string[] = [`# ${logic.id}`, ''];
460
+
462
461
  if (logic.description) {
463
462
  lines.push(logic.description);
464
463
  lines.push('');
465
464
  }
466
-
465
+
467
466
  // Events
468
467
  if (logic.events && logic.events.length > 0) {
469
468
  lines.push('## Events');
470
469
  lines.push('');
471
470
  lines.push('| Event | Description | Payload |');
472
471
  lines.push('|-------|-------------|---------|');
473
-
472
+
474
473
  for (const event of logic.events) {
475
- const payload = event.payload
476
- ? Object.entries(event.payload).map(([k, v]) => `${k}: ${v}`).join(', ')
474
+ const payload = event.payload
475
+ ? Object.entries(event.payload)
476
+ .map(([k, v]) => `${k}: ${v}`)
477
+ .join(', ')
477
478
  : '-';
478
479
  lines.push(`| \`${event.tag}\` | ${event.description || '-'} | ${payload} |`);
479
480
  }
480
481
  lines.push('');
481
482
  }
482
-
483
+
483
484
  // Facts
484
485
  if (logic.facts && logic.facts.length > 0) {
485
486
  lines.push('## Facts');
486
487
  lines.push('');
487
488
  lines.push('| Fact | Description | Payload |');
488
489
  lines.push('|------|-------------|---------|');
489
-
490
+
490
491
  for (const fact of logic.facts) {
491
- const payload = fact.payload
492
- ? Object.entries(fact.payload).map(([k, v]) => `${k}: ${v}`).join(', ')
492
+ const payload = fact.payload
493
+ ? Object.entries(fact.payload)
494
+ .map(([k, v]) => `${k}: ${v}`)
495
+ .join(', ')
493
496
  : '-';
494
497
  lines.push(`| \`${fact.tag}\` | ${fact.description || '-'} | ${payload} |`);
495
498
  }
496
499
  lines.push('');
497
500
  }
498
-
501
+
499
502
  // Rules
500
503
  if (logic.rules && logic.rules.length > 0) {
501
504
  lines.push('## Rules');
502
505
  lines.push('');
503
-
506
+
504
507
  for (const rule of logic.rules) {
505
508
  lines.push(`### ${rule.id}`);
506
509
  lines.push('');
507
-
510
+
508
511
  if (rule.description) {
509
512
  lines.push(rule.description);
510
513
  lines.push('');
511
514
  }
512
-
515
+
513
516
  if (rule.priority !== undefined) {
514
517
  lines.push(`**Priority:** ${rule.priority}`);
515
518
  lines.push('');
516
519
  }
517
520
  }
518
521
  }
519
-
522
+
520
523
  // Constraints
521
524
  if (logic.constraints && logic.constraints.length > 0) {
522
525
  lines.push('## Constraints');
523
526
  lines.push('');
524
-
527
+
525
528
  for (const constraint of logic.constraints) {
526
529
  lines.push(`### ${constraint.id}`);
527
530
  lines.push('');
528
-
531
+
529
532
  if (constraint.description) {
530
533
  lines.push(constraint.description);
531
534
  lines.push('');
532
535
  }
533
-
536
+
534
537
  if (constraint.message) {
535
538
  lines.push(`**Error Message:** ${constraint.message}`);
536
539
  lines.push('');
537
540
  }
538
541
  }
539
542
  }
540
-
543
+
541
544
  return {
542
545
  path: `${this.config.target}/logic/${logic.id}.md`,
543
546
  content: lines.join('\n'),
544
547
  type: 'markdown',
545
548
  };
546
549
  }
547
-
550
+
548
551
  /**
549
552
  * Generate Mermaid diagram for logic
550
553
  */
551
554
  private generateLogicDiagram(logic: LogicDefinition): GeneratedDoc {
552
- const lines: string[] = [
553
- 'stateDiagram-v2',
554
- ];
555
-
555
+ const lines: string[] = ['stateDiagram-v2'];
556
+
556
557
  // Add events as transitions
557
558
  if (logic.events && logic.facts) {
558
559
  lines.push(' [*] --> Processing');
559
-
560
+
560
561
  for (const event of logic.events) {
561
562
  lines.push(` Processing --> ${event.tag.replace(/[^a-zA-Z0-9]/g, '')}: ${event.tag}`);
562
563
  }
563
-
564
+
564
565
  for (const fact of logic.facts) {
565
566
  lines.push(` ${fact.tag.replace(/[^a-zA-Z0-9]/g, '')} --> [*]`);
566
567
  }
567
568
  }
568
-
569
+
569
570
  return {
570
571
  path: `${this.config.target}/logic/${logic.id}.mmd`,
571
572
  content: lines.join('\n'),
572
573
  type: 'mermaid',
573
574
  };
574
575
  }
575
-
576
+
576
577
  /**
577
578
  * Generate rules documentation
578
579
  */
@@ -583,67 +584,69 @@ export class StateDocsGenerator {
583
584
  'This document describes all rules registered in the Praxis engine.',
584
585
  '',
585
586
  ];
586
-
587
+
587
588
  for (const rule of rules) {
588
589
  lines.push(`## ${rule.id}`);
589
590
  lines.push('');
590
-
591
+
591
592
  if (rule.description) {
592
593
  lines.push(rule.description);
593
594
  lines.push('');
594
595
  }
595
-
596
+
596
597
  if (rule.meta?.eventType) {
597
598
  lines.push(`**Triggers on:** \`${rule.meta.eventType}\``);
598
599
  lines.push('');
599
600
  }
600
-
601
+
601
602
  if (rule.meta?.priority !== undefined) {
602
603
  lines.push(`**Priority:** ${rule.meta.priority}`);
603
604
  lines.push('');
604
605
  }
605
606
  }
606
-
607
+
607
608
  return {
608
609
  path: `${this.config.target}/rules.md`,
609
610
  content: lines.join('\n'),
610
611
  type: 'markdown',
611
612
  };
612
613
  }
613
-
614
+
614
615
  /**
615
616
  * Generate constraints documentation
616
617
  */
617
- private generateConstraintsDoc<TContext>(constraints: ConstraintDescriptor<TContext>[]): GeneratedDoc {
618
+ private generateConstraintsDoc<TContext>(
619
+ constraints: ConstraintDescriptor<TContext>[]
620
+ ): GeneratedDoc {
618
621
  const lines: string[] = [
619
622
  '# Constraints',
620
623
  '',
621
624
  'This document describes all constraints (invariants) registered in the Praxis engine.',
622
625
  '',
623
626
  ];
624
-
627
+
625
628
  for (const constraint of constraints) {
626
629
  lines.push(`## ${constraint.id}`);
627
630
  lines.push('');
628
-
631
+
629
632
  if (constraint.description) {
630
633
  lines.push(constraint.description);
631
634
  lines.push('');
632
635
  }
633
-
636
+
634
637
  if (constraint.meta?.errorMessage) {
635
638
  lines.push(`**Error Message:** ${constraint.meta.errorMessage}`);
636
639
  lines.push('');
637
640
  }
638
641
  }
639
-
642
+
640
643
  return {
641
644
  path: `${this.config.target}/constraints.md`,
642
645
  content: lines.join('\n'),
643
646
  type: 'markdown',
644
647
  };
645
648
  }
646
-
649
+
647
650
  /**
648
651
  * Generate state diagram from registry
649
652
  */
@@ -651,26 +654,23 @@ export class StateDocsGenerator {
651
654
  rules: RuleDescriptor<TContext>[],
652
655
  constraints: ConstraintDescriptor<TContext>[]
653
656
  ): GeneratedDoc {
654
- const lines: string[] = [
655
- 'graph TD',
656
- ' subgraph Rules',
657
- ];
658
-
657
+ const lines: string[] = ['graph TD', ' subgraph Rules'];
658
+
659
659
  for (const rule of rules) {
660
660
  const id = rule.id.replace(/[^a-zA-Z0-9]/g, '_');
661
661
  lines.push(` ${id}["${rule.id}"]`);
662
662
  }
663
-
663
+
664
664
  lines.push(' end');
665
665
  lines.push(' subgraph Constraints');
666
-
666
+
667
667
  for (const constraint of constraints) {
668
668
  const id = constraint.id.replace(/[^a-zA-Z0-9]/g, '_');
669
669
  lines.push(` ${id}["${constraint.id}"]`);
670
670
  }
671
-
671
+
672
672
  lines.push(' end');
673
-
673
+
674
674
  return {
675
675
  path: `${this.config.target}/state-diagram.mmd`,
676
676
  content: lines.join('\n'),
@@ -681,16 +681,16 @@ export class StateDocsGenerator {
681
681
 
682
682
  /**
683
683
  * Create a State-Docs generator instance
684
- *
684
+ *
685
685
  * @example
686
686
  * ```typescript
687
687
  * import { createStateDocsGenerator } from '@plures/praxis/integrations/state-docs';
688
- *
688
+ *
689
689
  * const generator = createStateDocsGenerator({
690
690
  * projectTitle: 'My Project',
691
691
  * target: './docs/api',
692
692
  * });
693
- *
693
+ *
694
694
  * const docs = generator.generateFromSchema(mySchema);
695
695
  * for (const doc of docs) {
696
696
  * await writeFile(doc.path, doc.content);