@plures/praxis 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/README.md +162 -375
  3. package/core/codegen/docs-generator.ts +5 -2
  4. package/core/codegen/index.ts +1 -1
  5. package/core/db-adapter/index.ts +2 -2
  6. package/core/db-adapter/sync-engine.ts +17 -6
  7. package/core/logic-engine/engine.ts +1 -1
  8. package/core/logic-engine/index.ts +2 -2
  9. package/core/logic-engine/protocol.ts +1 -1
  10. package/core/logic-engine/psf-adapter.ts +8 -4
  11. package/core/logic-engine/rules.ts +1 -1
  12. package/core/schema-engine/compiler.ts +53 -11
  13. package/core/schema-engine/generator.ts +17 -7
  14. package/core/schema-engine/index.ts +2 -2
  15. package/core/schema-engine/psf.ts +12 -3
  16. package/core/schema-engine/types.ts +3 -11
  17. package/core/schema-engine/validator.ts +112 -22
  18. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  19. package/dist/browser/index.d.ts +3004 -0
  20. package/dist/browser/index.js +2892 -0
  21. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  22. package/dist/browser/integrations/svelte.js +298 -0
  23. package/dist/node/auth-STARLY7I.js +207 -0
  24. package/dist/node/build-Y7OT5VBF.js +144 -0
  25. package/dist/node/canvas-UERZHJYW.js +362 -0
  26. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  27. package/dist/node/chunk-FXQZXAWF.js +175 -0
  28. package/dist/node/chunk-N5Y37EUV.js +202 -0
  29. package/dist/node/chunk-QGM4M3NI.js +37 -0
  30. package/dist/node/chunk-RJMWCNHR.js +175 -0
  31. package/dist/node/chunk-SRM3OPPM.js +404 -0
  32. package/dist/node/chunk-UATVJBNV.js +175 -0
  33. package/dist/node/chunk-UY7YEBE2.js +159 -0
  34. package/dist/node/chunk-XCY2VIFX.js +143 -0
  35. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  36. package/dist/node/cli/index.cjs +215139 -0
  37. package/dist/node/cli/index.d.cts +1 -0
  38. package/dist/node/cli/index.d.ts +1 -0
  39. package/dist/node/cli/index.js +690 -0
  40. package/dist/node/cloud/index.cjs +1043 -0
  41. package/dist/node/cloud/index.d.cts +864 -0
  42. package/dist/node/cloud/index.d.ts +864 -0
  43. package/dist/node/cloud/index.js +456 -0
  44. package/dist/node/cloud-AXOK4PSN.js +212 -0
  45. package/dist/node/component.cjs +374 -0
  46. package/dist/node/component.d.cts +125 -0
  47. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  48. package/dist/node/component.js +9 -0
  49. package/dist/node/components/index.cjs +216 -0
  50. package/dist/node/components/index.d.cts +43 -0
  51. package/dist/{src → node}/components/index.d.ts +8 -8
  52. package/dist/node/components/index.js +7 -0
  53. package/dist/node/create-TRLSVCNQ.js +584 -0
  54. package/dist/node/dev-PMJZUYGE.js +65 -0
  55. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  56. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  57. package/dist/node/index.cjs +3247 -0
  58. package/dist/node/index.d.cts +2579 -0
  59. package/dist/node/index.d.ts +2579 -0
  60. package/dist/node/index.js +2098 -0
  61. package/dist/node/integrations/svelte.cjs +330 -0
  62. package/dist/node/integrations/svelte.d.cts +309 -0
  63. package/dist/node/integrations/svelte.d.ts +309 -0
  64. package/dist/node/integrations/svelte.js +300 -0
  65. package/dist/node/orchestrate-737TCL5H.js +127 -0
  66. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  67. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  68. package/dist/node/schema.cjs +200 -0
  69. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  70. package/dist/node/schema.d.ts +371 -0
  71. package/dist/node/schema.js +9 -0
  72. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  73. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  74. package/dist/node/verify-QRYKRIDU.js +210960 -0
  75. package/docs/MONETIZATION.md +21 -16
  76. package/docs/REACTIVE_REDESIGN.md +132 -0
  77. package/docs/README.md +47 -36
  78. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  79. package/docs/TERMINAL_NODE.md +27 -24
  80. package/docs/core/building-extensions.md +58 -61
  81. package/docs/core/cli-usage.md +59 -59
  82. package/docs/core/code-canvas-sync.md +28 -16
  83. package/docs/core/logic-engine.md +77 -82
  84. package/docs/core/pluresdb-integration.md +29 -39
  85. package/docs/core/schema-model.md +66 -52
  86. package/docs/core/ui-generation.md +57 -49
  87. package/docs/core/what-is-praxis.md +32 -15
  88. package/docs/guides/canvas.md +21 -5
  89. package/docs/guides/getting-started.md +13 -7
  90. package/docs/guides/history-state-pattern.md +65 -51
  91. package/docs/guides/orchestration.md +46 -32
  92. package/docs/guides/parallel-state-pattern.md +56 -72
  93. package/docs/guides/svelte-integration.md +45 -53
  94. package/docs/tutorials/README.md +16 -0
  95. package/docs/tutorials/ecommerce-cart.md +177 -95
  96. package/docs/tutorials/first-app.md +26 -41
  97. package/docs/tutorials/form-builder.md +191 -138
  98. package/docs/tutorials/todo-pluresdb.md +71 -69
  99. package/package.json +58 -23
  100. package/src/__tests__/actors.test.ts +68 -68
  101. package/src/__tests__/billing.test.ts +32 -32
  102. package/src/__tests__/canvas-components.test.ts +94 -73
  103. package/src/__tests__/cli-create.test.ts +28 -28
  104. package/src/__tests__/cloud.test.ts +36 -36
  105. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  106. package/src/__tests__/docs-generator.test.ts +3 -9
  107. package/src/__tests__/dsl.test.ts +58 -64
  108. package/src/__tests__/edge-cases.test.ts +106 -108
  109. package/src/__tests__/engine.test.ts +51 -25
  110. package/src/__tests__/generators.test.ts +42 -44
  111. package/src/__tests__/introspection.test.ts +104 -114
  112. package/src/__tests__/pluresdb.test.ts +189 -187
  113. package/src/__tests__/protocol.test.ts +15 -15
  114. package/src/__tests__/provisioning.test.ts +61 -61
  115. package/src/__tests__/schema.test.ts +7 -11
  116. package/src/__tests__/state-docs-integration.test.ts +162 -145
  117. package/src/__tests__/svelte-integration.test.ts +16 -19
  118. package/src/__tests__/tauri-integration.test.ts +149 -147
  119. package/src/__tests__/terminal-node.test.ts +12 -7
  120. package/src/__tests__/unum-integration.test.ts +68 -68
  121. package/src/adapters/cli.ts +21 -15
  122. package/src/cli/commands/auth.ts +82 -78
  123. package/src/cli/commands/build.ts +29 -27
  124. package/src/cli/commands/canvas.ts +338 -127
  125. package/src/cli/commands/cloud.ts +47 -47
  126. package/src/cli/commands/create.ts +59 -47
  127. package/src/cli/commands/dev.ts +12 -12
  128. package/src/cli/commands/generate.ts +29 -40
  129. package/src/cli/commands/orchestrate.ts +24 -24
  130. package/src/cli/commands/verify.ts +7 -8
  131. package/src/cli/index.ts +14 -10
  132. package/src/cloud/README.md +28 -15
  133. package/src/cloud/auth.ts +55 -70
  134. package/src/cloud/billing.ts +59 -58
  135. package/src/cloud/client.ts +29 -35
  136. package/src/cloud/index.ts +19 -40
  137. package/src/cloud/marketplace.ts +69 -78
  138. package/src/cloud/provisioning.ts +42 -51
  139. package/src/cloud/relay/endpoints.ts +30 -34
  140. package/src/cloud/relay/health/index.ts +1 -1
  141. package/src/cloud/relay/stats/index.ts +1 -1
  142. package/src/cloud/relay/sync/index.ts +1 -1
  143. package/src/cloud/relay/usage/index.ts +1 -1
  144. package/src/cloud/sponsors.ts +31 -34
  145. package/src/cloud/types.ts +4 -4
  146. package/src/components/README.md +1 -0
  147. package/src/components/index.ts +3 -4
  148. package/src/core/actors.ts +7 -7
  149. package/src/core/component/generator.ts +10 -28
  150. package/src/core/engine.ts +51 -24
  151. package/src/core/introspection.ts +37 -35
  152. package/src/core/logic/generator.ts +62 -62
  153. package/src/core/pluresdb/adapter.ts +8 -8
  154. package/src/core/pluresdb/generator.ts +39 -35
  155. package/src/core/pluresdb/index.ts +9 -12
  156. package/src/core/pluresdb/schema-registry.ts +22 -25
  157. package/src/core/pluresdb/store.ts +57 -57
  158. package/src/core/protocol.ts +14 -14
  159. package/src/core/reactive-engine.svelte.ts +65 -0
  160. package/src/core/reactive-engine.ts +67 -0
  161. package/src/core/rules.ts +4 -4
  162. package/src/core/schema/loader.common.ts +150 -0
  163. package/src/core/schema/loader.ts +19 -149
  164. package/src/core/schema/normalize.ts +34 -51
  165. package/src/core/schema/types.ts +47 -11
  166. package/src/dsl/index.ts +8 -8
  167. package/src/dsl.ts +11 -17
  168. package/src/examples/advanced-todo/README.md +58 -40
  169. package/src/examples/advanced-todo/index.ts +3 -3
  170. package/src/examples/auth-basic/index.ts +30 -30
  171. package/src/examples/cart/index.ts +50 -50
  172. package/src/examples/hero-ecommerce/index.ts +130 -157
  173. package/src/examples/svelte-counter/index.ts +22 -26
  174. package/src/flows.ts +6 -17
  175. package/src/index.browser.ts +204 -0
  176. package/src/index.ts +37 -42
  177. package/src/integrations/code-canvas.ts +237 -193
  178. package/src/integrations/pluresdb.ts +55 -35
  179. package/src/integrations/state-docs.ts +104 -104
  180. package/src/integrations/svelte.ts +35 -35
  181. package/src/integrations/tauri.ts +75 -73
  182. package/src/integrations/unum.ts +68 -61
  183. package/src/registry.ts +7 -14
  184. package/src/runtime/terminal-adapter.ts +31 -26
  185. package/src/step.ts +10 -16
  186. package/src/types.ts +1 -1
  187. package/templates/basic-app/README.md +6 -9
  188. package/templates/fullstack-app/README.md +10 -0
  189. package/dist/core/codegen/docs-generator.d.ts +0 -123
  190. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  191. package/dist/core/codegen/docs-generator.js +0 -674
  192. package/dist/core/codegen/docs-generator.js.map +0 -1
  193. package/dist/core/codegen/index.d.ts +0 -11
  194. package/dist/core/codegen/index.d.ts.map +0 -1
  195. package/dist/core/codegen/index.js +0 -13
  196. package/dist/core/codegen/index.js.map +0 -1
  197. package/dist/core/codegen/ts-generator.d.ts +0 -8
  198. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  199. package/dist/core/codegen/ts-generator.js +0 -8
  200. package/dist/core/codegen/ts-generator.js.map +0 -1
  201. package/dist/core/db-adapter/index.d.ts +0 -18
  202. package/dist/core/db-adapter/index.d.ts.map +0 -1
  203. package/dist/core/db-adapter/index.js +0 -23
  204. package/dist/core/db-adapter/index.js.map +0 -1
  205. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  206. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  207. package/dist/core/db-adapter/sync-engine.js +0 -342
  208. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  209. package/dist/core/logic-engine/engine.d.ts +0 -8
  210. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  211. package/dist/core/logic-engine/engine.js +0 -8
  212. package/dist/core/logic-engine/engine.js.map +0 -1
  213. package/dist/core/logic-engine/index.d.ts +0 -16
  214. package/dist/core/logic-engine/index.d.ts.map +0 -1
  215. package/dist/core/logic-engine/index.js +0 -16
  216. package/dist/core/logic-engine/index.js.map +0 -1
  217. package/dist/core/logic-engine/protocol.d.ts +0 -7
  218. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  219. package/dist/core/logic-engine/protocol.js +0 -7
  220. package/dist/core/logic-engine/protocol.js.map +0 -1
  221. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  222. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  223. package/dist/core/logic-engine/psf-adapter.js +0 -207
  224. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  225. package/dist/core/logic-engine/rules.d.ts +0 -7
  226. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  227. package/dist/core/logic-engine/rules.js +0 -7
  228. package/dist/core/logic-engine/rules.js.map +0 -1
  229. package/dist/core/schema-engine/compiler.d.ts +0 -198
  230. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  231. package/dist/core/schema-engine/compiler.js +0 -262
  232. package/dist/core/schema-engine/compiler.js.map +0 -1
  233. package/dist/core/schema-engine/generator.d.ts +0 -115
  234. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  235. package/dist/core/schema-engine/generator.js +0 -506
  236. package/dist/core/schema-engine/generator.js.map +0 -1
  237. package/dist/core/schema-engine/index.d.ts +0 -18
  238. package/dist/core/schema-engine/index.d.ts.map +0 -1
  239. package/dist/core/schema-engine/index.js +0 -18
  240. package/dist/core/schema-engine/index.js.map +0 -1
  241. package/dist/core/schema-engine/psf.d.ts +0 -612
  242. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  243. package/dist/core/schema-engine/psf.js +0 -45
  244. package/dist/core/schema-engine/psf.js.map +0 -1
  245. package/dist/core/schema-engine/types.d.ts +0 -10
  246. package/dist/core/schema-engine/types.d.ts.map +0 -1
  247. package/dist/core/schema-engine/types.js +0 -7
  248. package/dist/core/schema-engine/types.js.map +0 -1
  249. package/dist/core/schema-engine/validator.d.ts +0 -140
  250. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  251. package/dist/core/schema-engine/validator.js +0 -407
  252. package/dist/core/schema-engine/validator.js.map +0 -1
  253. package/dist/src/adapters/cli.d.ts +0 -43
  254. package/dist/src/adapters/cli.d.ts.map +0 -1
  255. package/dist/src/adapters/cli.js +0 -126
  256. package/dist/src/adapters/cli.js.map +0 -1
  257. package/dist/src/cli/commands/auth.d.ts +0 -26
  258. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  259. package/dist/src/cli/commands/auth.js +0 -233
  260. package/dist/src/cli/commands/auth.js.map +0 -1
  261. package/dist/src/cli/commands/build.d.ts +0 -23
  262. package/dist/src/cli/commands/build.d.ts.map +0 -1
  263. package/dist/src/cli/commands/build.js +0 -162
  264. package/dist/src/cli/commands/build.js.map +0 -1
  265. package/dist/src/cli/commands/canvas.d.ts +0 -23
  266. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  267. package/dist/src/cli/commands/canvas.js +0 -215
  268. package/dist/src/cli/commands/canvas.js.map +0 -1
  269. package/dist/src/cli/commands/cloud.d.ts +0 -27
  270. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  271. package/dist/src/cli/commands/cloud.js +0 -232
  272. package/dist/src/cli/commands/cloud.js.map +0 -1
  273. package/dist/src/cli/commands/create.d.ts +0 -21
  274. package/dist/src/cli/commands/create.d.ts.map +0 -1
  275. package/dist/src/cli/commands/create.js +0 -621
  276. package/dist/src/cli/commands/create.js.map +0 -1
  277. package/dist/src/cli/commands/dev.d.ts +0 -21
  278. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  279. package/dist/src/cli/commands/dev.js +0 -71
  280. package/dist/src/cli/commands/dev.js.map +0 -1
  281. package/dist/src/cli/commands/generate.d.ts +0 -25
  282. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  283. package/dist/src/cli/commands/generate.js +0 -168
  284. package/dist/src/cli/commands/generate.js.map +0 -1
  285. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  286. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/orchestrate.js +0 -150
  288. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  289. package/dist/src/cli/commands/verify.d.ts +0 -10
  290. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  291. package/dist/src/cli/commands/verify.js +0 -39
  292. package/dist/src/cli/commands/verify.js.map +0 -1
  293. package/dist/src/cli/index.d.ts +0 -8
  294. package/dist/src/cli/index.d.ts.map +0 -1
  295. package/dist/src/cli/index.js +0 -226
  296. package/dist/src/cli/index.js.map +0 -1
  297. package/dist/src/cloud/auth.d.ts +0 -51
  298. package/dist/src/cloud/auth.d.ts.map +0 -1
  299. package/dist/src/cloud/auth.js +0 -194
  300. package/dist/src/cloud/auth.js.map +0 -1
  301. package/dist/src/cloud/billing.d.ts +0 -184
  302. package/dist/src/cloud/billing.d.ts.map +0 -1
  303. package/dist/src/cloud/billing.js +0 -179
  304. package/dist/src/cloud/billing.js.map +0 -1
  305. package/dist/src/cloud/client.d.ts +0 -39
  306. package/dist/src/cloud/client.d.ts.map +0 -1
  307. package/dist/src/cloud/client.js +0 -176
  308. package/dist/src/cloud/client.js.map +0 -1
  309. package/dist/src/cloud/index.d.ts +0 -44
  310. package/dist/src/cloud/index.d.ts.map +0 -1
  311. package/dist/src/cloud/index.js +0 -44
  312. package/dist/src/cloud/index.js.map +0 -1
  313. package/dist/src/cloud/marketplace.d.ts +0 -166
  314. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  315. package/dist/src/cloud/marketplace.js +0 -159
  316. package/dist/src/cloud/marketplace.js.map +0 -1
  317. package/dist/src/cloud/provisioning.d.ts +0 -110
  318. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  319. package/dist/src/cloud/provisioning.js +0 -148
  320. package/dist/src/cloud/provisioning.js.map +0 -1
  321. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  322. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  323. package/dist/src/cloud/relay/endpoints.js +0 -217
  324. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  325. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  326. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/health/index.js +0 -9
  328. package/dist/src/cloud/relay/health/index.js.map +0 -1
  329. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/stats/index.js +0 -9
  332. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  333. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/sync/index.js +0 -9
  336. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  337. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/usage/index.js +0 -9
  340. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  341. package/dist/src/cloud/sponsors.d.ts +0 -81
  342. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  343. package/dist/src/cloud/sponsors.js +0 -130
  344. package/dist/src/cloud/sponsors.js.map +0 -1
  345. package/dist/src/cloud/types.d.ts +0 -169
  346. package/dist/src/cloud/types.d.ts.map +0 -1
  347. package/dist/src/cloud/types.js +0 -7
  348. package/dist/src/cloud/types.js.map +0 -1
  349. package/dist/src/components/index.d.ts.map +0 -1
  350. package/dist/src/components/index.js +0 -17
  351. package/dist/src/components/index.js.map +0 -1
  352. package/dist/src/core/actors.d.ts +0 -95
  353. package/dist/src/core/actors.d.ts.map +0 -1
  354. package/dist/src/core/actors.js +0 -158
  355. package/dist/src/core/actors.js.map +0 -1
  356. package/dist/src/core/component/generator.d.ts.map +0 -1
  357. package/dist/src/core/component/generator.js +0 -349
  358. package/dist/src/core/component/generator.js.map +0 -1
  359. package/dist/src/core/engine.d.ts +0 -92
  360. package/dist/src/core/engine.d.ts.map +0 -1
  361. package/dist/src/core/engine.js +0 -199
  362. package/dist/src/core/engine.js.map +0 -1
  363. package/dist/src/core/introspection.d.ts +0 -141
  364. package/dist/src/core/introspection.d.ts.map +0 -1
  365. package/dist/src/core/introspection.js +0 -208
  366. package/dist/src/core/introspection.js.map +0 -1
  367. package/dist/src/core/logic/generator.d.ts +0 -76
  368. package/dist/src/core/logic/generator.d.ts.map +0 -1
  369. package/dist/src/core/logic/generator.js +0 -370
  370. package/dist/src/core/logic/generator.js.map +0 -1
  371. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  372. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  373. package/dist/src/core/pluresdb/adapter.js +0 -73
  374. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  375. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  376. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/generator.js +0 -191
  378. package/dist/src/core/pluresdb/generator.js.map +0 -1
  379. package/dist/src/core/pluresdb/index.d.ts +0 -15
  380. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/index.js +0 -11
  382. package/dist/src/core/pluresdb/index.js.map +0 -1
  383. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  384. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  386. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  387. package/dist/src/core/pluresdb/store.d.ts +0 -199
  388. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/store.js +0 -344
  390. package/dist/src/core/pluresdb/store.js.map +0 -1
  391. package/dist/src/core/protocol.d.ts.map +0 -1
  392. package/dist/src/core/protocol.js +0 -46
  393. package/dist/src/core/protocol.js.map +0 -1
  394. package/dist/src/core/rules.d.ts +0 -120
  395. package/dist/src/core/rules.d.ts.map +0 -1
  396. package/dist/src/core/rules.js +0 -81
  397. package/dist/src/core/rules.js.map +0 -1
  398. package/dist/src/core/schema/loader.d.ts +0 -47
  399. package/dist/src/core/schema/loader.d.ts.map +0 -1
  400. package/dist/src/core/schema/loader.js +0 -189
  401. package/dist/src/core/schema/loader.js.map +0 -1
  402. package/dist/src/core/schema/normalize.d.ts +0 -72
  403. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  404. package/dist/src/core/schema/normalize.js +0 -190
  405. package/dist/src/core/schema/normalize.js.map +0 -1
  406. package/dist/src/core/schema/types.d.ts.map +0 -1
  407. package/dist/src/core/schema/types.js +0 -161
  408. package/dist/src/core/schema/types.js.map +0 -1
  409. package/dist/src/dsl/index.d.ts +0 -152
  410. package/dist/src/dsl/index.d.ts.map +0 -1
  411. package/dist/src/dsl/index.js +0 -132
  412. package/dist/src/dsl/index.js.map +0 -1
  413. package/dist/src/dsl.d.ts +0 -124
  414. package/dist/src/dsl.d.ts.map +0 -1
  415. package/dist/src/dsl.js +0 -130
  416. package/dist/src/dsl.js.map +0 -1
  417. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  418. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  419. package/dist/src/examples/advanced-todo/index.js +0 -222
  420. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  421. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  422. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  423. package/dist/src/examples/auth-basic/index.js +0 -122
  424. package/dist/src/examples/auth-basic/index.js.map +0 -1
  425. package/dist/src/examples/cart/index.d.ts +0 -19
  426. package/dist/src/examples/cart/index.d.ts.map +0 -1
  427. package/dist/src/examples/cart/index.js +0 -202
  428. package/dist/src/examples/cart/index.js.map +0 -1
  429. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  430. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  431. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  432. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  433. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  434. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  435. package/dist/src/examples/svelte-counter/index.js +0 -123
  436. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  437. package/dist/src/flows.d.ts +0 -125
  438. package/dist/src/flows.d.ts.map +0 -1
  439. package/dist/src/flows.js +0 -160
  440. package/dist/src/flows.js.map +0 -1
  441. package/dist/src/index.d.ts +0 -77
  442. package/dist/src/index.d.ts.map +0 -1
  443. package/dist/src/index.js +0 -64
  444. package/dist/src/index.js.map +0 -1
  445. package/dist/src/integrations/code-canvas.d.ts +0 -265
  446. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  447. package/dist/src/integrations/code-canvas.js +0 -451
  448. package/dist/src/integrations/code-canvas.js.map +0 -1
  449. package/dist/src/integrations/pluresdb.d.ts +0 -117
  450. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  451. package/dist/src/integrations/pluresdb.js +0 -117
  452. package/dist/src/integrations/pluresdb.js.map +0 -1
  453. package/dist/src/integrations/state-docs.d.ts +0 -191
  454. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  455. package/dist/src/integrations/state-docs.js +0 -515
  456. package/dist/src/integrations/state-docs.js.map +0 -1
  457. package/dist/src/integrations/svelte.d.ts.map +0 -1
  458. package/dist/src/integrations/svelte.js +0 -447
  459. package/dist/src/integrations/svelte.js.map +0 -1
  460. package/dist/src/integrations/tauri.d.ts +0 -360
  461. package/dist/src/integrations/tauri.d.ts.map +0 -1
  462. package/dist/src/integrations/tauri.js +0 -278
  463. package/dist/src/integrations/tauri.js.map +0 -1
  464. package/dist/src/integrations/unum.d.ts +0 -159
  465. package/dist/src/integrations/unum.d.ts.map +0 -1
  466. package/dist/src/integrations/unum.js +0 -240
  467. package/dist/src/integrations/unum.js.map +0 -1
  468. package/dist/src/registry.d.ts +0 -94
  469. package/dist/src/registry.d.ts.map +0 -1
  470. package/dist/src/registry.js +0 -181
  471. package/dist/src/registry.js.map +0 -1
  472. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  473. package/dist/src/runtime/terminal-adapter.js +0 -239
  474. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  475. package/dist/src/step.d.ts +0 -34
  476. package/dist/src/step.d.ts.map +0 -1
  477. package/dist/src/step.js +0 -111
  478. package/dist/src/step.js.map +0 -1
  479. package/dist/src/types.d.ts +0 -63
  480. package/dist/src/types.d.ts.map +0 -1
  481. package/dist/src/types.js +0 -6
  482. package/dist/src/types.js.map +0 -1
  483. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  484. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  485. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  486. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  487. package/dist/tools/cli/commands/index.d.ts +0 -7
  488. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  489. package/dist/tools/cli/commands/index.js +0 -7
  490. package/dist/tools/cli/commands/index.js.map +0 -1
  491. package/dist/tools/cli/index.d.ts +0 -8
  492. package/dist/tools/cli/index.d.ts.map +0 -1
  493. package/dist/tools/cli/index.js +0 -9
  494. package/dist/tools/cli/index.js.map +0 -1
  495. package/dist/tools/watcher/index.d.ts +0 -105
  496. package/dist/tools/watcher/index.d.ts.map +0 -1
  497. package/dist/tools/watcher/index.js +0 -213
  498. package/dist/tools/watcher/index.js.map +0 -1
  499. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  500. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  501. package/dist/ui/canvas/canvas-projection.js +0 -416
  502. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  503. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  504. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-state.js +0 -464
  506. package/dist/ui/canvas/canvas-state.js.map +0 -1
  507. package/dist/ui/canvas/components/index.d.ts +0 -95
  508. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  509. package/dist/ui/canvas/components/index.js +0 -19
  510. package/dist/ui/canvas/components/index.js.map +0 -1
  511. package/dist/ui/canvas/index.d.ts +0 -32
  512. package/dist/ui/canvas/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/index.js +0 -32
  514. package/dist/ui/canvas/index.js.map +0 -1
  515. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  516. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  517. package/dist/ui/canvas-inspector/src/server.js +0 -248
  518. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  520. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  522. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  523. package/dist/ui/svelte-generator/index.d.ts +0 -9
  524. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  525. package/dist/ui/svelte-generator/index.js +0 -11
  526. package/dist/ui/svelte-generator/index.js.map +0 -1
  527. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  528. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  530. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -4,13 +4,13 @@ Praxis is designed to be extensible. This guide explains how to create plugins,
