@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
package/dist/src/core/rules.d.ts
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rules and Constraints System
|
|
3
|
-
*
|
|
4
|
-
* This module defines the types and registry for rules and constraints.
|
|
5
|
-
* Rules and constraints are identified by stable IDs and can be described as data,
|
|
6
|
-
* making them portable across languages and suitable for DSL-based definitions.
|
|
7
|
-
*/
|
|
8
|
-
import type { PraxisEvent, PraxisFact, PraxisState } from "./protocol.js";
|
|
9
|
-
/**
|
|
10
|
-
* Unique identifier for a rule
|
|
11
|
-
*/
|
|
12
|
-
export type RuleId = string;
|
|
13
|
-
/**
|
|
14
|
-
* Unique identifier for a constraint
|
|
15
|
-
*/
|
|
16
|
-
export type ConstraintId = string;
|
|
17
|
-
/**
|
|
18
|
-
* A rule function derives new facts or transitions from context + input facts/events.
|
|
19
|
-
* Rules must be pure - no side effects.
|
|
20
|
-
*
|
|
21
|
-
* @param state Current Praxis state
|
|
22
|
-
* @param events Events to process
|
|
23
|
-
* @returns Array of new facts to add to the state
|
|
24
|
-
*/
|
|
25
|
-
export type RuleFn<TContext = unknown> = (state: PraxisState & {
|
|
26
|
-
context: TContext;
|
|
27
|
-
}, events: PraxisEvent[]) => PraxisFact[];
|
|
28
|
-
/**
|
|
29
|
-
* A constraint function checks that an invariant holds.
|
|
30
|
-
* Constraints must be pure - no side effects.
|
|
31
|
-
*
|
|
32
|
-
* @param state Current Praxis state
|
|
33
|
-
* @returns true if constraint is satisfied, false or error message if violated
|
|
34
|
-
*/
|
|
35
|
-
export type ConstraintFn<TContext = unknown> = (state: PraxisState & {
|
|
36
|
-
context: TContext;
|
|
37
|
-
}) => boolean | string;
|
|
38
|
-
/**
|
|
39
|
-
* Descriptor for a rule, including its ID, description, and implementation.
|
|
40
|
-
*/
|
|
41
|
-
export interface RuleDescriptor<TContext = unknown> {
|
|
42
|
-
/** Unique identifier for the rule */
|
|
43
|
-
id: RuleId;
|
|
44
|
-
/** Human-readable description */
|
|
45
|
-
description: string;
|
|
46
|
-
/** Implementation function */
|
|
47
|
-
impl: RuleFn<TContext>;
|
|
48
|
-
/** Optional metadata */
|
|
49
|
-
meta?: Record<string, unknown>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Descriptor for a constraint, including its ID, description, and implementation.
|
|
53
|
-
*/
|
|
54
|
-
export interface ConstraintDescriptor<TContext = unknown> {
|
|
55
|
-
/** Unique identifier for the constraint */
|
|
56
|
-
id: ConstraintId;
|
|
57
|
-
/** Human-readable description */
|
|
58
|
-
description: string;
|
|
59
|
-
/** Implementation function */
|
|
60
|
-
impl: ConstraintFn<TContext>;
|
|
61
|
-
/** Optional metadata */
|
|
62
|
-
meta?: Record<string, unknown>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* A Praxis module bundles rules and constraints.
|
|
66
|
-
* Modules can be composed and registered with the engine.
|
|
67
|
-
*/
|
|
68
|
-
export interface PraxisModule<TContext = unknown> {
|
|
69
|
-
/** Rules in this module */
|
|
70
|
-
rules: RuleDescriptor<TContext>[];
|
|
71
|
-
/** Constraints in this module */
|
|
72
|
-
constraints: ConstraintDescriptor<TContext>[];
|
|
73
|
-
/** Optional module metadata */
|
|
74
|
-
meta?: Record<string, unknown>;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Registry for rules and constraints.
|
|
78
|
-
* Maps IDs to their descriptors.
|
|
79
|
-
*/
|
|
80
|
-
export declare class PraxisRegistry<TContext = unknown> {
|
|
81
|
-
private rules;
|
|
82
|
-
private constraints;
|
|
83
|
-
/**
|
|
84
|
-
* Register a rule
|
|
85
|
-
*/
|
|
86
|
-
registerRule(descriptor: RuleDescriptor<TContext>): void;
|
|
87
|
-
/**
|
|
88
|
-
* Register a constraint
|
|
89
|
-
*/
|
|
90
|
-
registerConstraint(descriptor: ConstraintDescriptor<TContext>): void;
|
|
91
|
-
/**
|
|
92
|
-
* Register a module (all its rules and constraints)
|
|
93
|
-
*/
|
|
94
|
-
registerModule(module: PraxisModule<TContext>): void;
|
|
95
|
-
/**
|
|
96
|
-
* Get a rule by ID
|
|
97
|
-
*/
|
|
98
|
-
getRule(id: RuleId): RuleDescriptor<TContext> | undefined;
|
|
99
|
-
/**
|
|
100
|
-
* Get a constraint by ID
|
|
101
|
-
*/
|
|
102
|
-
getConstraint(id: ConstraintId): ConstraintDescriptor<TContext> | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* Get all registered rule IDs
|
|
105
|
-
*/
|
|
106
|
-
getRuleIds(): RuleId[];
|
|
107
|
-
/**
|
|
108
|
-
* Get all registered constraint IDs
|
|
109
|
-
*/
|
|
110
|
-
getConstraintIds(): ConstraintId[];
|
|
111
|
-
/**
|
|
112
|
-
* Get all rules
|
|
113
|
-
*/
|
|
114
|
-
getAllRules(): RuleDescriptor<TContext>[];
|
|
115
|
-
/**
|
|
116
|
-
* Get all constraints
|
|
117
|
-
*/
|
|
118
|
-
getAllConstraints(): ConstraintDescriptor<TContext>[];
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/core/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,QAAQ,GAAG,OAAO,IAAI,CACvC,KAAK,EAAE,WAAW,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EAC1C,MAAM,EAAE,WAAW,EAAE,KAClB,UAAU,EAAE,CAAC;AAElB;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,QAAQ,GAAG,OAAO,IAAI,CAC7C,KAAK,EAAE,WAAW,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,KACvC,OAAO,GAAG,MAAM,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,QAAQ,GAAG,OAAO;IAChD,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,QAAQ,GAAG,OAAO;IACtD,2CAA2C;IAC3C,EAAE,EAAE,YAAY,CAAC;IACjB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC7B,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,OAAO;IAC9C,2BAA2B;IAC3B,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,iCAAiC;IACjC,WAAW,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,QAAQ,GAAG,OAAO;IAC5C,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,WAAW,CAA2D;IAE9E;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI;IAOxD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAOpE;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;IASpD;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS;IAIzD;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,SAAS;IAI3E;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,gBAAgB,IAAI,YAAY,EAAE;IAIlC;;OAEG;IACH,WAAW,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;IAIzC;;OAEG;IACH,iBAAiB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE;CAGtD"}
|
package/dist/src/core/rules.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rules and Constraints System
|
|
3
|
-
*
|
|
4
|
-
* This module defines the types and registry for rules and constraints.
|
|
5
|
-
* Rules and constraints are identified by stable IDs and can be described as data,
|
|
6
|
-
* making them portable across languages and suitable for DSL-based definitions.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Registry for rules and constraints.
|
|
10
|
-
* Maps IDs to their descriptors.
|
|
11
|
-
*/
|
|
12
|
-
export class PraxisRegistry {
|
|
13
|
-
rules = new Map();
|
|
14
|
-
constraints = new Map();
|
|
15
|
-
/**
|
|
16
|
-
* Register a rule
|
|
17
|
-
*/
|
|
18
|
-
registerRule(descriptor) {
|
|
19
|
-
if (this.rules.has(descriptor.id)) {
|
|
20
|
-
throw new Error(`Rule with id "${descriptor.id}" already registered`);
|
|
21
|
-
}
|
|
22
|
-
this.rules.set(descriptor.id, descriptor);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Register a constraint
|
|
26
|
-
*/
|
|
27
|
-
registerConstraint(descriptor) {
|
|
28
|
-
if (this.constraints.has(descriptor.id)) {
|
|
29
|
-
throw new Error(`Constraint with id "${descriptor.id}" already registered`);
|
|
30
|
-
}
|
|
31
|
-
this.constraints.set(descriptor.id, descriptor);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Register a module (all its rules and constraints)
|
|
35
|
-
*/
|
|
36
|
-
registerModule(module) {
|
|
37
|
-
for (const rule of module.rules) {
|
|
38
|
-
this.registerRule(rule);
|
|
39
|
-
}
|
|
40
|
-
for (const constraint of module.constraints) {
|
|
41
|
-
this.registerConstraint(constraint);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get a rule by ID
|
|
46
|
-
*/
|
|
47
|
-
getRule(id) {
|
|
48
|
-
return this.rules.get(id);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get a constraint by ID
|
|
52
|
-
*/
|
|
53
|
-
getConstraint(id) {
|
|
54
|
-
return this.constraints.get(id);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get all registered rule IDs
|
|
58
|
-
*/
|
|
59
|
-
getRuleIds() {
|
|
60
|
-
return Array.from(this.rules.keys());
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Get all registered constraint IDs
|
|
64
|
-
*/
|
|
65
|
-
getConstraintIds() {
|
|
66
|
-
return Array.from(this.constraints.keys());
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Get all rules
|
|
70
|
-
*/
|
|
71
|
-
getAllRules() {
|
|
72
|
-
return Array.from(this.rules.values());
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get all constraints
|
|
76
|
-
*/
|
|
77
|
-
getAllConstraints() {
|
|
78
|
-
return Array.from(this.constraints.values());
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=rules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/core/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+EH;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;IACpD,WAAW,GAAG,IAAI,GAAG,EAAgD,CAAC;IAE9E;;OAEG;IACH,YAAY,CAAC,UAAoC;QAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAA0C;QAC3D,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAA8B;QAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAgB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Praxis Schema Loader
|
|
3
|
-
*
|
|
4
|
-
* Loads and validates Praxis schema files.
|
|
5
|
-
*/
|
|
6
|
-
import type { PraxisSchema, ValidationResult } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Loader options
|
|
9
|
-
*/
|
|
10
|
-
export interface LoaderOptions {
|
|
11
|
-
/** Validate schema after loading */
|
|
12
|
-
validate?: boolean;
|
|
13
|
-
/** Base directory for resolving relative paths */
|
|
14
|
-
baseDir?: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Loader result
|
|
18
|
-
*/
|
|
19
|
-
export interface LoaderResult {
|
|
20
|
-
/** Loaded schema */
|
|
21
|
-
schema?: PraxisSchema;
|
|
22
|
-
/** Validation result */
|
|
23
|
-
validation?: ValidationResult;
|
|
24
|
-
/** Load errors */
|
|
25
|
-
errors: string[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Load a Praxis schema from a file
|
|
29
|
-
*/
|
|
30
|
-
export declare function loadSchema(filePath: string, options?: LoaderOptions): Promise<LoaderResult>;
|
|
31
|
-
/**
|
|
32
|
-
* Load schema from JSON string
|
|
33
|
-
*/
|
|
34
|
-
export declare function loadSchemaFromJson(json: string, options?: LoaderOptions): LoaderResult;
|
|
35
|
-
/**
|
|
36
|
-
* Load schema from YAML string
|
|
37
|
-
*/
|
|
38
|
-
export declare function loadSchemaFromYaml(yaml: string, options?: LoaderOptions): LoaderResult;
|
|
39
|
-
/**
|
|
40
|
-
* Load schema from file (supports .ts, .json, and .yaml/.yml)
|
|
41
|
-
*/
|
|
42
|
-
export declare function loadSchemaFromFile(filePath: string, options?: LoaderOptions): Promise<LoaderResult>;
|
|
43
|
-
/**
|
|
44
|
-
* Validate that a loaded schema has required fields for generation
|
|
45
|
-
*/
|
|
46
|
-
export declare function validateForGeneration(schema: PraxisSchema): ValidationResult;
|
|
47
|
-
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/core/schema/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAuEvB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAkB,GAC1B,YAAY,CA+Bd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAkB,GAC1B,YAAY,CA+Bd;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAUvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB,CAkC5E"}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Praxis Schema Loader
|
|
3
|
-
*
|
|
4
|
-
* Loads and validates Praxis schema files.
|
|
5
|
-
*/
|
|
6
|
-
import { readFile } from 'node:fs/promises';
|
|
7
|
-
import { pathToFileURL } from 'node:url';
|
|
8
|
-
import { load as yamlLoad } from 'js-yaml';
|
|
9
|
-
import { validateSchema } from './types.js';
|
|
10
|
-
/**
|
|
11
|
-
* Load a Praxis schema from a file
|
|
12
|
-
*/
|
|
13
|
-
export async function loadSchema(filePath, options = {}) {
|
|
14
|
-
const errors = [];
|
|
15
|
-
try {
|
|
16
|
-
// Only .js files are supported. TypeScript schema files must be compiled to .js first.
|
|
17
|
-
// Use a compiled JavaScript file for your schema.
|
|
18
|
-
// Dynamic import is used, which works with .js files only.
|
|
19
|
-
// Convert to absolute URL for ES module import
|
|
20
|
-
let fileUrl = pathToFileURL(filePath).href;
|
|
21
|
-
// Attempt to import .ts or .js files directly. If import fails, error will be caught below.
|
|
22
|
-
// Dynamic import of the schema file
|
|
23
|
-
const module = await import(fileUrl);
|
|
24
|
-
// Look for common schema export names
|
|
25
|
-
let schema;
|
|
26
|
-
if (module.default) {
|
|
27
|
-
schema = module.default;
|
|
28
|
-
}
|
|
29
|
-
else if (module.schema) {
|
|
30
|
-
schema = module.schema;
|
|
31
|
-
}
|
|
32
|
-
else if (module.appSchema) {
|
|
33
|
-
schema = module.appSchema;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
// Try to find any object that looks like a PraxisSchema
|
|
37
|
-
const exports = Object.values(module);
|
|
38
|
-
const possibleSchema = exports.find((exp) => typeof exp === 'object' &&
|
|
39
|
-
exp !== null &&
|
|
40
|
-
'version' in exp &&
|
|
41
|
-
'name' in exp);
|
|
42
|
-
if (possibleSchema) {
|
|
43
|
-
schema = possibleSchema;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (!schema) {
|
|
47
|
-
errors.push('Schema file must export a PraxisSchema object (as default, schema, or appSchema)');
|
|
48
|
-
return { errors };
|
|
49
|
-
}
|
|
50
|
-
// Validate if requested
|
|
51
|
-
let validation;
|
|
52
|
-
if (options.validate !== false) {
|
|
53
|
-
validation = validateSchema(schema);
|
|
54
|
-
if (!validation.valid) {
|
|
55
|
-
errors.push('Schema validation failed:');
|
|
56
|
-
validation.errors.forEach((error) => {
|
|
57
|
-
errors.push(` ${error.path}: ${error.message}`);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
schema,
|
|
63
|
-
validation,
|
|
64
|
-
errors,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
if (error instanceof Error) {
|
|
69
|
-
errors.push(`Failed to load schema: ${error.message}`);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
errors.push('Failed to load schema: Unknown error');
|
|
73
|
-
}
|
|
74
|
-
return { errors };
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Load schema from JSON string
|
|
79
|
-
*/
|
|
80
|
-
export function loadSchemaFromJson(json, options = {}) {
|
|
81
|
-
const errors = [];
|
|
82
|
-
try {
|
|
83
|
-
const schema = JSON.parse(json);
|
|
84
|
-
// Validate if requested
|
|
85
|
-
let validation;
|
|
86
|
-
if (options.validate !== false) {
|
|
87
|
-
validation = validateSchema(schema);
|
|
88
|
-
if (!validation.valid) {
|
|
89
|
-
errors.push('Schema validation failed:');
|
|
90
|
-
validation.errors.forEach((error) => {
|
|
91
|
-
errors.push(` ${error.path}: ${error.message}`);
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return {
|
|
96
|
-
schema,
|
|
97
|
-
validation,
|
|
98
|
-
errors,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
if (error instanceof Error) {
|
|
103
|
-
errors.push(`Failed to parse JSON: ${error.message}`);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
errors.push('Failed to parse JSON: Unknown error');
|
|
107
|
-
}
|
|
108
|
-
return { errors };
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Load schema from YAML string
|
|
113
|
-
*/
|
|
114
|
-
export function loadSchemaFromYaml(yaml, options = {}) {
|
|
115
|
-
const errors = [];
|
|
116
|
-
try {
|
|
117
|
-
const schema = yamlLoad(yaml);
|
|
118
|
-
// Validate if requested
|
|
119
|
-
let validation;
|
|
120
|
-
if (options.validate !== false) {
|
|
121
|
-
validation = validateSchema(schema);
|
|
122
|
-
if (!validation.valid) {
|
|
123
|
-
errors.push('Schema validation failed:');
|
|
124
|
-
validation.errors.forEach((error) => {
|
|
125
|
-
errors.push(` ${error.path}: ${error.message}`);
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return {
|
|
130
|
-
schema,
|
|
131
|
-
validation,
|
|
132
|
-
errors,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
if (error instanceof Error) {
|
|
137
|
-
errors.push(`Failed to parse YAML: ${error.message}`);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
errors.push('Failed to parse YAML: Unknown error');
|
|
141
|
-
}
|
|
142
|
-
return { errors };
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Load schema from file (supports .ts, .json, and .yaml/.yml)
|
|
147
|
-
*/
|
|
148
|
-
export async function loadSchemaFromFile(filePath, options = {}) {
|
|
149
|
-
if (filePath.endsWith('.json')) {
|
|
150
|
-
const content = await readFile(filePath, 'utf-8');
|
|
151
|
-
return loadSchemaFromJson(content, options);
|
|
152
|
-
}
|
|
153
|
-
else if (filePath.endsWith('.yaml') || filePath.endsWith('.yml')) {
|
|
154
|
-
const content = await readFile(filePath, 'utf-8');
|
|
155
|
-
return loadSchemaFromYaml(content, options);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
return loadSchema(filePath, options);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Validate that a loaded schema has required fields for generation
|
|
163
|
-
*/
|
|
164
|
-
export function validateForGeneration(schema) {
|
|
165
|
-
const errors = [];
|
|
166
|
-
// Check for entities/models
|
|
167
|
-
if (!schema.models || schema.models.length === 0) {
|
|
168
|
-
errors.push('Schema must define at least one model for generation');
|
|
169
|
-
}
|
|
170
|
-
// Check that models have valid fields
|
|
171
|
-
schema.models?.forEach((model, index) => {
|
|
172
|
-
if (!model.fields || model.fields.length === 0) {
|
|
173
|
-
errors.push(`Model "${model.name}" at index ${index} must have at least one field`);
|
|
174
|
-
}
|
|
175
|
-
model.fields?.forEach((field, fieldIndex) => {
|
|
176
|
-
if (!field.name) {
|
|
177
|
-
errors.push(`Field at index ${fieldIndex} in model "${model.name}" must have a name`);
|
|
178
|
-
}
|
|
179
|
-
if (!field.type) {
|
|
180
|
-
errors.push(`Field "${field.name}" in model "${model.name}" must have a type`);
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
return {
|
|
185
|
-
valid: errors.length === 0,
|
|
186
|
-
errors: errors.map((message) => ({ path: 'schema', message })),
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/core/schema/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Praxis Schema Normalizer
|
|
3
|
-
*
|
|
4
|
-
* Expands and normalizes schema definitions for code generation.
|
|
5
|
-
*/
|
|
6
|
-
import type { PraxisSchema, ModelDefinition, ComponentDefinition, LogicDefinition, FieldDefinition } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Normalized schema with expanded and validated definitions
|
|
9
|
-
*/
|
|
10
|
-
export interface NormalizedSchema extends PraxisSchema {
|
|
11
|
-
/** Normalized models with expanded references */
|
|
12
|
-
models: NormalizedModel[];
|
|
13
|
-
/** Normalized components */
|
|
14
|
-
components: NormalizedComponent[];
|
|
15
|
-
/** Normalized logic */
|
|
16
|
-
logic: NormalizedLogic[];
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Normalized model definition
|
|
20
|
-
*/
|
|
21
|
-
export interface NormalizedModel extends ModelDefinition {
|
|
22
|
-
/** Fully qualified name */
|
|
23
|
-
fullName: string;
|
|
24
|
-
/** All fields including inherited ones */
|
|
25
|
-
allFields: FieldDefinition[];
|
|
26
|
-
/** Model dependencies */
|
|
27
|
-
dependencies: string[];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Normalized component definition
|
|
31
|
-
*/
|
|
32
|
-
export interface NormalizedComponent extends ComponentDefinition {
|
|
33
|
-
/** Fully qualified name */
|
|
34
|
-
fullName: string;
|
|
35
|
-
/** Resolved model reference */
|
|
36
|
-
resolvedModel?: NormalizedModel;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Normalized logic definition
|
|
40
|
-
*/
|
|
41
|
-
export interface NormalizedLogic extends LogicDefinition {
|
|
42
|
-
/** Fully qualified identifier */
|
|
43
|
-
fullId: string;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Normalization options
|
|
47
|
-
*/
|
|
48
|
-
export interface NormalizationOptions {
|
|
49
|
-
/** Schema name prefix for fully qualified names */
|
|
50
|
-
schemaPrefix?: string;
|
|
51
|
-
/** Expand all field references */
|
|
52
|
-
expandReferences?: boolean;
|
|
53
|
-
/** Include computed metadata */
|
|
54
|
-
includeMetadata?: boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Normalize a Praxis schema for code generation
|
|
58
|
-
*/
|
|
59
|
-
export declare function normalizeSchema(schema: PraxisSchema, options?: NormalizationOptions): NormalizedSchema;
|
|
60
|
-
/**
|
|
61
|
-
* Expand field type to fully qualified type string
|
|
62
|
-
*/
|
|
63
|
-
export declare function expandFieldType(fieldType: any, schemaPrefix?: string): string;
|
|
64
|
-
/**
|
|
65
|
-
* Generate TypeScript type from field type
|
|
66
|
-
*/
|
|
67
|
-
export declare function fieldTypeToTypeScript(fieldType: any): string;
|
|
68
|
-
/**
|
|
69
|
-
* Sort models by dependency order (models with no dependencies first)
|
|
70
|
-
*/
|
|
71
|
-
export declare function sortModelsByDependencies(models: NormalizedModel[]): NormalizedModel[];
|
|
72
|
-
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../src/core/schema/normalize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,iDAAiD;IACjD,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,4BAA4B;IAC5B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,yBAAyB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gCAAgC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,oBAAyB,GACjC,gBAAgB,CAoClB;AA0FD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,GAAG,EACd,YAAY,GAAE,MAAW,GACxB,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CA2C5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EAAE,GACxB,eAAe,EAAE,CAsCnB"}
|