@plures/praxis 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/README.md +162 -375
  3. package/core/codegen/docs-generator.ts +5 -2
  4. package/core/codegen/index.ts +1 -1
  5. package/core/db-adapter/index.ts +2 -2
  6. package/core/db-adapter/sync-engine.ts +17 -6
  7. package/core/logic-engine/engine.ts +1 -1
  8. package/core/logic-engine/index.ts +2 -2
  9. package/core/logic-engine/protocol.ts +1 -1
  10. package/core/logic-engine/psf-adapter.ts +8 -4
  11. package/core/logic-engine/rules.ts +1 -1
  12. package/core/schema-engine/compiler.ts +53 -11
  13. package/core/schema-engine/generator.ts +17 -7
  14. package/core/schema-engine/index.ts +2 -2
  15. package/core/schema-engine/psf.ts +12 -3
  16. package/core/schema-engine/types.ts +3 -11
  17. package/core/schema-engine/validator.ts +112 -22
  18. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  19. package/dist/browser/index.d.ts +3004 -0
  20. package/dist/browser/index.js +2892 -0
  21. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  22. package/dist/browser/integrations/svelte.js +298 -0
  23. package/dist/node/auth-STARLY7I.js +207 -0
  24. package/dist/node/build-Y7OT5VBF.js +144 -0
  25. package/dist/node/canvas-UERZHJYW.js +362 -0
  26. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  27. package/dist/node/chunk-FXQZXAWF.js +175 -0
  28. package/dist/node/chunk-N5Y37EUV.js +202 -0
  29. package/dist/node/chunk-QGM4M3NI.js +37 -0
  30. package/dist/node/chunk-RJMWCNHR.js +175 -0
  31. package/dist/node/chunk-SRM3OPPM.js +404 -0
  32. package/dist/node/chunk-UATVJBNV.js +175 -0
  33. package/dist/node/chunk-UY7YEBE2.js +159 -0
  34. package/dist/node/chunk-XCY2VIFX.js +143 -0
  35. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  36. package/dist/node/cli/index.cjs +215139 -0
  37. package/dist/node/cli/index.d.cts +1 -0
  38. package/dist/node/cli/index.d.ts +1 -0
  39. package/dist/node/cli/index.js +690 -0
  40. package/dist/node/cloud/index.cjs +1043 -0
  41. package/dist/node/cloud/index.d.cts +864 -0
  42. package/dist/node/cloud/index.d.ts +864 -0
  43. package/dist/node/cloud/index.js +456 -0
  44. package/dist/node/cloud-AXOK4PSN.js +212 -0
  45. package/dist/node/component.cjs +374 -0
  46. package/dist/node/component.d.cts +125 -0
  47. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  48. package/dist/node/component.js +9 -0
  49. package/dist/node/components/index.cjs +216 -0
  50. package/dist/node/components/index.d.cts +43 -0
  51. package/dist/{src → node}/components/index.d.ts +8 -8
  52. package/dist/node/components/index.js +7 -0
  53. package/dist/node/create-TRLSVCNQ.js +584 -0
  54. package/dist/node/dev-PMJZUYGE.js +65 -0
  55. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  56. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  57. package/dist/node/index.cjs +3247 -0
  58. package/dist/node/index.d.cts +2579 -0
  59. package/dist/node/index.d.ts +2579 -0
  60. package/dist/node/index.js +2098 -0
  61. package/dist/node/integrations/svelte.cjs +330 -0
  62. package/dist/node/integrations/svelte.d.cts +309 -0
  63. package/dist/node/integrations/svelte.d.ts +309 -0
  64. package/dist/node/integrations/svelte.js +300 -0
  65. package/dist/node/orchestrate-737TCL5H.js +127 -0
  66. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  67. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  68. package/dist/node/schema.cjs +200 -0
  69. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  70. package/dist/node/schema.d.ts +371 -0
  71. package/dist/node/schema.js +9 -0
  72. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  73. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  74. package/dist/node/verify-QRYKRIDU.js +210960 -0
  75. package/docs/MONETIZATION.md +21 -16
  76. package/docs/REACTIVE_REDESIGN.md +132 -0
  77. package/docs/README.md +47 -36
  78. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  79. package/docs/TERMINAL_NODE.md +27 -24
  80. package/docs/core/building-extensions.md +58 -61
  81. package/docs/core/cli-usage.md +59 -59
  82. package/docs/core/code-canvas-sync.md +28 -16
  83. package/docs/core/logic-engine.md +77 -82
  84. package/docs/core/pluresdb-integration.md +29 -39
  85. package/docs/core/schema-model.md +66 -52
  86. package/docs/core/ui-generation.md +57 -49
  87. package/docs/core/what-is-praxis.md +32 -15
  88. package/docs/guides/canvas.md +21 -5
  89. package/docs/guides/getting-started.md +13 -7
  90. package/docs/guides/history-state-pattern.md +65 -51
  91. package/docs/guides/orchestration.md +46 -32
  92. package/docs/guides/parallel-state-pattern.md +56 -72
  93. package/docs/guides/svelte-integration.md +45 -53
  94. package/docs/tutorials/README.md +16 -0
  95. package/docs/tutorials/ecommerce-cart.md +177 -95
  96. package/docs/tutorials/first-app.md +26 -41
  97. package/docs/tutorials/form-builder.md +191 -138
  98. package/docs/tutorials/todo-pluresdb.md +71 -69
  99. package/package.json +58 -23
  100. package/src/__tests__/actors.test.ts +68 -68
  101. package/src/__tests__/billing.test.ts +32 -32
  102. package/src/__tests__/canvas-components.test.ts +94 -73
  103. package/src/__tests__/cli-create.test.ts +28 -28
  104. package/src/__tests__/cloud.test.ts +36 -36
  105. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  106. package/src/__tests__/docs-generator.test.ts +3 -9
  107. package/src/__tests__/dsl.test.ts +58 -64
  108. package/src/__tests__/edge-cases.test.ts +106 -108
  109. package/src/__tests__/engine.test.ts +51 -25
  110. package/src/__tests__/generators.test.ts +42 -44
  111. package/src/__tests__/introspection.test.ts +104 -114
  112. package/src/__tests__/pluresdb.test.ts +189 -187
  113. package/src/__tests__/protocol.test.ts +15 -15
  114. package/src/__tests__/provisioning.test.ts +61 -61
  115. package/src/__tests__/schema.test.ts +7 -11
  116. package/src/__tests__/state-docs-integration.test.ts +162 -145
  117. package/src/__tests__/svelte-integration.test.ts +16 -19
  118. package/src/__tests__/tauri-integration.test.ts +149 -147
  119. package/src/__tests__/terminal-node.test.ts +12 -7
  120. package/src/__tests__/unum-integration.test.ts +68 -68
  121. package/src/adapters/cli.ts +21 -15
  122. package/src/cli/commands/auth.ts +82 -78
  123. package/src/cli/commands/build.ts +29 -27
  124. package/src/cli/commands/canvas.ts +338 -127
  125. package/src/cli/commands/cloud.ts +47 -47
  126. package/src/cli/commands/create.ts +59 -47
  127. package/src/cli/commands/dev.ts +12 -12
  128. package/src/cli/commands/generate.ts +29 -40
  129. package/src/cli/commands/orchestrate.ts +24 -24
  130. package/src/cli/commands/verify.ts +7 -8
  131. package/src/cli/index.ts +14 -10
  132. package/src/cloud/README.md +28 -15
  133. package/src/cloud/auth.ts +55 -70
  134. package/src/cloud/billing.ts +59 -58
  135. package/src/cloud/client.ts +29 -35
  136. package/src/cloud/index.ts +19 -40
  137. package/src/cloud/marketplace.ts +69 -78
  138. package/src/cloud/provisioning.ts +42 -51
  139. package/src/cloud/relay/endpoints.ts +30 -34
  140. package/src/cloud/relay/health/index.ts +1 -1
  141. package/src/cloud/relay/stats/index.ts +1 -1
  142. package/src/cloud/relay/sync/index.ts +1 -1
  143. package/src/cloud/relay/usage/index.ts +1 -1
  144. package/src/cloud/sponsors.ts +31 -34
  145. package/src/cloud/types.ts +4 -4
  146. package/src/components/README.md +1 -0
  147. package/src/components/index.ts +3 -4
  148. package/src/core/actors.ts +7 -7
  149. package/src/core/component/generator.ts +10 -28
  150. package/src/core/engine.ts +51 -24
  151. package/src/core/introspection.ts +37 -35
  152. package/src/core/logic/generator.ts +62 -62
  153. package/src/core/pluresdb/adapter.ts +8 -8
  154. package/src/core/pluresdb/generator.ts +39 -35
  155. package/src/core/pluresdb/index.ts +9 -12
  156. package/src/core/pluresdb/schema-registry.ts +22 -25
  157. package/src/core/pluresdb/store.ts +57 -57
  158. package/src/core/protocol.ts +14 -14
  159. package/src/core/reactive-engine.svelte.ts +65 -0
  160. package/src/core/reactive-engine.ts +67 -0
  161. package/src/core/rules.ts +4 -4
  162. package/src/core/schema/loader.common.ts +150 -0
  163. package/src/core/schema/loader.ts +19 -149
  164. package/src/core/schema/normalize.ts +34 -51
  165. package/src/core/schema/types.ts +47 -11
  166. package/src/dsl/index.ts +8 -8
  167. package/src/dsl.ts +11 -17
  168. package/src/examples/advanced-todo/README.md +58 -40
  169. package/src/examples/advanced-todo/index.ts +3 -3
  170. package/src/examples/auth-basic/index.ts +30 -30
  171. package/src/examples/cart/index.ts +50 -50
  172. package/src/examples/hero-ecommerce/index.ts +130 -157
  173. package/src/examples/svelte-counter/index.ts +22 -26
  174. package/src/flows.ts +6 -17
  175. package/src/index.browser.ts +204 -0
  176. package/src/index.ts +37 -42
  177. package/src/integrations/code-canvas.ts +237 -193
  178. package/src/integrations/pluresdb.ts +55 -35
  179. package/src/integrations/state-docs.ts +104 -104
  180. package/src/integrations/svelte.ts +35 -35
  181. package/src/integrations/tauri.ts +75 -73
  182. package/src/integrations/unum.ts +68 -61
  183. package/src/registry.ts +7 -14
  184. package/src/runtime/terminal-adapter.ts +31 -26
  185. package/src/step.ts +10 -16
  186. package/src/types.ts +1 -1
  187. package/templates/basic-app/README.md +6 -9
  188. package/templates/fullstack-app/README.md +10 -0
  189. package/dist/core/codegen/docs-generator.d.ts +0 -123
  190. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  191. package/dist/core/codegen/docs-generator.js +0 -674
  192. package/dist/core/codegen/docs-generator.js.map +0 -1
  193. package/dist/core/codegen/index.d.ts +0 -11
  194. package/dist/core/codegen/index.d.ts.map +0 -1
  195. package/dist/core/codegen/index.js +0 -13
  196. package/dist/core/codegen/index.js.map +0 -1
  197. package/dist/core/codegen/ts-generator.d.ts +0 -8
  198. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  199. package/dist/core/codegen/ts-generator.js +0 -8
  200. package/dist/core/codegen/ts-generator.js.map +0 -1
  201. package/dist/core/db-adapter/index.d.ts +0 -18
  202. package/dist/core/db-adapter/index.d.ts.map +0 -1
  203. package/dist/core/db-adapter/index.js +0 -23
  204. package/dist/core/db-adapter/index.js.map +0 -1
  205. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  206. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  207. package/dist/core/db-adapter/sync-engine.js +0 -342
  208. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  209. package/dist/core/logic-engine/engine.d.ts +0 -8
  210. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  211. package/dist/core/logic-engine/engine.js +0 -8
  212. package/dist/core/logic-engine/engine.js.map +0 -1
  213. package/dist/core/logic-engine/index.d.ts +0 -16
  214. package/dist/core/logic-engine/index.d.ts.map +0 -1
  215. package/dist/core/logic-engine/index.js +0 -16
  216. package/dist/core/logic-engine/index.js.map +0 -1
  217. package/dist/core/logic-engine/protocol.d.ts +0 -7
  218. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  219. package/dist/core/logic-engine/protocol.js +0 -7
  220. package/dist/core/logic-engine/protocol.js.map +0 -1
  221. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  222. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  223. package/dist/core/logic-engine/psf-adapter.js +0 -207
  224. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  225. package/dist/core/logic-engine/rules.d.ts +0 -7
  226. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  227. package/dist/core/logic-engine/rules.js +0 -7
  228. package/dist/core/logic-engine/rules.js.map +0 -1
  229. package/dist/core/schema-engine/compiler.d.ts +0 -198
  230. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  231. package/dist/core/schema-engine/compiler.js +0 -262
  232. package/dist/core/schema-engine/compiler.js.map +0 -1
  233. package/dist/core/schema-engine/generator.d.ts +0 -115
  234. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  235. package/dist/core/schema-engine/generator.js +0 -506
  236. package/dist/core/schema-engine/generator.js.map +0 -1
  237. package/dist/core/schema-engine/index.d.ts +0 -18
  238. package/dist/core/schema-engine/index.d.ts.map +0 -1
  239. package/dist/core/schema-engine/index.js +0 -18
  240. package/dist/core/schema-engine/index.js.map +0 -1
  241. package/dist/core/schema-engine/psf.d.ts +0 -612
  242. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  243. package/dist/core/schema-engine/psf.js +0 -45
  244. package/dist/core/schema-engine/psf.js.map +0 -1
  245. package/dist/core/schema-engine/types.d.ts +0 -10
  246. package/dist/core/schema-engine/types.d.ts.map +0 -1
  247. package/dist/core/schema-engine/types.js +0 -7
  248. package/dist/core/schema-engine/types.js.map +0 -1
  249. package/dist/core/schema-engine/validator.d.ts +0 -140
  250. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  251. package/dist/core/schema-engine/validator.js +0 -407
  252. package/dist/core/schema-engine/validator.js.map +0 -1
  253. package/dist/src/adapters/cli.d.ts +0 -43
  254. package/dist/src/adapters/cli.d.ts.map +0 -1
  255. package/dist/src/adapters/cli.js +0 -126
  256. package/dist/src/adapters/cli.js.map +0 -1
  257. package/dist/src/cli/commands/auth.d.ts +0 -26
  258. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  259. package/dist/src/cli/commands/auth.js +0 -233
  260. package/dist/src/cli/commands/auth.js.map +0 -1
  261. package/dist/src/cli/commands/build.d.ts +0 -23
  262. package/dist/src/cli/commands/build.d.ts.map +0 -1
  263. package/dist/src/cli/commands/build.js +0 -162
  264. package/dist/src/cli/commands/build.js.map +0 -1
  265. package/dist/src/cli/commands/canvas.d.ts +0 -23
  266. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  267. package/dist/src/cli/commands/canvas.js +0 -215
  268. package/dist/src/cli/commands/canvas.js.map +0 -1
  269. package/dist/src/cli/commands/cloud.d.ts +0 -27
  270. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  271. package/dist/src/cli/commands/cloud.js +0 -232
  272. package/dist/src/cli/commands/cloud.js.map +0 -1
  273. package/dist/src/cli/commands/create.d.ts +0 -21
  274. package/dist/src/cli/commands/create.d.ts.map +0 -1
  275. package/dist/src/cli/commands/create.js +0 -621
  276. package/dist/src/cli/commands/create.js.map +0 -1
  277. package/dist/src/cli/commands/dev.d.ts +0 -21
  278. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  279. package/dist/src/cli/commands/dev.js +0 -71
  280. package/dist/src/cli/commands/dev.js.map +0 -1
  281. package/dist/src/cli/commands/generate.d.ts +0 -25
  282. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  283. package/dist/src/cli/commands/generate.js +0 -168
  284. package/dist/src/cli/commands/generate.js.map +0 -1
  285. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  286. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/orchestrate.js +0 -150
  288. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  289. package/dist/src/cli/commands/verify.d.ts +0 -10
  290. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  291. package/dist/src/cli/commands/verify.js +0 -39
  292. package/dist/src/cli/commands/verify.js.map +0 -1
  293. package/dist/src/cli/index.d.ts +0 -8
  294. package/dist/src/cli/index.d.ts.map +0 -1
  295. package/dist/src/cli/index.js +0 -226
  296. package/dist/src/cli/index.js.map +0 -1
  297. package/dist/src/cloud/auth.d.ts +0 -51
  298. package/dist/src/cloud/auth.d.ts.map +0 -1
  299. package/dist/src/cloud/auth.js +0 -194
  300. package/dist/src/cloud/auth.js.map +0 -1
  301. package/dist/src/cloud/billing.d.ts +0 -184
  302. package/dist/src/cloud/billing.d.ts.map +0 -1
  303. package/dist/src/cloud/billing.js +0 -179
  304. package/dist/src/cloud/billing.js.map +0 -1
  305. package/dist/src/cloud/client.d.ts +0 -39
  306. package/dist/src/cloud/client.d.ts.map +0 -1
  307. package/dist/src/cloud/client.js +0 -176
  308. package/dist/src/cloud/client.js.map +0 -1
  309. package/dist/src/cloud/index.d.ts +0 -44
  310. package/dist/src/cloud/index.d.ts.map +0 -1
  311. package/dist/src/cloud/index.js +0 -44
  312. package/dist/src/cloud/index.js.map +0 -1
  313. package/dist/src/cloud/marketplace.d.ts +0 -166
  314. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  315. package/dist/src/cloud/marketplace.js +0 -159
  316. package/dist/src/cloud/marketplace.js.map +0 -1
  317. package/dist/src/cloud/provisioning.d.ts +0 -110
  318. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  319. package/dist/src/cloud/provisioning.js +0 -148
  320. package/dist/src/cloud/provisioning.js.map +0 -1
  321. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  322. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  323. package/dist/src/cloud/relay/endpoints.js +0 -217
  324. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  325. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  326. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/health/index.js +0 -9
  328. package/dist/src/cloud/relay/health/index.js.map +0 -1
  329. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/stats/index.js +0 -9
  332. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  333. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/sync/index.js +0 -9
  336. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  337. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/usage/index.js +0 -9
  340. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  341. package/dist/src/cloud/sponsors.d.ts +0 -81
  342. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  343. package/dist/src/cloud/sponsors.js +0 -130
  344. package/dist/src/cloud/sponsors.js.map +0 -1
  345. package/dist/src/cloud/types.d.ts +0 -169
  346. package/dist/src/cloud/types.d.ts.map +0 -1
  347. package/dist/src/cloud/types.js +0 -7
  348. package/dist/src/cloud/types.js.map +0 -1
  349. package/dist/src/components/index.d.ts.map +0 -1
  350. package/dist/src/components/index.js +0 -17
  351. package/dist/src/components/index.js.map +0 -1
  352. package/dist/src/core/actors.d.ts +0 -95
  353. package/dist/src/core/actors.d.ts.map +0 -1
  354. package/dist/src/core/actors.js +0 -158
  355. package/dist/src/core/actors.js.map +0 -1
  356. package/dist/src/core/component/generator.d.ts.map +0 -1
  357. package/dist/src/core/component/generator.js +0 -349
  358. package/dist/src/core/component/generator.js.map +0 -1
  359. package/dist/src/core/engine.d.ts +0 -92
  360. package/dist/src/core/engine.d.ts.map +0 -1
  361. package/dist/src/core/engine.js +0 -199
  362. package/dist/src/core/engine.js.map +0 -1
  363. package/dist/src/core/introspection.d.ts +0 -141
  364. package/dist/src/core/introspection.d.ts.map +0 -1
  365. package/dist/src/core/introspection.js +0 -208
  366. package/dist/src/core/introspection.js.map +0 -1
  367. package/dist/src/core/logic/generator.d.ts +0 -76
  368. package/dist/src/core/logic/generator.d.ts.map +0 -1
  369. package/dist/src/core/logic/generator.js +0 -370
  370. package/dist/src/core/logic/generator.js.map +0 -1
  371. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  372. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  373. package/dist/src/core/pluresdb/adapter.js +0 -73
  374. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  375. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  376. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/generator.js +0 -191
  378. package/dist/src/core/pluresdb/generator.js.map +0 -1
  379. package/dist/src/core/pluresdb/index.d.ts +0 -15
  380. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/index.js +0 -11
  382. package/dist/src/core/pluresdb/index.js.map +0 -1
  383. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  384. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  386. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  387. package/dist/src/core/pluresdb/store.d.ts +0 -199
  388. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/store.js +0 -344
  390. package/dist/src/core/pluresdb/store.js.map +0 -1
  391. package/dist/src/core/protocol.d.ts.map +0 -1
  392. package/dist/src/core/protocol.js +0 -46
  393. package/dist/src/core/protocol.js.map +0 -1
  394. package/dist/src/core/rules.d.ts +0 -120
  395. package/dist/src/core/rules.d.ts.map +0 -1
  396. package/dist/src/core/rules.js +0 -81
  397. package/dist/src/core/rules.js.map +0 -1
  398. package/dist/src/core/schema/loader.d.ts +0 -47
  399. package/dist/src/core/schema/loader.d.ts.map +0 -1
  400. package/dist/src/core/schema/loader.js +0 -189
  401. package/dist/src/core/schema/loader.js.map +0 -1
  402. package/dist/src/core/schema/normalize.d.ts +0 -72
  403. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  404. package/dist/src/core/schema/normalize.js +0 -190
  405. package/dist/src/core/schema/normalize.js.map +0 -1
  406. package/dist/src/core/schema/types.d.ts.map +0 -1
  407. package/dist/src/core/schema/types.js +0 -161
  408. package/dist/src/core/schema/types.js.map +0 -1
  409. package/dist/src/dsl/index.d.ts +0 -152
  410. package/dist/src/dsl/index.d.ts.map +0 -1
  411. package/dist/src/dsl/index.js +0 -132
  412. package/dist/src/dsl/index.js.map +0 -1
  413. package/dist/src/dsl.d.ts +0 -124
  414. package/dist/src/dsl.d.ts.map +0 -1
  415. package/dist/src/dsl.js +0 -130
  416. package/dist/src/dsl.js.map +0 -1
  417. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  418. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  419. package/dist/src/examples/advanced-todo/index.js +0 -222
  420. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  421. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  422. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  423. package/dist/src/examples/auth-basic/index.js +0 -122
  424. package/dist/src/examples/auth-basic/index.js.map +0 -1
  425. package/dist/src/examples/cart/index.d.ts +0 -19
  426. package/dist/src/examples/cart/index.d.ts.map +0 -1
  427. package/dist/src/examples/cart/index.js +0 -202
  428. package/dist/src/examples/cart/index.js.map +0 -1
  429. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  430. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  431. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  432. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  433. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  434. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  435. package/dist/src/examples/svelte-counter/index.js +0 -123
  436. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  437. package/dist/src/flows.d.ts +0 -125
  438. package/dist/src/flows.d.ts.map +0 -1
  439. package/dist/src/flows.js +0 -160
  440. package/dist/src/flows.js.map +0 -1
  441. package/dist/src/index.d.ts +0 -77
  442. package/dist/src/index.d.ts.map +0 -1
  443. package/dist/src/index.js +0 -64
  444. package/dist/src/index.js.map +0 -1
  445. package/dist/src/integrations/code-canvas.d.ts +0 -265
  446. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  447. package/dist/src/integrations/code-canvas.js +0 -451
  448. package/dist/src/integrations/code-canvas.js.map +0 -1
  449. package/dist/src/integrations/pluresdb.d.ts +0 -117
  450. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  451. package/dist/src/integrations/pluresdb.js +0 -117
  452. package/dist/src/integrations/pluresdb.js.map +0 -1
  453. package/dist/src/integrations/state-docs.d.ts +0 -191
  454. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  455. package/dist/src/integrations/state-docs.js +0 -515
  456. package/dist/src/integrations/state-docs.js.map +0 -1
  457. package/dist/src/integrations/svelte.d.ts.map +0 -1
  458. package/dist/src/integrations/svelte.js +0 -447
  459. package/dist/src/integrations/svelte.js.map +0 -1
  460. package/dist/src/integrations/tauri.d.ts +0 -360
  461. package/dist/src/integrations/tauri.d.ts.map +0 -1
  462. package/dist/src/integrations/tauri.js +0 -278
  463. package/dist/src/integrations/tauri.js.map +0 -1
  464. package/dist/src/integrations/unum.d.ts +0 -159
  465. package/dist/src/integrations/unum.d.ts.map +0 -1
  466. package/dist/src/integrations/unum.js +0 -240
  467. package/dist/src/integrations/unum.js.map +0 -1
  468. package/dist/src/registry.d.ts +0 -94
  469. package/dist/src/registry.d.ts.map +0 -1
  470. package/dist/src/registry.js +0 -181
  471. package/dist/src/registry.js.map +0 -1
  472. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  473. package/dist/src/runtime/terminal-adapter.js +0 -239
  474. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  475. package/dist/src/step.d.ts +0 -34
  476. package/dist/src/step.d.ts.map +0 -1
  477. package/dist/src/step.js +0 -111
  478. package/dist/src/step.js.map +0 -1
  479. package/dist/src/types.d.ts +0 -63
  480. package/dist/src/types.d.ts.map +0 -1
  481. package/dist/src/types.js +0 -6
  482. package/dist/src/types.js.map +0 -1
  483. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  484. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  485. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  486. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  487. package/dist/tools/cli/commands/index.d.ts +0 -7
  488. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  489. package/dist/tools/cli/commands/index.js +0 -7
  490. package/dist/tools/cli/commands/index.js.map +0 -1
  491. package/dist/tools/cli/index.d.ts +0 -8
  492. package/dist/tools/cli/index.d.ts.map +0 -1
  493. package/dist/tools/cli/index.js +0 -9
  494. package/dist/tools/cli/index.js.map +0 -1
  495. package/dist/tools/watcher/index.d.ts +0 -105
  496. package/dist/tools/watcher/index.d.ts.map +0 -1
  497. package/dist/tools/watcher/index.js +0 -213
  498. package/dist/tools/watcher/index.js.map +0 -1
  499. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  500. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  501. package/dist/ui/canvas/canvas-projection.js +0 -416
  502. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  503. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  504. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-state.js +0 -464
  506. package/dist/ui/canvas/canvas-state.js.map +0 -1
  507. package/dist/ui/canvas/components/index.d.ts +0 -95
  508. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  509. package/dist/ui/canvas/components/index.js +0 -19
  510. package/dist/ui/canvas/components/index.js.map +0 -1
  511. package/dist/ui/canvas/index.d.ts +0 -32
  512. package/dist/ui/canvas/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/index.js +0 -32
  514. package/dist/ui/canvas/index.js.map +0 -1
  515. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  516. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  517. package/dist/ui/canvas-inspector/src/server.js +0 -248
  518. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  520. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  522. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  523. package/dist/ui/svelte-generator/index.d.ts +0 -9
  524. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  525. package/dist/ui/svelte-generator/index.js +0 -11
  526. package/dist/ui/svelte-generator/index.js.map +0 -1
  527. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  528. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  530. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -1,123 +0,0 @@
