@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
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/** Read-only measurements over canonical documents and the already-loaded Kind registry. */
|
|
2
|
+
import { isStandardDocumentSetField } from "./document-field-actions.js";
|
|
3
|
+
import { freshnessHorizonMs, projectKindForAuthoring, readKindField, resolveKindFieldCoordinate } from "./kinds.js";
|
|
4
|
+
import { extractMarkdownLinks, parseLinksFromDoc } from "./links.js";
|
|
5
|
+
import { isManagedDocumentMetadataField } from "./managed-document-metadata.js";
|
|
6
|
+
import { parseTimestamp } from "./freshness.js";
|
|
7
|
+
const SENTINELS = new Set(["unknown", "n/a", "na", "none", "tbd", "null", "-", "?"]);
|
|
8
|
+
const EXAMPLES = 3;
|
|
9
|
+
const DOMAIN_LIMIT = 15;
|
|
10
|
+
const DAY = 86400000;
|
|
11
|
+
const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
12
|
+
const ratio = (n, total) => total ? Math.round(n / total * 10000) / 10000 : null;
|
|
13
|
+
const empty = (value) => value == null || (typeof value === "string" && value.trim() === "") ||
|
|
14
|
+
(Array.isArray(value) ? value.length === 0 : typeof value === "object" && Object.keys(value).length === 0);
|
|
15
|
+
const sentinel = (value) => typeof value === "string" && SENTINELS.has(value.trim().toLowerCase());
|
|
16
|
+
const filled = (value) => !empty(value) && !sentinel(value);
|
|
17
|
+
const envelope = (key) => isManagedDocumentMetadataField(key) || isStandardDocumentSetField(key, "0.2") || key === "sources" || key === "tags";
|
|
18
|
+
function bodyProse(body) {
|
|
19
|
+
// Lossless line measurement, not Markdown rendering: every ATX heading is ignored;
|
|
20
|
+
// a Related heading excludes its descendants until the next same/higher-level heading.
|
|
21
|
+
let relatedLevel;
|
|
22
|
+
for (const line of body.split("\n")) {
|
|
23
|
+
const text = line.trim();
|
|
24
|
+
const heading = /^(#{1,6})[ \t]+(.+?)\s*#*\s*$/.exec(text);
|
|
25
|
+
if (heading) {
|
|
26
|
+
const level = heading[1].length;
|
|
27
|
+
if (relatedLevel !== undefined && level <= relatedLevel)
|
|
28
|
+
relatedLevel = undefined;
|
|
29
|
+
if (heading[2].trim().toLowerCase() === "related" && relatedLevel === undefined)
|
|
30
|
+
relatedLevel = level;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (relatedLevel !== undefined)
|
|
34
|
+
continue;
|
|
35
|
+
const prose = text.replace(/^[-*] +/, "");
|
|
36
|
+
if (!prose)
|
|
37
|
+
continue;
|
|
38
|
+
const links = extractMarkdownLinks(prose);
|
|
39
|
+
if (!(links.length === 1 && prose === `[${links[0].text}](${links[0].href})`))
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
function fieldStats(docs, value) {
|
|
45
|
+
let present = 0, sentinels = 0, used = 0;
|
|
46
|
+
for (const doc of docs) {
|
|
47
|
+
const v = value(doc);
|
|
48
|
+
if (v !== undefined)
|
|
49
|
+
used++;
|
|
50
|
+
if (filled(v))
|
|
51
|
+
present++;
|
|
52
|
+
else if (sentinel(v))
|
|
53
|
+
sentinels++;
|
|
54
|
+
}
|
|
55
|
+
return { present: used, filled: present, sentinel: sentinels, empty: docs.length - present - sentinels, rate: ratio(present, docs.length) };
|
|
56
|
+
}
|
|
57
|
+
function checkedOn(kind, docs, now) {
|
|
58
|
+
const buckets = { future: 0, "0-7d": 0, "8-30d": 0, "31-90d": 0, "91-180d": 0, "181-365d": 0, ">365d": 0 };
|
|
59
|
+
let missing = 0, invalid = 0, older = 0;
|
|
60
|
+
const horizon = freshnessHorizonMs(kind);
|
|
61
|
+
for (const doc of docs) {
|
|
62
|
+
const value = doc.frontmatter.checked_on;
|
|
63
|
+
if (!filled(value)) {
|
|
64
|
+
missing++;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
// checked_on is domain date metadata, not the edition's meaningful-change clock.
|
|
68
|
+
const ms = typeof value === "string" ? parseTimestamp(/^\d{4}-\d{2}-\d{2}$/.test(value) ? `${value}T00:00:00Z` : value, "0.2") : null;
|
|
69
|
+
if (ms === null) {
|
|
70
|
+
invalid++;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const ageMs = now.getTime() - ms;
|
|
74
|
+
const days = Math.floor(ageMs / DAY);
|
|
75
|
+
const bucket = days < 0 ? "future" : days <= 7 ? "0-7d" : days <= 30 ? "8-30d" : days <= 90 ? "31-90d" : days <= 180 ? "91-180d" : days <= 365 ? "181-365d" : ">365d";
|
|
76
|
+
buckets[bucket]++;
|
|
77
|
+
if (horizon !== undefined && ageMs > horizon)
|
|
78
|
+
older++;
|
|
79
|
+
}
|
|
80
|
+
return { clock: "checked_on", horizon: kind.freshnessHorizon ?? null, horizon_ms: horizon ?? null, missing, invalid, buckets, older_than_horizon: horizon === undefined ? null : older };
|
|
81
|
+
}
|
|
82
|
+
function sourceStats(docs) {
|
|
83
|
+
const domains = new Map();
|
|
84
|
+
const distribution = { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5+": 0 };
|
|
85
|
+
let total = 0, zero = 0, invalid = 0, nonUrl = 0;
|
|
86
|
+
for (const doc of docs) {
|
|
87
|
+
const raw = doc.frontmatter.sources;
|
|
88
|
+
const list = Array.isArray(raw) ? raw : raw == null ? [] : [raw];
|
|
89
|
+
let count = 0;
|
|
90
|
+
for (const item of list) {
|
|
91
|
+
const resource = typeof item === "string" ? item : item && typeof item === "object" && !Array.isArray(item) ? item.resource : undefined;
|
|
92
|
+
if (typeof resource !== "string" || !filled(resource)) {
|
|
93
|
+
invalid++;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
count++;
|
|
97
|
+
try {
|
|
98
|
+
const domain = new URL(resource).hostname.toLowerCase().replace(/^www\./, "");
|
|
99
|
+
if (!domain) {
|
|
100
|
+
nonUrl++;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
domains.set(domain, (domains.get(domain) ?? 0) + 1);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
nonUrl++;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (!count)
|
|
110
|
+
zero++;
|
|
111
|
+
total += count;
|
|
112
|
+
distribution[count >= 5 ? "5+" : String(count)]++;
|
|
113
|
+
}
|
|
114
|
+
const ordered = [...domains].sort((a, b) => b[1] - a[1] || compare(a[0], b[0]));
|
|
115
|
+
return { zero, total, invalid_entries: invalid, non_url_resources: nonUrl, per_record: distribution, distinct_domains: domains.size, domains_shown: Math.min(domains.size, DOMAIN_LIMIT), top_domains: ordered.slice(0, DOMAIN_LIMIT).map(([domain, sources]) => ({ domain, sources })) };
|
|
116
|
+
}
|
|
117
|
+
/** All records are grouped by actual type; path prefixes never infer a Kind or hide nested records. */
|
|
118
|
+
export function kindCoverage(registry, documents, options) {
|
|
119
|
+
if (!Number.isFinite(options.now.getTime()))
|
|
120
|
+
throw new TypeError("Coverage now must be a valid date");
|
|
121
|
+
const docs = [...documents].sort((a, b) => compare(a.id, b.id));
|
|
122
|
+
const index = new Map(docs.map((doc) => [doc.id, doc]));
|
|
123
|
+
const edges = new Map(docs.map((doc) => [doc.id, parseLinksFromDoc(doc)]));
|
|
124
|
+
const inbound = new Set([...edges.values()].flat().map((link) => link.to));
|
|
125
|
+
const groups = new Map();
|
|
126
|
+
for (const doc of docs) {
|
|
127
|
+
const type = doc.frontmatter.type;
|
|
128
|
+
const group = groups.get(type) ?? [];
|
|
129
|
+
group.push(doc);
|
|
130
|
+
groups.set(type, group);
|
|
131
|
+
}
|
|
132
|
+
const kinds = [...registry.kinds.values()].filter((kind) => options.kind === undefined || kind.governs === options.kind).map((kind) => {
|
|
133
|
+
const records = groups.get(kind.governs) ?? [];
|
|
134
|
+
const authoring = projectKindForAuthoring(options.okfVersion, kind);
|
|
135
|
+
const fields = [...new Set([...authoring.fields.required, ...authoring.fields.optional])].sort(compare);
|
|
136
|
+
const stats = fields.map((field) => ({ field, required: authoring.fields.required.includes(field), ...fieldStats(records, (doc) => readKindField(options.okfVersion, kind, doc.frontmatter, field)) }));
|
|
137
|
+
const declaredStorage = new Set(fields.map((field) => resolveKindFieldCoordinate(options.okfVersion, kind, field)?.storageField ?? field));
|
|
138
|
+
const undeclared = new Map(), envelopes = new Map();
|
|
139
|
+
for (const doc of records)
|
|
140
|
+
for (const key of Object.keys(doc.frontmatter)) {
|
|
141
|
+
if (envelope(key)) {
|
|
142
|
+
envelopes.set(key, (envelopes.get(key) ?? 0) + 1);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (!declaredStorage.has(key)) {
|
|
146
|
+
const ids = undeclared.get(key) ?? [];
|
|
147
|
+
ids.push(doc.id);
|
|
148
|
+
undeclared.set(key, ids);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const relations = new Map();
|
|
152
|
+
let citations = 0, dangling = 0, withLinks = 0;
|
|
153
|
+
const danglingExamples = [];
|
|
154
|
+
for (const doc of records) {
|
|
155
|
+
const links = edges.get(doc.id);
|
|
156
|
+
if (links.length)
|
|
157
|
+
withLinks++;
|
|
158
|
+
for (const link of links) {
|
|
159
|
+
const target = index.get(link.to);
|
|
160
|
+
if (!target) {
|
|
161
|
+
dangling++;
|
|
162
|
+
if (danglingExamples.length < EXAMPLES)
|
|
163
|
+
danglingExamples.push(doc.id);
|
|
164
|
+
}
|
|
165
|
+
if (!Object.hasOwn(kind.links ?? {}, link.text)) {
|
|
166
|
+
citations++;
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
const targetKind = target?.frontmatter.type ?? null;
|
|
170
|
+
const key = JSON.stringify([link.text, targetKind]);
|
|
171
|
+
const row = relations.get(key) ?? { relation: link.text, target_kind: targetKind, target_matches: targetKind === null ? null : targetKind === kind.links[link.text], records: new Set(), links: 0 };
|
|
172
|
+
row.records.add(doc.id);
|
|
173
|
+
row.links++;
|
|
174
|
+
relations.set(key, row);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const used = new Set([...relations.values()].map((row) => row.relation));
|
|
178
|
+
return { governs: kind.governs, records: records.length,
|
|
179
|
+
coverage: { fields: stats, body_prose: { filled: records.filter((doc) => bodyProse(doc.body)).length, rate: ratio(records.filter((doc) => bodyProse(doc.body)).length, records.length) } },
|
|
180
|
+
drift: { undeclared: [...undeclared].sort(([a], [b]) => compare(a, b)).map(([key, ids]) => ({ key, records: ids.length, rate: ratio(ids.length, records.length), examples: ids.slice(0, EXAMPLES), examples_total: ids.length })), declared_unused: stats.filter((row) => row.present === 0).map((row) => row.field), envelope: [...envelopes].sort(([a], [b]) => compare(a, b)).map(([key, records]) => ({ key, records })) },
|
|
181
|
+
links: { with_links: withLinks, typed: [...relations.values()].sort((a, b) => compare(a.relation, b.relation) || compare(a.target_kind ?? "", b.target_kind ?? "")).map((row) => ({ relation: row.relation, target_kind: row.target_kind, target_matches: row.target_matches, records: row.records.size, links: row.links, rate: ratio(row.records.size, records.length) })), untyped_citations: citations, declared_never_used: Object.keys(kind.links ?? {}).filter((relation) => !used.has(relation)).sort(compare), dangling, dangling_examples: danglingExamples, no_inbound: records.filter((doc) => !inbound.has(doc.id)).length },
|
|
182
|
+
freshness: checkedOn(kind, records, options.now), sources: sourceStats(records) };
|
|
183
|
+
});
|
|
184
|
+
return { now: options.now.toISOString(), documents: docs.length, undeclared_kinds: [...groups.keys()].filter((type) => !registry.kinds.has(type)).sort(compare), kinds };
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=kind-coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kind-coverage.js","sourceRoot":"","sources":["../src/kind-coverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Pure Kind schema editing. The mutation engine supplies the fresh convention. */
|
|
2
|
+
import { type KindFieldType } from "./kinds.js";
|
|
1
3
|
import { InvalidInputError } from "./errors.js";
|
|
2
4
|
import type { OkfDocument } from "./types.js";
|
|
3
5
|
import type { DocumentMutationCandidate } from "./document-mutation.js";
|
|
@@ -9,6 +11,8 @@ export interface KindFieldMutation {
|
|
|
9
11
|
action: "add" | "remove";
|
|
10
12
|
required?: boolean;
|
|
11
13
|
values?: string[];
|
|
14
|
+
/** Declare the field's value type in `fields.types` (add only). Changes the declaration, never instances. */
|
|
15
|
+
type?: KindFieldType;
|
|
12
16
|
okfVersion: "0.1" | "0.2";
|
|
13
17
|
}
|
|
14
18
|
export declare function prepareKindFieldMutation(existing: OkfDocument, input: KindFieldMutation, okfVersion: "0.1" | "0.2"): DocumentMutationCandidate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kind-field-mutation.d.ts","sourceRoot":"","sources":["../src/kind-field-mutation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kind-field-mutation.d.ts","sourceRoot":"","sources":["../src/kind-field-mutation.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,qBAAa,yBAA0B,SAAQ,iBAAiB;CAAG;AACnE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,6GAA6G;IAC7G,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AA+BD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,yBAAyB,CAiI9I"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Pure Kind schema editing. The mutation engine supplies the fresh convention. */
|
|
2
|
-
import { RESERVED_KIND_FIELD_NAMES } from "./kinds.js";
|
|
2
|
+
import { isKindFieldType, RESERVED_KIND_FIELD_NAMES } from "./kinds.js";
|
|
3
3
|
import { InvalidInputError } from "./errors.js";
|
|
4
4
|
export class KindFieldMutationConflict extends InvalidInputError {
|
|
5
5
|
}
|
|
@@ -35,8 +35,12 @@ export function prepareKindFieldMutation(existing, input, okfVersion) {
|
|
|
35
35
|
throw new InvalidInputError(`'${input.field}' is reserved and cannot be added as a Kind field.`);
|
|
36
36
|
if (input.values !== undefined && (!Array.isArray(input.values) || input.values.length === 0 || input.values.some(value => typeof value !== "string" || value.trim() === "")))
|
|
37
37
|
throw new InvalidInputError("Kind enum values must be nonempty strings.");
|
|
38
|
-
if (input.
|
|
39
|
-
throw new InvalidInputError(
|
|
38
|
+
if (input.type !== undefined && !isKindFieldType(input.type))
|
|
39
|
+
throw new InvalidInputError(`'${String(input.type)}' is not a Kind field type.`);
|
|
40
|
+
if (input.type === "https-url-list" && input.values !== undefined)
|
|
41
|
+
throw new InvalidInputError("An https-url-list field cannot carry enum values.");
|
|
42
|
+
if (input.action === "remove" && (input.required || input.values !== undefined || input.type !== undefined))
|
|
43
|
+
throw new InvalidInputError("required/values/type apply to Kind field add, not remove.");
|
|
40
44
|
const fm = existing.frontmatter;
|
|
41
45
|
if (okfVersion !== input.okfVersion)
|
|
42
46
|
throw new KindFieldMutationConflict("The bundle format changed while editing the Kind; reload the Kind.");
|
|
@@ -58,6 +62,10 @@ export function prepareKindFieldMutation(existing, input, okfVersion) {
|
|
|
58
62
|
let valueDescriptionsMap;
|
|
59
63
|
let valueDescriptionsChanged = false;
|
|
60
64
|
let descriptionDeleted = false;
|
|
65
|
+
let typesMap = hasOwn(fieldsObj, "types") && isRecord(fieldsObj.types)
|
|
66
|
+
? cloneRecord(fieldsObj.types)
|
|
67
|
+
: undefined;
|
|
68
|
+
let typesChanged = false;
|
|
61
69
|
if (input.action === "add") {
|
|
62
70
|
const targetList = input.required ? required : optional;
|
|
63
71
|
const otherList = input.required ? optional : required;
|
|
@@ -67,6 +75,14 @@ export function prepareKindFieldMutation(existing, input, okfVersion) {
|
|
|
67
75
|
otherList.splice(otherIdx, 1);
|
|
68
76
|
if (!targetList.includes(input.field))
|
|
69
77
|
targetList.push(input.field);
|
|
78
|
+
if (input.type !== undefined) {
|
|
79
|
+
const nextTypes = typesMap ?? {};
|
|
80
|
+
if (!hasOwn(nextTypes, input.field) || nextTypes[input.field] !== input.type) {
|
|
81
|
+
setOwn(nextTypes, input.field, input.type);
|
|
82
|
+
typesMap = nextTypes;
|
|
83
|
+
typesChanged = true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
70
86
|
if (input.values) {
|
|
71
87
|
const vals = input.values;
|
|
72
88
|
const prev = hasOwn(valuesMap, input.field) && Array.isArray(valuesMap[input.field])
|
|
@@ -109,6 +125,9 @@ export function prepareKindFieldMutation(existing, input, okfVersion) {
|
|
|
109
125
|
deleteOwn(valuesMap, input.field);
|
|
110
126
|
if (descriptionsMap)
|
|
111
127
|
descriptionDeleted = deleteOwn(descriptionsMap, input.field);
|
|
128
|
+
// A removed field's declared type goes with it; a stale type would warn as undeclared.
|
|
129
|
+
if (typesMap)
|
|
130
|
+
typesChanged = deleteOwn(typesMap, input.field);
|
|
112
131
|
if (isRecord(rawValueDescriptions) && hasOwn(rawValueDescriptions, input.field)) {
|
|
113
132
|
const rawFieldDescriptions = rawValueDescriptions[input.field];
|
|
114
133
|
if (isRecord(rawFieldDescriptions)) {
|
|
@@ -144,6 +163,12 @@ export function prepareKindFieldMutation(existing, input, okfVersion) {
|
|
|
144
163
|
else
|
|
145
164
|
delete newFields.descriptions;
|
|
146
165
|
}
|
|
166
|
+
if (typesMap && typesChanged) {
|
|
167
|
+
if (Object.keys(typesMap).length > 0)
|
|
168
|
+
newFields.types = typesMap;
|
|
169
|
+
else
|
|
170
|
+
delete newFields.types;
|
|
171
|
+
}
|
|
147
172
|
if (valueDescriptionsMap && valueDescriptionsChanged) {
|
|
148
173
|
if (Object.keys(valueDescriptionsMap).length > 0)
|
|
149
174
|
newFields.value_descriptions = valueDescriptionsMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kind-field-mutation.js","sourceRoot":"","sources":["../src/kind-field-mutation.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"kind-field-mutation.js","sourceRoot":"","sources":["../src/kind-field-mutation.ts"],"names":[],"mappings":"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"}
|
package/dist/kinds-load.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The backend-touching half of the kind-convention registry: {@link loadKinds}
|
|
3
3
|
* queries a bundle's `conventions/` prefix and builds the registry out of `kinds.ts`'s pure
|
|
4
|
-
* parsing/derivation. Split from `kinds.ts`
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* parsing/derivation. Split from `kinds.ts` by what it reads: `kinds.ts` is pure, while this module
|
|
5
|
+
* reads a bundle through `bundle-ops.ts`'s runtime-neutral delegation, never the Node entry, so it
|
|
6
|
+
* stays browser-safe (`@superbee/core/bundle-health` runs it in any runtime). One registry.
|
|
7
7
|
*/
|
|
8
8
|
import { MalformedDocumentError } from "./frontmatter-contract.js";
|
|
9
|
-
import { query, readBundleOkfVersion } from "./bundle.js";
|
|
9
|
+
import { query, readBundleOkfVersion } from "./bundle-ops.js";
|
|
10
10
|
import { CONVENTIONS_PREFIX, CONVENTION_TYPE, buildKindRegistry, } from "./kinds.js";
|
|
11
11
|
/**
|
|
12
12
|
* Build the {@link KindRegistry} for `bundle`: every `Convention` doc under
|
package/dist/kinds-load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kinds-load.js","sourceRoot":"","sources":["../src/kinds-load.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"kinds-load.js","sourceRoot":"","sources":["../src/kinds-load.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,8FAA8F;IAC9F,8FAA8F;IAC9F,+FAA+F;IAC/F,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;QACtF,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CACzB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,4BAA4B,EAAE,mCAAmC,MAAM,EAAE;YAClF,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,SAAS;SACpB,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC7E,sFAAsF;QACtF,qFAAqF;QACrF,IAAI,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC;YAAE,MAAM,KAAK,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC3D,CAAC"}
|
package/dist/kinds.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ import type { ValidationWarning } from "./validation.js";
|
|
|
2
2
|
import type { ConceptId, Frontmatter, OkfDocument } from "./types.js";
|
|
3
3
|
/** The bundle-relative prefix a kind convention doc MUST live under to be discovered. */
|
|
4
4
|
export declare const CONVENTIONS_PREFIX = "conventions/";
|
|
5
|
+
/**
|
|
6
|
+
* True for an id `loadKinds` reads a convention from: under {@link CONVENTIONS_PREFIX} exactly as
|
|
7
|
+
* spelled (case-sensitive). A case variant is not a convention id; a host that fences folded ids
|
|
8
|
+
* refuses it rather than let it govern after a case-insensitive checkout.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isConventionId(id: string): boolean;
|
|
5
11
|
/** The OKF `type` value a kind convention doc itself carries. */
|
|
6
12
|
export declare const CONVENTION_TYPE = "Convention";
|
|
7
13
|
/** A kind's declared required/optional fields and any enum-restricted field values. */
|
|
@@ -23,7 +29,21 @@ export interface KindFields {
|
|
|
23
29
|
terminal: Record<string, string[]>;
|
|
24
30
|
/** Human guidance for declared fields: `fieldName -> description`. */
|
|
25
31
|
descriptions: Record<string, string>;
|
|
32
|
+
/**
|
|
33
|
+
* `fieldName -> value type` from `fields.types`, one of {@link KIND_FIELD_TYPES}. Absent when the
|
|
34
|
+
* kind declares none, so a convention without types validates exactly as before.
|
|
35
|
+
*/
|
|
36
|
+
types?: Record<string, KindFieldType>;
|
|
26
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The closed, domain-neutral value-type vocabulary a convention may declare in `fields.types`.
|
|
40
|
+
* Each type constrains a value's shape only; presence stays governed by `fields.required`.
|
|
41
|
+
* Domain composites (opening hours, money, addresses) belong to recipe tooling, not core.
|
|
42
|
+
*/
|
|
43
|
+
export declare const KIND_FIELD_TYPES: readonly ["date", "datetime", "https-url", "https-url-list", "integer", "number", "boolean", "slug", "string-list", "latitude", "longitude"];
|
|
44
|
+
export type KindFieldType = (typeof KIND_FIELD_TYPES)[number];
|
|
45
|
+
/** True when `value` names a {@link KIND_FIELD_TYPES} member. */
|
|
46
|
+
export declare function isKindFieldType(value: unknown): value is KindFieldType;
|
|
27
47
|
/**
|
|
28
48
|
* A kind's DECLARED claim vocabulary (`claim:` on the convention doc): which field records who
|
|
29
49
|
* owns an instance, and which field records its claim state. Declared by the BUNDLE so no
|
|
@@ -85,6 +105,14 @@ export interface KindConvention {
|
|
|
85
105
|
* privileges a kind by name; display-only, no engine behavior. Set from `browse_collapsed: true`.
|
|
86
106
|
*/
|
|
87
107
|
browseCollapsed?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* The kind's place in the bundle's reading order, when the convention declares one (`order: 20`).
|
|
110
|
+
* A finite number; integers in practice. Kinds that declare an order come first, ascending, ties
|
|
111
|
+
* by convention id; kinds without one follow by id. The registry's `Map` insertion order is that
|
|
112
|
+
* reading order, so every consumer that iterates the registry sees it without a second sort.
|
|
113
|
+
* Display and listing only: no engine behavior, and never a field on instances.
|
|
114
|
+
*/
|
|
115
|
+
order?: number;
|
|
88
116
|
/**
|
|
89
117
|
* The bundle-declared claim vocabulary, when this kind declares one. Absent for every kind that
|
|
90
118
|
* does not — a bundle with no `claim:` declaration behaves exactly as it did before the key
|
|
@@ -94,7 +122,11 @@ export interface KindConvention {
|
|
|
94
122
|
}
|
|
95
123
|
/** The result of {@link loadKinds}: the built registry plus any non-fatal warnings collected along the way. */
|
|
96
124
|
export interface KindRegistry {
|
|
97
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* `governs -> KindConvention`. On a duplicate `governs`, the first-by-id declaration wins.
|
|
127
|
+
* Insertion order is the bundle's reading order (see {@link compareReadingOrder}): declared
|
|
128
|
+
* `order` ascending with ties by id, then the undeclared by id.
|
|
129
|
+
*/
|
|
98
130
|
kinds: Map<string, KindConvention>;
|
|
99
131
|
/** Malformed/duplicate/unparseable conventions are SKIPPED, never thrown — collected here instead. */
|
|
100
132
|
warnings: ValidationWarning[];
|
|
@@ -107,6 +139,12 @@ export interface KindRegistry {
|
|
|
107
139
|
export declare function buildKindRegistry(docs: readonly OkfDocument[], initialWarnings?: readonly ValidationWarning[], options?: {
|
|
108
140
|
okfVersion?: string;
|
|
109
141
|
}): KindRegistry;
|
|
142
|
+
/**
|
|
143
|
+
* The bundle's reading order over kinds: conventions with a declared `order` first, ascending,
|
|
144
|
+
* ties by id; then conventions without one, by id. A bundle that declares no `order` anywhere
|
|
145
|
+
* therefore iterates by id exactly as it did before the field existed.
|
|
146
|
+
*/
|
|
147
|
+
export declare function compareReadingOrder(a: Pick<KindConvention, "id" | "order">, b: Pick<KindConvention, "id" | "order">): number;
|
|
110
148
|
/** Stable product-level name for a Kind's workflow progress field. */
|
|
111
149
|
export declare const PROGRESS_STATUS_FIELD = "progress_status";
|
|
112
150
|
/** Producer-qualified v0.2 storage coordinate for Superbee workflow progress. */
|
|
@@ -158,6 +196,11 @@ export declare function projectLogicalKindFields(okfVersion: string | undefined,
|
|
|
158
196
|
* workflow coordinate never becomes something an author has to learn.
|
|
159
197
|
*/
|
|
160
198
|
export declare function projectKindForAuthoring(okfVersion: string | undefined, kind: KindConvention): KindConvention;
|
|
199
|
+
type KindFieldWarningCode = "KIND_FIELD_MISSING" | "KIND_FIELD_VALUE" | "KIND_FIELD_ARITY" | "KIND_FIELD_TYPE";
|
|
200
|
+
/** Whether a Kind finding names a frontmatter coordinate rather than a body heading. */
|
|
201
|
+
export declare function isKindFieldValidationWarning(warning: ValidationWarning): warning is ValidationWarning & {
|
|
202
|
+
code: KindFieldWarningCode;
|
|
203
|
+
};
|
|
161
204
|
/** Project Kind-validation findings into the same authoring vocabulary as the Kind schema. */
|
|
162
205
|
export declare function projectKindValidationWarnings(okfVersion: string | undefined, kind: KindConvention, warnings: ValidationWarning[]): ValidationWarning[];
|
|
163
206
|
/**
|
|
@@ -199,9 +242,28 @@ export declare function freshnessHorizonMs(kind: KindConvention): number | undef
|
|
|
199
242
|
* (e.g. the CLI's `kind draft` inference) reuse this one authority instead of forking it.
|
|
200
243
|
*/
|
|
201
244
|
export declare function isPresent(value: unknown): boolean;
|
|
245
|
+
/** Human phrase for each field type, used in warnings and authoring help. */
|
|
246
|
+
export declare const KIND_FIELD_TYPE_DESCRIPTIONS: Readonly<Record<KindFieldType, string>>;
|
|
247
|
+
/**
|
|
248
|
+
* Why `value` does not satisfy `type`, or `undefined` when it does. Values are judged as decoded:
|
|
249
|
+
* YAML numbers and booleans, and strings exactly as authored (core's decoder keeps dates and
|
|
250
|
+
* instants as their source strings). `null` never satisfies a type. The ONE type predicate;
|
|
251
|
+
* callers never re-implement it.
|
|
252
|
+
*/
|
|
253
|
+
export declare function kindFieldTypeProblem(type: KindFieldType, value: unknown): string | undefined;
|
|
254
|
+
/** Whether a Kind declares `field` (a storage name) as one of the two list types, `string-list` or `https-url-list`. */
|
|
255
|
+
export declare function isKindListField(kind: Pick<KindConvention, "fields"> | undefined, field: string): boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Convert command-line flag text for a declared field into its typed value: numeric types become
|
|
258
|
+
* numbers, `boolean` accepts exactly `true`/`false`, and both list types are always a list. Text that
|
|
259
|
+
* does not parse is returned unchanged so {@link validateAgainstKind} reports it, never guessed.
|
|
260
|
+
* Undeclared or untyped fields keep the historical one-value-scalar, repeated-flag-list shape.
|
|
261
|
+
*/
|
|
262
|
+
export declare function kindFieldInputValue(kind: KindConvention, field: string, inputs: readonly string[]): unknown;
|
|
202
263
|
/**
|
|
203
264
|
* Validate `doc` against `kind`: required fields present + non-empty, enum-restricted
|
|
204
|
-
* field values within the declared allowed set,
|
|
265
|
+
* field values within the declared allowed set, typed field values of their declared
|
|
266
|
+
* `fields.types` type, and declared body `sections` present
|
|
205
267
|
* (reusing the ONE heading splitter, {@link splitSections} — no second heading parser).
|
|
206
268
|
* Returns core's EXISTING {@link ValidationWarning} shape; never throws. Purely
|
|
207
269
|
* additive derivation — callers (the CLI) decide whether a warning blocks a write.
|
|
@@ -242,4 +304,5 @@ export declare function isTerminal(kind: KindConvention, frontmatter: Frontmatte
|
|
|
242
304
|
* explicit rather than defaulted here, since `writeDocVersioned` already guarantees one).
|
|
243
305
|
*/
|
|
244
306
|
export declare function kindConventionDoc(kind: KindConvention, prose: string, timestamp: string): OkfDocument;
|
|
307
|
+
export {};
|
|
245
308
|
//# sourceMappingURL=kinds.d.ts.map
|
package/dist/kinds.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"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"}
|