@plures/praxis 0.2.1 → 1.0.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 (486) hide show
  1. package/README.md +188 -61
  2. package/core/codegen/docs-generator.ts +808 -0
  3. package/core/codegen/index.ts +27 -0
  4. package/core/codegen/ts-generator.ts +15 -0
  5. package/core/db-adapter/index.ts +52 -0
  6. package/core/db-adapter/sync-engine.ts +450 -0
  7. package/core/logic-engine/engine.ts +12 -0
  8. package/core/logic-engine/index.ts +16 -0
  9. package/core/logic-engine/protocol.ts +16 -0
  10. package/core/logic-engine/psf-adapter.ts +269 -0
  11. package/core/logic-engine/rules.ts +16 -0
  12. package/core/schema-engine/compiler.ts +431 -0
  13. package/core/schema-engine/generator.ts +635 -0
  14. package/core/schema-engine/index.ts +18 -0
  15. package/core/schema-engine/psf.ts +664 -0
  16. package/core/schema-engine/types.ts +63 -0
  17. package/core/schema-engine/validator.ts +541 -0
  18. package/dist/core/codegen/docs-generator.d.ts +123 -0
  19. package/dist/core/codegen/docs-generator.d.ts.map +1 -0
  20. package/dist/core/codegen/docs-generator.js +674 -0
  21. package/dist/core/codegen/docs-generator.js.map +1 -0
  22. package/dist/core/codegen/index.d.ts +11 -0
  23. package/dist/core/codegen/index.d.ts.map +1 -0
  24. package/dist/core/codegen/index.js +13 -0
  25. package/dist/core/codegen/index.js.map +1 -0
  26. package/dist/core/codegen/ts-generator.d.ts +8 -0
  27. package/dist/core/codegen/ts-generator.d.ts.map +1 -0
  28. package/dist/core/codegen/ts-generator.js +8 -0
  29. package/dist/core/codegen/ts-generator.js.map +1 -0
  30. package/dist/core/db-adapter/index.d.ts +18 -0
  31. package/dist/core/db-adapter/index.d.ts.map +1 -0
  32. package/dist/core/db-adapter/index.js +23 -0
  33. package/dist/core/db-adapter/index.js.map +1 -0
  34. package/dist/core/db-adapter/sync-engine.d.ts +180 -0
  35. package/dist/core/db-adapter/sync-engine.d.ts.map +1 -0
  36. package/dist/core/db-adapter/sync-engine.js +342 -0
  37. package/dist/core/db-adapter/sync-engine.js.map +1 -0
  38. package/dist/core/logic-engine/engine.d.ts +8 -0
  39. package/dist/core/logic-engine/engine.d.ts.map +1 -0
  40. package/dist/core/logic-engine/engine.js +8 -0
  41. package/dist/core/logic-engine/engine.js.map +1 -0
  42. package/dist/core/logic-engine/index.d.ts +16 -0
  43. package/dist/core/logic-engine/index.d.ts.map +1 -0
  44. package/dist/core/logic-engine/index.js +16 -0
  45. package/dist/core/logic-engine/index.js.map +1 -0
  46. package/dist/core/logic-engine/protocol.d.ts +7 -0
  47. package/dist/core/logic-engine/protocol.d.ts.map +1 -0
  48. package/dist/core/logic-engine/protocol.js +7 -0
  49. package/dist/core/logic-engine/protocol.js.map +1 -0
  50. package/dist/core/logic-engine/psf-adapter.d.ts +88 -0
  51. package/dist/core/logic-engine/psf-adapter.d.ts.map +1 -0
  52. package/dist/core/logic-engine/psf-adapter.js +207 -0
  53. package/dist/core/logic-engine/psf-adapter.js.map +1 -0
  54. package/dist/core/logic-engine/rules.d.ts +7 -0
  55. package/dist/core/logic-engine/rules.d.ts.map +1 -0
  56. package/dist/core/logic-engine/rules.js +7 -0
  57. package/dist/core/logic-engine/rules.js.map +1 -0
  58. package/dist/core/schema-engine/compiler.d.ts +198 -0
  59. package/dist/core/schema-engine/compiler.d.ts.map +1 -0
  60. package/dist/core/schema-engine/compiler.js +262 -0
  61. package/dist/core/schema-engine/compiler.js.map +1 -0
  62. package/dist/core/schema-engine/generator.d.ts +115 -0
  63. package/dist/core/schema-engine/generator.d.ts.map +1 -0
  64. package/dist/core/schema-engine/generator.js +506 -0
  65. package/dist/core/schema-engine/generator.js.map +1 -0
  66. package/dist/core/schema-engine/index.d.ts +18 -0
  67. package/dist/core/schema-engine/index.d.ts.map +1 -0
  68. package/dist/core/schema-engine/index.js +18 -0
  69. package/dist/core/schema-engine/index.js.map +1 -0
  70. package/dist/core/schema-engine/psf.d.ts +612 -0
  71. package/dist/core/schema-engine/psf.d.ts.map +1 -0
  72. package/dist/core/schema-engine/psf.js +45 -0
  73. package/dist/core/schema-engine/psf.js.map +1 -0
  74. package/dist/core/schema-engine/types.d.ts +10 -0
  75. package/dist/core/schema-engine/types.d.ts.map +1 -0
  76. package/dist/core/schema-engine/types.js +7 -0
  77. package/dist/core/schema-engine/types.js.map +1 -0
  78. package/dist/core/schema-engine/validator.d.ts +140 -0
  79. package/dist/core/schema-engine/validator.d.ts.map +1 -0
  80. package/dist/core/schema-engine/validator.js +407 -0
  81. package/dist/core/schema-engine/validator.js.map +1 -0
  82. package/dist/src/adapters/cli.d.ts.map +1 -0
  83. package/dist/src/adapters/cli.js.map +1 -0
  84. package/dist/src/cli/commands/auth.d.ts.map +1 -0
  85. package/dist/src/cli/commands/auth.js.map +1 -0
  86. package/dist/src/cli/commands/build.d.ts +23 -0
  87. package/dist/src/cli/commands/build.d.ts.map +1 -0
  88. package/dist/src/cli/commands/build.js +162 -0
  89. package/dist/src/cli/commands/build.js.map +1 -0
  90. package/dist/src/cli/commands/canvas.d.ts +23 -0
  91. package/dist/src/cli/commands/canvas.d.ts.map +1 -0
  92. package/dist/src/cli/commands/canvas.js +215 -0
  93. package/dist/src/cli/commands/canvas.js.map +1 -0
  94. package/dist/src/cli/commands/cloud.d.ts.map +1 -0
  95. package/dist/src/cli/commands/cloud.js.map +1 -0
  96. package/dist/src/cli/commands/create.d.ts +21 -0
  97. package/dist/src/cli/commands/create.d.ts.map +1 -0
  98. package/dist/src/cli/commands/create.js +621 -0
  99. package/dist/src/cli/commands/create.js.map +1 -0
  100. package/dist/src/cli/commands/dev.d.ts +21 -0
  101. package/dist/src/cli/commands/dev.d.ts.map +1 -0
  102. package/dist/src/cli/commands/dev.js +71 -0
  103. package/dist/src/cli/commands/dev.js.map +1 -0
  104. package/dist/src/cli/commands/generate.d.ts.map +1 -0
  105. package/dist/src/cli/commands/generate.js.map +1 -0
  106. package/dist/src/cli/commands/orchestrate.d.ts +44 -0
  107. package/dist/src/cli/commands/orchestrate.d.ts.map +1 -0
  108. package/dist/src/cli/commands/orchestrate.js +150 -0
  109. package/dist/src/cli/commands/orchestrate.js.map +1 -0
  110. package/dist/{cli → src/cli}/index.d.ts.map +1 -1
  111. package/dist/{cli → src/cli}/index.js +53 -21
  112. package/dist/src/cli/index.js.map +1 -0
  113. package/dist/src/cloud/auth.d.ts.map +1 -0
  114. package/dist/src/cloud/auth.js.map +1 -0
  115. package/dist/src/cloud/billing.d.ts.map +1 -0
  116. package/dist/src/cloud/billing.js.map +1 -0
  117. package/dist/src/cloud/client.d.ts.map +1 -0
  118. package/dist/src/cloud/client.js.map +1 -0
  119. package/dist/src/cloud/index.d.ts.map +1 -0
  120. package/dist/src/cloud/index.js.map +1 -0
  121. package/dist/src/cloud/marketplace.d.ts.map +1 -0
  122. package/dist/src/cloud/marketplace.js.map +1 -0
  123. package/dist/src/cloud/provisioning.d.ts.map +1 -0
  124. package/dist/src/cloud/provisioning.js.map +1 -0
  125. package/dist/src/cloud/relay/endpoints.d.ts.map +1 -0
  126. package/dist/src/cloud/relay/endpoints.js.map +1 -0
  127. package/dist/src/cloud/relay/health/index.d.ts.map +1 -0
  128. package/dist/src/cloud/relay/health/index.js.map +1 -0
  129. package/dist/src/cloud/relay/stats/index.d.ts.map +1 -0
  130. package/dist/src/cloud/relay/stats/index.js.map +1 -0
  131. package/dist/src/cloud/relay/sync/index.d.ts.map +1 -0
  132. package/dist/src/cloud/relay/sync/index.js.map +1 -0
  133. package/dist/src/cloud/relay/usage/index.d.ts.map +1 -0
  134. package/dist/src/cloud/relay/usage/index.js.map +1 -0
  135. package/dist/src/cloud/sponsors.d.ts.map +1 -0
  136. package/dist/src/cloud/sponsors.js.map +1 -0
  137. package/dist/src/cloud/types.d.ts.map +1 -0
  138. package/dist/src/cloud/types.js.map +1 -0
  139. package/dist/src/components/index.d.ts.map +1 -0
  140. package/dist/src/components/index.js.map +1 -0
  141. package/dist/src/core/actors.d.ts.map +1 -0
  142. package/dist/src/core/actors.js.map +1 -0
  143. package/dist/src/core/component/generator.d.ts.map +1 -0
  144. package/dist/{core → src/core}/component/generator.js +45 -3
  145. package/dist/src/core/component/generator.js.map +1 -0
  146. package/dist/src/core/engine.d.ts.map +1 -0
  147. package/dist/src/core/engine.js.map +1 -0
  148. package/dist/src/core/introspection.d.ts.map +1 -0
  149. package/dist/src/core/introspection.js.map +1 -0
  150. package/dist/src/core/logic/generator.d.ts.map +1 -0
  151. package/dist/{core → src/core}/logic/generator.js +35 -4
  152. package/dist/src/core/logic/generator.js.map +1 -0
  153. package/dist/src/core/pluresdb/adapter.d.ts +72 -0
  154. package/dist/src/core/pluresdb/adapter.d.ts.map +1 -0
  155. package/dist/src/core/pluresdb/adapter.js +73 -0
  156. package/dist/src/core/pluresdb/adapter.js.map +1 -0
  157. package/dist/src/core/pluresdb/generator.d.ts.map +1 -0
  158. package/dist/{core → src/core}/pluresdb/generator.js +33 -4
  159. package/dist/src/core/pluresdb/generator.js.map +1 -0
  160. package/dist/src/core/pluresdb/index.d.ts +15 -0
  161. package/dist/src/core/pluresdb/index.d.ts.map +1 -0
  162. package/dist/src/core/pluresdb/index.js +11 -0
  163. package/dist/src/core/pluresdb/index.js.map +1 -0
  164. package/dist/src/core/pluresdb/schema-registry.d.ts +104 -0
  165. package/dist/src/core/pluresdb/schema-registry.d.ts.map +1 -0
  166. package/dist/src/core/pluresdb/schema-registry.js +130 -0
  167. package/dist/src/core/pluresdb/schema-registry.js.map +1 -0
  168. package/dist/src/core/pluresdb/store.d.ts +199 -0
  169. package/dist/src/core/pluresdb/store.d.ts.map +1 -0
  170. package/dist/src/core/pluresdb/store.js +344 -0
  171. package/dist/src/core/pluresdb/store.js.map +1 -0
  172. package/dist/src/core/protocol.d.ts.map +1 -0
  173. package/dist/src/core/protocol.js.map +1 -0
  174. package/dist/src/core/rules.d.ts.map +1 -0
  175. package/dist/src/core/rules.js.map +1 -0
  176. package/dist/src/core/schema/loader.d.ts.map +1 -0
  177. package/dist/src/core/schema/loader.js.map +1 -0
  178. package/dist/src/core/schema/normalize.d.ts.map +1 -0
  179. package/dist/src/core/schema/normalize.js.map +1 -0
  180. package/dist/src/core/schema/types.d.ts.map +1 -0
  181. package/dist/src/core/schema/types.js.map +1 -0
  182. package/dist/src/dsl/index.d.ts.map +1 -0
  183. package/dist/src/dsl/index.js.map +1 -0
  184. package/dist/src/dsl.d.ts.map +1 -0
  185. package/dist/src/dsl.js.map +1 -0
  186. package/dist/src/examples/advanced-todo/index.d.ts.map +1 -0
  187. package/dist/src/examples/advanced-todo/index.js.map +1 -0
  188. package/dist/src/examples/auth-basic/index.d.ts.map +1 -0
  189. package/dist/src/examples/auth-basic/index.js.map +1 -0
  190. package/dist/src/examples/cart/index.d.ts.map +1 -0
  191. package/dist/src/examples/cart/index.js.map +1 -0
  192. package/dist/src/examples/hero-ecommerce/index.d.ts.map +1 -0
  193. package/dist/src/examples/hero-ecommerce/index.js.map +1 -0
  194. package/dist/src/examples/svelte-counter/index.d.ts.map +1 -0
  195. package/dist/src/examples/svelte-counter/index.js.map +1 -0
  196. package/dist/src/flows.d.ts.map +1 -0
  197. package/dist/src/flows.js.map +1 -0
  198. package/dist/{index.d.ts → src/index.d.ts} +12 -2
  199. package/dist/src/index.d.ts.map +1 -0
  200. package/dist/{index.js → src/index.js} +6 -1
  201. package/dist/src/index.js.map +1 -0
  202. package/dist/src/integrations/code-canvas.d.ts +265 -0
  203. package/dist/src/integrations/code-canvas.d.ts.map +1 -0
  204. package/dist/src/integrations/code-canvas.js +451 -0
  205. package/dist/src/integrations/code-canvas.js.map +1 -0
  206. package/dist/src/integrations/pluresdb.d.ts +117 -0
  207. package/dist/src/integrations/pluresdb.d.ts.map +1 -0
  208. package/dist/src/integrations/pluresdb.js +117 -0
  209. package/dist/src/integrations/pluresdb.js.map +1 -0
  210. package/dist/src/integrations/state-docs.d.ts +191 -0
  211. package/dist/src/integrations/state-docs.d.ts.map +1 -0
  212. package/dist/src/integrations/state-docs.js +515 -0
  213. package/dist/src/integrations/state-docs.js.map +1 -0
  214. package/dist/src/integrations/svelte.d.ts.map +1 -0
  215. package/dist/src/integrations/svelte.js.map +1 -0
  216. package/dist/src/integrations/tauri.d.ts +360 -0
  217. package/dist/src/integrations/tauri.d.ts.map +1 -0
  218. package/dist/src/integrations/tauri.js +278 -0
  219. package/dist/src/integrations/tauri.js.map +1 -0
  220. package/dist/src/integrations/unum.d.ts +159 -0
  221. package/dist/src/integrations/unum.d.ts.map +1 -0
  222. package/dist/src/integrations/unum.js +240 -0
  223. package/dist/src/integrations/unum.js.map +1 -0
  224. package/dist/src/registry.d.ts.map +1 -0
  225. package/dist/src/registry.js.map +1 -0
  226. package/dist/{runtime → src/runtime}/terminal-adapter.d.ts +58 -7
  227. package/dist/src/runtime/terminal-adapter.d.ts.map +1 -0
  228. package/dist/src/runtime/terminal-adapter.js +237 -0
  229. package/dist/src/runtime/terminal-adapter.js.map +1 -0
  230. package/dist/src/step.d.ts.map +1 -0
  231. package/dist/src/step.js.map +1 -0
  232. package/dist/src/types.d.ts.map +1 -0
  233. package/dist/{cloud → src}/types.js.map +1 -1
  234. package/dist/tools/cli/commands/index.d.ts +7 -0
  235. package/dist/tools/cli/commands/index.d.ts.map +1 -0
  236. package/dist/tools/cli/commands/index.js +7 -0
  237. package/dist/tools/cli/commands/index.js.map +1 -0
  238. package/dist/tools/cli/index.d.ts +8 -0
  239. package/dist/tools/cli/index.d.ts.map +1 -0
  240. package/dist/tools/cli/index.js +9 -0
  241. package/dist/tools/cli/index.js.map +1 -0
  242. package/dist/tools/watcher/index.d.ts +105 -0
  243. package/dist/tools/watcher/index.d.ts.map +1 -0
  244. package/dist/tools/watcher/index.js +213 -0
  245. package/dist/tools/watcher/index.js.map +1 -0
  246. package/dist/ui/canvas/canvas-projection.d.ts +78 -0
  247. package/dist/ui/canvas/canvas-projection.d.ts.map +1 -0
  248. package/dist/ui/canvas/canvas-projection.js +416 -0
  249. package/dist/ui/canvas/canvas-projection.js.map +1 -0
  250. package/dist/ui/canvas/canvas-state.d.ts +200 -0
  251. package/dist/ui/canvas/canvas-state.d.ts.map +1 -0
  252. package/dist/ui/canvas/canvas-state.js +464 -0
  253. package/dist/ui/canvas/canvas-state.js.map +1 -0
  254. package/dist/ui/canvas/components/index.d.ts +95 -0
  255. package/dist/ui/canvas/components/index.d.ts.map +1 -0
  256. package/dist/ui/canvas/components/index.js +19 -0
  257. package/dist/ui/canvas/components/index.js.map +1 -0
  258. package/dist/ui/canvas/index.d.ts +32 -0
  259. package/dist/ui/canvas/index.d.ts.map +1 -0
  260. package/dist/ui/canvas/index.js +32 -0
  261. package/dist/ui/canvas/index.js.map +1 -0
  262. package/dist/ui/svelte-generator/index.d.ts +9 -0
  263. package/dist/ui/svelte-generator/index.d.ts.map +1 -0
  264. package/dist/ui/svelte-generator/index.js +11 -0
  265. package/dist/ui/svelte-generator/index.js.map +1 -0
  266. package/dist/ui/svelte-generator/psf-generator.d.ts +128 -0
  267. package/dist/ui/svelte-generator/psf-generator.d.ts.map +1 -0
  268. package/dist/ui/svelte-generator/psf-generator.js +506 -0
  269. package/dist/ui/svelte-generator/psf-generator.js.map +1 -0
  270. package/docs/README.md +155 -0
  271. package/docs/core/building-extensions.md +553 -0
  272. package/docs/core/cli-usage.md +498 -0
  273. package/docs/core/code-canvas-sync.md +468 -0
  274. package/docs/core/logic-engine.md +566 -0
  275. package/docs/core/pluresdb-integration.md +646 -0
  276. package/docs/core/schema-model.md +414 -0
  277. package/docs/core/ui-generation.md +580 -0
  278. package/docs/core/what-is-praxis.md +240 -0
  279. package/docs/tutorials/README.md +84 -0
  280. package/docs/tutorials/ecommerce-cart.md +631 -0
  281. package/docs/tutorials/first-app.md +529 -0
  282. package/docs/tutorials/form-builder.md +620 -0
  283. package/docs/tutorials/todo-pluresdb.md +589 -0
  284. package/package.json +1 -1
  285. package/src/__tests__/canvas-components.test.ts +450 -0
  286. package/src/__tests__/cli-create.test.ts +178 -0
  287. package/src/__tests__/code-canvas-integration.test.ts +277 -0
  288. package/src/__tests__/docs-generator.test.ts +181 -0
  289. package/src/__tests__/generators.test.ts +3 -2
  290. package/src/__tests__/pluresdb.test.ts +457 -0
  291. package/src/__tests__/psf-schema-engine.test.ts +450 -0
  292. package/src/__tests__/state-docs-integration.test.ts +297 -0
  293. package/src/__tests__/tauri-integration.test.ts +298 -0
  294. package/src/__tests__/terminal-node.test.ts +1 -1
  295. package/src/__tests__/unum-integration.test.ts +142 -0
  296. package/src/cli/commands/build.ts +203 -0
  297. package/src/cli/commands/canvas.ts +246 -0
  298. package/src/cli/commands/create.ts +666 -0
  299. package/src/cli/commands/dev.ts +95 -0
  300. package/src/cli/commands/orchestrate.ts +212 -0
  301. package/src/cli/index.ts +48 -21
  302. package/src/core/component/generator.ts +45 -3
  303. package/src/core/logic/generator.ts +39 -4
  304. package/src/core/pluresdb/adapter.ts +117 -0
  305. package/src/core/pluresdb/generator.ts +33 -4
  306. package/src/core/pluresdb/index.ts +37 -0
  307. package/src/core/pluresdb/schema-registry.ts +162 -0
  308. package/src/core/pluresdb/store.ts +443 -0
  309. package/src/index.ts +109 -0
  310. package/src/integrations/code-canvas.ts +717 -0
  311. package/src/integrations/pluresdb.ts +140 -29
  312. package/src/integrations/state-docs.ts +710 -0
  313. package/src/integrations/tauri.ts +638 -0
  314. package/src/integrations/unum.ts +395 -0
  315. package/src/runtime/terminal-adapter.ts +178 -23
  316. package/dist/adapters/cli.d.ts.map +0 -1
  317. package/dist/adapters/cli.js.map +0 -1
  318. package/dist/cli/commands/auth.d.ts.map +0 -1
  319. package/dist/cli/commands/auth.js.map +0 -1
  320. package/dist/cli/commands/cloud.d.ts.map +0 -1
  321. package/dist/cli/commands/cloud.js.map +0 -1
  322. package/dist/cli/commands/generate.d.ts.map +0 -1
  323. package/dist/cli/commands/generate.js.map +0 -1
  324. package/dist/cli/index.js.map +0 -1
  325. package/dist/cloud/auth.d.ts.map +0 -1
  326. package/dist/cloud/auth.js.map +0 -1
  327. package/dist/cloud/billing.d.ts.map +0 -1
  328. package/dist/cloud/billing.js.map +0 -1
  329. package/dist/cloud/client.d.ts.map +0 -1
  330. package/dist/cloud/client.js.map +0 -1
  331. package/dist/cloud/index.d.ts.map +0 -1
  332. package/dist/cloud/index.js.map +0 -1
  333. package/dist/cloud/marketplace.d.ts.map +0 -1
  334. package/dist/cloud/marketplace.js.map +0 -1
  335. package/dist/cloud/provisioning.d.ts.map +0 -1
  336. package/dist/cloud/provisioning.js.map +0 -1
  337. package/dist/cloud/relay/endpoints.d.ts.map +0 -1
  338. package/dist/cloud/relay/endpoints.js.map +0 -1
  339. package/dist/cloud/relay/health/index.d.ts.map +0 -1
  340. package/dist/cloud/relay/health/index.js.map +0 -1
  341. package/dist/cloud/relay/stats/index.d.ts.map +0 -1
  342. package/dist/cloud/relay/stats/index.js.map +0 -1
  343. package/dist/cloud/relay/sync/index.d.ts.map +0 -1
  344. package/dist/cloud/relay/sync/index.js.map +0 -1
  345. package/dist/cloud/relay/usage/index.d.ts.map +0 -1
  346. package/dist/cloud/relay/usage/index.js.map +0 -1
  347. package/dist/cloud/sponsors.d.ts.map +0 -1
  348. package/dist/cloud/sponsors.js.map +0 -1
  349. package/dist/cloud/types.d.ts.map +0 -1
  350. package/dist/components/index.d.ts.map +0 -1
  351. package/dist/components/index.js.map +0 -1
  352. package/dist/core/actors.d.ts.map +0 -1
  353. package/dist/core/actors.js.map +0 -1
  354. package/dist/core/component/generator.d.ts.map +0 -1
  355. package/dist/core/component/generator.js.map +0 -1
  356. package/dist/core/engine.d.ts.map +0 -1
  357. package/dist/core/engine.js.map +0 -1
  358. package/dist/core/introspection.d.ts.map +0 -1
  359. package/dist/core/introspection.js.map +0 -1
  360. package/dist/core/logic/generator.d.ts.map +0 -1
  361. package/dist/core/logic/generator.js.map +0 -1
  362. package/dist/core/pluresdb/generator.d.ts.map +0 -1
  363. package/dist/core/pluresdb/generator.js.map +0 -1
  364. package/dist/core/protocol.d.ts.map +0 -1
  365. package/dist/core/protocol.js.map +0 -1
  366. package/dist/core/rules.d.ts.map +0 -1
  367. package/dist/core/rules.js.map +0 -1
  368. package/dist/core/schema/loader.d.ts.map +0 -1
  369. package/dist/core/schema/loader.js.map +0 -1
  370. package/dist/core/schema/normalize.d.ts.map +0 -1
  371. package/dist/core/schema/normalize.js.map +0 -1
  372. package/dist/core/schema/types.d.ts.map +0 -1
  373. package/dist/core/schema/types.js.map +0 -1
  374. package/dist/dsl/index.d.ts.map +0 -1
  375. package/dist/dsl/index.js.map +0 -1
  376. package/dist/dsl.d.ts.map +0 -1
  377. package/dist/dsl.js.map +0 -1
  378. package/dist/examples/advanced-todo/index.d.ts.map +0 -1
  379. package/dist/examples/advanced-todo/index.js.map +0 -1
  380. package/dist/examples/auth-basic/index.d.ts.map +0 -1
  381. package/dist/examples/auth-basic/index.js.map +0 -1
  382. package/dist/examples/cart/index.d.ts.map +0 -1
  383. package/dist/examples/cart/index.js.map +0 -1
  384. package/dist/examples/hero-ecommerce/index.d.ts.map +0 -1
  385. package/dist/examples/hero-ecommerce/index.js.map +0 -1
  386. package/dist/examples/svelte-counter/index.d.ts.map +0 -1
  387. package/dist/examples/svelte-counter/index.js.map +0 -1
  388. package/dist/flows.d.ts.map +0 -1
  389. package/dist/flows.js.map +0 -1
  390. package/dist/index.d.ts.map +0 -1
  391. package/dist/index.js.map +0 -1
  392. package/dist/integrations/pluresdb.d.ts +0 -56
  393. package/dist/integrations/pluresdb.d.ts.map +0 -1
  394. package/dist/integrations/pluresdb.js +0 -46
  395. package/dist/integrations/pluresdb.js.map +0 -1
  396. package/dist/integrations/svelte.d.ts.map +0 -1
  397. package/dist/integrations/svelte.js.map +0 -1
  398. package/dist/registry.d.ts.map +0 -1
  399. package/dist/registry.js.map +0 -1
  400. package/dist/runtime/terminal-adapter.d.ts.map +0 -1
  401. package/dist/runtime/terminal-adapter.js +0 -113
  402. package/dist/runtime/terminal-adapter.js.map +0 -1
  403. package/dist/step.d.ts.map +0 -1
  404. package/dist/step.js.map +0 -1
  405. package/dist/types.d.ts.map +0 -1
  406. package/dist/types.js.map +0 -1
  407. /package/dist/{adapters → src/adapters}/cli.d.ts +0 -0
  408. /package/dist/{adapters → src/adapters}/cli.js +0 -0
  409. /package/dist/{cli → src/cli}/commands/auth.d.ts +0 -0
  410. /package/dist/{cli → src/cli}/commands/auth.js +0 -0
  411. /package/dist/{cli → src/cli}/commands/cloud.d.ts +0 -0
  412. /package/dist/{cli → src/cli}/commands/cloud.js +0 -0
  413. /package/dist/{cli → src/cli}/commands/generate.d.ts +0 -0
  414. /package/dist/{cli → src/cli}/commands/generate.js +0 -0
  415. /package/dist/{cli → src/cli}/index.d.ts +0 -0
  416. /package/dist/{cloud → src/cloud}/auth.d.ts +0 -0
  417. /package/dist/{cloud → src/cloud}/auth.js +0 -0
  418. /package/dist/{cloud → src/cloud}/billing.d.ts +0 -0
  419. /package/dist/{cloud → src/cloud}/billing.js +0 -0
  420. /package/dist/{cloud → src/cloud}/client.d.ts +0 -0
  421. /package/dist/{cloud → src/cloud}/client.js +0 -0
  422. /package/dist/{cloud → src/cloud}/index.d.ts +0 -0
  423. /package/dist/{cloud → src/cloud}/index.js +0 -0
  424. /package/dist/{cloud → src/cloud}/marketplace.d.ts +0 -0
  425. /package/dist/{cloud → src/cloud}/marketplace.js +0 -0
  426. /package/dist/{cloud → src/cloud}/provisioning.d.ts +0 -0
  427. /package/dist/{cloud → src/cloud}/provisioning.js +0 -0
  428. /package/dist/{cloud → src/cloud}/relay/endpoints.d.ts +0 -0
  429. /package/dist/{cloud → src/cloud}/relay/endpoints.js +0 -0
  430. /package/dist/{cloud → src/cloud}/relay/health/index.d.ts +0 -0
  431. /package/dist/{cloud → src/cloud}/relay/health/index.js +0 -0
  432. /package/dist/{cloud → src/cloud}/relay/stats/index.d.ts +0 -0
  433. /package/dist/{cloud → src/cloud}/relay/stats/index.js +0 -0
  434. /package/dist/{cloud → src/cloud}/relay/sync/index.d.ts +0 -0
  435. /package/dist/{cloud → src/cloud}/relay/sync/index.js +0 -0
  436. /package/dist/{cloud → src/cloud}/relay/usage/index.d.ts +0 -0
  437. /package/dist/{cloud → src/cloud}/relay/usage/index.js +0 -0
  438. /package/dist/{cloud → src/cloud}/sponsors.d.ts +0 -0
  439. /package/dist/{cloud → src/cloud}/sponsors.js +0 -0
  440. /package/dist/{cloud → src/cloud}/types.d.ts +0 -0
  441. /package/dist/{cloud → src/cloud}/types.js +0 -0
  442. /package/dist/{components → src/components}/index.d.ts +0 -0
  443. /package/dist/{components → src/components}/index.js +0 -0
  444. /package/dist/{core → src/core}/actors.d.ts +0 -0
  445. /package/dist/{core → src/core}/actors.js +0 -0
  446. /package/dist/{core → src/core}/component/generator.d.ts +0 -0
  447. /package/dist/{core → src/core}/engine.d.ts +0 -0
  448. /package/dist/{core → src/core}/engine.js +0 -0
  449. /package/dist/{core → src/core}/introspection.d.ts +0 -0
  450. /package/dist/{core → src/core}/introspection.js +0 -0
  451. /package/dist/{core → src/core}/logic/generator.d.ts +0 -0
  452. /package/dist/{core → src/core}/pluresdb/generator.d.ts +0 -0
  453. /package/dist/{core → src/core}/protocol.d.ts +0 -0
  454. /package/dist/{core → src/core}/protocol.js +0 -0
  455. /package/dist/{core → src/core}/rules.d.ts +0 -0
  456. /package/dist/{core → src/core}/rules.js +0 -0
  457. /package/dist/{core → src/core}/schema/loader.d.ts +0 -0
  458. /package/dist/{core → src/core}/schema/loader.js +0 -0
  459. /package/dist/{core → src/core}/schema/normalize.d.ts +0 -0
  460. /package/dist/{core → src/core}/schema/normalize.js +0 -0
  461. /package/dist/{core → src/core}/schema/types.d.ts +0 -0
  462. /package/dist/{core → src/core}/schema/types.js +0 -0
  463. /package/dist/{dsl → src/dsl}/index.d.ts +0 -0
  464. /package/dist/{dsl → src/dsl}/index.js +0 -0
  465. /package/dist/{dsl.d.ts → src/dsl.d.ts} +0 -0
  466. /package/dist/{dsl.js → src/dsl.js} +0 -0
  467. /package/dist/{examples → src/examples}/advanced-todo/index.d.ts +0 -0
  468. /package/dist/{examples → src/examples}/advanced-todo/index.js +0 -0
  469. /package/dist/{examples → src/examples}/auth-basic/index.d.ts +0 -0
  470. /package/dist/{examples → src/examples}/auth-basic/index.js +0 -0
  471. /package/dist/{examples → src/examples}/cart/index.d.ts +0 -0
  472. /package/dist/{examples → src/examples}/cart/index.js +0 -0
  473. /package/dist/{examples → src/examples}/hero-ecommerce/index.d.ts +0 -0
  474. /package/dist/{examples → src/examples}/hero-ecommerce/index.js +0 -0
  475. /package/dist/{examples → src/examples}/svelte-counter/index.d.ts +0 -0
  476. /package/dist/{examples → src/examples}/svelte-counter/index.js +0 -0
  477. /package/dist/{flows.d.ts → src/flows.d.ts} +0 -0
  478. /package/dist/{flows.js → src/flows.js} +0 -0
  479. /package/dist/{integrations → src/integrations}/svelte.d.ts +0 -0
  480. /package/dist/{integrations → src/integrations}/svelte.js +0 -0
  481. /package/dist/{registry.d.ts → src/registry.d.ts} +0 -0
  482. /package/dist/{registry.js → src/registry.js} +0 -0
  483. /package/dist/{step.d.ts → src/step.d.ts} +0 -0
  484. /package/dist/{step.js → src/step.js} +0 -0
  485. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
  486. /package/dist/{types.js → src/types.js} +0 -0