1
- /**
2
- * Svelte Counter Example
3
- *
4
- * Demonstrates Svelte v5 integration with a simple counter.
5
- * Shows how to connect Praxis logic to reactive Svelte stores.
6
- */
7
- import { createPraxisEngine, PraxisRegistry, defineFact, defineEvent, defineRule, findEvent, } from "../../index.js";
8
- import { createPraxisStore, createDerivedStore } from "../../integrations/svelte.js";
9
- // Define facts
10
- const CountIncremented = defineFact("CountIncremented");
11
- const CountDecremented = defineFact("CountDecremented");
12
- const CountReset = defineFact("CountReset");
13
- // Define events
14
- const Increment = defineEvent("INCREMENT");
15
- const Decrement = defineEvent("DECREMENT");
16
- const Reset = defineEvent("RESET");
17
- // Define rules
18
- const incrementRule = defineRule({
19
- id: "counter.increment",
20
- description: "Increment the counter",
21
- impl: (state, events) => {
22
- const incrementEvent = findEvent(events, Increment);
23
- if (!incrementEvent) {
24
- return [];
25
- }
26
- const amount = incrementEvent.payload.amount ?? 1;
27
- state.context.count += amount;
28
- state.context.history.push(state.context.count);
29
- return [CountIncremented.create({ amount })];
30
- },
31
- });
32
- const decrementRule = defineRule({
33
- id: "counter.decrement",
34
- description: "Decrement the counter",
35
- impl: (state, events) => {
36
- const decrementEvent = findEvent(events, Decrement);
37
- if (!decrementEvent) {
38
- return [];
39
- }
40
- const amount = decrementEvent.payload.amount ?? 1;
41
- state.context.count -= amount;
42
- state.context.history.push(state.context.count);
43
- return [CountDecremented.create({ amount })];
44
- },
45
- });
46
- const resetRule = defineRule({
47
- id: "counter.reset",
48
- description: "Reset the counter",
49
- impl: (state, events) => {
50
- const resetEvent = findEvent(events, Reset);
51
- if (!resetEvent) {
52
- return [];
53
- }
54
- state.context.count = 0;
55
- state.context.history = [0];
56
- return [CountReset.create({})];
57
- },
58
- });
59
- // Create and configure the engine
60
- function createCounterEngine() {
61
- const registry = new PraxisRegistry();
62
- registry.registerRule(incrementRule);
63
- registry.registerRule(decrementRule);
64
- registry.registerRule(resetRule);
65
- const engine = createPraxisEngine({
66
- initialContext: {
67
- count: 0,
68
- history: [0],
69
- },
70
- registry,
71
- });
72
- return engine;
73
- }
74
- // Create Svelte stores
75
- function createCounterStores() {
76
- const engine = createCounterEngine();
77
- const stateStore = createPraxisStore(engine);
78
- const countStore = createDerivedStore(engine, (ctx) => ctx.count);
79
- const historyStore = createDerivedStore(engine, (ctx) => ctx.history);
80
- return {
81
- engine,
82
- stateStore,
83
- countStore,
84
- historyStore,
85
- // Helper methods
86
- increment: (amount) => {
87
- engine.step([Increment.create({ amount })]);
88
- },
89
- decrement: (amount) => {
90
- engine.step([Decrement.create({ amount })]);
91
- },
92
- reset: () => {
93
- engine.step([Reset.create({})]);
94
- },
95
- };
96
- }
97
- // Example usage (non-Svelte demonstration)
98
- function runExample() {
99
- console.log("=== Svelte Counter Example ===\n");
100
- const { engine, countStore } = createCounterStores();
101
- // Subscribe to count changes
102
- console.log("Subscribing to count changes...\n");
103
- const unsubscribe = countStore.subscribe((count) => {
104
- console.log(`Count changed: ${count}`);
105
- });
106
- // Dispatch some events
107
- console.log("\nIncrementing by 1:");
108
- engine.step([Increment.create({})]);
109
- console.log("\nIncrementing by 5:");
110
- engine.step([Increment.create({ amount: 5 })]);
111
- console.log("\nDecrementing by 2:");
112
- engine.step([Decrement.create({ amount: 2 })]);
113
- console.log("\nResetting:");
114
- engine.step([Reset.create({})]);
115
- console.log("\nContext:", engine.getContext());
116
- unsubscribe();
117
- }
118
- // Run example if executed directly
119
- if (import.meta.url === `file://${process.argv[1]}`) {
120
- runExample();
121
- }
122
- export { createCounterEngine, createCounterStores, runExample };
123
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/examples/svelte-counter/index.ts"],"names":[],"mappings":"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"}
@@ -1,125 +0,0 @@
1
- /**
2
- * Flows and actors for orchestrating state transitions in Praxis.
3
- * Flows represent sequences of state transitions.
4
- * Actors are entities that maintain their own state and respond to events.
5
- */
6
- import type { PraxisState, PraxisEvent, StepResult, StepFunction } from './types.js';
7
- /**
8
- * A flow represents a sequence of events that need to occur.
9
- */
10
- export interface Flow<E extends PraxisEvent = PraxisEvent> {
11
- /** Unique identifier for the flow */
12
- id: string;
13
- /** Description of what the flow accomplishes */
14
- description?: string;
15
- /** Steps in the flow */
16
- steps: FlowStep<E>[];
17
- /** Current step index */
18
- currentStep: number;
19
- /** Whether the flow is complete */
20
- complete: boolean;
21
- /** Optional metadata */
22
- metadata?: Record<string, unknown>;
23
- }
24
- /**
25
- * A step in a flow.
26
- */
27
- export interface FlowStep<E extends PraxisEvent = PraxisEvent> {
28
- /** Step identifier */
29
- id: string;
30
- /** Expected event type for this step */
31
- expectedEventType: string;
32
- /** Optional validation function */
33
- validate?: (event: E) => boolean;
34
- /** Optional timeout in milliseconds */
35
- timeout?: number;
36
- }
37
- /**
38
- * An actor maintains its own state and responds to events.
39
- */
40
- export interface Actor<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent> {
41
- /** Unique identifier for the actor */
42
- id: string;
43
- /** Current state of the actor */
44
- state: S;
45
- /** Step function for processing events */
46
- step: StepFunction<S, E>;
47
- /** Optional metadata */
48
- metadata?: {
49
- type?: string;
50
- created?: number;
51
- [key: string]: unknown;
52
- };
53
- }
54
- /**
55
- * Create a new flow.
56
- */
57
- export declare function createFlow<E extends PraxisEvent = PraxisEvent>(id: string, steps: FlowStep<E>[], description?: string): Flow<E>;
58
- /**
59
- * Advance a flow with an event.
60
- * Returns an updated flow and whether the flow accepted the event.
61
- */
62
- export declare function advanceFlow<E extends PraxisEvent = PraxisEvent>(flow: Flow<E>, event: E): {
63
- flow: Flow<E>;
64
- accepted: boolean;
65
- };
66
- /**
67
- * Check if a flow is waiting for a specific event type.
68
- */
69
- export declare function isFlowWaitingFor<E extends PraxisEvent = PraxisEvent>(flow: Flow<E>, eventType: string): boolean;
70
- /**
71
- * Create a new actor.
72
- */
73
- export declare function createActor<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent>(id: string, initialState: S, stepFunction: StepFunction<S, E>, type?: string): Actor<S, E>;
74
- /**
75
- * Process an event through an actor.
76
- * Returns the updated actor and any effects.
77
- */
78
- export declare function processActorEvent<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent>(actor: Actor<S, E>, event: E): {
79
- actor: Actor<S, E>;
80
- result: StepResult<S>;
81
- };
82
- /**
83
- * Actor system for managing multiple actors.
84
- */
85
- export declare class ActorSystem<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent> {
86
- private actors;
87
- /**
88
- * Register an actor in the system.
89
- */
90
- register(actor: Actor<S, E>): void;
91
- /**
92
- * Unregister an actor from the system.
93
- */
94
- unregister(id: string): boolean;
95
- /**
96
- * Get an actor by ID.
97
- */
98
- get(id: string): Actor<S, E> | undefined;
99
- /**
100
- * Get all actors.
101
- */
102
- getAll(): Actor<S, E>[];
103
- /**
104
- * Send an event to a specific actor.
105
- */
106
- send(actorId: string, event: E): StepResult<S> | undefined;
107
- /**
108
- * Broadcast an event to all actors.
109
- * Returns a map of actor IDs to their results.
110
- */
111
- broadcast(event: E): Map<string, StepResult<S>>;
112
- /**
113
- * Clear all actors from the system.
114
- */
115
- clear(): void;
116
- /**
117
- * Get the number of actors in the system.
118
- */
119
- size(): number;
120
- }
121
- /**
122
- * Create a new actor system.
123
- */
124
- export declare function createActorSystem<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent>(): ActorSystem<S, E>;
125
- //# sourceMappingURL=flows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/flows.ts"],"names":[],"mappings":"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"}
package/dist/src/flows.js DELETED
@@ -1,160 +0,0 @@
1
- /**
2
- * Flows and actors for orchestrating state transitions in Praxis.
3
- * Flows represent sequences of state transitions.
4
- * Actors are entities that maintain their own state and respond to events.
5
- */
6
- /**
7
- * Create a new flow.
8
- */
9
- export function createFlow(id, steps, description) {
10
- return {
11
- id,
12
- description,
13
- steps,
14
- currentStep: 0,
15
- complete: false,
16
- };
17
- }
18
- /**
19
- * Advance a flow with an event.
20
- * Returns an updated flow and whether the flow accepted the event.
21
- */
22
- export function advanceFlow(flow, event) {
23
- if (flow.complete) {
24
- return { flow, accepted: false };
25
- }
26
- const currentStep = flow.steps[flow.currentStep];
27
- if (!currentStep) {
28
- return { flow, accepted: false };
29
- }
30
- // Check if event matches expected type
31
- if (currentStep.expectedEventType !== event.type) {
32
- return { flow, accepted: false };
33
- }
34
- // Validate event if validator is provided
35
- if (currentStep.validate && !currentStep.validate(event)) {
36
- return { flow, accepted: false };
37
- }
38
- // Advance to next step
39
- const nextStep = flow.currentStep + 1;
40
- const complete = nextStep >= flow.steps.length;
41
- const updatedFlow = {
42
- ...flow,
43
- currentStep: nextStep,
44
- complete,
45
- };
46
- return { flow: updatedFlow, accepted: true };
47
- }
48
- /**
49
- * Check if a flow is waiting for a specific event type.
50
- */
51
- export function isFlowWaitingFor(flow, eventType) {
52
- if (flow.complete) {
53
- return false;
54
- }
55
- const currentStep = flow.steps[flow.currentStep];
56
- return currentStep?.expectedEventType === eventType;
57
- }
58
- /**
59
- * Create a new actor.
60
- */
61
- export function createActor(id, initialState, stepFunction, type) {
62
- return {
63
- id,
64
- state: initialState,
65
- step: stepFunction,
66
- metadata: {
67
- type,
68
- created: Date.now(),
69
- },
70
- };
71
- }
72
- /**
73
- * Process an event through an actor.
74
- * Returns the updated actor and any effects.
75
- */
76
- export function processActorEvent(actor, event) {
77
- const result = actor.step(actor.state, event);
78
- const updatedActor = {
79
- ...actor,
80
- state: result.state,
81
- };
82
- return { actor: updatedActor, result };
83
- }
84
- /**
85
- * Actor system for managing multiple actors.
86
- */
87
- export class ActorSystem {
88
- actors = new Map();
89
- /**
90
- * Register an actor in the system.
91
- */
92
- register(actor) {
93
- if (this.actors.has(actor.id)) {
94
- throw new Error(`Actor with id '${actor.id}' already exists`);
95
- }
96
- this.actors.set(actor.id, actor);
97
- }
98
- /**
99
- * Unregister an actor from the system.
100
- */
101
- unregister(id) {
102
- return this.actors.delete(id);
103
- }
104
- /**
105
- * Get an actor by ID.
106
- */
107
- get(id) {
108
- return this.actors.get(id);
109
- }
110
- /**
111
- * Get all actors.
112
- */
113
- getAll() {
114
- return Array.from(this.actors.values());
115
- }
116
- /**
117
- * Send an event to a specific actor.
118
- */
119
- send(actorId, event) {
120
- const actor = this.actors.get(actorId);
121
- if (!actor) {
122
- return undefined;
123
- }
124
- const { actor: updatedActor, result } = processActorEvent(actor, event);
125
- this.actors.set(actorId, updatedActor);
126
- return result;
127
- }
128
- /**
129
- * Broadcast an event to all actors.
130
- * Returns a map of actor IDs to their results.
131
- */
132
- broadcast(event) {
133
- const results = new Map();
134
- for (const [id, actor] of this.actors) {
135
- const { actor: updatedActor, result } = processActorEvent(actor, event);
136
- this.actors.set(id, updatedActor);
137
- results.set(id, result);
138
- }
139
- return results;
140
- }
141
- /**
142
- * Clear all actors from the system.
143
- */
144
- clear() {
145
- this.actors.clear();
146
- }
147
- /**
148
- * Get the number of actors in the system.
149
- */
150
- size() {
151
- return this.actors.size;
152
- }
153
- }
154
- /**
155
- * Create a new actor system.
156
- */
157
- export function createActorSystem() {
158
- return new ActorSystem();
159
- }
160
- //# sourceMappingURL=flows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/flows.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- /**
2
- * Praxis - Practical, Provable Application Logic
3
- *
4
- * A typed, functional application logic engine built on strong types.
5
- *
6
- * Core concepts:
7
- * - Facts: typed propositions about the domain
8
- * - Events: temporally ordered facts meant to drive change
9
- * - Rules: pure functions that derive new facts from context + events
10
- * - Constraints: invariants that must always hold
11
- * - Flows: orchestrated behaviors
12
- * - Actors: effectful units that perform side effects
13
- *
14
- * @example
15
- * ```typescript
16
- * import { createPraxisEngine, PraxisRegistry, defineFact, defineEvent, defineRule } from "@plures/praxis";
17
- *
18
- * // Define facts and events
19
- * const UserLoggedIn = defineFact<"UserLoggedIn", { userId: string }>("UserLoggedIn");
20
- * const Login = defineEvent<"LOGIN", { username: string }>("LOGIN");
21
- *
22
- * // Define rules
23
- * const loginRule = defineRule({
24
- * id: "auth.login",
25
- * description: "Process login event",
26
- * impl: (state, events) => {
27
- * const loginEvent = events.find(Login.is);
28
- * if (loginEvent) {
29
- * return [UserLoggedIn.create({ userId: loginEvent.payload.username })];
30
- * }
31
- * return [];
32
- * }
33
- * });
34
- *
35
- * // Create engine
36
- * const registry = new PraxisRegistry();
37
- * registry.registerRule(loginRule);
38
- *
39
- * const engine = createPraxisEngine({
40
- * initialContext: {},
41
- * registry
42
- * });
43
- *
44
- * // Dispatch events
45
- * const result = engine.step([Login.create({ username: "alice" })]);
46
- * console.log(result.state.facts); // [{ tag: "UserLoggedIn", payload: { userId: "alice" } }]
47
- * ```
48
- */
49
- export type { PraxisFact, PraxisEvent, PraxisState, PraxisDiagnostics, PraxisStepConfig, PraxisStepResult, PraxisStepFn, } from "./core/protocol.js";
50
- export { PRAXIS_PROTOCOL_VERSION } from "./core/protocol.js";
51
- export type { RuleId, ConstraintId, RuleFn, ConstraintFn, RuleDescriptor, ConstraintDescriptor, PraxisModule, } from "./core/rules.js";
52
- export { PraxisRegistry } from "./core/rules.js";
53
- export type { PraxisEngineOptions } from "./core/engine.js";
54
- export { LogicEngine, createPraxisEngine } from "./core/engine.js";
55
- export type { Actor } from "./core/actors.js";
56
- export { ActorManager, createTimerActor } from "./core/actors.js";
57
- export type { RuleNode, ConstraintNode, GraphEdge, RegistryGraph, RuleSchema, ConstraintSchema, RegistrySchema, RegistryStats, } from "./core/introspection.js";
58
- export { RegistryIntrospector, createIntrospector } from "./core/introspection.js";
59
- export { defineFact, defineEvent, defineRule, defineConstraint, defineModule, filterEvents, filterFacts, findEvent, findFact, } from "./dsl/index.js";
60
- export type { FactDefinition, EventDefinition, DefineRuleOptions, DefineConstraintOptions, DefineModuleOptions, } from "./dsl/index.js";
61
- export type { TerminalExecutionResult, TerminalNodeState, TerminalAdapterOptions, CommandExecutor, } from "./runtime/terminal-adapter.js";
62
- export { TerminalAdapter, createTerminalAdapter, runTerminalCommand, createMockExecutor, } from "./runtime/terminal-adapter.js";
63
- export type { PraxisSchema, NodeDefinition, NodeBindings, TerminalNodeProps, OrchestrationDefinition, ValidationResult, ValidationError, ModelDefinition, ComponentDefinition, LogicDefinition, } from "./core/schema/types.js";
64
- export { validateSchema, createSchemaTemplate } from "./core/schema/types.js";
65
- export type { LoaderOptions, LoaderResult, } from "./core/schema/loader.js";
66
- export { loadSchema, loadSchemaFromJson, loadSchemaFromYaml, loadSchemaFromFile, validateForGeneration, } from "./core/schema/loader.js";
67
- export type { PraxisDB, UnsubscribeFn, EventStreamEntry, PraxisDBStoreOptions, StoredSchema, PluresDBGeneratorOptions, GeneratedPluresDBFile, PluresDBAdapter, PluresDBAdapterOptions, } from "./integrations/pluresdb.js";
68
- export { InMemoryPraxisDB, createInMemoryDB, PraxisDBStore, createPraxisDBStore, PRAXIS_PATHS, getFactPath, getEventPath, generateId, PraxisSchemaRegistry, createSchemaRegistry, registerSchema, getSchemaPath, PluresDBGenerator, createPluresDBGenerator, createPluresDBAdapter, attachToEngine, } from "./integrations/pluresdb.js";
69
- export type { UnumStore, UnumChannel, UnumMessage, UnumIdentity, UnumAdapterConfig, UnumAdapter, } from "./integrations/unum.js";
70
- export { createUnumAdapter, attachUnumToEngine, } from "./integrations/unum.js";
71
- export type { CanvasNode, CanvasEdge, CanvasNodeStyle, CanvasEdgeStyle, CanvasDocument, LifecycleState, ActivityState, CanvasEditorConfig, GuardianResult, GuardianError, GuardianWarning, } from "./integrations/code-canvas.js";
72
- export { schemaToCanvas, canvasToSchema, canvasToYaml, canvasToMermaid, validateWithGuardian, createCanvasEditor, } from "./integrations/code-canvas.js";
73
- export type { StateDocsConfig, GeneratedDoc, StateMachineDoc, StateDoc, TransitionDoc, } from "./integrations/state-docs.js";
74
- export { StateDocsGenerator, createStateDocsGenerator, generateDocs, } from "./integrations/state-docs.js";
75
- export type { TauriAppConfig, TauriWindowConfig, TauriSecurityConfig, TauriUpdateConfig, TauriPlugin, TauriCommand, TauriEvent, TauriFS, TauriFileEntry, TauriTray, TauriMenuItem, TauriNotification, TauriNotificationOptions, TauriBridge, TauriUpdateInfo, TauriPraxisAdapter, } from "./integrations/tauri.js";
76
- export { createMockTauriBridge, createTauriPraxisAdapter, attachTauriToEngine, generateTauriConfig, } from "./integrations/tauri.js";
77
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAGH,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,YAAY,EACV,MAAM,EACN,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGnE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,YAAY,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,YAAY,EACV,aAAa,EACb,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,YAAY,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,GACb,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
package/dist/src/index.js DELETED
@@ -1,64 +0,0 @@
1
- /**
2
- * Praxis - Practical, Provable Application Logic
3
- *
4
- * A typed, functional application logic engine built on strong types.
5
- *
6
- * Core concepts:
7
- * - Facts: typed propositions about the domain
8
- * - Events: temporally ordered facts meant to drive change
9
- * - Rules: pure functions that derive new facts from context + events
10
- * - Constraints: invariants that must always hold
11
- * - Flows: orchestrated behaviors
12
- * - Actors: effectful units that perform side effects
13
- *
14
- * @example
15
- * ```typescript
16
- * import { createPraxisEngine, PraxisRegistry, defineFact, defineEvent, defineRule } from "@plures/praxis";
17
- *
18
- * // Define facts and events
19
- * const UserLoggedIn = defineFact<"UserLoggedIn", { userId: string }>("UserLoggedIn");
20
- * const Login = defineEvent<"LOGIN", { username: string }>("LOGIN");
21
- *
22
- * // Define rules
23
- * const loginRule = defineRule({
24
- * id: "auth.login",
25
- * description: "Process login event",
26
- * impl: (state, events) => {
27
- * const loginEvent = events.find(Login.is);
28
- * if (loginEvent) {
29
- * return [UserLoggedIn.create({ userId: loginEvent.payload.username })];
30
- * }
31
- * return [];
32
- * }
33
- * });
34
- *
35
- * // Create engine
36
- * const registry = new PraxisRegistry();
37
- * registry.registerRule(loginRule);
38
- *
39
- * const engine = createPraxisEngine({
40
- * initialContext: {},
41
- * registry
42
- * });
43
- *
44
- * // Dispatch events
45
- * const result = engine.step([Login.create({ username: "alice" })]);
46
- * console.log(result.state.facts); // [{ tag: "UserLoggedIn", payload: { userId: "alice" } }]
47
- * ```
48
- */
49
- export { PRAXIS_PROTOCOL_VERSION } from "./core/protocol.js";
50
- export { PraxisRegistry } from "./core/rules.js";
51
- export { LogicEngine, createPraxisEngine } from "./core/engine.js";
52
- export { ActorManager, createTimerActor } from "./core/actors.js";
53
- export { RegistryIntrospector, createIntrospector } from "./core/introspection.js";
54
- // DSL helpers
55
- export { defineFact, defineEvent, defineRule, defineConstraint, defineModule, filterEvents, filterFacts, findEvent, findFact, } from "./dsl/index.js";
56
- export { TerminalAdapter, createTerminalAdapter, runTerminalCommand, createMockExecutor, } from "./runtime/terminal-adapter.js";
57
- export { validateSchema, createSchemaTemplate } from "./core/schema/types.js";
58
- export { loadSchema, loadSchemaFromJson, loadSchemaFromYaml, loadSchemaFromFile, validateForGeneration, } from "./core/schema/loader.js";
59
- export { InMemoryPraxisDB, createInMemoryDB, PraxisDBStore, createPraxisDBStore, PRAXIS_PATHS, getFactPath, getEventPath, generateId, PraxisSchemaRegistry, createSchemaRegistry, registerSchema, getSchemaPath, PluresDBGenerator, createPluresDBGenerator, createPluresDBAdapter, attachToEngine, } from "./integrations/pluresdb.js";
60
- export { createUnumAdapter, attachUnumToEngine, } from "./integrations/unum.js";
61
- export { schemaToCanvas, canvasToSchema, canvasToYaml, canvasToMermaid, validateWithGuardian, createCanvasEditor, } from "./integrations/code-canvas.js";
62
- export { StateDocsGenerator, createStateDocsGenerator, generateDocs, } from "./integrations/state-docs.js";
63
- export { createMockTauriBridge, createTauriPraxisAdapter, attachTauriToEngine, generateTauriConfig, } from "./integrations/tauri.js";
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAYH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAY7D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAalE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,cAAc;AACd,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAevC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAcjC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAgBhC,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAUvC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,GACb,MAAM,8BAA8B,CAAC;AAqBtC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}