@plures/praxis 1.0.2 → 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.
- package/FRAMEWORK.md +55 -5
- package/LICENSE +21 -21
- package/README.md +162 -375
- package/core/codegen/docs-generator.ts +5 -2
- package/core/codegen/index.ts +1 -1
- package/core/codegen/ts-generator.ts +15 -15
- package/core/db-adapter/index.ts +2 -2
- package/core/db-adapter/sync-engine.ts +17 -6
- package/core/logic-engine/engine.ts +1 -1
- package/core/logic-engine/index.ts +2 -2
- package/core/logic-engine/protocol.ts +1 -1
- package/core/logic-engine/psf-adapter.ts +8 -4
- package/core/logic-engine/rules.ts +1 -1
- package/core/schema-engine/compiler.ts +53 -11
- package/core/schema-engine/generator.ts +17 -7
- package/core/schema-engine/index.ts +2 -2
- package/core/schema-engine/psf.ts +12 -3
- package/core/schema-engine/types.ts +3 -11
- package/core/schema-engine/validator.ts +112 -22
- package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
- package/dist/browser/index.d.ts +3004 -0
- package/dist/browser/index.js +2892 -0
- package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
- package/dist/browser/integrations/svelte.js +298 -0
- package/dist/node/auth-STARLY7I.js +207 -0
- package/dist/node/build-Y7OT5VBF.js +144 -0
- package/dist/node/canvas-UERZHJYW.js +362 -0
- package/dist/node/chunk-DSDC2JWZ.js +256 -0
- package/dist/node/chunk-FXQZXAWF.js +175 -0
- package/dist/node/chunk-N5Y37EUV.js +202 -0
- package/dist/node/chunk-QGM4M3NI.js +37 -0
- package/dist/node/chunk-RJMWCNHR.js +175 -0
- package/dist/node/chunk-SRM3OPPM.js +404 -0
- package/dist/node/chunk-UATVJBNV.js +175 -0
- package/dist/node/chunk-UY7YEBE2.js +159 -0
- package/dist/node/chunk-XCY2VIFX.js +143 -0
- package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
- package/dist/node/cli/index.cjs +217418 -0
- package/dist/node/cli/index.d.cts +1 -0
- package/dist/node/cli/index.d.ts +1 -0
- package/dist/node/cli/index.js +690 -0
- package/dist/node/cloud/index.cjs +1043 -0
- package/dist/node/cloud/index.d.cts +864 -0
- package/dist/node/cloud/index.d.ts +864 -0
- package/dist/node/cloud/index.js +456 -0
- package/dist/node/cloud-AXOK4PSN.js +212 -0
- package/dist/node/component.cjs +374 -0
- package/dist/node/component.d.cts +125 -0
- package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
- package/dist/node/component.js +9 -0
- package/dist/node/components/index.cjs +216 -0
- package/dist/node/components/index.d.cts +43 -0
- package/dist/{src → node}/components/index.d.ts +8 -8
- package/dist/node/components/index.js +7 -0
- package/dist/node/create-TRLSVCNQ.js +584 -0
- package/dist/node/dev-PMJZUYGE.js +65 -0
- package/dist/node/engine-1iqLe6_P.d.ts +214 -0
- package/dist/node/engine-CVJobhHm.d.cts +214 -0
- package/dist/node/index.cjs +3247 -0
- package/dist/node/index.d.cts +2579 -0
- package/dist/node/index.d.ts +2579 -0
- package/dist/node/index.js +2098 -0
- package/dist/node/integrations/svelte.cjs +330 -0
- package/dist/node/integrations/svelte.d.cts +309 -0
- package/dist/node/integrations/svelte.d.ts +309 -0
- package/dist/node/integrations/svelte.js +300 -0
- package/dist/node/orchestrate-737TCL5H.js +127 -0
- package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
- package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
- package/dist/node/schema.cjs +200 -0
- package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
- package/dist/node/schema.d.ts +371 -0
- package/dist/node/schema.js +9 -0
- package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
- package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
- package/dist/node/verify-YBZ7W24H.js +213239 -0
- package/docs/MONETIZATION.md +21 -16
- package/docs/REACTIVE_REDESIGN.md +132 -0
- package/docs/README.md +47 -36
- package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
- package/docs/TERMINAL_NODE.md +27 -24
- package/docs/core/building-extensions.md +58 -61
- package/docs/core/cli-usage.md +59 -59
- package/docs/core/code-canvas-sync.md +28 -16
- package/docs/core/logic-engine.md +77 -82
- package/docs/core/pluresdb-integration.md +29 -39
- package/docs/core/schema-model.md +66 -52
- package/docs/core/ui-generation.md +57 -49
- package/docs/core/what-is-praxis.md +32 -15
- package/docs/guides/canvas.md +21 -5
- package/docs/guides/getting-started.md +13 -7
- package/docs/guides/history-state-pattern.md +65 -51
- package/docs/guides/orchestration.md +46 -32
- package/docs/guides/parallel-state-pattern.md +56 -72
- package/docs/guides/svelte-integration.md +45 -53
- package/docs/tutorials/README.md +16 -0
- package/docs/tutorials/ecommerce-cart.md +177 -95
- package/docs/tutorials/first-app.md +26 -41
- package/docs/tutorials/form-builder.md +191 -138
- package/docs/tutorials/todo-pluresdb.md +71 -69
- package/package.json +132 -96
- package/src/__tests__/actors.test.ts +68 -68
- package/src/__tests__/billing.test.ts +32 -32
- package/src/__tests__/canvas-components.test.ts +94 -73
- package/src/__tests__/cli-create.test.ts +28 -28
- package/src/__tests__/cloud.test.ts +36 -36
- package/src/__tests__/code-canvas-integration.test.ts +132 -141
- package/src/__tests__/docs-generator.test.ts +3 -9
- package/src/__tests__/dsl.test.ts +58 -64
- package/src/__tests__/edge-cases.test.ts +106 -108
- package/src/__tests__/engine.test.ts +51 -25
- package/src/__tests__/generators.test.ts +42 -44
- package/src/__tests__/introspection.test.ts +104 -114
- package/src/__tests__/pluresdb.test.ts +189 -187
- package/src/__tests__/protocol.test.ts +15 -15
- package/src/__tests__/provisioning.test.ts +61 -61
- package/src/__tests__/schema.test.ts +7 -11
- package/src/__tests__/state-docs-integration.test.ts +162 -145
- package/src/__tests__/svelte-integration.test.ts +16 -19
- package/src/__tests__/tauri-integration.test.ts +149 -147
- package/src/__tests__/terminal-node.test.ts +12 -7
- package/src/__tests__/unum-integration.test.ts +68 -68
- package/src/adapters/cli.ts +21 -15
- package/src/cli/commands/auth.ts +82 -78
- package/src/cli/commands/build.ts +29 -27
- package/src/cli/commands/canvas.ts +338 -127
- package/src/cli/commands/cloud.ts +47 -47
- package/src/cli/commands/create.ts +59 -47
- package/src/cli/commands/dev.ts +12 -12
- package/src/cli/commands/generate.ts +29 -40
- package/src/cli/commands/orchestrate.ts +24 -24
- package/src/cli/commands/verify.ts +49 -0
- package/src/cli/index.ts +21 -2
- package/src/cloud/README.md +28 -15
- package/src/cloud/auth.ts +55 -70
- package/src/cloud/billing.ts +59 -58
- package/src/cloud/client.ts +29 -35
- package/src/cloud/index.ts +19 -40
- package/src/cloud/marketplace.ts +69 -78
- package/src/cloud/provisioning.ts +42 -51
- package/src/cloud/relay/endpoints.ts +30 -34
- package/src/cloud/relay/health/index.ts +1 -1
- package/src/cloud/relay/stats/index.ts +1 -1
- package/src/cloud/relay/sync/index.ts +1 -1
- package/src/cloud/relay/usage/index.ts +1 -1
- package/src/cloud/sponsors.ts +31 -34
- package/src/cloud/types.ts +4 -4
- package/src/components/README.md +1 -0
- package/src/components/TerminalNode.svelte +457 -457
- package/src/components/index.ts +3 -4
- package/src/core/actors.ts +7 -7
- package/src/core/component/generator.ts +10 -28
- package/src/core/engine.ts +51 -24
- package/src/core/introspection.ts +37 -35
- package/src/core/logic/generator.ts +62 -62
- package/src/core/pluresdb/adapter.ts +8 -8
- package/src/core/pluresdb/generator.ts +39 -35
- package/src/core/pluresdb/index.ts +9 -12
- package/src/core/pluresdb/schema-registry.ts +22 -25
- package/src/core/pluresdb/store.ts +57 -57
- package/src/core/protocol.ts +14 -14
- package/src/core/reactive-engine.svelte.ts +65 -0
- package/src/core/reactive-engine.ts +67 -0
- package/src/core/rules.ts +4 -4
- package/src/core/schema/loader.common.ts +150 -0
- package/src/core/schema/loader.ts +19 -149
- package/src/core/schema/normalize.ts +34 -51
- package/src/core/schema/types.ts +47 -11
- package/src/dsl/index.ts +8 -8
- package/src/dsl.ts +11 -17
- package/src/examples/advanced-todo/App.svelte +506 -506
- package/src/examples/advanced-todo/README.md +58 -40
- package/src/examples/advanced-todo/index.ts +3 -3
- package/src/examples/auth-basic/index.ts +30 -30
- package/src/examples/cart/index.ts +50 -50
- package/src/examples/hero-ecommerce/index.ts +130 -157
- package/src/examples/svelte-counter/index.ts +22 -26
- package/src/flows.ts +6 -17
- package/src/index.browser.ts +204 -0
- package/src/index.ts +37 -42
- package/src/integrations/code-canvas.ts +237 -193
- package/src/integrations/pluresdb.ts +55 -35
- package/src/integrations/state-docs.ts +104 -104
- package/src/integrations/svelte.ts +35 -35
- package/src/integrations/tauri.ts +75 -73
- package/src/integrations/unum.ts +68 -61
- package/src/registry.ts +7 -14
- package/src/runtime/terminal-adapter.ts +31 -26
- package/src/step.ts +10 -16
- package/src/types.ts +1 -1
- package/templates/basic-app/README.md +6 -9
- package/templates/fullstack-app/README.md +10 -0
- package/dist/core/codegen/docs-generator.d.ts +0 -123
- package/dist/core/codegen/docs-generator.d.ts.map +0 -1
- package/dist/core/codegen/docs-generator.js +0 -674
- package/dist/core/codegen/docs-generator.js.map +0 -1
- package/dist/core/codegen/index.d.ts +0 -11
- package/dist/core/codegen/index.d.ts.map +0 -1
- package/dist/core/codegen/index.js +0 -13
- package/dist/core/codegen/index.js.map +0 -1
- package/dist/core/codegen/ts-generator.d.ts +0 -8
- package/dist/core/codegen/ts-generator.d.ts.map +0 -1
- package/dist/core/codegen/ts-generator.js +0 -8
- package/dist/core/codegen/ts-generator.js.map +0 -1
- package/dist/core/db-adapter/index.d.ts +0 -18
- package/dist/core/db-adapter/index.d.ts.map +0 -1
- package/dist/core/db-adapter/index.js +0 -23
- package/dist/core/db-adapter/index.js.map +0 -1
- package/dist/core/db-adapter/sync-engine.d.ts +0 -180
- package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
- package/dist/core/db-adapter/sync-engine.js +0 -342
- package/dist/core/db-adapter/sync-engine.js.map +0 -1
- package/dist/core/logic-engine/engine.d.ts +0 -8
- package/dist/core/logic-engine/engine.d.ts.map +0 -1
- package/dist/core/logic-engine/engine.js +0 -8
- package/dist/core/logic-engine/engine.js.map +0 -1
- package/dist/core/logic-engine/index.d.ts +0 -16
- package/dist/core/logic-engine/index.d.ts.map +0 -1
- package/dist/core/logic-engine/index.js +0 -16
- package/dist/core/logic-engine/index.js.map +0 -1
- package/dist/core/logic-engine/protocol.d.ts +0 -7
- package/dist/core/logic-engine/protocol.d.ts.map +0 -1
- package/dist/core/logic-engine/protocol.js +0 -7
- package/dist/core/logic-engine/protocol.js.map +0 -1
- package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
- package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
- package/dist/core/logic-engine/psf-adapter.js +0 -207
- package/dist/core/logic-engine/psf-adapter.js.map +0 -1
- package/dist/core/logic-engine/rules.d.ts +0 -7
- package/dist/core/logic-engine/rules.d.ts.map +0 -1
- package/dist/core/logic-engine/rules.js +0 -7
- package/dist/core/logic-engine/rules.js.map +0 -1
- package/dist/core/schema-engine/compiler.d.ts +0 -198
- package/dist/core/schema-engine/compiler.d.ts.map +0 -1
- package/dist/core/schema-engine/compiler.js +0 -262
- package/dist/core/schema-engine/compiler.js.map +0 -1
- package/dist/core/schema-engine/generator.d.ts +0 -115
- package/dist/core/schema-engine/generator.d.ts.map +0 -1
- package/dist/core/schema-engine/generator.js +0 -506
- package/dist/core/schema-engine/generator.js.map +0 -1
- package/dist/core/schema-engine/index.d.ts +0 -18
- package/dist/core/schema-engine/index.d.ts.map +0 -1
- package/dist/core/schema-engine/index.js +0 -18
- package/dist/core/schema-engine/index.js.map +0 -1
- package/dist/core/schema-engine/psf.d.ts +0 -612
- package/dist/core/schema-engine/psf.d.ts.map +0 -1
- package/dist/core/schema-engine/psf.js +0 -45
- package/dist/core/schema-engine/psf.js.map +0 -1
- package/dist/core/schema-engine/types.d.ts +0 -10
- package/dist/core/schema-engine/types.d.ts.map +0 -1
- package/dist/core/schema-engine/types.js +0 -7
- package/dist/core/schema-engine/types.js.map +0 -1
- package/dist/core/schema-engine/validator.d.ts +0 -140
- package/dist/core/schema-engine/validator.d.ts.map +0 -1
- package/dist/core/schema-engine/validator.js +0 -407
- package/dist/core/schema-engine/validator.js.map +0 -1
- package/dist/src/adapters/cli.d.ts +0 -43
- package/dist/src/adapters/cli.d.ts.map +0 -1
- package/dist/src/adapters/cli.js +0 -126
- package/dist/src/adapters/cli.js.map +0 -1
- package/dist/src/cli/commands/auth.d.ts +0 -26
- package/dist/src/cli/commands/auth.d.ts.map +0 -1
- package/dist/src/cli/commands/auth.js +0 -233
- package/dist/src/cli/commands/auth.js.map +0 -1
- package/dist/src/cli/commands/build.d.ts +0 -23
- package/dist/src/cli/commands/build.d.ts.map +0 -1
- package/dist/src/cli/commands/build.js +0 -162
- package/dist/src/cli/commands/build.js.map +0 -1
- package/dist/src/cli/commands/canvas.d.ts +0 -23
- package/dist/src/cli/commands/canvas.d.ts.map +0 -1
- package/dist/src/cli/commands/canvas.js +0 -215
- package/dist/src/cli/commands/canvas.js.map +0 -1
- package/dist/src/cli/commands/cloud.d.ts +0 -27
- package/dist/src/cli/commands/cloud.d.ts.map +0 -1
- package/dist/src/cli/commands/cloud.js +0 -232
- package/dist/src/cli/commands/cloud.js.map +0 -1
- package/dist/src/cli/commands/create.d.ts +0 -21
- package/dist/src/cli/commands/create.d.ts.map +0 -1
- package/dist/src/cli/commands/create.js +0 -621
- package/dist/src/cli/commands/create.js.map +0 -1
- package/dist/src/cli/commands/dev.d.ts +0 -21
- package/dist/src/cli/commands/dev.d.ts.map +0 -1
- package/dist/src/cli/commands/dev.js +0 -71
- package/dist/src/cli/commands/dev.js.map +0 -1
- package/dist/src/cli/commands/generate.d.ts +0 -25
- package/dist/src/cli/commands/generate.d.ts.map +0 -1
- package/dist/src/cli/commands/generate.js +0 -168
- package/dist/src/cli/commands/generate.js.map +0 -1
- package/dist/src/cli/commands/orchestrate.d.ts +0 -44
- package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
- package/dist/src/cli/commands/orchestrate.js +0 -150
- package/dist/src/cli/commands/orchestrate.js.map +0 -1
- package/dist/src/cli/index.d.ts +0 -8
- package/dist/src/cli/index.d.ts.map +0 -1
- package/dist/src/cli/index.js +0 -211
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cloud/auth.d.ts +0 -51
- package/dist/src/cloud/auth.d.ts.map +0 -1
- package/dist/src/cloud/auth.js +0 -194
- package/dist/src/cloud/auth.js.map +0 -1
- package/dist/src/cloud/billing.d.ts +0 -184
- package/dist/src/cloud/billing.d.ts.map +0 -1
- package/dist/src/cloud/billing.js +0 -179
- package/dist/src/cloud/billing.js.map +0 -1
- package/dist/src/cloud/client.d.ts +0 -39
- package/dist/src/cloud/client.d.ts.map +0 -1
- package/dist/src/cloud/client.js +0 -176
- package/dist/src/cloud/client.js.map +0 -1
- package/dist/src/cloud/index.d.ts +0 -44
- package/dist/src/cloud/index.d.ts.map +0 -1
- package/dist/src/cloud/index.js +0 -44
- package/dist/src/cloud/index.js.map +0 -1
- package/dist/src/cloud/marketplace.d.ts +0 -166
- package/dist/src/cloud/marketplace.d.ts.map +0 -1
- package/dist/src/cloud/marketplace.js +0 -159
- package/dist/src/cloud/marketplace.js.map +0 -1
- package/dist/src/cloud/provisioning.d.ts +0 -110
- package/dist/src/cloud/provisioning.d.ts.map +0 -1
- package/dist/src/cloud/provisioning.js +0 -148
- package/dist/src/cloud/provisioning.js.map +0 -1
- package/dist/src/cloud/relay/endpoints.d.ts +0 -62
- package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
- package/dist/src/cloud/relay/endpoints.js +0 -217
- package/dist/src/cloud/relay/endpoints.js.map +0 -1
- package/dist/src/cloud/relay/health/index.d.ts +0 -5
- package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
- package/dist/src/cloud/relay/health/index.js +0 -9
- package/dist/src/cloud/relay/health/index.js.map +0 -1
- package/dist/src/cloud/relay/stats/index.d.ts +0 -5
- package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
- package/dist/src/cloud/relay/stats/index.js +0 -9
- package/dist/src/cloud/relay/stats/index.js.map +0 -1
- package/dist/src/cloud/relay/sync/index.d.ts +0 -5
- package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
- package/dist/src/cloud/relay/sync/index.js +0 -9
- package/dist/src/cloud/relay/sync/index.js.map +0 -1
- package/dist/src/cloud/relay/usage/index.d.ts +0 -5
- package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
- package/dist/src/cloud/relay/usage/index.js +0 -9
- package/dist/src/cloud/relay/usage/index.js.map +0 -1
- package/dist/src/cloud/sponsors.d.ts +0 -81
- package/dist/src/cloud/sponsors.d.ts.map +0 -1
- package/dist/src/cloud/sponsors.js +0 -130
- package/dist/src/cloud/sponsors.js.map +0 -1
- package/dist/src/cloud/types.d.ts +0 -169
- package/dist/src/cloud/types.d.ts.map +0 -1
- package/dist/src/cloud/types.js +0 -7
- package/dist/src/cloud/types.js.map +0 -1
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/components/index.js +0 -17
- package/dist/src/components/index.js.map +0 -1
- package/dist/src/core/actors.d.ts +0 -95
- package/dist/src/core/actors.d.ts.map +0 -1
- package/dist/src/core/actors.js +0 -158
- package/dist/src/core/actors.js.map +0 -1
- package/dist/src/core/component/generator.d.ts.map +0 -1
- package/dist/src/core/component/generator.js +0 -349
- package/dist/src/core/component/generator.js.map +0 -1
- package/dist/src/core/engine.d.ts +0 -92
- package/dist/src/core/engine.d.ts.map +0 -1
- package/dist/src/core/engine.js +0 -199
- package/dist/src/core/engine.js.map +0 -1
- package/dist/src/core/introspection.d.ts +0 -141
- package/dist/src/core/introspection.d.ts.map +0 -1
- package/dist/src/core/introspection.js +0 -208
- package/dist/src/core/introspection.js.map +0 -1
- package/dist/src/core/logic/generator.d.ts +0 -76
- package/dist/src/core/logic/generator.d.ts.map +0 -1
- package/dist/src/core/logic/generator.js +0 -370
- package/dist/src/core/logic/generator.js.map +0 -1
- package/dist/src/core/pluresdb/adapter.d.ts +0 -72
- package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
- package/dist/src/core/pluresdb/adapter.js +0 -73
- package/dist/src/core/pluresdb/adapter.js.map +0 -1
- package/dist/src/core/pluresdb/generator.d.ts +0 -58
- package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
- package/dist/src/core/pluresdb/generator.js +0 -191
- package/dist/src/core/pluresdb/generator.js.map +0 -1
- package/dist/src/core/pluresdb/index.d.ts +0 -15
- package/dist/src/core/pluresdb/index.d.ts.map +0 -1
- package/dist/src/core/pluresdb/index.js +0 -11
- package/dist/src/core/pluresdb/index.js.map +0 -1
- package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
- package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
- package/dist/src/core/pluresdb/schema-registry.js +0 -130
- package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
- package/dist/src/core/pluresdb/store.d.ts +0 -199
- package/dist/src/core/pluresdb/store.d.ts.map +0 -1
- package/dist/src/core/pluresdb/store.js +0 -344
- package/dist/src/core/pluresdb/store.js.map +0 -1
- package/dist/src/core/protocol.d.ts.map +0 -1
- package/dist/src/core/protocol.js +0 -46
- package/dist/src/core/protocol.js.map +0 -1
- package/dist/src/core/rules.d.ts +0 -120
- package/dist/src/core/rules.d.ts.map +0 -1
- package/dist/src/core/rules.js +0 -81
- package/dist/src/core/rules.js.map +0 -1
- package/dist/src/core/schema/loader.d.ts +0 -47
- package/dist/src/core/schema/loader.d.ts.map +0 -1
- package/dist/src/core/schema/loader.js +0 -189
- package/dist/src/core/schema/loader.js.map +0 -1
- package/dist/src/core/schema/normalize.d.ts +0 -72
- package/dist/src/core/schema/normalize.d.ts.map +0 -1
- package/dist/src/core/schema/normalize.js +0 -190
- package/dist/src/core/schema/normalize.js.map +0 -1
- package/dist/src/core/schema/types.d.ts.map +0 -1
- package/dist/src/core/schema/types.js +0 -161
- package/dist/src/core/schema/types.js.map +0 -1
- package/dist/src/dsl/index.d.ts +0 -152
- package/dist/src/dsl/index.d.ts.map +0 -1
- package/dist/src/dsl/index.js +0 -132
- package/dist/src/dsl/index.js.map +0 -1
- package/dist/src/dsl.d.ts +0 -124
- package/dist/src/dsl.d.ts.map +0 -1
- package/dist/src/dsl.js +0 -130
- package/dist/src/dsl.js.map +0 -1
- package/dist/src/examples/advanced-todo/index.d.ts +0 -55
- package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
- package/dist/src/examples/advanced-todo/index.js +0 -222
- package/dist/src/examples/advanced-todo/index.js.map +0 -1
- package/dist/src/examples/auth-basic/index.d.ts +0 -17
- package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
- package/dist/src/examples/auth-basic/index.js +0 -122
- package/dist/src/examples/auth-basic/index.js.map +0 -1
- package/dist/src/examples/cart/index.d.ts +0 -19
- package/dist/src/examples/cart/index.d.ts.map +0 -1
- package/dist/src/examples/cart/index.js +0 -202
- package/dist/src/examples/cart/index.js.map +0 -1
- package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
- package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
- package/dist/src/examples/hero-ecommerce/index.js +0 -506
- package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
- package/dist/src/examples/svelte-counter/index.d.ts +0 -31
- package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
- package/dist/src/examples/svelte-counter/index.js +0 -123
- package/dist/src/examples/svelte-counter/index.js.map +0 -1
- package/dist/src/flows.d.ts +0 -125
- package/dist/src/flows.d.ts.map +0 -1
- package/dist/src/flows.js +0 -160
- package/dist/src/flows.js.map +0 -1
- package/dist/src/index.d.ts +0 -77
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -64
- package/dist/src/index.js.map +0 -1
- package/dist/src/integrations/code-canvas.d.ts +0 -265
- package/dist/src/integrations/code-canvas.d.ts.map +0 -1
- package/dist/src/integrations/code-canvas.js +0 -451
- package/dist/src/integrations/code-canvas.js.map +0 -1
- package/dist/src/integrations/pluresdb.d.ts +0 -117
- package/dist/src/integrations/pluresdb.d.ts.map +0 -1
- package/dist/src/integrations/pluresdb.js +0 -117
- package/dist/src/integrations/pluresdb.js.map +0 -1
- package/dist/src/integrations/state-docs.d.ts +0 -191
- package/dist/src/integrations/state-docs.d.ts.map +0 -1
- package/dist/src/integrations/state-docs.js +0 -515
- package/dist/src/integrations/state-docs.js.map +0 -1
- package/dist/src/integrations/svelte.d.ts.map +0 -1
- package/dist/src/integrations/svelte.js +0 -447
- package/dist/src/integrations/svelte.js.map +0 -1
- package/dist/src/integrations/tauri.d.ts +0 -360
- package/dist/src/integrations/tauri.d.ts.map +0 -1
- package/dist/src/integrations/tauri.js +0 -278
- package/dist/src/integrations/tauri.js.map +0 -1
- package/dist/src/integrations/unum.d.ts +0 -159
- package/dist/src/integrations/unum.d.ts.map +0 -1
- package/dist/src/integrations/unum.js +0 -240
- package/dist/src/integrations/unum.js.map +0 -1
- package/dist/src/registry.d.ts +0 -94
- package/dist/src/registry.d.ts.map +0 -1
- package/dist/src/registry.js +0 -181
- package/dist/src/registry.js.map +0 -1
- package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
- package/dist/src/runtime/terminal-adapter.js +0 -239
- package/dist/src/runtime/terminal-adapter.js.map +0 -1
- package/dist/src/step.d.ts +0 -34
- package/dist/src/step.d.ts.map +0 -1
- package/dist/src/step.js +0 -111
- package/dist/src/step.js.map +0 -1
- package/dist/src/types.d.ts +0 -63
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -6
- package/dist/src/types.js.map +0 -1
- package/dist/tools/cli/commands/index.d.ts +0 -7
- package/dist/tools/cli/commands/index.d.ts.map +0 -1
- package/dist/tools/cli/commands/index.js +0 -7
- package/dist/tools/cli/commands/index.js.map +0 -1
- package/dist/tools/cli/index.d.ts +0 -8
- package/dist/tools/cli/index.d.ts.map +0 -1
- package/dist/tools/cli/index.js +0 -9
- package/dist/tools/cli/index.js.map +0 -1
- package/dist/tools/watcher/index.d.ts +0 -105
- package/dist/tools/watcher/index.d.ts.map +0 -1
- package/dist/tools/watcher/index.js +0 -213
- package/dist/tools/watcher/index.js.map +0 -1
- package/dist/ui/canvas/canvas-projection.d.ts +0 -78
- package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
- package/dist/ui/canvas/canvas-projection.js +0 -416
- package/dist/ui/canvas/canvas-projection.js.map +0 -1
- package/dist/ui/canvas/canvas-state.d.ts +0 -200
- package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
- package/dist/ui/canvas/canvas-state.js +0 -464
- package/dist/ui/canvas/canvas-state.js.map +0 -1
- package/dist/ui/canvas/components/index.d.ts +0 -95
- package/dist/ui/canvas/components/index.d.ts.map +0 -1
- package/dist/ui/canvas/components/index.js +0 -19
- package/dist/ui/canvas/components/index.js.map +0 -1
- package/dist/ui/canvas/index.d.ts +0 -32
- package/dist/ui/canvas/index.d.ts.map +0 -1
- package/dist/ui/canvas/index.js +0 -32
- package/dist/ui/canvas/index.js.map +0 -1
- package/dist/ui/svelte-generator/index.d.ts +0 -9
- package/dist/ui/svelte-generator/index.d.ts.map +0 -1
- package/dist/ui/svelte-generator/index.js +0 -11
- package/dist/ui/svelte-generator/index.js.map +0 -1
- package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
- package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
- package/dist/ui/svelte-generator/psf-generator.js +0 -506
- package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
|
@@ -4,13 +4,13 @@ Praxis is designed to be extensible. This guide explains how to create plugins,
|
|
|
4
4
|
|
|
5
5
|
## Extension Types
|
|
6
6
|
|
|
7
|
-
| Type
|
|
8
|
-
|
|
9
|
-
| **Plugins**
|
|
10
|
-
| **Generators**
|
|
11
|
-
| **Adapters**
|
|
12
|
-
| **Templates**
|
|
13
|
-
| **Canvas Extensions** | Extend visual editor
|
|
7
|
+
| Type | Description | Use Case |
|
|
8
|
+
| --------------------- | -------------------------- | -------------------------------- |
|
|
9
|
+
| **Plugins** | Extend engine behavior | Add middleware, effects, logging |
|
|
10
|
+
| **Generators** | Custom code generation | Generate for other frameworks |
|
|
11
|
+
| **Adapters** | External integrations | Connect to databases, APIs |
|
|
12
|
+
| **Templates** | Custom project scaffolding | Organization-specific setups |
|
|
13
|
+
| **Canvas Extensions** | Extend visual editor | Custom components, tools |
|
|
14
14
|
|
|
15
15
|
## Plugins
|
|
16
16
|
|
|
@@ -29,28 +29,28 @@ interface LoggerOptions {
|
|
|
29
29
|
export function createLoggerPlugin(options: LoggerOptions): PraxisPlugin {
|
|
30
30
|
return {
|
|
31
31
|
name: 'logger',
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
// Called when engine is created
|
|
34
34
|
onInit(engine) {
|
|
35
35
|
console.log(`${options.prefix || ''} Engine initialized`);
|
|
36
36
|
},
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
// Called before each step
|
|
39
39
|
beforeStep(state, events) {
|
|
40
40
|
if (options.level === 'debug') {
|
|
41
41
|
console.log('Events:', events);
|
|
42
42
|
}
|
|
43
|
-
return { state, events };
|
|
43
|
+
return { state, events }; // Can modify
|
|
44
44
|
},
|
|
45
|
-
|
|
45
|
+
|
|
46
46
|
// Called after each step
|
|
47
47
|
afterStep(result) {
|
|
48
48
|
if (options.level === 'debug') {
|
|
49
49
|
console.log('Facts:', result.state.facts);
|
|
50
50
|
}
|
|
51
|
-
return result;
|
|
51
|
+
return result; // Can modify
|
|
52
52
|
},
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
// Called on error
|
|
55
55
|
onError(error, state, events) {
|
|
56
56
|
console.error(`${options.prefix || ''} Error:`, error);
|
|
@@ -81,26 +81,22 @@ const engine = createPraxisEngine({
|
|
|
81
81
|
```typescript
|
|
82
82
|
interface PraxisPlugin<TContext = any> {
|
|
83
83
|
name: string;
|
|
84
|
-
|
|
84
|
+
|
|
85
85
|
// Lifecycle hooks
|
|
86
86
|
onInit?(engine: PraxisEngine<TContext>): void;
|
|
87
87
|
onDestroy?(): void;
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
// Step hooks
|
|
90
90
|
beforeStep?(
|
|
91
91
|
state: PraxisState<TContext>,
|
|
92
92
|
events: PraxisEvent[]
|
|
93
93
|
): { state: PraxisState<TContext>; events: PraxisEvent[] };
|
|
94
|
-
|
|
94
|
+
|
|
95
95
|
afterStep?(result: StepResult<TContext>): StepResult<TContext>;
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
// Error handling
|
|
98
|
-
onError?(
|
|
99
|
-
|
|
100
|
-
state: PraxisState<TContext>,
|
|
101
|
-
events: PraxisEvent[]
|
|
102
|
-
): void;
|
|
103
|
-
|
|
98
|
+
onError?(error: Error, state: PraxisState<TContext>, events: PraxisEvent[]): void;
|
|
99
|
+
|
|
104
100
|
// Subscription
|
|
105
101
|
onStateChange?(state: PraxisState<TContext>): void;
|
|
106
102
|
}
|
|
@@ -123,10 +119,10 @@ interface ReactGeneratorOptions {
|
|
|
123
119
|
export const reactGenerator: Generator<ReactGeneratorOptions> = {
|
|
124
120
|
name: 'react',
|
|
125
121
|
description: 'Generate React components from PSF schema',
|
|
126
|
-
|
|
122
|
+
|
|
127
123
|
generate(schema: PSFSchema, options: ReactGeneratorOptions): GeneratorOutput[] {
|
|
128
124
|
const outputs: GeneratorOutput[] = [];
|
|
129
|
-
|
|
125
|
+
|
|
130
126
|
// Generate components
|
|
131
127
|
for (const component of schema.components) {
|
|
132
128
|
const code = generateReactComponent(component, options);
|
|
@@ -136,7 +132,7 @@ export const reactGenerator: Generator<ReactGeneratorOptions> = {
|
|
|
136
132
|
type: 'component',
|
|
137
133
|
});
|
|
138
134
|
}
|
|
139
|
-
|
|
135
|
+
|
|
140
136
|
// Generate types (TypeScript only)
|
|
141
137
|
if (options.typescript) {
|
|
142
138
|
const types = generateTypes(schema);
|
|
@@ -146,20 +142,20 @@ export const reactGenerator: Generator<ReactGeneratorOptions> = {
|
|
|
146
142
|
type: 'types',
|
|
147
143
|
});
|
|
148
144
|
}
|
|
149
|
-
|
|
145
|
+
|
|
150
146
|
return outputs;
|
|
151
147
|
},
|
|
152
148
|
};
|
|
153
149
|
|
|
154
150
|
function generateReactComponent(component: ComponentDef, options: ReactGeneratorOptions): string {
|
|
155
151
|
const { name, type, model, props } = component;
|
|
156
|
-
|
|
152
|
+
|
|
157
153
|
return `
|
|
158
154
|
import React from 'react';
|
|
159
155
|
${options.typescript ? `import type { ${model} } from '../types';` : ''}
|
|
160
156
|
|
|
161
157
|
${options.typescript ? `interface ${name}Props {` : ''}
|
|
162
|
-
${props?.map(p => ` ${p.name}${p.required ? '' : '?'}: ${p.type};`).join('\n')}
|
|
158
|
+
${props?.map((p) => ` ${p.name}${p.required ? '' : '?'}: ${p.type};`).join('\n')}
|
|
163
159
|
${options.typescript ? '}' : ''}
|
|
164
160
|
|
|
165
161
|
export function ${name}(${options.typescript ? `props: ${name}Props` : 'props'}) {
|
|
@@ -189,11 +185,11 @@ registerGenerator(reactGenerator);
|
|
|
189
185
|
|
|
190
186
|
```typescript
|
|
191
187
|
interface GeneratorOutput {
|
|
192
|
-
path: string;
|
|
193
|
-
content: string;
|
|
194
|
-
type: OutputType;
|
|
195
|
-
overwrite?: boolean;
|
|
196
|
-
format?: boolean;
|
|
188
|
+
path: string; // Output file path
|
|
189
|
+
content: string; // Generated code
|
|
190
|
+
type: OutputType; // 'component' | 'types' | 'docs' | 'config'
|
|
191
|
+
overwrite?: boolean; // Allow overwriting existing files
|
|
192
|
+
format?: boolean; // Apply code formatting
|
|
197
193
|
}
|
|
198
194
|
```
|
|
199
195
|
|
|
@@ -211,24 +207,24 @@ interface PostgresOptions {
|
|
|
211
207
|
|
|
212
208
|
export function createPostgresAdapter(options: PostgresOptions): DatabaseAdapter {
|
|
213
209
|
let pool: Pool;
|
|
214
|
-
|
|
210
|
+
|
|
215
211
|
return {
|
|
216
212
|
name: 'postgres',
|
|
217
|
-
|
|
213
|
+
|
|
218
214
|
async connect() {
|
|
219
215
|
pool = new Pool({ connectionString: options.connectionString });
|
|
220
216
|
await pool.connect();
|
|
221
217
|
},
|
|
222
|
-
|
|
218
|
+
|
|
223
219
|
async disconnect() {
|
|
224
220
|
await pool.end();
|
|
225
221
|
},
|
|
226
|
-
|
|
222
|
+
|
|
227
223
|
async createCollection(name: string, schema: CollectionSchema) {
|
|
228
224
|
const columns = schemaToColumns(schema);
|
|
229
225
|
await pool.query(`CREATE TABLE IF NOT EXISTS ${name} (${columns})`);
|
|
230
226
|
},
|
|
231
|
-
|
|
227
|
+
|
|
232
228
|
async insert(collection: string, document: any) {
|
|
233
229
|
const { columns, values, placeholders } = prepareInsert(document);
|
|
234
230
|
const result = await pool.query(
|
|
@@ -237,16 +233,13 @@ export function createPostgresAdapter(options: PostgresOptions): DatabaseAdapter
|
|
|
237
233
|
);
|
|
238
234
|
return result.rows[0];
|
|
239
235
|
},
|
|
240
|
-
|
|
236
|
+
|
|
241
237
|
async find(collection: string, query: Query) {
|
|
242
238
|
const { where, params } = queryToSQL(query);
|
|
243
|
-
const result = await pool.query(
|
|
244
|
-
`SELECT * FROM ${collection} ${where}`,
|
|
245
|
-
params
|
|
246
|
-
);
|
|
239
|
+
const result = await pool.query(`SELECT * FROM ${collection} ${where}`, params);
|
|
247
240
|
return result.rows;
|
|
248
241
|
},
|
|
249
|
-
|
|
242
|
+
|
|
250
243
|
// ... other CRUD operations
|
|
251
244
|
};
|
|
252
245
|
}
|
|
@@ -284,6 +277,7 @@ templates/
|
|
|
284
277
|
```
|
|
285
278
|
|
|
286
279
|
**template.json:**
|
|
280
|
+
|
|
287
281
|
```json
|
|
288
282
|
{
|
|
289
283
|
"name": "my-template",
|
|
@@ -300,14 +294,12 @@ templates/
|
|
|
300
294
|
"prompt": "Author name"
|
|
301
295
|
}
|
|
302
296
|
],
|
|
303
|
-
"postInstall": [
|
|
304
|
-
"npm install",
|
|
305
|
-
"npx praxis generate --schema ./src/schema.psf.json"
|
|
306
|
-
]
|
|
297
|
+
"postInstall": ["npm install", "npx praxis generate --schema ./src/schema.psf.json"]
|
|
307
298
|
}
|
|
308
299
|
```
|
|
309
300
|
|
|
310
301
|
**package.json.template:**
|
|
302
|
+
|
|
311
303
|
```json
|
|
312
304
|
{
|
|
313
305
|
"name": "{{appName}}",
|
|
@@ -344,7 +336,7 @@ import type { CanvasExtension, CanvasContext } from '@plures/praxis/canvas';
|
|
|
344
336
|
|
|
345
337
|
export const customPaletteExtension: CanvasExtension = {
|
|
346
338
|
name: 'custom-palette',
|
|
347
|
-
|
|
339
|
+
|
|
348
340
|
// Add items to the component palette
|
|
349
341
|
palette: {
|
|
350
342
|
category: 'Custom',
|
|
@@ -362,7 +354,7 @@ export const customPaletteExtension: CanvasExtension = {
|
|
|
362
354
|
},
|
|
363
355
|
],
|
|
364
356
|
},
|
|
365
|
-
|
|
357
|
+
|
|
366
358
|
// Add toolbar buttons
|
|
367
359
|
toolbar: [
|
|
368
360
|
{
|
|
@@ -375,7 +367,7 @@ export const customPaletteExtension: CanvasExtension = {
|
|
|
375
367
|
},
|
|
376
368
|
},
|
|
377
369
|
],
|
|
378
|
-
|
|
370
|
+
|
|
379
371
|
// Add context menu items
|
|
380
372
|
contextMenu: [
|
|
381
373
|
{
|
|
@@ -393,14 +385,15 @@ export const customPaletteExtension: CanvasExtension = {
|
|
|
393
385
|
### Registering Canvas Extensions
|
|
394
386
|
|
|
395
387
|
**canvas.config.ts:**
|
|
388
|
+
|
|
396
389
|
```typescript
|
|
397
390
|
import { customPaletteExtension } from './extensions/custom-palette';
|
|
398
391
|
|
|
399
392
|
export const config: CanvasConfig = {
|
|
400
393
|
extensions: [
|
|
401
394
|
customPaletteExtension,
|
|
402
|
-
'@plures/canvas-figma',
|
|
403
|
-
'./extensions/my-extension.ts',
|
|
395
|
+
'@plures/canvas-figma', // npm package
|
|
396
|
+
'./extensions/my-extension.ts', // local file
|
|
404
397
|
],
|
|
405
398
|
};
|
|
406
399
|
```
|
|
@@ -421,6 +414,7 @@ my-praxis-extension/
|
|
|
421
414
|
```
|
|
422
415
|
|
|
423
416
|
**package.json:**
|
|
417
|
+
|
|
424
418
|
```json
|
|
425
419
|
{
|
|
426
420
|
"name": "@myorg/praxis-extension-foo",
|
|
@@ -479,7 +473,7 @@ Handle errors gracefully:
|
|
|
479
473
|
```typescript
|
|
480
474
|
export const myPlugin: PraxisPlugin = {
|
|
481
475
|
name: 'my-plugin',
|
|
482
|
-
|
|
476
|
+
|
|
483
477
|
beforeStep(state, events) {
|
|
484
478
|
try {
|
|
485
479
|
// Plugin logic
|
|
@@ -500,22 +494,25 @@ Include comprehensive README:
|
|
|
500
494
|
# My Praxis Extension
|
|
501
495
|
|
|
502
496
|
## Installation
|
|
497
|
+
|
|
503
498
|
\`\`\`bash
|
|
504
499
|
npm install @myorg/praxis-extension-foo
|
|
505
500
|
\`\`\`
|
|
506
501
|
|
|
507
502
|
## Usage
|
|
503
|
+
|
|
508
504
|
\`\`\`typescript
|
|
509
505
|
import { createFooPlugin } from '@myorg/praxis-extension-foo';
|
|
510
506
|
|
|
511
507
|
const engine = createPraxisEngine({
|
|
512
|
-
|
|
508
|
+
plugins: [createFooPlugin({ option: 'value' })],
|
|
513
509
|
});
|
|
514
510
|
\`\`\`
|
|
515
511
|
|
|
516
512
|
## Options
|
|
517
|
-
|
|
518
|
-
|
|
513
|
+
|
|
514
|
+
| Option | Type | Default | Description |
|
|
515
|
+
| ------ | ------ | --------- | ----------- |
|
|
519
516
|
| option | string | 'default' | Description |
|
|
520
517
|
```
|
|
521
518
|
|
|
@@ -534,15 +531,15 @@ describe('MyPlugin', () => {
|
|
|
534
531
|
const plugin = createMyPlugin({
|
|
535
532
|
onLog: (msg) => logs.push(msg),
|
|
536
533
|
});
|
|
537
|
-
|
|
534
|
+
|
|
538
535
|
const engine = createPraxisEngine({
|
|
539
536
|
initialContext: {},
|
|
540
537
|
registry: new PraxisRegistry(),
|
|
541
538
|
plugins: [plugin],
|
|
542
539
|
});
|
|
543
|
-
|
|
540
|
+
|
|
544
541
|
engine.dispatch([{ tag: 'TEST', payload: {} }]);
|
|
545
|
-
|
|
542
|
+
|
|
546
543
|
expect(logs).toContain('Step executed');
|
|
547
544
|
});
|
|
548
545
|
});
|
package/docs/core/cli-usage.md
CHANGED
|
@@ -46,22 +46,22 @@ praxis create app my-app --directory ./projects
|
|
|
46
46
|
|
|
47
47
|
**Options:**
|
|
48
48
|
|
|
49
|
-
| Option
|
|
50
|
-
|
|
51
|
-
| `--template`
|
|
52
|
-
| `--directory`
|
|
53
|
-
| `--no-git`
|
|
54
|
-
| `--no-install` | Skip npm install
|
|
49
|
+
| Option | Description |
|
|
50
|
+
| -------------- | ------------------------------------------------ |
|
|
51
|
+
| `--template` | Template to use: `basic`, `fullstack`, `minimal` |
|
|
52
|
+
| `--directory` | Output directory |
|
|
53
|
+
| `--no-git` | Skip git initialization |
|
|
54
|
+
| `--no-install` | Skip npm install |
|
|
55
55
|
|
|
56
56
|
**Available Templates:**
|
|
57
57
|
|
|
58
|
-
| Template
|
|
59
|
-
|
|
60
|
-
| `basic`
|
|
61
|
-
| `fullstack`
|
|
62
|
-
| `minimal`
|
|
63
|
-
| `component`
|
|
64
|
-
| `orchestrator` | Distributed node orchestration
|
|
58
|
+
| Template | Description |
|
|
59
|
+
| -------------- | ------------------------------------------ |
|
|
60
|
+
| `basic` | Simple app with logic engine and Svelte |
|
|
61
|
+
| `fullstack` | Complete app with PluresDB, auth, and sync |
|
|
62
|
+
| `minimal` | Bare minimum Praxis setup |
|
|
63
|
+
| `component` | Reusable component library |
|
|
64
|
+
| `orchestrator` | Distributed node orchestration |
|
|
65
65
|
|
|
66
66
|
### `praxis generate`
|
|
67
67
|
|
|
@@ -89,15 +89,15 @@ praxis generate --schema ./schema.psf.json --check
|
|
|
89
89
|
|
|
90
90
|
**Options:**
|
|
91
91
|
|
|
92
|
-
| Option
|
|
93
|
-
|
|
94
|
-
| `--schema` | Path to PSF schema file
|
|
95
|
-
| `--output` | Output directory (default: `./generated`)
|
|
96
|
-
| `--only`
|
|
97
|
-
| `--watch`
|
|
98
|
-
| `--force`
|
|
99
|
-
| `--check`
|
|
100
|
-
| `--format` | Output format: `typescript`, `javascript`
|
|
92
|
+
| Option | Description |
|
|
93
|
+
| ---------- | --------------------------------------------------------------------------- |
|
|
94
|
+
| `--schema` | Path to PSF schema file |
|
|
95
|
+
| `--output` | Output directory (default: `./generated`) |
|
|
96
|
+
| `--only` | Comma-separated targets: `types`, `components`, `docs`, `rules`, `pluresdb` |
|
|
97
|
+
| `--watch` | Watch for changes and regenerate |
|
|
98
|
+
| `--force` | Overwrite existing files |
|
|
99
|
+
| `--check` | Verify files are up-to-date (exit code 1 if not) |
|
|
100
|
+
| `--format` | Output format: `typescript`, `javascript` |
|
|
101
101
|
|
|
102
102
|
### `praxis canvas`
|
|
103
103
|
|
|
@@ -122,14 +122,14 @@ praxis canvas ./schema.psf.json --mode view
|
|
|
122
122
|
|
|
123
123
|
**Options:**
|
|
124
124
|
|
|
125
|
-
| Option
|
|
126
|
-
|
|
127
|
-
| `--port`
|
|
128
|
-
| `--host`
|
|
129
|
-
| `--config` | Path to canvas config file
|
|
130
|
-
| `--mode`
|
|
131
|
-
| `--new`
|
|
132
|
-
| `--watch`
|
|
125
|
+
| Option | Description |
|
|
126
|
+
| ---------- | -------------------------------- |
|
|
127
|
+
| `--port` | Server port (default: 3000) |
|
|
128
|
+
| `--host` | Server host (default: localhost) |
|
|
129
|
+
| `--config` | Path to canvas config file |
|
|
130
|
+
| `--mode` | Mode: `edit`, `view`, `present` |
|
|
131
|
+
| `--new` | Create new schema |
|
|
132
|
+
| `--watch` | Enable file watching |
|
|
133
133
|
|
|
134
134
|
### `praxis dev`
|
|
135
135
|
|
|
@@ -148,12 +148,12 @@ praxis dev --open
|
|
|
148
148
|
|
|
149
149
|
**Options:**
|
|
150
150
|
|
|
151
|
-
| Option
|
|
152
|
-
|
|
153
|
-
| `--port`
|
|
154
|
-
| `--host`
|
|
155
|
-
| `--open`
|
|
156
|
-
| `--config` | Path to vite config
|
|
151
|
+
| Option | Description |
|
|
152
|
+
| ---------- | -------------------------------- |
|
|
153
|
+
| `--port` | Server port (default: 5173) |
|
|
154
|
+
| `--host` | Server host (default: localhost) |
|
|
155
|
+
| `--open` | Open browser automatically |
|
|
156
|
+
| `--config` | Path to vite config |
|
|
157
157
|
|
|
158
158
|
### `praxis build`
|
|
159
159
|
|
|
@@ -172,10 +172,10 @@ praxis build --target node
|
|
|
172
172
|
|
|
173
173
|
**Options:**
|
|
174
174
|
|
|
175
|
-
| Option
|
|
176
|
-
|
|
177
|
-
| `--output` | Output directory
|
|
178
|
-
| `--target` | Build target: `browser`, `node`, `tauri`
|
|
175
|
+
| Option | Description |
|
|
176
|
+
| ---------- | -------------------------------------------- |
|
|
177
|
+
| `--output` | Output directory |
|
|
178
|
+
| `--target` | Build target: `browser`, `node`, `tauri` |
|
|
179
179
|
| `--minify` | Minify output (default: true for production) |
|
|
180
180
|
|
|
181
181
|
### `praxis validate`
|
|
@@ -195,11 +195,11 @@ praxis validate --schema ./schema.psf.json --strict
|
|
|
195
195
|
|
|
196
196
|
**Options:**
|
|
197
197
|
|
|
198
|
-
| Option
|
|
199
|
-
|
|
200
|
-
| `--schema`
|
|
198
|
+
| Option | Description |
|
|
199
|
+
| ----------- | ----------------------------- |
|
|
200
|
+
| `--schema` | Path to PSF schema file |
|
|
201
201
|
| `--verbose` | Show detailed validation info |
|
|
202
|
-
| `--strict`
|
|
202
|
+
| `--strict` | Treat warnings as errors |
|
|
203
203
|
|
|
204
204
|
### `praxis docs`
|
|
205
205
|
|
|
@@ -221,13 +221,13 @@ praxis docs --schema ./schema.psf.json --watch
|
|
|
221
221
|
|
|
222
222
|
**Options:**
|
|
223
223
|
|
|
224
|
-
| Option
|
|
225
|
-
|
|
226
|
-
| `--schema` | Path to PSF schema file
|
|
224
|
+
| Option | Description |
|
|
225
|
+
| ---------- | ------------------------------------ |
|
|
226
|
+
| `--schema` | Path to PSF schema file |
|
|
227
227
|
| `--output` | Output directory (default: `./docs`) |
|
|
228
|
-
| `--format` | Output format: `markdown`, `html`
|
|
229
|
-
| `--serve`
|
|
230
|
-
| `--watch`
|
|
228
|
+
| `--format` | Output format: `markdown`, `html` |
|
|
229
|
+
| `--serve` | Serve docs on local server |
|
|
230
|
+
| `--watch` | Watch for changes |
|
|
231
231
|
|
|
232
232
|
### Cloud Commands
|
|
233
233
|
|
|
@@ -304,7 +304,7 @@ export default {
|
|
|
304
304
|
path: './src/schema.psf.json',
|
|
305
305
|
validate: true,
|
|
306
306
|
},
|
|
307
|
-
|
|
307
|
+
|
|
308
308
|
// Generation settings
|
|
309
309
|
generate: {
|
|
310
310
|
output: './src/generated',
|
|
@@ -312,19 +312,19 @@ export default {
|
|
|
312
312
|
format: 'typescript',
|
|
313
313
|
formatting: 'prettier',
|
|
314
314
|
},
|
|
315
|
-
|
|
315
|
+
|
|
316
316
|
// Development settings
|
|
317
317
|
dev: {
|
|
318
318
|
port: 5173,
|
|
319
319
|
open: true,
|
|
320
320
|
},
|
|
321
|
-
|
|
321
|
+
|
|
322
322
|
// Canvas settings
|
|
323
323
|
canvas: {
|
|
324
324
|
port: 3000,
|
|
325
325
|
sync: true,
|
|
326
326
|
},
|
|
327
|
-
|
|
327
|
+
|
|
328
328
|
// Cloud settings
|
|
329
329
|
cloud: {
|
|
330
330
|
enabled: true,
|
|
@@ -411,18 +411,18 @@ jobs:
|
|
|
411
411
|
- uses: actions/setup-node@v3
|
|
412
412
|
with:
|
|
413
413
|
node-version: 18
|
|
414
|
-
|
|
414
|
+
|
|
415
415
|
- run: npm install
|
|
416
|
-
|
|
416
|
+
|
|
417
417
|
# Validate schema
|
|
418
418
|
- run: npx praxis validate --schema ./src/schema.psf.json --strict
|
|
419
|
-
|
|
419
|
+
|
|
420
420
|
# Check generated files are current
|
|
421
421
|
- run: npx praxis generate --schema ./src/schema.psf.json --check
|
|
422
|
-
|
|
422
|
+
|
|
423
423
|
# Build
|
|
424
424
|
- run: npx praxis build
|
|
425
|
-
|
|
425
|
+
|
|
426
426
|
# Test
|
|
427
427
|
- run: npm test
|
|
428
428
|
```
|