@superbee/core 0.2.0-pre.4 → 0.2.0-pre.40
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 +1209 -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 +22 -2
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +153 -38
- package/dist/backend.js.map +1 -1
- package/dist/blob-contract.d.ts +82 -0
- package/dist/blob-contract.d.ts.map +1 -0
- package/dist/blob-contract.js +134 -0
- package/dist/blob-contract.js.map +1 -0
- package/dist/blob-journal.d.ts +303 -0
- package/dist/blob-journal.d.ts.map +1 -0
- package/dist/blob-journal.js +541 -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 +207 -0
- package/dist/bundle-health/report.d.ts.map +1 -0
- package/dist/bundle-health/report.js +454 -0
- package/dist/bundle-health/report.js.map +1 -0
- package/dist/bundle-ops.d.ts +3 -2
- package/dist/bundle-ops.d.ts.map +1 -1
- package/dist/bundle-ops.js +4 -4
- package/dist/bundle-ops.js.map +1 -1
- package/dist/bundle.d.ts +3 -4
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +5 -14
- 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/code-unit-order.d.ts +15 -0
- package/dist/code-unit-order.d.ts.map +1 -0
- package/dist/code-unit-order.js +17 -0
- package/dist/code-unit-order.js.map +1 -0
- package/dist/connector-request.d.ts +112 -0
- package/dist/connector-request.d.ts.map +1 -0
- package/dist/connector-request.js +495 -0
- package/dist/connector-request.js.map +1 -0
- package/dist/connectors.d.ts +297 -0
- package/dist/connectors.d.ts.map +1 -0
- package/dist/connectors.js +1233 -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 +191 -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 +7 -2
- package/dist/document-codec.d.ts.map +1 -1
- package/dist/document-codec.js +8 -5
- 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 +35 -13
- package/dist/document-mutation.d.ts.map +1 -1
- package/dist/document-mutation.js +124 -60
- package/dist/document-mutation.js.map +1 -1
- package/dist/document-transfer.d.ts +208 -0
- package/dist/document-transfer.d.ts.map +1 -0
- package/dist/document-transfer.js +928 -0
- package/dist/document-transfer.js.map +1 -0
- 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 +21 -9
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +72 -14
- 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 +97 -21
- package/dist/filesystem-identity.d.ts.map +1 -1
- package/dist/filesystem-identity.js +398 -119
- 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/frontmatter.d.ts +8 -6
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +5 -4
- package/dist/frontmatter.js.map +1 -1
- package/dist/governed-body-write.d.ts +8 -1
- package/dist/governed-body-write.d.ts.map +1 -1
- package/dist/governed-body-write.js +9 -2
- package/dist/governed-body-write.js.map +1 -1
- package/dist/heads-digest.d.ts.map +1 -1
- package/dist/heads-digest.js +2 -1
- package/dist/heads-digest.js.map +1 -1
- 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 +68 -0
- package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
- package/dist/hosted-client/blob-delivery.js +170 -0
- package/dist/hosted-client/blob-delivery.js.map +1 -0
- package/dist/hosted-client/blob-write.d.ts +387 -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 +457 -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/identity-fold.d.ts +18 -0
- package/dist/identity-fold.d.ts.map +1 -0
- package/dist/identity-fold.js +22 -0
- package/dist/identity-fold.js.map +1 -0
- package/dist/index.d.ts +41 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -9
- package/dist/index.js.map +1 -1
- package/dist/indexeddb-backend.d.ts +25 -33
- package/dist/indexeddb-backend.d.ts.map +1 -1
- package/dist/indexeddb-backend.js +264 -8
- package/dist/indexeddb-backend.js.map +1 -1
- package/dist/inventory-guard.d.ts +58 -0
- package/dist/inventory-guard.d.ts.map +1 -0
- package/dist/inventory-guard.js +169 -0
- package/dist/inventory-guard.js.map +1 -0
- package/dist/journaled-backend.d.ts +149 -9
- package/dist/journaled-backend.d.ts.map +1 -1
- package/dist/journaled-backend.js +64 -58
- 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 +452 -0
- package/dist/kind-authoring.js.map +1 -0
- package/dist/kind-changes.d.ts +45 -0
- package/dist/kind-changes.d.ts.map +1 -0
- package/dist/kind-changes.js +96 -0
- package/dist/kind-changes.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-deprecation.d.ts +32 -0
- package/dist/kind-deprecation.d.ts.map +1 -0
- package/dist/kind-deprecation.js +141 -0
- package/dist/kind-deprecation.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 +111 -2
- package/dist/kinds.d.ts.map +1 -1
- package/dist/kinds.js +386 -20
- package/dist/kinds.js.map +1 -1
- package/dist/link-emit.d.ts +29 -0
- package/dist/link-emit.d.ts.map +1 -0
- package/dist/link-emit.js +39 -0
- package/dist/link-emit.js.map +1 -0
- package/dist/link-types.d.ts +27 -0
- package/dist/link-types.d.ts.map +1 -0
- package/dist/link-types.js +60 -0
- package/dist/link-types.js.map +1 -0
- package/dist/links.d.ts +52 -3
- package/dist/links.d.ts.map +1 -1
- package/dist/links.js +259 -18
- 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 +3 -0
- package/dist/memory-backend.d.ts.map +1 -1
- package/dist/memory-backend.js +44 -2
- package/dist/memory-backend.js.map +1 -1
- package/dist/okf-actor.d.ts +1 -0
- package/dist/okf-actor.d.ts.map +1 -1
- package/dist/okf-actor.js +1 -0
- package/dist/okf-actor.js.map +1 -1
- package/dist/okf-authoring.d.ts +4 -0
- package/dist/okf-authoring.d.ts.map +1 -0
- package/dist/okf-authoring.js +12 -0
- package/dist/okf-authoring.js.map +1 -0
- package/dist/okf-standard-fields.d.ts +3 -0
- package/dist/okf-standard-fields.d.ts.map +1 -1
- package/dist/okf-standard-fields.js +3 -0
- package/dist/okf-standard-fields.js.map +1 -1
- package/dist/path-fold.d.ts +39 -0
- package/dist/path-fold.d.ts.map +1 -0
- package/dist/path-fold.js +41 -0
- package/dist/path-fold.js.map +1 -0
- package/dist/paths.d.ts +18 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +32 -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 +43 -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 +124 -0
- package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
- package/dist/recipe-lifecycle/evolution.js +993 -0
- package/dist/recipe-lifecycle/evolution.js.map +1 -0
- package/dist/recipe-lifecycle/index.d.ts +34 -0
- package/dist/recipe-lifecycle/index.d.ts.map +1 -0
- package/dist/recipe-lifecycle/index.js +28 -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 +604 -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/retirement-apply.d.ts +59 -0
- package/dist/recipe-lifecycle/retirement-apply.d.ts.map +1 -0
- package/dist/recipe-lifecycle/retirement-apply.js +165 -0
- package/dist/recipe-lifecycle/retirement-apply.js.map +1 -0
- package/dist/recipe-lifecycle/retirement.d.ts +89 -0
- package/dist/recipe-lifecycle/retirement.d.ts.map +1 -0
- package/dist/recipe-lifecycle/retirement.js +347 -0
- package/dist/recipe-lifecycle/retirement.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/recipe-set-preflight.d.ts +139 -0
- package/dist/recipe-set-preflight.d.ts.map +1 -0
- package/dist/recipe-set-preflight.js +536 -0
- package/dist/recipe-set-preflight.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 +74 -0
- package/dist/record-overlay/policy.d.ts.map +1 -0
- package/dist/record-overlay/policy.js +235 -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 +58 -13
- package/dist/remote-backend.d.ts.map +1 -1
- package/dist/remote-backend.js +156 -36
- 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 +17 -1
- package/dist/remote-error.d.ts.map +1 -1
- package/dist/remote-error.js +32 -2
- package/dist/remote-error.js.map +1 -1
- 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 +1 -1
- package/dist/remote-parsers.js +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/driver.d.ts +40 -0
- package/dist/source-engine/driver.d.ts.map +1 -0
- package/dist/source-engine/driver.js +392 -0
- package/dist/source-engine/driver.js.map +1 -0
- package/dist/source-engine/evidence.d.ts +39 -0
- package/dist/source-engine/evidence.d.ts.map +1 -0
- package/dist/source-engine/evidence.js +54 -0
- package/dist/source-engine/evidence.js.map +1 -0
- package/dist/source-engine/guard.d.ts +87 -0
- package/dist/source-engine/guard.d.ts.map +1 -0
- package/dist/source-engine/guard.js +427 -0
- package/dist/source-engine/guard.js.map +1 -0
- package/dist/source-engine/index.d.ts +33 -0
- package/dist/source-engine/index.d.ts.map +1 -0
- package/dist/source-engine/index.js +26 -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 +10 -0
- package/dist/source-engine/observe.d.ts.map +1 -0
- package/dist/source-engine/observe.js +270 -0
- package/dist/source-engine/observe.js.map +1 -0
- package/dist/source-engine/overlay.d.ts +50 -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/snapshot.d.ts +104 -0
- package/dist/source-engine/snapshot.d.ts.map +1 -0
- package/dist/source-engine/snapshot.js +240 -0
- package/dist/source-engine/snapshot.js.map +1 -0
- package/dist/source-engine/types.d.ts +292 -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 +97 -0
- package/dist/source-harness/fixture.d.ts.map +1 -0
- package/dist/source-harness/fixture.js +276 -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 +9 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +6 -1
- package/dist/storage.js.map +1 -1
- package/dist/string-identity-agreement.d.ts +35 -0
- package/dist/string-identity-agreement.d.ts.map +1 -0
- package/dist/string-identity-agreement.js +72 -0
- package/dist/string-identity-agreement.js.map +1 -0
- package/dist/types.d.ts +41 -6
- 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 +157 -17
- package/dist/uncertain-write.d.ts.map +1 -1
- package/dist/uncertain-write.js +86 -30
- 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/view-launch-contract.d.ts +14 -0
- package/dist/view-launch-contract.d.ts.map +1 -0
- package/dist/view-launch-contract.js +23 -0
- package/dist/view-launch-contract.js.map +1 -0
- 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 +140 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/source-harness/conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixture harness: replay a profile's scripted provider answers through the engine, map and
|
|
3
|
+
* write each committed page through record-overlay over a MemoryBackend bundle, and check each
|
|
4
|
+
* required scenario's outcome rule. The rules are profile-independent, so one list holds every
|
|
5
|
+
* profile, generic or extension, to the same behaviour.
|
|
6
|
+
*/
|
|
7
|
+
import { type Connector } from "../connectors.js";
|
|
8
|
+
import type { OverlayReceipt, RecordChange } from "../record-overlay/types.js";
|
|
9
|
+
import { type SourceState } from "../source-engine/machine-state.js";
|
|
10
|
+
import { type FetchIdentity } from "../source-engine/robots.js";
|
|
11
|
+
import type { ObserveSourceOptions, SourceBudget, SourceProfile, SourceRunReceipt } from "../source-engine/types.js";
|
|
12
|
+
import type { ConceptId, Frontmatter, OkfDocument } from "../types.js";
|
|
13
|
+
import { type PeerRequest, type ScriptedExchange, type TransportCredential } from "./peer.js";
|
|
14
|
+
/** Every profile's fixture includes these; a name may add a variant after a dot (`cursor.resume.page-number`). */
|
|
15
|
+
export declare const REQUIRED_SCENARIOS: readonly ["errors.auth", "errors.rate-limit", "errors.server", "errors.malformed", "page.incomplete", "cursor.resume", "cursor.hostile", "complete.disappear", "fields.owned-conflict", "fields.unmapped", "fields.null", "identity.missing", "hosts.redirect", "hosts.undeclared"];
|
|
16
|
+
export type RequiredScenario = (typeof REQUIRED_SCENARIOS)[number];
|
|
17
|
+
/** The required scenario a name counts toward, or undefined. */
|
|
18
|
+
export declare function scenarioBase(name: string): RequiredScenario | undefined;
|
|
19
|
+
/** Required scenarios no name covers. */
|
|
20
|
+
export declare function missingScenarios(names: Iterable<string>): RequiredScenario[];
|
|
21
|
+
export interface SourceFixture {
|
|
22
|
+
connector: Connector;
|
|
23
|
+
profile: SourceProfile<any, any>;
|
|
24
|
+
spec: unknown;
|
|
25
|
+
/**
|
|
26
|
+
* The bundle's starting documents: Conventions for the target Kind, `Signal` and `Source Feed`,
|
|
27
|
+
* the Source Feed, and any overlay documents.
|
|
28
|
+
*/
|
|
29
|
+
documents: readonly OkfDocument[];
|
|
30
|
+
feed: ConceptId;
|
|
31
|
+
identity?: FetchIdentity;
|
|
32
|
+
credential?: TransportCredential;
|
|
33
|
+
/** Explicit fixture-only host assertion; never inferred from a declaration or used for live consent. */
|
|
34
|
+
readPolicyApproval?: ObserveSourceOptions["readPolicyApproval"];
|
|
35
|
+
}
|
|
36
|
+
export interface SourceRunScript {
|
|
37
|
+
mode?: "incremental" | "complete";
|
|
38
|
+
/** The run's observation time; runs default to one hour apart. */
|
|
39
|
+
at?: string;
|
|
40
|
+
exchanges: readonly ScriptedExchange[];
|
|
41
|
+
/** Editor edits applied before the run. */
|
|
42
|
+
edits?: ReadonlyArray<{
|
|
43
|
+
id: ConceptId;
|
|
44
|
+
set: Record<string, unknown>;
|
|
45
|
+
}>;
|
|
46
|
+
budget?: Partial<SourceBudget>;
|
|
47
|
+
}
|
|
48
|
+
export interface SourceScenario {
|
|
49
|
+
name: string;
|
|
50
|
+
/** Replaces the fixture's spec for this scenario. */
|
|
51
|
+
spec?: unknown;
|
|
52
|
+
runs: readonly SourceRunScript[];
|
|
53
|
+
}
|
|
54
|
+
export interface ScenarioRun {
|
|
55
|
+
receipt: SourceRunReceipt;
|
|
56
|
+
/** Every change a commit carried, replays of pending changes included. */
|
|
57
|
+
changes: RecordChange[];
|
|
58
|
+
/** One record-overlay receipt per committed page. */
|
|
59
|
+
overlay: OverlayReceipt[];
|
|
60
|
+
/** The run's findings, written. */
|
|
61
|
+
findings: OverlayReceipt;
|
|
62
|
+
/** Requests that reached the provider. */
|
|
63
|
+
received: PeerRequest[];
|
|
64
|
+
unscripted: string[];
|
|
65
|
+
unused: ScriptedExchange[];
|
|
66
|
+
stateBefore: SourceState | null;
|
|
67
|
+
state: SourceState | null;
|
|
68
|
+
/** Every document's frontmatter after the run. */
|
|
69
|
+
documents: Record<string, Frontmatter>;
|
|
70
|
+
}
|
|
71
|
+
export interface ScenarioResult {
|
|
72
|
+
name: string;
|
|
73
|
+
base: RequiredScenario | undefined;
|
|
74
|
+
/** The declared hosts the scenario's spec may reach. */
|
|
75
|
+
hosts: string[];
|
|
76
|
+
threshold: number;
|
|
77
|
+
edits: Array<{
|
|
78
|
+
run: number;
|
|
79
|
+
id: ConceptId;
|
|
80
|
+
set: Record<string, unknown>;
|
|
81
|
+
}>;
|
|
82
|
+
runs: ScenarioRun[];
|
|
83
|
+
}
|
|
84
|
+
/** Run one scenario's runs in order over one fresh bundle and one machine state. */
|
|
85
|
+
export declare function runSourceScenario(fixture: SourceFixture, scenario: SourceScenario): Promise<ScenarioResult>;
|
|
86
|
+
/**
|
|
87
|
+
* The problems with one scenario's result: its required outcome rule, plus for every scenario no
|
|
88
|
+
* request to a host outside the declared set and no request the fixture did not script.
|
|
89
|
+
*/
|
|
90
|
+
export declare function checkScenario(result: ScenarioResult): string[];
|
|
91
|
+
/** Run every scenario of a fixture, check each, and list the required scenarios it lacks. */
|
|
92
|
+
export declare function runSourceFixture(fixture: SourceFixture, scenarios: readonly SourceScenario[]): Promise<{
|
|
93
|
+
results: ScenarioResult[];
|
|
94
|
+
problems: Record<string, string[]>;
|
|
95
|
+
missing: RequiredScenario[];
|
|
96
|
+
}>;
|
|
97
|
+
//# sourceMappingURL=fixture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/source-harness/fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixture harness: replay a profile's scripted provider answers through the engine, map and
|
|
3
|
+
* write each committed page through record-overlay over a MemoryBackend bundle, and check each
|
|
4
|
+
* required scenario's outcome rule. The rules are profile-independent, so one list holds every
|
|
5
|
+
* profile, generic or extension, to the same behaviour.
|
|
6
|
+
*/
|
|
7
|
+
import { bindSourceFeed, credentialHosts } from "../connectors.js";
|
|
8
|
+
import { mutateDocument } from "../document-mutation.js";
|
|
9
|
+
import { loadKinds } from "../kinds-load.js";
|
|
10
|
+
import { MemoryBackend } from "../memory-backend.js";
|
|
11
|
+
import { buildSourceIndex } from "../record-overlay/source-index.js";
|
|
12
|
+
import { createSourceOverlayAdapter } from "../source-engine/overlay.js";
|
|
13
|
+
import { MemoryMachineState } from "../source-engine/machine-state.js";
|
|
14
|
+
import { observeSource } from "../source-engine/observe.js";
|
|
15
|
+
import { fetchIdentity } from "../source-engine/robots.js";
|
|
16
|
+
import { ExchangePeer, peerTransport } from "./peer.js";
|
|
17
|
+
/** Every profile's fixture includes these; a name may add a variant after a dot (`cursor.resume.page-number`). */
|
|
18
|
+
export const REQUIRED_SCENARIOS = Object.freeze([
|
|
19
|
+
"errors.auth",
|
|
20
|
+
"errors.rate-limit",
|
|
21
|
+
"errors.server",
|
|
22
|
+
"errors.malformed",
|
|
23
|
+
"page.incomplete",
|
|
24
|
+
"cursor.resume",
|
|
25
|
+
"cursor.hostile",
|
|
26
|
+
"complete.disappear",
|
|
27
|
+
"fields.owned-conflict",
|
|
28
|
+
"fields.unmapped",
|
|
29
|
+
"fields.null",
|
|
30
|
+
"identity.missing",
|
|
31
|
+
"hosts.redirect",
|
|
32
|
+
"hosts.undeclared",
|
|
33
|
+
]);
|
|
34
|
+
/** The required scenario a name counts toward, or undefined. */
|
|
35
|
+
export function scenarioBase(name) {
|
|
36
|
+
return REQUIRED_SCENARIOS.find((base) => name === base || name.startsWith(`${base}.`));
|
|
37
|
+
}
|
|
38
|
+
/** Required scenarios no name covers. */
|
|
39
|
+
export function missingScenarios(names) {
|
|
40
|
+
const covered = new Set();
|
|
41
|
+
for (const name of names) {
|
|
42
|
+
const base = scenarioBase(name);
|
|
43
|
+
if (base)
|
|
44
|
+
covered.add(base);
|
|
45
|
+
}
|
|
46
|
+
return REQUIRED_SCENARIOS.filter((base) => !covered.has(base));
|
|
47
|
+
}
|
|
48
|
+
const FIXTURE_IDENTITY = fetchIdentity("SuperbeeSourceFixture/1 (+https://superbee.example.org/source-fixture)");
|
|
49
|
+
const SOURCE_ACTOR = "process:source-fixture";
|
|
50
|
+
const EDITOR = "human:fixture-editor";
|
|
51
|
+
const START = Date.parse("2026-01-01T00:00:00.000Z");
|
|
52
|
+
function declaredHosts(fixture, spec, bound) {
|
|
53
|
+
if (bound.source.request?.read_policy !== undefined)
|
|
54
|
+
return [bound.source.request.host];
|
|
55
|
+
try {
|
|
56
|
+
const checked = fixture.profile.validateSpec(spec);
|
|
57
|
+
if (!checked.ok)
|
|
58
|
+
return [];
|
|
59
|
+
const reach = new Set([...credentialHosts(fixture.connector.auth), ...fixture.connector.domains]);
|
|
60
|
+
return [...new Set(fixture.profile.hostsFor(checked.spec, bound))].filter((host) => reach.has(host)).sort();
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** Run one scenario's runs in order over one fresh bundle and one machine state. */
|
|
67
|
+
export async function runSourceScenario(fixture, scenario) {
|
|
68
|
+
const backend = new MemoryBackend();
|
|
69
|
+
await backend.writeReserved("", "index.md", "---\nokf_version: '0.2'\n---\n# Source fixture\n");
|
|
70
|
+
const bundle = { root: "memory://source-fixture", backend };
|
|
71
|
+
for (const doc of fixture.documents)
|
|
72
|
+
await backend.write(doc.id, { id: doc.id, frontmatter: structuredClone(doc.frontmatter), body: doc.body });
|
|
73
|
+
const registry = await loadKinds(bundle);
|
|
74
|
+
const overlay = { bundle, registry, okfVersion: "0.2" };
|
|
75
|
+
const bound = bindSourceFeed(fixture.connector, (await backend.read(fixture.feed)).doc, registry, { okfVersion: "0.2" });
|
|
76
|
+
const state = new MemoryMachineState();
|
|
77
|
+
let accepted = { v: 1, entries: [] };
|
|
78
|
+
const spec = scenario.spec !== undefined ? scenario.spec : fixture.spec;
|
|
79
|
+
const slug = `${fixture.feed.split("/").pop().replace(/[^a-z0-9-]+/gi, "-").toLowerCase()}-source`;
|
|
80
|
+
const result = {
|
|
81
|
+
name: scenario.name, base: scenarioBase(scenario.name), hosts: declaredHosts(fixture, spec, bound),
|
|
82
|
+
threshold: bound.policy.missing_threshold ?? 2, edits: [], runs: [],
|
|
83
|
+
};
|
|
84
|
+
for (const [index, script] of scenario.runs.entries()) {
|
|
85
|
+
for (const edit of script.edits ?? []) {
|
|
86
|
+
result.edits.push({ run: index, id: edit.id, set: { ...edit.set } });
|
|
87
|
+
await mutateDocument({
|
|
88
|
+
bundle, id: edit.id, mode: "patch", registry, strict: false, actor: EDITOR,
|
|
89
|
+
buildCandidate: (existing) => ({ frontmatter: { ...existing.frontmatter, ...edit.set }, body: existing.body }),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
const controller = new AbortController();
|
|
93
|
+
const peer = new ExchangePeer(script.exchanges, { onHang: () => controller.abort() });
|
|
94
|
+
const at = script.at ?? new Date(START + index * 3_600_000).toISOString();
|
|
95
|
+
const stateBefore = (await state.read(fixture.feed))?.state ?? null;
|
|
96
|
+
const changes = [];
|
|
97
|
+
const overlayReceipts = [];
|
|
98
|
+
const adapter = createSourceOverlayAdapter({ content: overlay, policy: bound.policy, actor: SOURCE_ACTOR,
|
|
99
|
+
overlays: await buildSourceIndex(bundle), accepted, slug });
|
|
100
|
+
if (stateBefore) {
|
|
101
|
+
await adapter.reconcile(stateBefore, at);
|
|
102
|
+
accepted = adapter.stagedSnapshot();
|
|
103
|
+
adapter.consume();
|
|
104
|
+
}
|
|
105
|
+
const jointState = {
|
|
106
|
+
read: state.read.bind(state),
|
|
107
|
+
async write(key, value, expected) {
|
|
108
|
+
try {
|
|
109
|
+
const version = await state.write(key, value, expected);
|
|
110
|
+
accepted = adapter.stagedSnapshot() ?? adapter.snapshot();
|
|
111
|
+
adapter.consume();
|
|
112
|
+
return version;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
adapter.discard();
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
const receipt = await observeSource({
|
|
121
|
+
connector: fixture.connector, bound, profile: fixture.profile, spec, state: jointState, identity: fixture.identity ?? FIXTURE_IDENTITY,
|
|
122
|
+
transport: peerTransport(peer, fixture.credential ? { credential: fixture.credential } : {}),
|
|
123
|
+
readPolicyApproval: fixture.readPolicyApproval,
|
|
124
|
+
mode: script.mode ?? "incremental", signal: controller.signal, now: () => new Date(at),
|
|
125
|
+
...(script.budget ? { budget: script.budget } : {}),
|
|
126
|
+
commit: async (page) => {
|
|
127
|
+
const applied = await adapter.commit(page);
|
|
128
|
+
changes.push(...page.changes);
|
|
129
|
+
overlayReceipts.push(applied.receipt);
|
|
130
|
+
return applied;
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
const findings = await adapter.applyFindings(receipt.findings, at);
|
|
134
|
+
const documents = {};
|
|
135
|
+
for (const id of await backend.list())
|
|
136
|
+
documents[id] = (await backend.read(id)).doc.frontmatter;
|
|
137
|
+
result.runs.push({
|
|
138
|
+
receipt, changes, overlay: overlayReceipts, findings, received: [...peer.received], unscripted: [...peer.unscripted], unused: peer.unused(),
|
|
139
|
+
stateBefore, state: (await state.read(fixture.feed))?.state ?? null, documents,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
const json = (value) => JSON.stringify(value ?? null);
|
|
145
|
+
const outcomeFindings = (run) => run.receipt.findings.filter((finding) => finding.key.startsWith("source:"));
|
|
146
|
+
const hasCode = (run, ...codes) => run.receipt.diagnostics.some((d) => codes.includes(d.code));
|
|
147
|
+
const writesNothing = (run) => run.receipt.pages === 0 && run.changes.length === 0;
|
|
148
|
+
const cursorKept = (run) => json(run.state?.cursor) === json(run.stateBefore?.cursor);
|
|
149
|
+
const hostOf = (url) => {
|
|
150
|
+
try {
|
|
151
|
+
return new URL(url).hostname;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
const reachedHost = (run, url) => run.received.some((request) => hostOf(request.url) === hostOf(url));
|
|
158
|
+
/** At least one run satisfies `predicate`, or the scenario fails with `missing`. */
|
|
159
|
+
function some(result, missing, predicate) {
|
|
160
|
+
return result.runs.some(predicate) ? [] : [missing];
|
|
161
|
+
}
|
|
162
|
+
const CHECKS = {
|
|
163
|
+
"errors.auth": (r) => some(r, "no run ends credential_refused with nothing written, no retry, the cursor kept and one finding", (run) => run.receipt.outcome === "credential_refused" && !run.receipt.retry && writesNothing(run) && cursorKept(run) && outcomeFindings(run).length === 1),
|
|
164
|
+
"errors.rate-limit": (r) => some(r, "no run commits a page and then ends deferred on 429 with a Retry-After, the cursor at its last committed page", (run) => run.receipt.outcome === "deferred" && run.receipt.status === 429 && run.receipt.pages >= 1 && run.receipt.retry_after !== undefined
|
|
165
|
+
&& run.state?.open === true && json(run.state.cursor) === json(run.receipt.cursor)),
|
|
166
|
+
"errors.server": (r) => some(r, "no run ends provider_unavailable on a 5xx with nothing written and one finding", (run) => run.receipt.outcome === "provider_unavailable" && (run.receipt.status ?? 0) >= 500 && writesNothing(run) && outcomeFindings(run).length === 1),
|
|
167
|
+
"errors.malformed": (r) => [
|
|
168
|
+
...some(r, "no run ends unsupported_content with nothing written and one finding", (run) => run.receipt.outcome === "unsupported_content" && writesNothing(run) && outcomeFindings(run).length === 1),
|
|
169
|
+
...some(r, "no run ends too_large with nothing written and one finding", (run) => run.receipt.outcome === "too_large" && writesNothing(run) && outcomeFindings(run).length === 1),
|
|
170
|
+
],
|
|
171
|
+
"page.incomplete": (r) => some(r, "no run commits a page, stops before the pass ends and stores the cursor of its last committed page as a partial observation", (run) => run.receipt.pages >= 1 && !run.receipt.pass.ended && !run.receipt.pass.complete && run.receipt.outcome !== "observed"
|
|
172
|
+
&& run.state?.open === true && json(run.state.cursor) === json(run.receipt.cursor) && run.receipt.changes.disappeared === 0),
|
|
173
|
+
"cursor.resume": (r) => {
|
|
174
|
+
const resumed = r.runs.map((run, index) => ({ run, index })).filter(({ run, index }) => index > 0 && run.receipt.pass.resumed && r.runs[index - 1].state?.open === true);
|
|
175
|
+
if (!resumed.length)
|
|
176
|
+
return ["no run resumes a pass an earlier run left open"];
|
|
177
|
+
const problems = [];
|
|
178
|
+
for (const { run, index } of resumed) {
|
|
179
|
+
if (run.receipt.pass.complete)
|
|
180
|
+
problems.push(`run ${index + 1} resumed a pass and counted it complete`);
|
|
181
|
+
const known = run.stateBefore?.records ?? {};
|
|
182
|
+
for (const change of run.changes) {
|
|
183
|
+
if (change.change_kind === "new" && Object.hasOwn(known, change.external_id) && !known[change.external_id].gone)
|
|
184
|
+
problems.push(`run ${index + 1} reported ${change.external_id} as new after resuming`);
|
|
185
|
+
if (change.change_kind === "changed" && known[change.external_id]?.digest === change.content_digest)
|
|
186
|
+
problems.push(`run ${index + 1} reported an overlap record ${change.external_id} as changed`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return problems;
|
|
190
|
+
},
|
|
191
|
+
"cursor.hostile": (r) => some(r, "no run refuses a provider-steered request (a host, redirect, address, scheme or url refusal) after a committed page", (run) => run.receipt.pages >= 1 && run.receipt.outcome === "refused"
|
|
192
|
+
&& run.receipt.requests.some((row) => row.purpose === "page" && row.refused !== undefined && /^(host|redirect|address|scheme|url)_/.test(row.refused))),
|
|
193
|
+
"complete.disappear": (r) => {
|
|
194
|
+
const problems = [];
|
|
195
|
+
let disappeared = 0;
|
|
196
|
+
let completeSeen = false;
|
|
197
|
+
let partialBetween = false;
|
|
198
|
+
r.runs.forEach((run, index) => {
|
|
199
|
+
const before = run.stateBefore?.records ?? {};
|
|
200
|
+
const after = run.state?.records ?? {};
|
|
201
|
+
for (const [id, entry] of Object.entries(after)) {
|
|
202
|
+
const grew = entry.missing - (before[id]?.missing ?? 0);
|
|
203
|
+
if (!run.receipt.pass.complete && grew > 0)
|
|
204
|
+
problems.push(`run ${index + 1} is not complete and counted ${id} missing`);
|
|
205
|
+
if (grew > 1)
|
|
206
|
+
problems.push(`run ${index + 1} counted ${id} missing more than once`);
|
|
207
|
+
}
|
|
208
|
+
for (const change of run.changes.filter((c) => c.change_kind === "disappeared")) {
|
|
209
|
+
disappeared += 1;
|
|
210
|
+
if (!run.receipt.pass.complete)
|
|
211
|
+
problems.push(`run ${index + 1} reported ${change.external_id} disappeared without a complete observation`);
|
|
212
|
+
if (change.missing_count !== r.threshold)
|
|
213
|
+
problems.push(`${change.external_id} disappeared after ${change.missing_count} complete observations, not ${r.threshold}`);
|
|
214
|
+
}
|
|
215
|
+
if (run.receipt.pass.complete)
|
|
216
|
+
completeSeen = true;
|
|
217
|
+
else if (completeSeen && run.receipt.pages >= 1)
|
|
218
|
+
partialBetween = true;
|
|
219
|
+
});
|
|
220
|
+
if (!disappeared)
|
|
221
|
+
problems.push("no record disappeared");
|
|
222
|
+
if (!partialBetween)
|
|
223
|
+
problems.push("no partial or resumed pass ran between complete observations");
|
|
224
|
+
return problems;
|
|
225
|
+
},
|
|
226
|
+
"fields.owned-conflict": (r) => some(r, "no run refuses an owned field the editor changed, keeps the editor's value and raises a Signal", (run, index) => run.overlay.some((receipt) => receipt.refusals.some((refusal) => refusal.code === "OVERLAY_DOC_CONFLICT" && refusal.target !== undefined && refusal.field !== undefined
|
|
227
|
+
&& r.edits.some((edit) => edit.run <= index && edit.id === refusal.target && Object.hasOwn(edit.set, refusal.field) && json(run.documents[refusal.target]?.[refusal.field]) === json(edit.set[refusal.field])))
|
|
228
|
+
&& receipt.results.some((step) => (step.op === "create-signal" || step.op === "collapse-signal") && step.outcome === "applied"))),
|
|
229
|
+
"fields.unmapped": (r) => some(r, "no run keeps or refuses a value outside the values table with a mapping finding and no write of that field", (run) => run.receipt.diagnostics.some((d) => (d.code === "VALUE_UNMAPPED" || d.code === "RECORD_REFUSED")
|
|
230
|
+
&& run.receipt.findings.some((f) => f.key.startsWith("mapping:") && f.facts?.code === d.code)
|
|
231
|
+
&& !run.changes.some((c) => c.external_id === d.external_id && c.changed_fields.includes(d.field)))),
|
|
232
|
+
"fields.null": (r) => [
|
|
233
|
+
...some(r, "no committed change removes an optional field the provider sent empty", (run) => run.changes.some((c) => c.before !== null && c.after !== null && Object.keys(c.before).some((field) => !Object.hasOwn(c.after, field) && c.changed_fields.includes(field)))),
|
|
234
|
+
...some(r, "no run keeps a required field the provider sent empty (VALUE_MISSING)", (run) => hasCode(run, "VALUE_MISSING")),
|
|
235
|
+
],
|
|
236
|
+
"identity.missing": (r) => some(r, "no run skips a record without an identity and raises a finding", (run) => hasCode(run, "IDENTITY_MISSING") && run.receipt.findings.some((f) => f.key.endsWith(":IDENTITY_MISSING"))),
|
|
237
|
+
"hosts.redirect": (r) => some(r, "no run refuses a redirect to another host before requesting it", (run) => run.receipt.outcome === "refused" && (run.receipt.reason === "host_refused" || run.receipt.reason === "redirect_refused")
|
|
238
|
+
&& run.receipt.requests.some((row) => row.refused === run.receipt.reason && !reachedHost(run, row.url))),
|
|
239
|
+
"hosts.undeclared": (r) => some(r, "no run refuses an undeclared host or method with no request to it", (run) => run.receipt.outcome === "refused" && ((run.receipt.reason === "hosts_undeclared" && run.received.length === 0)
|
|
240
|
+
|| (run.receipt.reason === "host_refused" && run.receipt.requests.some((row) => row.refused === "host_refused" && !reachedHost(run, row.url)))
|
|
241
|
+
|| (run.receipt.reason === "method_refused" && run.receipt.requests.some((row) => row.refused === "method_refused" && !run.received.some((request) => request.method === row.method && request.url === row.url))))),
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* The problems with one scenario's result: its required outcome rule, plus for every scenario no
|
|
245
|
+
* request to a host outside the declared set and no request the fixture did not script.
|
|
246
|
+
*/
|
|
247
|
+
export function checkScenario(result) {
|
|
248
|
+
const problems = [];
|
|
249
|
+
const allowed = new Set(result.hosts);
|
|
250
|
+
result.runs.forEach((run, index) => {
|
|
251
|
+
for (const request of run.received) {
|
|
252
|
+
const host = new URL(request.url).hostname;
|
|
253
|
+
if (!allowed.has(host))
|
|
254
|
+
problems.push(`run ${index + 1} reached undeclared host ${host}`);
|
|
255
|
+
}
|
|
256
|
+
for (const request of run.unscripted)
|
|
257
|
+
problems.push(`run ${index + 1} made an unscripted request: ${request}`);
|
|
258
|
+
});
|
|
259
|
+
if (result.base)
|
|
260
|
+
problems.push(...CHECKS[result.base](result));
|
|
261
|
+
return problems;
|
|
262
|
+
}
|
|
263
|
+
/** Run every scenario of a fixture, check each, and list the required scenarios it lacks. */
|
|
264
|
+
export async function runSourceFixture(fixture, scenarios) {
|
|
265
|
+
const results = [];
|
|
266
|
+
const problems = {};
|
|
267
|
+
for (const scenario of scenarios) {
|
|
268
|
+
const result = await runSourceScenario(fixture, scenario);
|
|
269
|
+
results.push(result);
|
|
270
|
+
const found = checkScenario(result);
|
|
271
|
+
if (found.length)
|
|
272
|
+
problems[scenario.name] = found;
|
|
273
|
+
}
|
|
274
|
+
return { results, problems, missing: missingScenarios(scenarios.map((s) => s.name)) };
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=fixture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/source-harness/fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@superbee/core/source-harness`: how a profile and a transport prove the source engine's rules
|
|
3
|
+
* offline.
|
|
4
|
+
*
|
|
5
|
+
* {@link runSourceScenario} replays a profile's scripted provider answers through
|
|
6
|
+
* `observeSource`, writing each committed page through record-overlay over a MemoryBackend
|
|
7
|
+
* bundle, and {@link checkScenario} holds the result to the required scenario's outcome rule
|
|
8
|
+
* ({@link REQUIRED_SCENARIOS}). {@link runTransportConformance} is the suite every transport passes
|
|
9
|
+
* against a scripted peer: the credential only to its host (a custom header included), redirects
|
|
10
|
+
* returned unfollowed, a body over the bound refused, and behind the engine a cross-host or
|
|
11
|
+
* private-address redirect that reaches nothing. {@link peerTransport} is a memory transport that
|
|
12
|
+
* passes it. Results are rows, not assertions, so any test runner can use them.
|
|
13
|
+
*
|
|
14
|
+
* Storage-neutral: no Node globals or builtins, and nothing here calls `fetch`.
|
|
15
|
+
*/
|
|
16
|
+
export { ExchangePeer, peerTransport, ScriptedPeer } from "./peer.js";
|
|
17
|
+
export type { PeerRequest, PeerResponse, ScriptedExchange, TransportCredential } from "./peer.js";
|
|
18
|
+
export { CONFORMANCE_SCENARIOS, runTransportConformance } from "./conformance.js";
|
|
19
|
+
export type { ConformanceRow, TransportConformanceTarget } from "./conformance.js";
|
|
20
|
+
export { checkScenario, missingScenarios, REQUIRED_SCENARIOS, runSourceFixture, runSourceScenario, scenarioBase } from "./fixture.js";
|
|
21
|
+
export type { RequiredScenario, ScenarioResult, ScenarioRun, SourceFixture, SourceRunScript, SourceScenario } from "./fixture.js";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/source-harness/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtI,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@superbee/core/source-harness`: how a profile and a transport prove the source engine's rules
|
|
3
|
+
* offline.
|
|
4
|
+
*
|
|
5
|
+
* {@link runSourceScenario} replays a profile's scripted provider answers through
|
|
6
|
+
* `observeSource`, writing each committed page through record-overlay over a MemoryBackend
|
|
7
|
+
* bundle, and {@link checkScenario} holds the result to the required scenario's outcome rule
|
|
8
|
+
* ({@link REQUIRED_SCENARIOS}). {@link runTransportConformance} is the suite every transport passes
|
|
9
|
+
* against a scripted peer: the credential only to its host (a custom header included), redirects
|
|
10
|
+
* returned unfollowed, a body over the bound refused, and behind the engine a cross-host or
|
|
11
|
+
* private-address redirect that reaches nothing. {@link peerTransport} is a memory transport that
|
|
12
|
+
* passes it. Results are rows, not assertions, so any test runner can use them.
|
|
13
|
+
*
|
|
14
|
+
* Storage-neutral: no Node globals or builtins, and nothing here calls `fetch`.
|
|
15
|
+
*/
|
|
16
|
+
export { ExchangePeer, peerTransport, ScriptedPeer } from "./peer.js";
|
|
17
|
+
export { CONFORMANCE_SCENARIOS, runTransportConformance } from "./conformance.js";
|
|
18
|
+
export { checkScenario, missingScenarios, REQUIRED_SCENARIOS, runSourceFixture, runSourceScenario, scenarioBase } from "./fixture.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/source-harness/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A scripted provider and the memory transport that reaches it. The peer stands in for the
|
|
3
|
+
* network: it answers every request from a script and records exactly what arrived, headers
|
|
4
|
+
* included, so a test can see what a transport sent. The memory transport honours the transport
|
|
5
|
+
* contract (no redirect following, a refused rather than truncated body over the bound, the
|
|
6
|
+
* credential only toward its hosts over https), so it passes the conformance suite.
|
|
7
|
+
*/
|
|
8
|
+
import type { HttpMethod, Transport } from "../source-engine/types.js";
|
|
9
|
+
/** A request as it reached the provider. */
|
|
10
|
+
export interface PeerRequest {
|
|
11
|
+
url: string;
|
|
12
|
+
method: HttpMethod;
|
|
13
|
+
headers: Record<string, string>;
|
|
14
|
+
body?: string;
|
|
15
|
+
}
|
|
16
|
+
export type PeerResponse = {
|
|
17
|
+
status: number;
|
|
18
|
+
headers?: Readonly<Record<string, string>>;
|
|
19
|
+
body?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Never answers: the request waits for the run's deadline. */
|
|
22
|
+
| {
|
|
23
|
+
hang: true;
|
|
24
|
+
}
|
|
25
|
+
/** The connection fails. */
|
|
26
|
+
| {
|
|
27
|
+
fail: true;
|
|
28
|
+
};
|
|
29
|
+
export interface ScriptedExchange {
|
|
30
|
+
request: {
|
|
31
|
+
method?: HttpMethod;
|
|
32
|
+
url: string;
|
|
33
|
+
};
|
|
34
|
+
response: PeerResponse;
|
|
35
|
+
}
|
|
36
|
+
/** The credential a transport under test holds: a header sent only toward `hosts` over https. */
|
|
37
|
+
export interface TransportCredential {
|
|
38
|
+
hosts: readonly string[];
|
|
39
|
+
header: string;
|
|
40
|
+
value: string;
|
|
41
|
+
}
|
|
42
|
+
export declare class ScriptedPeer {
|
|
43
|
+
/** Every request that reached the provider, in order. */
|
|
44
|
+
readonly received: PeerRequest[];
|
|
45
|
+
private readonly handler;
|
|
46
|
+
private readonly onHang;
|
|
47
|
+
constructor(handler: (request: PeerRequest) => PeerResponse, options?: {
|
|
48
|
+
onHang?: () => void;
|
|
49
|
+
});
|
|
50
|
+
answer(request: PeerRequest): PeerResponse;
|
|
51
|
+
/** Requests received for one hostname. */
|
|
52
|
+
to(hostname: string): PeerRequest[];
|
|
53
|
+
}
|
|
54
|
+
/** A peer answering from exchanges, each used once, matched on method and URL in order. */
|
|
55
|
+
export declare class ExchangePeer extends ScriptedPeer {
|
|
56
|
+
/** Requests no exchange matched (answered 404); robots.txt is answered 404 without being listed. */
|
|
57
|
+
readonly unscripted: string[];
|
|
58
|
+
private readonly pending;
|
|
59
|
+
constructor(exchanges: readonly ScriptedExchange[], options?: {
|
|
60
|
+
onHang?: () => void;
|
|
61
|
+
});
|
|
62
|
+
/** Exchanges no request used. */
|
|
63
|
+
unused(): ScriptedExchange[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A transport over a scripted peer. It adds `credential` only when the engine marks the request
|
|
67
|
+
* as toward a credential host and the URL itself is https on the default port with a host exactly
|
|
68
|
+
* one of the credential's hosts. It returns redirects unfollowed, refuses a body over `maxBytes`
|
|
69
|
+
* and rejects when the request's signal aborts.
|
|
70
|
+
*/
|
|
71
|
+
export declare function peerTransport(peer: ScriptedPeer, options?: {
|
|
72
|
+
credential?: TransportCredential;
|
|
73
|
+
}): Transport;
|
|
74
|
+
//# sourceMappingURL=peer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/source-harness/peer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAExF,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAC/E,+DAA+D;GAC7D;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE;AAChB,4BAA4B;GAC1B;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,iGAAiG;AACjG,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,YAAY;IACvB,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,YAAY,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KAAO;IAKlG,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY;IAQ1C,0CAA0C;IAC1C,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;CAGpC;AAYD,2FAA2F;AAC3F,qBAAa,YAAa,SAAQ,YAAY;IAC5C,oGAAoG;IACpG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,SAAS,EAAE,SAAS,gBAAgB,EAAE,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KAAO;IAgBzF,iCAAiC;IACjC,MAAM,IAAI,gBAAgB,EAAE;CAG7B;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,mBAAmB,CAAA;CAAO,GAAG,SAAS,CA6B/G"}
|