@plures/praxis 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/LICENSE +21 -21
  3. package/README.md +162 -375
  4. package/core/codegen/docs-generator.ts +5 -2
  5. package/core/codegen/index.ts +1 -1
  6. package/core/codegen/ts-generator.ts +15 -15
  7. package/core/db-adapter/index.ts +2 -2
  8. package/core/db-adapter/sync-engine.ts +17 -6
  9. package/core/logic-engine/engine.ts +1 -1
  10. package/core/logic-engine/index.ts +2 -2
  11. package/core/logic-engine/protocol.ts +1 -1
  12. package/core/logic-engine/psf-adapter.ts +8 -4
  13. package/core/logic-engine/rules.ts +1 -1
  14. package/core/schema-engine/compiler.ts +53 -11
  15. package/core/schema-engine/generator.ts +17 -7
  16. package/core/schema-engine/index.ts +2 -2
  17. package/core/schema-engine/psf.ts +12 -3
  18. package/core/schema-engine/types.ts +3 -11
  19. package/core/schema-engine/validator.ts +112 -22
  20. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  21. package/dist/browser/index.d.ts +3004 -0
  22. package/dist/browser/index.js +2892 -0
  23. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  24. package/dist/browser/integrations/svelte.js +298 -0
  25. package/dist/node/auth-STARLY7I.js +207 -0
  26. package/dist/node/build-Y7OT5VBF.js +144 -0
  27. package/dist/node/canvas-UERZHJYW.js +362 -0
  28. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  29. package/dist/node/chunk-FXQZXAWF.js +175 -0
  30. package/dist/node/chunk-N5Y37EUV.js +202 -0
  31. package/dist/node/chunk-QGM4M3NI.js +37 -0
  32. package/dist/node/chunk-RJMWCNHR.js +175 -0
  33. package/dist/node/chunk-SRM3OPPM.js +404 -0
  34. package/dist/node/chunk-UATVJBNV.js +175 -0
  35. package/dist/node/chunk-UY7YEBE2.js +159 -0
  36. package/dist/node/chunk-XCY2VIFX.js +143 -0
  37. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  38. package/dist/node/cli/index.cjs +217418 -0
  39. package/dist/node/cli/index.d.cts +1 -0
  40. package/dist/node/cli/index.d.ts +1 -0
  41. package/dist/node/cli/index.js +690 -0
  42. package/dist/node/cloud/index.cjs +1043 -0
  43. package/dist/node/cloud/index.d.cts +864 -0
  44. package/dist/node/cloud/index.d.ts +864 -0
  45. package/dist/node/cloud/index.js +456 -0
  46. package/dist/node/cloud-AXOK4PSN.js +212 -0
  47. package/dist/node/component.cjs +374 -0
  48. package/dist/node/component.d.cts +125 -0
  49. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  50. package/dist/node/component.js +9 -0
  51. package/dist/node/components/index.cjs +216 -0
  52. package/dist/node/components/index.d.cts +43 -0
  53. package/dist/{src → node}/components/index.d.ts +8 -8
  54. package/dist/node/components/index.js +7 -0
  55. package/dist/node/create-TRLSVCNQ.js +584 -0
  56. package/dist/node/dev-PMJZUYGE.js +65 -0
  57. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  58. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  59. package/dist/node/index.cjs +3247 -0
  60. package/dist/node/index.d.cts +2579 -0
  61. package/dist/node/index.d.ts +2579 -0
  62. package/dist/node/index.js +2098 -0
  63. package/dist/node/integrations/svelte.cjs +330 -0
  64. package/dist/node/integrations/svelte.d.cts +309 -0
  65. package/dist/node/integrations/svelte.d.ts +309 -0
  66. package/dist/node/integrations/svelte.js +300 -0
  67. package/dist/node/orchestrate-737TCL5H.js +127 -0
  68. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  69. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  70. package/dist/node/schema.cjs +200 -0
  71. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  72. package/dist/node/schema.d.ts +371 -0
  73. package/dist/node/schema.js +9 -0
  74. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  75. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  76. package/dist/node/verify-YBZ7W24H.js +213239 -0
  77. package/docs/MONETIZATION.md +21 -16
  78. package/docs/REACTIVE_REDESIGN.md +132 -0
  79. package/docs/README.md +47 -36
  80. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  81. package/docs/TERMINAL_NODE.md +27 -24
  82. package/docs/core/building-extensions.md +58 -61
  83. package/docs/core/cli-usage.md +59 -59
  84. package/docs/core/code-canvas-sync.md +28 -16
  85. package/docs/core/logic-engine.md +77 -82
  86. package/docs/core/pluresdb-integration.md +29 -39
  87. package/docs/core/schema-model.md +66 -52
  88. package/docs/core/ui-generation.md +57 -49
  89. package/docs/core/what-is-praxis.md +32 -15
  90. package/docs/guides/canvas.md +21 -5
  91. package/docs/guides/getting-started.md +13 -7
  92. package/docs/guides/history-state-pattern.md +65 -51
  93. package/docs/guides/orchestration.md +46 -32
  94. package/docs/guides/parallel-state-pattern.md +56 -72
  95. package/docs/guides/svelte-integration.md +45 -53
  96. package/docs/tutorials/README.md +16 -0
  97. package/docs/tutorials/ecommerce-cart.md +177 -95
  98. package/docs/tutorials/first-app.md +26 -41
  99. package/docs/tutorials/form-builder.md +191 -138
  100. package/docs/tutorials/todo-pluresdb.md +71 -69
  101. package/package.json +132 -97
  102. package/src/__tests__/actors.test.ts +68 -68
  103. package/src/__tests__/billing.test.ts +32 -32
  104. package/src/__tests__/canvas-components.test.ts +94 -73
  105. package/src/__tests__/cli-create.test.ts +28 -28
  106. package/src/__tests__/cloud.test.ts +36 -36
  107. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  108. package/src/__tests__/docs-generator.test.ts +3 -9
  109. package/src/__tests__/dsl.test.ts +58 -64
  110. package/src/__tests__/edge-cases.test.ts +106 -108
  111. package/src/__tests__/engine.test.ts +51 -25
  112. package/src/__tests__/generators.test.ts +42 -44
  113. package/src/__tests__/introspection.test.ts +104 -114
  114. package/src/__tests__/pluresdb.test.ts +189 -187
  115. package/src/__tests__/protocol.test.ts +15 -15
  116. package/src/__tests__/provisioning.test.ts +61 -61
  117. package/src/__tests__/schema.test.ts +7 -11
  118. package/src/__tests__/state-docs-integration.test.ts +162 -145
  119. package/src/__tests__/svelte-integration.test.ts +16 -19
  120. package/src/__tests__/tauri-integration.test.ts +149 -147
  121. package/src/__tests__/terminal-node.test.ts +12 -7
  122. package/src/__tests__/unum-integration.test.ts +68 -68
  123. package/src/adapters/cli.ts +21 -15
  124. package/src/cli/commands/auth.ts +82 -78
  125. package/src/cli/commands/build.ts +29 -27
  126. package/src/cli/commands/canvas.ts +338 -127
  127. package/src/cli/commands/cloud.ts +47 -47
  128. package/src/cli/commands/create.ts +59 -47
  129. package/src/cli/commands/dev.ts +12 -12
  130. package/src/cli/commands/generate.ts +29 -40
  131. package/src/cli/commands/orchestrate.ts +24 -24
  132. package/src/cli/commands/verify.ts +7 -8
  133. package/src/cli/index.ts +14 -10
  134. package/src/cloud/README.md +28 -15
  135. package/src/cloud/auth.ts +55 -70
  136. package/src/cloud/billing.ts +59 -58
  137. package/src/cloud/client.ts +29 -35
  138. package/src/cloud/index.ts +19 -40
  139. package/src/cloud/marketplace.ts +69 -78
  140. package/src/cloud/provisioning.ts +42 -51
  141. package/src/cloud/relay/endpoints.ts +30 -34
  142. package/src/cloud/relay/health/index.ts +1 -1
  143. package/src/cloud/relay/stats/index.ts +1 -1
  144. package/src/cloud/relay/sync/index.ts +1 -1
  145. package/src/cloud/relay/usage/index.ts +1 -1
  146. package/src/cloud/sponsors.ts +31 -34
  147. package/src/cloud/types.ts +4 -4
  148. package/src/components/README.md +1 -0
  149. package/src/components/TerminalNode.svelte +457 -457
  150. package/src/components/index.ts +3 -4
  151. package/src/core/actors.ts +7 -7
  152. package/src/core/component/generator.ts +10 -28
  153. package/src/core/engine.ts +51 -24
  154. package/src/core/introspection.ts +37 -35
  155. package/src/core/logic/generator.ts +62 -62
  156. package/src/core/pluresdb/adapter.ts +8 -8
  157. package/src/core/pluresdb/generator.ts +39 -35
  158. package/src/core/pluresdb/index.ts +9 -12
  159. package/src/core/pluresdb/schema-registry.ts +22 -25
  160. package/src/core/pluresdb/store.ts +57 -57
  161. package/src/core/protocol.ts +14 -14
  162. package/src/core/reactive-engine.svelte.ts +65 -0
  163. package/src/core/reactive-engine.ts +67 -0
  164. package/src/core/rules.ts +4 -4
  165. package/src/core/schema/loader.common.ts +150 -0
  166. package/src/core/schema/loader.ts +19 -149
  167. package/src/core/schema/normalize.ts +34 -51
  168. package/src/core/schema/types.ts +47 -11
  169. package/src/dsl/index.ts +8 -8
  170. package/src/dsl.ts +11 -17
  171. package/src/examples/advanced-todo/App.svelte +506 -506
  172. package/src/examples/advanced-todo/README.md +58 -40
  173. package/src/examples/advanced-todo/index.ts +3 -3
  174. package/src/examples/auth-basic/index.ts +30 -30
  175. package/src/examples/cart/index.ts +50 -50
  176. package/src/examples/hero-ecommerce/index.ts +130 -157
  177. package/src/examples/svelte-counter/index.ts +22 -26
  178. package/src/flows.ts +6 -17
  179. package/src/index.browser.ts +204 -0
  180. package/src/index.ts +37 -42
  181. package/src/integrations/code-canvas.ts +237 -193
  182. package/src/integrations/pluresdb.ts +55 -35
  183. package/src/integrations/state-docs.ts +104 -104
  184. package/src/integrations/svelte.ts +35 -35
  185. package/src/integrations/tauri.ts +75 -73
  186. package/src/integrations/unum.ts +68 -61
  187. package/src/registry.ts +7 -14
  188. package/src/runtime/terminal-adapter.ts +31 -26
  189. package/src/step.ts +10 -16
  190. package/src/types.ts +1 -1
  191. package/templates/basic-app/README.md +6 -9
  192. package/templates/fullstack-app/README.md +10 -0
  193. package/dist/core/codegen/docs-generator.d.ts +0 -123
  194. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  195. package/dist/core/codegen/docs-generator.js +0 -674
  196. package/dist/core/codegen/docs-generator.js.map +0 -1
  197. package/dist/core/codegen/index.d.ts +0 -11
  198. package/dist/core/codegen/index.d.ts.map +0 -1
  199. package/dist/core/codegen/index.js +0 -13
  200. package/dist/core/codegen/index.js.map +0 -1
  201. package/dist/core/codegen/ts-generator.d.ts +0 -8
  202. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  203. package/dist/core/codegen/ts-generator.js +0 -8
  204. package/dist/core/codegen/ts-generator.js.map +0 -1
  205. package/dist/core/db-adapter/index.d.ts +0 -18
  206. package/dist/core/db-adapter/index.d.ts.map +0 -1
  207. package/dist/core/db-adapter/index.js +0 -23
  208. package/dist/core/db-adapter/index.js.map +0 -1
  209. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  210. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  211. package/dist/core/db-adapter/sync-engine.js +0 -342
  212. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  213. package/dist/core/logic-engine/engine.d.ts +0 -8
  214. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  215. package/dist/core/logic-engine/engine.js +0 -8
  216. package/dist/core/logic-engine/engine.js.map +0 -1
  217. package/dist/core/logic-engine/index.d.ts +0 -16
  218. package/dist/core/logic-engine/index.d.ts.map +0 -1
  219. package/dist/core/logic-engine/index.js +0 -16
  220. package/dist/core/logic-engine/index.js.map +0 -1
  221. package/dist/core/logic-engine/protocol.d.ts +0 -7
  222. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  223. package/dist/core/logic-engine/protocol.js +0 -7
  224. package/dist/core/logic-engine/protocol.js.map +0 -1
  225. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  226. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  227. package/dist/core/logic-engine/psf-adapter.js +0 -207
  228. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  229. package/dist/core/logic-engine/rules.d.ts +0 -7
  230. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  231. package/dist/core/logic-engine/rules.js +0 -7
  232. package/dist/core/logic-engine/rules.js.map +0 -1
  233. package/dist/core/schema-engine/compiler.d.ts +0 -198
  234. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  235. package/dist/core/schema-engine/compiler.js +0 -262
  236. package/dist/core/schema-engine/compiler.js.map +0 -1
  237. package/dist/core/schema-engine/generator.d.ts +0 -115
  238. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  239. package/dist/core/schema-engine/generator.js +0 -506
  240. package/dist/core/schema-engine/generator.js.map +0 -1
  241. package/dist/core/schema-engine/index.d.ts +0 -18
  242. package/dist/core/schema-engine/index.d.ts.map +0 -1
  243. package/dist/core/schema-engine/index.js +0 -18
  244. package/dist/core/schema-engine/index.js.map +0 -1
  245. package/dist/core/schema-engine/psf.d.ts +0 -612
  246. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  247. package/dist/core/schema-engine/psf.js +0 -45
  248. package/dist/core/schema-engine/psf.js.map +0 -1
  249. package/dist/core/schema-engine/types.d.ts +0 -10
  250. package/dist/core/schema-engine/types.d.ts.map +0 -1
  251. package/dist/core/schema-engine/types.js +0 -7
  252. package/dist/core/schema-engine/types.js.map +0 -1
  253. package/dist/core/schema-engine/validator.d.ts +0 -140
  254. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  255. package/dist/core/schema-engine/validator.js +0 -407
  256. package/dist/core/schema-engine/validator.js.map +0 -1
  257. package/dist/src/adapters/cli.d.ts +0 -43
  258. package/dist/src/adapters/cli.d.ts.map +0 -1
  259. package/dist/src/adapters/cli.js +0 -126
  260. package/dist/src/adapters/cli.js.map +0 -1
  261. package/dist/src/cli/commands/auth.d.ts +0 -26
  262. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  263. package/dist/src/cli/commands/auth.js +0 -233
  264. package/dist/src/cli/commands/auth.js.map +0 -1
  265. package/dist/src/cli/commands/build.d.ts +0 -23
  266. package/dist/src/cli/commands/build.d.ts.map +0 -1
  267. package/dist/src/cli/commands/build.js +0 -162
  268. package/dist/src/cli/commands/build.js.map +0 -1
  269. package/dist/src/cli/commands/canvas.d.ts +0 -23
  270. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  271. package/dist/src/cli/commands/canvas.js +0 -215
  272. package/dist/src/cli/commands/canvas.js.map +0 -1
  273. package/dist/src/cli/commands/cloud.d.ts +0 -27
  274. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  275. package/dist/src/cli/commands/cloud.js +0 -232
  276. package/dist/src/cli/commands/cloud.js.map +0 -1
  277. package/dist/src/cli/commands/create.d.ts +0 -21
  278. package/dist/src/cli/commands/create.d.ts.map +0 -1
  279. package/dist/src/cli/commands/create.js +0 -621
  280. package/dist/src/cli/commands/create.js.map +0 -1
  281. package/dist/src/cli/commands/dev.d.ts +0 -21
  282. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  283. package/dist/src/cli/commands/dev.js +0 -71
  284. package/dist/src/cli/commands/dev.js.map +0 -1
  285. package/dist/src/cli/commands/generate.d.ts +0 -25
  286. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/generate.js +0 -168
  288. package/dist/src/cli/commands/generate.js.map +0 -1
  289. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  290. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  291. package/dist/src/cli/commands/orchestrate.js +0 -150
  292. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  293. package/dist/src/cli/commands/verify.d.ts +0 -10
  294. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  295. package/dist/src/cli/commands/verify.js +0 -39
  296. package/dist/src/cli/commands/verify.js.map +0 -1
  297. package/dist/src/cli/index.d.ts +0 -8
  298. package/dist/src/cli/index.d.ts.map +0 -1
  299. package/dist/src/cli/index.js +0 -226
  300. package/dist/src/cli/index.js.map +0 -1
  301. package/dist/src/cloud/auth.d.ts +0 -51
  302. package/dist/src/cloud/auth.d.ts.map +0 -1
  303. package/dist/src/cloud/auth.js +0 -194
  304. package/dist/src/cloud/auth.js.map +0 -1
  305. package/dist/src/cloud/billing.d.ts +0 -184
  306. package/dist/src/cloud/billing.d.ts.map +0 -1
  307. package/dist/src/cloud/billing.js +0 -179
  308. package/dist/src/cloud/billing.js.map +0 -1
  309. package/dist/src/cloud/client.d.ts +0 -39
  310. package/dist/src/cloud/client.d.ts.map +0 -1
  311. package/dist/src/cloud/client.js +0 -176
  312. package/dist/src/cloud/client.js.map +0 -1
  313. package/dist/src/cloud/index.d.ts +0 -44
  314. package/dist/src/cloud/index.d.ts.map +0 -1
  315. package/dist/src/cloud/index.js +0 -44
  316. package/dist/src/cloud/index.js.map +0 -1
  317. package/dist/src/cloud/marketplace.d.ts +0 -166
  318. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  319. package/dist/src/cloud/marketplace.js +0 -159
  320. package/dist/src/cloud/marketplace.js.map +0 -1
  321. package/dist/src/cloud/provisioning.d.ts +0 -110
  322. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  323. package/dist/src/cloud/provisioning.js +0 -148
  324. package/dist/src/cloud/provisioning.js.map +0 -1
  325. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  326. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/endpoints.js +0 -217
  328. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  329. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/health/index.js +0 -9
  332. package/dist/src/cloud/relay/health/index.js.map +0 -1
  333. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/stats/index.js +0 -9
  336. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  337. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/sync/index.js +0 -9
  340. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  341. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  342. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  343. package/dist/src/cloud/relay/usage/index.js +0 -9
  344. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  345. package/dist/src/cloud/sponsors.d.ts +0 -81
  346. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  347. package/dist/src/cloud/sponsors.js +0 -130
  348. package/dist/src/cloud/sponsors.js.map +0 -1
  349. package/dist/src/cloud/types.d.ts +0 -169
  350. package/dist/src/cloud/types.d.ts.map +0 -1
  351. package/dist/src/cloud/types.js +0 -7
  352. package/dist/src/cloud/types.js.map +0 -1
  353. package/dist/src/components/index.d.ts.map +0 -1
  354. package/dist/src/components/index.js +0 -17
  355. package/dist/src/components/index.js.map +0 -1
  356. package/dist/src/core/actors.d.ts +0 -95
  357. package/dist/src/core/actors.d.ts.map +0 -1
  358. package/dist/src/core/actors.js +0 -158
  359. package/dist/src/core/actors.js.map +0 -1
  360. package/dist/src/core/component/generator.d.ts.map +0 -1
  361. package/dist/src/core/component/generator.js +0 -349
  362. package/dist/src/core/component/generator.js.map +0 -1
  363. package/dist/src/core/engine.d.ts +0 -92
  364. package/dist/src/core/engine.d.ts.map +0 -1
  365. package/dist/src/core/engine.js +0 -199
  366. package/dist/src/core/engine.js.map +0 -1
  367. package/dist/src/core/introspection.d.ts +0 -141
  368. package/dist/src/core/introspection.d.ts.map +0 -1
  369. package/dist/src/core/introspection.js +0 -208
  370. package/dist/src/core/introspection.js.map +0 -1
  371. package/dist/src/core/logic/generator.d.ts +0 -76
  372. package/dist/src/core/logic/generator.d.ts.map +0 -1
  373. package/dist/src/core/logic/generator.js +0 -370
  374. package/dist/src/core/logic/generator.js.map +0 -1
  375. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  376. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/adapter.js +0 -73
  378. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  379. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  380. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/generator.js +0 -191
  382. package/dist/src/core/pluresdb/generator.js.map +0 -1
  383. package/dist/src/core/pluresdb/index.d.ts +0 -15
  384. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/index.js +0 -11
  386. package/dist/src/core/pluresdb/index.js.map +0 -1
  387. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  388. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  390. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  391. package/dist/src/core/pluresdb/store.d.ts +0 -199
  392. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  393. package/dist/src/core/pluresdb/store.js +0 -344
  394. package/dist/src/core/pluresdb/store.js.map +0 -1
  395. package/dist/src/core/protocol.d.ts.map +0 -1
  396. package/dist/src/core/protocol.js +0 -46
  397. package/dist/src/core/protocol.js.map +0 -1
  398. package/dist/src/core/rules.d.ts +0 -120
  399. package/dist/src/core/rules.d.ts.map +0 -1
  400. package/dist/src/core/rules.js +0 -81
  401. package/dist/src/core/rules.js.map +0 -1
  402. package/dist/src/core/schema/loader.d.ts +0 -47
  403. package/dist/src/core/schema/loader.d.ts.map +0 -1
  404. package/dist/src/core/schema/loader.js +0 -189
  405. package/dist/src/core/schema/loader.js.map +0 -1
  406. package/dist/src/core/schema/normalize.d.ts +0 -72
  407. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  408. package/dist/src/core/schema/normalize.js +0 -190
  409. package/dist/src/core/schema/normalize.js.map +0 -1
  410. package/dist/src/core/schema/types.d.ts.map +0 -1
  411. package/dist/src/core/schema/types.js +0 -161
  412. package/dist/src/core/schema/types.js.map +0 -1
  413. package/dist/src/dsl/index.d.ts +0 -152
  414. package/dist/src/dsl/index.d.ts.map +0 -1
  415. package/dist/src/dsl/index.js +0 -132
  416. package/dist/src/dsl/index.js.map +0 -1
  417. package/dist/src/dsl.d.ts +0 -124
  418. package/dist/src/dsl.d.ts.map +0 -1
  419. package/dist/src/dsl.js +0 -130
  420. package/dist/src/dsl.js.map +0 -1
  421. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  422. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  423. package/dist/src/examples/advanced-todo/index.js +0 -222
  424. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  425. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  426. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  427. package/dist/src/examples/auth-basic/index.js +0 -122
  428. package/dist/src/examples/auth-basic/index.js.map +0 -1
  429. package/dist/src/examples/cart/index.d.ts +0 -19
  430. package/dist/src/examples/cart/index.d.ts.map +0 -1
  431. package/dist/src/examples/cart/index.js +0 -202
  432. package/dist/src/examples/cart/index.js.map +0 -1
  433. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  434. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  435. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  436. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  437. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  438. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  439. package/dist/src/examples/svelte-counter/index.js +0 -123
  440. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  441. package/dist/src/flows.d.ts +0 -125
  442. package/dist/src/flows.d.ts.map +0 -1
  443. package/dist/src/flows.js +0 -160
  444. package/dist/src/flows.js.map +0 -1
  445. package/dist/src/index.d.ts +0 -77
  446. package/dist/src/index.d.ts.map +0 -1
  447. package/dist/src/index.js +0 -64
  448. package/dist/src/index.js.map +0 -1
  449. package/dist/src/integrations/code-canvas.d.ts +0 -265
  450. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  451. package/dist/src/integrations/code-canvas.js +0 -451
  452. package/dist/src/integrations/code-canvas.js.map +0 -1
  453. package/dist/src/integrations/pluresdb.d.ts +0 -117
  454. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  455. package/dist/src/integrations/pluresdb.js +0 -117
  456. package/dist/src/integrations/pluresdb.js.map +0 -1
  457. package/dist/src/integrations/state-docs.d.ts +0 -191
  458. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  459. package/dist/src/integrations/state-docs.js +0 -515
  460. package/dist/src/integrations/state-docs.js.map +0 -1
  461. package/dist/src/integrations/svelte.d.ts.map +0 -1
  462. package/dist/src/integrations/svelte.js +0 -447
  463. package/dist/src/integrations/svelte.js.map +0 -1
  464. package/dist/src/integrations/tauri.d.ts +0 -360
  465. package/dist/src/integrations/tauri.d.ts.map +0 -1
  466. package/dist/src/integrations/tauri.js +0 -278
  467. package/dist/src/integrations/tauri.js.map +0 -1
  468. package/dist/src/integrations/unum.d.ts +0 -159
  469. package/dist/src/integrations/unum.d.ts.map +0 -1
  470. package/dist/src/integrations/unum.js +0 -240
  471. package/dist/src/integrations/unum.js.map +0 -1
  472. package/dist/src/registry.d.ts +0 -94
  473. package/dist/src/registry.d.ts.map +0 -1
  474. package/dist/src/registry.js +0 -181
  475. package/dist/src/registry.js.map +0 -1
  476. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  477. package/dist/src/runtime/terminal-adapter.js +0 -239
  478. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  479. package/dist/src/step.d.ts +0 -34
  480. package/dist/src/step.d.ts.map +0 -1
  481. package/dist/src/step.js +0 -111
  482. package/dist/src/step.js.map +0 -1
  483. package/dist/src/types.d.ts +0 -63
  484. package/dist/src/types.d.ts.map +0 -1
  485. package/dist/src/types.js +0 -6
  486. package/dist/src/types.js.map +0 -1
  487. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  488. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  489. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  490. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  491. package/dist/tools/cli/commands/index.d.ts +0 -7
  492. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  493. package/dist/tools/cli/commands/index.js +0 -7
  494. package/dist/tools/cli/commands/index.js.map +0 -1
  495. package/dist/tools/cli/index.d.ts +0 -8
  496. package/dist/tools/cli/index.d.ts.map +0 -1
  497. package/dist/tools/cli/index.js +0 -9
  498. package/dist/tools/cli/index.js.map +0 -1
  499. package/dist/tools/watcher/index.d.ts +0 -105
  500. package/dist/tools/watcher/index.d.ts.map +0 -1
  501. package/dist/tools/watcher/index.js +0 -213
  502. package/dist/tools/watcher/index.js.map +0 -1
  503. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  504. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-projection.js +0 -416
  506. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  507. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  508. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  509. package/dist/ui/canvas/canvas-state.js +0 -464
  510. package/dist/ui/canvas/canvas-state.js.map +0 -1
  511. package/dist/ui/canvas/components/index.d.ts +0 -95
  512. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/components/index.js +0 -19
  514. package/dist/ui/canvas/components/index.js.map +0 -1
  515. package/dist/ui/canvas/index.d.ts +0 -32
  516. package/dist/ui/canvas/index.d.ts.map +0 -1
  517. package/dist/ui/canvas/index.js +0 -32
  518. package/dist/ui/canvas/index.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  520. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/server.js +0 -248
  522. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  523. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  524. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  525. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  526. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  527. package/dist/ui/svelte-generator/index.d.ts +0 -9
  528. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/index.js +0 -11
  530. package/dist/ui/svelte-generator/index.js.map +0 -1
  531. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  532. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  533. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  534. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -1,621 +0,0 @@
