@plures/praxis 1.0.3 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FRAMEWORK.md +55 -5
- package/README.md +162 -375
- package/core/codegen/docs-generator.ts +5 -2
- package/core/codegen/index.ts +1 -1
- 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 +215139 -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-QRYKRIDU.js +210960 -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 +58 -23
- 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/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/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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Svelte Counter Example
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* Demonstrates Svelte v5 integration with a simple counter.
|
|
5
5
|
* Shows how to connect Praxis logic to reactive Svelte stores.
|
|
6
6
|
*/
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
defineEvent,
|
|
13
13
|
defineRule,
|
|
14
14
|
findEvent,
|
|
15
|
-
} from
|
|
16
|
-
import { createPraxisStore, createDerivedStore } from
|
|
15
|
+
} from '../../index.js';
|
|
16
|
+
import { createPraxisStore, createDerivedStore } from '../../integrations/svelte.js';
|
|
17
17
|
|
|
18
18
|
// Define the context type
|
|
19
19
|
interface CounterContext {
|
|
@@ -22,23 +22,19 @@ interface CounterContext {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// Define facts
|
|
25
|
-
const CountIncremented = defineFact<
|
|
26
|
-
|
|
27
|
-
);
|
|
28
|
-
const CountDecremented = defineFact<"CountDecremented", { amount: number }>(
|
|
29
|
-
"CountDecremented"
|
|
30
|
-
);
|
|
31
|
-
const CountReset = defineFact<"CountReset", {}>("CountReset");
|
|
25
|
+
const CountIncremented = defineFact<'CountIncremented', { amount: number }>('CountIncremented');
|
|
26
|
+
const CountDecremented = defineFact<'CountDecremented', { amount: number }>('CountDecremented');
|
|
27
|
+
const CountReset = defineFact<'CountReset', {}>('CountReset');
|
|
32
28
|
|
|
33
29
|
// Define events
|
|
34
|
-
const Increment = defineEvent<
|
|
35
|
-
const Decrement = defineEvent<
|
|
36
|
-
const Reset = defineEvent<
|
|
30
|
+
const Increment = defineEvent<'INCREMENT', { amount?: number }>('INCREMENT');
|
|
31
|
+
const Decrement = defineEvent<'DECREMENT', { amount?: number }>('DECREMENT');
|
|
32
|
+
const Reset = defineEvent<'RESET', {}>('RESET');
|
|
37
33
|
|
|
38
34
|
// Define rules
|
|
39
35
|
const incrementRule = defineRule<CounterContext>({
|
|
40
|
-
id:
|
|
41
|
-
description:
|
|
36
|
+
id: 'counter.increment',
|
|
37
|
+
description: 'Increment the counter',
|
|
42
38
|
impl: (state, events) => {
|
|
43
39
|
const incrementEvent = findEvent(events, Increment);
|
|
44
40
|
if (!incrementEvent) {
|
|
@@ -54,8 +50,8 @@ const incrementRule = defineRule<CounterContext>({
|
|
|
54
50
|
});
|
|
55
51
|
|
|
56
52
|
const decrementRule = defineRule<CounterContext>({
|
|
57
|
-
id:
|
|
58
|
-
description:
|
|
53
|
+
id: 'counter.decrement',
|
|
54
|
+
description: 'Decrement the counter',
|
|
59
55
|
impl: (state, events) => {
|
|
60
56
|
const decrementEvent = findEvent(events, Decrement);
|
|
61
57
|
if (!decrementEvent) {
|
|
@@ -71,8 +67,8 @@ const decrementRule = defineRule<CounterContext>({
|
|
|
71
67
|
});
|
|
72
68
|
|
|
73
69
|
const resetRule = defineRule<CounterContext>({
|
|
74
|
-
id:
|
|
75
|
-
description:
|
|
70
|
+
id: 'counter.reset',
|
|
71
|
+
description: 'Reset the counter',
|
|
76
72
|
impl: (state, events) => {
|
|
77
73
|
const resetEvent = findEvent(events, Reset);
|
|
78
74
|
if (!resetEvent) {
|
|
@@ -132,30 +128,30 @@ function createCounterStores() {
|
|
|
132
128
|
|
|
133
129
|
// Example usage (non-Svelte demonstration)
|
|
134
130
|
function runExample() {
|
|
135
|
-
console.log(
|
|
131
|
+
console.log('=== Svelte Counter Example ===\n');
|
|
136
132
|
|
|
137
133
|
const { engine, countStore } = createCounterStores();
|
|
138
134
|
|
|
139
135
|
// Subscribe to count changes
|
|
140
|
-
console.log(
|
|
136
|
+
console.log('Subscribing to count changes...\n');
|
|
141
137
|
const unsubscribe = countStore.subscribe((count) => {
|
|
142
138
|
console.log(`Count changed: ${count}`);
|
|
143
139
|
});
|
|
144
140
|
|
|
145
141
|
// Dispatch some events
|
|
146
|
-
console.log(
|
|
142
|
+
console.log('\nIncrementing by 1:');
|
|
147
143
|
engine.step([Increment.create({})]);
|
|
148
144
|
|
|
149
|
-
console.log(
|
|
145
|
+
console.log('\nIncrementing by 5:');
|
|
150
146
|
engine.step([Increment.create({ amount: 5 })]);
|
|
151
147
|
|
|
152
|
-
console.log(
|
|
148
|
+
console.log('\nDecrementing by 2:');
|
|
153
149
|
engine.step([Decrement.create({ amount: 2 })]);
|
|
154
150
|
|
|
155
|
-
console.log(
|
|
151
|
+
console.log('\nResetting:');
|
|
156
152
|
engine.step([Reset.create({})]);
|
|
157
153
|
|
|
158
|
-
console.log(
|
|
154
|
+
console.log('\nContext:', engine.getContext());
|
|
159
155
|
|
|
160
156
|
unsubscribe();
|
|
161
157
|
}
|
package/src/flows.ts
CHANGED
|
@@ -41,10 +41,7 @@ export interface FlowStep<E extends PraxisEvent = PraxisEvent> {
|
|
|
41
41
|
/**
|
|
42
42
|
* An actor maintains its own state and responds to events.
|
|
43
43
|
*/
|
|
44
|
-
export interface Actor<
|
|
45
|
-
S extends PraxisState = PraxisState,
|
|
46
|
-
E extends PraxisEvent = PraxisEvent
|
|
47
|
-
> {
|
|
44
|
+
export interface Actor<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent> {
|
|
48
45
|
/** Unique identifier for the actor */
|
|
49
46
|
id: string;
|
|
50
47
|
/** Current state of the actor */
|
|
@@ -135,13 +132,8 @@ export function isFlowWaitingFor<E extends PraxisEvent = PraxisEvent>(
|
|
|
135
132
|
*/
|
|
136
133
|
export function createActor<
|
|
137
134
|
S extends PraxisState = PraxisState,
|
|
138
|
-
E extends PraxisEvent = PraxisEvent
|
|
139
|
-
>(
|
|
140
|
-
id: string,
|
|
141
|
-
initialState: S,
|
|
142
|
-
stepFunction: StepFunction<S, E>,
|
|
143
|
-
type?: string
|
|
144
|
-
): Actor<S, E> {
|
|
135
|
+
E extends PraxisEvent = PraxisEvent,
|
|
136
|
+
>(id: string, initialState: S, stepFunction: StepFunction<S, E>, type?: string): Actor<S, E> {
|
|
145
137
|
return {
|
|
146
138
|
id,
|
|
147
139
|
state: initialState,
|
|
@@ -159,7 +151,7 @@ export function createActor<
|
|
|
159
151
|
*/
|
|
160
152
|
export function processActorEvent<
|
|
161
153
|
S extends PraxisState = PraxisState,
|
|
162
|
-
E extends PraxisEvent = PraxisEvent
|
|
154
|
+
E extends PraxisEvent = PraxisEvent,
|
|
163
155
|
>(actor: Actor<S, E>, event: E): { actor: Actor<S, E>; result: StepResult<S> } {
|
|
164
156
|
const result = actor.step(actor.state, event);
|
|
165
157
|
|
|
@@ -174,10 +166,7 @@ export function processActorEvent<
|
|
|
174
166
|
/**
|
|
175
167
|
* Actor system for managing multiple actors.
|
|
176
168
|
*/
|
|
177
|
-
export class ActorSystem<
|
|
178
|
-
S extends PraxisState = PraxisState,
|
|
179
|
-
E extends PraxisEvent = PraxisEvent
|
|
180
|
-
> {
|
|
169
|
+
export class ActorSystem<S extends PraxisState = PraxisState, E extends PraxisEvent = PraxisEvent> {
|
|
181
170
|
private actors: Map<string, Actor<S, E>> = new Map();
|
|
182
171
|
|
|
183
172
|
/**
|
|
@@ -262,7 +251,7 @@ export class ActorSystem<
|
|
|
262
251
|
*/
|
|
263
252
|
export function createActorSystem<
|
|
264
253
|
S extends PraxisState = PraxisState,
|
|
265
|
-
E extends PraxisEvent = PraxisEvent
|
|
254
|
+
E extends PraxisEvent = PraxisEvent,
|
|
266
255
|
>(): ActorSystem<S, E> {
|
|
267
256
|
return new ActorSystem<S, E>();
|
|
268
257
|
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Praxis - Practical, Provable Application Logic (Browser Build)
|
|
3
|
+
*
|
|
4
|
+
* A typed, functional application logic engine built on strong types.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Core protocol (language-neutral types)
|
|
8
|
+
export type {
|
|
9
|
+
PraxisFact,
|
|
10
|
+
PraxisEvent,
|
|
11
|
+
PraxisState,
|
|
12
|
+
PraxisDiagnostics,
|
|
13
|
+
PraxisStepConfig,
|
|
14
|
+
PraxisStepResult,
|
|
15
|
+
PraxisStepFn,
|
|
16
|
+
} from './core/protocol.js';
|
|
17
|
+
export { PRAXIS_PROTOCOL_VERSION } from './core/protocol.js';
|
|
18
|
+
|
|
19
|
+
// Rules and constraints
|
|
20
|
+
export type {
|
|
21
|
+
RuleId,
|
|
22
|
+
ConstraintId,
|
|
23
|
+
RuleFn,
|
|
24
|
+
ConstraintFn,
|
|
25
|
+
RuleDescriptor,
|
|
26
|
+
ConstraintDescriptor,
|
|
27
|
+
PraxisModule,
|
|
28
|
+
} from './core/rules.js';
|
|
29
|
+
export { PraxisRegistry } from './core/rules.js';
|
|
30
|
+
|
|
31
|
+
// Engine
|
|
32
|
+
export type { PraxisEngineOptions } from './core/engine.js';
|
|
33
|
+
export { LogicEngine, createPraxisEngine } from './core/engine.js';
|
|
34
|
+
export * from './core/reactive-engine.svelte.js';
|
|
35
|
+
|
|
36
|
+
// Actors
|
|
37
|
+
export type { Actor } from './core/actors.js';
|
|
38
|
+
export { ActorManager, createTimerActor } from './core/actors.js';
|
|
39
|
+
|
|
40
|
+
// Introspection
|
|
41
|
+
export type {
|
|
42
|
+
RuleNode,
|
|
43
|
+
ConstraintNode,
|
|
44
|
+
GraphEdge,
|
|
45
|
+
RegistryGraph,
|
|
46
|
+
RuleSchema,
|
|
47
|
+
ConstraintSchema,
|
|
48
|
+
RegistrySchema,
|
|
49
|
+
RegistryStats,
|
|
50
|
+
} from './core/introspection.js';
|
|
51
|
+
export { RegistryIntrospector, createIntrospector } from './core/introspection.js';
|
|
52
|
+
|
|
53
|
+
// DSL helpers
|
|
54
|
+
export {
|
|
55
|
+
defineFact,
|
|
56
|
+
defineEvent,
|
|
57
|
+
defineRule,
|
|
58
|
+
defineConstraint,
|
|
59
|
+
defineModule,
|
|
60
|
+
filterEvents,
|
|
61
|
+
filterFacts,
|
|
62
|
+
findEvent,
|
|
63
|
+
findFact,
|
|
64
|
+
} from './dsl/index.js';
|
|
65
|
+
export type {
|
|
66
|
+
FactDefinition,
|
|
67
|
+
EventDefinition,
|
|
68
|
+
DefineRuleOptions,
|
|
69
|
+
DefineConstraintOptions,
|
|
70
|
+
DefineModuleOptions,
|
|
71
|
+
} from './dsl/index.js';
|
|
72
|
+
|
|
73
|
+
// Terminal Node Runtime - EXCLUDED FOR BROWSER (uses child_process)
|
|
74
|
+
// export type { ... } from './runtime/terminal-adapter.js';
|
|
75
|
+
// export { ... } from './runtime/terminal-adapter.js';
|
|
76
|
+
|
|
77
|
+
// Schema Types (including Terminal Node types)
|
|
78
|
+
export type {
|
|
79
|
+
PraxisSchema,
|
|
80
|
+
NodeDefinition,
|
|
81
|
+
NodeBindings,
|
|
82
|
+
TerminalNodeProps,
|
|
83
|
+
OrchestrationDefinition,
|
|
84
|
+
ValidationResult,
|
|
85
|
+
ValidationError,
|
|
86
|
+
ModelDefinition,
|
|
87
|
+
ComponentDefinition,
|
|
88
|
+
LogicDefinition,
|
|
89
|
+
} from './core/schema/types.js';
|
|
90
|
+
export { validateSchema, createSchemaTemplate } from './core/schema/types.js';
|
|
91
|
+
|
|
92
|
+
// Schema Loader (supports JSON, YAML, and TS)
|
|
93
|
+
export type { LoaderOptions, LoaderResult } from './core/schema/loader.common.js';
|
|
94
|
+
export {
|
|
95
|
+
createSchema,
|
|
96
|
+
loadSchemaFromJson,
|
|
97
|
+
loadSchemaFromYaml,
|
|
98
|
+
validateForGeneration,
|
|
99
|
+
} from './core/schema/loader.common.js';
|
|
100
|
+
|
|
101
|
+
// PluresDB Integration
|
|
102
|
+
export type {
|
|
103
|
+
PraxisDB,
|
|
104
|
+
UnsubscribeFn,
|
|
105
|
+
EventStreamEntry,
|
|
106
|
+
PraxisDBStoreOptions,
|
|
107
|
+
StoredSchema,
|
|
108
|
+
PluresDBGeneratorOptions,
|
|
109
|
+
GeneratedPluresDBFile,
|
|
110
|
+
PluresDBAdapter,
|
|
111
|
+
PluresDBAdapterOptions,
|
|
112
|
+
} from './integrations/pluresdb.js';
|
|
113
|
+
export {
|
|
114
|
+
InMemoryPraxisDB,
|
|
115
|
+
createInMemoryDB,
|
|
116
|
+
PraxisDBStore,
|
|
117
|
+
createPraxisDBStore,
|
|
118
|
+
PRAXIS_PATHS,
|
|
119
|
+
getFactPath,
|
|
120
|
+
getEventPath,
|
|
121
|
+
generateId,
|
|
122
|
+
PraxisSchemaRegistry,
|
|
123
|
+
createSchemaRegistry,
|
|
124
|
+
registerSchema,
|
|
125
|
+
getSchemaPath,
|
|
126
|
+
PluresDBGenerator,
|
|
127
|
+
createPluresDBGenerator,
|
|
128
|
+
createPluresDBAdapter,
|
|
129
|
+
attachToEngine,
|
|
130
|
+
} from './integrations/pluresdb.js';
|
|
131
|
+
|
|
132
|
+
// Unum Integration (Identity & Channels)
|
|
133
|
+
export type {
|
|
134
|
+
UnumStore,
|
|
135
|
+
UnumChannel,
|
|
136
|
+
UnumMessage,
|
|
137
|
+
UnumIdentity,
|
|
138
|
+
UnumAdapterConfig,
|
|
139
|
+
UnumAdapter,
|
|
140
|
+
} from './integrations/unum.js';
|
|
141
|
+
export { createUnumAdapter, attachUnumToEngine } from './integrations/unum.js';
|
|
142
|
+
|
|
143
|
+
// CodeCanvas Integration (Visual Schema Editor)
|
|
144
|
+
export type {
|
|
145
|
+
CanvasNode,
|
|
146
|
+
CanvasEdge,
|
|
147
|
+
CanvasNodeStyle,
|
|
148
|
+
CanvasEdgeStyle,
|
|
149
|
+
CanvasDocument,
|
|
150
|
+
LifecycleState,
|
|
151
|
+
ActivityState,
|
|
152
|
+
CanvasEditorConfig,
|
|
153
|
+
GuardianResult,
|
|
154
|
+
GuardianError,
|
|
155
|
+
GuardianWarning,
|
|
156
|
+
} from './integrations/code-canvas.js';
|
|
157
|
+
export {
|
|
158
|
+
schemaToCanvas,
|
|
159
|
+
canvasToSchema,
|
|
160
|
+
canvasToYaml,
|
|
161
|
+
canvasToMermaid,
|
|
162
|
+
validateWithGuardian,
|
|
163
|
+
createCanvasEditor,
|
|
164
|
+
} from './integrations/code-canvas.js';
|
|
165
|
+
|
|
166
|
+
// State-Docs Integration (Documentation Generation)
|
|
167
|
+
export type {
|
|
168
|
+
StateDocsConfig,
|
|
169
|
+
GeneratedDoc,
|
|
170
|
+
StateMachineDoc,
|
|
171
|
+
StateDoc,
|
|
172
|
+
TransitionDoc,
|
|
173
|
+
} from './integrations/state-docs.js';
|
|
174
|
+
export {
|
|
175
|
+
StateDocsGenerator,
|
|
176
|
+
createStateDocsGenerator,
|
|
177
|
+
generateDocs,
|
|
178
|
+
} from './integrations/state-docs.js';
|
|
179
|
+
|
|
180
|
+
// Tauri Integration (Desktop Apps)
|
|
181
|
+
export type {
|
|
182
|
+
TauriAppConfig,
|
|
183
|
+
TauriWindowConfig,
|
|
184
|
+
TauriSecurityConfig,
|
|
185
|
+
TauriUpdateConfig,
|
|
186
|
+
TauriPlugin,
|
|
187
|
+
TauriCommand,
|
|
188
|
+
TauriEvent,
|
|
189
|
+
TauriFS,
|
|
190
|
+
TauriFileEntry,
|
|
191
|
+
TauriTray,
|
|
192
|
+
TauriMenuItem,
|
|
193
|
+
TauriNotification,
|
|
194
|
+
TauriNotificationOptions,
|
|
195
|
+
TauriBridge,
|
|
196
|
+
TauriUpdateInfo,
|
|
197
|
+
TauriPraxisAdapter,
|
|
198
|
+
} from './integrations/tauri.js';
|
|
199
|
+
export {
|
|
200
|
+
createMockTauriBridge,
|
|
201
|
+
createTauriPraxisAdapter,
|
|
202
|
+
attachTauriToEngine,
|
|
203
|
+
generateTauriConfig,
|
|
204
|
+
} from './integrations/tauri.js';
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Praxis - Practical, Provable Application Logic
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* A typed, functional application logic engine built on strong types.
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
6
|
* Core concepts:
|
|
7
7
|
* - Facts: typed propositions about the domain
|
|
8
8
|
* - Events: temporally ordered facts meant to drive change
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
* - Constraints: invariants that must always hold
|
|
11
11
|
* - Flows: orchestrated behaviors
|
|
12
12
|
* - Actors: effectful units that perform side effects
|
|
13
|
-
*
|
|
13
|
+
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```typescript
|
|
16
16
|
* import { createPraxisEngine, PraxisRegistry, defineFact, defineEvent, defineRule } from "@plures/praxis";
|
|
17
|
-
*
|
|
17
|
+
*
|
|
18
18
|
* // Define facts and events
|
|
19
19
|
* const UserLoggedIn = defineFact<"UserLoggedIn", { userId: string }>("UserLoggedIn");
|
|
20
20
|
* const Login = defineEvent<"LOGIN", { username: string }>("LOGIN");
|
|
21
|
-
*
|
|
21
|
+
*
|
|
22
22
|
* // Define rules
|
|
23
23
|
* const loginRule = defineRule({
|
|
24
24
|
* id: "auth.login",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
* return [];
|
|
32
32
|
* }
|
|
33
33
|
* });
|
|
34
|
-
*
|
|
34
|
+
*
|
|
35
35
|
* // Create engine
|
|
36
36
|
* const registry = new PraxisRegistry();
|
|
37
37
|
* registry.registerRule(loginRule);
|
|
38
|
-
*
|
|
38
|
+
*
|
|
39
39
|
* const engine = createPraxisEngine({
|
|
40
40
|
* initialContext: {},
|
|
41
41
|
* registry
|
|
42
42
|
* });
|
|
43
|
-
*
|
|
43
|
+
*
|
|
44
44
|
* // Dispatch events
|
|
45
45
|
* const result = engine.step([Login.create({ username: "alice" })]);
|
|
46
46
|
* console.log(result.state.facts); // [{ tag: "UserLoggedIn", payload: { userId: "alice" } }]
|
|
@@ -56,8 +56,8 @@ export type {
|
|
|
56
56
|
PraxisStepConfig,
|
|
57
57
|
PraxisStepResult,
|
|
58
58
|
PraxisStepFn,
|
|
59
|
-
} from
|
|
60
|
-
export { PRAXIS_PROTOCOL_VERSION } from
|
|
59
|
+
} from './core/protocol.js';
|
|
60
|
+
export { PRAXIS_PROTOCOL_VERSION } from './core/protocol.js';
|
|
61
61
|
|
|
62
62
|
// Rules and constraints
|
|
63
63
|
export type {
|
|
@@ -68,16 +68,17 @@ export type {
|
|
|
68
68
|
RuleDescriptor,
|
|
69
69
|
ConstraintDescriptor,
|
|
70
70
|
PraxisModule,
|
|
71
|
-
} from
|
|
72
|
-
export { PraxisRegistry } from
|
|
71
|
+
} from './core/rules.js';
|
|
72
|
+
export { PraxisRegistry } from './core/rules.js';
|
|
73
73
|
|
|
74
74
|
// Engine
|
|
75
|
-
export type { PraxisEngineOptions } from
|
|
76
|
-
export { LogicEngine, createPraxisEngine } from
|
|
75
|
+
export type { PraxisEngineOptions } from './core/engine.js';
|
|
76
|
+
export { LogicEngine, createPraxisEngine } from './core/engine.js';
|
|
77
|
+
export * from './core/reactive-engine.svelte.js';
|
|
77
78
|
|
|
78
79
|
// Actors
|
|
79
|
-
export type { Actor } from
|
|
80
|
-
export { ActorManager, createTimerActor } from
|
|
80
|
+
export type { Actor } from './core/actors.js';
|
|
81
|
+
export { ActorManager, createTimerActor } from './core/actors.js';
|
|
81
82
|
|
|
82
83
|
// Introspection
|
|
83
84
|
export type {
|
|
@@ -89,8 +90,8 @@ export type {
|
|
|
89
90
|
ConstraintSchema,
|
|
90
91
|
RegistrySchema,
|
|
91
92
|
RegistryStats,
|
|
92
|
-
} from
|
|
93
|
-
export { RegistryIntrospector, createIntrospector } from
|
|
93
|
+
} from './core/introspection.js';
|
|
94
|
+
export { RegistryIntrospector, createIntrospector } from './core/introspection.js';
|
|
94
95
|
|
|
95
96
|
// DSL helpers
|
|
96
97
|
export {
|
|
@@ -103,14 +104,14 @@ export {
|
|
|
103
104
|
filterFacts,
|
|
104
105
|
findEvent,
|
|
105
106
|
findFact,
|
|
106
|
-
} from
|
|
107
|
+
} from './dsl/index.js';
|
|
107
108
|
export type {
|
|
108
109
|
FactDefinition,
|
|
109
110
|
EventDefinition,
|
|
110
111
|
DefineRuleOptions,
|
|
111
112
|
DefineConstraintOptions,
|
|
112
113
|
DefineModuleOptions,
|
|
113
|
-
} from
|
|
114
|
+
} from './dsl/index.js';
|
|
114
115
|
|
|
115
116
|
// Terminal Node Runtime
|
|
116
117
|
export type {
|
|
@@ -118,13 +119,13 @@ export type {
|
|
|
118
119
|
TerminalNodeState,
|
|
119
120
|
TerminalAdapterOptions,
|
|
120
121
|
CommandExecutor,
|
|
121
|
-
} from
|
|
122
|
+
} from './runtime/terminal-adapter.js';
|
|
122
123
|
export {
|
|
123
124
|
TerminalAdapter,
|
|
124
125
|
createTerminalAdapter,
|
|
125
126
|
runTerminalCommand,
|
|
126
127
|
createMockExecutor,
|
|
127
|
-
} from
|
|
128
|
+
} from './runtime/terminal-adapter.js';
|
|
128
129
|
|
|
129
130
|
// Schema Types (including Terminal Node types)
|
|
130
131
|
export type {
|
|
@@ -138,21 +139,18 @@ export type {
|
|
|
138
139
|
ModelDefinition,
|
|
139
140
|
ComponentDefinition,
|
|
140
141
|
LogicDefinition,
|
|
141
|
-
} from
|
|
142
|
-
export { validateSchema, createSchemaTemplate } from
|
|
142
|
+
} from './core/schema/types.js';
|
|
143
|
+
export { validateSchema, createSchemaTemplate } from './core/schema/types.js';
|
|
143
144
|
|
|
144
145
|
// Schema Loader (supports JSON, YAML, and TS)
|
|
145
|
-
export type {
|
|
146
|
-
LoaderOptions,
|
|
147
|
-
LoaderResult,
|
|
148
|
-
} from "./core/schema/loader.js";
|
|
146
|
+
export type { LoaderOptions, LoaderResult } from './core/schema/loader.js';
|
|
149
147
|
export {
|
|
150
148
|
loadSchema,
|
|
151
149
|
loadSchemaFromJson,
|
|
152
150
|
loadSchemaFromYaml,
|
|
153
151
|
loadSchemaFromFile,
|
|
154
152
|
validateForGeneration,
|
|
155
|
-
} from
|
|
153
|
+
} from './core/schema/loader.js';
|
|
156
154
|
|
|
157
155
|
// PluresDB Integration
|
|
158
156
|
export type {
|
|
@@ -165,7 +163,7 @@ export type {
|
|
|
165
163
|
GeneratedPluresDBFile,
|
|
166
164
|
PluresDBAdapter,
|
|
167
165
|
PluresDBAdapterOptions,
|
|
168
|
-
} from
|
|
166
|
+
} from './integrations/pluresdb.js';
|
|
169
167
|
export {
|
|
170
168
|
InMemoryPraxisDB,
|
|
171
169
|
createInMemoryDB,
|
|
@@ -183,7 +181,7 @@ export {
|
|
|
183
181
|
createPluresDBGenerator,
|
|
184
182
|
createPluresDBAdapter,
|
|
185
183
|
attachToEngine,
|
|
186
|
-
} from
|
|
184
|
+
} from './integrations/pluresdb.js';
|
|
187
185
|
|
|
188
186
|
// Unum Integration (Identity & Channels)
|
|
189
187
|
export type {
|
|
@@ -193,11 +191,8 @@ export type {
|
|
|
193
191
|
UnumIdentity,
|
|
194
192
|
UnumAdapterConfig,
|
|
195
193
|
UnumAdapter,
|
|
196
|
-
} from
|
|
197
|
-
export {
|
|
198
|
-
createUnumAdapter,
|
|
199
|
-
attachUnumToEngine,
|
|
200
|
-
} from "./integrations/unum.js";
|
|
194
|
+
} from './integrations/unum.js';
|
|
195
|
+
export { createUnumAdapter, attachUnumToEngine } from './integrations/unum.js';
|
|
201
196
|
|
|
202
197
|
// CodeCanvas Integration (Visual Schema Editor)
|
|
203
198
|
export type {
|
|
@@ -212,7 +207,7 @@ export type {
|
|
|
212
207
|
GuardianResult,
|
|
213
208
|
GuardianError,
|
|
214
209
|
GuardianWarning,
|
|
215
|
-
} from
|
|
210
|
+
} from './integrations/code-canvas.js';
|
|
216
211
|
export {
|
|
217
212
|
schemaToCanvas,
|
|
218
213
|
canvasToSchema,
|
|
@@ -220,7 +215,7 @@ export {
|
|
|
220
215
|
canvasToMermaid,
|
|
221
216
|
validateWithGuardian,
|
|
222
217
|
createCanvasEditor,
|
|
223
|
-
} from
|
|
218
|
+
} from './integrations/code-canvas.js';
|
|
224
219
|
|
|
225
220
|
// State-Docs Integration (Documentation Generation)
|
|
226
221
|
export type {
|
|
@@ -229,12 +224,12 @@ export type {
|
|
|
229
224
|
StateMachineDoc,
|
|
230
225
|
StateDoc,
|
|
231
226
|
TransitionDoc,
|
|
232
|
-
} from
|
|
227
|
+
} from './integrations/state-docs.js';
|
|
233
228
|
export {
|
|
234
229
|
StateDocsGenerator,
|
|
235
230
|
createStateDocsGenerator,
|
|
236
231
|
generateDocs,
|
|
237
|
-
} from
|
|
232
|
+
} from './integrations/state-docs.js';
|
|
238
233
|
|
|
239
234
|
// Tauri Integration (Desktop Apps)
|
|
240
235
|
export type {
|
|
@@ -254,10 +249,10 @@ export type {
|
|
|
254
249
|
TauriBridge,
|
|
255
250
|
TauriUpdateInfo,
|
|
256
251
|
TauriPraxisAdapter,
|
|
257
|
-
} from
|
|
252
|
+
} from './integrations/tauri.js';
|
|
258
253
|
export {
|
|
259
254
|
createMockTauriBridge,
|
|
260
255
|
createTauriPraxisAdapter,
|
|
261
256
|
attachTauriToEngine,
|
|
262
257
|
generateTauriConfig,
|
|
263
|
-
} from
|
|
258
|
+
} from './integrations/tauri.js';
|