4
4
 
5
5
  ## Extension Types
6
6
 
7
- | Type | Description | Use Case |
8
- |------|-------------|----------|
9
- | **Plugins** | Extend engine behavior | Add middleware, effects, logging |
10
- | **Generators** | Custom code generation | Generate for other frameworks |
11
- | **Adapters** | External integrations | Connect to databases, APIs |
12
- | **Templates** | Custom project scaffolding | Organization-specific setups |
13
- | **Canvas Extensions** | Extend visual editor | Custom components, tools |
7
+ | Type | Description | Use Case |
8
+ | --------------------- | -------------------------- | -------------------------------- |
9
+ | **Plugins** | Extend engine behavior | Add middleware, effects, logging |
10
+ | **Generators** | Custom code generation | Generate for other frameworks |
11
+ | **Adapters** | External integrations | Connect to databases, APIs |
12
+ | **Templates** | Custom project scaffolding | Organization-specific setups |
13
+ | **Canvas Extensions** | Extend visual editor | Custom components, tools |
14
14
 
15
15
  ## Plugins
16
16
 
@@ -29,28 +29,28 @@ interface LoggerOptions {
29
29
  export function createLoggerPlugin(options: LoggerOptions): PraxisPlugin {
30
30
  return {
31
31
  name: 'logger',
32
-
32
+
33
33
  // Called when engine is created
34
34
  onInit(engine) {
35
35
  console.log(`${options.prefix || ''} Engine initialized`);
36
36
  },
37
-
37
+
38
38
  // Called before each step
39
39
  beforeStep(state, events) {
40
40
  if (options.level === 'debug') {
41
41
  console.log('Events:', events);
42
42
  }
43
- return { state, events }; // Can modify
43
+ return { state, events }; // Can modify
44
44
  },
45
-
45
+
46
46
  // Called after each step
47
47
  afterStep(result) {
48
48
  if (options.level === 'debug') {
49
49
  console.log('Facts:', result.state.facts);
50
50
  }
51
- return result; // Can modify
51
+ return result; // Can modify
52
52
  },
53
-
53
+
54
54
  // Called on error
55
55
  onError(error, state, events) {
56
56
  console.error(`${options.prefix || ''} Error:`, error);
@@ -81,26 +81,22 @@ const engine = createPraxisEngine({
81
81
  ```typescript
82
82
  interface PraxisPlugin<TContext = any> {
83
83
  name: string;
84
-
84
+
85
85
  // Lifecycle hooks
86
86
  onInit?(engine: PraxisEngine<TContext>): void;
87
87
  onDestroy?(): void;
88
-
88
+
89
89
  // Step hooks
90
90
  beforeStep?(
91
91
  state: PraxisState<TContext>,
92
92
  events: PraxisEvent[]
93
93
  ): { state: PraxisState<TContext>; events: PraxisEvent[] };
94
-
94
+
95
95
  afterStep?(result: StepResult<TContext>): StepResult<TContext>;
96
-
96
+
97
97
  // Error handling
98
- onError?(
99
- error: Error,
100
- state: PraxisState<TContext>,
101
- events: PraxisEvent[]
102
- ): void;
103
-
98
+ onError?(error: Error, state: PraxisState<TContext>, events: PraxisEvent[]): void;
99
+
104
100
  // Subscription
105
101
  onStateChange?(state: PraxisState<TContext>): void;
106
102
  }
@@ -123,10 +119,10 @@ interface ReactGeneratorOptions {
123
119
  export const reactGenerator: Generator<ReactGeneratorOptions> = {
124
120
  name: 'react',
125
121
  description: 'Generate React components from PSF schema',
126
-
122
+
127
123
  generate(schema: PSFSchema, options: ReactGeneratorOptions): GeneratorOutput[] {
128
124
  const outputs: GeneratorOutput[] = [];
129
-
125
+
130
126
  // Generate components
131
127
  for (const component of schema.components) {
132
128
  const code = generateReactComponent(component, options);
@@ -136,7 +132,7 @@ export const reactGenerator: Generator<ReactGeneratorOptions> = {
136
132
  type: 'component',
137
133
  });
138
134
  }
139
-
135
+
140
136
  // Generate types (TypeScript only)
141
137
  if (options.typescript) {
142
138
  const types = generateTypes(schema);
@@ -146,20 +142,20 @@ export const reactGenerator: Generator<ReactGeneratorOptions> = {
146
142
  type: 'types',
147
143
  });
148
144
  }
149
-
145
+
150
146
  return outputs;
151
147
  },
152
148
  };
153
149
 
154
150
  function generateReactComponent(component: ComponentDef, options: ReactGeneratorOptions): string {
155
151
  const { name, type, model, props } = component;
156
-
152
+
157
153
  return `
158
154
  import React from 'react';
159
155
  ${options.typescript ? `import type { ${model} } from '../types';` : ''}
160
156
 
161
157
  ${options.typescript ? `interface ${name}Props {` : ''}
162
- ${props?.map(p => ` ${p.name}${p.required ? '' : '?'}: ${p.type};`).join('\n')}
158
+ ${props?.map((p) => ` ${p.name}${p.required ? '' : '?'}: ${p.type};`).join('\n')}
163
159
  ${options.typescript ? '}' : ''}
164
160
 
165
161
  export function ${name}(${options.typescript ? `props: ${name}Props` : 'props'}) {
@@ -189,11 +185,11 @@ registerGenerator(reactGenerator);
189
185
 
190
186
  ```typescript
191
187
  interface GeneratorOutput {
192
- path: string; // Output file path
193
- content: string; // Generated code
194
- type: OutputType; // 'component' | 'types' | 'docs' | 'config'
195
- overwrite?: boolean; // Allow overwriting existing files
196
- format?: boolean; // Apply code formatting
188
+ path: string; // Output file path
189
+ content: string; // Generated code
190
+ type: OutputType; // 'component' | 'types' | 'docs' | 'config'
191
+ overwrite?: boolean; // Allow overwriting existing files
192
+ format?: boolean; // Apply code formatting
197
193
  }
198
194
  ```
199
195
 
@@ -211,24 +207,24 @@ interface PostgresOptions {
211
207
 
212
208
  export function createPostgresAdapter(options: PostgresOptions): DatabaseAdapter {
213
209
  let pool: Pool;
214
-
210
+
215
211
  return {
216
212
  name: 'postgres',
217
-
213
+
218
214
  async connect() {
219
215
  pool = new Pool({ connectionString: options.connectionString });
220
216
  await pool.connect();
221
217
  },
222
-
218
+
223
219
  async disconnect() {
224
220
  await pool.end();
225
221
  },
226
-
222
+
227
223
  async createCollection(name: string, schema: CollectionSchema) {
228
224
  const columns = schemaToColumns(schema);
229
225
  await pool.query(`CREATE TABLE IF NOT EXISTS ${name} (${columns})`);
230
226
  },
231
-
227
+
232
228
  async insert(collection: string, document: any) {
233
229
  const { columns, values, placeholders } = prepareInsert(document);
234
230
  const result = await pool.query(
@@ -237,16 +233,13 @@ export function createPostgresAdapter(options: PostgresOptions): DatabaseAdapter
237
233
  );
238
234
  return result.rows[0];
239
235
  },
240
-
236
+
241
237
  async find(collection: string, query: Query) {
242
238
  const { where, params } = queryToSQL(query);
243
- const result = await pool.query(
244
- `SELECT * FROM ${collection} ${where}`,
245
- params
246
- );
239
+ const result = await pool.query(`SELECT * FROM ${collection} ${where}`, params);
247
240
  return result.rows;
248
241
  },
249
-
242
+
250
243
  // ... other CRUD operations
251
244
  };
252
245
  }
@@ -284,6 +277,7 @@ templates/
284
277
  ```
285
278
 
286
279
  **template.json:**
280
+
287
281
  ```json
288
282
  {
289
283
  "name": "my-template",
@@ -300,14 +294,12 @@ templates/
300
294
  "prompt": "Author name"
301
295
  }
302
296
  ],
303
- "postInstall": [
304
- "npm install",
305
- "npx praxis generate --schema ./src/schema.psf.json"
306
- ]
297
+ "postInstall": ["npm install", "npx praxis generate --schema ./src/schema.psf.json"]
307
298
  }
308
299
  ```
309
300
 
310
301
  **package.json.template:**
302
+
311
303
  ```json
312
304
  {
313
305
  "name": "{{appName}}",
@@ -344,7 +336,7 @@ import type { CanvasExtension, CanvasContext } from '@plures/praxis/canvas';
344
336
 
345
337
  export const customPaletteExtension: CanvasExtension = {
346
338
  name: 'custom-palette',
347
-
339
+
348
340
  // Add items to the component palette
349
341
  palette: {
350
342
  category: 'Custom',
@@ -362,7 +354,7 @@ export const customPaletteExtension: CanvasExtension = {
362
354
  },
363
355
  ],
364
356
  },
365
-
357
+
366
358
  // Add toolbar buttons
367
359
  toolbar: [
368
360
  {
@@ -375,7 +367,7 @@ export const customPaletteExtension: CanvasExtension = {
375
367
  },
376
368
  },
377
369
  ],
378
-
370
+
379
371
  // Add context menu items
380
372
  contextMenu: [
381
373
  {
@@ -393,14 +385,15 @@ export const customPaletteExtension: CanvasExtension = {
393
385
  ### Registering Canvas Extensions
394
386
 
395
387
  **canvas.config.ts:**
388
+
396
389
  ```typescript
397
390
  import { customPaletteExtension } from './extensions/custom-palette';
398
391
 
399
392
  export const config: CanvasConfig = {
400
393
  extensions: [
401
394
  customPaletteExtension,
402
- '@plures/canvas-figma', // npm package
403
- './extensions/my-extension.ts', // local file
395
+ '@plures/canvas-figma', // npm package
396
+ './extensions/my-extension.ts', // local file
404
397
  ],
405
398
  };
406
399
  ```
@@ -421,6 +414,7 @@ my-praxis-extension/
421
414
  ```
422
415
 
423
416
  **package.json:**
417
+
424
418
  ```json
425
419
  {
426
420
  "name": "@myorg/praxis-extension-foo",
@@ -479,7 +473,7 @@ Handle errors gracefully:
479
473
  ```typescript
480
474
  export const myPlugin: PraxisPlugin = {
481
475
  name: 'my-plugin',
482
-
476
+
483
477
  beforeStep(state, events) {
484
478
  try {
485
479
  // Plugin logic
@@ -500,22 +494,25 @@ Include comprehensive README:
500
494
  # My Praxis Extension
501
495
 
502
496
  ## Installation
497
+
503
498
  \`\`\`bash
504
499
  npm install @myorg/praxis-extension-foo
505
500
  \`\`\`
506
501
 
507
502
  ## Usage
503
+
508
504
  \`\`\`typescript
509
505
  import { createFooPlugin } from '@myorg/praxis-extension-foo';
510
506
 
511
507
  const engine = createPraxisEngine({
512
- plugins: [createFooPlugin({ option: 'value' })],
508
+ plugins: [createFooPlugin({ option: 'value' })],
513
509
  });
514
510
  \`\`\`
515
511
 
516
512
  ## Options
517
- | Option | Type | Default | Description |
518
- |--------|------|---------|-------------|
513
+
514
+ | Option | Type | Default | Description |
515
+ | ------ | ------ | --------- | ----------- |
519
516
  | option | string | 'default' | Description |
520
517
  ```
521
518
 
@@ -534,15 +531,15 @@ describe('MyPlugin', () => {
534
531
  const plugin = createMyPlugin({
535
532
  onLog: (msg) => logs.push(msg),
536
533
  });
537
-
534
+
538
535
  const engine = createPraxisEngine({
539
536
  initialContext: {},
540
537
  registry: new PraxisRegistry(),
541
538
  plugins: [plugin],
542
539
  });
543
-
540
+
544
541
  engine.dispatch([{ tag: 'TEST', payload: {} }]);
545
-
542
+
546
543
  expect(logs).toContain('Step executed');
547
544
  });
548
545
  });
@@ -46,22 +46,22 @@ praxis create app my-app --directory ./projects
46
46
 
47
47
  **Options:**
48
48
 
49
- | Option | Description |
50
- |--------|-------------|
51
- | `--template` | Template to use: `basic`, `fullstack`, `minimal` |
52
- | `--directory` | Output directory |
53
- | `--no-git` | Skip git initialization |
54
- | `--no-install` | Skip npm install |
49
+ | Option | Description |
50
+ | -------------- | ------------------------------------------------ |
51
+ | `--template` | Template to use: `basic`, `fullstack`, `minimal` |
52
+ | `--directory` | Output directory |
53
+ | `--no-git` | Skip git initialization |
54
+ | `--no-install` | Skip npm install |
55
55
 
56
56
  **Available Templates:**
57
57
 
58
- | Template | Description |
59
- |----------|-------------|
60
- | `basic` | Simple app with logic engine and Svelte |
61
- | `fullstack` | Complete app with PluresDB, auth, and sync |
62
- | `minimal` | Bare minimum Praxis setup |
63
- | `component` | Reusable component library |
64
- | `orchestrator` | Distributed node orchestration |
58
+ | Template | Description |
59
+ | -------------- | ------------------------------------------ |
60
+ | `basic` | Simple app with logic engine and Svelte |
61
+ | `fullstack` | Complete app with PluresDB, auth, and sync |
62
+ | `minimal` | Bare minimum Praxis setup |
63
+ | `component` | Reusable component library |
64
+ | `orchestrator` | Distributed node orchestration |
65
65
 
66
66
  ### `praxis generate`
67
67
 
@@ -89,15 +89,15 @@ praxis generate --schema ./schema.psf.json --check
89
89
 
90
90
  **Options:**
91
91
 
92
- | Option | Description |
93
- |--------|-------------|
94
- | `--schema` | Path to PSF schema file |
95
- | `--output` | Output directory (default: `./generated`) |
96
- | `--only` | Comma-separated targets: `types`, `components`, `docs`, `rules`, `pluresdb` |
97
- | `--watch` | Watch for changes and regenerate |
98
- | `--force` | Overwrite existing files |
99
- | `--check` | Verify files are up-to-date (exit code 1 if not) |
100
- | `--format` | Output format: `typescript`, `javascript` |
92
+ | Option | Description |
93
+ | ---------- | --------------------------------------------------------------------------- |
94
+ | `--schema` | Path to PSF schema file |
95
+ | `--output` | Output directory (default: `./generated`) |
96
+ | `--only` | Comma-separated targets: `types`, `components`, `docs`, `rules`, `pluresdb` |
97
+ | `--watch` | Watch for changes and regenerate |
98
+ | `--force` | Overwrite existing files |
99
+ | `--check` | Verify files are up-to-date (exit code 1 if not) |
100
+ | `--format` | Output format: `typescript`, `javascript` |
101
101
 
102
102
  ### `praxis canvas`
103
103
 
@@ -122,14 +122,14 @@ praxis canvas ./schema.psf.json --mode view
122
122
 
123
123
  **Options:**
124
124
 
125
- | Option | Description |
126
- |--------|-------------|
127
- | `--port` | Server port (default: 3000) |
128
- | `--host` | Server host (default: localhost) |
129
- | `--config` | Path to canvas config file |
130
- | `--mode` | Mode: `edit`, `view`, `present` |
131
- | `--new` | Create new schema |
132
- | `--watch` | Enable file watching |
125
+ | Option | Description |
126
+ | ---------- | -------------------------------- |
127
+ | `--port` | Server port (default: 3000) |
128
+ | `--host` | Server host (default: localhost) |
129
+ | `--config` | Path to canvas config file |
130
+ | `--mode` | Mode: `edit`, `view`, `present` |
131
+ | `--new` | Create new schema |
132
+ | `--watch` | Enable file watching |
133
133
 
134
134
  ### `praxis dev`
135
135
 
@@ -148,12 +148,12 @@ praxis dev --open
148
148
 
149
149
  **Options:**
150
150
 
151
- | Option | Description |
152
- |--------|-------------|
153
- | `--port` | Server port (default: 5173) |
154
- | `--host` | Server host (default: localhost) |
155
- | `--open` | Open browser automatically |
156
- | `--config` | Path to vite config |
151
+ | Option | Description |
152
+ | ---------- | -------------------------------- |
153
+ | `--port` | Server port (default: 5173) |
154
+ | `--host` | Server host (default: localhost) |
155
+ | `--open` | Open browser automatically |
156
+ | `--config` | Path to vite config |
157
157
 
158
158
  ### `praxis build`
159
159
 
@@ -172,10 +172,10 @@ praxis build --target node
172
172
 
173
173
  **Options:**
174
174
 
175
- | Option | Description |
176
- |--------|-------------|
177
- | `--output` | Output directory |
178
- | `--target` | Build target: `browser`, `node`, `tauri` |
175
+ | Option | Description |
176
+ | ---------- | -------------------------------------------- |
177
+ | `--output` | Output directory |
178
+ | `--target` | Build target: `browser`, `node`, `tauri` |
179
179
  | `--minify` | Minify output (default: true for production) |
180
180
 
181
181
  ### `praxis validate`
@@ -195,11 +195,11 @@ praxis validate --schema ./schema.psf.json --strict
195
195
 
196
196
  **Options:**
197
197
 
198
- | Option | Description |
199
- |--------|-------------|
200
- | `--schema` | Path to PSF schema file |
198
+ | Option | Description |
199
+ | ----------- | ----------------------------- |
200
+ | `--schema` | Path to PSF schema file |
201
201
  | `--verbose` | Show detailed validation info |
202
- | `--strict` | Treat warnings as errors |
202
+ | `--strict` | Treat warnings as errors |
203
203
 
204
204
  ### `praxis docs`
205
205
 
@@ -221,13 +221,13 @@ praxis docs --schema ./schema.psf.json --watch
221
221
 
222
222
  **Options:**
223
223
 
224
- | Option | Description |
225
- |--------|-------------|
226
- | `--schema` | Path to PSF schema file |
224
+ | Option | Description |
225
+ | ---------- | ------------------------------------ |
226
+ | `--schema` | Path to PSF schema file |
227
227
  | `--output` | Output directory (default: `./docs`) |
228
- | `--format` | Output format: `markdown`, `html` |
229
- | `--serve` | Serve docs on local server |
230
- | `--watch` | Watch for changes |
228
+ | `--format` | Output format: `markdown`, `html` |
229
+ | `--serve` | Serve docs on local server |
230
+ | `--watch` | Watch for changes |
231
231
 
232
232
  ### Cloud Commands
233
233
 
@@ -304,7 +304,7 @@ export default {
304
304
  path: './src/schema.psf.json',
305
305
  validate: true,
306
306
  },
307
-
307
+
308
308
  // Generation settings
309
309
  generate: {
310
310
  output: './src/generated',
@@ -312,19 +312,19 @@ export default {
312
312
  format: 'typescript',
313
313
  formatting: 'prettier',
314
314
  },
315
-
315
+
316
316
  // Development settings
317
317
  dev: {
318
318
  port: 5173,
319
319
  open: true,
320
320
  },
321
-
321
+
322
322
  // Canvas settings
323
323
  canvas: {
324
324
  port: 3000,
325
325
  sync: true,
326
326
  },
327
-
327
+
328
328
  // Cloud settings
329
329
  cloud: {
330
330
  enabled: true,
@@ -411,18 +411,18 @@ jobs:
411
411
  - uses: actions/setup-node@v3
412
412
  with:
413
413
  node-version: 18
414
-
414
+
415
415
  - run: npm install
416
-
416
+
417
417
  # Validate schema
418
418
  - run: npx praxis validate --schema ./src/schema.psf.json --strict
419
-
419
+
420
420
  # Check generated files are current
421
421
  - run: npx praxis generate --schema ./src/schema.psf.json --check
422
-
422
+
423
423
  # Build
424
424
  - run: npx praxis build
425
-
425
+
426
426
  # Test
427
427
  - run: npm test
428
428
  ```