package/README.md CHANGED
@@ -27,10 +27,10 @@
27
27
  | Category | Status |
28
28
  |----------|--------|
29
29
  | **CI/CD** | ✅ Automated testing & builds |
30
- | **Version** | 0.2.0 (Alpha) |
30
+ | **Version** | 0.2.1 (Alpha) |
31
31
  | **Runtime Support** | Node.js 18+, Deno (experimental), .NET 8+ |
32
32
  | **Package Registries** | npm ✅ / NuGet ✅ / JSR 🚧 (coming soon) |
33
- | **Test Coverage** | 165 TypeScript + 68 C# tests passing |
33
+ | **Test Coverage** | 202 TypeScript + 68 C# tests passing |
34
34
  | **Documentation** | 📚 Comprehensive guides available |
35
35
 
36
36
  ### Language Support
@@ -46,12 +46,12 @@
46
46
  | Integration | Status | Notes |
47
47
  |------------|--------|-------|
48
48
  | **Praxis Cloud** | ✅ Available | Azure-hosted relay for sync & monetization |
49
- | **PluresDB** | 🚧 In Development | Local-first reactive datastore |
50
- | **Unum** | 🚧 Planned | Identity & channels |
49
+ | **PluresDB** | Available | Local-first reactive datastore with 32 tests |
50
+ | **Unum** | Available | Identity & channels integration |
51
51
  | **Svelte 5** | ✅ Full Support | Runes API, stores, history, time-travel |
