@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.
- 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 -97
- 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 +7 -8
- package/src/cli/index.ts +14 -10
- 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/commands/verify.d.ts +0 -10
- package/dist/src/cli/commands/verify.d.ts.map +0 -1
- package/dist/src/cli/commands/verify.js +0 -39
- package/dist/src/cli/commands/verify.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 -226
- 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/ast-analyzer/src/ast-analyzer.d.ts +0 -8
- package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
- package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
- package/dist/tools/ast-analyzer/src/ast-analyzer.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/canvas-inspector/src/server.d.ts +0 -2
- package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
- package/dist/ui/canvas-inspector/src/server.js +0 -248
- package/dist/ui/canvas-inspector/src/server.js.map +0 -1
- package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
- package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
- package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
- package/dist/ui/canvas-inspector/src/verify-fsm-implementation.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
|
@@ -97,7 +97,7 @@ unsubscribe();
|
|
|
97
97
|
<p>Count: {$store.context.count}</p>
|
|
98
98
|
<p>Facts: {$store.facts.length}</p>
|
|
99
99
|
<p>Protocol: {$store.protocolVersion}</p>
|
|
100
|
-
|
|
100
|
+
|
|
101
101
|
<button onclick={() => store.dispatch([Increment.create({})])}>
|
|
102
102
|
Increment
|
|
103
103
|
</button>
|
|
@@ -135,7 +135,7 @@ contextStore.dispatch([MyEvent.create({})]);
|
|
|
135
135
|
<div>
|
|
136
136
|
<h2>User: {$context.user?.name || 'Guest'}</h2>
|
|
137
137
|
<p>Page: {$context.currentPage}</p>
|
|
138
|
-
|
|
138
|
+
|
|
139
139
|
<button onclick={() => context.dispatch([UpdateUser.create({ name: 'Alice' })])}>
|
|
140
140
|
Update User
|
|
141
141
|
</button>
|
|
@@ -149,10 +149,7 @@ Creates a store that extracts and tracks a specific value from the context.
|
|
|
149
149
|
```typescript
|
|
150
150
|
import { createDerivedStore } from '@plures/praxis/svelte';
|
|
151
151
|
|
|
152
|
-
const countStore = createDerivedStore(
|
|
153
|
-
engine,
|
|
154
|
-
(context) => context.count
|
|
155
|
-
);
|
|
152
|
+
const countStore = createDerivedStore(engine, (context) => context.count);
|
|
156
153
|
|
|
157
154
|
// Only updates when the derived value changes
|
|
158
155
|
countStore.subscribe((count) => {
|
|
@@ -176,7 +173,7 @@ countStore.dispatch([Increment.create({})]);
|
|
|
176
173
|
<div>
|
|
177
174
|
<p>Count: {$count}</p>
|
|
178
175
|
<p>User: {$userName || 'Anonymous'}</p>
|
|
179
|
-
|
|
176
|
+
|
|
180
177
|
<button onclick={() => count.dispatch([Increment.create({})])}>
|
|
181
178
|
Increment
|
|
182
179
|
</button>
|
|
@@ -195,16 +192,16 @@ The main composable for Svelte 5 runes. Provides reactive access to engine state
|
|
|
195
192
|
import { usePraxisEngine } from '@plures/praxis/svelte';
|
|
196
193
|
|
|
197
194
|
const {
|
|
198
|
-
state,
|
|
199
|
-
context,
|
|
200
|
-
facts,
|
|
201
|
-
dispatch,
|
|
195
|
+
state, // Full state (reactive)
|
|
196
|
+
context, // Context (reactive)
|
|
197
|
+
facts, // Facts array (reactive)
|
|
198
|
+
dispatch, // Dispatch events
|
|
202
199
|
// History features (when enableHistory: true)
|
|
203
|
-
snapshots,
|
|
204
|
-
undo,
|
|
205
|
-
redo,
|
|
206
|
-
canUndo,
|
|
207
|
-
canRedo,
|
|
200
|
+
snapshots, // Array of state snapshots
|
|
201
|
+
undo, // Undo last action
|
|
202
|
+
redo, // Redo action
|
|
203
|
+
canUndo, // Boolean: can undo?
|
|
204
|
+
canRedo, // Boolean: can redo?
|
|
208
205
|
historyIndex, // Current position in history
|
|
209
206
|
goToSnapshot, // Jump to specific snapshot
|
|
210
207
|
} = usePraxisEngine(engine, {
|
|
@@ -239,12 +236,12 @@ const {
|
|
|
239
236
|
import { createCounterEngine, Increment } from './counter';
|
|
240
237
|
|
|
241
238
|
const engine = createCounterEngine();
|
|
242
|
-
const {
|
|
243
|
-
context,
|
|
244
|
-
dispatch,
|
|
245
|
-
undo,
|
|
246
|
-
redo,
|
|
247
|
-
canUndo,
|
|
239
|
+
const {
|
|
240
|
+
context,
|
|
241
|
+
dispatch,
|
|
242
|
+
undo,
|
|
243
|
+
redo,
|
|
244
|
+
canUndo,
|
|
248
245
|
canRedo,
|
|
249
246
|
snapshots,
|
|
250
247
|
historyIndex
|
|
@@ -351,17 +348,17 @@ usePraxisSubscription(engine, (state) => {
|
|
|
351
348
|
import { createMyEngine } from './engine';
|
|
352
349
|
|
|
353
350
|
const engine = createMyEngine();
|
|
354
|
-
const {
|
|
355
|
-
context,
|
|
356
|
-
snapshots,
|
|
357
|
-
goToSnapshot,
|
|
358
|
-
historyIndex
|
|
351
|
+
const {
|
|
352
|
+
context,
|
|
353
|
+
snapshots,
|
|
354
|
+
goToSnapshot,
|
|
355
|
+
historyIndex
|
|
359
356
|
} = usePraxisEngine(engine, { enableHistory: true });
|
|
360
357
|
</script>
|
|
361
358
|
|
|
362
359
|
<div class="debugger">
|
|
363
360
|
<h2>Time-Travel Debugger</h2>
|
|
364
|
-
|
|
361
|
+
|
|
365
362
|
<div class="timeline">
|
|
366
363
|
{#each snapshots as snapshot, index}
|
|
367
364
|
<button
|
|
@@ -387,12 +384,12 @@ usePraxisSubscription(engine, (state) => {
|
|
|
387
384
|
gap: 0.5rem;
|
|
388
385
|
overflow-x: auto;
|
|
389
386
|
}
|
|
390
|
-
|
|
387
|
+
|
|
391
388
|
.timeline button {
|
|
392
389
|
padding: 0.5rem;
|
|
393
390
|
border: 2px solid #ccc;
|
|
394
391
|
}
|
|
395
|
-
|
|
392
|
+
|
|
396
393
|
.timeline button.active {
|
|
397
394
|
border-color: #007bff;
|
|
398
395
|
background: #e7f3ff;
|
|
@@ -408,7 +405,7 @@ usePraxisSubscription(engine, (state) => {
|
|
|
408
405
|
import { createTextEngine, InsertText, DeleteText } from './text-engine';
|
|
409
406
|
|
|
410
407
|
const engine = createTextEngine();
|
|
411
|
-
const { context, dispatch, undo, redo, canUndo, canRedo } =
|
|
408
|
+
const { context, dispatch, undo, redo, canUndo, canRedo } =
|
|
412
409
|
usePraxisEngine(engine, { enableHistory: true });
|
|
413
410
|
|
|
414
411
|
let input = '';
|
|
@@ -504,7 +501,7 @@ usePraxisSubscription(engine, (state) => {
|
|
|
504
501
|
|
|
505
502
|
<div class="cart">
|
|
506
503
|
<h2>Shopping Cart</h2>
|
|
507
|
-
|
|
504
|
+
|
|
508
505
|
{#if isEmpty}
|
|
509
506
|
<p>Your cart is empty</p>
|
|
510
507
|
{:else}
|
|
@@ -513,7 +510,7 @@ usePraxisSubscription(engine, (state) => {
|
|
|
513
510
|
<li>{item.name} - ${item.price}</li>
|
|
514
511
|
{/each}
|
|
515
512
|
</ul>
|
|
516
|
-
|
|
513
|
+
|
|
517
514
|
<div class="summary">
|
|
518
515
|
<p>Items: {itemCount}</p>
|
|
519
516
|
<p>Total: ${total.toFixed(2)}</p>
|
|
@@ -581,13 +578,13 @@ usePraxisSubscription(engine, (state) => {
|
|
|
581
578
|
// For user-facing features
|
|
582
579
|
usePraxisEngine(engine, {
|
|
583
580
|
enableHistory: true,
|
|
584
|
-
maxHistorySize: 20
|
|
581
|
+
maxHistorySize: 20, // Smaller for better performance
|
|
585
582
|
});
|
|
586
583
|
|
|
587
584
|
// For debugging/development
|
|
588
585
|
usePraxisEngine(engine, {
|
|
589
586
|
enableHistory: true,
|
|
590
|
-
maxHistorySize: 100
|
|
587
|
+
maxHistorySize: 100, // Larger for more history
|
|
591
588
|
});
|
|
592
589
|
```
|
|
593
590
|
|
|
@@ -600,11 +597,7 @@ dispatch([UpdateUser.create({ name: 'Alice' })]);
|
|
|
600
597
|
dispatch([SaveData.create({})]);
|
|
601
598
|
|
|
602
599
|
// ✅ Single dispatch
|
|
603
|
-
dispatch([
|
|
604
|
-
Increment.create({}),
|
|
605
|
-
UpdateUser.create({ name: 'Alice' }),
|
|
606
|
-
SaveData.create({})
|
|
607
|
-
]);
|
|
600
|
+
dispatch([Increment.create({}), UpdateUser.create({ name: 'Alice' }), SaveData.create({})]);
|
|
608
601
|
```
|
|
609
602
|
|
|
610
603
|
### 4. Memoize Selectors
|
|
@@ -637,7 +630,9 @@ interface MyContext {
|
|
|
637
630
|
user: { id: string; name: string } | null;
|
|
638
631
|
}
|
|
639
632
|
|
|
640
|
-
const engine: LogicEngine<MyContext> = createPraxisEngine({
|
|
633
|
+
const engine: LogicEngine<MyContext> = createPraxisEngine({
|
|
634
|
+
/* ... */
|
|
635
|
+
});
|
|
641
636
|
|
|
642
637
|
// Store types are inferred
|
|
643
638
|
const store: Readable<PraxisState & { context: MyContext }> & {
|
|
@@ -646,28 +641,25 @@ const store: Readable<PraxisState & { context: MyContext }> & {
|
|
|
646
641
|
|
|
647
642
|
// Runes types are inferred
|
|
648
643
|
const binding: PraxisEngineBinding<MyContext> = usePraxisEngine(engine, {
|
|
649
|
-
enableHistory: true
|
|
644
|
+
enableHistory: true,
|
|
650
645
|
});
|
|
651
646
|
|
|
652
647
|
// Selector types are inferred
|
|
653
|
-
const count: number = usePraxisContext(
|
|
654
|
-
engine,
|
|
655
|
-
(ctx: MyContext) => ctx.count
|
|
656
|
-
);
|
|
648
|
+
const count: number = usePraxisContext(engine, (ctx: MyContext) => ctx.count);
|
|
657
649
|
```
|
|
658
650
|
|
|
659
651
|
## Migration from XState
|
|
660
652
|
|
|
661
653
|
If you're coming from XState:
|
|
662
654
|
|
|
663
|
-
| XState
|
|
664
|
-
|
|
655
|
+
| XState | Praxis |
|
|
656
|
+
| ------------------------------------------- | ------------------------------------------------------- |
|
|
665
657
|
| `const [state, send] = useMachine(machine)` | `const { context, dispatch } = usePraxisEngine(engine)` |
|
|
666
|
-
| `state.context.count`
|
|
667
|
-
| `send({ type: 'INCREMENT' })`
|
|
668
|
-
| `state.matches('idle')`
|
|
669
|
-
| `state.history`
|
|
670
|
-
| `const service = interpret(machine)`
|
|
658
|
+
| `state.context.count` | `context.count` |
|
|
659
|
+
| `send({ type: 'INCREMENT' })` | `dispatch([Increment.create({})])` |
|
|
660
|
+
| `state.matches('idle')` | Check context: `context.status === 'idle'` |
|
|
661
|
+
| `state.history` | `usePraxisEngine(engine, { enableHistory: true })` |
|
|
662
|
+
| `const service = interpret(machine)` | `const store = createPraxisStore(engine)` |
|
|
671
663
|
|
|
672
664
|
## Examples
|
|
673
665
|
|
package/docs/tutorials/README.md
CHANGED
|
@@ -5,14 +5,18 @@ Hands-on tutorials for learning Praxis from scratch.
|
|
|
5
5
|
## Beginner Tutorials
|
|
6
6
|
|
|
7
7
|
### [Build Your First App](./first-app.md)
|
|
8
|
+
|
|
8
9
|
Create a simple counter application to learn the basics of Praxis.
|
|
10
|
+
|
|
9
11
|
- Setting up a project
|
|
10
12
|
- Defining facts and events
|
|
11
13
|
- Creating rules
|
|
12
14
|
- Connecting to UI
|
|
13
15
|
|
|
14
16
|
### [Todo with PluresDB](./todo-pluresdb.md)
|
|
17
|
+
|
|
15
18
|
Build a local-first todo app with offline support.
|
|
19
|
+
|
|
16
20
|
- PluresDB integration
|
|
17
21
|
- Reactive queries
|
|
18
22
|
- Offline storage
|
|
@@ -21,14 +25,18 @@ Build a local-first todo app with offline support.
|
|
|
21
25
|
## Intermediate Tutorials
|
|
22
26
|
|
|
23
27
|
### [Form Builder](./form-builder.md)
|
|
28
|
+
|
|
24
29
|
Create a dynamic form builder application.
|
|
30
|
+
|
|
25
31
|
- Complex schema composition
|
|
26
32
|
- Validation logic
|
|
27
33
|
- Component generation
|
|
28
34
|
- Drag-and-drop UI
|
|
29
35
|
|
|
30
36
|
### [E-commerce Cart](./ecommerce-cart.md)
|
|
37
|
+
|
|
31
38
|
Build a shopping cart with checkout flow.
|
|
39
|
+
|
|
32
40
|
- Multi-step flows
|
|
33
41
|
- State machines
|
|
34
42
|
- Constraints and validation
|
|
@@ -37,14 +45,18 @@ Build a shopping cart with checkout flow.
|
|
|
37
45
|
## Advanced Tutorials
|
|
38
46
|
|
|
39
47
|
### [Real-Time Chat](./realtime-chat.md)
|
|
48
|
+
|
|
40
49
|
Create a chat application with Praxis Cloud sync.
|
|
50
|
+
|
|
41
51
|
- Cloud relay integration
|
|
42
52
|
- CRDT conflict resolution
|
|
43
53
|
- Presence and typing indicators
|
|
44
54
|
- Message history
|
|
45
55
|
|
|
46
56
|
### [Distributed Orchestration](./distributed-orchestration.md)
|
|
57
|
+
|
|
47
58
|
Build a self-orchestrating distributed system.
|
|
59
|
+
|
|
48
60
|
- DSC/MCP coordination
|
|
49
61
|
- Node discovery
|
|
50
62
|
- State distribution
|
|
@@ -53,21 +65,25 @@ Build a self-orchestrating distributed system.
|
|
|
53
65
|
## Quick Start Paths
|
|
54
66
|
|
|
55
67
|
### For Web Developers
|
|
68
|
+
|
|
56
69
|
1. [Build Your First App](./first-app.md)
|
|
57
70
|
2. [Todo with PluresDB](./todo-pluresdb.md)
|
|
58
71
|
3. [E-commerce Cart](./ecommerce-cart.md)
|
|
59
72
|
|
|
60
73
|
### For Backend Developers
|
|
74
|
+
|
|
61
75
|
1. [Build Your First App](./first-app.md)
|
|
62
76
|
2. [Real-Time Chat](./realtime-chat.md)
|
|
63
77
|
3. [Distributed Orchestration](./distributed-orchestration.md)
|
|
64
78
|
|
|
65
79
|
### For Full-Stack Developers
|
|
80
|
+
|
|
66
81
|
Complete all tutorials in order!
|
|
67
82
|
|
|
68
83
|
## Prerequisites
|
|
69
84
|
|
|
70
85
|
Before starting tutorials, ensure you have:
|
|
86
|
+
|
|
71
87
|
- Node.js 18+
|
|
72
88
|
- npm or yarn
|
|
73
89
|
- Basic TypeScript knowledge
|