@plures/praxis 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/LICENSE +21 -21
  3. package/README.md +162 -375
  4. package/core/codegen/docs-generator.ts +5 -2
  5. package/core/codegen/index.ts +1 -1
  6. package/core/codegen/ts-generator.ts +15 -15
  7. package/core/db-adapter/index.ts +2 -2
  8. package/core/db-adapter/sync-engine.ts +17 -6
  9. package/core/logic-engine/engine.ts +1 -1
  10. package/core/logic-engine/index.ts +2 -2
  11. package/core/logic-engine/protocol.ts +1 -1
  12. package/core/logic-engine/psf-adapter.ts +8 -4
  13. package/core/logic-engine/rules.ts +1 -1
  14. package/core/schema-engine/compiler.ts +53 -11
  15. package/core/schema-engine/generator.ts +17 -7
  16. package/core/schema-engine/index.ts +2 -2
  17. package/core/schema-engine/psf.ts +12 -3
  18. package/core/schema-engine/types.ts +3 -11
  19. package/core/schema-engine/validator.ts +112 -22
  20. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  21. package/dist/browser/index.d.ts +3004 -0
  22. package/dist/browser/index.js +2892 -0
  23. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  24. package/dist/browser/integrations/svelte.js +298 -0
  25. package/dist/node/auth-STARLY7I.js +207 -0
  26. package/dist/node/build-Y7OT5VBF.js +144 -0
  27. package/dist/node/canvas-UERZHJYW.js +362 -0
  28. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  29. package/dist/node/chunk-FXQZXAWF.js +175 -0
  30. package/dist/node/chunk-N5Y37EUV.js +202 -0
  31. package/dist/node/chunk-QGM4M3NI.js +37 -0
  32. package/dist/node/chunk-RJMWCNHR.js +175 -0
  33. package/dist/node/chunk-SRM3OPPM.js +404 -0
  34. package/dist/node/chunk-UATVJBNV.js +175 -0
  35. package/dist/node/chunk-UY7YEBE2.js +159 -0
  36. package/dist/node/chunk-XCY2VIFX.js +143 -0
  37. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  38. package/dist/node/cli/index.cjs +217418 -0
  39. package/dist/node/cli/index.d.cts +1 -0
  40. package/dist/node/cli/index.d.ts +1 -0
  41. package/dist/node/cli/index.js +690 -0
  42. package/dist/node/cloud/index.cjs +1043 -0
  43. package/dist/node/cloud/index.d.cts +864 -0
  44. package/dist/node/cloud/index.d.ts +864 -0
  45. package/dist/node/cloud/index.js +456 -0
  46. package/dist/node/cloud-AXOK4PSN.js +212 -0
  47. package/dist/node/component.cjs +374 -0
  48. package/dist/node/component.d.cts +125 -0
  49. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  50. package/dist/node/component.js +9 -0
  51. package/dist/node/components/index.cjs +216 -0
  52. package/dist/node/components/index.d.cts +43 -0
  53. package/dist/{src → node}/components/index.d.ts +8 -8
  54. package/dist/node/components/index.js +7 -0
  55. package/dist/node/create-TRLSVCNQ.js +584 -0
  56. package/dist/node/dev-PMJZUYGE.js +65 -0
  57. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  58. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  59. package/dist/node/index.cjs +3247 -0
  60. package/dist/node/index.d.cts +2579 -0
  61. package/dist/node/index.d.ts +2579 -0
  62. package/dist/node/index.js +2098 -0
  63. package/dist/node/integrations/svelte.cjs +330 -0
  64. package/dist/node/integrations/svelte.d.cts +309 -0
  65. package/dist/node/integrations/svelte.d.ts +309 -0
  66. package/dist/node/integrations/svelte.js +300 -0
  67. package/dist/node/orchestrate-737TCL5H.js +127 -0
  68. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  69. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  70. package/dist/node/schema.cjs +200 -0
  71. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  72. package/dist/node/schema.d.ts +371 -0
  73. package/dist/node/schema.js +9 -0
  74. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  75. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  76. package/dist/node/verify-YBZ7W24H.js +213239 -0
  77. package/docs/MONETIZATION.md +21 -16
  78. package/docs/REACTIVE_REDESIGN.md +132 -0
  79. package/docs/README.md +47 -36
  80. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  81. package/docs/TERMINAL_NODE.md +27 -24
  82. package/docs/core/building-extensions.md +58 -61
  83. package/docs/core/cli-usage.md +59 -59
  84. package/docs/core/code-canvas-sync.md +28 -16
  85. package/docs/core/logic-engine.md +77 -82
  86. package/docs/core/pluresdb-integration.md +29 -39
  87. package/docs/core/schema-model.md +66 -52
  88. package/docs/core/ui-generation.md +57 -49
  89. package/docs/core/what-is-praxis.md +32 -15
  90. package/docs/guides/canvas.md +21 -5
  91. package/docs/guides/getting-started.md +13 -7
  92. package/docs/guides/history-state-pattern.md +65 -51
  93. package/docs/guides/orchestration.md +46 -32
  94. package/docs/guides/parallel-state-pattern.md +56 -72
  95. package/docs/guides/svelte-integration.md +45 -53
  96. package/docs/tutorials/README.md +16 -0
  97. package/docs/tutorials/ecommerce-cart.md +177 -95
  98. package/docs/tutorials/first-app.md +26 -41
  99. package/docs/tutorials/form-builder.md +191 -138
  100. package/docs/tutorials/todo-pluresdb.md +71 -69
  101. package/package.json +132 -96
  102. package/src/__tests__/actors.test.ts +68 -68
  103. package/src/__tests__/billing.test.ts +32 -32
  104. package/src/__tests__/canvas-components.test.ts +94 -73
  105. package/src/__tests__/cli-create.test.ts +28 -28
  106. package/src/__tests__/cloud.test.ts +36 -36
  107. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  108. package/src/__tests__/docs-generator.test.ts +3 -9
  109. package/src/__tests__/dsl.test.ts +58 -64
  110. package/src/__tests__/edge-cases.test.ts +106 -108
  111. package/src/__tests__/engine.test.ts +51 -25
  112. package/src/__tests__/generators.test.ts +42 -44
  113. package/src/__tests__/introspection.test.ts +104 -114
  114. package/src/__tests__/pluresdb.test.ts +189 -187
  115. package/src/__tests__/protocol.test.ts +15 -15
  116. package/src/__tests__/provisioning.test.ts +61 -61
  117. package/src/__tests__/schema.test.ts +7 -11
  118. package/src/__tests__/state-docs-integration.test.ts +162 -145
  119. package/src/__tests__/svelte-integration.test.ts +16 -19
  120. package/src/__tests__/tauri-integration.test.ts +149 -147
  121. package/src/__tests__/terminal-node.test.ts +12 -7
  122. package/src/__tests__/unum-integration.test.ts +68 -68
  123. package/src/adapters/cli.ts +21 -15
  124. package/src/cli/commands/auth.ts +82 -78
  125. package/src/cli/commands/build.ts +29 -27
  126. package/src/cli/commands/canvas.ts +338 -127
  127. package/src/cli/commands/cloud.ts +47 -47
  128. package/src/cli/commands/create.ts +59 -47
  129. package/src/cli/commands/dev.ts +12 -12
  130. package/src/cli/commands/generate.ts +29 -40
  131. package/src/cli/commands/orchestrate.ts +24 -24
  132. package/src/cli/commands/verify.ts +49 -0
  133. package/src/cli/index.ts +21 -2
  134. package/src/cloud/README.md +28 -15
  135. package/src/cloud/auth.ts +55 -70
  136. package/src/cloud/billing.ts +59 -58
  137. package/src/cloud/client.ts +29 -35
  138. package/src/cloud/index.ts +19 -40
  139. package/src/cloud/marketplace.ts +69 -78
  140. package/src/cloud/provisioning.ts +42 -51
  141. package/src/cloud/relay/endpoints.ts +30 -34
  142. package/src/cloud/relay/health/index.ts +1 -1
  143. package/src/cloud/relay/stats/index.ts +1 -1
  144. package/src/cloud/relay/sync/index.ts +1 -1
  145. package/src/cloud/relay/usage/index.ts +1 -1
  146. package/src/cloud/sponsors.ts +31 -34
  147. package/src/cloud/types.ts +4 -4
  148. package/src/components/README.md +1 -0
  149. package/src/components/TerminalNode.svelte +457 -457
  150. package/src/components/index.ts +3 -4
  151. package/src/core/actors.ts +7 -7
  152. package/src/core/component/generator.ts +10 -28
  153. package/src/core/engine.ts +51 -24
  154. package/src/core/introspection.ts +37 -35
  155. package/src/core/logic/generator.ts +62 -62
  156. package/src/core/pluresdb/adapter.ts +8 -8
  157. package/src/core/pluresdb/generator.ts +39 -35
  158. package/src/core/pluresdb/index.ts +9 -12
  159. package/src/core/pluresdb/schema-registry.ts +22 -25
  160. package/src/core/pluresdb/store.ts +57 -57
  161. package/src/core/protocol.ts +14 -14
  162. package/src/core/reactive-engine.svelte.ts +65 -0
  163. package/src/core/reactive-engine.ts +67 -0
  164. package/src/core/rules.ts +4 -4
  165. package/src/core/schema/loader.common.ts +150 -0
  166. package/src/core/schema/loader.ts +19 -149
  167. package/src/core/schema/normalize.ts +34 -51
  168. package/src/core/schema/types.ts +47 -11
  169. package/src/dsl/index.ts +8 -8
  170. package/src/dsl.ts +11 -17
  171. package/src/examples/advanced-todo/App.svelte +506 -506
  172. package/src/examples/advanced-todo/README.md +58 -40
  173. package/src/examples/advanced-todo/index.ts +3 -3
  174. package/src/examples/auth-basic/index.ts +30 -30
  175. package/src/examples/cart/index.ts +50 -50
  176. package/src/examples/hero-ecommerce/index.ts +130 -157
  177. package/src/examples/svelte-counter/index.ts +22 -26
  178. package/src/flows.ts +6 -17
  179. package/src/index.browser.ts +204 -0
  180. package/src/index.ts +37 -42
  181. package/src/integrations/code-canvas.ts +237 -193
  182. package/src/integrations/pluresdb.ts +55 -35
  183. package/src/integrations/state-docs.ts +104 -104
  184. package/src/integrations/svelte.ts +35 -35
  185. package/src/integrations/tauri.ts +75 -73
  186. package/src/integrations/unum.ts +68 -61
  187. package/src/registry.ts +7 -14
  188. package/src/runtime/terminal-adapter.ts +31 -26
  189. package/src/step.ts +10 -16
  190. package/src/types.ts +1 -1
  191. package/templates/basic-app/README.md +6 -9
  192. package/templates/fullstack-app/README.md +10 -0
  193. package/dist/core/codegen/docs-generator.d.ts +0 -123
  194. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  195. package/dist/core/codegen/docs-generator.js +0 -674
  196. package/dist/core/codegen/docs-generator.js.map +0 -1
  197. package/dist/core/codegen/index.d.ts +0 -11
  198. package/dist/core/codegen/index.d.ts.map +0 -1
  199. package/dist/core/codegen/index.js +0 -13
  200. package/dist/core/codegen/index.js.map +0 -1
  201. package/dist/core/codegen/ts-generator.d.ts +0 -8
  202. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  203. package/dist/core/codegen/ts-generator.js +0 -8
  204. package/dist/core/codegen/ts-generator.js.map +0 -1
  205. package/dist/core/db-adapter/index.d.ts +0 -18
  206. package/dist/core/db-adapter/index.d.ts.map +0 -1
  207. package/dist/core/db-adapter/index.js +0 -23
  208. package/dist/core/db-adapter/index.js.map +0 -1
  209. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  210. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  211. package/dist/core/db-adapter/sync-engine.js +0 -342
  212. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  213. package/dist/core/logic-engine/engine.d.ts +0 -8
  214. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  215. package/dist/core/logic-engine/engine.js +0 -8
  216. package/dist/core/logic-engine/engine.js.map +0 -1
  217. package/dist/core/logic-engine/index.d.ts +0 -16
  218. package/dist/core/logic-engine/index.d.ts.map +0 -1
  219. package/dist/core/logic-engine/index.js +0 -16
  220. package/dist/core/logic-engine/index.js.map +0 -1
  221. package/dist/core/logic-engine/protocol.d.ts +0 -7
  222. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  223. package/dist/core/logic-engine/protocol.js +0 -7
  224. package/dist/core/logic-engine/protocol.js.map +0 -1
  225. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  226. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  227. package/dist/core/logic-engine/psf-adapter.js +0 -207
  228. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  229. package/dist/core/logic-engine/rules.d.ts +0 -7
  230. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  231. package/dist/core/logic-engine/rules.js +0 -7
  232. package/dist/core/logic-engine/rules.js.map +0 -1
  233. package/dist/core/schema-engine/compiler.d.ts +0 -198
  234. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  235. package/dist/core/schema-engine/compiler.js +0 -262
  236. package/dist/core/schema-engine/compiler.js.map +0 -1
  237. package/dist/core/schema-engine/generator.d.ts +0 -115
  238. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  239. package/dist/core/schema-engine/generator.js +0 -506
  240. package/dist/core/schema-engine/generator.js.map +0 -1
  241. package/dist/core/schema-engine/index.d.ts +0 -18
  242. package/dist/core/schema-engine/index.d.ts.map +0 -1
  243. package/dist/core/schema-engine/index.js +0 -18
  244. package/dist/core/schema-engine/index.js.map +0 -1
  245. package/dist/core/schema-engine/psf.d.ts +0 -612
  246. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  247. package/dist/core/schema-engine/psf.js +0 -45
  248. package/dist/core/schema-engine/psf.js.map +0 -1
  249. package/dist/core/schema-engine/types.d.ts +0 -10
  250. package/dist/core/schema-engine/types.d.ts.map +0 -1
  251. package/dist/core/schema-engine/types.js +0 -7
  252. package/dist/core/schema-engine/types.js.map +0 -1
  253. package/dist/core/schema-engine/validator.d.ts +0 -140
  254. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  255. package/dist/core/schema-engine/validator.js +0 -407
  256. package/dist/core/schema-engine/validator.js.map +0 -1
  257. package/dist/src/adapters/cli.d.ts +0 -43
  258. package/dist/src/adapters/cli.d.ts.map +0 -1
  259. package/dist/src/adapters/cli.js +0 -126
  260. package/dist/src/adapters/cli.js.map +0 -1
  261. package/dist/src/cli/commands/auth.d.ts +0 -26
  262. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  263. package/dist/src/cli/commands/auth.js +0 -233
  264. package/dist/src/cli/commands/auth.js.map +0 -1
  265. package/dist/src/cli/commands/build.d.ts +0 -23
  266. package/dist/src/cli/commands/build.d.ts.map +0 -1
  267. package/dist/src/cli/commands/build.js +0 -162
  268. package/dist/src/cli/commands/build.js.map +0 -1
  269. package/dist/src/cli/commands/canvas.d.ts +0 -23
  270. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  271. package/dist/src/cli/commands/canvas.js +0 -215
  272. package/dist/src/cli/commands/canvas.js.map +0 -1
  273. package/dist/src/cli/commands/cloud.d.ts +0 -27
  274. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  275. package/dist/src/cli/commands/cloud.js +0 -232
  276. package/dist/src/cli/commands/cloud.js.map +0 -1
  277. package/dist/src/cli/commands/create.d.ts +0 -21
  278. package/dist/src/cli/commands/create.d.ts.map +0 -1
  279. package/dist/src/cli/commands/create.js +0 -621
  280. package/dist/src/cli/commands/create.js.map +0 -1
  281. package/dist/src/cli/commands/dev.d.ts +0 -21
  282. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  283. package/dist/src/cli/commands/dev.js +0 -71
  284. package/dist/src/cli/commands/dev.js.map +0 -1
  285. package/dist/src/cli/commands/generate.d.ts +0 -25
  286. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/generate.js +0 -168
  288. package/dist/src/cli/commands/generate.js.map +0 -1
  289. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  290. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  291. package/dist/src/cli/commands/orchestrate.js +0 -150
  292. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  293. package/dist/src/cli/index.d.ts +0 -8
  294. package/dist/src/cli/index.d.ts.map +0 -1
  295. package/dist/src/cli/index.js +0 -211
  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/cli/commands/index.d.ts +0 -7
  484. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  485. package/dist/tools/cli/commands/index.js +0 -7
  486. package/dist/tools/cli/commands/index.js.map +0 -1
  487. package/dist/tools/cli/index.d.ts +0 -8
  488. package/dist/tools/cli/index.d.ts.map +0 -1
  489. package/dist/tools/cli/index.js +0 -9
  490. package/dist/tools/cli/index.js.map +0 -1
  491. package/dist/tools/watcher/index.d.ts +0 -105
  492. package/dist/tools/watcher/index.d.ts.map +0 -1
  493. package/dist/tools/watcher/index.js +0 -213
  494. package/dist/tools/watcher/index.js.map +0 -1
  495. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  496. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  497. package/dist/ui/canvas/canvas-projection.js +0 -416
  498. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  499. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  500. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  501. package/dist/ui/canvas/canvas-state.js +0 -464
  502. package/dist/ui/canvas/canvas-state.js.map +0 -1
  503. package/dist/ui/canvas/components/index.d.ts +0 -95
  504. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  505. package/dist/ui/canvas/components/index.js +0 -19
  506. package/dist/ui/canvas/components/index.js.map +0 -1
  507. package/dist/ui/canvas/index.d.ts +0 -32
  508. package/dist/ui/canvas/index.d.ts.map +0 -1
  509. package/dist/ui/canvas/index.js +0 -32
  510. package/dist/ui/canvas/index.js.map +0 -1
  511. package/dist/ui/svelte-generator/index.d.ts +0 -9
  512. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  513. package/dist/ui/svelte-generator/index.js +0 -11
  514. package/dist/ui/svelte-generator/index.js.map +0 -1
  515. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  516. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  517. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  518. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -9,6 +9,7 @@ This tutorial walks you through building a local-first todo application with Plu