52
- | **Tauri** | 🚧 Planned | Cross-platform runtime |
53
- | **CodeCanvas** | 🚧 Planned | Visual schema editor |
54
- | **State-Docs** | 🚧 Planned | Documentation generation |
52
+ | **Tauri** | Available | Cross-platform desktop runtime |
53
+ | **CodeCanvas** | Available | Visual schema editor & FSM enforcement |
54
+ | **State-Docs** | Available | Documentation generation from schemas |
55
55
 
56
56
  ---
57
57
 
@@ -59,29 +59,84 @@
59
59
 
60
60
  Praxis is not just a logic engine—it's a **complete framework** for building modern, local-first, distributed applications. It provides:
61
61
 
62
- - **Declarative Schemas**: Define your data models, logic, and components in a unified schema format
62
+ - **Declarative Schemas**: Define your data models, logic, and components in a unified schema format (PSF)
63
63
  - **Logic/State Machines**: Pure, functional application logic with facts, events, rules, and constraints
64
64
  - **Component Generation**: Automatically generate Svelte components from schemas
65
65
  - **Local-First Data**: Integrated PluresDB for reactive, offline-capable data storage
66
- - **Documentation Generation**: Automatic State-Docs generation from your schemas
66
+ - **Documentation Generation**: Automatic documentation generation from schemas with Mermaid diagrams
67
67
  - **Visual Design**: CodeCanvas integration for visual schema and logic editing
