@plures/praxis 1.0.3 → 1.1.0

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