@plures/praxis 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/README.md +162 -375
  3. package/core/codegen/docs-generator.ts +5 -2
  4. package/core/codegen/index.ts +1 -1
  5. package/core/db-adapter/index.ts +2 -2
  6. package/core/db-adapter/sync-engine.ts +17 -6
  7. package/core/logic-engine/engine.ts +1 -1
  8. package/core/logic-engine/index.ts +2 -2
  9. package/core/logic-engine/protocol.ts +1 -1
  10. package/core/logic-engine/psf-adapter.ts +8 -4
  11. package/core/logic-engine/rules.ts +1 -1
  12. package/core/schema-engine/compiler.ts +53 -11
  13. package/core/schema-engine/generator.ts +17 -7
  14. package/core/schema-engine/index.ts +2 -2
  15. package/core/schema-engine/psf.ts +12 -3
  16. package/core/schema-engine/types.ts +3 -11
  17. package/core/schema-engine/validator.ts +112 -22
  18. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  19. package/dist/browser/index.d.ts +3004 -0
  20. package/dist/browser/index.js +2892 -0
  21. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  22. package/dist/browser/integrations/svelte.js +298 -0
  23. package/dist/node/auth-STARLY7I.js +207 -0
  24. package/dist/node/build-Y7OT5VBF.js +144 -0
  25. package/dist/node/canvas-UERZHJYW.js +362 -0
  26. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  27. package/dist/node/chunk-FXQZXAWF.js +175 -0
  28. package/dist/node/chunk-N5Y37EUV.js +202 -0
  29. package/dist/node/chunk-QGM4M3NI.js +37 -0
  30. package/dist/node/chunk-RJMWCNHR.js +175 -0
  31. package/dist/node/chunk-SRM3OPPM.js +404 -0
  32. package/dist/node/chunk-UATVJBNV.js +175 -0
  33. package/dist/node/chunk-UY7YEBE2.js +159 -0
  34. package/dist/node/chunk-XCY2VIFX.js +143 -0
  35. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  36. package/dist/node/cli/index.cjs +215139 -0
  37. package/dist/node/cli/index.d.cts +1 -0
  38. package/dist/node/cli/index.d.ts +1 -0
  39. package/dist/node/cli/index.js +690 -0
  40. package/dist/node/cloud/index.cjs +1043 -0
  41. package/dist/node/cloud/index.d.cts +864 -0
  42. package/dist/node/cloud/index.d.ts +864 -0
  43. package/dist/node/cloud/index.js +456 -0
  44. package/dist/node/cloud-AXOK4PSN.js +212 -0
  45. package/dist/node/component.cjs +374 -0
  46. package/dist/node/component.d.cts +125 -0
  47. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  48. package/dist/node/component.js +9 -0
  49. package/dist/node/components/index.cjs +216 -0
  50. package/dist/node/components/index.d.cts +43 -0
  51. package/dist/{src → node}/components/index.d.ts +8 -8
  52. package/dist/node/components/index.js +7 -0
  53. package/dist/node/create-TRLSVCNQ.js +584 -0
  54. package/dist/node/dev-PMJZUYGE.js +65 -0
  55. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  56. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  57. package/dist/node/index.cjs +3247 -0
  58. package/dist/node/index.d.cts +2579 -0
  59. package/dist/node/index.d.ts +2579 -0
  60. package/dist/node/index.js +2098 -0
  61. package/dist/node/integrations/svelte.cjs +330 -0
  62. package/dist/node/integrations/svelte.d.cts +309 -0
  63. package/dist/node/integrations/svelte.d.ts +309 -0
  64. package/dist/node/integrations/svelte.js +300 -0
  65. package/dist/node/orchestrate-737TCL5H.js +127 -0
  66. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  67. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  68. package/dist/node/schema.cjs +200 -0
  69. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  70. package/dist/node/schema.d.ts +371 -0
  71. package/dist/node/schema.js +9 -0
  72. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  73. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  74. package/dist/node/verify-QRYKRIDU.js +210960 -0
  75. package/docs/MONETIZATION.md +21 -16
  76. package/docs/REACTIVE_REDESIGN.md +132 -0
  77. package/docs/README.md +47 -36
  78. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  79. package/docs/TERMINAL_NODE.md +27 -24
  80. package/docs/core/building-extensions.md +58 -61
  81. package/docs/core/cli-usage.md +59 -59
  82. package/docs/core/code-canvas-sync.md +28 -16
  83. package/docs/core/logic-engine.md +77 -82
  84. package/docs/core/pluresdb-integration.md +29 -39
  85. package/docs/core/schema-model.md +66 -52
  86. package/docs/core/ui-generation.md +57 -49
  87. package/docs/core/what-is-praxis.md +32 -15
  88. package/docs/guides/canvas.md +21 -5
  89. package/docs/guides/getting-started.md +13 -7
  90. package/docs/guides/history-state-pattern.md +65 -51
  91. package/docs/guides/orchestration.md +46 -32
  92. package/docs/guides/parallel-state-pattern.md +56 -72
  93. package/docs/guides/svelte-integration.md +45 -53
  94. package/docs/tutorials/README.md +16 -0
  95. package/docs/tutorials/ecommerce-cart.md +177 -95
  96. package/docs/tutorials/first-app.md +26 -41
  97. package/docs/tutorials/form-builder.md +191 -138
  98. package/docs/tutorials/todo-pluresdb.md +71 -69
  99. package/package.json +58 -23
  100. package/src/__tests__/actors.test.ts +68 -68
  101. package/src/__tests__/billing.test.ts +32 -32
  102. package/src/__tests__/canvas-components.test.ts +94 -73
  103. package/src/__tests__/cli-create.test.ts +28 -28
  104. package/src/__tests__/cloud.test.ts +36 -36
  105. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  106. package/src/__tests__/docs-generator.test.ts +3 -9
  107. package/src/__tests__/dsl.test.ts +58 -64
  108. package/src/__tests__/edge-cases.test.ts +106 -108
  109. package/src/__tests__/engine.test.ts +51 -25
  110. package/src/__tests__/generators.test.ts +42 -44
  111. package/src/__tests__/introspection.test.ts +104 -114
  112. package/src/__tests__/pluresdb.test.ts +189 -187
  113. package/src/__tests__/protocol.test.ts +15 -15
  114. package/src/__tests__/provisioning.test.ts +61 -61
  115. package/src/__tests__/schema.test.ts +7 -11
  116. package/src/__tests__/state-docs-integration.test.ts +162 -145
  117. package/src/__tests__/svelte-integration.test.ts +16 -19
  118. package/src/__tests__/tauri-integration.test.ts +149 -147
  119. package/src/__tests__/terminal-node.test.ts +12 -7
  120. package/src/__tests__/unum-integration.test.ts +68 -68
  121. package/src/adapters/cli.ts +21 -15
  122. package/src/cli/commands/auth.ts +82 -78
  123. package/src/cli/commands/build.ts +29 -27
  124. package/src/cli/commands/canvas.ts +338 -127
  125. package/src/cli/commands/cloud.ts +47 -47
  126. package/src/cli/commands/create.ts +59 -47
  127. package/src/cli/commands/dev.ts +12 -12
  128. package/src/cli/commands/generate.ts +29 -40
  129. package/src/cli/commands/orchestrate.ts +24 -24
  130. package/src/cli/commands/verify.ts +7 -8
  131. package/src/cli/index.ts +14 -10
  132. package/src/cloud/README.md +28 -15
  133. package/src/cloud/auth.ts +55 -70
  134. package/src/cloud/billing.ts +59 -58
  135. package/src/cloud/client.ts +29 -35
  136. package/src/cloud/index.ts +19 -40
  137. package/src/cloud/marketplace.ts +69 -78
  138. package/src/cloud/provisioning.ts +42 -51
  139. package/src/cloud/relay/endpoints.ts +30 -34
  140. package/src/cloud/relay/health/index.ts +1 -1
  141. package/src/cloud/relay/stats/index.ts +1 -1
  142. package/src/cloud/relay/sync/index.ts +1 -1
  143. package/src/cloud/relay/usage/index.ts +1 -1
  144. package/src/cloud/sponsors.ts +31 -34
  145. package/src/cloud/types.ts +4 -4
  146. package/src/components/README.md +1 -0
  147. package/src/components/index.ts +3 -4
  148. package/src/core/actors.ts +7 -7
  149. package/src/core/component/generator.ts +10 -28
  150. package/src/core/engine.ts +51 -24
  151. package/src/core/introspection.ts +37 -35
  152. package/src/core/logic/generator.ts +62 -62
  153. package/src/core/pluresdb/adapter.ts +8 -8
  154. package/src/core/pluresdb/generator.ts +39 -35
  155. package/src/core/pluresdb/index.ts +9 -12
  156. package/src/core/pluresdb/schema-registry.ts +22 -25
  157. package/src/core/pluresdb/store.ts +57 -57
  158. package/src/core/protocol.ts +14 -14
  159. package/src/core/reactive-engine.svelte.ts +65 -0
  160. package/src/core/reactive-engine.ts +67 -0
  161. package/src/core/rules.ts +4 -4
  162. package/src/core/schema/loader.common.ts +150 -0
  163. package/src/core/schema/loader.ts +19 -149
  164. package/src/core/schema/normalize.ts +34 -51
  165. package/src/core/schema/types.ts +47 -11
  166. package/src/dsl/index.ts +8 -8
  167. package/src/dsl.ts +11 -17
  168. package/src/examples/advanced-todo/README.md +58 -40
  169. package/src/examples/advanced-todo/index.ts +3 -3
  170. package/src/examples/auth-basic/index.ts +30 -30
  171. package/src/examples/cart/index.ts +50 -50
  172. package/src/examples/hero-ecommerce/index.ts +130 -157
  173. package/src/examples/svelte-counter/index.ts +22 -26
  174. package/src/flows.ts +6 -17
  175. package/src/index.browser.ts +204 -0
  176. package/src/index.ts +37 -42
  177. package/src/integrations/code-canvas.ts +237 -193
  178. package/src/integrations/pluresdb.ts +55 -35
  179. package/src/integrations/state-docs.ts +104 -104
  180. package/src/integrations/svelte.ts +35 -35
  181. package/src/integrations/tauri.ts +75 -73
  182. package/src/integrations/unum.ts +68 -61
  183. package/src/registry.ts +7 -14
  184. package/src/runtime/terminal-adapter.ts +31 -26
  185. package/src/step.ts +10 -16
  186. package/src/types.ts +1 -1
  187. package/templates/basic-app/README.md +6 -9
  188. package/templates/fullstack-app/README.md +10 -0
  189. package/dist/core/codegen/docs-generator.d.ts +0 -123
  190. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  191. package/dist/core/codegen/docs-generator.js +0 -674
  192. package/dist/core/codegen/docs-generator.js.map +0 -1
  193. package/dist/core/codegen/index.d.ts +0 -11
  194. package/dist/core/codegen/index.d.ts.map +0 -1
  195. package/dist/core/codegen/index.js +0 -13
  196. package/dist/core/codegen/index.js.map +0 -1
  197. package/dist/core/codegen/ts-generator.d.ts +0 -8
  198. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  199. package/dist/core/codegen/ts-generator.js +0 -8
  200. package/dist/core/codegen/ts-generator.js.map +0 -1
  201. package/dist/core/db-adapter/index.d.ts +0 -18
  202. package/dist/core/db-adapter/index.d.ts.map +0 -1
  203. package/dist/core/db-adapter/index.js +0 -23
  204. package/dist/core/db-adapter/index.js.map +0 -1
  205. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  206. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  207. package/dist/core/db-adapter/sync-engine.js +0 -342
  208. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  209. package/dist/core/logic-engine/engine.d.ts +0 -8
  210. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  211. package/dist/core/logic-engine/engine.js +0 -8
  212. package/dist/core/logic-engine/engine.js.map +0 -1
  213. package/dist/core/logic-engine/index.d.ts +0 -16
  214. package/dist/core/logic-engine/index.d.ts.map +0 -1
  215. package/dist/core/logic-engine/index.js +0 -16
  216. package/dist/core/logic-engine/index.js.map +0 -1
  217. package/dist/core/logic-engine/protocol.d.ts +0 -7
  218. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  219. package/dist/core/logic-engine/protocol.js +0 -7
  220. package/dist/core/logic-engine/protocol.js.map +0 -1
  221. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  222. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  223. package/dist/core/logic-engine/psf-adapter.js +0 -207
  224. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  225. package/dist/core/logic-engine/rules.d.ts +0 -7
  226. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  227. package/dist/core/logic-engine/rules.js +0 -7
  228. package/dist/core/logic-engine/rules.js.map +0 -1
  229. package/dist/core/schema-engine/compiler.d.ts +0 -198
  230. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  231. package/dist/core/schema-engine/compiler.js +0 -262
  232. package/dist/core/schema-engine/compiler.js.map +0 -1
  233. package/dist/core/schema-engine/generator.d.ts +0 -115
  234. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  235. package/dist/core/schema-engine/generator.js +0 -506
  236. package/dist/core/schema-engine/generator.js.map +0 -1
  237. package/dist/core/schema-engine/index.d.ts +0 -18
  238. package/dist/core/schema-engine/index.d.ts.map +0 -1
  239. package/dist/core/schema-engine/index.js +0 -18
  240. package/dist/core/schema-engine/index.js.map +0 -1
  241. package/dist/core/schema-engine/psf.d.ts +0 -612
  242. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  243. package/dist/core/schema-engine/psf.js +0 -45
  244. package/dist/core/schema-engine/psf.js.map +0 -1
  245. package/dist/core/schema-engine/types.d.ts +0 -10
  246. package/dist/core/schema-engine/types.d.ts.map +0 -1
  247. package/dist/core/schema-engine/types.js +0 -7
  248. package/dist/core/schema-engine/types.js.map +0 -1
  249. package/dist/core/schema-engine/validator.d.ts +0 -140
  250. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  251. package/dist/core/schema-engine/validator.js +0 -407
  252. package/dist/core/schema-engine/validator.js.map +0 -1
  253. package/dist/src/adapters/cli.d.ts +0 -43
  254. package/dist/src/adapters/cli.d.ts.map +0 -1
  255. package/dist/src/adapters/cli.js +0 -126
  256. package/dist/src/adapters/cli.js.map +0 -1
  257. package/dist/src/cli/commands/auth.d.ts +0 -26
  258. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  259. package/dist/src/cli/commands/auth.js +0 -233
  260. package/dist/src/cli/commands/auth.js.map +0 -1
  261. package/dist/src/cli/commands/build.d.ts +0 -23
  262. package/dist/src/cli/commands/build.d.ts.map +0 -1
  263. package/dist/src/cli/commands/build.js +0 -162
  264. package/dist/src/cli/commands/build.js.map +0 -1
  265. package/dist/src/cli/commands/canvas.d.ts +0 -23
  266. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  267. package/dist/src/cli/commands/canvas.js +0 -215
  268. package/dist/src/cli/commands/canvas.js.map +0 -1
  269. package/dist/src/cli/commands/cloud.d.ts +0 -27
  270. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  271. package/dist/src/cli/commands/cloud.js +0 -232
  272. package/dist/src/cli/commands/cloud.js.map +0 -1
  273. package/dist/src/cli/commands/create.d.ts +0 -21
  274. package/dist/src/cli/commands/create.d.ts.map +0 -1
  275. package/dist/src/cli/commands/create.js +0 -621
  276. package/dist/src/cli/commands/create.js.map +0 -1
  277. package/dist/src/cli/commands/dev.d.ts +0 -21
  278. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  279. package/dist/src/cli/commands/dev.js +0 -71
  280. package/dist/src/cli/commands/dev.js.map +0 -1
  281. package/dist/src/cli/commands/generate.d.ts +0 -25
  282. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  283. package/dist/src/cli/commands/generate.js +0 -168
  284. package/dist/src/cli/commands/generate.js.map +0 -1
  285. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  286. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/orchestrate.js +0 -150
  288. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  289. package/dist/src/cli/commands/verify.d.ts +0 -10
  290. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  291. package/dist/src/cli/commands/verify.js +0 -39
  292. package/dist/src/cli/commands/verify.js.map +0 -1
  293. package/dist/src/cli/index.d.ts +0 -8
  294. package/dist/src/cli/index.d.ts.map +0 -1
  295. package/dist/src/cli/index.js +0 -226
  296. package/dist/src/cli/index.js.map +0 -1
  297. package/dist/src/cloud/auth.d.ts +0 -51
  298. package/dist/src/cloud/auth.d.ts.map +0 -1
  299. package/dist/src/cloud/auth.js +0 -194
  300. package/dist/src/cloud/auth.js.map +0 -1
  301. package/dist/src/cloud/billing.d.ts +0 -184
  302. package/dist/src/cloud/billing.d.ts.map +0 -1
  303. package/dist/src/cloud/billing.js +0 -179
  304. package/dist/src/cloud/billing.js.map +0 -1
  305. package/dist/src/cloud/client.d.ts +0 -39
  306. package/dist/src/cloud/client.d.ts.map +0 -1
  307. package/dist/src/cloud/client.js +0 -176
  308. package/dist/src/cloud/client.js.map +0 -1
  309. package/dist/src/cloud/index.d.ts +0 -44
  310. package/dist/src/cloud/index.d.ts.map +0 -1
  311. package/dist/src/cloud/index.js +0 -44
  312. package/dist/src/cloud/index.js.map +0 -1
  313. package/dist/src/cloud/marketplace.d.ts +0 -166
  314. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  315. package/dist/src/cloud/marketplace.js +0 -159
  316. package/dist/src/cloud/marketplace.js.map +0 -1
  317. package/dist/src/cloud/provisioning.d.ts +0 -110
  318. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  319. package/dist/src/cloud/provisioning.js +0 -148
  320. package/dist/src/cloud/provisioning.js.map +0 -1
  321. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  322. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  323. package/dist/src/cloud/relay/endpoints.js +0 -217
  324. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  325. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  326. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/health/index.js +0 -9
  328. package/dist/src/cloud/relay/health/index.js.map +0 -1
  329. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/stats/index.js +0 -9
  332. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  333. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/sync/index.js +0 -9
  336. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  337. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/usage/index.js +0 -9
  340. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  341. package/dist/src/cloud/sponsors.d.ts +0 -81
  342. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  343. package/dist/src/cloud/sponsors.js +0 -130
  344. package/dist/src/cloud/sponsors.js.map +0 -1
  345. package/dist/src/cloud/types.d.ts +0 -169
  346. package/dist/src/cloud/types.d.ts.map +0 -1
  347. package/dist/src/cloud/types.js +0 -7
  348. package/dist/src/cloud/types.js.map +0 -1
  349. package/dist/src/components/index.d.ts.map +0 -1
  350. package/dist/src/components/index.js +0 -17
  351. package/dist/src/components/index.js.map +0 -1
  352. package/dist/src/core/actors.d.ts +0 -95
  353. package/dist/src/core/actors.d.ts.map +0 -1
  354. package/dist/src/core/actors.js +0 -158
  355. package/dist/src/core/actors.js.map +0 -1
  356. package/dist/src/core/component/generator.d.ts.map +0 -1
  357. package/dist/src/core/component/generator.js +0 -349
  358. package/dist/src/core/component/generator.js.map +0 -1
  359. package/dist/src/core/engine.d.ts +0 -92
  360. package/dist/src/core/engine.d.ts.map +0 -1
  361. package/dist/src/core/engine.js +0 -199
  362. package/dist/src/core/engine.js.map +0 -1
  363. package/dist/src/core/introspection.d.ts +0 -141
  364. package/dist/src/core/introspection.d.ts.map +0 -1
  365. package/dist/src/core/introspection.js +0 -208
  366. package/dist/src/core/introspection.js.map +0 -1
  367. package/dist/src/core/logic/generator.d.ts +0 -76
  368. package/dist/src/core/logic/generator.d.ts.map +0 -1
  369. package/dist/src/core/logic/generator.js +0 -370
  370. package/dist/src/core/logic/generator.js.map +0 -1
  371. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  372. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  373. package/dist/src/core/pluresdb/adapter.js +0 -73
  374. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  375. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  376. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/generator.js +0 -191
  378. package/dist/src/core/pluresdb/generator.js.map +0 -1
  379. package/dist/src/core/pluresdb/index.d.ts +0 -15
  380. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/index.js +0 -11
  382. package/dist/src/core/pluresdb/index.js.map +0 -1
  383. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  384. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  386. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  387. package/dist/src/core/pluresdb/store.d.ts +0 -199
  388. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/store.js +0 -344
  390. package/dist/src/core/pluresdb/store.js.map +0 -1
  391. package/dist/src/core/protocol.d.ts.map +0 -1
  392. package/dist/src/core/protocol.js +0 -46
  393. package/dist/src/core/protocol.js.map +0 -1
  394. package/dist/src/core/rules.d.ts +0 -120
  395. package/dist/src/core/rules.d.ts.map +0 -1
  396. package/dist/src/core/rules.js +0 -81
  397. package/dist/src/core/rules.js.map +0 -1
  398. package/dist/src/core/schema/loader.d.ts +0 -47
  399. package/dist/src/core/schema/loader.d.ts.map +0 -1
  400. package/dist/src/core/schema/loader.js +0 -189
  401. package/dist/src/core/schema/loader.js.map +0 -1
  402. package/dist/src/core/schema/normalize.d.ts +0 -72
  403. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  404. package/dist/src/core/schema/normalize.js +0 -190
  405. package/dist/src/core/schema/normalize.js.map +0 -1
  406. package/dist/src/core/schema/types.d.ts.map +0 -1
  407. package/dist/src/core/schema/types.js +0 -161
  408. package/dist/src/core/schema/types.js.map +0 -1
  409. package/dist/src/dsl/index.d.ts +0 -152
  410. package/dist/src/dsl/index.d.ts.map +0 -1
  411. package/dist/src/dsl/index.js +0 -132
  412. package/dist/src/dsl/index.js.map +0 -1
  413. package/dist/src/dsl.d.ts +0 -124
  414. package/dist/src/dsl.d.ts.map +0 -1
  415. package/dist/src/dsl.js +0 -130
  416. package/dist/src/dsl.js.map +0 -1
  417. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  418. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  419. package/dist/src/examples/advanced-todo/index.js +0 -222
  420. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  421. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  422. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  423. package/dist/src/examples/auth-basic/index.js +0 -122
  424. package/dist/src/examples/auth-basic/index.js.map +0 -1
  425. package/dist/src/examples/cart/index.d.ts +0 -19
  426. package/dist/src/examples/cart/index.d.ts.map +0 -1
  427. package/dist/src/examples/cart/index.js +0 -202
  428. package/dist/src/examples/cart/index.js.map +0 -1
  429. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  430. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  431. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  432. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  433. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  434. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  435. package/dist/src/examples/svelte-counter/index.js +0 -123
  436. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  437. package/dist/src/flows.d.ts +0 -125
  438. package/dist/src/flows.d.ts.map +0 -1
  439. package/dist/src/flows.js +0 -160
  440. package/dist/src/flows.js.map +0 -1
  441. package/dist/src/index.d.ts +0 -77
  442. package/dist/src/index.d.ts.map +0 -1
  443. package/dist/src/index.js +0 -64
  444. package/dist/src/index.js.map +0 -1
  445. package/dist/src/integrations/code-canvas.d.ts +0 -265
  446. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  447. package/dist/src/integrations/code-canvas.js +0 -451
  448. package/dist/src/integrations/code-canvas.js.map +0 -1
  449. package/dist/src/integrations/pluresdb.d.ts +0 -117
  450. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  451. package/dist/src/integrations/pluresdb.js +0 -117
  452. package/dist/src/integrations/pluresdb.js.map +0 -1
  453. package/dist/src/integrations/state-docs.d.ts +0 -191
  454. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  455. package/dist/src/integrations/state-docs.js +0 -515
  456. package/dist/src/integrations/state-docs.js.map +0 -1
  457. package/dist/src/integrations/svelte.d.ts.map +0 -1
  458. package/dist/src/integrations/svelte.js +0 -447
  459. package/dist/src/integrations/svelte.js.map +0 -1
  460. package/dist/src/integrations/tauri.d.ts +0 -360
  461. package/dist/src/integrations/tauri.d.ts.map +0 -1
  462. package/dist/src/integrations/tauri.js +0 -278
  463. package/dist/src/integrations/tauri.js.map +0 -1
  464. package/dist/src/integrations/unum.d.ts +0 -159
  465. package/dist/src/integrations/unum.d.ts.map +0 -1
  466. package/dist/src/integrations/unum.js +0 -240
  467. package/dist/src/integrations/unum.js.map +0 -1
  468. package/dist/src/registry.d.ts +0 -94
  469. package/dist/src/registry.d.ts.map +0 -1
  470. package/dist/src/registry.js +0 -181
  471. package/dist/src/registry.js.map +0 -1
  472. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  473. package/dist/src/runtime/terminal-adapter.js +0 -239
  474. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  475. package/dist/src/step.d.ts +0 -34
  476. package/dist/src/step.d.ts.map +0 -1
  477. package/dist/src/step.js +0 -111
  478. package/dist/src/step.js.map +0 -1
  479. package/dist/src/types.d.ts +0 -63
  480. package/dist/src/types.d.ts.map +0 -1
  481. package/dist/src/types.js +0 -6
  482. package/dist/src/types.js.map +0 -1
  483. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  484. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  485. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  486. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  487. package/dist/tools/cli/commands/index.d.ts +0 -7
  488. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  489. package/dist/tools/cli/commands/index.js +0 -7
  490. package/dist/tools/cli/commands/index.js.map +0 -1
  491. package/dist/tools/cli/index.d.ts +0 -8
  492. package/dist/tools/cli/index.d.ts.map +0 -1
  493. package/dist/tools/cli/index.js +0 -9
  494. package/dist/tools/cli/index.js.map +0 -1
  495. package/dist/tools/watcher/index.d.ts +0 -105
  496. package/dist/tools/watcher/index.d.ts.map +0 -1
  497. package/dist/tools/watcher/index.js +0 -213
  498. package/dist/tools/watcher/index.js.map +0 -1
  499. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  500. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  501. package/dist/ui/canvas/canvas-projection.js +0 -416
  502. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  503. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  504. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-state.js +0 -464
  506. package/dist/ui/canvas/canvas-state.js.map +0 -1
  507. package/dist/ui/canvas/components/index.d.ts +0 -95
  508. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  509. package/dist/ui/canvas/components/index.js +0 -19
  510. package/dist/ui/canvas/components/index.js.map +0 -1
  511. package/dist/ui/canvas/index.d.ts +0 -32
  512. package/dist/ui/canvas/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/index.js +0 -32
  514. package/dist/ui/canvas/index.js.map +0 -1
  515. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  516. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  517. package/dist/ui/canvas-inspector/src/server.js +0 -248
  518. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  520. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  522. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  523. package/dist/ui/svelte-generator/index.d.ts +0 -9
  524. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  525. package/dist/ui/svelte-generator/index.js +0 -11
  526. package/dist/ui/svelte-generator/index.js.map +0 -1
  527. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  528. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  530. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/core/component/generator.ts