9
9
  ## What You'll Build
10
10
 
11
11
  A todo application that:
12
+
12
13
  - Stores todos locally with PluresDB
13
14
  - Works completely offline
14
15
  - Syncs automatically when connected
@@ -40,7 +41,7 @@ Create `src/schema.psf.json`:
40
41
  "id": "todo-app",
41
42
  "name": "Todo App",
42
43
  "description": "A local-first todo application with PluresDB",
43
-
44
+
44
45
  "facts": [
45
46
  {
46
47
  "id": "fact_todo_created",
@@ -79,7 +80,7 @@ Create `src/schema.psf.json`:
79
80
  }
80
81
  }
81
82
  ],
82
-
83
+
83
84
  "events": [
84
85
  {
85
86
  "id": "event_create_todo",
@@ -115,7 +116,7 @@ Create `src/schema.psf.json`:
115
116
  }
116
117
  }
117
118
  ],
118
-
119
+
119
120
  "models": [
120
121
  {
121
122
  "id": "model_todo",
@@ -167,10 +168,7 @@ export const db = createPluresDB({
167
168
  createdAt: { type: 'datetime', default: () => new Date() },
168
169
  completedAt: { type: 'datetime', optional: true },
169
170
  },
170
- indexes: [
171
- { fields: ['completed'] },
172
- { fields: ['createdAt'], sort: 'desc' },
173
- ],
171
+ indexes: [{ fields: ['completed'] }, { fields: ['createdAt'], sort: 'desc' }],
174
172
  },
175
173
  ],
176
174
  sync: {
@@ -212,21 +210,19 @@ export const TodoCreated = defineFact<
212
210
  { id: string; title: string; createdAt: number }
213
211
  >('TodoCreated');
214
212
 
215
- export const TodoCompleted = defineFact<
216
- 'TodoCompleted',
217
- { id: string; completedAt: number }
218
- >('TodoCompleted');
213
+ export const TodoCompleted = defineFact<'TodoCompleted', { id: string; completedAt: number }>(
214
+ 'TodoCompleted'
215
+ );
219
216
 
220
- export const TodoDeleted = defineFact<
221
- 'TodoDeleted',
222
- { id: string }
223
- >('TodoDeleted');
217
+ export const TodoDeleted = defineFact<'TodoDeleted', { id: string }>('TodoDeleted');
224
218
 
225
219
  // Events
226
220
  export const CREATE_TODO = defineEvent<'CREATE_TODO', { title: string }>('CREATE_TODO');
227
221
  export const COMPLETE_TODO = defineEvent<'COMPLETE_TODO', { id: string }>('COMPLETE_TODO');
228
222
  export const DELETE_TODO = defineEvent<'DELETE_TODO', { id: string }>('DELETE_TODO');
229
- export const SET_FILTER = defineEvent<'SET_FILTER', { filter: 'all' | 'active' | 'completed' }>('SET_FILTER');
223
+ export const SET_FILTER = defineEvent<'SET_FILTER', { filter: 'all' | 'active' | 'completed' }>(
224
+ 'SET_FILTER'
225
+ );
230
226
 
231
227
  // Rules
232
228
  const createTodoRule = defineRule<TodoContext>({
@@ -235,10 +231,10 @@ const createTodoRule = defineRule<TodoContext>({
235
231
  impl: async (state, events) => {
236
232
  const event = events.find(CREATE_TODO.is);
237
233
  if (!event) return [];
238
-
234
+
239
235
  const now = Date.now();
240
236
  const id = crypto.randomUUID();
241
-
237
+
242
238
  // Create in database
243
239
  const todo: Todo = {
244
240
  id,
@@ -246,12 +242,12 @@ const createTodoRule = defineRule<TodoContext>({
246
242
  completed: false,
247
243
  createdAt: new Date(now),
248
244
  };
249
-
245
+
250
246
  await todos.insert(todo);
251
-
247
+
252
248
  // Update local state
253
249
  state.context.todos.unshift(todo);
254
-
250
+
255
251
  return [TodoCreated.create({ id, title: event.payload.title, createdAt: now })];
256
252
  },
257
253
  });
@@ -262,21 +258,21 @@ const completeTodoRule = defineRule<TodoContext>({
262
258
  impl: async (state, events) => {
263
259
  const event = events.find(COMPLETE_TODO.is);
264
260
  if (!event) return [];
265
-
261
+
266
262
  const now = Date.now();
267
-
263
+
268
264
  // Update in database
269
265
  await todos.updateById(event.payload.id, {
270
266
  $set: { completed: true, completedAt: new Date(now) },
271
267
  });
272
-
268
+
273
269
  // Update local state
274
- const todo = state.context.todos.find(t => t.id === event.payload.id);
270
+ const todo = state.context.todos.find((t) => t.id === event.payload.id);
275
271
  if (todo) {
276
272
  todo.completed = true;
277
273
  todo.completedAt = new Date(now);
278
274
  }
279
-
275
+
280
276
  return [TodoCompleted.create({ id: event.payload.id, completedAt: now })];
281
277
  },
282
278
  });
@@ -287,13 +283,13 @@ const deleteTodoRule = defineRule<TodoContext>({
287
283
  impl: async (state, events) => {
288
284
  const event = events.find(DELETE_TODO.is);
289
285
  if (!event) return [];
290
-
286
+
291
287
  // Delete from database
292
288
  await todos.deleteById(event.payload.id);
293
-
289
+
294
290
  // Update local state
295
- state.context.todos = state.context.todos.filter(t => t.id !== event.payload.id);
296
-
291
+ state.context.todos = state.context.todos.filter((t) => t.id !== event.payload.id);
292
+
297
293
  return [TodoDeleted.create({ id: event.payload.id })];
298
294
  },
299
295
  });
@@ -304,7 +300,7 @@ const setFilterRule = defineRule<TodoContext>({
304
300
  impl: (state, events) => {
305
301
  const event = events.find(SET_FILTER.is);
306
302
  if (!event) return [];
307
-
303
+
308
304
  state.context.filter = event.payload.filter;
309
305
  return [];
310
306
  },
@@ -321,7 +317,7 @@ registry.registerRule(setFilterRule);
321
317
  export async function createTodoEngine() {
322
318
  // Load existing todos from database
323
319
  const existingTodos = await todos.find({}, { sort: { createdAt: -1 } });
324
-
320
+
325
321
  return createPraxisEngine({
326
322
  initialContext: {
327
323
  todos: existingTodos,
@@ -347,19 +343,19 @@ export function setupSyncHandlers(onStatusChange: (status: string) => void) {
347
343
  db.on('sync:start', () => {
348
344
  onStatusChange('syncing');
349
345
  });
350
-
346
+
351
347
  db.on('sync:complete', () => {
352
348
  onStatusChange('online');
353
349
  });
354
-
350
+
355
351
  db.on('sync:error', () => {
356
352
  onStatusChange('offline');
357
353
  });
358
-
354
+
359
355
  db.on('online', () => {
360
356
  onStatusChange('online');
361
357
  });
362
-
358
+
363
359
  db.on('offline', () => {
364
360
  onStatusChange('offline');
365
361
  });
@@ -386,27 +382,27 @@ import { setupSyncHandlers, syncNow, getPendingCount } from './db';
386
382
 
387
383
  async function main() {
388
384
  console.log('🚀 Starting Todo App with PluresDB\n');
389
-
385
+
390
386
  // Create engine
391
387
  const engine = await createTodoEngine();
392
-
388
+
393
389
  // Setup sync status updates
394
390
  setupSyncHandlers((status) => {
395
391
  console.log(`📡 Sync status: ${status}`);
396
392
  });
397
-
393
+
398
394
  // Display current state
399
395
  function displayTodos() {
400
396
  const ctx = engine.getContext();
401
397
  console.log('\n📋 Todos:');
402
398
  console.log('─'.repeat(40));
403
-
404
- const filtered = ctx.todos.filter(todo => {
399
+
400
+ const filtered = ctx.todos.filter((todo) => {
405
401
  if (ctx.filter === 'active') return !todo.completed;
406
402
  if (ctx.filter === 'completed') return todo.completed;
407
403
  return true;
408
404
  });
409
-
405
+
410
406
  if (filtered.length === 0) {
411
407
  console.log(' No todos');
412
408
  } else {
@@ -415,43 +411,43 @@ async function main() {
415
411
  console.log(` ${i + 1}. ${checkbox} ${todo.title}`);
416
412
  });
417
413
  }
418
-
414
+
419
415
  console.log('─'.repeat(40));
420
416
  console.log(`Filter: ${ctx.filter} | Pending sync: ${getPendingCount()}`);
421
417
  console.log('');
422
418
  }
423
-
419
+
424
420
  // Show initial state
425
421
  displayTodos();
426
-
422
+
427
423
  // Add some todos
428
424
  console.log('Adding todos...');
429
-
425
+
430
426
  await engine.dispatch([CREATE_TODO.create({ title: 'Learn Praxis' })]);
431
427
  await engine.dispatch([CREATE_TODO.create({ title: 'Build with PluresDB' })]);
432
428
  await engine.dispatch([CREATE_TODO.create({ title: 'Deploy to production' })]);
433
-
429
+
434
430
  displayTodos();
435
-
431
+
436
432
  // Complete a todo
437
433
  const firstTodoId = engine.getContext().todos[0].id;
438
434
  console.log(`Completing: ${engine.getContext().todos[0].title}`);
439
435
  await engine.dispatch([COMPLETE_TODO.create({ id: firstTodoId })]);
440
-
436
+
441
437
  displayTodos();
442
-
438
+
443
439
  // Filter by active
444
440
  console.log('Filtering by active...');
445
441
  await engine.dispatch([SET_FILTER.create({ filter: 'active' })]);
446
-
442
+
447
443
  displayTodos();
448
-
444
+
449
445
  // Filter by completed
450
446
  console.log('Filtering by completed...');
451
447
  await engine.dispatch([SET_FILTER.create({ filter: 'completed' })]);
452
-
448
+
453
449
  displayTodos();
454
-
450
+
455
451
  // Trigger sync
456
452
  console.log('Syncing with server...');
457
453
  try {
@@ -460,7 +456,7 @@ async function main() {
460
456
  } catch (error) {
461
457
  console.log('⚠️ Sync failed (offline mode)');
462
458
  }
463
-
459
+
464
460
  console.log('\n🎉 Done!');
465
461
  }
466
462
 
@@ -492,7 +488,7 @@ describe('Todo Engine', () => {
492
488
  describe('CREATE_TODO', () => {
493
489
  it('should create a new todo', async () => {
494
490
  await engine.dispatch([CREATE_TODO.create({ title: 'Test todo' })]);
495
-
491
+
496
492
  const ctx = engine.getContext();
497
493
  expect(ctx.todos.length).toBe(1);
498
494
  expect(ctx.todos[0].title).toBe('Test todo');
@@ -501,10 +497,8 @@ describe('Todo Engine', () => {
501
497
 
502
498
  it('should emit TodoCreated fact', async () => {
503
499
  const result = await engine.step([CREATE_TODO.create({ title: 'Test' })]);
504
-
505
- expect(result.state.facts).toContainEqual(
506
- expect.objectContaining({ tag: 'TodoCreated' })
507
- );
500
+
501
+ expect(result.state.facts).toContainEqual(expect.objectContaining({ tag: 'TodoCreated' }));
508
502
  });
509
503
  });
510
504
 
@@ -512,9 +506,9 @@ describe('Todo Engine', () => {
512
506
  it('should mark todo as completed', async () => {
513
507
  await engine.dispatch([CREATE_TODO.create({ title: 'Test' })]);
514
508
  const todoId = engine.getContext().todos[0].id;
515
-
509
+
516
510
  await engine.dispatch([COMPLETE_TODO.create({ id: todoId })]);
517
-
511
+
518
512
  const todo = engine.getContext().todos[0];
519
513
  expect(todo.completed).toBe(true);
520
514
  expect(todo.completedAt).toBeDefined();
@@ -525,9 +519,9 @@ describe('Todo Engine', () => {
525
519
  it('should remove the todo', async () => {
526
520
  await engine.dispatch([CREATE_TODO.create({ title: 'Test' })]);
527
521
  const todoId = engine.getContext().todos[0].id;
528
-
522
+
529
523
  await engine.dispatch([DELETE_TODO.create({ id: todoId })]);
530
-
524
+
531
525
  expect(engine.getContext().todos.length).toBe(0);
532
526
  });
533
527
  });
@@ -535,7 +529,7 @@ describe('Todo Engine', () => {
535
529
  describe('SET_FILTER', () => {
536
530
  it('should update the filter', async () => {
537
531
  await engine.dispatch([SET_FILTER.create({ filter: 'completed' })]);
538
-
532
+
539
533
  expect(engine.getContext().filter).toBe('completed');
540
534
  });
541
535
  });
@@ -572,10 +566,18 @@ todos.subscribe({}, (items) => {
572
566
  ### 4. Sync Status
573
567
 
574
568
  ```typescript
575
- db.on('sync:start', () => { /* ... */ });
576
- db.on('sync:complete', () => { /* ... */ });
577
- db.on('online', () => { /* ... */ });
578
- db.on('offline', () => { /* ... */ });
569
+ db.on('sync:start', () => {
570
+ /* ... */
571
+ });
572
+ db.on('sync:complete', () => {
573
+ /* ... */
574
+ });
575
+ db.on('online', () => {
576
+ /* ... */
577
+ });
578
+ db.on('offline', () => {
579
+ /* ... */
580
+ });
579
581
  ```
580
582
 
581
583
  ## Next Steps
package/package.json CHANGED
@@ -1,96 +1,132 @@
1
- {
2
- "name": "@plures/praxis",
3
- "version": "1.0.2",
4
- "description": "The Full Plures Application Framework - declarative schemas, logic engine, component generation, and local-first data",
5
- "type": "module",
6
- "main": "./dist/src/index.js",
7
- "types": "./dist/src/index.d.ts",
8
- "bin": {
9
- "praxis": "./dist/src/cli/index.js"
10
- },
11
- "exports": {
12
- ".": {
13
- "types": "./dist/src/index.d.ts",
14
- "default": "./dist/src/index.js"
15
- },
16
- "./svelte": {
17
- "types": "./dist/src/integrations/svelte.d.ts",
18
- "default": "./dist/src/integrations/svelte.js"
19
- },
20
- "./schema": {
21
- "types": "./dist/core/schema-engine/types.d.ts",
22
- "default": "./dist/core/schema-engine/types.js"
23
- },
24
- "./component": {
25
- "types": "./dist/ui/svelte-generator/index.d.ts",
26
- "default": "./dist/ui/svelte-generator/index.js"
27
- },
28
- "./cloud": {
29
- "types": "./dist/src/cloud/index.d.ts",
30
- "default": "./dist/src/cloud/index.js"
31
- },
32
- "./components": {
33
- "types": "./dist/src/components/index.d.ts",
34
- "svelte": "./src/components/TerminalNode.svelte"
35
- }
36
- },
37
- "files": [
38
- "dist",
39
- "src",
40
- "core",
41
- "cli",
42
- "templates",
43
- "docs",
44
- "README.md",
45
- "FRAMEWORK.md",
46
- "src/components"
47
- ],
48
- "scripts": {
49
- "build": "tsc",
50
- "test": "vitest run",
51
- "test:watch": "vitest",
52
- "test:ui": "vitest --ui",
53
- "typecheck": "tsc --noEmit",
54
- "cli": "node ./dist/src/cli/index.js"
55
- },
56
- "keywords": [
57
- "praxis",
58
- "framework",
59
- "plures",
60
- "logic",
61
- "schema",
62
- "component-generation",
63
- "local-first",
64
- "functional",
65
- "typescript",
66
- "state-management",
67
- "facts",
68
- "rules",
69
- "constraints",
70
- "orchestration",
71
- "canvas",
72
- "visual-development"
73
- ],
74
- "author": "Plures",
75
- "license": "MIT",
76
- "devDependencies": {
77
- "@types/js-yaml": "^4.0.9",
78
- "@types/node": "^24.10.1",
79
- "@vitest/ui": "^4.0.10",
80
- "tsx": "^4.20.6",
81
- "typescript": "^5.9.3",
82
- "vitest": "^4.0.10"
83
- },
84
- "dependencies": {
85
- "commander": "^14.0.2",
86
- "js-yaml": "^4.1.1"
87
- },
88
- "peerDependencies": {
89
- "svelte": "^5.0.0"
90
- },
91
- "peerDependenciesMeta": {
92
- "svelte": {
93
- "optional": true
94
- }
95
- }
96
- }
1
+ {
2
+ "name": "@plures/praxis",
3
+ "version": "1.1.0",
4
+ "description": "The Full Plures Application Framework - declarative schemas, logic engine, component generation, and local-first data",
5
+ "type": "module",
6
+ "main": "./dist/node/index.js",
7
+ "types": "./dist/node/index.d.ts",
8
+ "bin": {
9
+ "praxis": "./dist/node/cli/index.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "node": {
14
+ "types": "./dist/node/index.d.ts",
15
+ "import": "./dist/node/index.js",
16
+ "require": "./dist/node/index.cjs"
17
+ },
18
+ "browser": {
19
+ "types": "./dist/browser/index.d.ts",
20
+ "import": "./dist/browser/index.js"
21
+ },
22
+ "default": "./dist/node/index.js"
23
+ },
24
+ "./svelte": {
25
+ "node": {
26
+ "types": "./dist/node/integrations/svelte.d.ts",
27
+ "import": "./dist/node/integrations/svelte.js",
28
+ "require": "./dist/node/integrations/svelte.cjs"
29
+ },
30
+ "browser": {
31
+ "types": "./dist/browser/integrations/svelte.d.ts",
32
+ "import": "./dist/browser/integrations/svelte.js"
33
+ },
34
+ "default": "./dist/node/integrations/svelte.js"
35
+ },
36
+ "./schema": {
37
+ "types": "./dist/node/schema.d.ts",
38
+ "import": "./dist/node/schema.js",
39
+ "require": "./dist/node/schema.cjs",
40
+ "default": "./dist/node/schema.js"
41
+ },
42
+ "./component": {
43
+ "types": "./dist/node/component.d.ts",
44
+ "import": "./dist/node/component.js",
45
+ "require": "./dist/node/component.cjs",
46
+ "default": "./dist/node/component.js"
47
+ },
48
+ "./cloud": {
49
+ "types": "./dist/node/cloud/index.d.ts",
50
+ "import": "./dist/node/cloud/index.js",
51
+ "require": "./dist/node/cloud/index.cjs",
52
+ "default": "./dist/node/cloud/index.js"
53
+ },
54
+ "./components": {
55
+ "types": "./dist/node/components/index.d.ts",
56
+ "svelte": "./src/components/TerminalNode.svelte",
57
+ "import": "./dist/node/components/index.js",
58
+ "require": "./dist/node/components/index.cjs",
59
+ "default": "./dist/node/components/index.js"
60
+ }
61
+ },
62
+ "files": [
63
+ "dist",
64
+ "src",
65
+ "core",
66
+ "cli",
67
+ "templates",
68
+ "docs",
69
+ "README.md",
70
+ "FRAMEWORK.md",
71
+ "src/components",
72
+ "LICENSE"
73
+ ],
74
+ "scripts": {
75
+ "build": "tsup",
76
+ "test": "vitest run",
77
+ "test:watch": "vitest",
78
+ "test:ui": "vitest --ui",
79
+ "typecheck": "tsc --noEmit",
80
+ "cli": "node ./dist/src/cli/index.js"
81
+ },
82
+ "keywords": [
83
+ "praxis",
84
+ "framework",
85
+ "plures",
86
+ "logic",
87
+ "schema",
88
+ "component-generation",
89
+ "local-first",
90
+ "functional",
91
+ "typescript",
92
+ "state-management",
93
+ "facts",
94
+ "rules",
95
+ "constraints",
96
+ "orchestration",
97
+ "canvas",
98
+ "visual-development"
99
+ ],
100
+ "author": "Plures",
101
+ "license": "MIT",
102
+ "devDependencies": {
103
+ "@sveltejs/vite-plugin-svelte": "^6.2.1",
104
+ "@types/js-yaml": "^4.0.9",
105
+ "@types/node": "^25.0.1",
106
+ "@types/ws": "^8.18.1",
107
+ "@vitest/ui": "^4.0.15",
108
+ "esbuild-svelte": "^0.9.4",
109
+ "svelte": "^5.46.0",
110
+ "svelte-preprocess": "^6.0.3",
111
+ "tsup": "^8.5.1",
112
+ "tsx": "^4.21.0",
113
+ "typescript": "^5.9.3",
114
+ "vite": "^7.2.7",
115
+ "vitest": "^4.0.15"
116
+ },
117
+ "dependencies": {
118
+ "commander": "^14.0.2",
119
+ "js-yaml": "^4.1.1"
120
+ },
121
+ "peerDependencies": {
122
+ "svelte": "^5.46.0"
123
+ },
124
+ "peerDependenciesMeta": {
125
+ "svelte": {
126
+ "optional": true
127
+ }
128
+ },
129
+ "publishConfig": {
130
+ "access": "public"
131
+ }
132
+ }