68
+ - **Real-Time Code ↔ Canvas Sync**: Bidirectional synchronization between code and visual editor
68
69
  - **Orchestration**: DSC/MCP support for distributed system coordination
69
70
  - **Cross-Platform Runtime**: Web, desktop, and mobile via Svelte + Tauri
70
71
 
72
+ ## 🚀 Praxis 1.0 Architecture
73
+
74
+ Praxis 1.0 introduces a **schema-driven, modular architecture** where the Praxis Schema Format (PSF) serves as the single source of truth.
75
+
76
+ ### Praxis Schema Format (PSF)
77
+
78
+ PSF is the canonical JSON/AST format that defines your entire application:
79
+
80
+ ```json
81
+ {
82
+ "$version": "1.0.0",
83
+ "id": "my-app",
84
+ "name": "My Application",
85
+ "facts": [...],
86
+ "events": [...],
87
+ "rules": [...],
88
+ "constraints": [...],
89
+ "models": [...],
90
+ "components": [...],
91
+ "flows": [...]
92
+ }
93
+ ```
94
+
95
+ From this schema, Praxis generates:
96
+ - **TypeScript types** for facts, events, rules
97
+ - **Svelte components** for UI
98
+ - **Markdown documentation** with Mermaid diagrams
99
+ - **Database schemas** for PluresDB
100
+ - **Canvas visualization** for visual editing
101
+
102
+ ### Modular Folder Structure
103
+
104
+ ```
105
+ /praxis
106
+ ├── core/ # Core framework modules
107
+ │ ├── schema-engine/ # PSF types, compiler, generator, validator
108
+ │ ├── logic-engine/ # Rules, constraints, engine, PSF adapter
109
+ │ ├── db-adapter/ # PluresDB sync engine
110
+ │ └── codegen/ # Documentation and code generators
111
+ ├── ui/ # UI modules
112
+ │ ├── svelte-generator/ # PSF-aware Svelte component generation
113
+ │ └── canvas/ # Visual canvas state and projection
114
+ ├── tools/ # Developer tools
115
+ │ ├── cli/ # Command-line interface
116
+ │ └── watcher/ # File watching and live sync
117
+ ├── extensions/ # Optional integrations
118
+ │ ├── dsc/ # DSC/MCP orchestration
119
+ │ ├── azure/ # Azure integration
120
+ │ └── devtools/ # Developer tools
121
+ └── examples/ # Example applications
122
+ ├── hero-shop/ # Full e-commerce example
123
+ └── todo/ # Minimal todo example
124
+ ```
125
+
71
126
  ### Framework Philosophy