21
+ var generator_exports = {};
22
+ __export(generator_exports, {
23
+ ComponentGenerator: () => ComponentGenerator,
24
+ createComponentGenerator: () => createComponentGenerator
25
+ });
26
+ module.exports = __toCommonJS(generator_exports);
27
+ var ComponentGenerator = class {
28
+ config;
29
+ constructor(config) {
30
+ this.config = config;
31
+ }
32
+ /**
33
+ * Generate component from definition
34
+ */
35
+ generateComponent(component, model) {
36
+ const files = [];
37
+ const errors = [];
38
+ try {
39
+ const componentFile = this.generateComponentFile(component, model);
40
+ files.push(componentFile);
41
+ if (this.config.typescript) {
42
+ const typesFile = this.generateTypesFile(component, model);
43
+ files.push(typesFile);
44
+ }
45
+ if (this.config.includeTests) {
46
+ const testFile = this.generateTestFile(component);
47
+ files.push(testFile);
48
+ }
49
+ if (this.config.includeDocs) {
50
+ const docsFile = this.generateDocsFile(component);
51
+ files.push(docsFile);
52
+ }
53
+ } catch (error) {
54
+ errors.push({
55
+ message: error instanceof Error ? error.message : "Unknown error",
56
+ component: component.name
57
+ });
58
+ }
59
+ return {
60
+ success: errors.length === 0,
61
+ files,
62
+ errors
63
+ };
64
+ }
65
+ /**
66
+ * Generate component file
67
+ */
68
+ generateComponentFile(component, model) {
69
+ const content = this.generateSvelteComponent(component, model);
70
+ return {
71
+ path: `${this.config.outputDir}/${component.name}.svelte`,
72
+ content,
73
+ type: "component"
74
+ };
75
+ }
76
+ /**
77
+ * Generate Svelte component code
78
+ */
79
+ generateSvelteComponent(component, model) {
80
+ const script = this.generateScript(component, model);
81
+ const template = this.generateTemplate(component, model);
82
+ const styles = this.generateStyles(component);
83
+ return `<script${this.config.typescript ? ' lang="ts"' : ""}>
84
+ ${script}
85
+ </script>
86
+
87
+ ${template}
88
+
89
+ ${styles ? `<style>
90
+ ${styles}
91
+ </style>` : ""}`;
92
+ }
93
+ /**
94
+ * Generate component script
95
+ */
96
+ generateScript(component, _model) {
97
+ const lines = [];
98
+ lines.push(` import { createPraxisStore } from '@plures/praxis/svelte';`);
99
+ lines.push("");
100
+ if (component.props && component.props.length > 0) {
101
+ component.props.forEach((prop) => {
102
+ const typeAnnotation = this.config.typescript ? `: ${prop.type}` : "";
103
+ const defaultValue = prop.default !== void 0 ? ` = ${JSON.stringify(prop.default)}` : "";
104
+ lines.push(` export let ${prop.name}${typeAnnotation}${defaultValue};`);
105
+ });
106
+ lines.push("");
107
+ }
108
+ switch (component.type) {
109
+ case "form":
110
+ lines.push(" // Form handling logic");
111
+ lines.push(' import { createEventDispatcher } from "svelte";');
112
+ lines.push(" const dispatch = createEventDispatcher();");
113
+ lines.push("");
114
+ lines.push(" function handleSubmit() {");
115
+ lines.push(' dispatch("submit", data);');
116
+ lines.push(" }");
117
+ lines.push("");
118
+ lines.push(" function handleReset() {");
119
+ lines.push(" data = { ...initialData };");
120
+ lines.push(" }");
121
+ break;
122
+ case "list":
123
+ lines.push(" // List handling logic");
124
+ lines.push(' import { createEventDispatcher } from "svelte";');
125
+ lines.push(" const dispatch = createEventDispatcher();");
126
+ lines.push("");
127
+ lines.push(" function handleSelect(item) {");
128
+ lines.push(' dispatch("select", item);');
129
+ lines.push(" }");
130
+ lines.push("");
131
+ lines.push(" function handleDelete(item) {");
132
+ lines.push(' dispatch("delete", item);');
133
+ lines.push(" }");
134
+ break;
135
+ case "display":
136
+ lines.push(" // Display component - reactive to data changes");
137
+ lines.push(' $: formattedData = data ? JSON.stringify(data, null, 2) : "No data";');
138
+ break;
139
+ case "navigation":
140
+ lines.push(" // Navigation handling");
141
+ lines.push(' import { createEventDispatcher } from "svelte";');
142
+ lines.push(" const dispatch = createEventDispatcher();");
143
+ lines.push("");
144
+ lines.push(" function navigate(path) {");
145
+ lines.push(' dispatch("navigate", { path });');
146
+ lines.push(" }");
147
+ break;
148
+ default:
149
+ lines.push(" // Component logic");
150
+ lines.push(' $: console.log("Component data updated:", data);');
151
+ }
152
+ return lines.join("\n");
153
+ }
154
+ /**
155
+ * Generate component template
156
+ */
157
+ generateTemplate(component, model) {
158
+ switch (component.type) {
159
+ case "form":
160
+ return this.generateFormTemplate(component, model);
161
+ case "display":
162
+ return this.generateDisplayTemplate(component, model);
163
+ case "list":
164
+ return this.generateListTemplate(component, model);
165
+ case "navigation":
166
+ return this.generateNavigationTemplate(component);
167
+ default:
168
+ return `<div class="${component.name.toLowerCase()}">
169
+ <!-- ${component.description || component.name} -->
170
+ <p>Component: ${component.name}</p>
171
+ </div>`;
172
+ }
173
+ }
174
+ /**
175
+ * Generate form template
176
+ */
177
+ generateFormTemplate(component, model) {
178
+ const fields = model?.fields || [];
179
+ const formFields = fields.map((field) => {
180
+ return ` <label>
181
+ ${field.name}
182
+ <input type="text" bind:value={data.${field.name}} />
183
+ </label>`;
184
+ }).join("\n");
185
+ return `<form class="${component.name.toLowerCase()}">
186
+ ${formFields}
187
+ <button type="submit">Submit</button>
188
+ </form>`;
189
+ }
190
+ /**
191
+ * Generate display template
192
+ */
193
+ generateDisplayTemplate(component, model) {
194
+ const fields = model?.fields || [];
195
+ const displayFields = fields.map((field) => {
196
+ return ` <div class="field">
197
+ <strong>${field.name}:</strong> {data.${field.name}}
198
+ </div>`;
199
+ }).join("\n");
200
+ return `<div class="${component.name.toLowerCase()}">
201
+ ${displayFields}
202
+ </div>`;
203
+ }
204
+ /**
205
+ * Generate list template
206
+ */
207
+ generateListTemplate(component, _model) {
208
+ return `<div class="${component.name.toLowerCase()}">
209
+ {#each items as item}
210
+ <div class="item">{item.name}</div>
211
+ {/each}
212
+ </div>`;
213
+ }
214
+ /**
215
+ * Generate navigation template
216
+ */
217
+ generateNavigationTemplate(component) {
218
+ return `<nav class="${component.name.toLowerCase()}">
219
+ <ul>
220
+ <li><a href="/">Home</a></li>
221
+ <li><a href="/about">About</a></li>
222
+ </ul>
223
+ </nav>`;
224
+ }
225
+ /**
226
+ * Generate component styles
227
+ */
228
+ generateStyles(component) {
229
+ if (!component.styling) {
230
+ return "";
231
+ }
232
+ const lines = [];
233
+ const styles = component.styling.styles || {};
234
+ Object.entries(styles).forEach(([key, value]) => {
235
+ lines.push(` ${key}: ${value};`);
236
+ });
237
+ return lines.length > 0 ? lines.join("\n") : "";
238
+ }
239
+ /**
240
+ * Generate types file
241
+ */
242
+ generateTypesFile(component, model) {
243
+ const lines = [];
244
+ if (component.props && component.props.length > 0) {
245
+ lines.push(`export interface ${component.name}Props {`);
246
+ component.props.forEach((prop) => {
247
+ const optional = prop.required ? "" : "?";
248
+ lines.push(` ${prop.name}${optional}: ${prop.type};`);
249
+ });
250
+ lines.push("}");
251
+ lines.push("");
252
+ }
253
+ if (model) {
254
+ lines.push(`export interface ${model.name} {`);
255
+ model.fields.forEach((field) => {
256
+ const optional = field.optional ? "?" : "";
257
+ lines.push(` ${field.name}${optional}: ${this.mapFieldType(field.type)};`);
258
+ });
259
+ lines.push("}");
260
+ }
261
+ return {
262
+ path: `${this.config.outputDir}/${component.name}.types.ts`,
263
+ content: lines.join("\n"),
264
+ type: "types"
265
+ };
266
+ }
267
+ /**
268
+ * Map field type to TypeScript type
269
+ */
270
+ mapFieldType(type) {
271
+ if (typeof type === "string") {
272
+ switch (type) {
273
+ case "string":
274
+ return "string";
275
+ case "number":
276
+ return "number";
277
+ case "boolean":
278
+ return "boolean";
279
+ case "date":
280
+ return "Date";
281
+ case "array":
282
+ return "unknown[]";
283
+ case "object":
284
+ return "Record<string, unknown>";
285
+ default:
286
+ return "unknown";
287
+ }
288
+ }
289
+ return "unknown";
290
+ }
291
+ /**
292
+ * Generate test file
293
+ */
294
+ generateTestFile(component) {
295
+ const content = `import { describe, it, expect } from 'vitest';
296
+ import { render } from '@testing-library/svelte';
297
+ import ${component.name} from './${component.name}.svelte';
298
+
299
+ describe('${component.name}', () => {
300
+ it('renders correctly', () => {
301
+ const { container } = render(${component.name});
302
+ expect(container).toBeTruthy();
303
+ });
304
+
305
+ // TODO: Add more tests based on component behavior
306
+ });
307
+ `;
308
+ return {
309
+ path: `${this.config.outputDir}/${component.name}.test.ts`,
310
+ content,
311
+ type: "test"
312
+ };
313
+ }
314
+ /**
315
+ * Generate documentation file
316
+ */
317
+ generateDocsFile(component) {
318
+ const lines = [];
319
+ lines.push(`# ${component.name}`);
320
+ lines.push("");
321
+ if (component.description) {
322
+ lines.push(component.description);
323
+ lines.push("");
324
+ }
325
+ lines.push("## Props");
326
+ lines.push("");
327
+ if (component.props && component.props.length > 0) {
328
+ component.props.forEach((prop) => {
329
+ lines.push(
330
+ `- \`${prop.name}\`: ${prop.type}${prop.required ? " (required)" : " (optional)"}`
331
+ );
332
+ if (prop.description) {
333
+ lines.push(` - ${prop.description}`);
334
+ }
335
+ });
336
+ } else {
337
+ lines.push("No props defined.");
338
+ }
339
+ lines.push("");
340
+ lines.push("## Events");
341
+ lines.push("");
342
+ if (component.events && component.events.length > 0) {
343
+ component.events.forEach((event) => {
344
+ lines.push(`- \`${event.name}\`: ${event.payload || "void"}`);
345
+ if (event.description) {
346
+ lines.push(` - ${event.description}`);
347
+ }
348
+ });
349
+ } else {
350
+ lines.push("No events defined.");
351
+ }
352
+ return {
353
+ path: `${this.config.outputDir}/${component.name}.md`,
354
+ content: lines.join("\n"),
355
+ type: "docs"
356
+ };
357
+ }
358
+ };
359
+ function createComponentGenerator(outputDir, options) {
360
+ const config = {
361
+ outputDir,
362
+ framework: "svelte",
363
+ typescript: true,
364
+ includeTests: false,
365
+ includeDocs: false,
366
+ ...options
367
+ };
368
+ return new ComponentGenerator(config);
369
+ }
370
+ // Annotate the CommonJS export names for ESM import in node:
371
+ 0 && (module.exports = {
372
+ ComponentGenerator,
373
+ createComponentGenerator
374
+ });
@@ -0,0 +1,125 @@
1
+ import { ComponentDefinition, ModelDefinition } from './schema.cjs';
2
+
3
+ /**
4
+ * Praxis Component Generator
5
+ *
6
+ * Generates Svelte components from schema definitions.
7
+ */
8
+
9
+ /**
10
+ * Generator configuration
11
+ */
12
+ interface GeneratorConfig {
13
+ /** Output directory */
14
+ outputDir: string;
15
+ /** Component framework */
16
+ framework: 'svelte' | 'react' | 'vue';
17
+ /** TypeScript support */
18
+ typescript: boolean;
19
+ /** Include tests */
20
+ includeTests: boolean;
21
+ /** Include documentation */
22
+ includeDocs: boolean;
23
+ }
24
+ /**
25
+ * Generation result
26
+ */
27
+ interface GenerationResult {
28
+ /** Success status */
29
+ success: boolean;
30
+ /** Generated files */
31
+ files: GeneratedFile[];
32
+ /** Generation errors */
33
+ errors: GenerationError[];
34
+ }
35
+ /**
36
+ * Generated file
37
+ */
38
+ interface GeneratedFile {
39
+ /** File path */
40
+ path: string;
41
+ /** File content */
42
+ content: string;
43
+ /** File type */
44
+ type: 'component' | 'test' | 'docs' | 'types';
45
+ }
46
+ /**
47
+ * Generation error
48
+ */
49
+ interface GenerationError {
50
+ /** Error message */
51
+ message: string;
52
+ /** Component name */
53
+ component?: string;
54
+ /** Error code */
55
+ code?: string;
56
+ }
57
+ /**
58
+ * Component generator class
59
+ */
60
+ declare class ComponentGenerator {
61
+ private config;
62
+ constructor(config: GeneratorConfig);
63
+ /**
64
+ * Generate component from definition
65
+ */
66
+ generateComponent(component: ComponentDefinition, model?: ModelDefinition): GenerationResult;
67
+ /**
68
+ * Generate component file
69
+ */
70
+ private generateComponentFile;
71
+ /**
72
+ * Generate Svelte component code
73
+ */
74
+ private generateSvelteComponent;
75
+ /**
76
+ * Generate component script
77
+ */
78
+ private generateScript;
79
+ /**
80
+ * Generate component template
81
+ */
82
+ private generateTemplate;
83
+ /**
84
+ * Generate form template
85
+ */
86
+ private generateFormTemplate;
87
+ /**
88
+ * Generate display template
89
+ */
90
+ private generateDisplayTemplate;
91
+ /**
92
+ * Generate list template
93
+ */
94
+ private generateListTemplate;
95
+ /**
96
+ * Generate navigation template
97
+ */
98
+ private generateNavigationTemplate;
99
+ /**
100
+ * Generate component styles
101
+ */
102
+ private generateStyles;
103
+ /**
104
+ * Generate types file
105
+ */
106
+ private generateTypesFile;
107
+ /**
108
+ * Map field type to TypeScript type
109
+ */
110
+ private mapFieldType;
111
+ /**
112
+ * Generate test file
113
+ */
114
+ private generateTestFile;
115
+ /**
116
+ * Generate documentation file
117
+ */
118
+ private generateDocsFile;
119
+ }
120
+ /**
121
+ * Create a component generator with default configuration
122
+ */
123
+ declare function createComponentGenerator(outputDir: string, options?: Partial<GeneratorConfig>): ComponentGenerator;
124
+
125
+ export { ComponentGenerator, type GeneratedFile, type GenerationError, type GenerationResult, type GeneratorConfig, createComponentGenerator };
@@ -1,13 +1,15 @@
1
+ import { ComponentDefinition, ModelDefinition } from './schema.js';
2
+
1
3
  /**
2
4
  * Praxis Component Generator
3
5
  *
4
6
  * Generates Svelte components from schema definitions.
5
7
  */
