@plures/praxis 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/README.md +282 -76
  2. package/core/codegen/docs-generator.ts +808 -0
  3. package/core/codegen/index.ts +27 -0
  4. package/core/codegen/ts-generator.ts +15 -0
  5. package/core/db-adapter/index.ts +52 -0
  6. package/core/db-adapter/sync-engine.ts +450 -0
  7. package/core/logic-engine/engine.ts +12 -0
  8. package/core/logic-engine/index.ts +16 -0
  9. package/core/logic-engine/protocol.ts +16 -0
  10. package/core/logic-engine/psf-adapter.ts +269 -0
  11. package/core/logic-engine/rules.ts +16 -0
  12. package/core/schema-engine/compiler.ts +431 -0
  13. package/core/schema-engine/generator.ts +635 -0
  14. package/core/schema-engine/index.ts +18 -0
  15. package/core/schema-engine/psf.ts +664 -0
  16. package/core/schema-engine/types.ts +63 -0
  17. package/core/schema-engine/validator.ts +541 -0
  18. package/dist/core/codegen/docs-generator.d.ts +123 -0
  19. package/dist/core/codegen/docs-generator.d.ts.map +1 -0
  20. package/dist/core/codegen/docs-generator.js +674 -0
  21. package/dist/core/codegen/docs-generator.js.map +1 -0
  22. package/dist/core/codegen/index.d.ts +11 -0
  23. package/dist/core/codegen/index.d.ts.map +1 -0
  24. package/dist/core/codegen/index.js +13 -0
  25. package/dist/core/codegen/index.js.map +1 -0
  26. package/dist/core/codegen/ts-generator.d.ts +8 -0
  27. package/dist/core/codegen/ts-generator.d.ts.map +1 -0
  28. package/dist/core/codegen/ts-generator.js +8 -0
  29. package/dist/core/codegen/ts-generator.js.map +1 -0
  30. package/dist/core/db-adapter/index.d.ts +18 -0
  31. package/dist/core/db-adapter/index.d.ts.map +1 -0
  32. package/dist/core/db-adapter/index.js +23 -0
  33. package/dist/core/db-adapter/index.js.map +1 -0
  34. package/dist/core/db-adapter/sync-engine.d.ts +180 -0
  35. package/dist/core/db-adapter/sync-engine.d.ts.map +1 -0
  36. package/dist/core/db-adapter/sync-engine.js +342 -0
  37. package/dist/core/db-adapter/sync-engine.js.map +1 -0
  38. package/dist/core/logic-engine/engine.d.ts +8 -0
  39. package/dist/core/logic-engine/engine.d.ts.map +1 -0
  40. package/dist/core/logic-engine/engine.js +8 -0
  41. package/dist/core/logic-engine/engine.js.map +1 -0
  42. package/dist/core/logic-engine/index.d.ts +16 -0
  43. package/dist/core/logic-engine/index.d.ts.map +1 -0
  44. package/dist/core/logic-engine/index.js +16 -0
  45. package/dist/core/logic-engine/index.js.map +1 -0
  46. package/dist/core/logic-engine/protocol.d.ts +7 -0
  47. package/dist/core/logic-engine/protocol.d.ts.map +1 -0
  48. package/dist/core/logic-engine/protocol.js +7 -0
  49. package/dist/core/logic-engine/protocol.js.map +1 -0
  50. package/dist/core/logic-engine/psf-adapter.d.ts +88 -0
  51. package/dist/core/logic-engine/psf-adapter.d.ts.map +1 -0
  52. package/dist/core/logic-engine/psf-adapter.js +207 -0
  53. package/dist/core/logic-engine/psf-adapter.js.map +1 -0
  54. package/dist/core/logic-engine/rules.d.ts +7 -0
  55. package/dist/core/logic-engine/rules.d.ts.map +1 -0
  56. package/dist/core/logic-engine/rules.js +7 -0
  57. package/dist/core/logic-engine/rules.js.map +1 -0
  58. package/dist/core/schema-engine/compiler.d.ts +198 -0
  59. package/dist/core/schema-engine/compiler.d.ts.map +1 -0
  60. package/dist/core/schema-engine/compiler.js +262 -0
  61. package/dist/core/schema-engine/compiler.js.map +1 -0
  62. package/dist/core/schema-engine/generator.d.ts +115 -0
  63. package/dist/core/schema-engine/generator.d.ts.map +1 -0
  64. package/dist/core/schema-engine/generator.js +506 -0
  65. package/dist/core/schema-engine/generator.js.map +1 -0
  66. package/dist/core/schema-engine/index.d.ts +18 -0
  67. package/dist/core/schema-engine/index.d.ts.map +1 -0
  68. package/dist/core/schema-engine/index.js +18 -0
  69. package/dist/core/schema-engine/index.js.map +1 -0
  70. package/dist/core/schema-engine/psf.d.ts +612 -0
  71. package/dist/core/schema-engine/psf.d.ts.map +1 -0
  72. package/dist/core/schema-engine/psf.js +45 -0
  73. package/dist/core/schema-engine/psf.js.map +1 -0
  74. package/dist/core/schema-engine/types.d.ts +10 -0
  75. package/dist/core/schema-engine/types.d.ts.map +1 -0
  76. package/dist/core/schema-engine/types.js +7 -0
  77. package/dist/core/schema-engine/types.js.map +1 -0
  78. package/dist/core/schema-engine/validator.d.ts +140 -0
  79. package/dist/core/schema-engine/validator.d.ts.map +1 -0
  80. package/dist/core/schema-engine/validator.js +407 -0
  81. package/dist/core/schema-engine/validator.js.map +1 -0
  82. package/dist/src/adapters/cli.d.ts.map +1 -0
  83. package/dist/src/adapters/cli.js.map +1 -0
  84. package/dist/src/cli/commands/auth.d.ts.map +1 -0
  85. package/dist/src/cli/commands/auth.js.map +1 -0
  86. package/dist/src/cli/commands/build.d.ts +23 -0
  87. package/dist/src/cli/commands/build.d.ts.map +1 -0
  88. package/dist/src/cli/commands/build.js +162 -0
  89. package/dist/src/cli/commands/build.js.map +1 -0
  90. package/dist/src/cli/commands/canvas.d.ts +23 -0
  91. package/dist/src/cli/commands/canvas.d.ts.map +1 -0
  92. package/dist/src/cli/commands/canvas.js +215 -0
  93. package/dist/src/cli/commands/canvas.js.map +1 -0
  94. package/dist/src/cli/commands/cloud.d.ts.map +1 -0
  95. package/dist/src/cli/commands/cloud.js.map +1 -0
  96. package/dist/src/cli/commands/create.d.ts +21 -0
  97. package/dist/src/cli/commands/create.d.ts.map +1 -0
  98. package/dist/src/cli/commands/create.js +621 -0
  99. package/dist/src/cli/commands/create.js.map +1 -0
  100. package/dist/src/cli/commands/dev.d.ts +21 -0
  101. package/dist/src/cli/commands/dev.d.ts.map +1 -0
  102. package/dist/src/cli/commands/dev.js +71 -0
  103. package/dist/src/cli/commands/dev.js.map +1 -0
  104. package/dist/src/cli/commands/generate.d.ts.map +1 -0
  105. package/dist/src/cli/commands/generate.js.map +1 -0
  106. package/dist/src/cli/commands/orchestrate.d.ts +44 -0
  107. package/dist/src/cli/commands/orchestrate.d.ts.map +1 -0
  108. package/dist/src/cli/commands/orchestrate.js +150 -0
  109. package/dist/src/cli/commands/orchestrate.js.map +1 -0
  110. package/dist/{cli → src/cli}/index.d.ts.map +1 -1
  111. package/dist/{cli → src/cli}/index.js +53 -21
  112. package/dist/src/cli/index.js.map +1 -0
  113. package/dist/src/cloud/auth.d.ts.map +1 -0
  114. package/dist/src/cloud/auth.js.map +1 -0
  115. package/dist/src/cloud/billing.d.ts.map +1 -0
  116. package/dist/src/cloud/billing.js.map +1 -0
  117. package/dist/src/cloud/client.d.ts.map +1 -0
  118. package/dist/src/cloud/client.js.map +1 -0
  119. package/dist/src/cloud/index.d.ts.map +1 -0
  120. package/dist/src/cloud/index.js.map +1 -0
  121. package/dist/src/cloud/marketplace.d.ts.map +1 -0
  122. package/dist/src/cloud/marketplace.js.map +1 -0
  123. package/dist/src/cloud/provisioning.d.ts.map +1 -0
  124. package/dist/src/cloud/provisioning.js.map +1 -0
  125. package/dist/src/cloud/relay/endpoints.d.ts.map +1 -0
  126. package/dist/src/cloud/relay/endpoints.js.map +1 -0
  127. package/dist/src/cloud/relay/health/index.d.ts.map +1 -0
  128. package/dist/src/cloud/relay/health/index.js.map +1 -0
  129. package/dist/src/cloud/relay/stats/index.d.ts.map +1 -0
  130. package/dist/src/cloud/relay/stats/index.js.map +1 -0
  131. package/dist/src/cloud/relay/sync/index.d.ts.map +1 -0
  132. package/dist/src/cloud/relay/sync/index.js.map +1 -0
  133. package/dist/src/cloud/relay/usage/index.d.ts.map +1 -0
  134. package/dist/src/cloud/relay/usage/index.js.map +1 -0
  135. package/dist/src/cloud/sponsors.d.ts.map +1 -0
  136. package/dist/src/cloud/sponsors.js.map +1 -0
  137. package/dist/src/cloud/types.d.ts.map +1 -0
  138. package/dist/src/cloud/types.js.map +1 -0
  139. package/dist/src/components/index.d.ts.map +1 -0
  140. package/dist/src/components/index.js.map +1 -0
  141. package/dist/src/core/actors.d.ts.map +1 -0
  142. package/dist/src/core/actors.js.map +1 -0
  143. package/dist/src/core/component/generator.d.ts.map +1 -0
  144. package/dist/{core → src/core}/component/generator.js +45 -3
  145. package/dist/src/core/component/generator.js.map +1 -0
  146. package/dist/src/core/engine.d.ts.map +1 -0
  147. package/dist/src/core/engine.js.map +1 -0
  148. package/dist/src/core/introspection.d.ts.map +1 -0
  149. package/dist/src/core/introspection.js.map +1 -0
  150. package/dist/src/core/logic/generator.d.ts.map +1 -0
  151. package/dist/{core → src/core}/logic/generator.js +35 -4
  152. package/dist/src/core/logic/generator.js.map +1 -0
  153. package/dist/src/core/pluresdb/adapter.d.ts +72 -0
  154. package/dist/src/core/pluresdb/adapter.d.ts.map +1 -0
  155. package/dist/src/core/pluresdb/adapter.js +73 -0
  156. package/dist/src/core/pluresdb/adapter.js.map +1 -0
  157. package/dist/src/core/pluresdb/generator.d.ts.map +1 -0
  158. package/dist/{core → src/core}/pluresdb/generator.js +33 -4
  159. package/dist/src/core/pluresdb/generator.js.map +1 -0
  160. package/dist/src/core/pluresdb/index.d.ts +15 -0
  161. package/dist/src/core/pluresdb/index.d.ts.map +1 -0
  162. package/dist/src/core/pluresdb/index.js +11 -0
  163. package/dist/src/core/pluresdb/index.js.map +1 -0
  164. package/dist/src/core/pluresdb/schema-registry.d.ts +104 -0
  165. package/dist/src/core/pluresdb/schema-registry.d.ts.map +1 -0
  166. package/dist/src/core/pluresdb/schema-registry.js +130 -0
  167. package/dist/src/core/pluresdb/schema-registry.js.map +1 -0
  168. package/dist/src/core/pluresdb/store.d.ts +199 -0
  169. package/dist/src/core/pluresdb/store.d.ts.map +1 -0
  170. package/dist/src/core/pluresdb/store.js +344 -0
  171. package/dist/src/core/pluresdb/store.js.map +1 -0
  172. package/dist/src/core/protocol.d.ts.map +1 -0
  173. package/dist/src/core/protocol.js.map +1 -0
  174. package/dist/src/core/rules.d.ts.map +1 -0
  175. package/dist/src/core/rules.js.map +1 -0
  176. package/dist/src/core/schema/loader.d.ts.map +1 -0
  177. package/dist/{core → src/core}/schema/loader.js +2 -2
  178. package/dist/src/core/schema/loader.js.map +1 -0
  179. package/dist/src/core/schema/normalize.d.ts.map +1 -0
  180. package/dist/src/core/schema/normalize.js.map +1 -0
  181. package/dist/src/core/schema/types.d.ts.map +1 -0
  182. package/dist/src/core/schema/types.js.map +1 -0
  183. package/dist/src/dsl/index.d.ts.map +1 -0
  184. package/dist/src/dsl/index.js.map +1 -0
  185. package/dist/src/dsl.d.ts.map +1 -0
  186. package/dist/src/dsl.js.map +1 -0
  187. package/dist/src/examples/advanced-todo/index.d.ts.map +1 -0
  188. package/dist/src/examples/advanced-todo/index.js.map +1 -0
  189. package/dist/src/examples/auth-basic/index.d.ts.map +1 -0
  190. package/dist/src/examples/auth-basic/index.js.map +1 -0
  191. package/dist/src/examples/cart/index.d.ts.map +1 -0
  192. package/dist/src/examples/cart/index.js.map +1 -0
  193. package/dist/src/examples/hero-ecommerce/index.d.ts.map +1 -0
  194. package/dist/src/examples/hero-ecommerce/index.js.map +1 -0
  195. package/dist/src/examples/svelte-counter/index.d.ts.map +1 -0
  196. package/dist/src/examples/svelte-counter/index.js.map +1 -0
  197. package/dist/src/flows.d.ts.map +1 -0
  198. package/dist/src/flows.js.map +1 -0
  199. package/dist/{index.d.ts → src/index.d.ts} +12 -2
  200. package/dist/src/index.d.ts.map +1 -0
  201. package/dist/{index.js → src/index.js} +6 -1
  202. package/dist/src/index.js.map +1 -0
  203. package/dist/src/integrations/code-canvas.d.ts +265 -0
  204. package/dist/src/integrations/code-canvas.d.ts.map +1 -0
  205. package/dist/src/integrations/code-canvas.js +451 -0
  206. package/dist/src/integrations/code-canvas.js.map +1 -0
  207. package/dist/src/integrations/pluresdb.d.ts +117 -0
  208. package/dist/src/integrations/pluresdb.d.ts.map +1 -0
  209. package/dist/src/integrations/pluresdb.js +117 -0
  210. package/dist/src/integrations/pluresdb.js.map +1 -0
  211. package/dist/src/integrations/state-docs.d.ts +191 -0
  212. package/dist/src/integrations/state-docs.d.ts.map +1 -0
  213. package/dist/src/integrations/state-docs.js +515 -0
  214. package/dist/src/integrations/state-docs.js.map +1 -0
  215. package/dist/src/integrations/svelte.d.ts.map +1 -0
  216. package/dist/src/integrations/svelte.js.map +1 -0
  217. package/dist/src/integrations/tauri.d.ts +360 -0
  218. package/dist/src/integrations/tauri.d.ts.map +1 -0
  219. package/dist/src/integrations/tauri.js +278 -0
  220. package/dist/src/integrations/tauri.js.map +1 -0
  221. package/dist/src/integrations/unum.d.ts +159 -0
  222. package/dist/src/integrations/unum.d.ts.map +1 -0
  223. package/dist/src/integrations/unum.js +240 -0
  224. package/dist/src/integrations/unum.js.map +1 -0
  225. package/dist/src/registry.d.ts.map +1 -0
  226. package/dist/src/registry.js.map +1 -0
  227. package/dist/{runtime → src/runtime}/terminal-adapter.d.ts +58 -7
  228. package/dist/src/runtime/terminal-adapter.d.ts.map +1 -0
  229. package/dist/src/runtime/terminal-adapter.js +237 -0
  230. package/dist/src/runtime/terminal-adapter.js.map +1 -0
  231. package/dist/src/step.d.ts.map +1 -0
  232. package/dist/src/step.js.map +1 -0
  233. package/dist/src/types.d.ts.map +1 -0
  234. package/dist/{cloud → src}/types.js.map +1 -1
  235. package/dist/tools/cli/commands/index.d.ts +7 -0
  236. package/dist/tools/cli/commands/index.d.ts.map +1 -0
  237. package/dist/tools/cli/commands/index.js +7 -0
  238. package/dist/tools/cli/commands/index.js.map +1 -0
  239. package/dist/tools/cli/index.d.ts +8 -0
  240. package/dist/tools/cli/index.d.ts.map +1 -0
  241. package/dist/tools/cli/index.js +9 -0
  242. package/dist/tools/cli/index.js.map +1 -0
  243. package/dist/tools/watcher/index.d.ts +105 -0
  244. package/dist/tools/watcher/index.d.ts.map +1 -0
  245. package/dist/tools/watcher/index.js +213 -0
  246. package/dist/tools/watcher/index.js.map +1 -0
  247. package/dist/ui/canvas/canvas-projection.d.ts +78 -0
  248. package/dist/ui/canvas/canvas-projection.d.ts.map +1 -0
  249. package/dist/ui/canvas/canvas-projection.js +416 -0
  250. package/dist/ui/canvas/canvas-projection.js.map +1 -0
  251. package/dist/ui/canvas/canvas-state.d.ts +200 -0
  252. package/dist/ui/canvas/canvas-state.d.ts.map +1 -0
  253. package/dist/ui/canvas/canvas-state.js +464 -0
  254. package/dist/ui/canvas/canvas-state.js.map +1 -0
  255. package/dist/ui/canvas/components/index.d.ts +95 -0
  256. package/dist/ui/canvas/components/index.d.ts.map +1 -0
  257. package/dist/ui/canvas/components/index.js +19 -0
  258. package/dist/ui/canvas/components/index.js.map +1 -0
  259. package/dist/ui/canvas/index.d.ts +32 -0
  260. package/dist/ui/canvas/index.d.ts.map +1 -0
  261. package/dist/ui/canvas/index.js +32 -0
  262. package/dist/ui/canvas/index.js.map +1 -0
  263. package/dist/ui/svelte-generator/index.d.ts +9 -0
  264. package/dist/ui/svelte-generator/index.d.ts.map +1 -0
  265. package/dist/ui/svelte-generator/index.js +11 -0
  266. package/dist/ui/svelte-generator/index.js.map +1 -0
  267. package/dist/ui/svelte-generator/psf-generator.d.ts +128 -0
  268. package/dist/ui/svelte-generator/psf-generator.d.ts.map +1 -0
  269. package/dist/ui/svelte-generator/psf-generator.js +506 -0
  270. package/dist/ui/svelte-generator/psf-generator.js.map +1 -0
  271. package/docs/README.md +155 -0
  272. package/docs/core/building-extensions.md +553 -0
  273. package/docs/core/cli-usage.md +498 -0
  274. package/docs/core/code-canvas-sync.md +468 -0
  275. package/docs/core/logic-engine.md +566 -0
  276. package/docs/core/pluresdb-integration.md +646 -0
  277. package/docs/core/schema-model.md +414 -0
  278. package/docs/core/ui-generation.md +580 -0
  279. package/docs/core/what-is-praxis.md +240 -0
  280. package/docs/tutorials/README.md +84 -0
  281. package/docs/tutorials/ecommerce-cart.md +631 -0
  282. package/docs/tutorials/first-app.md +529 -0
  283. package/docs/tutorials/form-builder.md +620 -0
  284. package/docs/tutorials/todo-pluresdb.md +589 -0
  285. package/package.json +1 -1
  286. package/src/__tests__/canvas-components.test.ts +450 -0
  287. package/src/__tests__/cli-create.test.ts +178 -0
  288. package/src/__tests__/code-canvas-integration.test.ts +277 -0
  289. package/src/__tests__/docs-generator.test.ts +181 -0
  290. package/src/__tests__/generators.test.ts +3 -2
  291. package/src/__tests__/pluresdb.test.ts +457 -0
  292. package/src/__tests__/psf-schema-engine.test.ts +450 -0
  293. package/src/__tests__/state-docs-integration.test.ts +297 -0
  294. package/src/__tests__/tauri-integration.test.ts +298 -0
  295. package/src/__tests__/terminal-node.test.ts +1 -1
  296. package/src/__tests__/unum-integration.test.ts +142 -0
  297. package/src/cli/commands/build.ts +203 -0
  298. package/src/cli/commands/canvas.ts +246 -0
  299. package/src/cli/commands/create.ts +666 -0
  300. package/src/cli/commands/dev.ts +95 -0
  301. package/src/cli/commands/orchestrate.ts +212 -0
  302. package/src/cli/index.ts +48 -21
  303. package/src/core/actors.ts +1 -1
  304. package/src/core/component/generator.ts +45 -3
  305. package/src/core/logic/generator.ts +39 -4
  306. package/src/core/pluresdb/adapter.ts +117 -0
  307. package/src/core/pluresdb/generator.ts +33 -4
  308. package/src/core/pluresdb/index.ts +37 -0
  309. package/src/core/pluresdb/schema-registry.ts +162 -0
  310. package/src/core/pluresdb/store.ts +443 -0
  311. package/src/core/schema/loader.ts +2 -2
  312. package/src/index.ts +109 -0
  313. package/src/integrations/code-canvas.ts +717 -0
  314. package/src/integrations/pluresdb.ts +140 -29
  315. package/src/integrations/state-docs.ts +710 -0
  316. package/src/integrations/tauri.ts +638 -0
  317. package/src/integrations/unum.ts +395 -0
  318. package/src/runtime/terminal-adapter.ts +178 -23
  319. package/dist/adapters/cli.d.ts.map +0 -1
  320. package/dist/adapters/cli.js.map +0 -1
  321. package/dist/cli/commands/auth.d.ts.map +0 -1
  322. package/dist/cli/commands/auth.js.map +0 -1
  323. package/dist/cli/commands/cloud.d.ts.map +0 -1
  324. package/dist/cli/commands/cloud.js.map +0 -1
  325. package/dist/cli/commands/generate.d.ts.map +0 -1
  326. package/dist/cli/commands/generate.js.map +0 -1
  327. package/dist/cli/index.js.map +0 -1
  328. package/dist/cloud/auth.d.ts.map +0 -1
  329. package/dist/cloud/auth.js.map +0 -1
  330. package/dist/cloud/billing.d.ts.map +0 -1
  331. package/dist/cloud/billing.js.map +0 -1
  332. package/dist/cloud/client.d.ts.map +0 -1
  333. package/dist/cloud/client.js.map +0 -1
  334. package/dist/cloud/index.d.ts.map +0 -1
  335. package/dist/cloud/index.js.map +0 -1
  336. package/dist/cloud/marketplace.d.ts.map +0 -1
  337. package/dist/cloud/marketplace.js.map +0 -1
  338. package/dist/cloud/provisioning.d.ts.map +0 -1
  339. package/dist/cloud/provisioning.js.map +0 -1
  340. package/dist/cloud/relay/endpoints.d.ts.map +0 -1
  341. package/dist/cloud/relay/endpoints.js.map +0 -1
  342. package/dist/cloud/relay/health/index.d.ts.map +0 -1
  343. package/dist/cloud/relay/health/index.js.map +0 -1
  344. package/dist/cloud/relay/stats/index.d.ts.map +0 -1
  345. package/dist/cloud/relay/stats/index.js.map +0 -1
  346. package/dist/cloud/relay/sync/index.d.ts.map +0 -1
  347. package/dist/cloud/relay/sync/index.js.map +0 -1
  348. package/dist/cloud/relay/usage/index.d.ts.map +0 -1
  349. package/dist/cloud/relay/usage/index.js.map +0 -1
  350. package/dist/cloud/sponsors.d.ts.map +0 -1
  351. package/dist/cloud/sponsors.js.map +0 -1
  352. package/dist/cloud/types.d.ts.map +0 -1
  353. package/dist/components/index.d.ts.map +0 -1
  354. package/dist/components/index.js.map +0 -1
  355. package/dist/core/actors.d.ts.map +0 -1
  356. package/dist/core/actors.js.map +0 -1
  357. package/dist/core/component/generator.d.ts.map +0 -1
  358. package/dist/core/component/generator.js.map +0 -1
  359. package/dist/core/engine.d.ts.map +0 -1
  360. package/dist/core/engine.js.map +0 -1
  361. package/dist/core/introspection.d.ts.map +0 -1
  362. package/dist/core/introspection.js.map +0 -1
  363. package/dist/core/logic/generator.d.ts.map +0 -1
  364. package/dist/core/logic/generator.js.map +0 -1
  365. package/dist/core/pluresdb/generator.d.ts.map +0 -1
  366. package/dist/core/pluresdb/generator.js.map +0 -1
  367. package/dist/core/protocol.d.ts.map +0 -1
  368. package/dist/core/protocol.js.map +0 -1
  369. package/dist/core/rules.d.ts.map +0 -1
  370. package/dist/core/rules.js.map +0 -1
  371. package/dist/core/schema/loader.d.ts.map +0 -1
  372. package/dist/core/schema/loader.js.map +0 -1
  373. package/dist/core/schema/normalize.d.ts.map +0 -1
  374. package/dist/core/schema/normalize.js.map +0 -1
  375. package/dist/core/schema/types.d.ts.map +0 -1
  376. package/dist/core/schema/types.js.map +0 -1
  377. package/dist/dsl/index.d.ts.map +0 -1
  378. package/dist/dsl/index.js.map +0 -1
  379. package/dist/dsl.d.ts.map +0 -1
  380. package/dist/dsl.js.map +0 -1
  381. package/dist/examples/advanced-todo/index.d.ts.map +0 -1
  382. package/dist/examples/advanced-todo/index.js.map +0 -1
  383. package/dist/examples/auth-basic/index.d.ts.map +0 -1
  384. package/dist/examples/auth-basic/index.js.map +0 -1
  385. package/dist/examples/cart/index.d.ts.map +0 -1
  386. package/dist/examples/cart/index.js.map +0 -1
  387. package/dist/examples/hero-ecommerce/index.d.ts.map +0 -1
  388. package/dist/examples/hero-ecommerce/index.js.map +0 -1
  389. package/dist/examples/svelte-counter/index.d.ts.map +0 -1
  390. package/dist/examples/svelte-counter/index.js.map +0 -1
  391. package/dist/flows.d.ts.map +0 -1
  392. package/dist/flows.js.map +0 -1
  393. package/dist/index.d.ts.map +0 -1
  394. package/dist/index.js.map +0 -1
  395. package/dist/integrations/pluresdb.d.ts +0 -56
  396. package/dist/integrations/pluresdb.d.ts.map +0 -1
  397. package/dist/integrations/pluresdb.js +0 -46
  398. package/dist/integrations/pluresdb.js.map +0 -1
  399. package/dist/integrations/svelte.d.ts.map +0 -1
  400. package/dist/integrations/svelte.js.map +0 -1
  401. package/dist/registry.d.ts.map +0 -1
  402. package/dist/registry.js.map +0 -1
  403. package/dist/runtime/terminal-adapter.d.ts.map +0 -1
  404. package/dist/runtime/terminal-adapter.js +0 -113
  405. package/dist/runtime/terminal-adapter.js.map +0 -1
  406. package/dist/step.d.ts.map +0 -1
  407. package/dist/step.js.map +0 -1
  408. package/dist/types.d.ts.map +0 -1
  409. package/dist/types.js.map +0 -1
  410. /package/dist/{adapters → src/adapters}/cli.d.ts +0 -0
  411. /package/dist/{adapters → src/adapters}/cli.js +0 -0
  412. /package/dist/{cli → src/cli}/commands/auth.d.ts +0 -0
  413. /package/dist/{cli → src/cli}/commands/auth.js +0 -0
  414. /package/dist/{cli → src/cli}/commands/cloud.d.ts +0 -0
  415. /package/dist/{cli → src/cli}/commands/cloud.js +0 -0
  416. /package/dist/{cli → src/cli}/commands/generate.d.ts +0 -0
  417. /package/dist/{cli → src/cli}/commands/generate.js +0 -0
  418. /package/dist/{cli → src/cli}/index.d.ts +0 -0
  419. /package/dist/{cloud → src/cloud}/auth.d.ts +0 -0
  420. /package/dist/{cloud → src/cloud}/auth.js +0 -0
  421. /package/dist/{cloud → src/cloud}/billing.d.ts +0 -0
  422. /package/dist/{cloud → src/cloud}/billing.js +0 -0
  423. /package/dist/{cloud → src/cloud}/client.d.ts +0 -0
  424. /package/dist/{cloud → src/cloud}/client.js +0 -0
  425. /package/dist/{cloud → src/cloud}/index.d.ts +0 -0
  426. /package/dist/{cloud → src/cloud}/index.js +0 -0
  427. /package/dist/{cloud → src/cloud}/marketplace.d.ts +0 -0
  428. /package/dist/{cloud → src/cloud}/marketplace.js +0 -0
  429. /package/dist/{cloud → src/cloud}/provisioning.d.ts +0 -0
  430. /package/dist/{cloud → src/cloud}/provisioning.js +0 -0
  431. /package/dist/{cloud → src/cloud}/relay/endpoints.d.ts +0 -0
  432. /package/dist/{cloud → src/cloud}/relay/endpoints.js +0 -0
  433. /package/dist/{cloud → src/cloud}/relay/health/index.d.ts +0 -0
  434. /package/dist/{cloud → src/cloud}/relay/health/index.js +0 -0
  435. /package/dist/{cloud → src/cloud}/relay/stats/index.d.ts +0 -0
  436. /package/dist/{cloud → src/cloud}/relay/stats/index.js +0 -0
  437. /package/dist/{cloud → src/cloud}/relay/sync/index.d.ts +0 -0
  438. /package/dist/{cloud → src/cloud}/relay/sync/index.js +0 -0
  439. /package/dist/{cloud → src/cloud}/relay/usage/index.d.ts +0 -0
  440. /package/dist/{cloud → src/cloud}/relay/usage/index.js +0 -0
  441. /package/dist/{cloud → src/cloud}/sponsors.d.ts +0 -0
  442. /package/dist/{cloud → src/cloud}/sponsors.js +0 -0
  443. /package/dist/{cloud → src/cloud}/types.d.ts +0 -0
  444. /package/dist/{cloud → src/cloud}/types.js +0 -0
  445. /package/dist/{components → src/components}/index.d.ts +0 -0
  446. /package/dist/{components → src/components}/index.js +0 -0
  447. /package/dist/{core → src/core}/actors.d.ts +0 -0
  448. /package/dist/{core → src/core}/actors.js +0 -0
  449. /package/dist/{core → src/core}/component/generator.d.ts +0 -0
  450. /package/dist/{core → src/core}/engine.d.ts +0 -0
  451. /package/dist/{core → src/core}/engine.js +0 -0
  452. /package/dist/{core → src/core}/introspection.d.ts +0 -0
  453. /package/dist/{core → src/core}/introspection.js +0 -0
  454. /package/dist/{core → src/core}/logic/generator.d.ts +0 -0
  455. /package/dist/{core → src/core}/pluresdb/generator.d.ts +0 -0
  456. /package/dist/{core → src/core}/protocol.d.ts +0 -0
  457. /package/dist/{core → src/core}/protocol.js +0 -0
  458. /package/dist/{core → src/core}/rules.d.ts +0 -0
  459. /package/dist/{core → src/core}/rules.js +0 -0
  460. /package/dist/{core → src/core}/schema/loader.d.ts +0 -0
  461. /package/dist/{core → src/core}/schema/normalize.d.ts +0 -0
  462. /package/dist/{core → src/core}/schema/normalize.js +0 -0
  463. /package/dist/{core → src/core}/schema/types.d.ts +0 -0
  464. /package/dist/{core → src/core}/schema/types.js +0 -0
  465. /package/dist/{dsl → src/dsl}/index.d.ts +0 -0
  466. /package/dist/{dsl → src/dsl}/index.js +0 -0
  467. /package/dist/{dsl.d.ts → src/dsl.d.ts} +0 -0
  468. /package/dist/{dsl.js → src/dsl.js} +0 -0
  469. /package/dist/{examples → src/examples}/advanced-todo/index.d.ts +0 -0
  470. /package/dist/{examples → src/examples}/advanced-todo/index.js +0 -0
  471. /package/dist/{examples → src/examples}/auth-basic/index.d.ts +0 -0
  472. /package/dist/{examples → src/examples}/auth-basic/index.js +0 -0
  473. /package/dist/{examples → src/examples}/cart/index.d.ts +0 -0
  474. /package/dist/{examples → src/examples}/cart/index.js +0 -0
  475. /package/dist/{examples → src/examples}/hero-ecommerce/index.d.ts +0 -0
  476. /package/dist/{examples → src/examples}/hero-ecommerce/index.js +0 -0
  477. /package/dist/{examples → src/examples}/svelte-counter/index.d.ts +0 -0
  478. /package/dist/{examples → src/examples}/svelte-counter/index.js +0 -0
  479. /package/dist/{flows.d.ts → src/flows.d.ts} +0 -0
  480. /package/dist/{flows.js → src/flows.js} +0 -0
  481. /package/dist/{integrations → src/integrations}/svelte.d.ts +0 -0
  482. /package/dist/{integrations → src/integrations}/svelte.js +0 -0
  483. /package/dist/{registry.d.ts → src/registry.d.ts} +0 -0
  484. /package/dist/{registry.js → src/registry.js} +0 -0
  485. /package/dist/{step.d.ts → src/step.d.ts} +0 -0
  486. /package/dist/{step.js → src/step.js} +0 -0
  487. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
  488. /package/dist/{types.js → src/types.js} +0 -0