72
127
 
73
128
  ### Core Framework Components
74
129
 
75
130
  Praxis provides these integrated capabilities:
76
131
 
77
- - **Schema System** – Declarative definitions that generate models, components, and documentation
132
+ - **Schema Engine** – PSF parser, compiler, generator, and validator
78
133
  - **Logic Engine** – Typed facts, events, rules, and constraints for application logic
79
134
  - **Component Factory** – Generate Svelte components from schemas with data bindings
80
135
  - **Data Layer** – PluresDB integration for reactive, local-first data storage
81
136
  - **State Machines** – Flows and scenarios for orchestrated behaviors
82
137
  - **Actors** – Effectful units for side effects and external system integration
83
- - **Terminal Nodes** – Execute commands and scripts within the Praxis framework (NEW!)
84
- - **Documentation** – Automatic State-Docs generation from schemas and logic
138
+ - **Terminal Nodes** – Execute commands and scripts within the Praxis framework
139
+ - **Documentation** – Automatic documentation generation from schemas with Mermaid diagrams
85
140
  - **Visual IDE** – CodeCanvas integration for schema and logic editing
86
141
  - **Orchestration** – DSC/MCP support for distributed coordination
87
142
  - **CLI Tools** – Command-line interface for scaffolding and generation
@@ -154,20 +209,26 @@ Praxis provides these integrated capabilities:
154
209
  - 🔒 **Type-Safe**: Full TypeScript support with strict typing