6
- import type { ComponentDefinition, ModelDefinition } from '../schema/types.js';
8
+
7
9
  /**
8
10
  * Generator configuration
9
11
  */
10
- export interface GeneratorConfig {
12
+ interface GeneratorConfig {
11
13
  /** Output directory */
12
14
  outputDir: string;
13
15
  /** Component framework */
@@ -22,7 +24,7 @@ export interface GeneratorConfig {
22
24
  /**
23
25
  * Generation result
24
26
  */
25
- export interface GenerationResult {
27
+ interface GenerationResult {
26
28
  /** Success status */
27
29
  success: boolean;
28
30
  /** Generated files */
@@ -33,7 +35,7 @@ export interface GenerationResult {
33
35
  /**
34
36
  * Generated file
35
37
  */
36
- export interface GeneratedFile {
38
+ interface GeneratedFile {
37
39
  /** File path */
38
40
  path: string;
39
41
  /** File content */
@@ -44,7 +46,7 @@ export interface GeneratedFile {
44
46
  /**
45
47
  * Generation error
46
48
  */
47
- export interface GenerationError {
49
+ interface GenerationError {
48
50
  /** Error message */
49
51
  message: string;
50
52
  /** Component name */
@@ -55,7 +57,7 @@ export interface GenerationError {
55
57
  /**
56
58
  * Component generator class
57
59
  */
58
- export declare class ComponentGenerator {
60
+ declare class ComponentGenerator {
59
61
  private config;
60
62
  constructor(config: GeneratorConfig);
61
63
  /**
@@ -118,5 +120,6 @@ export declare class ComponentGenerator {
118
120
  /**
119
121
  * Create a component generator with default configuration
120
122
  */
121
- export declare function createComponentGenerator(outputDir: string, options?: Partial<GeneratorConfig>): ComponentGenerator;
122
- //# sourceMappingURL=generator.d.ts.map
123
+ declare function createComponentGenerator(outputDir: string, options?: Partial<GeneratorConfig>): ComponentGenerator;
124
+
125
+ export { ComponentGenerator, type GeneratedFile, type GenerationError, type GenerationResult, type GeneratorConfig, createComponentGenerator };
@@ -0,0 +1,9 @@
1
+ import {
2
+ ComponentGenerator,
3
+ createComponentGenerator
4
+ } from "./chunk-YXH4Y7ZZ.js";
5
+ import "./chunk-QGM4M3NI.js";
6
+ export {
7
+ ComponentGenerator,
8
+ createComponentGenerator
9
+ };