@superbee/core 0.2.0-pre.3 → 0.2.0-pre.30
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/README.md +1082 -0
- package/dist/artifact-contract.d.ts +90 -0
- package/dist/artifact-contract.d.ts.map +1 -0
- package/dist/artifact-contract.js +205 -0
- package/dist/artifact-contract.js.map +1 -0
- package/dist/backend.d.ts +19 -1
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +83 -36
- package/dist/backend.js.map +1 -1
- package/dist/blob-contract.d.ts +80 -0
- package/dist/blob-contract.d.ts.map +1 -0
- package/dist/blob-contract.js +131 -0
- package/dist/blob-contract.js.map +1 -0
- package/dist/blob-journal.d.ts +302 -0
- package/dist/blob-journal.d.ts.map +1 -0
- package/dist/blob-journal.js +540 -0
- package/dist/blob-journal.js.map +1 -0
- package/dist/body-replace-guards.d.ts +52 -0
- package/dist/body-replace-guards.d.ts.map +1 -0
- package/dist/body-replace-guards.js +176 -0
- package/dist/body-replace-guards.js.map +1 -0
- package/dist/builtin-recipes/content.d.ts +93 -0
- package/dist/builtin-recipes/content.d.ts.map +1 -0
- package/dist/builtin-recipes/content.js +288 -0
- package/dist/builtin-recipes/content.js.map +1 -0
- package/dist/builtin-recipes.d.ts +10 -0
- package/dist/builtin-recipes.d.ts.map +1 -0
- package/dist/builtin-recipes.js +97 -0
- package/dist/builtin-recipes.js.map +1 -0
- package/dist/bundle-health/index.d.ts +14 -0
- package/dist/bundle-health/index.d.ts.map +1 -0
- package/dist/bundle-health/index.js +12 -0
- package/dist/bundle-health/index.js.map +1 -0
- package/dist/bundle-health/kind-findings.d.ts +44 -0
- package/dist/bundle-health/kind-findings.d.ts.map +1 -0
- package/dist/bundle-health/kind-findings.js +68 -0
- package/dist/bundle-health/kind-findings.js.map +1 -0
- package/dist/bundle-health/legacy-page.d.ts +39 -0
- package/dist/bundle-health/legacy-page.d.ts.map +1 -0
- package/dist/bundle-health/legacy-page.js +50 -0
- package/dist/bundle-health/legacy-page.js.map +1 -0
- package/dist/bundle-health/report.d.ts +202 -0
- package/dist/bundle-health/report.d.ts.map +1 -0
- package/dist/bundle-health/report.js +438 -0
- package/dist/bundle-health/report.js.map +1 -0
- package/dist/bundle-ops.d.ts +1 -1
- package/dist/bundle-ops.d.ts.map +1 -1
- package/dist/bundle-ops.js +2 -2
- package/dist/bundle-ops.js.map +1 -1
- package/dist/bundle.d.ts +2 -1
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +3 -3
- package/dist/bundle.js.map +1 -1
- package/dist/code-point-order.d.ts +8 -0
- package/dist/code-point-order.d.ts.map +1 -0
- package/dist/code-point-order.js +20 -0
- package/dist/code-point-order.js.map +1 -0
- package/dist/connector-request.d.ts +87 -0
- package/dist/connector-request.d.ts.map +1 -0
- package/dist/connector-request.js +370 -0
- package/dist/connector-request.js.map +1 -0
- package/dist/connectors.d.ts +262 -0
- package/dist/connectors.d.ts.map +1 -0
- package/dist/connectors.js +1179 -0
- package/dist/connectors.js.map +1 -0
- package/dist/cross-bundle.d.ts +135 -0
- package/dist/cross-bundle.d.ts.map +1 -0
- package/dist/cross-bundle.js +186 -0
- package/dist/cross-bundle.js.map +1 -0
- package/dist/dependencies.d.ts +94 -0
- package/dist/dependencies.d.ts.map +1 -0
- package/dist/dependencies.js +180 -0
- package/dist/dependencies.js.map +1 -0
- package/dist/document-codec.d.ts +5 -1
- package/dist/document-codec.d.ts.map +1 -1
- package/dist/document-codec.js +7 -4
- package/dist/document-codec.js.map +1 -1
- package/dist/document-field-actions.d.ts +31 -1
- package/dist/document-field-actions.d.ts.map +1 -1
- package/dist/document-field-actions.js +137 -34
- package/dist/document-field-actions.js.map +1 -1
- package/dist/document-mutation.d.ts +22 -10
- package/dist/document-mutation.d.ts.map +1 -1
- package/dist/document-mutation.js +61 -27
- package/dist/document-mutation.js.map +1 -1
- package/dist/document-write-policy.d.ts.map +1 -1
- package/dist/document-write-policy.js +4 -2
- package/dist/document-write-policy.js.map +1 -1
- package/dist/domain-model.d.ts +73 -0
- package/dist/domain-model.d.ts.map +1 -0
- package/dist/domain-model.js +169 -0
- package/dist/domain-model.js.map +1 -0
- package/dist/engine.d.ts +16 -8
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +42 -4
- package/dist/engine.js.map +1 -1
- package/dist/file-journaled-backend-internal.d.ts +21 -0
- package/dist/file-journaled-backend-internal.d.ts.map +1 -0
- package/dist/file-journaled-backend-internal.js +12 -0
- package/dist/file-journaled-backend-internal.js.map +1 -0
- package/dist/file-journaled-backend.d.ts +160 -0
- package/dist/file-journaled-backend.d.ts.map +1 -0
- package/dist/file-journaled-backend.js +1345 -0
- package/dist/file-journaled-backend.js.map +1 -0
- package/dist/filesystem-host.d.ts +15 -0
- package/dist/filesystem-host.d.ts.map +1 -0
- package/dist/filesystem-host.js +20 -0
- package/dist/filesystem-host.js.map +1 -0
- package/dist/filesystem-identity.d.ts +86 -4
- package/dist/filesystem-identity.d.ts.map +1 -1
- package/dist/filesystem-identity.js +338 -102
- package/dist/filesystem-identity.js.map +1 -1
- package/dist/filesystem-lock.d.ts +16 -3
- package/dist/filesystem-lock.d.ts.map +1 -1
- package/dist/filesystem-lock.js +323 -77
- package/dist/filesystem-lock.js.map +1 -1
- package/dist/filesystem-push-role.d.ts +77 -0
- package/dist/filesystem-push-role.d.ts.map +1 -0
- package/dist/filesystem-push-role.js +165 -0
- package/dist/filesystem-push-role.js.map +1 -0
- package/dist/filesystem.d.ts +17 -0
- package/dist/filesystem.d.ts.map +1 -0
- package/dist/filesystem.js +18 -0
- package/dist/filesystem.js.map +1 -0
- package/dist/governed-body-write.d.ts +106 -0
- package/dist/governed-body-write.d.ts.map +1 -0
- package/dist/governed-body-write.js +251 -0
- package/dist/governed-body-write.js.map +1 -0
- package/dist/host-policy-snapshot.d.ts +9 -0
- package/dist/host-policy-snapshot.d.ts.map +1 -0
- package/dist/host-policy-snapshot.js +33 -0
- package/dist/host-policy-snapshot.js.map +1 -0
- package/dist/host-text.d.ts +31 -0
- package/dist/host-text.d.ts.map +1 -0
- package/dist/host-text.js +77 -0
- package/dist/host-text.js.map +1 -0
- package/dist/hosted-client/binding.d.ts +7 -0
- package/dist/hosted-client/binding.d.ts.map +1 -0
- package/dist/hosted-client/binding.js +10 -0
- package/dist/hosted-client/binding.js.map +1 -0
- package/dist/hosted-client/blob-delivery.d.ts +67 -0
- package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
- package/dist/hosted-client/blob-delivery.js +169 -0
- package/dist/hosted-client/blob-delivery.js.map +1 -0
- package/dist/hosted-client/blob-write.d.ts +386 -0
- package/dist/hosted-client/blob-write.d.ts.map +1 -0
- package/dist/hosted-client/blob-write.js +770 -0
- package/dist/hosted-client/blob-write.js.map +1 -0
- package/dist/hosted-client/bundle-listing.d.ts +46 -0
- package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
- package/dist/hosted-client/bundle-listing.js +36 -0
- package/dist/hosted-client/bundle-listing.js.map +1 -0
- package/dist/hosted-client/client.d.ts +219 -0
- package/dist/hosted-client/client.d.ts.map +1 -0
- package/dist/hosted-client/client.js +309 -0
- package/dist/hosted-client/client.js.map +1 -0
- package/dist/hosted-client/directory.d.ts +46 -0
- package/dist/hosted-client/directory.d.ts.map +1 -0
- package/dist/hosted-client/directory.js +74 -0
- package/dist/hosted-client/directory.js.map +1 -0
- package/dist/hosted-client/errors.d.ts +26 -0
- package/dist/hosted-client/errors.d.ts.map +1 -0
- package/dist/hosted-client/errors.js +35 -0
- package/dist/hosted-client/errors.js.map +1 -0
- package/dist/hosted-client/inbox.d.ts +320 -0
- package/dist/hosted-client/inbox.d.ts.map +1 -0
- package/dist/hosted-client/inbox.js +379 -0
- package/dist/hosted-client/inbox.js.map +1 -0
- package/dist/hosted-client/index.d.ts +30 -0
- package/dist/hosted-client/index.d.ts.map +1 -0
- package/dist/hosted-client/index.js +32 -0
- package/dist/hosted-client/index.js.map +1 -0
- package/dist/hosted-client/journal.d.ts +103 -0
- package/dist/hosted-client/journal.d.ts.map +1 -0
- package/dist/hosted-client/journal.js +464 -0
- package/dist/hosted-client/journal.js.map +1 -0
- package/dist/hosted-client/node.d.ts +74 -0
- package/dist/hosted-client/node.d.ts.map +1 -0
- package/dist/hosted-client/node.js +219 -0
- package/dist/hosted-client/node.js.map +1 -0
- package/dist/hosted-client/reference.d.ts +12 -0
- package/dist/hosted-client/reference.d.ts.map +1 -0
- package/dist/hosted-client/reference.js +29 -0
- package/dist/hosted-client/reference.js.map +1 -0
- package/dist/hosted-client/write.d.ts +217 -0
- package/dist/hosted-client/write.d.ts.map +1 -0
- package/dist/hosted-client/write.js +418 -0
- package/dist/hosted-client/write.js.map +1 -0
- package/dist/hosted-transport/answer-rows.d.ts +243 -0
- package/dist/hosted-transport/answer-rows.d.ts.map +1 -0
- package/dist/hosted-transport/answer-rows.js +454 -0
- package/dist/hosted-transport/answer-rows.js.map +1 -0
- package/dist/hosted-transport/blob-reads.d.ts +35 -0
- package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
- package/dist/hosted-transport/blob-reads.js +179 -0
- package/dist/hosted-transport/blob-reads.js.map +1 -0
- package/dist/hosted-transport/blob-write.d.ts +34 -0
- package/dist/hosted-transport/blob-write.d.ts.map +1 -0
- package/dist/hosted-transport/blob-write.js +115 -0
- package/dist/hosted-transport/blob-write.js.map +1 -0
- package/dist/hosted-transport/carrier.d.ts +151 -0
- package/dist/hosted-transport/carrier.d.ts.map +1 -0
- package/dist/hosted-transport/carrier.js +260 -0
- package/dist/hosted-transport/carrier.js.map +1 -0
- package/dist/hosted-transport/history-pages.d.ts +55 -0
- package/dist/hosted-transport/history-pages.d.ts.map +1 -0
- package/dist/hosted-transport/history-pages.js +69 -0
- package/dist/hosted-transport/history-pages.js.map +1 -0
- package/dist/hosted-transport/index.d.ts +18 -0
- package/dist/hosted-transport/index.d.ts.map +1 -0
- package/dist/hosted-transport/index.js +18 -0
- package/dist/hosted-transport/index.js.map +1 -0
- package/dist/hosted-transport/operations.d.ts +85 -0
- package/dist/hosted-transport/operations.d.ts.map +1 -0
- package/dist/hosted-transport/operations.js +128 -0
- package/dist/hosted-transport/operations.js.map +1 -0
- package/dist/hosted-transport/paged-reads.d.ts +87 -0
- package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
- package/dist/hosted-transport/paged-reads.js +238 -0
- package/dist/hosted-transport/paged-reads.js.map +1 -0
- package/dist/hosted-transport/read-adapter.d.ts +256 -0
- package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
- package/dist/hosted-transport/read-adapter.js +568 -0
- package/dist/hosted-transport/read-adapter.js.map +1 -0
- package/dist/hosted-transport/root-write.d.ts +114 -0
- package/dist/hosted-transport/root-write.d.ts.map +1 -0
- package/dist/hosted-transport/root-write.js +171 -0
- package/dist/hosted-transport/root-write.js.map +1 -0
- package/dist/hosted-transport/whole-document-transport.d.ts +204 -0
- package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
- package/dist/hosted-transport/whole-document-transport.js +447 -0
- package/dist/hosted-transport/whole-document-transport.js.map +1 -0
- package/dist/index.d.ts +34 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -8
- package/dist/index.js.map +1 -1
- package/dist/indexeddb-backend.d.ts +28 -37
- package/dist/indexeddb-backend.d.ts.map +1 -1
- package/dist/indexeddb-backend.js +467 -113
- package/dist/indexeddb-backend.js.map +1 -1
- package/dist/journaled-backend.d.ts +232 -15
- package/dist/journaled-backend.d.ts.map +1 -1
- package/dist/journaled-backend.js +254 -55
- package/dist/journaled-backend.js.map +1 -1
- package/dist/kind-authoring.d.ts +170 -0
- package/dist/kind-authoring.d.ts.map +1 -0
- package/dist/kind-authoring.js +451 -0
- package/dist/kind-authoring.js.map +1 -0
- package/dist/kind-conformance-error.d.ts +15 -0
- package/dist/kind-conformance-error.d.ts.map +1 -0
- package/dist/kind-conformance-error.js +20 -0
- package/dist/kind-conformance-error.js.map +1 -0
- package/dist/kind-coverage.d.ts +99 -0
- package/dist/kind-coverage.d.ts.map +1 -0
- package/dist/kind-coverage.js +186 -0
- package/dist/kind-coverage.js.map +1 -0
- package/dist/kind-field-mutation.d.ts +4 -0
- package/dist/kind-field-mutation.d.ts.map +1 -1
- package/dist/kind-field-mutation.js +28 -3
- package/dist/kind-field-mutation.js.map +1 -1
- package/dist/kinds-load.js +4 -4
- package/dist/kinds-load.js.map +1 -1
- package/dist/kinds.d.ts +65 -2
- package/dist/kinds.d.ts.map +1 -1
- package/dist/kinds.js +341 -21
- package/dist/kinds.js.map +1 -1
- package/dist/link-types.d.ts +26 -0
- package/dist/link-types.d.ts.map +1 -0
- package/dist/link-types.js +57 -0
- package/dist/link-types.js.map +1 -0
- package/dist/links.d.ts +21 -3
- package/dist/links.d.ts.map +1 -1
- package/dist/links.js +213 -14
- package/dist/links.js.map +1 -1
- package/dist/managed-document-metadata.d.ts +2 -0
- package/dist/managed-document-metadata.d.ts.map +1 -0
- package/dist/managed-document-metadata.js +9 -0
- package/dist/managed-document-metadata.js.map +1 -0
- package/dist/memory-backend.d.ts.map +1 -1
- package/dist/memory-backend.js +6 -2
- package/dist/memory-backend.js.map +1 -1
- package/dist/paths.d.ts +16 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +25 -0
- package/dist/paths.js.map +1 -1
- package/dist/platform.d.ts +13 -2
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +16 -0
- package/dist/platform.js.map +1 -1
- package/dist/portable-export.d.ts +119 -0
- package/dist/portable-export.d.ts.map +1 -0
- package/dist/portable-export.js +501 -0
- package/dist/portable-export.js.map +1 -0
- package/dist/publication-filesystem.d.ts +1 -1
- package/dist/publication-filesystem.d.ts.map +1 -1
- package/dist/publication-filesystem.js +1 -1
- package/dist/publication-filesystem.js.map +1 -1
- package/dist/qualified-links.d.ts +67 -0
- package/dist/qualified-links.d.ts.map +1 -0
- package/dist/qualified-links.js +117 -0
- package/dist/qualified-links.js.map +1 -0
- package/dist/query-filter.d.ts +16 -2
- package/dist/query-filter.d.ts.map +1 -1
- package/dist/query-filter.js +40 -1
- package/dist/query-filter.js.map +1 -1
- package/dist/query-order.d.ts +22 -0
- package/dist/query-order.d.ts.map +1 -0
- package/dist/query-order.js +42 -0
- package/dist/query-order.js.map +1 -0
- package/dist/recipe-lifecycle/errors.d.ts +96 -0
- package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
- package/dist/recipe-lifecycle/errors.js +122 -0
- package/dist/recipe-lifecycle/errors.js.map +1 -0
- package/dist/recipe-lifecycle/evolution.d.ts +112 -0
- package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
- package/dist/recipe-lifecycle/evolution.js +941 -0
- package/dist/recipe-lifecycle/evolution.js.map +1 -0
- package/dist/recipe-lifecycle/index.d.ts +30 -0
- package/dist/recipe-lifecycle/index.d.ts.map +1 -0
- package/dist/recipe-lifecycle/index.js +26 -0
- package/dist/recipe-lifecycle/index.js.map +1 -0
- package/dist/recipe-lifecycle/install.d.ts +155 -0
- package/dist/recipe-lifecycle/install.d.ts.map +1 -0
- package/dist/recipe-lifecycle/install.js +594 -0
- package/dist/recipe-lifecycle/install.js.map +1 -0
- package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
- package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
- package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
- package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
- package/dist/recipe-lifecycle/stamp.d.ts +151 -0
- package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
- package/dist/recipe-lifecycle/stamp.js +364 -0
- package/dist/recipe-lifecycle/stamp.js.map +1 -0
- package/dist/recipes.d.ts +29 -1
- package/dist/recipes.d.ts.map +1 -1
- package/dist/recipes.js +137 -1
- package/dist/recipes.js.map +1 -1
- package/dist/record-overlay/apply.d.ts +43 -0
- package/dist/record-overlay/apply.d.ts.map +1 -0
- package/dist/record-overlay/apply.js +527 -0
- package/dist/record-overlay/apply.js.map +1 -0
- package/dist/record-overlay/canonical.d.ts +22 -0
- package/dist/record-overlay/canonical.d.ts.map +1 -0
- package/dist/record-overlay/canonical.js +47 -0
- package/dist/record-overlay/canonical.js.map +1 -0
- package/dist/record-overlay/digest.d.ts +4 -0
- package/dist/record-overlay/digest.d.ts.map +1 -0
- package/dist/record-overlay/digest.js +11 -0
- package/dist/record-overlay/digest.js.map +1 -0
- package/dist/record-overlay/errors.d.ts +44 -0
- package/dist/record-overlay/errors.d.ts.map +1 -0
- package/dist/record-overlay/errors.js +55 -0
- package/dist/record-overlay/errors.js.map +1 -0
- package/dist/record-overlay/findings.d.ts +5 -0
- package/dist/record-overlay/findings.d.ts.map +1 -0
- package/dist/record-overlay/findings.js +83 -0
- package/dist/record-overlay/findings.js.map +1 -0
- package/dist/record-overlay/index.d.ts +23 -0
- package/dist/record-overlay/index.d.ts.map +1 -0
- package/dist/record-overlay/index.js +21 -0
- package/dist/record-overlay/index.js.map +1 -0
- package/dist/record-overlay/plan.d.ts +12 -0
- package/dist/record-overlay/plan.d.ts.map +1 -0
- package/dist/record-overlay/plan.js +285 -0
- package/dist/record-overlay/plan.js.map +1 -0
- package/dist/record-overlay/policy.d.ts +69 -0
- package/dist/record-overlay/policy.d.ts.map +1 -0
- package/dist/record-overlay/policy.js +228 -0
- package/dist/record-overlay/policy.js.map +1 -0
- package/dist/record-overlay/redact.d.ts +3 -0
- package/dist/record-overlay/redact.d.ts.map +1 -0
- package/dist/record-overlay/redact.js +27 -0
- package/dist/record-overlay/redact.js.map +1 -0
- package/dist/record-overlay/signal-kind.d.ts +30 -0
- package/dist/record-overlay/signal-kind.d.ts.map +1 -0
- package/dist/record-overlay/signal-kind.js +38 -0
- package/dist/record-overlay/signal-kind.js.map +1 -0
- package/dist/record-overlay/signal-text.d.ts +45 -0
- package/dist/record-overlay/signal-text.d.ts.map +1 -0
- package/dist/record-overlay/signal-text.js +116 -0
- package/dist/record-overlay/signal-text.js.map +1 -0
- package/dist/record-overlay/source-index.d.ts +19 -0
- package/dist/record-overlay/source-index.d.ts.map +1 -0
- package/dist/record-overlay/source-index.js +102 -0
- package/dist/record-overlay/source-index.js.map +1 -0
- package/dist/record-overlay/types.d.ts +291 -0
- package/dist/record-overlay/types.d.ts.map +1 -0
- package/dist/record-overlay/types.js +2 -0
- package/dist/record-overlay/types.js.map +1 -0
- package/dist/remote-backend.d.ts +67 -67
- package/dist/remote-backend.d.ts.map +1 -1
- package/dist/remote-backend.js +168 -201
- package/dist/remote-backend.js.map +1 -1
- package/dist/remote-document-codec.d.ts +2 -1
- package/dist/remote-document-codec.d.ts.map +1 -1
- package/dist/remote-document-codec.js +3 -2
- package/dist/remote-document-codec.js.map +1 -1
- package/dist/remote-error.d.ts +38 -0
- package/dist/remote-error.d.ts.map +1 -0
- package/dist/remote-error.js +59 -0
- package/dist/remote-error.js.map +1 -0
- package/dist/remote-operations.d.ts +0 -40
- package/dist/remote-operations.d.ts.map +1 -1
- package/dist/remote-operations.js +26 -6
- package/dist/remote-operations.js.map +1 -1
- package/dist/remote-parsers.d.ts +86 -0
- package/dist/remote-parsers.d.ts.map +1 -0
- package/dist/remote-parsers.js +181 -0
- package/dist/remote-parsers.js.map +1 -0
- package/dist/remote.d.ts +5 -2
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +5 -1
- package/dist/remote.js.map +1 -1
- package/dist/search/backend-source.d.ts +6 -0
- package/dist/search/backend-source.d.ts.map +1 -0
- package/dist/search/backend-source.js +33 -0
- package/dist/search/backend-source.js.map +1 -0
- package/dist/search/contract.d.ts +151 -0
- package/dist/search/contract.d.ts.map +1 -0
- package/dist/search/contract.js +78 -0
- package/dist/search/contract.js.map +1 -0
- package/dist/search/errors.d.ts +30 -0
- package/dist/search/errors.d.ts.map +1 -0
- package/dist/search/errors.js +50 -0
- package/dist/search/errors.js.map +1 -0
- package/dist/search/identity.d.ts +12 -0
- package/dist/search/identity.d.ts.map +1 -0
- package/dist/search/identity.js +90 -0
- package/dist/search/identity.js.map +1 -0
- package/dist/search/index.d.ts +16 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +15 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/memory-source.d.ts +36 -0
- package/dist/search/memory-source.d.ts.map +1 -0
- package/dist/search/memory-source.js +235 -0
- package/dist/search/memory-source.js.map +1 -0
- package/dist/search/rank.d.ts +34 -0
- package/dist/search/rank.d.ts.map +1 -0
- package/dist/search/rank.js +129 -0
- package/dist/search/rank.js.map +1 -0
- package/dist/search/row-text.d.ts +38 -0
- package/dist/search/row-text.d.ts.map +1 -0
- package/dist/search/row-text.js +88 -0
- package/dist/search/row-text.js.map +1 -0
- package/dist/search/search.d.ts +28 -0
- package/dist/search/search.d.ts.map +1 -0
- package/dist/search/search.js +257 -0
- package/dist/search/search.js.map +1 -0
- package/dist/search/source.d.ts +67 -0
- package/dist/search/source.d.ts.map +1 -0
- package/dist/search/source.js +2 -0
- package/dist/search/source.js.map +1 -0
- package/dist/search/text.d.ts +47 -0
- package/dist/search/text.d.ts.map +1 -0
- package/dist/search/text.js +150 -0
- package/dist/search/text.js.map +1 -0
- package/dist/site-capabilities.d.ts +345 -0
- package/dist/site-capabilities.d.ts.map +1 -0
- package/dist/site-capabilities.js +724 -0
- package/dist/site-capabilities.js.map +1 -0
- package/dist/source-engine/guard.d.ts +78 -0
- package/dist/source-engine/guard.d.ts.map +1 -0
- package/dist/source-engine/guard.js +423 -0
- package/dist/source-engine/guard.js.map +1 -0
- package/dist/source-engine/index.d.ts +26 -0
- package/dist/source-engine/index.d.ts.map +1 -0
- package/dist/source-engine/index.js +21 -0
- package/dist/source-engine/index.js.map +1 -0
- package/dist/source-engine/machine-state.d.ts +74 -0
- package/dist/source-engine/machine-state.d.ts.map +1 -0
- package/dist/source-engine/machine-state.js +48 -0
- package/dist/source-engine/machine-state.js.map +1 -0
- package/dist/source-engine/observe.d.ts +18 -0
- package/dist/source-engine/observe.d.ts.map +1 -0
- package/dist/source-engine/observe.js +620 -0
- package/dist/source-engine/observe.js.map +1 -0
- package/dist/source-engine/overlay.d.ts +49 -0
- package/dist/source-engine/overlay.d.ts.map +1 -0
- package/dist/source-engine/overlay.js +114 -0
- package/dist/source-engine/overlay.js.map +1 -0
- package/dist/source-engine/robots.d.ts +53 -0
- package/dist/source-engine/robots.d.ts.map +1 -0
- package/dist/source-engine/robots.js +158 -0
- package/dist/source-engine/robots.js.map +1 -0
- package/dist/source-engine/types.d.ts +287 -0
- package/dist/source-engine/types.d.ts.map +1 -0
- package/dist/source-engine/types.js +2 -0
- package/dist/source-engine/types.js.map +1 -0
- package/dist/source-harness/conformance.d.ts +16 -0
- package/dist/source-harness/conformance.d.ts.map +1 -0
- package/dist/source-harness/conformance.js +266 -0
- package/dist/source-harness/conformance.js.map +1 -0
- package/dist/source-harness/fixture.d.ts +95 -0
- package/dist/source-harness/fixture.d.ts.map +1 -0
- package/dist/source-harness/fixture.js +273 -0
- package/dist/source-harness/fixture.js.map +1 -0
- package/dist/source-harness/index.d.ts +22 -0
- package/dist/source-harness/index.d.ts.map +1 -0
- package/dist/source-harness/index.js +19 -0
- package/dist/source-harness/index.js.map +1 -0
- package/dist/source-harness/peer.d.ts +74 -0
- package/dist/source-harness/peer.d.ts.map +1 -0
- package/dist/source-harness/peer.js +106 -0
- package/dist/source-harness/peer.js.map +1 -0
- package/dist/source-profiles/index.d.ts +31 -0
- package/dist/source-profiles/index.d.ts.map +1 -0
- package/dist/source-profiles/index.js +206 -0
- package/dist/source-profiles/index.js.map +1 -0
- package/dist/source-profiles/link-header.d.ts +6 -0
- package/dist/source-profiles/link-header.d.ts.map +1 -0
- package/dist/source-profiles/link-header.js +131 -0
- package/dist/source-profiles/link-header.js.map +1 -0
- package/dist/storage.d.ts +6 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +4 -1
- package/dist/storage.js.map +1 -1
- package/dist/types.d.ts +38 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +1 -1
- package/dist/uncertain-write.d.ts +161 -19
- package/dist/uncertain-write.d.ts.map +1 -1
- package/dist/uncertain-write.js +90 -31
- package/dist/uncertain-write.js.map +1 -1
- package/dist/versioning.d.ts +9 -4
- package/dist/versioning.d.ts.map +1 -1
- package/dist/versioning.js +9 -4
- package/dist/versioning.js.map +1 -1
- package/dist/write-identity.d.ts +5 -0
- package/dist/write-identity.d.ts.map +1 -0
- package/dist/write-identity.js +9 -0
- package/dist/write-identity.js.map +1 -0
- package/package.json +103 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-lock.js","sourceRoot":"","sources":["../src/filesystem-lock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filesystem-lock.js","sourceRoot":"","sources":["../src/filesystem-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Experimental (`0.2.0-pre`): the API may change before a stable release.
|
|
3
|
+
*
|
|
4
|
+
* The Node push role: a lock manager shaped like the Web Locks `LockManager` subset that
|
|
5
|
+
* `withPushRole` (`@superbee/browser-local`) takes, over the same-user cross-process filesystem
|
|
6
|
+
* lock. The browser's role is a Web Lock, which a user agent shares across the tabs of one
|
|
7
|
+
* origin. Node 22 also exposes `navigator.locks`, but only within one process, so two CLI
|
|
8
|
+
* processes over one working copy would both hold it. A Node caller therefore always passes this
|
|
9
|
+
* manager explicitly (`withPushRole(name, fn, { locks: filesystemPushRoleLocks() })`) and never
|
|
10
|
+
* relies on the host default.
|
|
11
|
+
*
|
|
12
|
+
* `ifAvailable` (the only mode `withPushRole` uses) does not queue: a role held by a live process
|
|
13
|
+
* answers `null` after at most `contentionWaitMs`, which only rides out the moment between another
|
|
14
|
+
* claimer's `mkdir` and its owner record. A lock whose owner record stays missing or malformed is
|
|
15
|
+
* not "held elsewhere" but an unknown holder, and rejects with the lock's own error so it is
|
|
16
|
+
* diagnosed rather than skipped forever. A dead same-host holder's lock is reclaimed, as every
|
|
17
|
+
* filesystem lock is. A holder recorded on another host cannot be checked from here, and one that
|
|
18
|
+
* crashed before this host was renamed never clears, so `ifAvailable` rejects with the lock's own
|
|
19
|
+
* error, which says a person must check it, rather than answering `null` forever.
|
|
20
|
+
*
|
|
21
|
+
* A dead holder whose process id now belongs to another process would otherwise read as live
|
|
22
|
+
* forever. So before answering "held elsewhere" for a same-host holder, or rejecting a waiting
|
|
23
|
+
* request as held, the role asks the host when the process now carrying that id started: a
|
|
24
|
+
* process that started after the lock was claimed cannot be the claimer, and the request rejects
|
|
25
|
+
* with {@link PushRoleStaleOwnerError} naming the lock, instead of skipping every sync in silence
|
|
26
|
+
* or asking for a retry that cannot succeed. The role is released when the callback settles.
|
|
27
|
+
*/
|
|
28
|
+
import type { FilesystemHostPolicy } from "./filesystem-host.js";
|
|
29
|
+
import { type FilesystemMutationLockOptions, type FilesystemMutationLockOwner } from "./filesystem-lock.js";
|
|
30
|
+
/** The Web Locks `LockManager` subset the push role uses; `withPushRole` accepts any value of this shape. */
|
|
31
|
+
export interface PushRoleLockManager {
|
|
32
|
+
request<T>(name: string, options: {
|
|
33
|
+
ifAvailable?: boolean;
|
|
34
|
+
}, callback: (lock: {
|
|
35
|
+
name: string;
|
|
36
|
+
} | null) => Promise<T>): Promise<T>;
|
|
37
|
+
}
|
|
38
|
+
export interface FilesystemPushRoleOptions extends Pick<FilesystemMutationLockOptions, "lockRoot" | "pollMs"> {
|
|
39
|
+
/** How long `ifAvailable` waits for a claim in progress to show its owner. Default 250 ms. */
|
|
40
|
+
contentionWaitMs?: number;
|
|
41
|
+
/** How long a request without `ifAvailable` waits before it rejects. Default 5 s. */
|
|
42
|
+
waitMs?: number;
|
|
43
|
+
/** The trusted host construction; omitted, the supported default (macOS and Linux). */
|
|
44
|
+
hostPolicy?: FilesystemHostPolicy;
|
|
45
|
+
/**
|
|
46
|
+
* When the process now carrying `pid` started, in epoch milliseconds, or `null` when the host
|
|
47
|
+
* cannot say. Defaults to asking `ps`; a test or another host substitutes its own.
|
|
48
|
+
*/
|
|
49
|
+
processStartedAt?: (pid: number) => Promise<number | null>;
|
|
50
|
+
/** How long an owner-less lock counts as a claim or release in progress. Default 5 s. */
|
|
51
|
+
claimGraceMs?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The role's lock names a same-host holder whose process id now belongs to a process that
|
|
55
|
+
* started after the lock was claimed: the claimer is gone and its id was reused. Nothing was
|
|
56
|
+
* run. Remove the lock (`lockPath`) once no sync is running.
|
|
57
|
+
*/
|
|
58
|
+
export declare class PushRoleStaleOwnerError extends Error {
|
|
59
|
+
readonly name = "PushRoleStaleOwnerError";
|
|
60
|
+
readonly lockPath: string;
|
|
61
|
+
readonly owner: FilesystemMutationLockOwner;
|
|
62
|
+
readonly processStartedAt: number;
|
|
63
|
+
constructor(lockPath: string, owner: FilesystemMutationLockOwner, processStartedAt: number);
|
|
64
|
+
}
|
|
65
|
+
/** The lock key for a role name: its SHA-256, so any name is one fixed-length path component. */
|
|
66
|
+
export declare function pushRoleLockKey(name: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* The environment `ps` runs in: this process's own, with the C locale. `TZ` must pass through:
|
|
69
|
+
* `ps` formats `lstart` in its time zone and `Date.parse` reads it in this process's, so both
|
|
70
|
+
* must be the same zone, or a live holder can look younger than its claim.
|
|
71
|
+
*/
|
|
72
|
+
export declare function psEnvironment(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
73
|
+
/** When `pid` started, from `ps -o lstart=` under the C locale; `null` when no `ps` answers. */
|
|
74
|
+
export declare function processStartedAtFromPs(pid: number): Promise<number | null>;
|
|
75
|
+
/** A {@link PushRoleLockManager} whose roles are exclusive across every process of this user on this host. */
|
|
76
|
+
export declare function filesystemPushRoleLocks(options?: FilesystemPushRoleOptions): PushRoleLockManager;
|
|
77
|
+
//# sourceMappingURL=filesystem-push-role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem-push-role.d.ts","sourceRoot":"","sources":["../src/filesystem-push-role.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAoI,KAAK,6BAA6B,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAE9O,6GAA6G;AAC7G,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnI;AAED,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,6BAA6B,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC3G,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAkB,IAAI,6BAA6B;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBACtB,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM;CAU3F;AAED,iGAAiG;AACjG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAErF;AAED,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU1E;AAED,8GAA8G;AAC9G,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,yBAA8B,GAAG,mBAAmB,CAoEpG"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Experimental (`0.2.0-pre`): the API may change before a stable release.
|
|
3
|
+
*
|
|
4
|
+
* The Node push role: a lock manager shaped like the Web Locks `LockManager` subset that
|
|
5
|
+
* `withPushRole` (`@superbee/browser-local`) takes, over the same-user cross-process filesystem
|
|
6
|
+
* lock. The browser's role is a Web Lock, which a user agent shares across the tabs of one
|
|
7
|
+
* origin. Node 22 also exposes `navigator.locks`, but only within one process, so two CLI
|
|
8
|
+
* processes over one working copy would both hold it. A Node caller therefore always passes this
|
|
9
|
+
* manager explicitly (`withPushRole(name, fn, { locks: filesystemPushRoleLocks() })`) and never
|
|
10
|
+
* relies on the host default.
|
|
11
|
+
*
|
|
12
|
+
* `ifAvailable` (the only mode `withPushRole` uses) does not queue: a role held by a live process
|
|
13
|
+
* answers `null` after at most `contentionWaitMs`, which only rides out the moment between another
|
|
14
|
+
* claimer's `mkdir` and its owner record. A lock whose owner record stays missing or malformed is
|
|
15
|
+
* not "held elsewhere" but an unknown holder, and rejects with the lock's own error so it is
|
|
16
|
+
* diagnosed rather than skipped forever. A dead same-host holder's lock is reclaimed, as every
|
|
17
|
+
* filesystem lock is. A holder recorded on another host cannot be checked from here, and one that
|
|
18
|
+
* crashed before this host was renamed never clears, so `ifAvailable` rejects with the lock's own
|
|
19
|
+
* error, which says a person must check it, rather than answering `null` forever.
|
|
20
|
+
*
|
|
21
|
+
* A dead holder whose process id now belongs to another process would otherwise read as live
|
|
22
|
+
* forever. So before answering "held elsewhere" for a same-host holder, or rejecting a waiting
|
|
23
|
+
* request as held, the role asks the host when the process now carrying that id started: a
|
|
24
|
+
* process that started after the lock was claimed cannot be the claimer, and the request rejects
|
|
25
|
+
* with {@link PushRoleStaleOwnerError} naming the lock, instead of skipping every sync in silence
|
|
26
|
+
* or asking for a retry that cannot succeed. The role is released when the callback settles.
|
|
27
|
+
*/
|
|
28
|
+
import { execFile } from "node:child_process";
|
|
29
|
+
import { createHash } from "node:crypto";
|
|
30
|
+
import path from "node:path";
|
|
31
|
+
import { hostname } from "node:os";
|
|
32
|
+
import { acquireFilesystemIdentityLock, filesystemLockAgeMs as lockAgeMs, filesystemLockHeldBy as lockHeldBy, FilesystemMutationLockError } from "./filesystem-lock.js";
|
|
33
|
+
/**
|
|
34
|
+
* The role's lock names a same-host holder whose process id now belongs to a process that
|
|
35
|
+
* started after the lock was claimed: the claimer is gone and its id was reused. Nothing was
|
|
36
|
+
* run. Remove the lock (`lockPath`) once no sync is running.
|
|
37
|
+
*/
|
|
38
|
+
export class PushRoleStaleOwnerError extends Error {
|
|
39
|
+
name = "PushRoleStaleOwnerError";
|
|
40
|
+
lockPath;
|
|
41
|
+
owner;
|
|
42
|
+
processStartedAt;
|
|
43
|
+
constructor(lockPath, owner, processStartedAt) {
|
|
44
|
+
super(`push role lock '${lockPath}' was claimed by PID ${owner.pid} at ${new Date(owner.created_at_ms).toISOString()}, ` +
|
|
45
|
+
`but PID ${owner.pid} now belongs to a process started at ${new Date(processStartedAt).toISOString()}; ` +
|
|
46
|
+
`the holder is gone. Remove the lock after confirming no sync is running, then retry.`);
|
|
47
|
+
this.lockPath = lockPath;
|
|
48
|
+
this.owner = owner;
|
|
49
|
+
this.processStartedAt = processStartedAt;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** The lock key for a role name: its SHA-256, so any name is one fixed-length path component. */
|
|
53
|
+
export function pushRoleLockKey(name) {
|
|
54
|
+
return createHash("sha256").update(`superbee:push-role\0${name}`, "utf8").digest("hex");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* How long an owner-less lock may be a claim or release in progress rather than an orphan. A live
|
|
58
|
+
* claimer writes its owner record right after its `mkdir`; a releaser removes the directory right
|
|
59
|
+
* after the record. Either takes milliseconds, so an owner-less lock older than this was orphaned.
|
|
60
|
+
*/
|
|
61
|
+
const CLAIM_GRACE_MS = 5_000;
|
|
62
|
+
/** `ps` reports a start time to the second, so a genuine claimer can look up to this much later than its claim. */
|
|
63
|
+
const START_TIME_RESOLUTION_MS = 1_000;
|
|
64
|
+
/**
|
|
65
|
+
* The environment `ps` runs in: this process's own, with the C locale. `TZ` must pass through:
|
|
66
|
+
* `ps` formats `lstart` in its time zone and `Date.parse` reads it in this process's, so both
|
|
67
|
+
* must be the same zone, or a live holder can look younger than its claim.
|
|
68
|
+
*/
|
|
69
|
+
export function psEnvironment(env = process.env) {
|
|
70
|
+
return { ...env, LC_ALL: "C" };
|
|
71
|
+
}
|
|
72
|
+
/** When `pid` started, from `ps -o lstart=` under the C locale; `null` when no `ps` answers. */
|
|
73
|
+
export function processStartedAtFromPs(pid) {
|
|
74
|
+
const attempt = (binary) => new Promise((resolve) => {
|
|
75
|
+
execFile(binary, ["-o", "lstart=", "-p", String(pid)], { env: psEnvironment(), timeout: 2_000 }, (error, stdout) => {
|
|
76
|
+
if (error)
|
|
77
|
+
return resolve(null);
|
|
78
|
+
const parsed = Date.parse(stdout.trim().replace(/\s+/g, " "));
|
|
79
|
+
resolve(Number.isFinite(parsed) ? parsed : null);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
return attempt("/bin/ps").then((found) => found ?? attempt("/usr/bin/ps"));
|
|
83
|
+
}
|
|
84
|
+
/** A {@link PushRoleLockManager} whose roles are exclusive across every process of this user on this host. */
|
|
85
|
+
export function filesystemPushRoleLocks(options = {}) {
|
|
86
|
+
const contentionWaitMs = options.contentionWaitMs ?? 250;
|
|
87
|
+
const waitMs = options.waitMs ?? 5_000;
|
|
88
|
+
const startedAt = options.processStartedAt ?? processStartedAtFromPs;
|
|
89
|
+
const claimGraceMs = options.claimGraceMs ?? CLAIM_GRACE_MS;
|
|
90
|
+
const acquire = (name, wait) => acquireFilesystemIdentityLock(pushRoleLockKey(name), name, { lockRoot: options.lockRoot, pollMs: options.pollMs, hostPolicy: options.hostPolicy, waitMs: wait });
|
|
91
|
+
/**
|
|
92
|
+
* Acquire, telling a lock caught between states from an orphan. A timeout whose last look found
|
|
93
|
+
* no owner record may have caught a live holder between its claim and its record, or between
|
|
94
|
+
* removing its record and its directory on release. The lock is looked at again: gone means a
|
|
95
|
+
* release just finished, so the claim is retried once; a directory younger than the grace is a
|
|
96
|
+
* claim or release in progress, reported as held by an unknown live holder (not malformed). Only
|
|
97
|
+
* an owner-less lock older than the grace is left as the malformed, orphaned lock it is.
|
|
98
|
+
*/
|
|
99
|
+
const acquireSettled = async (name, wait) => {
|
|
100
|
+
for (let attempt = 0;; attempt += 1) {
|
|
101
|
+
try {
|
|
102
|
+
return await acquire(name, wait);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (!(error instanceof FilesystemMutationLockError) || !error.malformed || path.basename(error.lockPath) !== `${pushRoleLockKey(name)}.lock`)
|
|
106
|
+
throw error;
|
|
107
|
+
const age = await lockAgeMs(error.lockPath);
|
|
108
|
+
if (age === null && attempt === 0)
|
|
109
|
+
continue;
|
|
110
|
+
if (age === null || age < claimGraceMs) {
|
|
111
|
+
throw new FilesystemMutationLockError(`filesystem mutation lock '${error.lockPath}' is being claimed or released by another process; retry the mutation.`, { lockPath: error.lockPath, owner: null, stale: false, malformed: false });
|
|
112
|
+
}
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
return {
|
|
118
|
+
async request(name, request, callback) {
|
|
119
|
+
if (typeof name !== "string" || name === "")
|
|
120
|
+
throw new TypeError("a push role needs a name");
|
|
121
|
+
let release;
|
|
122
|
+
try {
|
|
123
|
+
release = await acquireSettled(name, request.ifAvailable ? contentionWaitMs : waitMs);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
if (!(error instanceof FilesystemMutationLockError) || !heldByLiveClaim(error))
|
|
127
|
+
throw error;
|
|
128
|
+
const owner = error.owner;
|
|
129
|
+
// This process's own id is never asked: the lock already reports as stale a record under it
|
|
130
|
+
// that an earlier process left, so a younger start here could only be a forward clock step
|
|
131
|
+
// past a claim this process still holds.
|
|
132
|
+
if (owner !== null && owner.hostname === hostname() && owner.pid !== process.pid) {
|
|
133
|
+
const started = await startedAt(owner.pid);
|
|
134
|
+
// The named owner is a snapshot. Its PID answering for a younger process proves it gone
|
|
135
|
+
// only while the lock still carries its record after that answer; a holder that released
|
|
136
|
+
// since, whose PID was then reused, would otherwise be blamed for its live replacement.
|
|
137
|
+
if (started !== null && started > owner.created_at_ms + START_TIME_RESOLUTION_MS && (await lockHeldBy(error.lockPath, owner.token)) === true) {
|
|
138
|
+
throw new PushRoleStaleOwnerError(error.lockPath, owner, started);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (!request.ifAvailable || (owner !== null && owner.hostname !== hostname()))
|
|
142
|
+
throw error;
|
|
143
|
+
return callback(null);
|
|
144
|
+
}
|
|
145
|
+
let result;
|
|
146
|
+
try {
|
|
147
|
+
result = await callback({ name });
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
await release().catch(() => { });
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
await release();
|
|
154
|
+
return result;
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* A live holder: one with a well-formed owner record, or a claim or release caught in progress
|
|
160
|
+
* (no record, not malformed). A malformed or stale lock is one the caller must see.
|
|
161
|
+
*/
|
|
162
|
+
function heldByLiveClaim(error) {
|
|
163
|
+
return !error.malformed && !error.stale;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=filesystem-push-role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem-push-role.js","sourceRoot":"","sources":["../src/filesystem-push-role.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Explicit Node filesystem construction, independent of executable or CLI startup. */
|
|
2
|
+
import { FilesystemBackend } from "./backend.js";
|
|
3
|
+
import { type FilesystemHostPolicy } from "./filesystem-host.js";
|
|
4
|
+
import { type FilesystemMutationLockOptions } from "./filesystem-lock.js";
|
|
5
|
+
import type { Bundle, InitBundleOptions } from "./types.js";
|
|
6
|
+
export { FilesystemBackend } from "./backend.js";
|
|
7
|
+
export type { FilesystemBackendOptions, FilesystemHostPolicy } from "./filesystem-host.js";
|
|
8
|
+
export interface FilesystemRuntime {
|
|
9
|
+
backend(root: string): FilesystemBackend;
|
|
10
|
+
initBundle(root: string, options?: InitBundleOptions): Promise<Bundle>;
|
|
11
|
+
withMutationLock<T>(target: string, body: () => Promise<T>, options?: Omit<FilesystemMutationLockOptions, "hostPolicy">): Promise<T>;
|
|
12
|
+
mutationLockPath(target: string, portableRoot?: string): string;
|
|
13
|
+
}
|
|
14
|
+
/** Each runtime retains its selected host; it never changes another consumer's defaults. */
|
|
15
|
+
export declare function createFilesystemRuntime(policy?: FilesystemHostPolicy): FilesystemRuntime;
|
|
16
|
+
export { snapshotHostPolicy } from "./host-policy-snapshot.js";
|
|
17
|
+
//# sourceMappingURL=filesystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,6BAA6B,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjE;AAED,4FAA4F;AAC5F,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CASxF;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Explicit Node filesystem construction, independent of executable or CLI startup. */
|
|
2
|
+
import { FilesystemBackend } from "./backend.js";
|
|
3
|
+
import { initBundle } from "./bundle.js";
|
|
4
|
+
import { captureFilesystemHostPolicy } from "./filesystem-host.js";
|
|
5
|
+
import { filesystemMutationLockPath, withFilesystemMutationLock, } from "./filesystem-lock.js";
|
|
6
|
+
export { FilesystemBackend } from "./backend.js";
|
|
7
|
+
/** Each runtime retains its selected host; it never changes another consumer's defaults. */
|
|
8
|
+
export function createFilesystemRuntime(policy) {
|
|
9
|
+
const hostPolicy = captureFilesystemHostPolicy(policy);
|
|
10
|
+
return Object.freeze({
|
|
11
|
+
backend: (root) => new FilesystemBackend(root, { hostPolicy }),
|
|
12
|
+
initBundle: (root, options) => initBundle(root, options, { hostPolicy }),
|
|
13
|
+
withMutationLock: (target, body, options) => withFilesystemMutationLock(target, body, { ...options, hostPolicy }),
|
|
14
|
+
mutationLockPath: (target, portableRoot) => filesystemMutationLockPath(target, portableRoot, hostPolicy),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export { snapshotHostPolicy } from "./host-policy-snapshot.js";
|
|
18
|
+
//# sourceMappingURL=filesystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAA6B,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAE3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAUjD,4FAA4F;AAC5F,MAAM,UAAU,uBAAuB,CAAC,MAA6B;IACnE,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC;QACtE,UAAU,EAAE,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC;QACpG,gBAAgB,EAAE,CAAI,MAAc,EAAE,IAAsB,EAAE,OAA2D,EAAE,EAAE,CAC3H,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC;QACtE,gBAAgB,EAAE,CAAC,MAAc,EAAE,YAAqB,EAAE,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;KAC1H,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { type Outcome, type OperationState, type UncertainWriteOptions } from "./uncertain-write.js";
|
|
2
|
+
import type { IntentRecord } from "./journaled-backend.js";
|
|
3
|
+
import type { Version } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* One body update's bounds. `bodyBytes` is a library ceiling in UTF-8 bytes, equal to the hosted
|
|
6
|
+
* kernel's document write bound (983,040) in raw bytes; a host that measures differently (the
|
|
7
|
+
* kernel measures canonical JSON and keeps definition documents at 64 KiB) preflights its own
|
|
8
|
+
* measure. The envelope carries the body twice (the operation and the prepared content),
|
|
9
|
+
* JSON-escaped, so it is 4 MiB.
|
|
10
|
+
*/
|
|
11
|
+
export declare const BODY_DELIVERY_LIMITS: Readonly<{
|
|
12
|
+
labelBytes: 2048;
|
|
13
|
+
bodyBytes: 983040;
|
|
14
|
+
envelopeBytes: number;
|
|
15
|
+
}>;
|
|
16
|
+
/** Complete journal reconciliation has a separate bound from each delivery envelope. */
|
|
17
|
+
export declare const BODY_RECONCILIATION_BYTES: number;
|
|
18
|
+
export interface BodyUpdateOperation {
|
|
19
|
+
readonly kind: "document.body.update";
|
|
20
|
+
readonly body: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PreparedBodyDelivery {
|
|
23
|
+
readonly schema: 1;
|
|
24
|
+
readonly scope: string;
|
|
25
|
+
readonly requestId: string;
|
|
26
|
+
readonly target: string;
|
|
27
|
+
readonly okfVersion: "0.1" | "0.2";
|
|
28
|
+
readonly operation: BodyUpdateOperation;
|
|
29
|
+
readonly expectedVersion: Version;
|
|
30
|
+
readonly local: Version;
|
|
31
|
+
readonly content: string;
|
|
32
|
+
readonly createdAt: string;
|
|
33
|
+
readonly predecessor?: Readonly<{
|
|
34
|
+
requestId: string;
|
|
35
|
+
acknowledgedVersion: Version;
|
|
36
|
+
}>;
|
|
37
|
+
}
|
|
38
|
+
export interface CommittedBodyReceipt {
|
|
39
|
+
readonly scope: string;
|
|
40
|
+
readonly requestId: string;
|
|
41
|
+
readonly target: string;
|
|
42
|
+
readonly expectedVersion: Version;
|
|
43
|
+
readonly body: string;
|
|
44
|
+
readonly version: Version;
|
|
45
|
+
readonly content: string;
|
|
46
|
+
}
|
|
47
|
+
export type BodyDeliveryOutcome = {
|
|
48
|
+
readonly kind: "committed";
|
|
49
|
+
readonly receipt: CommittedBodyReceipt;
|
|
50
|
+
} | Exclude<Outcome, {
|
|
51
|
+
kind: "committed";
|
|
52
|
+
}>;
|
|
53
|
+
export interface BodyDeliveryTransport {
|
|
54
|
+
submit(prepared: PreparedBodyDelivery, options?: {
|
|
55
|
+
signal?: AbortSignal;
|
|
56
|
+
}): Promise<BodyDeliveryOutcome>;
|
|
57
|
+
/** null positively means never recorded; unavailable evidence must be unknown or throw. */
|
|
58
|
+
lookup(prepared: PreparedBodyDelivery): Promise<BodyDeliveryOutcome | null>;
|
|
59
|
+
}
|
|
60
|
+
export interface BodyDeliveryResult {
|
|
61
|
+
readonly prepared: PreparedBodyDelivery;
|
|
62
|
+
readonly attempts: number;
|
|
63
|
+
readonly state: OperationState;
|
|
64
|
+
readonly lookups: number;
|
|
65
|
+
readonly outcome: BodyDeliveryOutcome;
|
|
66
|
+
readonly diagnostic?: string;
|
|
67
|
+
}
|
|
68
|
+
/** Capture a serialized envelope without changing its request identity or original history. */
|
|
69
|
+
export declare function validatePreparedBodyDelivery(value: unknown): PreparedBodyDelivery;
|
|
70
|
+
export type BodyDeliveryInput = Omit<PreparedBodyDelivery, "schema" | "expectedVersion" | "predecessor">;
|
|
71
|
+
export type BodyDeliveryPremise = {
|
|
72
|
+
expectedVersion: Version;
|
|
73
|
+
} | {
|
|
74
|
+
prepared: PreparedBodyDelivery;
|
|
75
|
+
receipt: CommittedBodyReceipt;
|
|
76
|
+
};
|
|
77
|
+
/** Successors derive their premise only from a fully bound predecessor receipt. */
|
|
78
|
+
export declare function prepareBodyDelivery(input: BodyDeliveryInput, premise: BodyDeliveryPremise): PreparedBodyDelivery;
|
|
79
|
+
export declare function assertSameBodyDelivery(recorded: unknown, candidate: unknown): void;
|
|
80
|
+
/** Content/version association is asserted by the trusted authority, not inferred from a later head. */
|
|
81
|
+
export declare function validateBodyReceipt(prepared: PreparedBodyDelivery, value: unknown): CommittedBodyReceipt;
|
|
82
|
+
/** Persist the envelope and attempted claim atomically BEFORE calling; this function does no persistence. */
|
|
83
|
+
export declare function performBodyDelivery(transport: BodyDeliveryTransport, prepared: PreparedBodyDelivery, attempts: number, options?: Omit<UncertainWriteOptions, "settlement">): Promise<BodyDeliveryResult>;
|
|
84
|
+
export interface BodyLocalSnapshot {
|
|
85
|
+
readonly version: Version | null;
|
|
86
|
+
readonly intents: readonly IntentRecord[];
|
|
87
|
+
readonly shared: Readonly<{
|
|
88
|
+
version: Version;
|
|
89
|
+
content: string;
|
|
90
|
+
}> | null;
|
|
91
|
+
}
|
|
92
|
+
export interface BodyReconciliationProposal {
|
|
93
|
+
readonly action: "preserve-local" | "replace-local-under-CAS";
|
|
94
|
+
readonly receipt: CommittedBodyReceipt;
|
|
95
|
+
readonly shared: Readonly<{
|
|
96
|
+
action: "preserve-shared";
|
|
97
|
+
} | {
|
|
98
|
+
action: "replace-shared-under-CAS";
|
|
99
|
+
version: Version;
|
|
100
|
+
content: string;
|
|
101
|
+
}>;
|
|
102
|
+
readonly expected: BodyLocalSnapshot;
|
|
103
|
+
}
|
|
104
|
+
/** Pure proposal only. Replacement requires an atomic full-journal, document AND shared-base CAS. */
|
|
105
|
+
export declare function reconcileBodyReceipt(prepared: PreparedBodyDelivery, receipt: CommittedBodyReceipt, snapshot: BodyLocalSnapshot): BodyReconciliationProposal;
|
|
106
|
+
//# sourceMappingURL=governed-body-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governed-body-write.d.ts","sourceRoot":"","sources":["../src/governed-body-write.ts"],"names":[],"mappings":"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"}
|