155
210
  - 🔍 **Introspection**: Generate schemas, graphs, and visualizations of your logic
156
211
  - 🌐 **Cross-Language**: PowerShell adapter with protocol versioning (C# coming soon)
157
- - 📊 **Comprehensive Testing**: 165+ tests covering all features
212
+ - 📊 **Comprehensive Testing**: 197+ TypeScript and 95+ C# tests covering all features
158
213
  - 🎭 **Hero Example**: Full e-commerce demo with auth, cart, features, and actors
159
214
 
160
- ## What's New in v0.1.0
215
+ ## What's New in v0.2.0
161
216
 
162
217
  ### 🎉 Major Features
163
218
 
219
+ #### Full Application Framework
220
+ Praxis 0.2.0 transforms from a logic engine into a **complete application framework**:
221
+ - **Complete Schema System**: Comprehensive type definitions for models, components, logic, and orchestration
222
+ - **Component Generation**: Automatic Svelte component generation from schemas
223
+ - **CLI Tools**: `praxis create`, `praxis generate`, `praxis canvas` commands
224
+ - **Cloud Integration**: GitHub-based authentication and tier-based billing
225
+ - **PluresDB Integration**: Local-first reactive datastore with full implementation
226
+
164
227
  #### Svelte 5 Integration (@plures/praxis/svelte)
165
- - **Runes Composables**: `usePraxisEngine`, `usePraxisContext`, `usePraxisSubscription`
166
- - **History State Pattern**: `HistoryStateManager`, `createHistoryEngine`
167
- - **Time-Travel Debugging**: Navigate through state snapshots
168
- - **Undo/Redo**: Built-in with configurable history size
228
+ - **Runes Composables**: `usePraxisState`, `usePraxisHistory`, `usePraxisComputed`
229
+ - **History State Pattern**: Time-travel debugging with undo/redo
169
230
  - **Store API**: Compatible with Svelte 4 and 5
170
- - **16 new tests** ensuring rock-solid reliability
231
+ - **Full TypeScript support** with generics
171
232
 
172
233
  #### Documentation & Guides
173
234
  - **[Svelte Integration Guide](docs/guides/svelte-integration.md)**: Complete guide to Svelte 5 integration
@@ -176,15 +237,23 @@ Praxis provides these integrated capabilities:
176
237
  - **[Advanced Todo Example](src/examples/advanced-todo/)**: Full-featured demo with history
177
238
 
178
239
  ### 🧪 Hardened TypeScript Core
179
- - **165 comprehensive tests** (up from 63) covering:
240
+ - **197 comprehensive tests** (up from 9 in v0.1.0) covering:
180
241
  - Svelte integration with runes and stores
242
+ - PluresDB integration (32 tests)
181
243
  - History state management and navigation
182
244
  - Edge cases and failure paths
183
245
  - Actor lifecycle and state change notifications
184
246
  - Constraint violations and rule errors
185
247
  - Registry operations and module composition
248
+ - Cloud integration and billing
249
+ - Terminal node functionality
186
250
  - Full test coverage ensures production-ready reliability
187
251
 
252
+ ### 🔒 C# Implementation
253
+ - **95 comprehensive C# tests** with full parity to TypeScript features
254
+ - Functional, immutable design with records
255
+ - NuGet package available
256
+
188
257
  ### 📖 Protocol Versioning (v1.0.0)
189
258
  - **Explicit protocol version** (`protocolVersion` field in state)
190
259
  - **Stability guarantees** for cross-language compatibility
@@ -233,7 +302,7 @@ dotnet add package Plures.Praxis
233
302
  Or add to your `.csproj`:
234
303
 
235
304
  ```xml
236
- <PackageReference Include="Plures.Praxis" Version="0.2.0" />
305
+ <PackageReference Include="Plures.Praxis" Version="0.2.1" />
237
306
  ```
238
307
 
239
308
  See [C# Documentation](./csharp/Praxis/README.md) for detailed usage.
@@ -251,7 +320,7 @@ For now, you can use Praxis with Deno via import maps:
251
320
  // import_map.json
252
321
  {
253
322
  "imports": {
254
- "@plures/praxis": "npm:@plures/praxis@^0.2.0"
323
+ "@plures/praxis": "npm:@plures/praxis@^0.2.1"
255
324
  }
256
325
  }
257
326
  ```
@@ -535,25 +604,41 @@ This protocol is:
535
604
  │ │ └── introspection.ts # Introspection and visualization
536
605
  │ ├── component/ # Component generation
537
606
  │ │ └── generator.ts # Svelte component generator
607
+ │ ├── pluresdb/ # PluresDB integration core
608
+ │ │ ├── adapter.ts # Database adapter interface
609
+ │ │ ├── store.ts # Reactive store implementation
610
+ │ │ ├── schema-registry.ts # Schema registry for PluresDB
611
+ │ │ └── generator.ts # PluresDB config generator
538
612
  │ └── runtime/ # Runtime abstractions
613
+ ├── cloud/ # Praxis Cloud integration
614
+ │ ├── auth.ts # GitHub OAuth authentication
615
+ │ ├── billing.ts # Tier-based billing
616
+ │ ├── provisioning.ts # Tenant provisioning
617
+ │ └── relay/ # Azure relay service
539
618
  ├── integrations/ # Ecosystem integrations
540
- │ ├── pluresdb/ # PluresDB reactive datastore
619
+ │ ├── pluresdb.ts # PluresDB integration exports
620
+ │ ├── svelte.ts # Svelte 5 integration
541
621
  │ ├── unum/ # Unum identity and channels
542
622
  │ ├── adp/ # Architectural Decision Protocol
543
623
  │ ├── state-docs/ # State-Docs documentation
544
624
  │ └── canvas/ # CodeCanvas visual editor
625
+ ├── components/ # Svelte components
626
+ │ └── TerminalNode.svelte # Terminal node component
545
627
  ├── cli/ # Command-line interface
546
628
  │ ├── index.ts # CLI entry point
547
629
  │ └── commands/ # Command implementations
548
630
  ├── templates/ # Project templates
549
631
  │ ├── basic-app/ # Basic application template
550
- ├── fullstack-app/ # Full-stack template
551
- │ ├── component/ # Component template
552
- │ └── orchestrator/ # Distributed orchestration template
632
+ └── fullstack-app/ # Full-stack template
553
633
  ├── examples/ # Example applications
554
634
  │ ├── offline-chat/ # Offline-first chat demo
555
635
  │ ├── knowledge-canvas/ # Knowledge management with Canvas
556
636
  │ ├── distributed-node/ # Self-orchestrating node demo
637
+ │ ├── terminal-node/ # Terminal node demo
638
+ │ ├── terminal-canvas/ # Terminal + canvas demo
639
+ │ ├── cloud-sync/ # Cloud sync demo
640
+ │ ├── github-monetization/ # GitHub monetization demo
641
+ │ ├── simple-app/ # Simple app demo
557
642
  │ ├── auth-basic/ # Login/logout example
558
643
  │ ├── cart/ # Shopping cart example
559
644
  │ ├── svelte-counter/ # Svelte integration example
@@ -571,7 +656,7 @@ See [FRAMEWORK.md](./FRAMEWORK.md) for complete architecture documentation.
571
656
 
572
657
  ## Examples
573
658
 
574
- The repository includes four complete examples:
659
+ The repository includes 12 complete examples:
575
660
 
576
661
  ### 1. Hero E-Commerce (`src/examples/hero-ecommerce`)
577
662
  **NEW!** Comprehensive example demonstrating all Praxis features in a single application:
@@ -656,6 +741,26 @@ npm run build
656
741
  node dist/examples/svelte-counter/index.js
657
742
  ```
658
743
 
744
+ ### 9. Terminal Canvas (`examples/terminal-canvas`)
745
+ Combines terminal nodes with visual canvas features in a Svelte app.
746
+
747
+ See [examples/terminal-canvas/README.md](./examples/terminal-canvas/README.md)
748
+
749
+ ### 10. GitHub Monetization (`examples/github-monetization`)
750
+ Example of GitHub-based monetization integration with Praxis Cloud.
751
+
752
+ See [examples/github-monetization/README.md](./examples/github-monetization/README.md)
753
+
754
+ ### 11. Simple App (`examples/simple-app`)
755
+ A minimal example demonstrating basic Praxis schema usage.
756
+
757
+ See [examples/simple-app/README.md](./examples/simple-app/README.md)
758
+
759
+ ### 12. Cloud Sync (`examples/cloud-sync`)
760
+ Demonstrates real-time synchronization with Praxis Cloud relay service.
761
+
762
+ See [examples/cloud-sync/README.md](./examples/cloud-sync/README.md)
763
+
659
764
  ## API Reference
660
765
 
661
766
  ### Core Types
@@ -729,34 +834,51 @@ Praxis integrates with the full Plures ecosystem:
729
834
 
730
835
  ### PluresDB Integration
731
836
 
732
- Local-first reactive datastore for offline-capable applications.
837
+ Local-first reactive datastore for offline-capable applications. **Now fully implemented** with 32 tests covering all features.
733
838
 
734
839
  ```typescript
735
- import { createPluresDB } from '@plures/pluresdb';
736
-
737
- // Create database from schema
738
- const db = createPluresDB({
739
- name: 'my-app',
740
- version: 1,
741
- stores: {
742
- // Generated from Praxis schema
743
- users: { keyPath: 'id', indexes: ['email'] },
744
- tasks: { keyPath: 'id', indexes: ['status', 'createdAt'] },
745
- },
746
- sync: {
747
- enabled: true,
748
- endpoint: 'ws://localhost:8080/sync',
749
- conflictResolution: 'last-write-wins',
750
- },
840
+ import {
841
+ createInMemoryDB,
842
+ createPraxisDBStore,
843
+ createPluresDBAdapter,
844
+ attachToEngine
845
+ } from '@plures/praxis/pluresdb';
846
+
847
+ // Create an in-memory database
848
+ const db = createInMemoryDB();
849
+
850
+ // Create a PraxisDB store for facts and events
851
+ const store = createPraxisDBStore({ db });
852
+
853
+ // Or create an adapter to attach to an engine
854
+ const adapter = createPluresDBAdapter({
855
+ db,
856
+ registry,
857
+ initialContext: {}
751
858
  });
752
859
 
753
- // Use with Praxis logic engine
754
- engine.step([TaskCreated.create({ taskId, title })]);
755
- await db.tasks.add({ id: taskId, title, status: 'pending' });
860
+ // Attach adapter to engine for automatic persistence
861
+ adapter.attachEngine(engine);
862
+
863
+ // Persist facts and events
864
+ await adapter.persistFacts([{ tag: "UserLoggedIn", payload: { userId: "alice" } }]);
865
+ await adapter.persistEvents([{ tag: "LOGIN", payload: { username: "alice" } }]);
866
+
867
+ // Subscribe to changes
868
+ adapter.subscribeToEvents((events) => {
869
+ console.log("New events:", events);
870
+ });
756
871
  ```
757
872
 
758
- **Status**: Foundation in place (`src/integrations/pluresdb.ts`)
759
- **Documentation**: [docs/guides/pluresdb.md](./docs/guides/pluresdb.md)
873
+ **Features:**
874
+ - **In-memory adapter**: Ready-to-use implementation for development and testing
875
+ - **Reactive store**: Watch for changes with callbacks
876
+ - **Schema registry**: Store and retrieve schemas in PluresDB
877
+ - **Config generator**: Generate PluresDB configuration from Praxis schemas
878
+ - **Engine integration**: Automatic fact/event persistence
879
+
880
+ **Status**: ✅ Available (`src/core/pluresdb/`, `src/integrations/pluresdb.ts`)
881
+ **Tests**: 32 tests covering adapter, store, registry, and engine integration
760
882
 
761
883
  ### Unum Integration
762
884
 
@@ -961,18 +1083,20 @@ See [csharp/Praxis/README.md](./csharp/Praxis/README.md) for complete documentat
961
1083
 
962
1084
  ## Future Roadmap
963
1085
 
964
- ### Short Term (v0.2.0) ✅
1086
+ ### Short Term (v0.2.x) ✅
965
1087
  - ✅ Complete CLI implementation
966
1088
  - ✅ Basic project templates
967
1089
  - ✅ Component generation MVP
968
- - ✅ C# implementation with NuGet publishing
1090
+ - ✅ C# implementation with NuGet publishing (95 tests)
1091
+ - ✅ PluresDB integration with full test coverage (32 tests)
1092
+ - ✅ Praxis Cloud with GitHub authentication and billing
969
1093
 
970
1094
  ### Medium Term (v0.3.0 - v0.5.0)
971
1095
  - Full CodeCanvas integration
972
1096
  - Unum identity support
973
1097
  - State-Docs generation
974
1098
  - Multi-language schemas
975
- - Enhanced PluresDB integration
1099
+ - Real PluresDB sync (CRDT/offline-first)
976
1100
 
977
1101
  ### Long Term (v1.0.0+)
978
1102
  - Mobile templates (iOS, Android)
@@ -985,9 +1109,10 @@ See [csharp/Praxis/README.md](./csharp/Praxis/README.md) for complete documentat
985
1109
 
986
1110
  ### Ecosystem Integration
987
1111
 
988
- - **Svelte v5**: Full reactive binding support (foundation in place)
989
- - **pluresdb**: Reactive datastore integration, event sourcing
990
- - **unum**: Identity/channels and messaging
1112
+ - **Svelte v5**: Full reactive binding support with runes and history
1113
+ - **PluresDB**: Reactive datastore integration with 32 tests
1114
+ - **Cloud**: GitHub-based auth and tier billing
1115
+ - **unum**: 🚧 Identity/channels and messaging
991
1116
  - **Visualization**: VSCode extension, docs generator, canvas tools (introspection API ready)
992
1117
  - **ADP**: Architectural guardrails and static checks
993
1118
 
@@ -1319,12 +1444,14 @@ if (result.effects) {
1319
1444
 
1320
1445
  ## Future Roadmap
1321
1446
 
1322
- - 🌐 **Svelte v5 Integration**: First-class support for Svelte 5 runes
1323
- - 🗄️ **pluresdb/unum Integration**: Persistent state management
1324
- - 🔄 **C# Port**: Cross-platform compatibility
1325
- - **PowerShell Module**: Scripting and automation support
1326
- - 🎭 **Advanced FSM Tools**: Internal state machine utilities
1327
- - 📊 **Visualization**: Flow and state visualization tools
1447
+ - **Svelte v5 Integration**: First-class support for Svelte 5 runes (available)
1448
+ - **PluresDB Integration**: Reactive datastore with 32 tests (available)
1449
+ - **C# Port**: Cross-platform compatibility with 95 tests (available)
1450
+ - **PowerShell Module**: Scripting and automation support (available)
1451
+ - 🚧 **Unum Integration**: Identity and channels (in progress)
1452
+ - 🚧 **CodeCanvas**: Visual schema and logic editor (planned)
1453
+ - 🚧 **State-Docs**: Documentation generation (planned)
1454
+ - 📊 **Visualization**: Flow and state visualization tools (introspection ready)
1328
1455
 
1329
1456
  ## Development
1330
1457