@@ -0,0 +1,506 @@
1
+ /**
2
+ * PSF Generator
3
+ *
4
+ * Generates TypeScript DSL code from PSF schema.
5
+ * This enables schema → code synchronization.
6
+ */
7
+ /**
8
+ * PSF Generator class
9
+ */
10
+ export class PSFGenerator {
11
+ options;
12
+ constructor(options = {}) {
13
+ this.options = {
14
+ outputDir: options.outputDir || './generated',
15
+ typescript: options.typescript ?? true,
16
+ includeDocs: options.includeDocs ?? true,
17
+ fileNaming: options.fileNaming || 'camelCase',
18
+ moduleFormat: options.moduleFormat || 'esm',
19
+ generateIndex: options.generateIndex ?? true,
20
+ };
21
+ }
22
+ /**
23
+ * Generate code from PSF schema
24
+ */
25
+ generate(schema) {
26
+ const files = [];
27
+ const errors = [];
28
+ try {
29
+ // Generate facts file
30
+ if (schema.facts.length > 0) {
31
+ files.push(this.generateFactsFile(schema.facts));
32
+ }
33
+ // Generate events file
34
+ if (schema.events.length > 0) {
35
+ files.push(this.generateEventsFile(schema.events));
36
+ }
37
+ // Generate rules file
38
+ if (schema.rules.length > 0) {
39
+ files.push(this.generateRulesFile(schema.rules));
40
+ }
41
+ // Generate constraints file
42
+ if (schema.constraints.length > 0) {
43
+ files.push(this.generateConstraintsFile(schema.constraints));
44
+ }
45
+ // Generate models file
46
+ if (schema.models.length > 0) {
47
+ files.push(this.generateModelsFile(schema.models));
48
+ }
49
+ // Generate components file
50
+ if (schema.components.length > 0) {
51
+ files.push(this.generateComponentsFile(schema.components));
52
+ }
53
+ // Generate types file
54
+ files.push(this.generateTypesFile(schema));
55
+ // Generate index file
56
+ if (this.options.generateIndex) {
57
+ files.push(this.generateIndexFile(schema));
58
+ }
59
+ }
60
+ catch (error) {
61
+ errors.push(error instanceof Error ? error.message : 'Unknown generation error');
62
+ }
63
+ return {
64
+ success: errors.length === 0,
65
+ files,
66
+ errors,
67
+ };
68
+ }
69
+ /**
70
+ * Generate facts file
71
+ */
72
+ generateFactsFile(facts) {
73
+ const lines = [];
74
+ const ext = this.options.typescript ? 'ts' : 'js';
75
+ lines.push(`/**`);
76
+ lines.push(` * Fact Definitions`);
77
+ lines.push(` * Generated from PSF Schema`);
78
+ lines.push(` */`);
79
+ lines.push('');
80
+ lines.push(`import { defineFact } from '@plures/praxis';`);
81
+ lines.push('');
82
+ for (const fact of facts) {
83
+ if (this.options.includeDocs && fact.description) {
84
+ lines.push(`/** ${fact.description} */`);
85
+ }
86
+ const payloadType = this.generatePayloadType(fact.payload);
87
+ lines.push(`export const ${fact.tag} = defineFact<"${fact.tag}", ${payloadType}>("${fact.tag}");`);
88
+ lines.push('');
89
+ }
90
+ return {
91
+ path: `${this.options.outputDir}/facts.${ext}`,
92
+ content: lines.join('\n'),
93
+ type: 'facts',
94
+ };
95
+ }
96
+ /**
97
+ * Generate events file
98
+ */
99
+ generateEventsFile(events) {
100
+ const lines = [];
101
+ const ext = this.options.typescript ? 'ts' : 'js';
102
+ lines.push(`/**`);
103
+ lines.push(` * Event Definitions`);
104
+ lines.push(` * Generated from PSF Schema`);
105
+ lines.push(` */`);
106
+ lines.push('');
107
+ lines.push(`import { defineEvent } from '@plures/praxis';`);
108
+ lines.push('');
109
+ for (const event of events) {
110
+ if (this.options.includeDocs && event.description) {
111
+ lines.push(`/** ${event.description} */`);
112
+ }
113
+ const payloadType = this.generatePayloadType(event.payload);
114
+ lines.push(`export const ${event.tag} = defineEvent<"${event.tag}", ${payloadType}>("${event.tag}");`);
115
+ lines.push('');
116
+ }
117
+ return {
118
+ path: `${this.options.outputDir}/events.${ext}`,
119
+ content: lines.join('\n'),
120
+ type: 'events',
121
+ };
122
+ }
123
+ /**
124
+ * Generate rules file
125
+ */
126
+ generateRulesFile(rules) {
127
+ const lines = [];
128
+ const ext = this.options.typescript ? 'ts' : 'js';
129
+ lines.push(`/**`);
130
+ lines.push(` * Rule Definitions`);
131
+ lines.push(` * Generated from PSF Schema`);
132
+ lines.push(` */`);
133
+ lines.push('');
134
+ lines.push(`import { defineRule } from '@plures/praxis';`);
135
+ lines.push(`import * as Facts from './facts.js';`);
136
+ lines.push(`import * as Events from './events.js';`);
137
+ lines.push('');
138
+ for (const rule of rules) {
139
+ if (this.options.includeDocs && rule.description) {
140
+ lines.push(`/** ${rule.description} */`);
141
+ }
142
+ const ruleName = this.sanitizeIdentifier(rule.id);
143
+ lines.push(`export const ${ruleName}Rule = defineRule({`);
144
+ lines.push(` id: '${rule.id}',`);
145
+ lines.push(` description: '${this.escapeString(rule.description)}',`);
146
+ if (rule.priority !== undefined) {
147
+ lines.push(` priority: ${rule.priority},`);
148
+ }
149
+ lines.push(` impl: (state, events) => {`);
150
+ // Generate trigger filtering
151
+ if (rule.triggers && rule.triggers.length > 0) {
152
+ lines.push(` // Filter for triggering events: ${rule.triggers.join(', ')}`);
153
+ lines.push(` const triggerTags = [${rule.triggers.map((t) => `'${t}'`).join(', ')}];`);
154
+ lines.push(` const triggeringEvents = events.filter(e => triggerTags.includes(e.tag));`);
155
+ lines.push(` if (triggeringEvents.length === 0) return [];`);
156
+ lines.push('');
157
+ }
158
+ // Generate condition check
159
+ if (rule.when) {
160
+ const condition = this.expressionToCode(rule.when);
161
+ lines.push(` // Condition`);
162
+ lines.push(` if (!(${condition})) return [];`);
163
+ lines.push('');
164
+ }
165
+ // Generate action
166
+ const action = this.expressionToCode(rule.then);
167
+ lines.push(` // Action`);
168
+ lines.push(` ${action}`);
169
+ lines.push(` },`);
170
+ lines.push(`});`);
171
+ lines.push('');
172
+ }
173
+ // Export all rules array
174
+ lines.push('/** All rules */');
175
+ lines.push('export const rules = [');
176
+ for (const rule of rules) {
177
+ lines.push(` ${this.sanitizeIdentifier(rule.id)}Rule,`);
178
+ }
179
+ lines.push('];');
180
+ return {
181
+ path: `${this.options.outputDir}/rules.${ext}`,
182
+ content: lines.join('\n'),
183
+ type: 'rules',
184
+ };
185
+ }
186
+ /**
187
+ * Generate constraints file
188
+ */
189
+ generateConstraintsFile(constraints) {
190
+ const lines = [];
191
+ const ext = this.options.typescript ? 'ts' : 'js';
192
+ lines.push(`/**`);
193
+ lines.push(` * Constraint Definitions`);
194
+ lines.push(` * Generated from PSF Schema`);
195
+ lines.push(` */`);
196
+ lines.push('');
197
+ lines.push(`import { defineConstraint } from '@plures/praxis';`);
198
+ lines.push('');
199
+ for (const constraint of constraints) {
200
+ if (this.options.includeDocs && constraint.description) {
201
+ lines.push(`/** ${constraint.description} */`);
202
+ }
203
+ const constraintName = this.sanitizeIdentifier(constraint.id);
204
+ const checkCode = this.expressionToCode(constraint.check);
205
+ lines.push(`export const ${constraintName}Constraint = defineConstraint({`);
206
+ lines.push(` id: '${constraint.id}',`);
207
+ lines.push(` description: '${this.escapeString(constraint.description)}',`);
208
+ lines.push(` impl: (state) => {`);
209
+ lines.push(` const check = ${checkCode};`);
210
+ lines.push(` return check || '${this.escapeString(constraint.errorMessage)}';`);
211
+ lines.push(` },`);
212
+ lines.push(`});`);
213
+ lines.push('');
214
+ }
215
+ // Export all constraints array
216
+ lines.push('/** All constraints */');
217
+ lines.push('export const constraints = [');
218
+ for (const constraint of constraints) {
219
+ lines.push(` ${this.sanitizeIdentifier(constraint.id)}Constraint,`);
220
+ }
221
+ lines.push('];');
222
+ return {
223
+ path: `${this.options.outputDir}/constraints.${ext}`,
224
+ content: lines.join('\n'),
225
+ type: 'constraints',
226
+ };
227
+ }
228
+ /**
229
+ * Generate models file
230
+ */
231
+ generateModelsFile(models) {
232
+ const lines = [];
233
+ const ext = this.options.typescript ? 'ts' : 'js';
234
+ lines.push(`/**`);
235
+ lines.push(` * Model Definitions`);
236
+ lines.push(` * Generated from PSF Schema`);
237
+ lines.push(` */`);
238
+ lines.push('');
239
+ if (this.options.typescript) {
240
+ for (const model of models) {
241
+ if (this.options.includeDocs && model.description) {
242
+ lines.push(`/** ${model.description} */`);
243
+ }
244
+ lines.push(`export interface ${model.name} {`);
245
+ for (const field of model.fields) {
246
+ const optional = field.optional ? '?' : '';
247
+ const type = this.fieldTypeToTS(field.type);
248
+ if (this.options.includeDocs && field.description) {
249
+ lines.push(` /** ${field.description} */`);
250
+ }
251
+ lines.push(` ${field.name}${optional}: ${type};`);
252
+ }
253
+ lines.push(`}`);
254
+ lines.push('');
255
+ }
256
+ }
257
+ else {
258
+ lines.push('// Models are defined as TypeScript interfaces.');
259
+ lines.push('// For JavaScript, use JSDoc annotations or TypeScript for type checking.');
260
+ }
261
+ return {
262
+ path: `${this.options.outputDir}/models.${ext}`,
263
+ content: lines.join('\n'),
264
+ type: 'models',
265
+ };
266
+ }
267
+ /**
268
+ * Generate components file
269
+ */
270
+ generateComponentsFile(components) {
271
+ const lines = [];
272
+ const ext = this.options.typescript ? 'ts' : 'js';
273
+ lines.push(`/**`);
274
+ lines.push(` * Component Definitions`);
275
+ lines.push(` * Generated from PSF Schema`);
276
+ lines.push(` */`);
277
+ lines.push('');
278
+ for (const component of components) {
279
+ if (this.options.includeDocs && component.description) {
280
+ lines.push(`/** ${component.description} */`);
281
+ }
282
+ lines.push(`export const ${component.name}Config = {`);
283
+ lines.push(` name: '${component.name}',`);
284
+ lines.push(` type: '${component.type}',`);
285
+ if (component.model) {
286
+ lines.push(` model: '${component.model}',`);
287
+ }
288
+ if (component.props.length > 0) {
289
+ lines.push(` props: [`);
290
+ for (const prop of component.props) {
291
+ lines.push(` { name: '${prop.name}', type: '${prop.type}', required: ${prop.required ?? false} },`);
292
+ }
293
+ lines.push(` ],`);
294
+ }
295
+ if (component.events.length > 0) {
296
+ lines.push(` events: [`);
297
+ for (const event of component.events) {
298
+ lines.push(` { name: '${event.name}'${event.payload ? `, payload: '${event.payload}'` : ''} },`);
299
+ }
300
+ lines.push(` ],`);
301
+ }
302
+ lines.push(`}${this.options.typescript ? ' as const' : ''};`);
303
+ lines.push('');
304
+ }
305
+ // Export all components array
306
+ lines.push('/** All component configs */');
307
+ lines.push('export const components = [');
308
+ for (const component of components) {
309
+ lines.push(` ${component.name}Config,`);
310
+ }
311
+ lines.push('];');
312
+ return {
313
+ path: `${this.options.outputDir}/components.${ext}`,
314
+ content: lines.join('\n'),
315
+ type: 'components',
316
+ };
317
+ }
318
+ /**
319
+ * Generate types file
320
+ */
321
+ generateTypesFile(schema) {
322
+ const lines = [];
323
+ const ext = this.options.typescript ? 'ts' : 'js';
324
+ lines.push(`/**`);
325
+ lines.push(` * Type Definitions`);
326
+ lines.push(` * Generated from PSF Schema: ${schema.name}`);
327
+ lines.push(` */`);
328
+ lines.push('');
329
+ if (this.options.typescript) {
330
+ // Generate payload types for facts
331
+ if (schema.facts.length > 0) {
332
+ lines.push('// Fact payload types');
333
+ for (const fact of schema.facts) {
334
+ const payloadType = this.generatePayloadType(fact.payload);
335
+ lines.push(`export type ${fact.tag}Payload = ${payloadType};`);
336
+ }
337
+ lines.push('');
338
+ }
339
+ // Generate payload types for events
340
+ if (schema.events.length > 0) {
341
+ lines.push('// Event payload types');
342
+ for (const event of schema.events) {
343
+ const payloadType = this.generatePayloadType(event.payload);
344
+ lines.push(`export type ${event.tag}Payload = ${payloadType};`);
345
+ }
346
+ lines.push('');
347
+ }
348
+ // Generate union types
349
+ if (schema.facts.length > 0) {
350
+ lines.push('// All fact tags');
351
+ const factTags = schema.facts.map((f) => `'${f.tag}'`).join(' | ');
352
+ lines.push(`export type FactTag = ${factTags};`);
353
+ lines.push('');
354
+ }
355
+ if (schema.events.length > 0) {
356
+ lines.push('// All event tags');
357
+ const eventTags = schema.events.map((e) => `'${e.tag}'`).join(' | ');
358
+ lines.push(`export type EventTag = ${eventTags};`);
359
+ lines.push('');
360
+ }
361
+ }
362
+ return {
363
+ path: `${this.options.outputDir}/types.${ext}`,
364
+ content: lines.join('\n'),
365
+ type: 'types',
366
+ };
367
+ }
368
+ /**
369
+ * Generate index file
370
+ */
371
+ generateIndexFile(schema) {
372
+ const lines = [];
373
+ const ext = this.options.typescript ? 'ts' : 'js';
374
+ lines.push(`/**`);
375
+ lines.push(` * ${schema.name}`);
376
+ if (schema.description) {
377
+ lines.push(` * ${schema.description}`);
378
+ }
379
+ lines.push(` * Generated from PSF Schema`);
380
+ lines.push(` */`);
381
+ lines.push('');
382
+ if (schema.facts.length > 0) {
383
+ lines.push(`export * from './facts.js';`);
384
+ }
385
+ if (schema.events.length > 0) {
386
+ lines.push(`export * from './events.js';`);
387
+ }
388
+ if (schema.rules.length > 0) {
389
+ lines.push(`export * from './rules.js';`);
390
+ }
391
+ if (schema.constraints.length > 0) {
392
+ lines.push(`export * from './constraints.js';`);
393
+ }
394
+ if (schema.models.length > 0) {
395
+ lines.push(`export * from './models.js';`);
396
+ }
397
+ if (schema.components.length > 0) {
398
+ lines.push(`export * from './components.js';`);
399
+ }
400
+ lines.push(`export * from './types.js';`);
401
+ return {
402
+ path: `${this.options.outputDir}/index.${ext}`,
403
+ content: lines.join('\n'),
404
+ type: 'index',
405
+ };
406
+ }
407
+ /**
408
+ * Generate TypeScript type from payload schema
409
+ */
410
+ generatePayloadType(payload) {
411
+ const props = Object.entries(payload.properties)
412
+ .map(([key, value]) => `${key}: ${this.fieldTypeToTS(value.type)}`)
413
+ .join('; ');
414
+ return `{ ${props} }`;
415
+ }
416
+ /**
417
+ * Convert PSF field type to TypeScript type
418
+ */
419
+ fieldTypeToTS(type) {
420
+ if (typeof type === 'string') {
421
+ switch (type) {
422
+ case 'string':
423
+ case 'uuid':
424
+ return 'string';
425
+ case 'number':
426
+ return 'number';
427
+ case 'boolean':
428
+ return 'boolean';
429
+ case 'date':
430
+ case 'datetime':
431
+ return 'Date';
432
+ case 'array':
433
+ return 'unknown[]';
434
+ case 'object':
435
+ return 'Record<string, unknown>';
436
+ default:
437
+ return 'unknown';
438
+ }
439
+ }
440
+ if ('array' in type) {
441
+ return `${this.fieldTypeToTS(type.array)}[]`;
442
+ }
443
+ if ('reference' in type) {
444
+ return type.reference;
445
+ }
446
+ if ('enum' in type) {
447
+ return type.enum.map((v) => `'${v}'`).join(' | ');
448
+ }
449
+ if ('union' in type) {
450
+ return type.union.map((t) => this.fieldTypeToTS(t)).join(' | ');
451
+ }
452
+ if ('object' in type) {
453
+ const props = Object.entries(type.object)
454
+ .map(([key, field]) => {
455
+ const optional = field.optional ? '?' : '';
456
+ return `${key}${optional}: ${this.fieldTypeToTS(field.type)}`;
457
+ })
458
+ .join('; ');
459
+ return `{ ${props} }`;
460
+ }
461
+ return 'unknown';
462
+ }
463
+ /**
464
+ * Convert PSF expression to code
465
+ */
466
+ expressionToCode(expr) {
467
+ if ('inline' in expr) {
468
+ return expr.inline;
469
+ }
470
+ if ('ref' in expr) {
471
+ return `/* ref: ${expr.ref} */`;
472
+ }
473
+ return '/* unknown expression */';
474
+ }
475
+ /**
476
+ * Sanitize string for use as identifier
477
+ */
478
+ sanitizeIdentifier(str) {
479
+ return str.replace(/[^a-zA-Z0-9_]/g, '_');
480
+ }
481
+ /**
482
+ * Escape string for use in code
483
+ */
484
+ escapeString(str) {
485
+ return str
486
+ .replace(/\\/g, '\\\\') // Escape backslashes first
487
+ .replace(/'/g, "\\'")
488
+ .replace(/\n/g, '\\n')
489
+ .replace(/\r/g, '\\r')
490
+ .replace(/\t/g, '\\t');
491
+ }
492
+ }
493
+ /**
494
+ * Create a PSF generator
495
+ */
496
+ export function createPSFGenerator(options) {
497
+ return new PSFGenerator(options);
498
+ }
499
+ /**
500
+ * Generate code from PSF schema (convenience function)
501
+ */
502
+ export function generateFromPSF(schema, options) {
503
+ const generator = new PSFGenerator(options);
504
+ return generator.generate(schema);
505
+ }
506
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../core/schema-engine/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Praxis Schema Engine
3
+ *
4
+ * The Schema Engine is the central module responsible for:
5
+ * - Parsing and validating Praxis Schema Format (PSF)
6
+ * - Compiling TS DSL to PSF
7
+ * - Generating TS DSL from PSF
8
+ * - Managing schema transformations
9
+ *
10
+ * PSF (Praxis Schema Format) is the canonical JSON/AST representation
11
+ * that serves as the single source of truth for all Praxis applications.
12
+ */
13
+ export * from './psf.js';
14
+ export * from './compiler.js';
15
+ export * from './generator.js';
16
+ export * from './validator.js';
17
+ export * from './types.js';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/schema-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Praxis Schema Engine
3
+ *
4
+ * The Schema Engine is the central module responsible for:
5
+ * - Parsing and validating Praxis Schema Format (PSF)
6
+ * - Compiling TS DSL to PSF
7
+ * - Generating TS DSL from PSF
8
+ * - Managing schema transformations
9
+ *
10
+ * PSF (Praxis Schema Format) is the canonical JSON/AST representation
11
+ * that serves as the single source of truth for all Praxis applications.
12
+ */
13
+ export * from './psf.js';
14
+ export * from './compiler.js';
15
+ export * from './generator.js';
16
+ export * from './validator.js';
17
+ export * from './types.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../core/schema-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}