1
- /**
2
- * Praxis Create Command
3
- *
4
- * Creates new Praxis applications and components from templates.
5
- */
6
- import { mkdir, writeFile } from 'fs/promises';
7
- import { join, resolve } from 'path';
8
- import { existsSync } from 'fs';
9
- /**
10
- * Generate package.json content for a new app
11
- */
12
- function generatePackageJson(name) {
13
- const pkg = {
14
- name: name,
15
- version: "0.1.0",
16
- private: true,
17
- type: "module",
18
- scripts: {
19
- dev: "vite",
20
- build: "tsc && vite build",
21
- preview: "vite preview",
22
- generate: "praxis generate",
23
- test: "vitest"
24
- },
25
- dependencies: {
26
- "@plures/praxis": "^0.2.1"
27
- },
28
- devDependencies: {
29
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
30
- "@tsconfig/svelte": "^5.0.4",
31
- "svelte": "^5.0.0",
32
- "svelte-check": "^4.0.0",
33
- "typescript": "^5.6.0",
34
- "vite": "^6.0.0",
35
- "vitest": "^4.0.0"
36
- }
37
- };
38
- return JSON.stringify(pkg, null, 2);
39
- }
40
- /**
41
- * Generate tsconfig.json content
42
- */
43
- function generateTsConfig() {
44
- const config = {
45
- extends: "@tsconfig/svelte/tsconfig.json",
46
- compilerOptions: {
47
- target: "ESNext",
48
- module: "ESNext",
49
- moduleResolution: "bundler",
50
- strict: true,
51
- esModuleInterop: true,
52
- skipLibCheck: true,
53
- resolveJsonModule: true,
54
- isolatedModules: true,
55
- noEmit: true
56
- },
57
- include: ["src/**/*"],
58
- exclude: ["node_modules"]
59
- };
60
- return JSON.stringify(config, null, 2);
61
- }
62
- /**
63
- * Generate vite.config.ts content
64
- */
65
- function generateViteConfig() {
66
- return `import { defineConfig } from 'vite';
67
- import { svelte } from '@sveltejs/vite-plugin-svelte';
68
-
69
- export default defineConfig({
70
- plugins: [svelte()],
71
- resolve: {
72
- alias: {
73
- '@': '/src'
74
- }
75
- }
76
- });
77
- `;
78
- }
79
- /**
80
- * Generate main.ts entry point
81
- */
82
- function generateMainTs(name) {
83
- return `/**
84
- * ${name} - Built with Praxis
85
- */
86
- import App from './App.svelte';
87
- import { mount } from 'svelte';
88
-
89
- const app = mount(App, {
90
- target: document.getElementById('app')!
91
- });
92
-
93
- export default app;
94
- `;
95
- }
96
- /**
97
- * Generate App.svelte component
98
- */
99
- function generateAppSvelte(name) {
100
- return `<script lang="ts">
101
- import { createPraxisEngine, PraxisRegistry, defineFact, defineEvent, defineRule } from '@plures/praxis';
102
-
103
- // Define your context type
104
- interface AppContext {
105
- initialized: boolean;
106
- message: string;
107
- }
108
-
109
- // Create the registry and engine
110
- const registry = new PraxisRegistry<AppContext>();
111
-
112
- const engine = createPraxisEngine({
113
- initialContext: {
114
- initialized: true,
115
- message: 'Welcome to ${name}!'
116
- },
117
- registry
118
- });
119
-
120
- // Reactive context
121
- let context = $state(engine.getContext());
122
- </script>
123
-
124
- <main>
125
- <h1>{context.message}</h1>
126
- <p>Your Praxis application is running!</p>
127
-
128
- <div class="card">
129
- <h2>Next Steps</h2>
130
- <ul>
131
- <li>Define your schema in <code>src/schemas/app.schema.js</code></li>
132
- <li>Run <code>praxis generate</code> to generate code</li>
133
- <li>Build your application logic with facts, events, and rules</li>
134
- </ul>
135
- </div>
136
- </main>
137
-
138
- <style>
139
- main {
140
- max-width: 800px;
141
- margin: 0 auto;
142
- padding: 2rem;
143
- font-family: system-ui, -apple-system, sans-serif;
144
- }
145
-
146
- h1 {
147
- color: #333;
148
- text-align: center;
149
- }
150
-
151
- .card {
152
- background: #f5f5f5;
153
- border-radius: 8px;
154
- padding: 1.5rem;
155
- margin-top: 2rem;
156
- }
157
-
158
- .card h2 {
159
- margin-top: 0;
160
- }
161
-
162
- code {
163
- background: #e0e0e0;
164
- padding: 0.2rem 0.4rem;
165
- border-radius: 4px;
166
- font-size: 0.9em;
167
- }
168
-
169
- li {
170
- margin: 0.5rem 0;
171
- }
172
- </style>
173
- `;
174
- }
175
- /**
176
- * Generate index.html
177
- */
178
- function generateIndexHtml(name) {
179
- return `<!DOCTYPE html>
180
- <html lang="en">
181
- <head>
182
- <meta charset="UTF-8" />
183
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
184
- <title>${name}</title>
185
- <style>
186
- * {
187
- margin: 0;
188
- padding: 0;
189
- box-sizing: border-box;
190
- }
191
- body {
192
- min-height: 100vh;
193
- background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
194
- }
195
- </style>
196
- </head>
197
- <body>
198
- <div id="app"></div>
199
- <script type="module" src="/src/main.ts"></script>
200
- </body>
201
- </html>
202
- `;
203
- }
204
- /**
205
- * Generate app schema file
206
- */
207
- function generateAppSchema(name) {
208
- return `/**
209
- * ${name} Schema
210
- *
211
- * Define your application schema here.
212
- * Run 'praxis generate' to generate code from this schema.
213
- */
214
-
215
- export const schema = {
216
- version: '1.0.0',
217
- name: '${name}',
218
- description: 'A Praxis application',
219
-
220
- models: [
221
- {
222
- name: 'Item',
223
- description: 'Example item model',
224
- fields: [
225
- { name: 'id', type: 'string' },
226
- { name: 'name', type: 'string' },
227
- { name: 'createdAt', type: 'date' }
228
- ]
229
- }
230
- ],
231
-
232
- components: [
233
- {
234
- name: 'ItemForm',
235
- type: 'form',
236
- description: 'Form for creating items',
237
- model: 'Item'
238
- },
239
- {
240
- name: 'ItemList',
241
- type: 'list',
242
- description: 'List of items',
243
- model: 'Item'
244
- }
245
- ],
246
-
247
- logic: [
248
- {
249
- id: 'item-logic',
250
- description: 'Item management logic',
251
-
252
- events: [
253
- {
254
- tag: 'CREATE_ITEM',
255
- payload: { name: 'string' },
256
- description: 'Create a new item'
257
- },
258
- {
259
- tag: 'DELETE_ITEM',
260
- payload: { itemId: 'string' },
261
- description: 'Delete an item'
262
- }
263
- ],
264
-
265
- facts: [
266
- {
267
- tag: 'ItemCreated',
268
- payload: { itemId: 'string', name: 'string' },
269
- description: 'An item was created'
270
- },
271
- {
272
- tag: 'ItemDeleted',
273
- payload: { itemId: 'string' },
274
- description: 'An item was deleted'
275
- }
276
- ],
277
-
278
- rules: [
279
- {
280
- id: 'item.create',
281
- description: 'Create a new item',
282
- priority: 10
283
- }
284
- ],
285
-
286
- constraints: [
287
- {
288
- id: 'item.name-required',
289
- description: 'Item name must not be empty',
290
- message: 'Item name is required'
291
- }
292
- ]
293
- }
294
- ]
295
- };
296
-
297
- export default schema;
298
- `;
299
- }
300
- /**
301
- * Generate svelte.config.js
302
- */
303
- function generateSvelteConfig() {
304
- return `import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
305
-
306
- export default {
307
- preprocess: vitePreprocess()
308
- };
309
- `;
310
- }
311
- /**
312
- * Generate README for new app
313
- */
314
- function generateReadme(name, template) {
315
- return `# ${name}
316
-
317
- A Praxis application created with the ${template} template.
318
-
319
- ## Getting Started
320
-
321
- ### Install dependencies
322
-
323
- \`\`\`bash
324
- npm install
325
- \`\`\`
326
-
327
- ### Start development server
328
-
329
- \`\`\`bash
330
- npm run dev
331
- \`\`\`
332
-
333
- ### Generate code from schema
334
-
335
- \`\`\`bash
336
- npm run generate
337
- \`\`\`
338
-
339
- ### Build for production
340
-
341
- \`\`\`bash
342
- npm run build
343
- \`\`\`
344
-
345
- ## Project Structure
346
-
347
- \`\`\`
348
- ${name}/
349
- ├── src/
350
- │ ├── schemas/
351
- │ │ └── app.schema.js # Application schema
352
- │ ├── components/ # Generated & custom components
353
- │ ├── logic/ # Logic engine setup
354
- │ ├── App.svelte # Root component
355
- │ └── main.ts # Application entry
356
- ├── public/ # Static assets
357
- ├── package.json
358
- ├── tsconfig.json
359
- ├── vite.config.ts
360
- └── README.md
361
- \`\`\`
362
-
363
- ## Documentation
364
-
365
- - [Praxis Framework Guide](https://github.com/plures/praxis/blob/main/FRAMEWORK.md)
366
- - [Getting Started](https://github.com/plures/praxis/blob/main/GETTING_STARTED.md)
367
- - [Schema Reference](https://github.com/plures/praxis/blob/main/docs/guides/schema.md)
368
-
369
- ## License
370
-
371
- MIT
372
- `;
373
- }
374
- /**
375
- * Generate .gitignore
376
- */
377
- function generateGitignore() {
378
- return `# Dependencies
379
- node_modules/
380
-
381
- # Build output
382
- dist/
383
- build/
384
- .svelte-kit/
385
-
386
- # Generated code
387
- generated/
388
-
389
- # Environment
390
- .env
391
- .env.local
392
- .env.*.local
393
-
394
- # IDE
395
- .vscode/
396
- .idea/
397
- *.swp
398
- *.swo
399
-
400
- # OS
401
- .DS_Store
402
- Thumbs.db
403
-
404
- # Logs
405
- *.log
406
- npm-debug.log*
407
-
408
- # Test coverage
409
- coverage/
410
- `;
411
- }
412
- /**
413
- * Create a new Praxis application
414
- */
415
- async function createApp(name, options) {
416
- const template = options.template || 'basic';
417
- const appDir = resolve(process.cwd(), name);
418
- // Check if directory already exists
419
- if (existsSync(appDir)) {
420
- console.error(`\n✗ Directory '${name}' already exists`);
421
- console.error(' Please choose a different name or remove the existing directory.\n');
422
- process.exit(1);
423
- }
424
- console.log(`\n📦 Creating Praxis application: ${name}`);
425
- console.log(` Template: ${template}`);
426
- console.log(` Location: ${appDir}\n`);
427
- // Create directory structure
428
- const dirs = [
429
- appDir,
430
- join(appDir, 'src'),
431
- join(appDir, 'src', 'schemas'),
432
- join(appDir, 'src', 'components'),
433
- join(appDir, 'src', 'logic'),
434
- join(appDir, 'src', 'store'),
435
- join(appDir, 'public')
436
- ];
437
- for (const dir of dirs) {
438
- await mkdir(dir, { recursive: true });
439
- }
440
- console.log('✓ Created directory structure');
441
- // Write configuration files
442
- await writeFile(join(appDir, 'package.json'), generatePackageJson(name));
443
- await writeFile(join(appDir, 'tsconfig.json'), generateTsConfig());
444
- await writeFile(join(appDir, 'vite.config.ts'), generateViteConfig());
445
- await writeFile(join(appDir, 'svelte.config.js'), generateSvelteConfig());
446
- await writeFile(join(appDir, '.gitignore'), generateGitignore());
447
- await writeFile(join(appDir, 'README.md'), generateReadme(name, template));
448
- console.log('✓ Created configuration files');
449
- // Write source files
450
- await writeFile(join(appDir, 'index.html'), generateIndexHtml(name));
451
- await writeFile(join(appDir, 'src', 'main.ts'), generateMainTs(name));
452
- await writeFile(join(appDir, 'src', 'App.svelte'), generateAppSvelte(name));
453
- await writeFile(join(appDir, 'src', 'schemas', 'app.schema.js'), generateAppSchema(name));
454
- console.log('✓ Created source files');
455
- // Create placeholder files for generated directories
456
- await writeFile(join(appDir, 'src', 'components', '.gitkeep'), '# Generated components will be placed here\n');
457
- await writeFile(join(appDir, 'src', 'logic', '.gitkeep'), '# Logic files will be placed here\n');
458
- await writeFile(join(appDir, 'src', 'store', '.gitkeep'), '# Store files will be placed here\n');
459
- await writeFile(join(appDir, 'public', '.gitkeep'), '# Static assets go here\n');
460
- console.log('✓ Created placeholder files');
461
- console.log(`
462
- ✅ Application created successfully!
463
-
464
- Next steps:
465
-
466
- cd ${name}
467
- npm install
468
- npm run dev
469
-
470
- Then open http://localhost:5173 in your browser.
471
-
472
- To generate code from your schema:
473
-
474
- npm run generate
475
-
476
- For more information, see the README.md in your project.
477
- `);
478
- }
479
- /**
480
- * Generate component schema content
481
- */
482
- function generateComponentSchema(name) {
483
- return `/**
484
- * ${name} Component Schema
485
- */
486
-
487
- export const componentSchema = {
488
- name: '${name}',
489
- type: 'display',
490
- description: 'A ${name} component',
491
-
492
- props: [
493
- { name: 'title', type: 'string', required: true },
494
- { name: 'content', type: 'string', required: false }
495
- ],
496
-
497
- events: [
498
- { name: 'click', description: 'Emitted when clicked' }
499
- ]
500
- };
501
-
502
- export default componentSchema;
503
- `;
504
- }
505
- /**
506
- * Generate component Svelte content
507
- */
508
- function generateComponentSvelte(name) {
509
- return `<script lang="ts">
510
- /**
511
- * ${name} Component
512
- *
513
- * Generated by Praxis.
514
- */
515
-
516
- interface Props {
517
- title: string;
518
- content?: string;
519
- }
520
-
521
- let { title, content = '' }: Props = $props();
522
- </script>
523
-
524
- <div class="${name.toLowerCase()}" role="button" tabindex="0">
525
- <h3>{title}</h3>
526
- {#if content}
527
- <p>{content}</p>
528
- {/if}
529
- <slot />
530
- </div>
531
-
532
- <style>
533
- .${name.toLowerCase()} {
534
- padding: 1rem;
535
- border: 1px solid #ddd;
536
- border-radius: 8px;
537
- margin: 0.5rem 0;
538
- cursor: pointer;
539
- transition: box-shadow 0.2s;
540
- }
541
-
542
- .${name.toLowerCase()}:hover {
543
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
544
- }
545
-
546
- h3 {
547
- margin: 0 0 0.5rem 0;
548
- color: #333;
549
- }
550
-
551
- p {
552
- margin: 0;
553
- color: #666;
554
- }
555
- </style>
556
- `;
557
- }
558
- /**
559
- * Create a new Praxis component
560
- */
561
- async function createComponent(name, options) {
562
- const outputDir = options.directory || join(process.cwd(), 'src', 'components');
563
- const componentDir = join(outputDir, name);
564
- // Check if component directory already exists
565
- if (existsSync(componentDir)) {
566
- console.error(`\n✗ Component '${name}' already exists at ${componentDir}`);
567
- console.error(' Please choose a different name or remove the existing component.\n');
568
- process.exit(1);
569
- }
570
- console.log(`\n🧩 Creating component: ${name}`);
571
- console.log(` Location: ${componentDir}\n`);
572
- // Create component directory
573
- await mkdir(componentDir, { recursive: true });
574
- // Write component files
575
- await writeFile(join(componentDir, `${name}.svelte`), generateComponentSvelte(name));
576
- await writeFile(join(componentDir, `${name}.schema.js`), generateComponentSchema(name));
577
- await writeFile(join(componentDir, 'index.ts'), `export { default as ${name} } from './${name}.svelte';\n`);
578
- console.log(`✓ Created ${name}.svelte`);
579
- console.log(`✓ Created ${name}.schema.js`);
580
- console.log(`✓ Created index.ts`);
581
- console.log(`
582
- ✅ Component created successfully!
583
-
584
- Import it in your application:
585
-
586
- import { ${name} } from './components/${name}';
587
-
588
- Or use the schema for generation:
589
-
590
- praxis generate --schema src/components/${name}/${name}.schema.js
591
- `);
592
- }
593
- /**
594
- * Execute the create command
595
- */
596
- export async function create(type, name, options) {
597
- if (!name) {
598
- console.error('\n✗ Please provide a name for the ' + type);
599
- console.error(` Usage: praxis create ${type} <name>\n`);
600
- process.exit(1);
601
- }
602
- // Validate name
603
- if (!/^[a-zA-Z][a-zA-Z0-9-_]*$/.test(name)) {
604
- console.error('\n✗ Invalid name format');
605
- console.error(' Name must start with a letter and contain only letters, numbers, hyphens, and underscores.\n');
606
- process.exit(1);
607
- }
608
- switch (type) {
609
- case 'app':
610
- await createApp(name, options);
611
- break;
612
- case 'component':
613
- await createComponent(name, options);
614
- break;
615
- default:
616
- console.error(`\n✗ Unknown type: ${type}`);
617
- console.error(' Valid types: app, component\n');
618
- process.exit(1);
619
- }
620
- }
621
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Development Server Command
3
- *
4
- * Starts the Praxis development server with Vite.
5
- */
6
- /**
7
- * Development server options
8
- */
9
- export interface DevOptions {
10
- /** Port number */
11
- port?: string;
12
- /** Host to bind to */
13
- host?: string;
14
- /** Open browser */
15
- open?: boolean;
16
- }
17
- /**
18
- * Start development server
19
- */
20
- export declare function dev(options: DevOptions): Promise<void>;
21
- //# sourceMappingURL=dev.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE5D"}