ramosedb 0.0.0-stage → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +17 -0
- package/README.md +57 -2
- package/dist/Auth.d.ts +55 -0
- package/dist/Auth.d.ts.map +1 -0
- package/dist/Auth.js +50 -0
- package/dist/Auth.js.map +1 -0
- package/dist/Database.d.ts +40 -0
- package/dist/Database.d.ts.map +1 -0
- package/dist/Database.js +62 -0
- package/dist/Database.js.map +1 -0
- package/dist/Providers.d.ts +8 -0
- package/dist/Providers.d.ts.map +1 -0
- package/dist/Providers.js +9 -0
- package/dist/Providers.js.map +1 -0
- package/dist/RamoseEnv.d.ts +37 -0
- package/dist/RamoseEnv.d.ts.map +1 -0
- package/dist/RamoseEnv.js +2 -0
- package/dist/RamoseEnv.js.map +1 -0
- package/dist/Server.d.ts +100 -0
- package/dist/Server.d.ts.map +1 -0
- package/dist/Server.js +263 -0
- package/dist/Server.js.map +1 -0
- package/dist/ServerRuntime.d.ts +10 -0
- package/dist/ServerRuntime.d.ts.map +1 -0
- package/dist/ServerRuntime.js +11 -0
- package/dist/ServerRuntime.js.map +1 -0
- package/dist/better-auth/client.d.ts +19 -0
- package/dist/better-auth/client.d.ts.map +1 -0
- package/dist/better-auth/client.js +110 -0
- package/dist/better-auth/client.js.map +1 -0
- package/dist/better-auth/index.d.ts +140 -0
- package/dist/better-auth/index.d.ts.map +1 -0
- package/dist/better-auth/index.js +168 -0
- package/dist/better-auth/index.js.map +1 -0
- package/dist/client/activation.d.ts +2 -0
- package/dist/client/activation.d.ts.map +1 -0
- package/dist/client/activation.js +33 -0
- package/dist/client/activation.js.map +1 -0
- package/dist/client/catalog.d.ts +15 -0
- package/dist/client/catalog.d.ts.map +1 -0
- package/dist/client/catalog.js +48 -0
- package/dist/client/catalog.js.map +1 -0
- package/dist/client/changesets.d.ts +85 -0
- package/dist/client/changesets.d.ts.map +1 -0
- package/dist/client/changesets.js +160 -0
- package/dist/client/changesets.js.map +1 -0
- package/dist/client/client.d.ts +45 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +425 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/database.d.ts +163 -0
- package/dist/client/database.d.ts.map +1 -0
- package/dist/client/database.js +795 -0
- package/dist/client/database.js.map +1 -0
- package/dist/client/entity.d.ts +63 -0
- package/dist/client/entity.d.ts.map +1 -0
- package/dist/client/entity.js +141 -0
- package/dist/client/entity.js.map +1 -0
- package/dist/client/errors.d.ts +67 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +39 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/index.d.ts +13 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/mutation-schema.d.ts +92 -0
- package/dist/client/mutation-schema.d.ts.map +1 -0
- package/dist/client/mutation-schema.js +2 -0
- package/dist/client/mutation-schema.js.map +1 -0
- package/dist/client/mutation.d.ts +25 -0
- package/dist/client/mutation.d.ts.map +1 -0
- package/dist/client/mutation.js +75 -0
- package/dist/client/mutation.js.map +1 -0
- package/dist/client/operations.d.ts +39 -0
- package/dist/client/operations.d.ts.map +1 -0
- package/dist/client/operations.js +183 -0
- package/dist/client/operations.js.map +1 -0
- package/dist/client/query.d.ts +53 -0
- package/dist/client/query.d.ts.map +1 -0
- package/dist/client/query.js +85 -0
- package/dist/client/query.js.map +1 -0
- package/dist/client/receipt.d.ts +53 -0
- package/dist/client/receipt.d.ts.map +1 -0
- package/dist/client/receipt.js +79 -0
- package/dist/client/receipt.js.map +1 -0
- package/dist/client/submission.d.ts +44 -0
- package/dist/client/submission.d.ts.map +1 -0
- package/dist/client/submission.js +165 -0
- package/dist/client/submission.js.map +1 -0
- package/dist/client/subscription.d.ts +18 -0
- package/dist/client/subscription.d.ts.map +1 -0
- package/dist/client/subscription.js +75 -0
- package/dist/client/subscription.js.map +1 -0
- package/dist/client/sync.d.ts +32 -0
- package/dist/client/sync.d.ts.map +1 -0
- package/dist/client/sync.js +34 -0
- package/dist/client/sync.js.map +1 -0
- package/dist/client/view.d.ts +37 -0
- package/dist/client/view.d.ts.map +1 -0
- package/dist/client/view.js +112 -0
- package/dist/client/view.js.map +1 -0
- package/dist/db/Binding.d.ts +79 -0
- package/dist/db/Binding.d.ts.map +1 -0
- package/dist/db/Binding.js +138 -0
- package/dist/db/Binding.js.map +1 -0
- package/dist/db/Composer.d.ts +7 -0
- package/dist/db/Composer.d.ts.map +1 -0
- package/dist/db/Composer.js +6 -0
- package/dist/db/Composer.js.map +1 -0
- package/dist/db/DatabaseName.d.ts +7 -0
- package/dist/db/DatabaseName.d.ts.map +1 -0
- package/dist/db/DatabaseName.js +9 -0
- package/dist/db/DatabaseName.js.map +1 -0
- package/dist/db/Eid.d.ts +19 -0
- package/dist/db/Eid.d.ts.map +1 -0
- package/dist/db/Eid.js +2 -0
- package/dist/db/Eid.js.map +1 -0
- package/dist/db/Entity.d.ts +133 -0
- package/dist/db/Entity.d.ts.map +1 -0
- package/dist/db/Entity.js +104 -0
- package/dist/db/Entity.js.map +1 -0
- package/dist/db/Errors.d.ts +138 -0
- package/dist/db/Errors.d.ts.map +1 -0
- package/dist/db/Errors.js +171 -0
- package/dist/db/Errors.js.map +1 -0
- package/dist/db/Field.d.ts +170 -0
- package/dist/db/Field.d.ts.map +1 -0
- package/dist/db/Field.js +187 -0
- package/dist/db/Field.js.map +1 -0
- package/dist/db/IdentName.d.ts +94 -0
- package/dist/db/IdentName.d.ts.map +1 -0
- package/dist/db/IdentName.js +34 -0
- package/dist/db/IdentName.js.map +1 -0
- package/dist/db/Operation.d.ts +441 -0
- package/dist/db/Operation.d.ts.map +1 -0
- package/dist/db/Operation.js +237 -0
- package/dist/db/Operation.js.map +1 -0
- package/dist/db/Projection.d.ts +97 -0
- package/dist/db/Projection.d.ts.map +1 -0
- package/dist/db/Projection.js +183 -0
- package/dist/db/Projection.js.map +1 -0
- package/dist/db/Pull.d.ts +361 -0
- package/dist/db/Pull.d.ts.map +1 -0
- package/dist/db/Pull.js +547 -0
- package/dist/db/Pull.js.map +1 -0
- package/dist/db/Schema.d.ts +37 -0
- package/dist/db/Schema.d.ts.map +1 -0
- package/dist/db/Schema.js +94 -0
- package/dist/db/Schema.js.map +1 -0
- package/dist/db/Trait.d.ts +129 -0
- package/dist/db/Trait.d.ts.map +1 -0
- package/dist/db/Trait.js +65 -0
- package/dist/db/Trait.js.map +1 -0
- package/dist/db/Tx.d.ts +128 -0
- package/dist/db/Tx.d.ts.map +1 -0
- package/dist/db/Tx.js +248 -0
- package/dist/db/Tx.js.map +1 -0
- package/dist/db/allocations.d.ts +44 -0
- package/dist/db/allocations.d.ts.map +1 -0
- package/dist/db/allocations.js +70 -0
- package/dist/db/allocations.js.map +1 -0
- package/dist/db/attrRef.d.ts +5 -0
- package/dist/db/attrRef.d.ts.map +1 -0
- package/dist/db/attrRef.js +6 -0
- package/dist/db/attrRef.js.map +1 -0
- package/dist/db/compose.d.ts +26 -0
- package/dist/db/compose.d.ts.map +1 -0
- package/dist/db/compose.js +105 -0
- package/dist/db/compose.js.map +1 -0
- package/dist/db/composition.d.ts +4 -0
- package/dist/db/composition.d.ts.map +1 -0
- package/dist/db/composition.js +24 -0
- package/dist/db/composition.js.map +1 -0
- package/dist/db/creation.d.ts +102 -0
- package/dist/db/creation.d.ts.map +1 -0
- package/dist/db/creation.js +448 -0
- package/dist/db/creation.js.map +1 -0
- package/dist/db/deployedSchema.d.ts +12 -0
- package/dist/db/deployedSchema.d.ts.map +1 -0
- package/dist/db/deployedSchema.js +80 -0
- package/dist/db/deployedSchema.js.map +1 -0
- package/dist/db/documentation.d.ts +4 -0
- package/dist/db/documentation.d.ts.map +1 -0
- package/dist/db/documentation.js +4 -0
- package/dist/db/documentation.js.map +1 -0
- package/dist/db/ensure.d.ts +16 -0
- package/dist/db/ensure.d.ts.map +1 -0
- package/dist/db/ensure.js +48 -0
- package/dist/db/ensure.js.map +1 -0
- package/dist/db/entityArg.d.ts +15 -0
- package/dist/db/entityArg.d.ts.map +1 -0
- package/dist/db/entityArg.js +71 -0
- package/dist/db/entityArg.js.map +1 -0
- package/dist/db/equal.d.ts +4 -0
- package/dist/db/equal.d.ts.map +1 -0
- package/dist/db/equal.js +2 -0
- package/dist/db/equal.js.map +1 -0
- package/dist/db/idents.d.ts +90 -0
- package/dist/db/idents.d.ts.map +1 -0
- package/dist/db/idents.js +2 -0
- package/dist/db/idents.js.map +1 -0
- package/dist/db/index.d.ts +27 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +20 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/internal.d.ts +27 -0
- package/dist/db/internal.d.ts.map +1 -0
- package/dist/db/internal.js +27 -0
- package/dist/db/internal.js.map +1 -0
- package/dist/db/query/cursor.d.ts +13 -0
- package/dist/db/query/cursor.d.ts.map +1 -0
- package/dist/db/query/cursor.js +150 -0
- package/dist/db/query/cursor.js.map +1 -0
- package/dist/db/query/elemFilter.d.ts +7 -0
- package/dist/db/query/elemFilter.d.ts.map +1 -0
- package/dist/db/query/elemFilter.js +280 -0
- package/dist/db/query/elemFilter.js.map +1 -0
- package/dist/db/query/fluent.d.ts +92 -0
- package/dist/db/query/fluent.d.ts.map +1 -0
- package/dist/db/query/fluent.js +125 -0
- package/dist/db/query/fluent.js.map +1 -0
- package/dist/db/query/focus.d.ts +42 -0
- package/dist/db/query/focus.d.ts.map +1 -0
- package/dist/db/query/focus.js +2 -0
- package/dist/db/query/focus.js.map +1 -0
- package/dist/db/query/index.d.ts +7 -0
- package/dist/db/query/index.d.ts.map +1 -0
- package/dist/db/query/index.js +6 -0
- package/dist/db/query/index.js.map +1 -0
- package/dist/db/query/kernel.d.ts +215 -0
- package/dist/db/query/kernel.d.ts.map +1 -0
- package/dist/db/query/kernel.js +284 -0
- package/dist/db/query/kernel.js.map +1 -0
- package/dist/db/query/lib.d.ts +168 -0
- package/dist/db/query/lib.d.ts.map +1 -0
- package/dist/db/query/lib.js +175 -0
- package/dist/db/query/lib.js.map +1 -0
- package/dist/db/query/query.d.ts +209 -0
- package/dist/db/query/query.d.ts.map +1 -0
- package/dist/db/query/query.js +1536 -0
- package/dist/db/query/query.js.map +1 -0
- package/dist/db/query/stdlib/failures.d.ts +91 -0
- package/dist/db/query/stdlib/failures.d.ts.map +1 -0
- package/dist/db/query/stdlib/failures.js +57 -0
- package/dist/db/query/stdlib/failures.js.map +1 -0
- package/dist/db/query/stdlib/implementations.d.ts +5 -0
- package/dist/db/query/stdlib/implementations.d.ts.map +1 -0
- package/dist/db/query/stdlib/implementations.js +208 -0
- package/dist/db/query/stdlib/implementations.js.map +1 -0
- package/dist/db/query/stdlib/index.d.ts +6 -0
- package/dist/db/query/stdlib/index.d.ts.map +1 -0
- package/dist/db/query/stdlib/index.js +6 -0
- package/dist/db/query/stdlib/index.js.map +1 -0
- package/dist/db/query/stdlib/manifest.d.ts +3 -0
- package/dist/db/query/stdlib/manifest.d.ts.map +1 -0
- package/dist/db/query/stdlib/manifest.js +1067 -0
- package/dist/db/query/stdlib/manifest.js.map +1 -0
- package/dist/db/query/stdlib/registry.d.ts +22 -0
- package/dist/db/query/stdlib/registry.d.ts.map +1 -0
- package/dist/db/query/stdlib/registry.js +144 -0
- package/dist/db/query/stdlib/registry.js.map +1 -0
- package/dist/db/query/stdlib/types.d.ts +50 -0
- package/dist/db/query/stdlib/types.d.ts.map +1 -0
- package/dist/db/query/stdlib/types.js +17 -0
- package/dist/db/query/stdlib/types.js.map +1 -0
- package/dist/db/query/stdlib/values.d.ts +17 -0
- package/dist/db/query/stdlib/values.d.ts.map +1 -0
- package/dist/db/query/stdlib/values.js +200 -0
- package/dist/db/query/stdlib/values.js.map +1 -0
- package/dist/db/query/surface.d.ts +15 -0
- package/dist/db/query/surface.d.ts.map +1 -0
- package/dist/db/query/surface.js +14 -0
- package/dist/db/query/surface.js.map +1 -0
- package/dist/db/reachability.d.ts +40 -0
- package/dist/db/reachability.d.ts.map +1 -0
- package/dist/db/reachability.js +118 -0
- package/dist/db/reachability.js.map +1 -0
- package/dist/db/refs.d.ts +46 -0
- package/dist/db/refs.d.ts.map +1 -0
- package/dist/db/refs.js +69 -0
- package/dist/db/refs.js.map +1 -0
- package/dist/db/shapes.d.ts +227 -0
- package/dist/db/shapes.d.ts.map +1 -0
- package/dist/db/shapes.js +246 -0
- package/dist/db/shapes.js.map +1 -0
- package/dist/db/valueTypes.d.ts +92 -0
- package/dist/db/valueTypes.d.ts.map +1 -0
- package/dist/db/valueTypes.js +105 -0
- package/dist/db/valueTypes.js.map +1 -0
- package/dist/errorHttp.d.ts +27 -0
- package/dist/errorHttp.d.ts.map +1 -0
- package/dist/errorHttp.js +95 -0
- package/dist/errorHttp.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/authorization/authoring/compile.d.ts +132 -0
- package/dist/internal/authorization/authoring/compile.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/compile.js +634 -0
- package/dist/internal/authorization/authoring/compile.js.map +1 -0
- package/dist/internal/authorization/authoring/expr.d.ts +25 -0
- package/dist/internal/authorization/authoring/expr.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/expr.js +56 -0
- package/dist/internal/authorization/authoring/expr.js.map +1 -0
- package/dist/internal/authorization/authoring/index.d.ts +10 -0
- package/dist/internal/authorization/authoring/index.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/index.js +8 -0
- package/dist/internal/authorization/authoring/index.js.map +1 -0
- package/dist/internal/authorization/authoring/invoke.d.ts +8 -0
- package/dist/internal/authorization/authoring/invoke.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/invoke.js +7 -0
- package/dist/internal/authorization/authoring/invoke.js.map +1 -0
- package/dist/internal/authorization/authoring/operations.d.ts +81 -0
- package/dist/internal/authorization/authoring/operations.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/operations.js +591 -0
- package/dist/internal/authorization/authoring/operations.js.map +1 -0
- package/dist/internal/authorization/authoring/path.d.ts +20 -0
- package/dist/internal/authorization/authoring/path.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/path.js +109 -0
- package/dist/internal/authorization/authoring/path.js.map +1 -0
- package/dist/internal/authorization/authoring/policy.d.ts +120 -0
- package/dist/internal/authorization/authoring/policy.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/policy.js +218 -0
- package/dist/internal/authorization/authoring/policy.js.map +1 -0
- package/dist/internal/authorization/authoring/read.d.ts +13 -0
- package/dist/internal/authorization/authoring/read.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/read.js +27 -0
- package/dist/internal/authorization/authoring/read.js.map +1 -0
- package/dist/internal/authorization/authoring/types.d.ts +127 -0
- package/dist/internal/authorization/authoring/types.d.ts.map +1 -0
- package/dist/internal/authorization/authoring/types.js +43 -0
- package/dist/internal/authorization/authoring/types.js.map +1 -0
- package/dist/internal/authorization/bind.d.ts +687 -0
- package/dist/internal/authorization/bind.d.ts.map +1 -0
- package/dist/internal/authorization/bind.js +485 -0
- package/dist/internal/authorization/bind.js.map +1 -0
- package/dist/internal/authorization/bounds.d.ts +13 -0
- package/dist/internal/authorization/bounds.d.ts.map +1 -0
- package/dist/internal/authorization/bounds.js +9 -0
- package/dist/internal/authorization/bounds.js.map +1 -0
- package/dist/internal/authorization/canonical-json.d.ts +6 -0
- package/dist/internal/authorization/canonical-json.d.ts.map +1 -0
- package/dist/internal/authorization/canonical-json.js +65 -0
- package/dist/internal/authorization/canonical-json.js.map +1 -0
- package/dist/internal/authorization/catalog-unit.d.ts +1033 -0
- package/dist/internal/authorization/catalog-unit.d.ts.map +1 -0
- package/dist/internal/authorization/catalog-unit.js +303 -0
- package/dist/internal/authorization/catalog-unit.js.map +1 -0
- package/dist/internal/authorization/catalog.d.ts +472 -0
- package/dist/internal/authorization/catalog.d.ts.map +1 -0
- package/dist/internal/authorization/catalog.js +134 -0
- package/dist/internal/authorization/catalog.js.map +1 -0
- package/dist/internal/authorization/changesets.d.ts +54 -0
- package/dist/internal/authorization/changesets.d.ts.map +1 -0
- package/dist/internal/authorization/changesets.js +156 -0
- package/dist/internal/authorization/changesets.js.map +1 -0
- package/dist/internal/authorization/composition.d.ts +10 -0
- package/dist/internal/authorization/composition.d.ts.map +1 -0
- package/dist/internal/authorization/composition.js +28 -0
- package/dist/internal/authorization/composition.js.map +1 -0
- package/dist/internal/authorization/database-bindings.d.ts +48 -0
- package/dist/internal/authorization/database-bindings.d.ts.map +1 -0
- package/dist/internal/authorization/database-bindings.js +101 -0
- package/dist/internal/authorization/database-bindings.js.map +1 -0
- package/dist/internal/authorization/database-target.d.ts +75 -0
- package/dist/internal/authorization/database-target.d.ts.map +1 -0
- package/dist/internal/authorization/database-target.js +65 -0
- package/dist/internal/authorization/database-target.js.map +1 -0
- package/dist/internal/authorization/decode.d.ts +1704 -0
- package/dist/internal/authorization/decode.d.ts.map +1 -0
- package/dist/internal/authorization/decode.js +294 -0
- package/dist/internal/authorization/decode.js.map +1 -0
- package/dist/internal/authorization/definitions.d.ts +66 -0
- package/dist/internal/authorization/definitions.d.ts.map +1 -0
- package/dist/internal/authorization/definitions.js +335 -0
- package/dist/internal/authorization/definitions.js.map +1 -0
- package/dist/internal/authorization/deployed.d.ts +43 -0
- package/dist/internal/authorization/deployed.d.ts.map +1 -0
- package/dist/internal/authorization/deployed.js +184 -0
- package/dist/internal/authorization/deployed.js.map +1 -0
- package/dist/internal/authorization/entity-targets.d.ts +68 -0
- package/dist/internal/authorization/entity-targets.d.ts.map +1 -0
- package/dist/internal/authorization/entity-targets.js +244 -0
- package/dist/internal/authorization/entity-targets.js.map +1 -0
- package/dist/internal/authorization/expr.d.ts +259 -0
- package/dist/internal/authorization/expr.d.ts.map +1 -0
- package/dist/internal/authorization/expr.js +55 -0
- package/dist/internal/authorization/expr.js.map +1 -0
- package/dist/internal/authorization/failures.d.ts +78 -0
- package/dist/internal/authorization/failures.d.ts.map +1 -0
- package/dist/internal/authorization/failures.js +22 -0
- package/dist/internal/authorization/failures.js.map +1 -0
- package/dist/internal/authorization/identities.d.ts +207 -0
- package/dist/internal/authorization/identities.d.ts.map +1 -0
- package/dist/internal/authorization/identities.js +71 -0
- package/dist/internal/authorization/identities.js.map +1 -0
- package/dist/internal/authorization/index.d.ts +33 -0
- package/dist/internal/authorization/index.d.ts.map +1 -0
- package/dist/internal/authorization/index.js +33 -0
- package/dist/internal/authorization/index.js.map +1 -0
- package/dist/internal/authorization/install/normalize.d.ts +196 -0
- package/dist/internal/authorization/install/normalize.d.ts.map +1 -0
- package/dist/internal/authorization/install/normalize.js +168 -0
- package/dist/internal/authorization/install/normalize.js.map +1 -0
- package/dist/internal/authorization/install/plan.d.ts +8 -0
- package/dist/internal/authorization/install/plan.d.ts.map +1 -0
- package/dist/internal/authorization/install/plan.js +177 -0
- package/dist/internal/authorization/install/plan.js.map +1 -0
- package/dist/internal/authorization/install.d.ts +404 -0
- package/dist/internal/authorization/install.d.ts.map +1 -0
- package/dist/internal/authorization/install.js +103 -0
- package/dist/internal/authorization/install.js.map +1 -0
- package/dist/internal/authorization/invocation-codec.d.ts +10 -0
- package/dist/internal/authorization/invocation-codec.d.ts.map +1 -0
- package/dist/internal/authorization/invocation-codec.js +36 -0
- package/dist/internal/authorization/invocation-codec.js.map +1 -0
- package/dist/internal/authorization/invocation-receipts.d.ts +192 -0
- package/dist/internal/authorization/invocation-receipts.d.ts.map +1 -0
- package/dist/internal/authorization/invocation-receipts.js +546 -0
- package/dist/internal/authorization/invocation-receipts.js.map +1 -0
- package/dist/internal/authorization/ir.d.ts +1465 -0
- package/dist/internal/authorization/ir.d.ts.map +1 -0
- package/dist/internal/authorization/ir.js +131 -0
- package/dist/internal/authorization/ir.js.map +1 -0
- package/dist/internal/authorization/json.d.ts +8 -0
- package/dist/internal/authorization/json.d.ts.map +1 -0
- package/dist/internal/authorization/json.js +13 -0
- package/dist/internal/authorization/json.js.map +1 -0
- package/dist/internal/authorization/live.d.ts +38 -0
- package/dist/internal/authorization/live.d.ts.map +1 -0
- package/dist/internal/authorization/live.js +227 -0
- package/dist/internal/authorization/live.js.map +1 -0
- package/dist/internal/authorization/operation-grant.d.ts +16 -0
- package/dist/internal/authorization/operation-grant.d.ts.map +1 -0
- package/dist/internal/authorization/operation-grant.js +79 -0
- package/dist/internal/authorization/operation-grant.js.map +1 -0
- package/dist/internal/authorization/operation-version.d.ts +28 -0
- package/dist/internal/authorization/operation-version.d.ts.map +1 -0
- package/dist/internal/authorization/operation-version.js +206 -0
- package/dist/internal/authorization/operation-version.js.map +1 -0
- package/dist/internal/authorization/operations-runtime.d.ts +78 -0
- package/dist/internal/authorization/operations-runtime.d.ts.map +1 -0
- package/dist/internal/authorization/operations-runtime.js +1130 -0
- package/dist/internal/authorization/operations-runtime.js.map +1 -0
- package/dist/internal/authorization/principal.d.ts +95 -0
- package/dist/internal/authorization/principal.d.ts.map +1 -0
- package/dist/internal/authorization/principal.js +53 -0
- package/dist/internal/authorization/principal.js.map +1 -0
- package/dist/internal/authorization/query-view.d.ts +7 -0
- package/dist/internal/authorization/query-view.d.ts.map +1 -0
- package/dist/internal/authorization/query-view.js +17 -0
- package/dist/internal/authorization/query-view.js.map +1 -0
- package/dist/internal/authorization/read-compatibility.d.ts +185 -0
- package/dist/internal/authorization/read-compatibility.d.ts.map +1 -0
- package/dist/internal/authorization/read-compatibility.js +176 -0
- package/dist/internal/authorization/read-compatibility.js.map +1 -0
- package/dist/internal/authorization/read-filter.d.ts +48 -0
- package/dist/internal/authorization/read-filter.d.ts.map +1 -0
- package/dist/internal/authorization/read-filter.js +496 -0
- package/dist/internal/authorization/read-filter.js.map +1 -0
- package/dist/internal/authorization/read-tables.d.ts +9 -0
- package/dist/internal/authorization/read-tables.d.ts.map +1 -0
- package/dist/internal/authorization/read-tables.js +120 -0
- package/dist/internal/authorization/read-tables.js.map +1 -0
- package/dist/internal/authorization/reads.d.ts +36 -0
- package/dist/internal/authorization/reads.d.ts.map +1 -0
- package/dist/internal/authorization/reads.js +35 -0
- package/dist/internal/authorization/reads.js.map +1 -0
- package/dist/internal/authorization/request.d.ts +64 -0
- package/dist/internal/authorization/request.d.ts.map +1 -0
- package/dist/internal/authorization/request.js +210 -0
- package/dist/internal/authorization/request.js.map +1 -0
- package/dist/internal/authorization/truth.d.ts +51 -0
- package/dist/internal/authorization/truth.d.ts.map +1 -0
- package/dist/internal/authorization/truth.js +23 -0
- package/dist/internal/authorization/truth.js.map +1 -0
- package/dist/internal/authorization/validate.d.ts +3 -0
- package/dist/internal/authorization/validate.d.ts.map +1 -0
- package/dist/internal/authorization/validate.js +3 -0
- package/dist/internal/authorization/validate.js.map +1 -0
- package/dist/internal/authorization/validation/catalog.d.ts +32 -0
- package/dist/internal/authorization/validation/catalog.d.ts.map +1 -0
- package/dist/internal/authorization/validation/catalog.js +417 -0
- package/dist/internal/authorization/validation/catalog.js.map +1 -0
- package/dist/internal/authorization/validation/common.d.ts +20 -0
- package/dist/internal/authorization/validation/common.d.ts.map +1 -0
- package/dist/internal/authorization/validation/common.js +36 -0
- package/dist/internal/authorization/validation/common.js.map +1 -0
- package/dist/internal/authorization/validation/decisions.d.ts +7 -0
- package/dist/internal/authorization/validation/decisions.d.ts.map +1 -0
- package/dist/internal/authorization/validation/decisions.js +107 -0
- package/dist/internal/authorization/validation/decisions.js.map +1 -0
- package/dist/internal/authorization/validation/descriptors.d.ts +8 -0
- package/dist/internal/authorization/validation/descriptors.d.ts.map +1 -0
- package/dist/internal/authorization/validation/descriptors.js +24 -0
- package/dist/internal/authorization/validation/descriptors.js.map +1 -0
- package/dist/internal/authorization/validation/expression.d.ts +11 -0
- package/dist/internal/authorization/validation/expression.d.ts.map +1 -0
- package/dist/internal/authorization/validation/expression.js +114 -0
- package/dist/internal/authorization/validation/expression.js.map +1 -0
- package/dist/internal/authorization/validation/traversal.d.ts +19 -0
- package/dist/internal/authorization/validation/traversal.d.ts.map +1 -0
- package/dist/internal/authorization/validation/traversal.js +141 -0
- package/dist/internal/authorization/validation/traversal.js.map +1 -0
- package/dist/internal/authorization/validation/types.d.ts +55 -0
- package/dist/internal/authorization/validation/types.d.ts.map +1 -0
- package/dist/internal/authorization/validation/types.js +184 -0
- package/dist/internal/authorization/validation/types.js.map +1 -0
- package/dist/internal/authorization/validation/validate.d.ts +421 -0
- package/dist/internal/authorization/validation/validate.d.ts.map +1 -0
- package/dist/internal/authorization/validation/validate.js +95 -0
- package/dist/internal/authorization/validation/validate.js.map +1 -0
- package/dist/internal/authorization/version.d.ts +11 -0
- package/dist/internal/authorization/version.d.ts.map +1 -0
- package/dist/internal/authorization/version.js +10 -0
- package/dist/internal/authorization/version.js.map +1 -0
- package/dist/internal/changesets/protocol.d.ts +185 -0
- package/dist/internal/changesets/protocol.d.ts.map +1 -0
- package/dist/internal/changesets/protocol.js +39 -0
- package/dist/internal/changesets/protocol.js.map +1 -0
- package/dist/internal/changesets/service.d.ts +69 -0
- package/dist/internal/changesets/service.d.ts.map +1 -0
- package/dist/internal/changesets/service.js +298 -0
- package/dist/internal/changesets/service.js.map +1 -0
- package/dist/internal/core/bytes.d.ts +41 -0
- package/dist/internal/core/bytes.d.ts.map +1 -0
- package/dist/internal/core/bytes.js +215 -0
- package/dist/internal/core/bytes.js.map +1 -0
- package/dist/internal/core/composition.d.ts +20 -0
- package/dist/internal/core/composition.d.ts.map +1 -0
- package/dist/internal/core/composition.js +52 -0
- package/dist/internal/core/composition.js.map +1 -0
- package/dist/internal/core/conn.d.ts +64 -0
- package/dist/internal/core/conn.d.ts.map +1 -0
- package/dist/internal/core/conn.js +240 -0
- package/dist/internal/core/conn.js.map +1 -0
- package/dist/internal/core/datom.d.ts +73 -0
- package/dist/internal/core/datom.d.ts.map +1 -0
- package/dist/internal/core/datom.js +477 -0
- package/dist/internal/core/datom.js.map +1 -0
- package/dist/internal/core/db.d.ts +65 -0
- package/dist/internal/core/db.d.ts.map +1 -0
- package/dist/internal/core/db.js +261 -0
- package/dist/internal/core/db.js.map +1 -0
- package/dist/internal/core/index.d.ts +21 -0
- package/dist/internal/core/index.d.ts.map +1 -0
- package/dist/internal/core/index.js +21 -0
- package/dist/internal/core/index.js.map +1 -0
- package/dist/internal/core/json.d.ts +5 -0
- package/dist/internal/core/json.d.ts.map +1 -0
- package/dist/internal/core/json.js +56 -0
- package/dist/internal/core/json.js.map +1 -0
- package/dist/internal/core/log.d.ts +68 -0
- package/dist/internal/core/log.d.ts.map +1 -0
- package/dist/internal/core/log.js +76 -0
- package/dist/internal/core/log.js.map +1 -0
- package/dist/internal/core/novelty.d.ts +38 -0
- package/dist/internal/core/novelty.d.ts.map +1 -0
- package/dist/internal/core/novelty.js +300 -0
- package/dist/internal/core/novelty.js.map +1 -0
- package/dist/internal/core/query/ast.d.ts +174 -0
- package/dist/internal/core/query/ast.d.ts.map +1 -0
- package/dist/internal/core/query/ast.js +37 -0
- package/dist/internal/core/query/ast.js.map +1 -0
- package/dist/internal/core/query/builtins.d.ts +19 -0
- package/dist/internal/core/query/builtins.d.ts.map +1 -0
- package/dist/internal/core/query/builtins.js +242 -0
- package/dist/internal/core/query/builtins.js.map +1 -0
- package/dist/internal/core/query/edn.d.ts +19 -0
- package/dist/internal/core/query/edn.d.ts.map +1 -0
- package/dist/internal/core/query/edn.js +248 -0
- package/dist/internal/core/query/edn.js.map +1 -0
- package/dist/internal/core/query/engine.d.ts +56 -0
- package/dist/internal/core/query/engine.d.ts.map +1 -0
- package/dist/internal/core/query/engine.js +0 -0
- package/dist/internal/core/query/engine.js.map +1 -0
- package/dist/internal/core/query/parse.d.ts +8 -0
- package/dist/internal/core/query/parse.d.ts.map +1 -0
- package/dist/internal/core/query/parse.js +606 -0
- package/dist/internal/core/query/parse.js.map +1 -0
- package/dist/internal/core/query/pull.d.ts +7 -0
- package/dist/internal/core/query/pull.d.ts.map +1 -0
- package/dist/internal/core/query/pull.js +304 -0
- package/dist/internal/core/query/pull.js.map +1 -0
- package/dist/internal/core/query/value.d.ts +10 -0
- package/dist/internal/core/query/value.d.ts.map +1 -0
- package/dist/internal/core/query/value.js +21 -0
- package/dist/internal/core/query/value.js.map +1 -0
- package/dist/internal/core/revision.d.ts +19 -0
- package/dist/internal/core/revision.d.ts.map +1 -0
- package/dist/internal/core/revision.js +13 -0
- package/dist/internal/core/revision.js.map +1 -0
- package/dist/internal/core/schema.d.ts +63 -0
- package/dist/internal/core/schema.d.ts.map +1 -0
- package/dist/internal/core/schema.js +228 -0
- package/dist/internal/core/schema.js.map +1 -0
- package/dist/internal/core/segment.d.ts +16 -0
- package/dist/internal/core/segment.d.ts.map +1 -0
- package/dist/internal/core/segment.js +149 -0
- package/dist/internal/core/segment.js.map +1 -0
- package/dist/internal/core/store.d.ts +35 -0
- package/dist/internal/core/store.d.ts.map +1 -0
- package/dist/internal/core/store.js +88 -0
- package/dist/internal/core/store.js.map +1 -0
- package/dist/internal/core/telemetry.d.ts +53 -0
- package/dist/internal/core/telemetry.d.ts.map +1 -0
- package/dist/internal/core/telemetry.js +103 -0
- package/dist/internal/core/telemetry.js.map +1 -0
- package/dist/internal/core/tree.d.ts +60 -0
- package/dist/internal/core/tree.d.ts.map +1 -0
- package/dist/internal/core/tree.js +625 -0
- package/dist/internal/core/tree.js.map +1 -0
- package/dist/internal/core/tx-provenance.d.ts +7 -0
- package/dist/internal/core/tx-provenance.d.ts.map +1 -0
- package/dist/internal/core/tx-provenance.js +16 -0
- package/dist/internal/core/tx-provenance.js.map +1 -0
- package/dist/internal/core/tx.d.ts +51 -0
- package/dist/internal/core/tx.d.ts.map +1 -0
- package/dist/internal/core/tx.js +1029 -0
- package/dist/internal/core/tx.js.map +1 -0
- package/dist/internal/replica/basis.d.ts +15 -0
- package/dist/internal/replica/basis.d.ts.map +1 -0
- package/dist/internal/replica/basis.js +32 -0
- package/dist/internal/replica/basis.js.map +1 -0
- package/dist/internal/replica/errors.d.ts +32 -0
- package/dist/internal/replica/errors.d.ts.map +1 -0
- package/dist/internal/replica/errors.js +30 -0
- package/dist/internal/replica/errors.js.map +1 -0
- package/dist/internal/replica/index.d.ts +4 -0
- package/dist/internal/replica/index.d.ts.map +1 -0
- package/dist/internal/replica/index.js +4 -0
- package/dist/internal/replica/index.js.map +1 -0
- package/dist/internal/replica/replica-do-testing.d.ts +11 -0
- package/dist/internal/replica/replica-do-testing.d.ts.map +1 -0
- package/dist/internal/replica/replica-do-testing.js +340 -0
- package/dist/internal/replica/replica-do-testing.js.map +1 -0
- package/dist/internal/replica/replica-do.d.ts +87 -0
- package/dist/internal/replica/replica-do.d.ts.map +1 -0
- package/dist/internal/replica/replica-do.js +735 -0
- package/dist/internal/replica/replica-do.js.map +1 -0
- package/dist/internal/replica/revision-retention.d.ts +29 -0
- package/dist/internal/replica/revision-retention.d.ts.map +1 -0
- package/dist/internal/replica/revision-retention.js +39 -0
- package/dist/internal/replica/revision-retention.js.map +1 -0
- package/dist/internal/replication/activation-fence.d.ts +40 -0
- package/dist/internal/replication/activation-fence.d.ts.map +1 -0
- package/dist/internal/replication/activation-fence.js +85 -0
- package/dist/internal/replication/activation-fence.js.map +1 -0
- package/dist/internal/replication/digest.d.ts +2 -0
- package/dist/internal/replication/digest.d.ts.map +1 -0
- package/dist/internal/replication/digest.js +12 -0
- package/dist/internal/replication/digest.js.map +1 -0
- package/dist/internal/replication/entity-id.d.ts +23 -0
- package/dist/internal/replication/entity-id.d.ts.map +1 -0
- package/dist/internal/replication/entity-id.js +161 -0
- package/dist/internal/replication/entity-id.js.map +1 -0
- package/dist/internal/replication/idb.d.ts +9 -0
- package/dist/internal/replication/idb.d.ts.map +1 -0
- package/dist/internal/replication/idb.js +46 -0
- package/dist/internal/replication/idb.js.map +1 -0
- package/dist/internal/replication/identity-root.d.ts +11 -0
- package/dist/internal/replication/identity-root.d.ts.map +1 -0
- package/dist/internal/replication/identity-root.js +48 -0
- package/dist/internal/replication/identity-root.js.map +1 -0
- package/dist/internal/replication/identity.d.ts +40 -0
- package/dist/internal/replication/identity.d.ts.map +1 -0
- package/dist/internal/replication/identity.js +95 -0
- package/dist/internal/replication/identity.js.map +1 -0
- package/dist/internal/replication/index.d.ts +13 -0
- package/dist/internal/replication/index.d.ts.map +1 -0
- package/dist/internal/replication/index.js +13 -0
- package/dist/internal/replication/index.js.map +1 -0
- package/dist/internal/replication/indexeddb.d.ts +171 -0
- package/dist/internal/replication/indexeddb.d.ts.map +1 -0
- package/dist/internal/replication/indexeddb.js +1809 -0
- package/dist/internal/replication/indexeddb.js.map +1 -0
- package/dist/internal/replication/leadership.d.ts +36 -0
- package/dist/internal/replication/leadership.d.ts.map +1 -0
- package/dist/internal/replication/leadership.js +108 -0
- package/dist/internal/replication/leadership.js.map +1 -0
- package/dist/internal/replication/logical.d.ts +40 -0
- package/dist/internal/replication/logical.d.ts.map +1 -0
- package/dist/internal/replication/logical.js +375 -0
- package/dist/internal/replication/logical.js.map +1 -0
- package/dist/internal/replication/notices.d.ts +32 -0
- package/dist/internal/replication/notices.d.ts.map +1 -0
- package/dist/internal/replication/notices.js +92 -0
- package/dist/internal/replication/notices.js.map +1 -0
- package/dist/internal/replication/outbox-storage.d.ts +98 -0
- package/dist/internal/replication/outbox-storage.d.ts.map +1 -0
- package/dist/internal/replication/outbox-storage.js +826 -0
- package/dist/internal/replication/outbox-storage.js.map +1 -0
- package/dist/internal/replication/outbox.d.ts +200 -0
- package/dist/internal/replication/outbox.d.ts.map +1 -0
- package/dist/internal/replication/outbox.js +744 -0
- package/dist/internal/replication/outbox.js.map +1 -0
- package/dist/internal/replication/overlay-layers.d.ts +14 -0
- package/dist/internal/replication/overlay-layers.d.ts.map +1 -0
- package/dist/internal/replication/overlay-layers.js +2 -0
- package/dist/internal/replication/overlay-layers.js.map +1 -0
- package/dist/internal/replication/overlay-records.d.ts +61 -0
- package/dist/internal/replication/overlay-records.d.ts.map +1 -0
- package/dist/internal/replication/overlay-records.js +328 -0
- package/dist/internal/replication/overlay-records.js.map +1 -0
- package/dist/internal/replication/overlay.d.ts +20 -0
- package/dist/internal/replication/overlay.d.ts.map +1 -0
- package/dist/internal/replication/overlay.js +159 -0
- package/dist/internal/replication/overlay.js.map +1 -0
- package/dist/internal/replication/projection-binding.d.ts +39 -0
- package/dist/internal/replication/projection-binding.d.ts.map +1 -0
- package/dist/internal/replication/projection-binding.js +76 -0
- package/dist/internal/replication/projection-binding.js.map +1 -0
- package/dist/internal/replication/protocol.d.ts +633 -0
- package/dist/internal/replication/protocol.d.ts.map +1 -0
- package/dist/internal/replication/protocol.js +263 -0
- package/dist/internal/replication/protocol.js.map +1 -0
- package/dist/internal/replication/reconciliation.d.ts +64 -0
- package/dist/internal/replication/reconciliation.d.ts.map +1 -0
- package/dist/internal/replication/reconciliation.js +184 -0
- package/dist/internal/replication/reconciliation.js.map +1 -0
- package/dist/internal/replication/replica-gc.d.ts +42 -0
- package/dist/internal/replication/replica-gc.d.ts.map +1 -0
- package/dist/internal/replication/replica-gc.js +91 -0
- package/dist/internal/replication/replica-gc.js.map +1 -0
- package/dist/internal/replication/replica-integrity.d.ts +107 -0
- package/dist/internal/replication/replica-integrity.d.ts.map +1 -0
- package/dist/internal/replication/replica-integrity.js +418 -0
- package/dist/internal/replication/replica-integrity.js.map +1 -0
- package/dist/internal/replication/replica-lifecycle.d.ts +72 -0
- package/dist/internal/replication/replica-lifecycle.d.ts.map +1 -0
- package/dist/internal/replication/replica-lifecycle.js +126 -0
- package/dist/internal/replication/replica-lifecycle.js.map +1 -0
- package/dist/internal/replication/replica-schema.d.ts +27 -0
- package/dist/internal/replication/replica-schema.d.ts.map +1 -0
- package/dist/internal/replication/replica-schema.js +130 -0
- package/dist/internal/replication/replica-schema.js.map +1 -0
- package/dist/internal/replication/route-slot.d.ts +9 -0
- package/dist/internal/replication/route-slot.d.ts.map +1 -0
- package/dist/internal/replication/route-slot.js +8 -0
- package/dist/internal/replication/route-slot.js.map +1 -0
- package/dist/internal/replication/server-identity.d.ts +54 -0
- package/dist/internal/replication/server-identity.d.ts.map +1 -0
- package/dist/internal/replication/server-identity.js +68 -0
- package/dist/internal/replication/server-identity.js.map +1 -0
- package/dist/internal/replication/session.d.ts +91 -0
- package/dist/internal/replication/session.d.ts.map +1 -0
- package/dist/internal/replication/session.js +673 -0
- package/dist/internal/replication/session.js.map +1 -0
- package/dist/internal/replication/state.d.ts +34 -0
- package/dist/internal/replication/state.d.ts.map +1 -0
- package/dist/internal/replication/state.js +344 -0
- package/dist/internal/replication/state.js.map +1 -0
- package/dist/internal/replication/submission.d.ts +115 -0
- package/dist/internal/replication/submission.d.ts.map +1 -0
- package/dist/internal/replication/submission.js +266 -0
- package/dist/internal/replication/submission.js.map +1 -0
- package/dist/internal/replication/transport.d.ts +34 -0
- package/dist/internal/replication/transport.d.ts.map +1 -0
- package/dist/internal/replication/transport.js +215 -0
- package/dist/internal/replication/transport.js.map +1 -0
- package/dist/internal/runtime-boundaries.d.ts +8 -0
- package/dist/internal/runtime-boundaries.d.ts.map +1 -0
- package/dist/internal/runtime-boundaries.js +7 -0
- package/dist/internal/runtime-boundaries.js.map +1 -0
- package/dist/internal/storage/index.d.ts +111 -0
- package/dist/internal/storage/index.d.ts.map +1 -0
- package/dist/internal/storage/index.js +288 -0
- package/dist/internal/storage/index.js.map +1 -0
- package/dist/internal/storage/memory.d.ts +31 -0
- package/dist/internal/storage/memory.d.ts.map +1 -0
- package/dist/internal/storage/memory.js +46 -0
- package/dist/internal/storage/memory.js.map +1 -0
- package/dist/internal/storage/revisions.d.ts +24 -0
- package/dist/internal/storage/revisions.d.ts.map +1 -0
- package/dist/internal/storage/revisions.js +74 -0
- package/dist/internal/storage/revisions.js.map +1 -0
- package/dist/internal/test-hooks.d.ts +47 -0
- package/dist/internal/test-hooks.d.ts.map +1 -0
- package/dist/internal/test-hooks.js +256 -0
- package/dist/internal/test-hooks.js.map +1 -0
- package/dist/internal/transactor/env.d.ts +3 -0
- package/dist/internal/transactor/env.d.ts.map +1 -0
- package/dist/internal/transactor/env.js +5 -0
- package/dist/internal/transactor/env.js.map +1 -0
- package/dist/internal/transactor/errors.d.ts +47 -0
- package/dist/internal/transactor/errors.d.ts.map +1 -0
- package/dist/internal/transactor/errors.js +66 -0
- package/dist/internal/transactor/errors.js.map +1 -0
- package/dist/internal/transactor/host.d.ts +37 -0
- package/dist/internal/transactor/host.d.ts.map +1 -0
- package/dist/internal/transactor/host.js +11 -0
- package/dist/internal/transactor/host.js.map +1 -0
- package/dist/internal/transactor/index.d.ts +8 -0
- package/dist/internal/transactor/index.d.ts.map +1 -0
- package/dist/internal/transactor/index.js +8 -0
- package/dist/internal/transactor/index.js.map +1 -0
- package/dist/internal/transactor/indexer.d.ts +53 -0
- package/dist/internal/transactor/indexer.d.ts.map +1 -0
- package/dist/internal/transactor/indexer.js +125 -0
- package/dist/internal/transactor/indexer.js.map +1 -0
- package/dist/internal/transactor/internal.d.ts +8 -0
- package/dist/internal/transactor/internal.d.ts.map +1 -0
- package/dist/internal/transactor/internal.js +28 -0
- package/dist/internal/transactor/internal.js.map +1 -0
- package/dist/internal/transactor/observability.d.ts +44 -0
- package/dist/internal/transactor/observability.d.ts.map +1 -0
- package/dist/internal/transactor/observability.js +39 -0
- package/dist/internal/transactor/observability.js.map +1 -0
- package/dist/internal/transactor/transactor-do.d.ts +35 -0
- package/dist/internal/transactor/transactor-do.d.ts.map +1 -0
- package/dist/internal/transactor/transactor-do.js +198 -0
- package/dist/internal/transactor/transactor-do.js.map +1 -0
- package/dist/internal/transactor/transactor.d.ts +209 -0
- package/dist/internal/transactor/transactor.d.ts.map +1 -0
- package/dist/internal/transactor/transactor.js +1166 -0
- package/dist/internal/transactor/transactor.js.map +1 -0
- package/dist/mcp/contract.d.ts +49 -0
- package/dist/mcp/contract.d.ts.map +1 -0
- package/dist/mcp/contract.js +199 -0
- package/dist/mcp/contract.js.map +1 -0
- package/dist/mcp/kernel.d.ts +56 -0
- package/dist/mcp/kernel.d.ts.map +1 -0
- package/dist/mcp/kernel.js +344 -0
- package/dist/mcp/kernel.js.map +1 -0
- package/dist/mcp/server.d.ts +8 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +182 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/peer.d.ts +175 -0
- package/dist/peer.d.ts.map +1 -0
- package/dist/peer.js +200 -0
- package/dist/peer.js.map +1 -0
- package/dist/react/hooks.d.ts +157 -0
- package/dist/react/hooks.d.ts.map +1 -0
- package/dist/react/hooks.js +130 -0
- package/dist/react/hooks.js.map +1 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/query-state.d.ts +60 -0
- package/dist/react/query-state.d.ts.map +1 -0
- package/dist/react/query-state.js +48 -0
- package/dist/react/query-state.js.map +1 -0
- package/dist/react/receipt-state.d.ts +27 -0
- package/dist/react/receipt-state.d.ts.map +1 -0
- package/dist/react/receipt-state.js +2 -0
- package/dist/react/receipt-state.js.map +1 -0
- package/dist/react/store.d.ts +30 -0
- package/dist/react/store.d.ts.map +1 -0
- package/dist/react/store.js +118 -0
- package/dist/react/store.js.map +1 -0
- package/dist/react/suspense.d.ts +6 -0
- package/dist/react/suspense.d.ts.map +1 -0
- package/dist/react/suspense.js +111 -0
- package/dist/react/suspense.js.map +1 -0
- package/dist/worker/admit.d.ts +9 -0
- package/dist/worker/admit.d.ts.map +1 -0
- package/dist/worker/admit.js +43 -0
- package/dist/worker/admit.js.map +1 -0
- package/dist/worker/analytics.d.ts +39 -0
- package/dist/worker/analytics.d.ts.map +1 -0
- package/dist/worker/analytics.js +54 -0
- package/dist/worker/analytics.js.map +1 -0
- package/dist/worker/auth.d.ts +26 -0
- package/dist/worker/auth.d.ts.map +1 -0
- package/dist/worker/auth.js +2 -0
- package/dist/worker/auth.js.map +1 -0
- package/dist/worker/authorized-live.d.ts +15 -0
- package/dist/worker/authorized-live.d.ts.map +1 -0
- package/dist/worker/authorized-live.js +30 -0
- package/dist/worker/authorized-live.js.map +1 -0
- package/dist/worker/authorized-operation.d.ts +30 -0
- package/dist/worker/authorized-operation.d.ts.map +1 -0
- package/dist/worker/authorized-operation.js +304 -0
- package/dist/worker/authorized-operation.js.map +1 -0
- package/dist/worker/authorized-read.d.ts +32 -0
- package/dist/worker/authorized-read.d.ts.map +1 -0
- package/dist/worker/authorized-read.js +194 -0
- package/dist/worker/authorized-read.js.map +1 -0
- package/dist/worker/authorized-replication.d.ts +21 -0
- package/dist/worker/authorized-replication.d.ts.map +1 -0
- package/dist/worker/authorized-replication.js +593 -0
- package/dist/worker/authorized-replication.js.map +1 -0
- package/dist/worker/changesets.d.ts +9 -0
- package/dist/worker/changesets.d.ts.map +1 -0
- package/dist/worker/changesets.js +105 -0
- package/dist/worker/changesets.js.map +1 -0
- package/dist/worker/demo.d.ts +2 -0
- package/dist/worker/demo.d.ts.map +1 -0
- package/dist/worker/demo.js +85 -0
- package/dist/worker/demo.js.map +1 -0
- package/dist/worker/errors.d.ts +53 -0
- package/dist/worker/errors.d.ts.map +1 -0
- package/dist/worker/errors.js +107 -0
- package/dist/worker/errors.js.map +1 -0
- package/dist/worker/handle.d.ts +21 -0
- package/dist/worker/handle.d.ts.map +1 -0
- package/dist/worker/handle.js +386 -0
- package/dist/worker/handle.js.map +1 -0
- package/dist/worker/index.d.ts +27 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +24 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/jwt.d.ts +23 -0
- package/dist/worker/jwt.d.ts.map +1 -0
- package/dist/worker/jwt.js +288 -0
- package/dist/worker/jwt.js.map +1 -0
- package/dist/worker/mcp.d.ts +17 -0
- package/dist/worker/mcp.d.ts.map +1 -0
- package/dist/worker/mcp.js +151 -0
- package/dist/worker/mcp.js.map +1 -0
- package/dist/worker/operation-catalogs.d.ts +38 -0
- package/dist/worker/operation-catalogs.d.ts.map +1 -0
- package/dist/worker/operation-catalogs.js +114 -0
- package/dist/worker/operation-catalogs.js.map +1 -0
- package/dist/worker/peer.d.ts +70 -0
- package/dist/worker/peer.d.ts.map +1 -0
- package/dist/worker/peer.js +330 -0
- package/dist/worker/peer.js.map +1 -0
- package/dist/worker/public-observation.d.ts +15 -0
- package/dist/worker/public-observation.d.ts.map +1 -0
- package/dist/worker/public-observation.js +111 -0
- package/dist/worker/public-observation.js.map +1 -0
- package/dist/worker/server-identity.d.ts +2 -0
- package/dist/worker/server-identity.d.ts.map +1 -0
- package/dist/worker/server-identity.js +2 -0
- package/dist/worker/server-identity.js.map +1 -0
- package/dist/worker/session-sync.d.ts +27 -0
- package/dist/worker/session-sync.d.ts.map +1 -0
- package/dist/worker/session-sync.js +4 -0
- package/dist/worker/session-sync.js.map +1 -0
- package/dist/worker/session.d.ts +144 -0
- package/dist/worker/session.d.ts.map +1 -0
- package/dist/worker/session.js +408 -0
- package/dist/worker/session.js.map +1 -0
- package/dist/worker/storage-test-admin.d.ts +3 -0
- package/dist/worker/storage-test-admin.d.ts.map +1 -0
- package/dist/worker/storage-test-admin.js +277 -0
- package/dist/worker/storage-test-admin.js.map +1 -0
- package/dist/worker/test-admin.d.ts +11 -0
- package/dist/worker/test-admin.d.ts.map +1 -0
- package/dist/worker/test-admin.js +432 -0
- package/dist/worker/test-admin.js.map +1 -0
- package/dist/worker/testing.d.ts +14 -0
- package/dist/worker/testing.d.ts.map +1 -0
- package/dist/worker/testing.js +71 -0
- package/dist/worker/testing.js.map +1 -0
- package/dist/workerEntry.d.ts +2 -0
- package/dist/workerEntry.d.ts.map +1 -0
- package/dist/workerEntry.js +10 -0
- package/dist/workerEntry.js.map +1 -0
- package/dist/writes.d.ts +8 -0
- package/dist/writes.d.ts.map +1 -0
- package/dist/writes.js +11 -0
- package/dist/writes.js.map +1 -0
- package/package.json +104 -4
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import * as S from "effect/Schema";
|
|
2
|
+
export declare const ChangesetRequest: S.Union<readonly [S.Struct<{
|
|
3
|
+
readonly action: S.Literal<"list">;
|
|
4
|
+
readonly after: S.optionalKey<S.String>;
|
|
5
|
+
readonly limit: S.optionalKey<S.Int>;
|
|
6
|
+
}>, S.Struct<{
|
|
7
|
+
readonly action: S.Literal<"watch">;
|
|
8
|
+
readonly version: S.optionalKey<S.String>;
|
|
9
|
+
readonly id: S.optionalKey<S.String>;
|
|
10
|
+
readonly after: S.optionalKey<S.String>;
|
|
11
|
+
readonly limit: S.optionalKey<S.Int>;
|
|
12
|
+
}>, S.Struct<{
|
|
13
|
+
readonly action: S.Literal<"prepare">;
|
|
14
|
+
readonly id: S.String;
|
|
15
|
+
readonly revision: S.optionalKey<S.String>;
|
|
16
|
+
readonly title: S.String;
|
|
17
|
+
readonly reviewers: S.optionalKey<S.$Array<S.String>>;
|
|
18
|
+
readonly operations: S.$Array<S.$Record<S.String, S.Unknown>>;
|
|
19
|
+
}>, S.Struct<{
|
|
20
|
+
readonly action: S.Literal<"append">;
|
|
21
|
+
readonly id: S.String;
|
|
22
|
+
readonly revision: S.String;
|
|
23
|
+
readonly operations: S.$Array<S.$Record<S.String, S.Unknown>>;
|
|
24
|
+
}>, S.Struct<{
|
|
25
|
+
readonly action: S.Literal<"inspect">;
|
|
26
|
+
readonly id: S.String;
|
|
27
|
+
}>, S.Struct<{
|
|
28
|
+
readonly action: S.Literal<"commit">;
|
|
29
|
+
readonly id: S.String;
|
|
30
|
+
readonly revision: S.String;
|
|
31
|
+
}>, S.Struct<{
|
|
32
|
+
readonly action: S.Literal<"discard">;
|
|
33
|
+
readonly id: S.String;
|
|
34
|
+
readonly revision: S.String;
|
|
35
|
+
}>, S.Struct<{
|
|
36
|
+
readonly action: S.Literal<"query">;
|
|
37
|
+
readonly id: S.optionalKey<S.String>;
|
|
38
|
+
readonly revision: S.optionalKey<S.String>;
|
|
39
|
+
readonly query: S.Unknown;
|
|
40
|
+
}>, S.Struct<{
|
|
41
|
+
readonly action: S.Literal<"read">;
|
|
42
|
+
readonly id: S.String;
|
|
43
|
+
readonly revision: S.String;
|
|
44
|
+
readonly query: S.$Record<S.String, S.Unknown>;
|
|
45
|
+
}>]>;
|
|
46
|
+
export type ChangesetRequest = typeof ChangesetRequest.Type;
|
|
47
|
+
export declare const decodeChangesetRequest: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
|
|
48
|
+
readonly action: "list";
|
|
49
|
+
readonly after?: string | undefined;
|
|
50
|
+
readonly limit?: number | undefined;
|
|
51
|
+
} | {
|
|
52
|
+
readonly action: "watch";
|
|
53
|
+
readonly version?: string | undefined;
|
|
54
|
+
readonly id?: string | undefined;
|
|
55
|
+
readonly after?: string | undefined;
|
|
56
|
+
readonly limit?: number | undefined;
|
|
57
|
+
} | {
|
|
58
|
+
readonly action: "prepare";
|
|
59
|
+
readonly id: string;
|
|
60
|
+
readonly revision?: string | undefined;
|
|
61
|
+
readonly title: string;
|
|
62
|
+
readonly reviewers?: readonly string[] | undefined;
|
|
63
|
+
readonly operations: readonly {
|
|
64
|
+
readonly [x: string]: unknown;
|
|
65
|
+
}[];
|
|
66
|
+
} | {
|
|
67
|
+
readonly action: "append";
|
|
68
|
+
readonly id: string;
|
|
69
|
+
readonly revision: string;
|
|
70
|
+
readonly operations: readonly {
|
|
71
|
+
readonly [x: string]: unknown;
|
|
72
|
+
}[];
|
|
73
|
+
} | {
|
|
74
|
+
readonly action: "inspect";
|
|
75
|
+
readonly id: string;
|
|
76
|
+
} | {
|
|
77
|
+
readonly action: "commit";
|
|
78
|
+
readonly id: string;
|
|
79
|
+
readonly revision: string;
|
|
80
|
+
} | {
|
|
81
|
+
readonly action: "discard";
|
|
82
|
+
readonly id: string;
|
|
83
|
+
readonly revision: string;
|
|
84
|
+
} | {
|
|
85
|
+
readonly action: "query";
|
|
86
|
+
readonly id?: string | undefined;
|
|
87
|
+
readonly revision?: string | undefined;
|
|
88
|
+
readonly query: unknown;
|
|
89
|
+
} | {
|
|
90
|
+
readonly action: "read";
|
|
91
|
+
readonly id: string;
|
|
92
|
+
readonly revision: string;
|
|
93
|
+
readonly query: {
|
|
94
|
+
readonly [x: string]: unknown;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
export declare const ChangesetFact: S.Struct<{
|
|
98
|
+
readonly entity: S.String;
|
|
99
|
+
readonly field: S.String;
|
|
100
|
+
readonly value: S.Unknown;
|
|
101
|
+
readonly added: S.Boolean;
|
|
102
|
+
}>;
|
|
103
|
+
export declare const ChangesetResponse: S.Struct<{
|
|
104
|
+
readonly id: S.String;
|
|
105
|
+
readonly revision: S.String;
|
|
106
|
+
readonly title: S.String;
|
|
107
|
+
readonly status: S.Literals<readonly ["draft", "committed", "discarded", "expired"]>;
|
|
108
|
+
readonly basis: S.Int;
|
|
109
|
+
readonly stale: S.Boolean;
|
|
110
|
+
readonly expiresAt: S.Finite;
|
|
111
|
+
readonly operations: S.Int;
|
|
112
|
+
readonly changes: S.optionalKey<S.$Array<S.Struct<{
|
|
113
|
+
readonly entity: S.String;
|
|
114
|
+
readonly field: S.String;
|
|
115
|
+
readonly value: S.Unknown;
|
|
116
|
+
readonly added: S.Boolean;
|
|
117
|
+
}>>>;
|
|
118
|
+
}>;
|
|
119
|
+
export type ChangesetResponse = typeof ChangesetResponse.Type;
|
|
120
|
+
export declare const decodeChangesetResponse: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
|
|
121
|
+
readonly id: string;
|
|
122
|
+
readonly revision: string;
|
|
123
|
+
readonly title: string;
|
|
124
|
+
readonly status: "committed" | "discarded" | "draft" | "expired";
|
|
125
|
+
readonly basis: number;
|
|
126
|
+
readonly stale: boolean;
|
|
127
|
+
readonly expiresAt: number;
|
|
128
|
+
readonly operations: number;
|
|
129
|
+
readonly changes?: readonly {
|
|
130
|
+
readonly entity: string;
|
|
131
|
+
readonly field: string;
|
|
132
|
+
readonly value: unknown;
|
|
133
|
+
readonly added: boolean;
|
|
134
|
+
}[] | undefined;
|
|
135
|
+
};
|
|
136
|
+
export declare const decodeQueryResponse: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
|
|
137
|
+
readonly rows: readonly {
|
|
138
|
+
readonly entity: string;
|
|
139
|
+
readonly data: {
|
|
140
|
+
readonly [x: string]: unknown;
|
|
141
|
+
};
|
|
142
|
+
}[];
|
|
143
|
+
readonly truncated: boolean;
|
|
144
|
+
};
|
|
145
|
+
export declare const decodeReadResponse: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
|
|
146
|
+
readonly result: unknown;
|
|
147
|
+
readonly entities: readonly string[];
|
|
148
|
+
readonly basis: number;
|
|
149
|
+
readonly revision: string;
|
|
150
|
+
};
|
|
151
|
+
export declare const decodeCommandEnvelope: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
|
|
152
|
+
readonly catalogKey: string & import("effect/Brand").Brand<"CatalogId">;
|
|
153
|
+
readonly unitHash: string & import("effect/Brand").Brand<"CatalogUnitHash">;
|
|
154
|
+
readonly database: string & import("effect/Brand").Brand<"DatabaseId">;
|
|
155
|
+
readonly caller: {
|
|
156
|
+
readonly claims: {
|
|
157
|
+
readonly [x: string]: import("../authorization/json.ts").JsonValue;
|
|
158
|
+
};
|
|
159
|
+
readonly classes: readonly string[];
|
|
160
|
+
readonly exp: number;
|
|
161
|
+
};
|
|
162
|
+
readonly maxCells?: number | undefined;
|
|
163
|
+
readonly approval?: boolean | undefined;
|
|
164
|
+
};
|
|
165
|
+
export declare const decodeChangesetList: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
|
|
166
|
+
readonly items: readonly {
|
|
167
|
+
readonly id: string;
|
|
168
|
+
readonly revision: string;
|
|
169
|
+
readonly title: string;
|
|
170
|
+
readonly status: "committed" | "discarded" | "draft" | "expired";
|
|
171
|
+
readonly basis: number;
|
|
172
|
+
readonly stale: boolean;
|
|
173
|
+
readonly expiresAt: number;
|
|
174
|
+
readonly operations: number;
|
|
175
|
+
readonly changes?: readonly {
|
|
176
|
+
readonly entity: string;
|
|
177
|
+
readonly field: string;
|
|
178
|
+
readonly value: unknown;
|
|
179
|
+
readonly added: boolean;
|
|
180
|
+
}[] | undefined;
|
|
181
|
+
}[];
|
|
182
|
+
readonly nextCursor: string | null;
|
|
183
|
+
readonly version: string;
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/internal/changesets/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAOnC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC5D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AAE5E,eAAO,MAAM,aAAa;;;;;EAAsF,CAAC;AACjH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC9D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;CAAyC,CAAC;AAC9E,eAAO,MAAM,mBAAmB;;;;;;;;CAE7B,CAAC;AACJ,eAAO,MAAM,kBAAkB;;;;;CAE5B,CAAC;AAEJ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAI/B,CAAC;AAEJ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;CAAoH,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CatalogId, CatalogUnitHash, DatabaseId } from "../authorization/identities.js";
|
|
2
|
+
import { AuthenticatedCallerSchema } from "../authorization/invocation-codec.js";
|
|
3
|
+
import * as S from "effect/Schema";
|
|
4
|
+
const Id = S.String.pipe(S.check(S.isPattern(/^[a-zA-Z0-9_-]{1,128}$/)));
|
|
5
|
+
const Revision = S.String.pipe(S.check(S.isMinLength(1)));
|
|
6
|
+
const operations = S.Array(S.Record(S.String, S.Unknown)).pipe(S.check(S.isMinLength(1), S.isMaxLength(100)));
|
|
7
|
+
const title = S.String.pipe(S.check(S.isMaxLength(200)));
|
|
8
|
+
export const ChangesetRequest = S.Union([
|
|
9
|
+
S.Struct({ action: S.Literal("list"), after: S.optionalKey(Id), limit: S.optionalKey(S.Int.pipe(S.check(S.isBetween({ minimum: 1, maximum: 100 })))) }),
|
|
10
|
+
S.Struct({ action: S.Literal("watch"), version: S.optionalKey(S.String), id: S.optionalKey(Id), after: S.optionalKey(Id), limit: S.optionalKey(S.Int.pipe(S.check(S.isBetween({ minimum: 1, maximum: 100 })))) }),
|
|
11
|
+
S.Struct({ action: S.Literal("prepare"), id: Id, revision: S.optionalKey(Revision), title, reviewers: S.optionalKey(S.Array(S.String).pipe(S.check(S.isMaxLength(32)))), operations }),
|
|
12
|
+
S.Struct({ action: S.Literal("append"), id: Id, revision: Revision, operations }),
|
|
13
|
+
S.Struct({ action: S.Literal("inspect"), id: Id }),
|
|
14
|
+
S.Struct({ action: S.Literal("commit"), id: Id, revision: Revision }),
|
|
15
|
+
S.Struct({ action: S.Literal("discard"), id: Id, revision: Revision }),
|
|
16
|
+
S.Struct({ action: S.Literal("query"), id: S.optionalKey(Id), revision: S.optionalKey(Revision), query: S.Unknown }),
|
|
17
|
+
S.Struct({ action: S.Literal("read"), id: Id, revision: Revision, query: S.Record(S.String, S.Unknown) }),
|
|
18
|
+
]);
|
|
19
|
+
export const decodeChangesetRequest = S.decodeUnknownSync(ChangesetRequest);
|
|
20
|
+
export const ChangesetFact = S.Struct({ entity: S.String, field: S.String, value: S.Unknown, added: S.Boolean });
|
|
21
|
+
export const ChangesetResponse = S.Struct({
|
|
22
|
+
id: Id, revision: Revision, title, status: S.Literals(["draft", "committed", "discarded", "expired"]),
|
|
23
|
+
basis: S.Int, stale: S.Boolean, expiresAt: S.Finite, operations: S.Int,
|
|
24
|
+
changes: S.optionalKey(S.Array(ChangesetFact)),
|
|
25
|
+
});
|
|
26
|
+
export const decodeChangesetResponse = S.decodeUnknownSync(ChangesetResponse);
|
|
27
|
+
export const decodeQueryResponse = S.decodeUnknownSync(S.Struct({
|
|
28
|
+
rows: S.Array(S.Struct({ entity: S.String, data: S.Record(S.String, S.Unknown) })), truncated: S.Boolean,
|
|
29
|
+
}));
|
|
30
|
+
export const decodeReadResponse = S.decodeUnknownSync(S.Struct({
|
|
31
|
+
result: S.Unknown, entities: S.Array(S.String), basis: S.Int, revision: Revision,
|
|
32
|
+
}));
|
|
33
|
+
export const decodeCommandEnvelope = S.decodeUnknownSync(S.Struct({
|
|
34
|
+
catalogKey: CatalogId, unitHash: CatalogUnitHash, database: DatabaseId,
|
|
35
|
+
caller: AuthenticatedCallerSchema, maxCells: S.optionalKey(S.Int.pipe(S.check(S.isGreaterThan(0)))),
|
|
36
|
+
approval: S.optionalKey(S.Boolean),
|
|
37
|
+
}));
|
|
38
|
+
export const decodeChangesetList = S.decodeUnknownSync(S.Struct({ items: S.Array(ChangesetResponse), nextCursor: S.NullOr(Id), version: S.String }));
|
|
39
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/internal/changesets/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { RevisionStore } from "../storage/revisions.ts";
|
|
2
|
+
import { type AuthenticatedCaller } from "../authorization/request.ts";
|
|
3
|
+
import type { AuthoritativeOperationInvocation, OperationRuntime } from "../authorization/index.ts";
|
|
4
|
+
import { type StoredChangeset as ChangesetData } from "../authorization/changesets.ts";
|
|
5
|
+
import type { CatalogId, CatalogUnitHash } from "../authorization/identities.ts";
|
|
6
|
+
import { Connection } from "../core/conn.ts";
|
|
7
|
+
import type { LogEntry } from "../core/log.ts";
|
|
8
|
+
import type { SqlLike } from "../transactor/host.ts";
|
|
9
|
+
import { type ChangesetRequest } from "./protocol.ts";
|
|
10
|
+
type StoredChangeset = ChangesetData & {
|
|
11
|
+
readonly baseRevision: string;
|
|
12
|
+
};
|
|
13
|
+
type Command = Exclude<ChangesetRequest, {
|
|
14
|
+
action: "prepare" | "append";
|
|
15
|
+
}> | {
|
|
16
|
+
readonly action: "prepare";
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly revision?: string;
|
|
19
|
+
readonly title: string;
|
|
20
|
+
readonly reviewers?: readonly string[];
|
|
21
|
+
readonly operations: readonly AuthoritativeOperationInvocation[];
|
|
22
|
+
} | {
|
|
23
|
+
readonly action: "append";
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly revision: string;
|
|
26
|
+
readonly operations: readonly AuthoritativeOperationInvocation[];
|
|
27
|
+
};
|
|
28
|
+
export type ChangesetCommand = Command & {
|
|
29
|
+
readonly catalogKey: CatalogId;
|
|
30
|
+
readonly unitHash: CatalogUnitHash;
|
|
31
|
+
readonly database: string;
|
|
32
|
+
readonly caller: AuthenticatedCaller;
|
|
33
|
+
readonly maxCells?: number;
|
|
34
|
+
readonly approval?: boolean;
|
|
35
|
+
};
|
|
36
|
+
export declare const decodeChangesetCommand: (raw: unknown) => ChangesetCommand;
|
|
37
|
+
type ChangesetHost = {
|
|
38
|
+
readonly sql: SqlLike;
|
|
39
|
+
readonly database: string;
|
|
40
|
+
readonly transactionSync: <A>(run: () => A) => A;
|
|
41
|
+
readonly reserve: (next: number) => void;
|
|
42
|
+
readonly resolve: (operations: readonly AuthoritativeOperationInvocation[], caller: AuthenticatedCaller) => Promise<readonly AuthoritativeOperationInvocation[]>;
|
|
43
|
+
readonly serialized: <A>(run: () => Promise<A>) => Promise<A>;
|
|
44
|
+
readonly current: () => Connection;
|
|
45
|
+
readonly schedule: (deadline: number) => Promise<void>;
|
|
46
|
+
readonly checkpoint: () => Promise<void>;
|
|
47
|
+
readonly commit: (entry: LogEntry, caller: AuthenticatedCaller, persist: () => void) => Promise<void>;
|
|
48
|
+
};
|
|
49
|
+
export declare class ChangesetService {
|
|
50
|
+
private readonly host;
|
|
51
|
+
readonly revisions: RevisionStore;
|
|
52
|
+
constructor(host: ChangesetHost);
|
|
53
|
+
initialize(): void;
|
|
54
|
+
expire(now: number): void;
|
|
55
|
+
schedule(): Promise<void>;
|
|
56
|
+
load(id: string | undefined): StoredChangeset | undefined;
|
|
57
|
+
private saveChangeset;
|
|
58
|
+
private readonly listeners;
|
|
59
|
+
private changeVersion;
|
|
60
|
+
notify(): void;
|
|
61
|
+
private listing;
|
|
62
|
+
private watch;
|
|
63
|
+
execute(connection: Connection, runtime: OperationRuntime, command: ChangesetCommand, captured?: {
|
|
64
|
+
readonly stored: StoredChangeset | undefined;
|
|
65
|
+
}): Promise<unknown>;
|
|
66
|
+
private executeRequest;
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/internal/changesets/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { sha256Hex } from "../core/bytes.js";
|
|
2
|
+
import { RevisionStore } from "../storage/revisions.js";
|
|
3
|
+
import { readQueryView } from "../authorization/query-view.js";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { canonicalizeJson } from "../authorization/canonical-json.js";
|
|
6
|
+
import { constructAuthorizedRequestContext } from "../authorization/request.js";
|
|
7
|
+
import { opaqueOperationDenial } from "../authorization/index.js";
|
|
8
|
+
import { MAX_CHANGESET_DATOMS, MAX_CHANGESET_BYTES, changesetReadContext, appendChangeset, decodeStoredChangeset, authorizeChangeset, changesetConflict, changesetDiff, changesetSubject, prepareChangeset } from "../authorization/changesets.js";
|
|
9
|
+
import { parseQueryDocument } from "../../mcp/contract.js";
|
|
10
|
+
import { runEntityQueryDocument } from "../../mcp/kernel.js";
|
|
11
|
+
import { Connection } from "../core/conn.js";
|
|
12
|
+
import { toJson } from "../core/json.js";
|
|
13
|
+
import { DB_TX_INSTANT, isTxEid } from "../core/schema.js";
|
|
14
|
+
import { BadRequest } from "../transactor/errors.js";
|
|
15
|
+
import { decodeChangesetRequest, decodeCommandEnvelope } from "./protocol.js";
|
|
16
|
+
import { decodeOperationInvocation } from "../authorization/invocation-codec.js";
|
|
17
|
+
export const decodeChangesetCommand = (raw) => {
|
|
18
|
+
const request = decodeChangesetRequest(raw);
|
|
19
|
+
const envelope = decodeCommandEnvelope(raw);
|
|
20
|
+
if (request.action === "prepare" || request.action === "append") {
|
|
21
|
+
return { ...request, ...envelope, operations: request.operations.map(decodeOperationInvocation) };
|
|
22
|
+
}
|
|
23
|
+
return { ...request, ...envelope };
|
|
24
|
+
};
|
|
25
|
+
export class ChangesetService {
|
|
26
|
+
host;
|
|
27
|
+
revisions;
|
|
28
|
+
constructor(host) {
|
|
29
|
+
this.host = host;
|
|
30
|
+
this.revisions = new RevisionStore(host.sql);
|
|
31
|
+
}
|
|
32
|
+
initialize() {
|
|
33
|
+
this.revisions.initialize();
|
|
34
|
+
this.host.sql.exec("CREATE TABLE IF NOT EXISTS changesets (id TEXT PRIMARY KEY, body TEXT NOT NULL)");
|
|
35
|
+
this.host.sql.exec("CREATE TABLE IF NOT EXISTS changeset_headers (id TEXT PRIMARY KEY, revision TEXT NOT NULL, title TEXT NOT NULL, subject TEXT NOT NULL, basis INTEGER NOT NULL, expires_at INTEGER NOT NULL, status TEXT NOT NULL, operations INTEGER NOT NULL)");
|
|
36
|
+
this.host.sql.exec("CREATE INDEX IF NOT EXISTS changeset_deadlines ON changeset_headers(status, expires_at)");
|
|
37
|
+
this.host.sql.exec("CREATE INDEX IF NOT EXISTS changeset_author ON changeset_headers(subject, status)");
|
|
38
|
+
this.host.sql.exec("CREATE TABLE IF NOT EXISTS changeset_recipients (subject TEXT NOT NULL, id TEXT NOT NULL REFERENCES changeset_headers(id), PRIMARY KEY(subject, id))");
|
|
39
|
+
this.host.sql.exec("CREATE INDEX IF NOT EXISTS changeset_recipient_proposal ON changeset_recipients(id)");
|
|
40
|
+
for (const row of this.host.sql.exec("SELECT body FROM changesets WHERE id NOT IN (SELECT id FROM changeset_headers)").toArray()) {
|
|
41
|
+
const stored = JSON.parse(row.body);
|
|
42
|
+
this.host.transactionSync(() => this.saveChangeset(stored));
|
|
43
|
+
}
|
|
44
|
+
this.revisions.collect();
|
|
45
|
+
}
|
|
46
|
+
expire(now) {
|
|
47
|
+
const expired = this.host.sql.exec("SELECT id FROM changeset_headers WHERE status IN ('draft', 'committed', 'discarded') AND expires_at <= ?", now).toArray();
|
|
48
|
+
this.host.transactionSync(() => {
|
|
49
|
+
for (const { id } of expired) {
|
|
50
|
+
this.revisions.release({ namespace: "changeset", name: id });
|
|
51
|
+
this.host.sql.exec("DELETE FROM changesets WHERE id = ?", id);
|
|
52
|
+
this.host.sql.exec("UPDATE changeset_headers SET status = 'expired' WHERE id = ?", id);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
this.revisions.collect();
|
|
56
|
+
if (expired.length > 0)
|
|
57
|
+
this.notify();
|
|
58
|
+
}
|
|
59
|
+
async schedule() {
|
|
60
|
+
const deadline = this.host.sql.exec("SELECT MIN(expires_at) AS deadline FROM changeset_headers WHERE status IN ('draft', 'committed', 'discarded')").toArray()[0]?.deadline;
|
|
61
|
+
if (typeof deadline === "number")
|
|
62
|
+
await this.host.schedule(deadline);
|
|
63
|
+
}
|
|
64
|
+
load(id) {
|
|
65
|
+
if (id === undefined)
|
|
66
|
+
return undefined;
|
|
67
|
+
const row = this.host.sql.exec("SELECT body FROM changesets WHERE id = ?", id).toArray()[0];
|
|
68
|
+
if (row === undefined)
|
|
69
|
+
return undefined;
|
|
70
|
+
const stored = JSON.parse(row.body);
|
|
71
|
+
if (typeof stored.baseRevision !== "string")
|
|
72
|
+
throw new Error("changeset database revision missing");
|
|
73
|
+
return { ...decodeStoredChangeset(stored), baseRevision: stored.baseRevision };
|
|
74
|
+
}
|
|
75
|
+
saveChangeset(stored) {
|
|
76
|
+
this.host.sql.exec("INSERT OR REPLACE INTO changesets (id, body) VALUES (?, ?)", stored.id, JSON.stringify(toJson(stored)));
|
|
77
|
+
this.host.sql.exec("INSERT INTO changeset_headers(id, revision, title, subject, basis, expires_at, status, operations) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET revision = excluded.revision, title = excluded.title, subject = excluded.subject, basis = excluded.basis, expires_at = excluded.expires_at, status = excluded.status, operations = excluded.operations", stored.id, stored.revision, stored.title, stored.subject, stored.basis, stored.expiresAt, stored.status, stored.steps.length);
|
|
78
|
+
this.host.sql.exec("DELETE FROM changeset_recipients WHERE id = ?", stored.id);
|
|
79
|
+
for (const subject of new Set([stored.subject, ...stored.reviewers ?? []]))
|
|
80
|
+
this.host.sql.exec("INSERT INTO changeset_recipients(subject, id) VALUES (?, ?)", subject, stored.id);
|
|
81
|
+
this.revisions.reference({ namespace: "changeset", name: stored.id }, stored.baseRevision);
|
|
82
|
+
}
|
|
83
|
+
listeners = new Set();
|
|
84
|
+
changeVersion = 0;
|
|
85
|
+
notify() { this.changeVersion++; for (const listener of [...this.listeners])
|
|
86
|
+
listener(); }
|
|
87
|
+
async listing(connection, subject, now, page) {
|
|
88
|
+
const limit = page.id === undefined ? page.limit ?? 50 : 1;
|
|
89
|
+
const rows = this.host.sql.exec(`SELECT h.id, h.revision, h.title, h.status, h.basis, h.expires_at AS expiresAt, h.operations
|
|
90
|
+
FROM changeset_recipients r JOIN changeset_headers h ON h.id = r.id
|
|
91
|
+
WHERE r.subject = ? AND r.id > ? ${page.id === undefined ? "" : "AND r.id = ?"}
|
|
92
|
+
ORDER BY r.id LIMIT ?`, subject, page.after ?? "", ...(page.id === undefined ? [] : [page.id]), limit + 1).toArray();
|
|
93
|
+
const items = rows.slice(0, limit).map((row) => ({ id: row.id, revision: row.revision, title: row.title, basis: row.basis, expiresAt: row.expiresAt, operations: row.operations,
|
|
94
|
+
status: row.expiresAt <= now ? "expired" : row.status,
|
|
95
|
+
stale: row.status === "draft" && row.expiresAt > now && row.basis !== connection.t,
|
|
96
|
+
}));
|
|
97
|
+
const nextCursor = rows.length > limit ? items.at(-1).id : null;
|
|
98
|
+
return { items, nextCursor, version: await sha256Hex(new TextEncoder().encode(canonicalizeJson({ items, nextCursor, basis: connection.t }))) };
|
|
99
|
+
}
|
|
100
|
+
async watch(runtime, command) {
|
|
101
|
+
const subject = changesetSubject(command.caller, runtime.now());
|
|
102
|
+
const capturedVersion = this.changeVersion;
|
|
103
|
+
let result = await this.listing(this.host.current(), subject, runtime.now(), command);
|
|
104
|
+
if (command.action === "watch" && command.version === result.version && capturedVersion === this.changeVersion) {
|
|
105
|
+
const expiry = Math.min(command.caller.exp * 1000, ...result.items.filter((item) => item.status !== "expired").map((item) => item.expiresAt));
|
|
106
|
+
await new Promise((resolve) => {
|
|
107
|
+
const finish = () => { clearTimeout(timer); this.listeners.delete(finish); resolve(); };
|
|
108
|
+
const timer = setTimeout(finish, Math.max(1, Math.min(25_000, expiry - runtime.now())));
|
|
109
|
+
this.listeners.add(finish);
|
|
110
|
+
});
|
|
111
|
+
changesetSubject(command.caller, runtime.now());
|
|
112
|
+
result = await this.listing(this.host.current(), subject, runtime.now(), command);
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
async execute(connection, runtime, command, captured) {
|
|
117
|
+
const releases = [];
|
|
118
|
+
try {
|
|
119
|
+
return await this.executeRequest(connection, runtime, command, releases, captured);
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
for (const release of releases)
|
|
123
|
+
release();
|
|
124
|
+
if (command.action === "prepare" || command.action === "append" || command.action === "commit" || command.action === "discard")
|
|
125
|
+
await this.schedule();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async executeRequest(connection, runtime, command, releases, captured) {
|
|
129
|
+
if (command.database !== this.host.database)
|
|
130
|
+
throw opaqueOperationDenial();
|
|
131
|
+
if (command.action === "list" || command.action === "watch")
|
|
132
|
+
return this.watch(runtime, command);
|
|
133
|
+
const subject = changesetSubject(command.caller, runtime.now());
|
|
134
|
+
const query = async (connection) => {
|
|
135
|
+
const context = await Effect.runPromise(constructAuthorizedRequestContext({
|
|
136
|
+
authenticate: Effect.succeed(command.caller), catalogs: runtime.catalogs.catalogs,
|
|
137
|
+
routeDatabase: command.database,
|
|
138
|
+
catalogKey: command.catalogKey, unitHash: command.unitHash,
|
|
139
|
+
currentDb: () => Effect.succeed(connection.db()),
|
|
140
|
+
}, command.caller));
|
|
141
|
+
return runEntityQueryDocument(context, command.caller, parseQueryDocument("query" in command ? command.query : undefined), command.maxCells);
|
|
142
|
+
};
|
|
143
|
+
if (command.action === "query" && command.id === undefined)
|
|
144
|
+
return query(connection);
|
|
145
|
+
if (typeof command.id !== "string" || !/^[a-zA-Z0-9_-]{1,128}$/.test(command.id)) {
|
|
146
|
+
throw new BadRequest({ message: "invalid changeset id" });
|
|
147
|
+
}
|
|
148
|
+
if (captured === undefined && command.action !== "prepare" && command.action !== "append")
|
|
149
|
+
this.expire(runtime.now());
|
|
150
|
+
let stored = captured === undefined ? this.load(command.id) : captured.stored;
|
|
151
|
+
if (stored !== undefined && stored.subject !== subject && !stored.reviewers?.includes(subject))
|
|
152
|
+
throw opaqueOperationDenial();
|
|
153
|
+
if (command.action === "prepare" || command.action === "append") {
|
|
154
|
+
const requestKey = canonicalizeJson(toJson({ action: command.action, title: ("title" in command ? command.title : undefined),
|
|
155
|
+
reviewers: "reviewers" in command ? command.reviewers : undefined,
|
|
156
|
+
operations: command.operations.map(({ caller: _caller, invocationId: _id, ...operation }) => operation),
|
|
157
|
+
}));
|
|
158
|
+
const captured = await this.host.serialized(async () => {
|
|
159
|
+
this.expire(runtime.now());
|
|
160
|
+
const previous = this.load(command.id);
|
|
161
|
+
if (previous !== undefined && previous.subject !== subject)
|
|
162
|
+
throw opaqueOperationDenial();
|
|
163
|
+
if (previous === undefined) {
|
|
164
|
+
const header = this.host.sql.exec("SELECT subject FROM changeset_headers WHERE id = ?", command.id).toArray()[0];
|
|
165
|
+
if (header !== undefined) {
|
|
166
|
+
if (header.subject !== subject)
|
|
167
|
+
throw opaqueOperationDenial();
|
|
168
|
+
throw changesetConflict("changeset_expired");
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (command.action === "append" && previous === undefined)
|
|
172
|
+
throw opaqueOperationDenial();
|
|
173
|
+
if (previous?.requestKey === requestKey && previous.parentRevision === command.revision) {
|
|
174
|
+
releases.push(this.revisions.retain(previous.baseRevision));
|
|
175
|
+
return { retry: previous };
|
|
176
|
+
}
|
|
177
|
+
if (previous !== undefined && (previous.status !== "draft" || previous.revision !== command.revision))
|
|
178
|
+
throw changesetConflict("changeset_revision_conflict");
|
|
179
|
+
const count = this.host.sql.exec("SELECT COUNT(*) AS n FROM changeset_headers WHERE subject = ? AND status = 'draft'", subject).toArray()[0].n;
|
|
180
|
+
if (previous === undefined && count >= 32)
|
|
181
|
+
throw changesetConflict("changeset_limit");
|
|
182
|
+
const live = this.host.current();
|
|
183
|
+
const base = live.fork();
|
|
184
|
+
const limit = live.nextEntityId + MAX_CHANGESET_DATOMS;
|
|
185
|
+
if (!Number.isSafeInteger(limit) || limit >= 2 ** 42)
|
|
186
|
+
throw changesetConflict("changeset_limit");
|
|
187
|
+
let baseRevision = previous?.baseRevision;
|
|
188
|
+
this.host.transactionSync(() => {
|
|
189
|
+
if (command.action === "prepare")
|
|
190
|
+
baseRevision = this.revisions.save(base, { key: command.catalogKey, unitHash: command.unitHash });
|
|
191
|
+
this.host.reserve(limit);
|
|
192
|
+
});
|
|
193
|
+
live.reserveEntityIds(limit);
|
|
194
|
+
return { previous, base, baseRevision: baseRevision, limit, release: this.revisions.retain(baseRevision) };
|
|
195
|
+
});
|
|
196
|
+
if ("retry" in captured)
|
|
197
|
+
stored = captured.retry;
|
|
198
|
+
else {
|
|
199
|
+
const { previous, baseRevision, limit } = captured;
|
|
200
|
+
releases.push(captured.release);
|
|
201
|
+
{
|
|
202
|
+
const base = command.action === "append" ? await this.revisions.open(baseRevision, captured.base.store) : captured.base;
|
|
203
|
+
base.reserveEntityIds(captured.base.nextEntityId);
|
|
204
|
+
const operations = await this.host.resolve(command.operations, command.caller);
|
|
205
|
+
await this.host.checkpoint();
|
|
206
|
+
const prepared = command.action === "append"
|
|
207
|
+
? await appendChangeset(base, runtime, previous, operations, command.caller)
|
|
208
|
+
: await prepareChangeset(base, runtime, { id: command.id, title: command.title, operations }, command.caller);
|
|
209
|
+
if (prepared.nextEntityId > limit)
|
|
210
|
+
throw changesetConflict("changeset_too_large");
|
|
211
|
+
const next = { ...prepared, baseRevision, requestKey,
|
|
212
|
+
...(command.action === "prepare" ? { reviewers: command.reviewers ?? [] } : {}),
|
|
213
|
+
...(command.revision === undefined ? {} : { parentRevision: command.revision }) };
|
|
214
|
+
if (new TextEncoder().encode(JSON.stringify(toJson(next))).byteLength > MAX_CHANGESET_BYTES)
|
|
215
|
+
throw changesetConflict("changeset_too_large");
|
|
216
|
+
stored = await this.host.serialized(async () => {
|
|
217
|
+
changesetSubject(command.caller, runtime.now());
|
|
218
|
+
const current = this.load(command.id);
|
|
219
|
+
if (current?.requestKey === requestKey && current.parentRevision === command.revision) {
|
|
220
|
+
releases.push(this.revisions.retain(current.baseRevision));
|
|
221
|
+
return current;
|
|
222
|
+
}
|
|
223
|
+
if (current?.revision !== previous?.revision || current?.status !== previous?.status)
|
|
224
|
+
throw changesetConflict("changeset_revision_conflict");
|
|
225
|
+
if (current === undefined) {
|
|
226
|
+
const count = this.host.sql.exec("SELECT COUNT(*) AS n FROM changeset_headers WHERE subject = ? AND status = 'draft'", subject).toArray()[0].n;
|
|
227
|
+
if (count >= 32)
|
|
228
|
+
throw changesetConflict("changeset_limit");
|
|
229
|
+
}
|
|
230
|
+
this.host.transactionSync(() => this.saveChangeset(next));
|
|
231
|
+
this.notify();
|
|
232
|
+
return next;
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (stored === undefined) {
|
|
238
|
+
const row = this.host.sql.exec("SELECT h.id FROM changeset_headers h JOIN changeset_recipients r ON r.id = h.id WHERE h.id = ? AND r.subject = ? AND h.status = 'expired'", command.id, subject).toArray()[0];
|
|
239
|
+
if (row !== undefined)
|
|
240
|
+
throw changesetConflict("changeset_expired");
|
|
241
|
+
throw opaqueOperationDenial();
|
|
242
|
+
}
|
|
243
|
+
if (stored.expiresAt <= runtime.now())
|
|
244
|
+
throw changesetConflict("changeset_expired");
|
|
245
|
+
if (command.action === "prepare" || command.action === "append")
|
|
246
|
+
connection = this.host.current().fork();
|
|
247
|
+
const base = await this.revisions.open(stored.baseRevision, connection.store);
|
|
248
|
+
if (command.action === "query" || command.action === "read") {
|
|
249
|
+
if (stored.status !== "draft")
|
|
250
|
+
throw changesetConflict("changeset_closed");
|
|
251
|
+
if (command.revision !== undefined && command.revision !== stored.revision)
|
|
252
|
+
throw changesetConflict("changeset_revision_conflict");
|
|
253
|
+
const draft = await authorizeChangeset(base, runtime, stored, command.caller);
|
|
254
|
+
const { after } = await changesetReadContext(base, runtime, stored, command.caller, draft, connection);
|
|
255
|
+
const result = command.action === "read"
|
|
256
|
+
? { ...await readQueryView(after.filteredDb, command.query, Math.min(command.maxCells ?? 100_000, 100_000)), basis: stored.basis, revision: stored.revision }
|
|
257
|
+
: await runEntityQueryDocument(after, command.caller, parseQueryDocument(command.query), command.maxCells);
|
|
258
|
+
changesetSubject(command.caller, runtime.now());
|
|
259
|
+
return result;
|
|
260
|
+
}
|
|
261
|
+
if (command.action === "commit" || command.action === "discard") {
|
|
262
|
+
if (command.revision !== stored.revision)
|
|
263
|
+
throw changesetConflict("changeset_revision_conflict");
|
|
264
|
+
if (command.action === "commit" && command.approval !== true)
|
|
265
|
+
throw opaqueOperationDenial();
|
|
266
|
+
if ((stored.status === "committed" && command.action === "commit") ||
|
|
267
|
+
(stored.status === "discarded" && command.action === "discard")) {
|
|
268
|
+
return { id: stored.id, revision: stored.revision, title: stored.title, status: stored.status, basis: stored.basis,
|
|
269
|
+
stale: false, expiresAt: stored.expiresAt, operations: stored.steps.length };
|
|
270
|
+
}
|
|
271
|
+
if (stored.status !== "draft")
|
|
272
|
+
throw changesetConflict("changeset_closed");
|
|
273
|
+
if (command.action === "discard") {
|
|
274
|
+
stored = { ...stored, status: "discarded" };
|
|
275
|
+
this.host.transactionSync(() => this.saveChangeset(stored));
|
|
276
|
+
this.notify();
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
await authorizeChangeset(connection, runtime, stored, command.caller);
|
|
280
|
+
const committedAt = runtime.now();
|
|
281
|
+
const committed = { ...stored, status: "committed", committedAt, committedBy: subject };
|
|
282
|
+
const entry = { t: connection.t + 1, txInstant: committedAt,
|
|
283
|
+
datoms: stored.datoms.map((fact) => fact.a === DB_TX_INSTANT && isTxEid(fact.e)
|
|
284
|
+
? { ...fact, v: committedAt } : fact) };
|
|
285
|
+
await this.host.commit(entry, command.caller, () => this.saveChangeset(committed));
|
|
286
|
+
stored = committed;
|
|
287
|
+
this.notify();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
const result = { id: stored.id, revision: stored.revision, title: stored.title, status: stored.status, basis: stored.basis,
|
|
291
|
+
stale: stored.status === "draft" && stored.basis !== connection.t,
|
|
292
|
+
expiresAt: stored.expiresAt, operations: stored.steps.length };
|
|
293
|
+
if (stored.status !== "draft")
|
|
294
|
+
return result;
|
|
295
|
+
return { ...result, changes: await changesetDiff(base, runtime, stored, command.caller, connection) };
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=service.js.map
|