@plures/praxis 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/LICENSE +21 -21
  3. package/README.md +162 -375
  4. package/core/codegen/docs-generator.ts +5 -2
  5. package/core/codegen/index.ts +1 -1
  6. package/core/codegen/ts-generator.ts +15 -15
  7. package/core/db-adapter/index.ts +2 -2
  8. package/core/db-adapter/sync-engine.ts +17 -6
  9. package/core/logic-engine/engine.ts +1 -1
  10. package/core/logic-engine/index.ts +2 -2
  11. package/core/logic-engine/protocol.ts +1 -1
  12. package/core/logic-engine/psf-adapter.ts +8 -4
  13. package/core/logic-engine/rules.ts +1 -1
  14. package/core/schema-engine/compiler.ts +53 -11
  15. package/core/schema-engine/generator.ts +17 -7
  16. package/core/schema-engine/index.ts +2 -2
  17. package/core/schema-engine/psf.ts +12 -3
  18. package/core/schema-engine/types.ts +3 -11
  19. package/core/schema-engine/validator.ts +112 -22
  20. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  21. package/dist/browser/index.d.ts +3004 -0
  22. package/dist/browser/index.js +2892 -0
  23. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  24. package/dist/browser/integrations/svelte.js +298 -0
  25. package/dist/node/auth-STARLY7I.js +207 -0
  26. package/dist/node/build-Y7OT5VBF.js +144 -0
  27. package/dist/node/canvas-UERZHJYW.js +362 -0
  28. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  29. package/dist/node/chunk-FXQZXAWF.js +175 -0
  30. package/dist/node/chunk-N5Y37EUV.js +202 -0
  31. package/dist/node/chunk-QGM4M3NI.js +37 -0
  32. package/dist/node/chunk-RJMWCNHR.js +175 -0
  33. package/dist/node/chunk-SRM3OPPM.js +404 -0
  34. package/dist/node/chunk-UATVJBNV.js +175 -0
  35. package/dist/node/chunk-UY7YEBE2.js +159 -0
  36. package/dist/node/chunk-XCY2VIFX.js +143 -0
  37. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  38. package/dist/node/cli/index.cjs +217418 -0
  39. package/dist/node/cli/index.d.cts +1 -0
  40. package/dist/node/cli/index.d.ts +1 -0
  41. package/dist/node/cli/index.js +690 -0
  42. package/dist/node/cloud/index.cjs +1043 -0
  43. package/dist/node/cloud/index.d.cts +864 -0
  44. package/dist/node/cloud/index.d.ts +864 -0
  45. package/dist/node/cloud/index.js +456 -0
  46. package/dist/node/cloud-AXOK4PSN.js +212 -0
  47. package/dist/node/component.cjs +374 -0
  48. package/dist/node/component.d.cts +125 -0
  49. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  50. package/dist/node/component.js +9 -0
  51. package/dist/node/components/index.cjs +216 -0
  52. package/dist/node/components/index.d.cts +43 -0
  53. package/dist/{src → node}/components/index.d.ts +8 -8
  54. package/dist/node/components/index.js +7 -0
  55. package/dist/node/create-TRLSVCNQ.js +584 -0
  56. package/dist/node/dev-PMJZUYGE.js +65 -0
  57. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  58. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  59. package/dist/node/index.cjs +3247 -0
  60. package/dist/node/index.d.cts +2579 -0
  61. package/dist/node/index.d.ts +2579 -0
  62. package/dist/node/index.js +2098 -0
  63. package/dist/node/integrations/svelte.cjs +330 -0
  64. package/dist/node/integrations/svelte.d.cts +309 -0
  65. package/dist/node/integrations/svelte.d.ts +309 -0
  66. package/dist/node/integrations/svelte.js +300 -0
  67. package/dist/node/orchestrate-737TCL5H.js +127 -0
  68. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  69. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  70. package/dist/node/schema.cjs +200 -0
  71. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  72. package/dist/node/schema.d.ts +371 -0
  73. package/dist/node/schema.js +9 -0
  74. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  75. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  76. package/dist/node/verify-YBZ7W24H.js +213239 -0
  77. package/docs/MONETIZATION.md +21 -16
  78. package/docs/REACTIVE_REDESIGN.md +132 -0
  79. package/docs/README.md +47 -36
  80. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  81. package/docs/TERMINAL_NODE.md +27 -24
  82. package/docs/core/building-extensions.md +58 -61
  83. package/docs/core/cli-usage.md +59 -59
  84. package/docs/core/code-canvas-sync.md +28 -16
  85. package/docs/core/logic-engine.md +77 -82
  86. package/docs/core/pluresdb-integration.md +29 -39
  87. package/docs/core/schema-model.md +66 -52
  88. package/docs/core/ui-generation.md +57 -49
  89. package/docs/core/what-is-praxis.md +32 -15
  90. package/docs/guides/canvas.md +21 -5
  91. package/docs/guides/getting-started.md +13 -7
  92. package/docs/guides/history-state-pattern.md +65 -51
  93. package/docs/guides/orchestration.md +46 -32
  94. package/docs/guides/parallel-state-pattern.md +56 -72
  95. package/docs/guides/svelte-integration.md +45 -53
  96. package/docs/tutorials/README.md +16 -0
  97. package/docs/tutorials/ecommerce-cart.md +177 -95
  98. package/docs/tutorials/first-app.md +26 -41
  99. package/docs/tutorials/form-builder.md +191 -138
  100. package/docs/tutorials/todo-pluresdb.md +71 -69
  101. package/package.json +132 -97
  102. package/src/__tests__/actors.test.ts +68 -68
  103. package/src/__tests__/billing.test.ts +32 -32
  104. package/src/__tests__/canvas-components.test.ts +94 -73
  105. package/src/__tests__/cli-create.test.ts +28 -28
  106. package/src/__tests__/cloud.test.ts +36 -36
  107. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  108. package/src/__tests__/docs-generator.test.ts +3 -9
  109. package/src/__tests__/dsl.test.ts +58 -64
  110. package/src/__tests__/edge-cases.test.ts +106 -108
  111. package/src/__tests__/engine.test.ts +51 -25
  112. package/src/__tests__/generators.test.ts +42 -44
  113. package/src/__tests__/introspection.test.ts +104 -114
  114. package/src/__tests__/pluresdb.test.ts +189 -187
  115. package/src/__tests__/protocol.test.ts +15 -15
  116. package/src/__tests__/provisioning.test.ts +61 -61
  117. package/src/__tests__/schema.test.ts +7 -11
  118. package/src/__tests__/state-docs-integration.test.ts +162 -145
  119. package/src/__tests__/svelte-integration.test.ts +16 -19
  120. package/src/__tests__/tauri-integration.test.ts +149 -147
  121. package/src/__tests__/terminal-node.test.ts +12 -7
  122. package/src/__tests__/unum-integration.test.ts +68 -68
  123. package/src/adapters/cli.ts +21 -15
  124. package/src/cli/commands/auth.ts +82 -78
  125. package/src/cli/commands/build.ts +29 -27
  126. package/src/cli/commands/canvas.ts +338 -127
  127. package/src/cli/commands/cloud.ts +47 -47
  128. package/src/cli/commands/create.ts +59 -47
  129. package/src/cli/commands/dev.ts +12 -12
  130. package/src/cli/commands/generate.ts +29 -40
  131. package/src/cli/commands/orchestrate.ts +24 -24
  132. package/src/cli/commands/verify.ts +7 -8
  133. package/src/cli/index.ts +14 -10
  134. package/src/cloud/README.md +28 -15
  135. package/src/cloud/auth.ts +55 -70
  136. package/src/cloud/billing.ts +59 -58
  137. package/src/cloud/client.ts +29 -35
  138. package/src/cloud/index.ts +19 -40
  139. package/src/cloud/marketplace.ts +69 -78
  140. package/src/cloud/provisioning.ts +42 -51
  141. package/src/cloud/relay/endpoints.ts +30 -34
  142. package/src/cloud/relay/health/index.ts +1 -1
  143. package/src/cloud/relay/stats/index.ts +1 -1
  144. package/src/cloud/relay/sync/index.ts +1 -1
  145. package/src/cloud/relay/usage/index.ts +1 -1
  146. package/src/cloud/sponsors.ts +31 -34
  147. package/src/cloud/types.ts +4 -4
  148. package/src/components/README.md +1 -0
  149. package/src/components/TerminalNode.svelte +457 -457
  150. package/src/components/index.ts +3 -4
  151. package/src/core/actors.ts +7 -7
  152. package/src/core/component/generator.ts +10 -28
  153. package/src/core/engine.ts +51 -24
  154. package/src/core/introspection.ts +37 -35
  155. package/src/core/logic/generator.ts +62 -62
  156. package/src/core/pluresdb/adapter.ts +8 -8
  157. package/src/core/pluresdb/generator.ts +39 -35
  158. package/src/core/pluresdb/index.ts +9 -12
  159. package/src/core/pluresdb/schema-registry.ts +22 -25
  160. package/src/core/pluresdb/store.ts +57 -57
  161. package/src/core/protocol.ts +14 -14
  162. package/src/core/reactive-engine.svelte.ts +65 -0
  163. package/src/core/reactive-engine.ts +67 -0
  164. package/src/core/rules.ts +4 -4
  165. package/src/core/schema/loader.common.ts +150 -0
  166. package/src/core/schema/loader.ts +19 -149
  167. package/src/core/schema/normalize.ts +34 -51
  168. package/src/core/schema/types.ts +47 -11
  169. package/src/dsl/index.ts +8 -8
  170. package/src/dsl.ts +11 -17
  171. package/src/examples/advanced-todo/App.svelte +506 -506
  172. package/src/examples/advanced-todo/README.md +58 -40
  173. package/src/examples/advanced-todo/index.ts +3 -3
  174. package/src/examples/auth-basic/index.ts +30 -30
  175. package/src/examples/cart/index.ts +50 -50
  176. package/src/examples/hero-ecommerce/index.ts +130 -157
  177. package/src/examples/svelte-counter/index.ts +22 -26
  178. package/src/flows.ts +6 -17
  179. package/src/index.browser.ts +204 -0
  180. package/src/index.ts +37 -42
  181. package/src/integrations/code-canvas.ts +237 -193
  182. package/src/integrations/pluresdb.ts +55 -35
  183. package/src/integrations/state-docs.ts +104 -104
  184. package/src/integrations/svelte.ts +35 -35
  185. package/src/integrations/tauri.ts +75 -73
  186. package/src/integrations/unum.ts +68 -61
  187. package/src/registry.ts +7 -14
  188. package/src/runtime/terminal-adapter.ts +31 -26
  189. package/src/step.ts +10 -16
  190. package/src/types.ts +1 -1
  191. package/templates/basic-app/README.md +6 -9
  192. package/templates/fullstack-app/README.md +10 -0
  193. package/dist/core/codegen/docs-generator.d.ts +0 -123
  194. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  195. package/dist/core/codegen/docs-generator.js +0 -674
  196. package/dist/core/codegen/docs-generator.js.map +0 -1
  197. package/dist/core/codegen/index.d.ts +0 -11
  198. package/dist/core/codegen/index.d.ts.map +0 -1
  199. package/dist/core/codegen/index.js +0 -13
  200. package/dist/core/codegen/index.js.map +0 -1
  201. package/dist/core/codegen/ts-generator.d.ts +0 -8
  202. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  203. package/dist/core/codegen/ts-generator.js +0 -8
  204. package/dist/core/codegen/ts-generator.js.map +0 -1
  205. package/dist/core/db-adapter/index.d.ts +0 -18
  206. package/dist/core/db-adapter/index.d.ts.map +0 -1
  207. package/dist/core/db-adapter/index.js +0 -23
  208. package/dist/core/db-adapter/index.js.map +0 -1
  209. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  210. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  211. package/dist/core/db-adapter/sync-engine.js +0 -342
  212. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  213. package/dist/core/logic-engine/engine.d.ts +0 -8
  214. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  215. package/dist/core/logic-engine/engine.js +0 -8
  216. package/dist/core/logic-engine/engine.js.map +0 -1
  217. package/dist/core/logic-engine/index.d.ts +0 -16
  218. package/dist/core/logic-engine/index.d.ts.map +0 -1
  219. package/dist/core/logic-engine/index.js +0 -16
  220. package/dist/core/logic-engine/index.js.map +0 -1
  221. package/dist/core/logic-engine/protocol.d.ts +0 -7
  222. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  223. package/dist/core/logic-engine/protocol.js +0 -7
  224. package/dist/core/logic-engine/protocol.js.map +0 -1
  225. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  226. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  227. package/dist/core/logic-engine/psf-adapter.js +0 -207
  228. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  229. package/dist/core/logic-engine/rules.d.ts +0 -7
  230. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  231. package/dist/core/logic-engine/rules.js +0 -7
  232. package/dist/core/logic-engine/rules.js.map +0 -1
  233. package/dist/core/schema-engine/compiler.d.ts +0 -198
  234. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  235. package/dist/core/schema-engine/compiler.js +0 -262
  236. package/dist/core/schema-engine/compiler.js.map +0 -1
  237. package/dist/core/schema-engine/generator.d.ts +0 -115
  238. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  239. package/dist/core/schema-engine/generator.js +0 -506
  240. package/dist/core/schema-engine/generator.js.map +0 -1
  241. package/dist/core/schema-engine/index.d.ts +0 -18
  242. package/dist/core/schema-engine/index.d.ts.map +0 -1
  243. package/dist/core/schema-engine/index.js +0 -18
  244. package/dist/core/schema-engine/index.js.map +0 -1
  245. package/dist/core/schema-engine/psf.d.ts +0 -612
  246. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  247. package/dist/core/schema-engine/psf.js +0 -45
  248. package/dist/core/schema-engine/psf.js.map +0 -1
  249. package/dist/core/schema-engine/types.d.ts +0 -10
  250. package/dist/core/schema-engine/types.d.ts.map +0 -1
  251. package/dist/core/schema-engine/types.js +0 -7
  252. package/dist/core/schema-engine/types.js.map +0 -1
  253. package/dist/core/schema-engine/validator.d.ts +0 -140
  254. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  255. package/dist/core/schema-engine/validator.js +0 -407
  256. package/dist/core/schema-engine/validator.js.map +0 -1
  257. package/dist/src/adapters/cli.d.ts +0 -43
  258. package/dist/src/adapters/cli.d.ts.map +0 -1
  259. package/dist/src/adapters/cli.js +0 -126
  260. package/dist/src/adapters/cli.js.map +0 -1
  261. package/dist/src/cli/commands/auth.d.ts +0 -26
  262. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  263. package/dist/src/cli/commands/auth.js +0 -233
  264. package/dist/src/cli/commands/auth.js.map +0 -1
  265. package/dist/src/cli/commands/build.d.ts +0 -23
  266. package/dist/src/cli/commands/build.d.ts.map +0 -1
  267. package/dist/src/cli/commands/build.js +0 -162
  268. package/dist/src/cli/commands/build.js.map +0 -1
  269. package/dist/src/cli/commands/canvas.d.ts +0 -23
  270. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  271. package/dist/src/cli/commands/canvas.js +0 -215
  272. package/dist/src/cli/commands/canvas.js.map +0 -1
  273. package/dist/src/cli/commands/cloud.d.ts +0 -27
  274. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  275. package/dist/src/cli/commands/cloud.js +0 -232
  276. package/dist/src/cli/commands/cloud.js.map +0 -1
  277. package/dist/src/cli/commands/create.d.ts +0 -21
  278. package/dist/src/cli/commands/create.d.ts.map +0 -1
  279. package/dist/src/cli/commands/create.js +0 -621
  280. package/dist/src/cli/commands/create.js.map +0 -1
  281. package/dist/src/cli/commands/dev.d.ts +0 -21
  282. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  283. package/dist/src/cli/commands/dev.js +0 -71
  284. package/dist/src/cli/commands/dev.js.map +0 -1
  285. package/dist/src/cli/commands/generate.d.ts +0 -25
  286. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/generate.js +0 -168
  288. package/dist/src/cli/commands/generate.js.map +0 -1
  289. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  290. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  291. package/dist/src/cli/commands/orchestrate.js +0 -150
  292. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  293. package/dist/src/cli/commands/verify.d.ts +0 -10
  294. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  295. package/dist/src/cli/commands/verify.js +0 -39
  296. package/dist/src/cli/commands/verify.js.map +0 -1
  297. package/dist/src/cli/index.d.ts +0 -8
  298. package/dist/src/cli/index.d.ts.map +0 -1
  299. package/dist/src/cli/index.js +0 -226
  300. package/dist/src/cli/index.js.map +0 -1
  301. package/dist/src/cloud/auth.d.ts +0 -51
  302. package/dist/src/cloud/auth.d.ts.map +0 -1
  303. package/dist/src/cloud/auth.js +0 -194
  304. package/dist/src/cloud/auth.js.map +0 -1
  305. package/dist/src/cloud/billing.d.ts +0 -184
  306. package/dist/src/cloud/billing.d.ts.map +0 -1
  307. package/dist/src/cloud/billing.js +0 -179
  308. package/dist/src/cloud/billing.js.map +0 -1
  309. package/dist/src/cloud/client.d.ts +0 -39
  310. package/dist/src/cloud/client.d.ts.map +0 -1
  311. package/dist/src/cloud/client.js +0 -176
  312. package/dist/src/cloud/client.js.map +0 -1
  313. package/dist/src/cloud/index.d.ts +0 -44
  314. package/dist/src/cloud/index.d.ts.map +0 -1
  315. package/dist/src/cloud/index.js +0 -44
  316. package/dist/src/cloud/index.js.map +0 -1
  317. package/dist/src/cloud/marketplace.d.ts +0 -166
  318. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  319. package/dist/src/cloud/marketplace.js +0 -159
  320. package/dist/src/cloud/marketplace.js.map +0 -1
  321. package/dist/src/cloud/provisioning.d.ts +0 -110
  322. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  323. package/dist/src/cloud/provisioning.js +0 -148
  324. package/dist/src/cloud/provisioning.js.map +0 -1
  325. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  326. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/endpoints.js +0 -217
  328. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  329. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/health/index.js +0 -9
  332. package/dist/src/cloud/relay/health/index.js.map +0 -1
  333. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/stats/index.js +0 -9
  336. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  337. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/sync/index.js +0 -9
  340. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  341. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  342. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  343. package/dist/src/cloud/relay/usage/index.js +0 -9
  344. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  345. package/dist/src/cloud/sponsors.d.ts +0 -81
  346. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  347. package/dist/src/cloud/sponsors.js +0 -130
  348. package/dist/src/cloud/sponsors.js.map +0 -1
  349. package/dist/src/cloud/types.d.ts +0 -169
  350. package/dist/src/cloud/types.d.ts.map +0 -1
  351. package/dist/src/cloud/types.js +0 -7
  352. package/dist/src/cloud/types.js.map +0 -1
  353. package/dist/src/components/index.d.ts.map +0 -1
  354. package/dist/src/components/index.js +0 -17
  355. package/dist/src/components/index.js.map +0 -1
  356. package/dist/src/core/actors.d.ts +0 -95
  357. package/dist/src/core/actors.d.ts.map +0 -1
  358. package/dist/src/core/actors.js +0 -158
  359. package/dist/src/core/actors.js.map +0 -1
  360. package/dist/src/core/component/generator.d.ts.map +0 -1
  361. package/dist/src/core/component/generator.js +0 -349
  362. package/dist/src/core/component/generator.js.map +0 -1
  363. package/dist/src/core/engine.d.ts +0 -92
  364. package/dist/src/core/engine.d.ts.map +0 -1
  365. package/dist/src/core/engine.js +0 -199
  366. package/dist/src/core/engine.js.map +0 -1
  367. package/dist/src/core/introspection.d.ts +0 -141
  368. package/dist/src/core/introspection.d.ts.map +0 -1
  369. package/dist/src/core/introspection.js +0 -208
  370. package/dist/src/core/introspection.js.map +0 -1
  371. package/dist/src/core/logic/generator.d.ts +0 -76
  372. package/dist/src/core/logic/generator.d.ts.map +0 -1
  373. package/dist/src/core/logic/generator.js +0 -370
  374. package/dist/src/core/logic/generator.js.map +0 -1
  375. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  376. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/adapter.js +0 -73
  378. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  379. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  380. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/generator.js +0 -191
  382. package/dist/src/core/pluresdb/generator.js.map +0 -1
  383. package/dist/src/core/pluresdb/index.d.ts +0 -15
  384. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/index.js +0 -11
  386. package/dist/src/core/pluresdb/index.js.map +0 -1
  387. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  388. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  390. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  391. package/dist/src/core/pluresdb/store.d.ts +0 -199
  392. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  393. package/dist/src/core/pluresdb/store.js +0 -344
  394. package/dist/src/core/pluresdb/store.js.map +0 -1
  395. package/dist/src/core/protocol.d.ts.map +0 -1
  396. package/dist/src/core/protocol.js +0 -46
  397. package/dist/src/core/protocol.js.map +0 -1
  398. package/dist/src/core/rules.d.ts +0 -120
  399. package/dist/src/core/rules.d.ts.map +0 -1
  400. package/dist/src/core/rules.js +0 -81
  401. package/dist/src/core/rules.js.map +0 -1
  402. package/dist/src/core/schema/loader.d.ts +0 -47
  403. package/dist/src/core/schema/loader.d.ts.map +0 -1
  404. package/dist/src/core/schema/loader.js +0 -189
  405. package/dist/src/core/schema/loader.js.map +0 -1
  406. package/dist/src/core/schema/normalize.d.ts +0 -72
  407. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  408. package/dist/src/core/schema/normalize.js +0 -190
  409. package/dist/src/core/schema/normalize.js.map +0 -1
  410. package/dist/src/core/schema/types.d.ts.map +0 -1
  411. package/dist/src/core/schema/types.js +0 -161
  412. package/dist/src/core/schema/types.js.map +0 -1
  413. package/dist/src/dsl/index.d.ts +0 -152
  414. package/dist/src/dsl/index.d.ts.map +0 -1
  415. package/dist/src/dsl/index.js +0 -132
  416. package/dist/src/dsl/index.js.map +0 -1
  417. package/dist/src/dsl.d.ts +0 -124
  418. package/dist/src/dsl.d.ts.map +0 -1
  419. package/dist/src/dsl.js +0 -130
  420. package/dist/src/dsl.js.map +0 -1
  421. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  422. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  423. package/dist/src/examples/advanced-todo/index.js +0 -222
  424. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  425. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  426. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  427. package/dist/src/examples/auth-basic/index.js +0 -122
  428. package/dist/src/examples/auth-basic/index.js.map +0 -1
  429. package/dist/src/examples/cart/index.d.ts +0 -19
  430. package/dist/src/examples/cart/index.d.ts.map +0 -1
  431. package/dist/src/examples/cart/index.js +0 -202
  432. package/dist/src/examples/cart/index.js.map +0 -1
  433. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  434. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  435. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  436. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  437. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  438. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  439. package/dist/src/examples/svelte-counter/index.js +0 -123
  440. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  441. package/dist/src/flows.d.ts +0 -125
  442. package/dist/src/flows.d.ts.map +0 -1
  443. package/dist/src/flows.js +0 -160
  444. package/dist/src/flows.js.map +0 -1
  445. package/dist/src/index.d.ts +0 -77
  446. package/dist/src/index.d.ts.map +0 -1
  447. package/dist/src/index.js +0 -64
  448. package/dist/src/index.js.map +0 -1
  449. package/dist/src/integrations/code-canvas.d.ts +0 -265
  450. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  451. package/dist/src/integrations/code-canvas.js +0 -451
  452. package/dist/src/integrations/code-canvas.js.map +0 -1
  453. package/dist/src/integrations/pluresdb.d.ts +0 -117
  454. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  455. package/dist/src/integrations/pluresdb.js +0 -117
  456. package/dist/src/integrations/pluresdb.js.map +0 -1
  457. package/dist/src/integrations/state-docs.d.ts +0 -191
  458. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  459. package/dist/src/integrations/state-docs.js +0 -515
  460. package/dist/src/integrations/state-docs.js.map +0 -1
  461. package/dist/src/integrations/svelte.d.ts.map +0 -1
  462. package/dist/src/integrations/svelte.js +0 -447
  463. package/dist/src/integrations/svelte.js.map +0 -1
  464. package/dist/src/integrations/tauri.d.ts +0 -360
  465. package/dist/src/integrations/tauri.d.ts.map +0 -1
  466. package/dist/src/integrations/tauri.js +0 -278
  467. package/dist/src/integrations/tauri.js.map +0 -1
  468. package/dist/src/integrations/unum.d.ts +0 -159
  469. package/dist/src/integrations/unum.d.ts.map +0 -1
  470. package/dist/src/integrations/unum.js +0 -240
  471. package/dist/src/integrations/unum.js.map +0 -1
  472. package/dist/src/registry.d.ts +0 -94
  473. package/dist/src/registry.d.ts.map +0 -1
  474. package/dist/src/registry.js +0 -181
  475. package/dist/src/registry.js.map +0 -1
  476. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  477. package/dist/src/runtime/terminal-adapter.js +0 -239
  478. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  479. package/dist/src/step.d.ts +0 -34
  480. package/dist/src/step.d.ts.map +0 -1
  481. package/dist/src/step.js +0 -111
  482. package/dist/src/step.js.map +0 -1
  483. package/dist/src/types.d.ts +0 -63
  484. package/dist/src/types.d.ts.map +0 -1
  485. package/dist/src/types.js +0 -6
  486. package/dist/src/types.js.map +0 -1
  487. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  488. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  489. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  490. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  491. package/dist/tools/cli/commands/index.d.ts +0 -7
  492. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  493. package/dist/tools/cli/commands/index.js +0 -7
  494. package/dist/tools/cli/commands/index.js.map +0 -1
  495. package/dist/tools/cli/index.d.ts +0 -8
  496. package/dist/tools/cli/index.d.ts.map +0 -1
  497. package/dist/tools/cli/index.js +0 -9
  498. package/dist/tools/cli/index.js.map +0 -1
  499. package/dist/tools/watcher/index.d.ts +0 -105
  500. package/dist/tools/watcher/index.d.ts.map +0 -1
  501. package/dist/tools/watcher/index.js +0 -213
  502. package/dist/tools/watcher/index.js.map +0 -1
  503. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  504. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-projection.js +0 -416
  506. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  507. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  508. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  509. package/dist/ui/canvas/canvas-state.js +0 -464
  510. package/dist/ui/canvas/canvas-state.js.map +0 -1
  511. package/dist/ui/canvas/components/index.d.ts +0 -95
  512. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/components/index.js +0 -19
  514. package/dist/ui/canvas/components/index.js.map +0 -1
  515. package/dist/ui/canvas/index.d.ts +0 -32
  516. package/dist/ui/canvas/index.d.ts.map +0 -1
  517. package/dist/ui/canvas/index.js +0 -32
  518. package/dist/ui/canvas/index.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  520. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/server.js +0 -248
  522. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  523. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  524. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  525. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  526. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  527. package/dist/ui/svelte-generator/index.d.ts +0 -9
  528. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/index.js +0 -11
  530. package/dist/ui/svelte-generator/index.js.map +0 -1
  531. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  532. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  533. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  534. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -1,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"}