@nitpicker/archive 0.0.0-stage → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -0
- package/README.md +105 -2
- package/lib/apply-connection-pragmas.d.ts +18 -0
- package/lib/apply-connection-pragmas.js +40 -0
- package/lib/archive-accessor.d.ts +265 -0
- package/lib/archive-accessor.js +477 -0
- package/lib/archive-lock.d.ts +45 -0
- package/lib/archive-lock.js +154 -0
- package/lib/archive.d.ts +736 -0
- package/lib/archive.js +1056 -0
- package/lib/body-hash/compute-body-hash.d.ts +32 -0
- package/lib/body-hash/compute-body-hash.js +35 -0
- package/lib/cache/clear-archive-cache-entry.d.ts +18 -0
- package/lib/cache/clear-archive-cache-entry.js +24 -0
- package/lib/cache/clear-archive-cache-root.d.ts +26 -0
- package/lib/cache/clear-archive-cache-root.js +32 -0
- package/lib/cache/compute-archive-cache-key.d.ts +39 -0
- package/lib/cache/compute-archive-cache-key.js +95 -0
- package/lib/cache/extract-archive-to-cache.d.ts +57 -0
- package/lib/cache/extract-archive-to-cache.js +326 -0
- package/lib/cache/get-archive-cache-root.d.ts +20 -0
- package/lib/cache/get-archive-cache-root.js +53 -0
- package/lib/cache/is-archive-cache-disabled.d.ts +24 -0
- package/lib/cache/is-archive-cache-disabled.js +34 -0
- package/lib/cache/list-archive-cache-entries.d.ts +23 -0
- package/lib/cache/list-archive-cache-entries.js +130 -0
- package/lib/cache/path-exists.d.ts +9 -0
- package/lib/cache/path-exists.js +18 -0
- package/lib/cache/resolve-archive-cache-dir.d.ts +26 -0
- package/lib/cache/resolve-archive-cache-dir.js +32 -0
- package/lib/cache/types.d.ts +33 -0
- package/lib/cache/types.js +1 -0
- package/lib/content-type/is-html-content-type.d.ts +17 -0
- package/lib/content-type/is-html-content-type.js +19 -0
- package/lib/content-type/normalize-content-type.d.ts +14 -0
- package/lib/content-type/normalize-content-type.js +20 -0
- package/lib/create-adjunct-tables.d.ts +66 -0
- package/lib/create-adjunct-tables.js +510 -0
- package/lib/create-entity-tables.d.ts +191 -0
- package/lib/create-entity-tables.js +387 -0
- package/lib/create-progress-reporter.d.ts +30 -0
- package/lib/create-progress-reporter.js +38 -0
- package/lib/create-ref-tables.d.ts +35 -0
- package/lib/create-ref-tables.js +185 -0
- package/lib/create-template-tables.d.ts +28 -0
- package/lib/create-template-tables.js +92 -0
- package/lib/database.d.ts +549 -0
- package/lib/database.js +804 -0
- package/lib/db-ops/_shared/clear-write-ref-caches.d.ts +27 -0
- package/lib/db-ops/_shared/clear-write-ref-caches.js +35 -0
- package/lib/db-ops/_shared/compress-payload.d.ts +26 -0
- package/lib/db-ops/_shared/compress-payload.js +30 -0
- package/lib/db-ops/_shared/create-write-ref-caches.d.ts +17 -0
- package/lib/db-ops/_shared/create-write-ref-caches.js +27 -0
- package/lib/db-ops/_shared/decode-json-ref.d.ts +17 -0
- package/lib/db-ops/_shared/decode-json-ref.js +31 -0
- package/lib/db-ops/_shared/keyset-paginate-by-id.d.ts +49 -0
- package/lib/db-ops/_shared/keyset-paginate-by-id.js +69 -0
- package/lib/db-ops/_shared/load-response-headers-by-set-ids.d.ts +20 -0
- package/lib/db-ops/_shared/load-response-headers-by-set-ids.js +53 -0
- package/lib/db-ops/_shared/resolve-content-item-id.d.ts +62 -0
- package/lib/db-ops/_shared/resolve-content-item-id.js +143 -0
- package/lib/db-ops/_shared/resolve-url-or-blob.d.ts +23 -0
- package/lib/db-ops/_shared/resolve-url-or-blob.js +29 -0
- package/lib/db-ops/_shared/retry-setting.d.ts +16 -0
- package/lib/db-ops/_shared/retry-setting.js +18 -0
- package/lib/db-ops/_shared/safe-parse-json.d.ts +11 -0
- package/lib/db-ops/_shared/safe-parse-json.js +18 -0
- package/lib/db-ops/_shared/types.d.ts +94 -0
- package/lib/db-ops/_shared/types.js +1 -0
- package/lib/db-ops/_shared/upsert-blob-ref.d.ts +25 -0
- package/lib/db-ops/_shared/upsert-blob-ref.js +48 -0
- package/lib/db-ops/_shared/upsert-content-type-ref.d.ts +30 -0
- package/lib/db-ops/_shared/upsert-content-type-ref.js +45 -0
- package/lib/db-ops/_shared/upsert-json-ref.d.ts +22 -0
- package/lib/db-ops/_shared/upsert-json-ref.js +41 -0
- package/lib/db-ops/_shared/upsert-response-headers.d.ts +35 -0
- package/lib/db-ops/_shared/upsert-response-headers.js +49 -0
- package/lib/db-ops/_shared/upsert-url-ref.d.ts +39 -0
- package/lib/db-ops/_shared/upsert-url-ref.js +62 -0
- package/lib/db-ops/anchors/get-anchors-on-page.d.ts +10 -0
- package/lib/db-ops/anchors/get-anchors-on-page.js +21 -0
- package/lib/db-ops/config/get-base-url.d.ts +8 -0
- package/lib/db-ops/config/get-base-url.js +14 -0
- package/lib/db-ops/config/get-config.d.ts +10 -0
- package/lib/db-ops/config/get-config.js +29 -0
- package/lib/db-ops/config/get-created-cwd.d.ts +11 -0
- package/lib/db-ops/config/get-created-cwd.js +13 -0
- package/lib/db-ops/config/get-name.d.ts +8 -0
- package/lib/db-ops/config/get-name.js +14 -0
- package/lib/db-ops/config/info-column-allowlist.d.ts +7 -0
- package/lib/db-ops/config/info-column-allowlist.js +29 -0
- package/lib/db-ops/config/info-json-columns.d.ts +5 -0
- package/lib/db-ops/config/info-json-columns.js +11 -0
- package/lib/db-ops/config/set-config.d.ts +12 -0
- package/lib/db-ops/config/set-config.js +21 -0
- package/lib/db-ops/config/update-config.d.ts +17 -0
- package/lib/db-ops/config/update-config.js +36 -0
- package/lib/db-ops/console-logs/compute-console-log-hash.d.ts +19 -0
- package/lib/db-ops/console-logs/compute-console-log-hash.js +30 -0
- package/lib/db-ops/console-logs/replace-console-logs.d.ts +34 -0
- package/lib/db-ops/console-logs/replace-console-logs.js +123 -0
- package/lib/db-ops/console-logs/stringify-console-log-args.d.ts +16 -0
- package/lib/db-ops/console-logs/stringify-console-log-args.js +26 -0
- package/lib/db-ops/console-logs/types.d.ts +38 -0
- package/lib/db-ops/console-logs/types.js +1 -0
- package/lib/db-ops/console-logs/upsert-console-log-item.d.ts +29 -0
- package/lib/db-ops/console-logs/upsert-console-log-item.js +52 -0
- package/lib/db-ops/dedupe-cap/accumulate-dedupe-cap-rejected-count.d.ts +18 -0
- package/lib/db-ops/dedupe-cap/accumulate-dedupe-cap-rejected-count.js +23 -0
- package/lib/db-ops/dedupe-cap/finalize-dedupe-cap-event.d.ts +12 -0
- package/lib/db-ops/dedupe-cap/finalize-dedupe-cap-event.js +15 -0
- package/lib/db-ops/dedupe-cap/insert-dedupe-cap-event.d.ts +14 -0
- package/lib/db-ops/dedupe-cap/insert-dedupe-cap-event.js +30 -0
- package/lib/db-ops/dedupe-cap/list-dedupe-cap-observations.d.ts +57 -0
- package/lib/db-ops/dedupe-cap/list-dedupe-cap-observations.js +87 -0
- package/lib/db-ops/dedupe-cap/list-dedupe-cap-shape-keys.d.ts +21 -0
- package/lib/db-ops/dedupe-cap/list-dedupe-cap-shape-keys.js +27 -0
- package/lib/db-ops/errors/insert-crawl-error.d.ts +15 -0
- package/lib/db-ops/errors/insert-crawl-error.js +21 -0
- package/lib/db-ops/errors/insert-page-error.d.ts +21 -0
- package/lib/db-ops/errors/insert-page-error.js +30 -0
- package/lib/db-ops/errors/list-dns-burned-host-candidates.d.ts +33 -0
- package/lib/db-ops/errors/list-dns-burned-host-candidates.js +158 -0
- package/lib/db-ops/html/read-page-html-blob.d.ts +17 -0
- package/lib/db-ops/html/read-page-html-blob.js +20 -0
- package/lib/db-ops/lifecycle/checkpoint.d.ts +8 -0
- package/lib/db-ops/lifecycle/checkpoint.js +9 -0
- package/lib/db-ops/lifecycle/destroy.d.ts +6 -0
- package/lib/db-ops/lifecycle/destroy.js +7 -0
- package/lib/db-ops/lifecycle/init.d.ts +58 -0
- package/lib/db-ops/lifecycle/init.js +122 -0
- package/lib/db-ops/list-reconcile/record-list-reconcile-run.d.ts +22 -0
- package/lib/db-ops/list-reconcile/record-list-reconcile-run.js +41 -0
- package/lib/db-ops/meta/get-audios-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-audios-of-page.js +15 -0
- package/lib/db-ops/meta/get-buttons-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-buttons-of-page.js +15 -0
- package/lib/db-ops/meta/get-canvases-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-canvases-of-page.js +15 -0
- package/lib/db-ops/meta/get-custom-elements-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-custom-elements-of-page.js +15 -0
- package/lib/db-ops/meta/get-headings-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-headings-of-page.js +15 -0
- package/lib/db-ops/meta/get-iframes-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-iframes-of-page.js +15 -0
- package/lib/db-ops/meta/get-jsonld-of-page.d.ts +13 -0
- package/lib/db-ops/meta/get-jsonld-of-page.js +27 -0
- package/lib/db-ops/meta/get-main-content-images-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-main-content-images-of-page.js +15 -0
- package/lib/db-ops/meta/get-main-content-tables-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-main-content-tables-of-page.js +15 -0
- package/lib/db-ops/meta/get-page-technologies-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-page-technologies-of-page.js +15 -0
- package/lib/db-ops/meta/get-technology-signals-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-technology-signals-of-page.js +15 -0
- package/lib/db-ops/meta/get-videos-of-page.d.ts +11 -0
- package/lib/db-ops/meta/get-videos-of-page.js +15 -0
- package/lib/db-ops/outages/close-network-outage.d.ts +12 -0
- package/lib/db-ops/outages/close-network-outage.js +15 -0
- package/lib/db-ops/outages/close-stale-open-network-outages.d.ts +26 -0
- package/lib/db-ops/outages/close-stale-open-network-outages.js +42 -0
- package/lib/db-ops/outages/compute-outage-clamp-timestamp.d.ts +26 -0
- package/lib/db-ops/outages/compute-outage-clamp-timestamp.js +31 -0
- package/lib/db-ops/outages/insert-network-outage.d.ts +14 -0
- package/lib/db-ops/outages/insert-network-outage.js +29 -0
- package/lib/db-ops/outages/list-network-outages.d.ts +28 -0
- package/lib/db-ops/outages/list-network-outages.js +42 -0
- package/lib/db-ops/pages/order/set-url-order.d.ts +13 -0
- package/lib/db-ops/pages/order/set-url-order.js +38 -0
- package/lib/db-ops/pages/read/build-page-query.d.ts +18 -0
- package/lib/db-ops/pages/read/build-page-query.js +40 -0
- package/lib/db-ops/pages/read/get-crawling-state.d.ts +117 -0
- package/lib/db-ops/pages/read/get-crawling-state.js +161 -0
- package/lib/db-ops/pages/read/get-existing-page-urls.d.ts +15 -0
- package/lib/db-ops/pages/read/get-existing-page-urls.js +30 -0
- package/lib/db-ops/pages/read/get-page-count.d.ts +12 -0
- package/lib/db-ops/pages/read/get-page-count.js +21 -0
- package/lib/db-ops/pages/read/get-page-source-by-url.d.ts +24 -0
- package/lib/db-ops/pages/read/get-page-source-by-url.js +28 -0
- package/lib/db-ops/pages/read/get-pages-with-rels.d.ts +38 -0
- package/lib/db-ops/pages/read/get-pages-with-rels.js +107 -0
- package/lib/db-ops/pages/read/get-pages.d.ts +11 -0
- package/lib/db-ops/pages/read/get-pages.js +51 -0
- package/lib/db-ops/pages/read/get-scraped-html-page-count.d.ts +18 -0
- package/lib/db-ops/pages/read/get-scraped-html-page-count.js +25 -0
- package/lib/db-ops/pages/read/reconstruct-page-rows.d.ts +31 -0
- package/lib/db-ops/pages/read/reconstruct-page-rows.js +32 -0
- package/lib/db-ops/pages/reset/clear-page-derived-rows.d.ts +20 -0
- package/lib/db-ops/pages/reset/clear-page-derived-rows.js +37 -0
- package/lib/db-ops/pages/reset/repromote-external-pages.d.ts +30 -0
- package/lib/db-ops/pages/reset/repromote-external-pages.js +91 -0
- package/lib/db-ops/pages/reset/reset-failed-pages.d.ts +88 -0
- package/lib/db-ops/pages/reset/reset-failed-pages.js +216 -0
- package/lib/db-ops/pages/reset/reset-pages-by-urls.d.ts +80 -0
- package/lib/db-ops/pages/reset/reset-pages-by-urls.js +151 -0
- package/lib/db-ops/pages/reset/retryable-image-scan-codes.d.ts +24 -0
- package/lib/db-ops/pages/reset/retryable-image-scan-codes.js +24 -0
- package/lib/db-ops/pages/write/insert-audios.d.ts +14 -0
- package/lib/db-ops/pages/write/insert-audios.js +25 -0
- package/lib/db-ops/pages/write/insert-buttons.d.ts +14 -0
- package/lib/db-ops/pages/write/insert-buttons.js +29 -0
- package/lib/db-ops/pages/write/insert-canvases.d.ts +14 -0
- package/lib/db-ops/pages/write/insert-canvases.js +26 -0
- package/lib/db-ops/pages/write/insert-custom-elements.d.ts +27 -0
- package/lib/db-ops/pages/write/insert-custom-elements.js +40 -0
- package/lib/db-ops/pages/write/insert-headings.d.ts +15 -0
- package/lib/db-ops/pages/write/insert-headings.js +27 -0
- package/lib/db-ops/pages/write/insert-iframes.d.ts +14 -0
- package/lib/db-ops/pages/write/insert-iframes.js +28 -0
- package/lib/db-ops/pages/write/insert-inventory-content-items.d.ts +38 -0
- package/lib/db-ops/pages/write/insert-inventory-content-items.js +60 -0
- package/lib/db-ops/pages/write/insert-inventory-seeds.d.ts +36 -0
- package/lib/db-ops/pages/write/insert-inventory-seeds.js +48 -0
- package/lib/db-ops/pages/write/insert-inventory-skipped-pages.d.ts +42 -0
- package/lib/db-ops/pages/write/insert-inventory-skipped-pages.js +56 -0
- package/lib/db-ops/pages/write/insert-jsonld.d.ts +17 -0
- package/lib/db-ops/pages/write/insert-jsonld.js +49 -0
- package/lib/db-ops/pages/write/insert-main-content-images.d.ts +20 -0
- package/lib/db-ops/pages/write/insert-main-content-images.js +32 -0
- package/lib/db-ops/pages/write/insert-main-content-tables.d.ts +14 -0
- package/lib/db-ops/pages/write/insert-main-content-tables.js +29 -0
- package/lib/db-ops/pages/write/insert-page.d.ts +56 -0
- package/lib/db-ops/pages/write/insert-page.js +259 -0
- package/lib/db-ops/pages/write/insert-technologies.d.ts +25 -0
- package/lib/db-ops/pages/write/insert-technologies.js +45 -0
- package/lib/db-ops/pages/write/insert-videos.d.ts +14 -0
- package/lib/db-ops/pages/write/insert-videos.js +28 -0
- package/lib/db-ops/pages/write/link-redirect-sources.d.ts +42 -0
- package/lib/db-ops/pages/write/link-redirect-sources.js +101 -0
- package/lib/db-ops/pages/write/record-redirect.d.ts +35 -0
- package/lib/db-ops/pages/write/record-redirect.js +100 -0
- package/lib/db-ops/pages/write/set-skipped-page.d.ts +13 -0
- package/lib/db-ops/pages/write/set-skipped-page.js +24 -0
- package/lib/db-ops/pages/write/update-page.d.ts +40 -0
- package/lib/db-ops/pages/write/update-page.js +419 -0
- package/lib/db-ops/pages/write/write-page-html-blob.d.ts +19 -0
- package/lib/db-ops/pages/write/write-page-html-blob.js +41 -0
- package/lib/db-ops/referrers/get-redirects-for-pages.d.ts +9 -0
- package/lib/db-ops/referrers/get-redirects-for-pages.js +15 -0
- package/lib/db-ops/referrers/get-referrers-of-page.d.ts +17 -0
- package/lib/db-ops/referrers/get-referrers-of-page.js +32 -0
- package/lib/db-ops/referrers/get-referrers-of-resource.d.ts +8 -0
- package/lib/db-ops/referrers/get-referrers-of-resource.js +15 -0
- package/lib/db-ops/resources/build-resource-query.d.ts +25 -0
- package/lib/db-ops/resources/build-resource-query.js +29 -0
- package/lib/db-ops/resources/get-existing-resource-urls.d.ts +9 -0
- package/lib/db-ops/resources/get-existing-resource-urls.js +24 -0
- package/lib/db-ops/resources/get-resource-by-url.d.ts +13 -0
- package/lib/db-ops/resources/get-resource-by-url.js +22 -0
- package/lib/db-ops/resources/get-resource-url-list.d.ts +17 -0
- package/lib/db-ops/resources/get-resource-url-list.js +26 -0
- package/lib/db-ops/resources/get-resources.d.ts +8 -0
- package/lib/db-ops/resources/get-resources.js +11 -0
- package/lib/db-ops/resources/insert-inventory-resources.d.ts +24 -0
- package/lib/db-ops/resources/insert-inventory-resources.js +64 -0
- package/lib/db-ops/resources/insert-resource-referrers.d.ts +15 -0
- package/lib/db-ops/resources/insert-resource-referrers.js +54 -0
- package/lib/db-ops/resources/insert-resource.d.ts +34 -0
- package/lib/db-ops/resources/insert-resource.js +73 -0
- package/lib/db-ops/resources/reconstruct-resource-rows.d.ts +26 -0
- package/lib/db-ops/resources/reconstruct-resource-rows.js +30 -0
- package/lib/db-ops/templates/assign-template-labels.d.ts +60 -0
- package/lib/db-ops/templates/assign-template-labels.js +187 -0
- package/lib/db-ops/templates/replace-page-templates.d.ts +44 -0
- package/lib/db-ops/templates/replace-page-templates.js +174 -0
- package/lib/db-ops/templates/serialize-template-cluster-reason.d.ts +16 -0
- package/lib/db-ops/templates/serialize-template-cluster-reason.js +17 -0
- package/lib/db-ops/templates/types.d.ts +103 -0
- package/lib/db-ops/templates/types.js +1 -0
- package/lib/debug.d.ts +8 -0
- package/lib/debug.js +9 -0
- package/lib/decode-html-blob.d.ts +20 -0
- package/lib/decode-html-blob.js +23 -0
- package/lib/decode-page-html-blob-bytes.d.ts +25 -0
- package/lib/decode-page-html-blob-bytes.js +29 -0
- package/lib/decode-stored-blob-bytes.d.ts +25 -0
- package/lib/decode-stored-blob-bytes.js +47 -0
- package/lib/derive-lineage-from-parent.d.ts +37 -0
- package/lib/derive-lineage-from-parent.js +42 -0
- package/lib/drop-legacy-tables.d.ts +45 -0
- package/lib/drop-legacy-tables.js +56 -0
- package/lib/error-kind/classify-error-kind.d.ts +20 -0
- package/lib/error-kind/classify-error-kind.js +136 -0
- package/lib/error-kind/network-related-error-kinds.d.ts +23 -0
- package/lib/error-kind/network-related-error-kinds.js +28 -0
- package/lib/error-kind/permanent-error-kinds.d.ts +48 -0
- package/lib/error-kind/permanent-error-kinds.js +54 -0
- package/lib/error-kind/types.d.ts +54 -0
- package/lib/error-kind/types.js +1 -0
- package/lib/filesystem/append-text.d.ts +9 -0
- package/lib/filesystem/append-text.js +14 -0
- package/lib/filesystem/copy-dir-sync.d.ts +6 -0
- package/lib/filesystem/copy-dir-sync.js +9 -0
- package/lib/filesystem/copy-dir.d.ts +7 -0
- package/lib/filesystem/copy-dir.js +13 -0
- package/lib/filesystem/copy-file-with-progress.d.ts +20 -0
- package/lib/filesystem/copy-file-with-progress.js +34 -0
- package/lib/filesystem/exists.d.ts +6 -0
- package/lib/filesystem/exists.js +9 -0
- package/lib/filesystem/get-file-list.d.ts +8 -0
- package/lib/filesystem/get-file-list.js +12 -0
- package/lib/filesystem/is-dir.d.ts +6 -0
- package/lib/filesystem/is-dir.js +10 -0
- package/lib/filesystem/mkdir.d.ts +8 -0
- package/lib/filesystem/mkdir.js +15 -0
- package/lib/filesystem/output-binary.d.ts +12 -0
- package/lib/filesystem/output-binary.js +17 -0
- package/lib/filesystem/output-json.d.ts +9 -0
- package/lib/filesystem/output-json.js +14 -0
- package/lib/filesystem/output-text.d.ts +11 -0
- package/lib/filesystem/output-text.js +32 -0
- package/lib/filesystem/parse-pax-path.d.ts +18 -0
- package/lib/filesystem/parse-pax-path.js +47 -0
- package/lib/filesystem/parse-tar-size-field.d.ts +13 -0
- package/lib/filesystem/parse-tar-size-field.js +40 -0
- package/lib/filesystem/peek-tar-top-dir.d.ts +35 -0
- package/lib/filesystem/peek-tar-top-dir.js +215 -0
- package/lib/filesystem/read-json.d.ts +7 -0
- package/lib/filesystem/read-json.js +11 -0
- package/lib/filesystem/read-text.d.ts +6 -0
- package/lib/filesystem/read-text.js +10 -0
- package/lib/filesystem/readline.d.ts +11 -0
- package/lib/filesystem/readline.js +26 -0
- package/lib/filesystem/remove.d.ts +5 -0
- package/lib/filesystem/remove.js +10 -0
- package/lib/filesystem/rename.d.ts +16 -0
- package/lib/filesystem/rename.js +48 -0
- package/lib/filesystem/tar.d.ts +23 -0
- package/lib/filesystem/tar.js +78 -0
- package/lib/filesystem/untar.d.ts +33 -0
- package/lib/filesystem/untar.js +84 -0
- package/lib/get-failed-page-messages.d.ts +56 -0
- package/lib/get-failed-page-messages.js +146 -0
- package/lib/get-json.d.ts +10 -0
- package/lib/get-json.js +25 -0
- package/lib/html-snapshot/match-selector-html.d.ts +25 -0
- package/lib/html-snapshot/match-selector-html.js +28 -0
- package/lib/html-snapshot/match-selector-snapshots.d.ts +33 -0
- package/lib/html-snapshot/match-selector-snapshots.js +33 -0
- package/lib/html-snapshot/search-html-document.d.ts +29 -0
- package/lib/html-snapshot/search-html-document.js +27 -0
- package/lib/html-snapshot/search-html-snapshots.d.ts +36 -0
- package/lib/html-snapshot/search-html-snapshots.js +35 -0
- package/lib/html-snapshot/types.d.ts +111 -0
- package/lib/html-snapshot/types.js +7 -0
- package/lib/html-snapshot/validate-search-pattern.d.ts +15 -0
- package/lib/html-snapshot/validate-search-pattern.js +17 -0
- package/lib/init-schema.d.ts +48 -0
- package/lib/init-schema.js +124 -0
- package/lib/is-inventory-source.d.ts +21 -0
- package/lib/is-inventory-source.js +22 -0
- package/lib/is-within-outage-window.d.ts +49 -0
- package/lib/is-within-outage-window.js +33 -0
- package/lib/isolated-cluster/create-isolated-cluster-run.d.ts +24 -0
- package/lib/isolated-cluster/create-isolated-cluster-run.js +26 -0
- package/lib/libsql-dialect.d.ts +115 -0
- package/lib/libsql-dialect.js +116 -0
- package/lib/limited-page-ids.d.ts +9 -0
- package/lib/limited-page-ids.js +18 -0
- package/lib/meta/assert-compatible-version.d.ts +60 -0
- package/lib/meta/assert-compatible-version.js +93 -0
- package/lib/meta/classify-jsonld-type.d.ts +23 -0
- package/lib/meta/classify-jsonld-type.js +43 -0
- package/lib/meta/compare-semver.d.ts +23 -0
- package/lib/meta/compare-semver.js +51 -0
- package/lib/meta/compute-main-contents-denormalized.d.ts +41 -0
- package/lib/meta/compute-main-contents-denormalized.js +88 -0
- package/lib/meta/compute-page-denormalized.d.ts +20 -0
- package/lib/meta/compute-page-denormalized.js +35 -0
- package/lib/meta/derive-flat-from-meta.d.ts +34 -0
- package/lib/meta/derive-flat-from-meta.js +158 -0
- package/lib/meta/derive-meta-extras.d.ts +20 -0
- package/lib/meta/derive-meta-extras.js +23 -0
- package/lib/meta/extract-tags-for-archive.d.ts +17 -0
- package/lib/meta/extract-tags-for-archive.js +36 -0
- package/lib/meta/parse-main-content-class-list.d.ts +19 -0
- package/lib/meta/parse-main-content-class-list.js +34 -0
- package/lib/meta/summarize-jsonld.d.ts +17 -0
- package/lib/meta/summarize-jsonld.js +29 -0
- package/lib/meta/technologies/combine-technology-confidence.d.ts +46 -0
- package/lib/meta/technologies/combine-technology-confidence.js +93 -0
- package/lib/meta/technologies/convert-legacy-page-tags-to-inserts.d.ts +45 -0
- package/lib/meta/technologies/convert-legacy-page-tags-to-inserts.js +53 -0
- package/lib/meta/technologies/convert-tag-row-to-wappalyzer-signal.d.ts +33 -0
- package/lib/meta/technologies/convert-tag-row-to-wappalyzer-signal.js +46 -0
- package/lib/meta/technologies/extract-technologies-for-archive.d.ts +33 -0
- package/lib/meta/technologies/extract-technologies-for-archive.js +30 -0
- package/lib/meta/technologies/match-js-license-comment-signal.d.ts +21 -0
- package/lib/meta/technologies/match-js-license-comment-signal.js +23 -0
- package/lib/meta/technologies/match-structural-technology-signals.d.ts +26 -0
- package/lib/meta/technologies/match-structural-technology-signals.js +48 -0
- package/lib/meta/technologies/normalize-wappalyzer-entries.d.ts +25 -0
- package/lib/meta/technologies/normalize-wappalyzer-entries.js +35 -0
- package/lib/meta/technologies/technology-signal-definitions.d.ts +44 -0
- package/lib/meta/technologies/technology-signal-definitions.js +60 -0
- package/lib/meta/technologies/types.d.ts +70 -0
- package/lib/meta/technologies/types.js +13 -0
- package/lib/meta/types.d.ts +1490 -0
- package/lib/meta/types.js +65 -0
- package/lib/migrate-content-items-alias-of-id.d.ts +52 -0
- package/lib/migrate-content-items-alias-of-id.js +69 -0
- package/lib/migrate-content-items-dedupe-cap-event-id.d.ts +46 -0
- package/lib/migrate-content-items-dedupe-cap-event-id.js +62 -0
- package/lib/migrate-content-items-is-metadata-only.d.ts +44 -0
- package/lib/migrate-content-items-is-metadata-only.js +60 -0
- package/lib/migrate-entity-tables.d.ts +55 -0
- package/lib/migrate-entity-tables.js +66 -0
- package/lib/migrate-info-created-cwd.d.ts +17 -0
- package/lib/migrate-info-created-cwd.js +36 -0
- package/lib/migrate-info-main-content-selector.d.ts +16 -0
- package/lib/migrate-info-main-content-selector.js +35 -0
- package/lib/migrate-info-request-header-names.d.ts +16 -0
- package/lib/migrate-info-request-header-names.js +35 -0
- package/lib/migrate-info-roots.d.ts +20 -0
- package/lib/migrate-info-roots.js +52 -0
- package/lib/migrate-inventory-runs-to-list-reconcile-runs.d.ts +34 -0
- package/lib/migrate-inventory-runs-to-list-reconcile-runs.js +51 -0
- package/lib/migrate-list-reconcile-runs-exclude-skipped.d.ts +25 -0
- package/lib/migrate-list-reconcile-runs-exclude-skipped.js +44 -0
- package/lib/migrate-list-reconcile-runs-invalid-skipped.d.ts +16 -0
- package/lib/migrate-list-reconcile-runs-invalid-skipped.js +35 -0
- package/lib/migrate-main-contents-columns.d.ts +26 -0
- package/lib/migrate-main-contents-columns.js +61 -0
- package/lib/migrate-page-meta-body-hash.d.ts +44 -0
- package/lib/migrate-page-meta-body-hash.js +63 -0
- package/lib/migrate-page-meta-console-error-count.d.ts +27 -0
- package/lib/migrate-page-meta-console-error-count.js +45 -0
- package/lib/migrate-page-meta-custom-element-count.d.ts +33 -0
- package/lib/migrate-page-meta-custom-element-count.js +51 -0
- package/lib/migrate-page-meta-image-scan.d.ts +27 -0
- package/lib/migrate-page-meta-image-scan.js +52 -0
- package/lib/migrate-page-tags-to-page-technologies.d.ts +39 -0
- package/lib/migrate-page-tags-to-page-technologies.js +79 -0
- package/lib/migrate-ref-tables.d.ts +25 -0
- package/lib/migrate-ref-tables.js +38 -0
- package/lib/native-executor/check-native-executor-config.d.ts +17 -0
- package/lib/native-executor/check-native-executor-config.js +20 -0
- package/lib/page-meta-column-maps.d.ts +32 -0
- package/lib/page-meta-column-maps.js +43 -0
- package/lib/page.d.ts +546 -0
- package/lib/page.js +764 -0
- package/lib/peek-archive-lock.d.ts +40 -0
- package/lib/peek-archive-lock.js +62 -0
- package/lib/populate-entity-tables/collapse-anchor-rows.d.ts +41 -0
- package/lib/populate-entity-tables/collapse-anchor-rows.js +87 -0
- package/lib/populate-entity-tables/derive-dom-path.d.ts +35 -0
- package/lib/populate-entity-tables/derive-dom-path.js +72 -0
- package/lib/populate-entity-tables/is-blob-ref-value.d.ts +16 -0
- package/lib/populate-entity-tables/is-blob-ref-value.js +19 -0
- package/lib/populate-entity-tables/match-images-to-dom-paths.d.ts +66 -0
- package/lib/populate-entity-tables/match-images-to-dom-paths.js +96 -0
- package/lib/populate-entity-tables/populate-anchor-edges.d.ts +33 -0
- package/lib/populate-entity-tables/populate-anchor-edges.js +153 -0
- package/lib/populate-entity-tables/populate-content-items.d.ts +40 -0
- package/lib/populate-entity-tables/populate-content-items.js +141 -0
- package/lib/populate-entity-tables/populate-entities.d.ts +81 -0
- package/lib/populate-entity-tables/populate-entities.js +110 -0
- package/lib/populate-entity-tables/populate-image-items.d.ts +91 -0
- package/lib/populate-entity-tables/populate-image-items.js +226 -0
- package/lib/populate-entity-tables/populate-page-meta.d.ts +33 -0
- package/lib/populate-entity-tables/populate-page-meta.js +267 -0
- package/lib/populate-entity-tables/populate-resource-items.d.ts +22 -0
- package/lib/populate-entity-tables/populate-resource-items.js +114 -0
- package/lib/populate-entity-tables/populate-resource-ref-edges.d.ts +31 -0
- package/lib/populate-entity-tables/populate-resource-ref-edges.js +33 -0
- package/lib/populate-entity-tables/resolve-blob-refs.d.ts +31 -0
- package/lib/populate-entity-tables/resolve-blob-refs.js +100 -0
- package/lib/populate-entity-tables/resolve-content-type-refs.d.ts +22 -0
- package/lib/populate-entity-tables/resolve-content-type-refs.js +27 -0
- package/lib/populate-entity-tables/resolve-header-sets.d.ts +49 -0
- package/lib/populate-entity-tables/resolve-header-sets.js +122 -0
- package/lib/populate-entity-tables/resolve-json-refs.d.ts +25 -0
- package/lib/populate-entity-tables/resolve-json-refs.js +67 -0
- package/lib/populate-entity-tables/resolve-text-refs.d.ts +30 -0
- package/lib/populate-entity-tables/resolve-text-refs.js +61 -0
- package/lib/populate-entity-tables/resolve-url-or-blob-from-maps.d.ts +21 -0
- package/lib/populate-entity-tables/resolve-url-or-blob-from-maps.js +27 -0
- package/lib/populate-entity-tables/resolve-url-refs.d.ts +33 -0
- package/lib/populate-entity-tables/resolve-url-refs.js +60 -0
- package/lib/populate-entity-tables/test-utils/count-rows.d.ts +17 -0
- package/lib/populate-entity-tables/test-utils/count-rows.js +20 -0
- package/lib/populate-entity-tables/test-utils/seed-content-items.d.ts +25 -0
- package/lib/populate-entity-tables/test-utils/seed-content-items.js +42 -0
- package/lib/populate-entity-tables/test-utils/setup-entities-db.d.ts +30 -0
- package/lib/populate-entity-tables/test-utils/setup-entities-db.js +175 -0
- package/lib/populate-entity-tables/types.d.ts +157 -0
- package/lib/populate-entity-tables/types.js +12 -0
- package/lib/populate-entity-tables/upsert-text-refs.d.ts +38 -0
- package/lib/populate-entity-tables/upsert-text-refs.js +78 -0
- package/lib/populate-ref-tables/classify-content-type.d.ts +16 -0
- package/lib/populate-ref-tables/classify-content-type.js +52 -0
- package/lib/populate-ref-tables/compute-content-hash.d.ts +22 -0
- package/lib/populate-ref-tables/compute-content-hash.js +26 -0
- package/lib/populate-ref-tables/compute-header-flags.d.ts +16 -0
- package/lib/populate-ref-tables/compute-header-flags.js +70 -0
- package/lib/populate-ref-tables/content-type-rules.d.ts +38 -0
- package/lib/populate-ref-tables/content-type-rules.js +133 -0
- package/lib/populate-ref-tables/create-header-table-caches.d.ts +25 -0
- package/lib/populate-ref-tables/create-header-table-caches.js +49 -0
- package/lib/populate-ref-tables/data-uri-url-refs-limit.d.ts +15 -0
- package/lib/populate-ref-tables/data-uri-url-refs-limit.js +15 -0
- package/lib/populate-ref-tables/decode-data-uri.d.ts +21 -0
- package/lib/populate-ref-tables/decode-data-uri.js +126 -0
- package/lib/populate-ref-tables/decompose-header-set.d.ts +29 -0
- package/lib/populate-ref-tables/decompose-header-set.js +157 -0
- package/lib/populate-ref-tables/decompose-url.d.ts +25 -0
- package/lib/populate-ref-tables/decompose-url.js +70 -0
- package/lib/populate-ref-tables/header-stability.d.ts +19 -0
- package/lib/populate-ref-tables/header-stability.js +22 -0
- package/lib/populate-ref-tables/header-value-cache-key.d.ts +17 -0
- package/lib/populate-ref-tables/header-value-cache-key.js +19 -0
- package/lib/populate-ref-tables/normalize-mime.d.ts +24 -0
- package/lib/populate-ref-tables/normalize-mime.js +36 -0
- package/lib/populate-ref-tables/populate-blob-refs.d.ts +38 -0
- package/lib/populate-ref-tables/populate-blob-refs.js +134 -0
- package/lib/populate-ref-tables/populate-content-type-refs.d.ts +27 -0
- package/lib/populate-ref-tables/populate-content-type-refs.js +70 -0
- package/lib/populate-ref-tables/populate-header-tables.d.ts +35 -0
- package/lib/populate-ref-tables/populate-header-tables.js +80 -0
- package/lib/populate-ref-tables/populate-json-refs.d.ts +29 -0
- package/lib/populate-ref-tables/populate-json-refs.js +101 -0
- package/lib/populate-ref-tables/populate-refs.d.ts +51 -0
- package/lib/populate-ref-tables/populate-refs.js +62 -0
- package/lib/populate-ref-tables/populate-text-refs.d.ts +32 -0
- package/lib/populate-ref-tables/populate-text-refs.js +133 -0
- package/lib/populate-ref-tables/populate-url-refs.d.ts +28 -0
- package/lib/populate-ref-tables/populate-url-refs.js +148 -0
- package/lib/populate-ref-tables/test-utils/count-rows.d.ts +15 -0
- package/lib/populate-ref-tables/test-utils/count-rows.js +17 -0
- package/lib/populate-ref-tables/types.d.ts +197 -0
- package/lib/populate-ref-tables/types.js +7 -0
- package/lib/populate-ref-tables/upsert-one-header-set.d.ts +34 -0
- package/lib/populate-ref-tables/upsert-one-header-set.js +208 -0
- package/lib/populate-ref-tables/volatile-header-names.d.ts +20 -0
- package/lib/populate-ref-tables/volatile-header-names.js +33 -0
- package/lib/redirect-table.d.ts +9 -0
- package/lib/redirect-table.js +28 -0
- package/lib/release-finished-statements.d.ts +42 -0
- package/lib/release-finished-statements.js +45 -0
- package/lib/resolve-redirect-chain.d.ts +33 -0
- package/lib/resolve-redirect-chain.js +27 -0
- package/lib/resource.d.ts +46 -0
- package/lib/resource.js +62 -0
- package/lib/retarget-legacy-fk-tables.d.ts +61 -0
- package/lib/retarget-legacy-fk-tables.js +137 -0
- package/lib/safe-path.d.ts +9 -0
- package/lib/safe-path.js +17 -0
- package/lib/scope/build-scope-map.d.ts +21 -0
- package/lib/scope/build-scope-map.js +32 -0
- package/lib/scope/find-scope-entry.d.ts +25 -0
- package/lib/scope/find-scope-entry.js +45 -0
- package/lib/template-classification/classify-archive-page-templates.d.ts +42 -0
- package/lib/template-classification/classify-archive-page-templates.js +70 -0
- package/lib/template-classification/classify-page-templates.d.ts +33 -0
- package/lib/template-classification/classify-page-templates.js +60 -0
- package/lib/template-classification/collect-page-ids-with-html.d.ts +24 -0
- package/lib/template-classification/collect-page-ids-with-html.js +30 -0
- package/lib/template-classification/collect-page-stylesheet-urls.d.ts +32 -0
- package/lib/template-classification/collect-page-stylesheet-urls.js +130 -0
- package/lib/template-classification/create-content-root-hint.d.ts +41 -0
- package/lib/template-classification/create-content-root-hint.js +51 -0
- package/lib/template-classification/create-page-cluster-factory.d.ts +36 -0
- package/lib/template-classification/create-page-cluster-factory.js +52 -0
- package/lib/template-classification/load-page-cluster-candidates.d.ts +32 -0
- package/lib/template-classification/load-page-cluster-candidates.js +93 -0
- package/lib/template-classification/page-cluster/resolve-page-cluster-keys.d.ts +34 -0
- package/lib/template-classification/page-cluster/resolve-page-cluster-keys.js +236 -0
- package/lib/template-classification/page-cluster/types.d.ts +123 -0
- package/lib/template-classification/page-cluster/types.js +1 -0
- package/lib/template-classification/types.d.ts +234 -0
- package/lib/template-classification/types.js +1 -0
- package/lib/test-utils/build-full-schema-test-db.d.ts +34 -0
- package/lib/test-utils/build-full-schema-test-db.js +74 -0
- package/lib/test-utils/create-legacy-analysis-tables.d.ts +13 -0
- package/lib/test-utils/create-legacy-analysis-tables.js +37 -0
- package/lib/test-utils/fk-parent-tables.d.ts +15 -0
- package/lib/test-utils/fk-parent-tables.js +19 -0
- package/lib/test-utils/seed-content-item.d.ts +35 -0
- package/lib/test-utils/seed-content-item.js +42 -0
- package/lib/test-utils/setup-legacy-fk-db.d.ts +34 -0
- package/lib/test-utils/setup-legacy-fk-db.js +271 -0
- package/lib/transfer/attach-source-database.d.ts +31 -0
- package/lib/transfer/attach-source-database.js +40 -0
- package/lib/transfer/build-split-config.d.ts +30 -0
- package/lib/transfer/build-split-config.js +42 -0
- package/lib/transfer/clear-replaced-page-rows.d.ts +23 -0
- package/lib/transfer/clear-replaced-page-rows.js +61 -0
- package/lib/transfer/concat-archives.d.ts +55 -0
- package/lib/transfer/concat-archives.js +95 -0
- package/lib/transfer/concat-source-transfer-phases.d.ts +10 -0
- package/lib/transfer/concat-source-transfer-phases.js +17 -0
- package/lib/transfer/content-item-rank-sql.d.ts +21 -0
- package/lib/transfer/content-item-rank-sql.js +23 -0
- package/lib/transfer/copy-anchor-edges.d.ts +28 -0
- package/lib/transfer/copy-anchor-edges.js +42 -0
- package/lib/transfer/copy-dictionaries-for-concat.d.ts +39 -0
- package/lib/transfer/copy-dictionaries-for-concat.js +81 -0
- package/lib/transfer/copy-dictionaries-for-split.d.ts +29 -0
- package/lib/transfer/copy-dictionaries-for-split.js +224 -0
- package/lib/transfer/copy-header-set-children.d.ts +27 -0
- package/lib/transfer/copy-header-set-children.js +51 -0
- package/lib/transfer/copy-image-items.d.ts +21 -0
- package/lib/transfer/copy-image-items.js +62 -0
- package/lib/transfer/copy-inventory-source-lists.d.ts +30 -0
- package/lib/transfer/copy-inventory-source-lists.js +61 -0
- package/lib/transfer/copy-journal-tables.d.ts +30 -0
- package/lib/transfer/copy-journal-tables.js +56 -0
- package/lib/transfer/copy-page-console-logs.d.ts +16 -0
- package/lib/transfer/copy-page-console-logs.js +27 -0
- package/lib/transfer/copy-page-html-blobs.d.ts +31 -0
- package/lib/transfer/copy-page-html-blobs.js +43 -0
- package/lib/transfer/copy-page-meta.d.ts +27 -0
- package/lib/transfer/copy-page-meta.js +68 -0
- package/lib/transfer/copy-page-template-clusters.d.ts +31 -0
- package/lib/transfer/copy-page-template-clusters.js +56 -0
- package/lib/transfer/copy-page-template-labels.d.ts +34 -0
- package/lib/transfer/copy-page-template-labels.js +88 -0
- package/lib/transfer/copy-resource-items.d.ts +29 -0
- package/lib/transfer/copy-resource-items.js +89 -0
- package/lib/transfer/copy-resource-ref-edges.d.ts +20 -0
- package/lib/transfer/copy-resource-ref-edges.js +33 -0
- package/lib/transfer/copy-simple-page-scoped-tables.d.ts +15 -0
- package/lib/transfer/copy-simple-page-scoped-tables.js +34 -0
- package/lib/transfer/count-external-pages-in-scope.d.ts +26 -0
- package/lib/transfer/count-external-pages-in-scope.js +40 -0
- package/lib/transfer/create-transfer-temp-tables.d.ts +30 -0
- package/lib/transfer/create-transfer-temp-tables.js +59 -0
- package/lib/transfer/dictionary-copy-specs.d.ts +32 -0
- package/lib/transfer/dictionary-copy-specs.js +28 -0
- package/lib/transfer/drop-transfer-temp-tables.d.ts +9 -0
- package/lib/transfer/drop-transfer-temp-tables.js +18 -0
- package/lib/transfer/flatten-redirect-chains.d.ts +44 -0
- package/lib/transfer/flatten-redirect-chains.js +74 -0
- package/lib/transfer/insert-content-items.d.ts +35 -0
- package/lib/transfer/insert-content-items.js +116 -0
- package/lib/transfer/list-transfer-columns.d.ts +35 -0
- package/lib/transfer/list-transfer-columns.js +45 -0
- package/lib/transfer/mark-in-scope-content-items.d.ts +31 -0
- package/lib/transfer/mark-in-scope-content-items.js +54 -0
- package/lib/transfer/merge-archive-configs.d.ts +51 -0
- package/lib/transfer/merge-archive-configs.js +85 -0
- package/lib/transfer/plan-content-items-for-concat.d.ts +33 -0
- package/lib/transfer/plan-content-items-for-concat.js +51 -0
- package/lib/transfer/plan-content-items-for-split.d.ts +42 -0
- package/lib/transfer/plan-content-items-for-split.js +83 -0
- package/lib/transfer/plan-resource-items.d.ts +40 -0
- package/lib/transfer/plan-resource-items.js +69 -0
- package/lib/transfer/quote-transfer-identifier.d.ts +18 -0
- package/lib/transfer/quote-transfer-identifier.js +20 -0
- package/lib/transfer/reclassify-resource-externality.d.ts +37 -0
- package/lib/transfer/reclassify-resource-externality.js +66 -0
- package/lib/transfer/remap-redirect-dest-ids.d.ts +34 -0
- package/lib/transfer/remap-redirect-dest-ids.js +51 -0
- package/lib/transfer/replace-content-items.d.ts +39 -0
- package/lib/transfer/replace-content-items.js +83 -0
- package/lib/transfer/simple-page-scoped-tables.d.ts +25 -0
- package/lib/transfer/simple-page-scoped-tables.js +38 -0
- package/lib/transfer/split-archive.d.ts +55 -0
- package/lib/transfer/split-archive.js +98 -0
- package/lib/transfer/split-source-transfer-phases.d.ts +11 -0
- package/lib/transfer/split-source-transfer-phases.js +18 -0
- package/lib/transfer/transfer-action.d.ts +34 -0
- package/lib/transfer/transfer-action.js +32 -0
- package/lib/transfer/transfer-archive-rows.d.ts +65 -0
- package/lib/transfer/transfer-archive-rows.js +156 -0
- package/lib/transfer/transfer-dictionary-tables.d.ts +12 -0
- package/lib/transfer/transfer-dictionary-tables.js +22 -0
- package/lib/transfer/transfer-post-phases.d.ts +10 -0
- package/lib/transfer/transfer-post-phases.js +13 -0
- package/lib/transfer/transfer-source-alias.d.ts +9 -0
- package/lib/transfer/transfer-source-alias.js +9 -0
- package/lib/transfer/types.d.ts +111 -0
- package/lib/transfer/types.js +35 -0
- package/lib/types.d.ts +772 -0
- package/lib/types.js +1 -0
- package/lib/url-alias/compute-tier-a-alias-key.d.ts +44 -0
- package/lib/url-alias/compute-tier-a-alias-key.js +47 -0
- package/lib/url-alias/compute-tier-b-alias-key.d.ts +23 -0
- package/lib/url-alias/compute-tier-b-alias-key.js +26 -0
- package/lib/url-alias/group-alias-candidates.d.ts +27 -0
- package/lib/url-alias/group-alias-candidates.js +29 -0
- package/lib/url-alias/types.d.ts +12 -0
- package/lib/url-alias/types.js +1 -0
- package/lib/url-pattern/compute-shape-key.d.ts +58 -0
- package/lib/url-pattern/compute-shape-key.js +129 -0
- package/lib/url-pattern/decompose-url.d.ts +33 -0
- package/lib/url-pattern/decompose-url.js +79 -0
- package/lib/url-pattern/reconstruct-url.d.ts +15 -0
- package/lib/url-pattern/reconstruct-url.js +33 -0
- package/lib/url-sort/compute-url-sort-ranks.d.ts +30 -0
- package/lib/url-sort/compute-url-sort-ranks.js +33 -0
- package/lib/utils/array/each-splitted.d.ts +10 -0
- package/lib/utils/array/each-splitted.js +14 -0
- package/lib/utils/debug.d.ts +8 -0
- package/lib/utils/debug.js +8 -0
- package/lib/utils/error/emit-error-with-retry.d.ts +40 -0
- package/lib/utils/error/emit-error-with-retry.js +44 -0
- package/lib/utils/error/emit-error.d.ts +39 -0
- package/lib/utils/error/emit-error.js +41 -0
- package/lib/utils/object/parse-response-headers.d.ts +12 -0
- package/lib/utils/object/parse-response-headers.js +26 -0
- package/lib/utils/object/redact-request-headers.d.ts +15 -0
- package/lib/utils/object/redact-request-headers.js +27 -0
- package/lib/utils/types/types.d.ts +383 -0
- package/lib/utils/types/types.js +1 -0
- package/lib/verify-migration/capture-rejection.d.ts +24 -0
- package/lib/verify-migration/capture-rejection.js +31 -0
- package/lib/verify-migration/check-anchor-edges-count.d.ts +34 -0
- package/lib/verify-migration/check-anchor-edges-count.js +72 -0
- package/lib/verify-migration/check-anchor-edges-sum.d.ts +13 -0
- package/lib/verify-migration/check-anchor-edges-sum.js +27 -0
- package/lib/verify-migration/check-content-items-count.d.ts +16 -0
- package/lib/verify-migration/check-content-items-count.js +30 -0
- package/lib/verify-migration/check-content-type-preservation.d.ts +22 -0
- package/lib/verify-migration/check-content-type-preservation.js +40 -0
- package/lib/verify-migration/check-foreign-key-integrity.d.ts +31 -0
- package/lib/verify-migration/check-foreign-key-integrity.js +47 -0
- package/lib/verify-migration/check-image-items-count.d.ts +12 -0
- package/lib/verify-migration/check-image-items-count.js +26 -0
- package/lib/verify-migration/check-page-meta-count.d.ts +15 -0
- package/lib/verify-migration/check-page-meta-count.js +31 -0
- package/lib/verify-migration/check-reader-parity.d.ts +23 -0
- package/lib/verify-migration/check-reader-parity.js +182 -0
- package/lib/verify-migration/check-resource-items-count.d.ts +17 -0
- package/lib/verify-migration/check-resource-items-count.js +33 -0
- package/lib/verify-migration/check-url-round-trip.d.ts +43 -0
- package/lib/verify-migration/check-url-round-trip.js +112 -0
- package/lib/verify-migration/types.d.ts +70 -0
- package/lib/verify-migration/types.js +63 -0
- package/lib/verify-migration/verify-migration.d.ts +41 -0
- package/lib/verify-migration/verify-migration.js +120 -0
- package/lib/with-bulk-write-pragmas.d.ts +51 -0
- package/lib/with-bulk-write-pragmas.js +132 -0
- package/lib/write-queue.d.ts +32 -0
- package/lib/write-queue.js +55 -0
- package/package.json +360 -5
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { attachSourceDatabase } from './attach-source-database.js';
|
|
2
|
+
import { clearReplacedPageRows } from './clear-replaced-page-rows.js';
|
|
3
|
+
import { copyAnchorEdges } from './copy-anchor-edges.js';
|
|
4
|
+
import { copyDictionariesForConcat } from './copy-dictionaries-for-concat.js';
|
|
5
|
+
import { copyDictionariesForSplit } from './copy-dictionaries-for-split.js';
|
|
6
|
+
import { copyHeaderSetChildren } from './copy-header-set-children.js';
|
|
7
|
+
import { copyImageItems } from './copy-image-items.js';
|
|
8
|
+
import { copyJournalTables } from './copy-journal-tables.js';
|
|
9
|
+
import { copyPageConsoleLogs } from './copy-page-console-logs.js';
|
|
10
|
+
import { copyPageHtmlBlobs } from './copy-page-html-blobs.js';
|
|
11
|
+
import { copyPageMeta } from './copy-page-meta.js';
|
|
12
|
+
import { copyPageTemplateClusters } from './copy-page-template-clusters.js';
|
|
13
|
+
import { copyPageTemplateLabels } from './copy-page-template-labels.js';
|
|
14
|
+
import { copyResourceItems } from './copy-resource-items.js';
|
|
15
|
+
import { copyResourceRefEdges } from './copy-resource-ref-edges.js';
|
|
16
|
+
import { copySimplePageScopedTables } from './copy-simple-page-scoped-tables.js';
|
|
17
|
+
import { createTransferTempTables } from './create-transfer-temp-tables.js';
|
|
18
|
+
import { dropTransferTempTables } from './drop-transfer-temp-tables.js';
|
|
19
|
+
import { insertContentItems } from './insert-content-items.js';
|
|
20
|
+
import { markInScopeContentItems } from './mark-in-scope-content-items.js';
|
|
21
|
+
import { planContentItemsForConcat } from './plan-content-items-for-concat.js';
|
|
22
|
+
import { planContentItemsForSplit } from './plan-content-items-for-split.js';
|
|
23
|
+
import { planResourceItems } from './plan-resource-items.js';
|
|
24
|
+
import { remapRedirectDestIds } from './remap-redirect-dest-ids.js';
|
|
25
|
+
import { replaceContentItems } from './replace-content-items.js';
|
|
26
|
+
import { TRANSFER_ACTION } from './transfer-action.js';
|
|
27
|
+
import { TRANSFER_SOURCE_ALIAS } from './transfer-source-alias.js';
|
|
28
|
+
/**
|
|
29
|
+
* Computes {@link TransferSourceResult} from the finished plan tables.
|
|
30
|
+
* `dropped` (split only) is `sourceTotal - (inserted + stubbed)` — the
|
|
31
|
+
* plan never lists dropped rows explicitly, so this is a subtraction
|
|
32
|
+
* against the source's own total row count rather than a query for
|
|
33
|
+
* absence.
|
|
34
|
+
* @param trx - The open transaction.
|
|
35
|
+
* @param mode - `'split'` computes `dropped`; `'concat'` always reports `0`.
|
|
36
|
+
*/
|
|
37
|
+
async function summarizeTransferResult(trx, mode) {
|
|
38
|
+
const rows = await trx
|
|
39
|
+
.select('action')
|
|
40
|
+
.count({ count: '*' })
|
|
41
|
+
.from('xfer_ci_plan')
|
|
42
|
+
.groupBy('action');
|
|
43
|
+
const byAction = new Map(rows.map((r) => [r.action, Number(r.count)]));
|
|
44
|
+
const inserted = byAction.get(TRANSFER_ACTION.full) ?? 0;
|
|
45
|
+
const replaced = byAction.get(TRANSFER_ACTION.replace) ?? 0;
|
|
46
|
+
const skipped = byAction.get(TRANSFER_ACTION.skip) ?? 0;
|
|
47
|
+
const stubbed = byAction.get(TRANSFER_ACTION.stub) ?? 0;
|
|
48
|
+
let dropped = 0;
|
|
49
|
+
if (mode === 'split') {
|
|
50
|
+
const [totalRow] = await trx
|
|
51
|
+
.count({ total: '*' })
|
|
52
|
+
.from(`${TRANSFER_SOURCE_ALIAS}.content_items`);
|
|
53
|
+
dropped = Number(totalRow?.total ?? 0) - (inserted + stubbed);
|
|
54
|
+
}
|
|
55
|
+
return { inserted, replaced, skipped, stubbed, dropped };
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Transfers ONE source archive's rows into the destination — the shared
|
|
59
|
+
* engine {@link import('./concat-archives.js').concatArchives} and
|
|
60
|
+
* {@link import('./split-archive.js').splitArchive} both drive, once per
|
|
61
|
+
* source. Attaches the source, plans, copies every table in dependency
|
|
62
|
+
* order, and detaches — always, even on failure (`finally`).
|
|
63
|
+
*
|
|
64
|
+
* Order within the transaction (see each step's own docs for why this
|
|
65
|
+
* exact order, not a different one):
|
|
66
|
+
* 1. Plan `content_items` (mode-specific) and `resource_items`.
|
|
67
|
+
* 2. Copy every dictionary (mode-specific), then their `header_sets`
|
|
68
|
+
* children and `page_html_blobs` (both depend on the dictionary maps
|
|
69
|
+
* dictionaries step just built).
|
|
70
|
+
* 3. Concat only: clear the old page-scoped rows of every `replace`
|
|
71
|
+
* destination, then overwrite its `content_items` row. Both modes:
|
|
72
|
+
* insert every `full`/`stub` row, backfilling `dest_id`; remap
|
|
73
|
+
* `redirect_dest_id` now that every row has one.
|
|
74
|
+
* 4. Copy every page-scoped table.
|
|
75
|
+
* 5. Copy `resource_items` (and its js-scan cache), then
|
|
76
|
+
* `resource_ref_edges` (needs the resource plan's `dest_id`, just
|
|
77
|
+
* resolved).
|
|
78
|
+
* 6. Copy the append-only journal tables.
|
|
79
|
+
* @param options - See individual properties.
|
|
80
|
+
* @param options.knex - Knex connected to the destination archive DB (the
|
|
81
|
+
* connection ATTACH/temp-tables/transaction all operate against).
|
|
82
|
+
* @param options.sourceDbPath - Absolute path to the source's `db.sqlite`
|
|
83
|
+
* (e.g. `path.join(accessor.tmpDir, Archive.SQLITE_DB_FILE_NAME)`).
|
|
84
|
+
* @param options.mode - `{ kind: 'concat' }`, or `{ kind: 'split',
|
|
85
|
+
* scopeMap, parseOptions? }` for the narrower-scope pass.
|
|
86
|
+
* @param options.crawlOrderOffset - Forwarded to
|
|
87
|
+
* `insertContentItems`/`replaceContentItems` — see their docs.
|
|
88
|
+
* @param options.sourceIndex - This source's 0-based position, forwarded
|
|
89
|
+
* verbatim to `callbacks` — purely for display, not used in any query.
|
|
90
|
+
* @param options.callbacks - Progress callbacks; see `types.ts`.
|
|
91
|
+
* @returns Per-action row counts — see {@link TransferSourceResult}.
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* const result = await transferArchiveRows({
|
|
95
|
+
* knex: destination.getKnex(),
|
|
96
|
+
* sourceDbPath: path.join(accessor.tmpDir, Archive.SQLITE_DB_FILE_NAME),
|
|
97
|
+
* mode: { kind: 'concat' },
|
|
98
|
+
* crawlOrderOffset: 0,
|
|
99
|
+
* sourceIndex: 0,
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export async function transferArchiveRows(options) {
|
|
104
|
+
const { knex, sourceDbPath, mode, crawlOrderOffset, sourceIndex, callbacks } = options;
|
|
105
|
+
const detach = await attachSourceDatabase(knex, sourceDbPath);
|
|
106
|
+
await createTransferTempTables(knex);
|
|
107
|
+
try {
|
|
108
|
+
return await knex.transaction(async (trx) => {
|
|
109
|
+
callbacks?.onPhase?.(sourceIndex, 'planningContentItems');
|
|
110
|
+
if (mode.kind === 'split') {
|
|
111
|
+
await markInScopeContentItems(trx, mode.scopeMap, mode.parseOptions);
|
|
112
|
+
await planContentItemsForSplit(trx);
|
|
113
|
+
await planResourceItems(trx, 'split');
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
await planContentItemsForConcat(trx);
|
|
117
|
+
await planResourceItems(trx, 'concat');
|
|
118
|
+
}
|
|
119
|
+
callbacks?.onPhase?.(sourceIndex, 'copyingDictionaries');
|
|
120
|
+
if (mode.kind === 'split') {
|
|
121
|
+
await copyDictionariesForSplit(trx);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
await copyDictionariesForConcat(trx);
|
|
125
|
+
}
|
|
126
|
+
await copyHeaderSetChildren(trx);
|
|
127
|
+
await copyPageHtmlBlobs(trx);
|
|
128
|
+
callbacks?.onPhase?.(sourceIndex, 'copyingContentItems');
|
|
129
|
+
if (mode.kind === 'concat') {
|
|
130
|
+
await clearReplacedPageRows(trx);
|
|
131
|
+
await replaceContentItems(trx, { crawlOrderOffset });
|
|
132
|
+
}
|
|
133
|
+
await insertContentItems(trx, { crawlOrderOffset });
|
|
134
|
+
await remapRedirectDestIds(trx);
|
|
135
|
+
callbacks?.onPhase?.(sourceIndex, 'copyingPageRows');
|
|
136
|
+
await copyPageMeta(trx);
|
|
137
|
+
await copyImageItems(trx);
|
|
138
|
+
await copyAnchorEdges(trx);
|
|
139
|
+
await copySimplePageScopedTables(trx);
|
|
140
|
+
await copyPageTemplateClusters(trx);
|
|
141
|
+
await copyPageTemplateLabels(trx);
|
|
142
|
+
await copyPageConsoleLogs(trx);
|
|
143
|
+
callbacks?.onPhase?.(sourceIndex, 'copyingResources');
|
|
144
|
+
await copyResourceItems(trx);
|
|
145
|
+
await copyResourceRefEdges(trx);
|
|
146
|
+
callbacks?.onPhase?.(sourceIndex, 'copyingJournals');
|
|
147
|
+
await copyJournalTables(trx, mode.kind);
|
|
148
|
+
callbacks?.onPhase?.(sourceIndex, 'committing');
|
|
149
|
+
return await summarizeTransferResult(trx, mode.kind);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
await dropTransferTempTables(knex);
|
|
154
|
+
await detach();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixed set of dictionary tables a transfer's need-based dictionary
|
|
3
|
+
* copy tracks per-id "is this row referenced by anything kept" state for.
|
|
4
|
+
* Drives the loop in {@link import('./create-transfer-temp-tables.js').createTransferTempTables} /
|
|
5
|
+
* {@link import('./drop-transfer-temp-tables.js').dropTransferTempTables}
|
|
6
|
+
* that creates/drops one `(src_id PRIMARY KEY)` need-table and one
|
|
7
|
+
* `(src_id PRIMARY KEY, dest_id)` map-table per dictionary — every
|
|
8
|
+
* dictionary table shares that exact temp-table shape, only the
|
|
9
|
+
* population query differs (see `copy-dictionaries-for-concat.ts` /
|
|
10
|
+
* `copy-dictionaries-for-split.ts`).
|
|
11
|
+
*/
|
|
12
|
+
export declare const TRANSFER_DICTIONARY_TABLES: readonly string[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixed set of dictionary tables a transfer's need-based dictionary
|
|
3
|
+
* copy tracks per-id "is this row referenced by anything kept" state for.
|
|
4
|
+
* Drives the loop in {@link import('./create-transfer-temp-tables.js').createTransferTempTables} /
|
|
5
|
+
* {@link import('./drop-transfer-temp-tables.js').dropTransferTempTables}
|
|
6
|
+
* that creates/drops one `(src_id PRIMARY KEY)` need-table and one
|
|
7
|
+
* `(src_id PRIMARY KEY, dest_id)` map-table per dictionary — every
|
|
8
|
+
* dictionary table shares that exact temp-table shape, only the
|
|
9
|
+
* population query differs (see `copy-dictionaries-for-concat.ts` /
|
|
10
|
+
* `copy-dictionaries-for-split.ts`).
|
|
11
|
+
*/
|
|
12
|
+
export const TRANSFER_DICTIONARY_TABLES = [
|
|
13
|
+
'url_refs',
|
|
14
|
+
'content_type_refs',
|
|
15
|
+
'text_refs',
|
|
16
|
+
'json_refs',
|
|
17
|
+
'blob_refs',
|
|
18
|
+
'header_name_refs',
|
|
19
|
+
'header_value_refs',
|
|
20
|
+
'header_sets',
|
|
21
|
+
'console_log_items',
|
|
22
|
+
];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TransferPhase } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Ordered whole-operation phase sequence `concatArchives`/`splitArchive`
|
|
4
|
+
* announce (via `sourceIndex === sources.length`) once every source has
|
|
5
|
+
* been transferred: `flattenRedirectChains` → `reclassifyResourceExternality`
|
|
6
|
+
* → `countExternalPagesInScope`. Identical for both commands — split's
|
|
7
|
+
* single source is already flat and its scope only shrinks, so the first
|
|
8
|
+
* two are cheap no-ops there, but the sequence itself does not branch.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TRANSFER_POST_PHASES: readonly TransferPhase[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ordered whole-operation phase sequence `concatArchives`/`splitArchive`
|
|
3
|
+
* announce (via `sourceIndex === sources.length`) once every source has
|
|
4
|
+
* been transferred: `flattenRedirectChains` → `reclassifyResourceExternality`
|
|
5
|
+
* → `countExternalPagesInScope`. Identical for both commands — split's
|
|
6
|
+
* single source is already flat and its scope only shrinks, so the first
|
|
7
|
+
* two are cheap no-ops there, but the sequence itself does not branch.
|
|
8
|
+
*/
|
|
9
|
+
export const TRANSFER_POST_PHASES = [
|
|
10
|
+
'flatteningRedirects',
|
|
11
|
+
'reclassifyingResources',
|
|
12
|
+
'countingExternalInScope',
|
|
13
|
+
];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixed schema alias a source archive's `db.sqlite` is `ATTACH`ed under
|
|
3
|
+
* during a transfer. A constant (not a per-call parameter) because every
|
|
4
|
+
* transfer SQL statement in `archive/transfer/` hard-codes this name —
|
|
5
|
+
* allowing a caller-supplied alias would mean threading it through every
|
|
6
|
+
* one of those statements for no real benefit (a transfer only ever
|
|
7
|
+
* attaches one source at a time; see `transfer-archive-rows.ts`).
|
|
8
|
+
*/
|
|
9
|
+
export declare const TRANSFER_SOURCE_ALIAS = "xfer_src";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixed schema alias a source archive's `db.sqlite` is `ATTACH`ed under
|
|
3
|
+
* during a transfer. A constant (not a per-call parameter) because every
|
|
4
|
+
* transfer SQL statement in `archive/transfer/` hard-codes this name —
|
|
5
|
+
* allowing a caller-supplied alias would mean threading it through every
|
|
6
|
+
* one of those statements for no real benefit (a transfer only ever
|
|
7
|
+
* attaches one source at a time; see `transfer-archive-rows.ts`).
|
|
8
|
+
*/
|
|
9
|
+
export const TRANSFER_SOURCE_ALIAS = 'xfer_src';
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { Config } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Ordered phase sequence a single source's transfer announces via
|
|
4
|
+
* `onPhase`, unconditionally and always in this order (mirrors
|
|
5
|
+
* `ViewerReadModelBuildPhase`'s contract — no branch skips a phase, so a
|
|
6
|
+
* caller can pre-build one `TaskList` row per phase and rely on them
|
|
7
|
+
* settling in order).
|
|
8
|
+
*/
|
|
9
|
+
export type TransferPhase = 'planningContentItems' | 'copyingDictionaries' | 'copyingContentItems' | 'copyingPageRows' | 'copyingResources' | 'copyingJournals' | 'committing' | 'flatteningRedirects' | 'reclassifyingResources' | 'countingExternalInScope';
|
|
10
|
+
/**
|
|
11
|
+
* Progress callbacks a caller (the CLI's `concat`/`split` commands) passes
|
|
12
|
+
* into {@link import('./concat-archives.js').concatArchives} /
|
|
13
|
+
* {@link import('./split-archive.js').splitArchive} to drive a `TaskList`
|
|
14
|
+
* display. `onPhase` fires once per phase per source (plus once per
|
|
15
|
+
* whole-operation post phase); `onProgress` fires zero or more times while
|
|
16
|
+
* a phase is active, with a phase-specific unit (rows copied, ids
|
|
17
|
+
* classified, …).
|
|
18
|
+
*/
|
|
19
|
+
export interface TransferCallbacks {
|
|
20
|
+
/** Called when a new source's extraction begins (0-based index). */
|
|
21
|
+
readonly onSourceStart?: (sourceIndex: number, filePath: string) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Called whenever the active phase changes, for the source at
|
|
24
|
+
* `sourceIndex` (or after every source has finished, for the
|
|
25
|
+
* whole-operation post phases — `flatteningRedirects` /
|
|
26
|
+
* `reclassifyingResources` / `countingExternalInScope` — where
|
|
27
|
+
* `sourceIndex` is `sources.length`).
|
|
28
|
+
*/
|
|
29
|
+
readonly onPhase?: (sourceIndex: number, phase: TransferPhase) => void;
|
|
30
|
+
/** Called zero or more times while a phase is active. */
|
|
31
|
+
readonly onProgress?: (processed: number, total: number) => void;
|
|
32
|
+
}
|
|
33
|
+
/** Per-source outcome of {@link import('./transfer-archive-rows.js').transferArchiveRows}. */
|
|
34
|
+
export interface TransferSourceResult {
|
|
35
|
+
/** Number of `content_items` rows copied as brand-new rows (no prior dest row for that URL). */
|
|
36
|
+
readonly inserted: number;
|
|
37
|
+
/**
|
|
38
|
+
* Number of existing dest `content_items` rows overwritten because this
|
|
39
|
+
* source's observation outranked the dest's (concat only; always `0`
|
|
40
|
+
* for split, which never merges into an existing archive).
|
|
41
|
+
*/
|
|
42
|
+
readonly replaced: number;
|
|
43
|
+
/** Number of source rows skipped because dest already held an equal-or-better observation (concat only). */
|
|
44
|
+
readonly skipped: number;
|
|
45
|
+
/** Number of source rows kept as an external stub, not a full copy (split only; always `0` for concat). */
|
|
46
|
+
readonly stubbed: number;
|
|
47
|
+
/** Number of source rows dropped entirely — out of scope and unreferenced (split only; always `0` for concat). */
|
|
48
|
+
readonly dropped: number;
|
|
49
|
+
}
|
|
50
|
+
/** Result of {@link import('./concat-archives.js').concatArchives}. */
|
|
51
|
+
export interface ConcatArchivesResult {
|
|
52
|
+
/** The merged config written to the destination's `info` row. */
|
|
53
|
+
readonly config: Config;
|
|
54
|
+
/** Per-source transfer outcome, in argument order. */
|
|
55
|
+
readonly sources: readonly TransferSourceResult[];
|
|
56
|
+
/**
|
|
57
|
+
* Number of URLs that fall inside the merged scope but were never
|
|
58
|
+
* fetched as an internal page by any source (still `is_external = 1`
|
|
59
|
+
* in the output) — the count the CLI surfaces with a
|
|
60
|
+
* `crawl <out> --append <root>` hint, since concat never re-promotes
|
|
61
|
+
* external rows on its own (that would fabricate a `scraped = 1`
|
|
62
|
+
* observation with no body/meta behind it).
|
|
63
|
+
*/
|
|
64
|
+
readonly externalInScopeCount: number;
|
|
65
|
+
/** Number of `inventory/<sha256>.txt` source lists copied (deduplicated by filename across sources). */
|
|
66
|
+
readonly inventoryListsCopied: number;
|
|
67
|
+
}
|
|
68
|
+
/** Result of {@link import('./split-archive.js').splitArchive}. */
|
|
69
|
+
export interface SplitArchiveResult {
|
|
70
|
+
/** The derived config (roots = the given scope URLs) written to the destination's `info` row. */
|
|
71
|
+
readonly config: Config;
|
|
72
|
+
/** The single source's transfer outcome. */
|
|
73
|
+
readonly source: TransferSourceResult;
|
|
74
|
+
/**
|
|
75
|
+
* Usually `0`, but not structurally guaranteed to be: the operator's
|
|
76
|
+
* scope URLs are not required to be a subset of the source's original
|
|
77
|
+
* roots, so a scope broader than (or merely different from) the
|
|
78
|
+
* original can bring an external-only (never crawled) page inside the
|
|
79
|
+
* new scope, the same way concat's own external-in-scope count can be
|
|
80
|
+
* non-zero.
|
|
81
|
+
*/
|
|
82
|
+
readonly externalInScopeCount: number;
|
|
83
|
+
/** Number of `inventory/<sha256>.txt` source lists copied. */
|
|
84
|
+
readonly inventoryListsCopied: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Thrown by {@link import('./merge-archive-configs.js').mergeArchiveConfigs}
|
|
88
|
+
* when two source archives disagree on a config field that concat cannot
|
|
89
|
+
* silently reconcile (`disableQueries`, `fromList`) — see that function's
|
|
90
|
+
* docs for why these two specifically cannot fall back to "first archive
|
|
91
|
+
* wins" like every other scalar field.
|
|
92
|
+
*/
|
|
93
|
+
export declare class ArchiveConfigConflictError extends Error {
|
|
94
|
+
readonly field: string;
|
|
95
|
+
readonly values: readonly unknown[];
|
|
96
|
+
/**
|
|
97
|
+
* @param field - The conflicting `Config` field name.
|
|
98
|
+
* @param values - The distinct values seen across sources, in argument order.
|
|
99
|
+
*/
|
|
100
|
+
constructor(field: string, values: readonly unknown[]);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Thrown when a dictionary-table copy's post-copy id map does not cover
|
|
104
|
+
* every id it needed to map (a source row referencing a value that failed
|
|
105
|
+
* to insert or resolve) — a defensive integrity check, since a silently
|
|
106
|
+
* incomplete map would surface much later as a confusing "no such row" or
|
|
107
|
+
* a dangling NULL FK deep in an unrelated read path.
|
|
108
|
+
*/
|
|
109
|
+
export declare class TransferIntegrityError extends Error {
|
|
110
|
+
constructor(message: string);
|
|
111
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by {@link import('./merge-archive-configs.js').mergeArchiveConfigs}
|
|
3
|
+
* when two source archives disagree on a config field that concat cannot
|
|
4
|
+
* silently reconcile (`disableQueries`, `fromList`) — see that function's
|
|
5
|
+
* docs for why these two specifically cannot fall back to "first archive
|
|
6
|
+
* wins" like every other scalar field.
|
|
7
|
+
*/
|
|
8
|
+
export class ArchiveConfigConflictError extends Error {
|
|
9
|
+
field;
|
|
10
|
+
values;
|
|
11
|
+
/**
|
|
12
|
+
* @param field - The conflicting `Config` field name.
|
|
13
|
+
* @param values - The distinct values seen across sources, in argument order.
|
|
14
|
+
*/
|
|
15
|
+
constructor(field, values) {
|
|
16
|
+
super(`Cannot merge archives: "${field}" differs across sources (${values.map((v) => JSON.stringify(v)).join(' vs ')}). ` +
|
|
17
|
+
'Re-crawl the sources with matching settings before concatenating them.');
|
|
18
|
+
this.field = field;
|
|
19
|
+
this.values = values;
|
|
20
|
+
this.name = 'ArchiveConfigConflictError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Thrown when a dictionary-table copy's post-copy id map does not cover
|
|
25
|
+
* every id it needed to map (a source row referencing a value that failed
|
|
26
|
+
* to insert or resolve) — a defensive integrity check, since a silently
|
|
27
|
+
* incomplete map would surface much later as a confusing "no such row" or
|
|
28
|
+
* a dangling NULL FK deep in an unrelated read path.
|
|
29
|
+
*/
|
|
30
|
+
export class TransferIntegrityError extends Error {
|
|
31
|
+
constructor(message) {
|
|
32
|
+
super(message);
|
|
33
|
+
this.name = 'TransferIntegrityError';
|
|
34
|
+
}
|
|
35
|
+
}
|