wiki-graph-core 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/data/editor/text_compressor.jinja +17 -13
- package/data/help/commands/archive/next.jinja +7 -2
- package/data/help/commands/gc.jinja +2 -1
- package/data/help/commands/legacy/migrate.jinja +6 -1
- package/data/help/commands/legacy.jinja +3 -2
- package/data/help/commands/library-predicate.jinja +296 -0
- package/data/help/commands/library.jinja +235 -0
- package/data/help/commands/maintenance/chapter/add.jinja +3 -3
- package/data/help/commands/maintenance/chapter/list.jinja +4 -4
- package/data/help/commands/maintenance/chapter/move.jinja +4 -4
- package/data/help/commands/maintenance/chapter/remove.jinja +1 -1
- package/data/help/commands/maintenance/chapter/reset.jinja +1 -1
- package/data/help/commands/maintenance/chapter/set-source.jinja +2 -2
- package/data/help/commands/maintenance/chapter/set-summary.jinja +1 -1
- package/data/help/commands/maintenance/chapter/set-title.jinja +3 -3
- package/data/help/commands/maintenance/chapter/tree.jinja +6 -6
- package/data/help/commands/maintenance/chapter.jinja +10 -10
- package/data/help/commands/maintenance/meta.jinja +7 -7
- package/data/help/commands/maintenance/upgrade.jinja +35 -0
- package/data/help/commands/maintenance.jinja +23 -0
- package/data/help/commands/predicate.jinja +204 -28
- package/data/help/commands/root.jinja +10 -3
- package/data/help/commands/uri.jinja +165 -6
- package/data/help/topics/config.jinja +10 -3
- package/data/help/topics/library.jinja +87 -0
- package/data/help/topics/readiness.jinja +32 -2
- package/data/help/topics/recipe.jinja +42 -17
- package/data/help/topics/runtime.jinja +20 -3
- package/data/help/topics/uri.jinja +51 -25
- package/dist/api/app.d.ts +87 -0
- package/dist/api/app.js +137 -0
- package/dist/api/app.js.map +1 -0
- package/dist/api/chapter/advance.d.ts +36 -0
- package/dist/api/chapter/advance.js +171 -0
- package/dist/api/chapter/advance.js.map +1 -0
- package/dist/api/chapter/details.d.ts +25 -0
- package/dist/api/chapter/details.js +17 -0
- package/dist/api/chapter/details.js.map +1 -0
- package/dist/api/chapter/entries.d.ts +41 -0
- package/dist/api/chapter/entries.js +216 -0
- package/dist/api/chapter/entries.js.map +1 -0
- package/dist/api/chapter/generate.d.ts +42 -0
- package/dist/api/chapter/generate.js +61 -0
- package/dist/api/chapter/generate.js.map +1 -0
- package/dist/api/chapter/index.d.ts +43 -0
- package/dist/api/chapter/index.js +11 -0
- package/dist/api/chapter/index.js.map +1 -0
- package/dist/api/chapter/manage.d.ts +53 -0
- package/dist/api/chapter/manage.js +185 -0
- package/dist/api/chapter/manage.js.map +1 -0
- package/dist/api/chapter/options.d.ts +51 -0
- package/dist/api/chapter/options.js +11 -0
- package/dist/api/chapter/options.js.map +1 -0
- package/dist/api/chapter/parse.d.ts +13 -0
- package/dist/api/chapter/parse.js +16 -0
- package/dist/api/chapter/parse.js.map +1 -0
- package/dist/api/chapter/tree.d.ts +61 -0
- package/dist/api/chapter/tree.js +387 -0
- package/dist/api/chapter/tree.js.map +1 -0
- package/dist/api/chapter/types.d.ts +104 -0
- package/dist/api/chapter/types.js +5 -0
- package/dist/api/chapter/types.js.map +1 -0
- package/dist/api/chapter-build/index.d.ts +42 -0
- package/dist/api/chapter-build/index.js +3 -0
- package/dist/api/chapter-build/index.js.map +1 -0
- package/dist/api/chapter-build/types.d.ts +37 -0
- package/dist/api/digest.d.ts +67 -0
- package/dist/api/digest.js +171 -0
- package/dist/api/digest.js.map +1 -0
- package/dist/api/graph.d.ts +24 -0
- package/dist/api/graph.js +2 -0
- package/dist/api/graph.js.map +1 -0
- package/dist/api/import.d.ts +62 -0
- package/dist/api/import.js +269 -0
- package/dist/api/import.js.map +1 -0
- package/dist/api/index.d.ts +91 -0
- package/dist/api/index.js +189 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/knowledge-graph-build/index.d.ts +40 -0
- package/dist/api/knowledge-graph-build/index.js +2 -0
- package/dist/api/knowledge-graph-build/index.js.map +1 -0
- package/dist/api/knowledge-graph-build/types.d.ts +13 -0
- package/dist/api/llm-sampling.d.ts +11 -0
- package/dist/api/llm-sampling.js +58 -0
- package/dist/api/llm-sampling.js.map +1 -0
- package/dist/api/prompts.d.ts +1 -0
- package/dist/api/prompts.js +2 -0
- package/dist/api/prompts.js.map +1 -0
- package/dist/api/wiki-graph-archive.d.ts +42 -0
- package/dist/api/wiki-graph-archive.js +130 -0
- package/dist/api/wiki-graph-archive.js.map +1 -0
- package/dist/core-Cv8a8viI.d.ts +85 -0
- package/dist/document/chapter/index.d.ts +26 -0
- package/dist/document/chapter/index.js +23 -0
- package/dist/document/chapter/index.js.map +1 -0
- package/dist/document/chapter/path.d.ts +14 -0
- package/dist/document/chapter/path.js +133 -0
- package/dist/document/chapter/path.js.map +1 -0
- package/dist/document/chapter/query.d.ts +33 -0
- package/dist/document/chapter/query.js +83 -0
- package/dist/document/chapter/query.js.map +1 -0
- package/dist/document/chapter/stage.d.ts +28 -0
- package/dist/document/chapter/stage.js +13 -0
- package/dist/document/chapter/stage.js.map +1 -0
- package/dist/document/chapter/toc.d.ts +33 -0
- package/dist/document/chapter/toc.js +213 -0
- package/dist/document/chapter/toc.js.map +1 -0
- package/dist/document/chapter/tree.d.ts +20 -0
- package/dist/document/chapter/tree.js +48 -0
- package/dist/document/chapter/tree.js.map +1 -0
- package/dist/document/chapter/types.d.ts +31 -0
- package/dist/document/chapter/types.js +10 -0
- package/dist/document/chapter/types.js.map +1 -0
- package/dist/document/directory/context.d.ts +25 -0
- package/dist/document/directory/context.js +54 -0
- package/dist/document/directory/context.js.map +1 -0
- package/dist/document/directory/core.d.ts +25 -0
- package/dist/document/directory/core.js +382 -0
- package/dist/document/directory/core.js.map +1 -0
- package/dist/document/directory/file-store.d.ts +27 -0
- package/dist/document/directory/file-store.js +48 -0
- package/dist/document/directory/file-store.js.map +1 -0
- package/dist/document/directory/files.d.ts +53 -0
- package/dist/document/directory/files.js +71 -0
- package/dist/document/directory/files.js.map +1 -0
- package/dist/document/directory/index.d.ts +26 -0
- package/dist/document/directory/index.js +4 -0
- package/dist/document/directory/index.js.map +1 -0
- package/dist/document/directory/search-index.d.ts +32 -0
- package/dist/document/directory/search-index.js +154 -0
- package/dist/document/directory/search-index.js.map +1 -0
- package/dist/document/directory/serial-cleanup.d.ts +47 -0
- package/dist/document/directory/serial-cleanup.js +178 -0
- package/dist/document/directory/serial-cleanup.js.map +1 -0
- package/dist/document/directory/toc.d.ts +6 -0
- package/dist/document/directory/toc.js +14 -0
- package/dist/document/directory/toc.js.map +1 -0
- package/dist/document/directory/types.d.ts +105 -0
- package/dist/document/fragment-backed.d.ts +27 -0
- package/dist/document/fragment-backed.js +26 -0
- package/dist/document/fragment-backed.js.map +1 -0
- package/dist/document/fragments/core.d.ts +18 -0
- package/dist/document/fragments/core.js +68 -0
- package/dist/document/fragments/core.js.map +1 -0
- package/dist/document/fragments/draft.d.ts +16 -0
- package/dist/document/fragments/draft.js +57 -0
- package/dist/document/fragments/draft.js.map +1 -0
- package/dist/document/fragments/file-access.d.ts +7 -0
- package/dist/document/fragments/file-access.js +28 -0
- package/dist/document/fragments/file-access.js.map +1 -0
- package/dist/document/fragments/file.d.ts +7 -0
- package/dist/document/fragments/file.js +55 -0
- package/dist/document/fragments/file.js.map +1 -0
- package/dist/document/fragments/index.d.ts +5 -0
- package/dist/document/fragments/index.js +5 -0
- package/dist/document/fragments/index.js.map +1 -0
- package/dist/document/fragments/sentence.d.ts +5 -0
- package/dist/document/fragments/sentence.js +14 -0
- package/dist/document/fragments/sentence.js.map +1 -0
- package/dist/document/fragments/serial.d.ts +16 -0
- package/dist/document/fragments/serial.js +187 -0
- package/dist/document/fragments/serial.js.map +1 -0
- package/dist/document/fragments/types.d.ts +37 -0
- package/dist/document/fragments/types.js +9 -0
- package/dist/document/fragments/types.js.map +1 -0
- package/dist/document/home-schema-upgrade.d.ts +5 -0
- package/dist/document/home-schema-upgrade.js +529 -0
- package/dist/document/home-schema-upgrade.js.map +1 -0
- package/dist/document/index.d.ts +27 -8
- package/dist/document/index.js +10 -4
- package/dist/document/index.js.map +1 -1
- package/dist/document/schema.d.ts +3 -2
- package/dist/document/schema.js +24 -11
- package/dist/document/schema.js.map +1 -1
- package/dist/document/shared-state-database.js +27 -3
- package/dist/document/shared-state-database.js.map +1 -1
- package/dist/document/stores/chunk.d.ts +21 -0
- package/dist/document/stores/chunk.js +299 -0
- package/dist/document/stores/chunk.js.map +1 -0
- package/dist/document/stores/fragment-group.d.ts +16 -0
- package/dist/document/stores/fragment-group.js +77 -0
- package/dist/document/stores/fragment-group.js.map +1 -0
- package/dist/document/stores/graph-build-parameter.d.ts +17 -0
- package/dist/document/stores/graph-build-parameter.js +62 -0
- package/dist/document/stores/graph-build-parameter.js.map +1 -0
- package/dist/document/stores/helpers.d.ts +22 -0
- package/dist/document/stores/helpers.js +115 -0
- package/dist/document/stores/helpers.js.map +1 -0
- package/dist/document/stores/index.d.ts +15 -0
- package/dist/document/stores/index.js +23 -0
- package/dist/document/stores/index.js.map +1 -0
- package/dist/document/stores/mention-link.d.ts +32 -0
- package/dist/document/stores/mention-link.js +287 -0
- package/dist/document/stores/mention-link.js.map +1 -0
- package/dist/document/stores/mention.d.ts +31 -0
- package/dist/document/stores/mention.js +238 -0
- package/dist/document/stores/mention.js.map +1 -0
- package/dist/document/stores/object-metadata.d.ts +19 -0
- package/dist/document/stores/object-metadata.js +148 -0
- package/dist/document/stores/object-metadata.js.map +1 -0
- package/dist/document/stores/reading-edge.d.ts +17 -0
- package/dist/document/stores/reading-edge.js +80 -0
- package/dist/document/stores/reading-edge.js.map +1 -0
- package/dist/document/stores/serial.d.ts +29 -0
- package/dist/document/stores/serial.js +296 -0
- package/dist/document/stores/serial.js.map +1 -0
- package/dist/document/stores/snake/chunk.d.ts +14 -0
- package/dist/document/stores/snake/chunk.js +48 -0
- package/dist/document/stores/snake/chunk.js.map +1 -0
- package/dist/document/stores/snake/core.d.ts +15 -0
- package/dist/document/stores/snake/core.js +112 -0
- package/dist/document/stores/snake/core.js.map +1 -0
- package/dist/document/stores/snake/edge.d.ts +16 -0
- package/dist/document/stores/snake/edge.js +86 -0
- package/dist/document/stores/snake/edge.js.map +1 -0
- package/dist/document/stores/snake/index.d.ts +7 -0
- package/dist/document/stores/snake/index.js +4 -0
- package/dist/document/stores/snake/index.js.map +1 -0
- package/dist/document/stores/types.d.ts +95 -0
- package/dist/document/text-streams/core.d.ts +17 -0
- package/dist/document/text-streams/core.js +45 -0
- package/dist/document/text-streams/core.js.map +1 -0
- package/dist/document/text-streams/draft.d.ts +20 -0
- package/dist/document/text-streams/draft.js +70 -0
- package/dist/document/text-streams/draft.js.map +1 -0
- package/dist/document/text-streams/file-access.d.ts +6 -0
- package/dist/document/text-streams/file-access.js +31 -0
- package/dist/document/text-streams/file-access.js.map +1 -0
- package/dist/document/text-streams/index.d.ts +7 -0
- package/dist/document/text-streams/index.js +5 -0
- package/dist/document/text-streams/index.js.map +1 -0
- package/dist/document/text-streams/sentence.d.ts +13 -0
- package/dist/document/text-streams/sentence.js +77 -0
- package/dist/document/text-streams/sentence.js.map +1 -0
- package/dist/document/text-streams/serial.d.ts +24 -0
- package/dist/document/text-streams/serial.js +324 -0
- package/dist/document/text-streams/serial.js.map +1 -0
- package/dist/document/text-streams/types.d.ts +55 -0
- package/dist/document/text-streams/types.js +10 -0
- package/dist/document/text-streams/types.js.map +1 -0
- package/dist/external/guaranteed/classifier.js.map +1 -0
- package/dist/external/guaranteed/errors.js.map +1 -0
- package/dist/external/guaranteed/index.js.map +1 -0
- package/dist/external/guaranteed/request.js.map +1 -0
- package/dist/external/guaranteed/response.js.map +1 -0
- package/dist/external/llm/cache.js +35 -0
- package/dist/external/llm/cache.js.map +1 -0
- package/dist/external/llm/client/core.d.ts +26 -0
- package/dist/external/llm/client/core.js +321 -0
- package/dist/external/llm/client/core.js.map +1 -0
- package/dist/external/llm/client/files.d.ts +6 -0
- package/dist/external/llm/client/files.js +29 -0
- package/dist/external/llm/client/files.js.map +1 -0
- package/dist/external/llm/client/generation.d.ts +16 -0
- package/dist/external/llm/client/generation.js +35 -0
- package/dist/external/llm/client/generation.js.map +1 -0
- package/dist/external/llm/client/index.d.ts +5 -0
- package/dist/external/llm/client/index.js +5 -0
- package/dist/external/llm/client/index.js.map +1 -0
- package/dist/external/llm/client/log.d.ts +22 -0
- package/dist/external/llm/client/log.js +106 -0
- package/dist/external/llm/client/log.js.map +1 -0
- package/dist/external/llm/client/model.d.ts +10 -0
- package/dist/external/llm/client/model.js +26 -0
- package/dist/external/llm/client/model.js.map +1 -0
- package/dist/external/llm/client/retry.d.ts +4 -0
- package/dist/external/llm/client/retry.js +91 -0
- package/dist/external/llm/client/retry.js.map +1 -0
- package/dist/external/llm/context.js +78 -0
- package/dist/external/llm/context.js.map +1 -0
- package/dist/external/llm/errors.js.map +1 -0
- package/dist/external/llm/index.d.ts +7 -0
- package/dist/external/llm/index.js +17 -0
- package/dist/external/llm/index.js.map +1 -0
- package/dist/external/llm/request-log.js +35 -0
- package/dist/external/llm/request-log.js.map +1 -0
- package/dist/external/llm/sampling.js.map +1 -0
- package/dist/external/wikimatch/enrichment.d.ts +15 -0
- package/dist/external/wikimatch/enrichment.js +61 -0
- package/dist/external/wikimatch/enrichment.js.map +1 -0
- package/dist/external/wikimatch/index.d.ts +19 -0
- package/dist/external/wikimatch/index.js +66 -0
- package/dist/external/wikimatch/index.js.map +1 -0
- package/dist/external/wikimatch/option-narrowing.d.ts +19 -0
- package/dist/external/wikimatch/option-narrowing.js.map +1 -0
- package/dist/external/wikimatch/options.d.ts +16 -0
- package/dist/external/wikimatch/options.js +154 -0
- package/dist/external/wikimatch/options.js.map +1 -0
- package/dist/external/wikimatch/policy-judge.d.ts +19 -0
- package/dist/external/wikimatch/policy-judge.js +431 -0
- package/dist/external/wikimatch/policy-judge.js.map +1 -0
- package/dist/external/wikimatch/range-suppression.js.map +1 -0
- package/dist/external/wikimatch/surface/index.d.ts +10 -0
- package/dist/external/wikimatch/surface/index.js +3 -0
- package/dist/external/wikimatch/surface/index.js.map +1 -0
- package/dist/external/wikimatch/surface/screening.d.ts +18 -0
- package/dist/external/wikimatch/surface/screening.js +168 -0
- package/dist/external/wikimatch/surface/screening.js.map +1 -0
- package/dist/external/wikimatch/surface/window.d.ts +8 -0
- package/dist/external/wikimatch/surface/window.js +44 -0
- package/dist/external/wikimatch/surface/window.js.map +1 -0
- package/dist/external/wikimatch/types.d.ts +153 -0
- package/dist/external/wikimatch/wikispine.d.ts +45 -0
- package/dist/external/wikimatch/wikispine.js.map +1 -0
- package/dist/external/wikimatch/window.d.ts +8 -0
- package/dist/external/wikimatch/window.js.map +1 -0
- package/dist/external/wikimatch/words.js.map +1 -0
- package/dist/external/wikipage/cache.d.ts +20 -0
- package/dist/external/wikipage/cache.js +442 -0
- package/dist/external/wikipage/cache.js.map +1 -0
- package/dist/external/wikipage/fetch-log.js +146 -0
- package/dist/external/wikipage/fetch-log.js.map +1 -0
- package/dist/external/wikipage/index.d.ts +15 -0
- package/dist/external/wikipage/index.js +17 -0
- package/dist/external/wikipage/index.js.map +1 -0
- package/dist/external/wikipage/normalizer.d.ts +16 -0
- package/dist/external/wikipage/normalizer.js +188 -0
- package/dist/external/wikipage/normalizer.js.map +1 -0
- package/dist/external/wikipage/rate-limiter.js.map +1 -0
- package/dist/external/wikipage/resolver.d.ts +22 -0
- package/dist/external/wikipage/resolver.js +359 -0
- package/dist/external/wikipage/resolver.js.map +1 -0
- package/dist/external/wikipage/types.d.ts +118 -0
- package/dist/external/wikipage/wikimedia-client/core.d.ts +13 -0
- package/dist/external/wikipage/wikimedia-client/core.js +207 -0
- package/dist/external/wikipage/wikimedia-client/core.js.map +1 -0
- package/dist/external/wikipage/wikimedia-client/html.d.ts +7 -0
- package/dist/external/wikipage/wikimedia-client/html.js +136 -0
- package/dist/external/wikipage/wikimedia-client/html.js.map +1 -0
- package/dist/external/wikipage/wikimedia-client/index.d.ts +5 -0
- package/dist/external/wikipage/wikimedia-client/index.js +4 -0
- package/dist/external/wikipage/wikimedia-client/index.js.map +1 -0
- package/dist/external/wikipage/wikimedia-client/json.d.ts +7 -0
- package/dist/external/wikipage/wikimedia-client/json.js +27 -0
- package/dist/external/wikipage/wikimedia-client/json.js.map +1 -0
- package/dist/external/wikipage/wikimedia-client/request.d.ts +12 -0
- package/dist/external/wikipage/wikimedia-client/request.js +51 -0
- package/dist/external/wikipage/wikimedia-client/request.js.map +1 -0
- package/dist/external/wikipage/wikimedia-client/wiki.d.ts +54 -0
- package/dist/external/wikipage/wikimedia-client/wiki.js +28 -0
- package/dist/external/wikipage/wikimedia-client/wiki.js.map +1 -0
- package/dist/gc.cjs +8188 -8373
- package/dist/gc.cjs.map +1 -1
- package/dist/gc.d.cts +23 -3
- package/dist/gc.d.ts +2 -2
- package/dist/gc.js +1 -1
- package/dist/gc.js.map +1 -1
- package/dist/graph/evidence-selection/anchor/index.d.ts +4 -0
- package/dist/graph/evidence-selection/anchor/index.js +3 -0
- package/dist/graph/evidence-selection/anchor/index.js.map +1 -0
- package/dist/graph/evidence-selection/anchor/resolver/index.d.ts +38 -0
- package/dist/graph/evidence-selection/anchor/resolver/index.js +418 -0
- package/dist/graph/evidence-selection/anchor/resolver/index.js.map +1 -0
- package/dist/graph/evidence-selection/anchor/resolver/matcher.d.ts +8 -0
- package/dist/graph/evidence-selection/anchor/resolver/matcher.js +178 -0
- package/dist/graph/evidence-selection/anchor/resolver/matcher.js.map +1 -0
- package/dist/graph/evidence-selection/anchor/resolver/parser.d.ts +7 -0
- package/dist/graph/evidence-selection/anchor/resolver/parser.js +91 -0
- package/dist/graph/evidence-selection/anchor/resolver/parser.js.map +1 -0
- package/dist/graph/evidence-selection/anchor/resolver/scoring.d.ts +20 -0
- package/dist/graph/evidence-selection/anchor/resolver/scoring.js +119 -0
- package/dist/graph/evidence-selection/anchor/resolver/scoring.js.map +1 -0
- package/dist/graph/evidence-selection/anchor/resolver/types.d.ts +15 -0
- package/dist/graph/evidence-selection/anchor/resolver/types.js +17 -0
- package/dist/graph/evidence-selection/anchor/resolver/types.js.map +1 -0
- package/dist/graph/evidence-selection/anchor/types.d.ts +27 -0
- package/dist/graph/evidence-selection/index.d.ts +9 -0
- package/dist/graph/evidence-selection/index.js +32 -0
- package/dist/graph/evidence-selection/index.js.map +1 -0
- package/dist/graph/evidence-selection/prompt.js.map +1 -0
- package/dist/graph/evidence-selection/quote-score.js.map +1 -0
- package/dist/graph/evidence-selection/resolver.js +303 -0
- package/dist/graph/evidence-selection/resolver.js.map +1 -0
- package/dist/graph/evidence-selection/text.js.map +1 -0
- package/dist/graph/knowledge-build/artifact-io.d.ts +12 -0
- package/dist/graph/knowledge-build/artifact-io.js +151 -0
- package/dist/graph/knowledge-build/artifact-io.js.map +1 -0
- package/dist/graph/knowledge-build/artifact.d.ts +17 -0
- package/dist/graph/knowledge-build/artifact.js +66 -0
- package/dist/graph/knowledge-build/artifact.js.map +1 -0
- package/dist/graph/knowledge-build/candidates.d.ts +24 -0
- package/dist/graph/knowledge-build/candidates.js +60 -0
- package/dist/graph/knowledge-build/candidates.js.map +1 -0
- package/dist/graph/knowledge-build/commit.d.ts +39 -0
- package/dist/graph/knowledge-build/commit.js +52 -0
- package/dist/graph/knowledge-build/commit.js.map +1 -0
- package/dist/graph/knowledge-build/constants.d.ts +6 -0
- package/dist/graph/knowledge-build/constants.js +11 -0
- package/dist/graph/knowledge-build/constants.js.map +1 -0
- package/dist/graph/knowledge-build/fragments.d.ts +33 -0
- package/dist/graph/knowledge-build/fragments.js +36 -0
- package/dist/graph/knowledge-build/fragments.js.map +1 -0
- package/dist/graph/knowledge-build/generate.d.ts +39 -0
- package/dist/graph/knowledge-build/generate.js +128 -0
- package/dist/graph/knowledge-build/generate.js.map +1 -0
- package/dist/graph/knowledge-build/grounding-runner.d.ts +23 -0
- package/dist/graph/knowledge-build/grounding-runner.js +90 -0
- package/dist/graph/knowledge-build/grounding-runner.js.map +1 -0
- package/dist/graph/knowledge-build/grounding.d.ts +19 -0
- package/dist/graph/knowledge-build/grounding.js +158 -0
- package/dist/graph/knowledge-build/grounding.js.map +1 -0
- package/dist/graph/knowledge-build/index.d.ts +40 -0
- package/dist/graph/knowledge-build/index.js +8 -0
- package/dist/graph/knowledge-build/index.js.map +1 -0
- package/dist/graph/knowledge-build/mentions.d.ts +25 -0
- package/dist/graph/knowledge-build/mentions.js +66 -0
- package/dist/graph/knowledge-build/mentions.js.map +1 -0
- package/dist/graph/knowledge-build/parameter.d.ts +19 -0
- package/dist/graph/knowledge-build/parameter.js +14 -0
- package/dist/graph/knowledge-build/parameter.js.map +1 -0
- package/dist/graph/knowledge-build/progress.d.ts +8 -0
- package/dist/graph/knowledge-build/progress.js +45 -0
- package/dist/graph/knowledge-build/progress.js.map +1 -0
- package/dist/graph/knowledge-build/relations.d.ts +22 -0
- package/dist/graph/knowledge-build/relations.js +118 -0
- package/dist/graph/knowledge-build/relations.js.map +1 -0
- package/dist/graph/knowledge-build/request.d.ts +8 -0
- package/dist/graph/knowledge-build/request.js +19 -0
- package/dist/graph/knowledge-build/request.js.map +1 -0
- package/dist/graph/knowledge-build/snapshot.d.ts +38 -0
- package/dist/graph/knowledge-build/snapshot.js +18 -0
- package/dist/graph/knowledge-build/snapshot.js.map +1 -0
- package/dist/graph/knowledge-build/types.d.ts +46 -0
- package/dist/graph/reading-build/artifact.d.ts +42 -0
- package/dist/graph/reading-build/artifact.js +162 -0
- package/dist/graph/reading-build/artifact.js.map +1 -0
- package/dist/graph/reading-build/copy.d.ts +28 -0
- package/dist/graph/reading-build/copy.js +65 -0
- package/dist/graph/reading-build/copy.js.map +1 -0
- package/dist/graph/reading-build/index.d.ts +39 -0
- package/dist/graph/reading-build/index.js +4 -0
- package/dist/graph/reading-build/index.js.map +1 -0
- package/dist/graph/reading-build/input.d.ts +32 -0
- package/dist/graph/reading-build/input.js +19 -0
- package/dist/graph/reading-build/input.js.map +1 -0
- package/dist/graph/reading-build/options.d.ts +47 -0
- package/dist/graph/reading-build/options.js +20 -0
- package/dist/graph/reading-build/options.js.map +1 -0
- package/dist/graph/reading-build/source-fragments.d.ts +15 -0
- package/dist/graph/reading-build/source-fragments.js +36 -0
- package/dist/graph/reading-build/source-fragments.js.map +1 -0
- package/dist/graph/reading-build/types.d.ts +57 -0
- package/dist/graph/reading.d.ts +73 -0
- package/dist/graph/reading.js +203 -0
- package/dist/graph/reading.js.map +1 -0
- package/dist/graph/topology/core.d.ts +42 -0
- package/dist/graph/topology/core.js +348 -0
- package/dist/graph/topology/core.js.map +1 -0
- package/dist/graph/topology/grouping.d.ts +13 -0
- package/dist/graph/topology/grouping.js.map +1 -0
- package/dist/graph/topology/index.d.ts +34 -0
- package/dist/graph/topology/index.js +5 -0
- package/dist/graph/topology/index.js.map +1 -0
- package/dist/graph/topology/resource-segmentation.d.ts +11 -0
- package/dist/graph/topology/resource-segmentation.js.map +1 -0
- package/dist/graph/topology/segment-incision.d.ts +16 -0
- package/dist/graph/topology/segment-incision.js.map +1 -0
- package/dist/graph/topology/snake/compare.d.ts +8 -0
- package/dist/graph/topology/snake/compare.js +29 -0
- package/dist/graph/topology/snake/compare.js.map +1 -0
- package/dist/graph/topology/snake/components.d.ts +12 -0
- package/dist/graph/topology/snake/components.js +80 -0
- package/dist/graph/topology/snake/components.js.map +1 -0
- package/dist/graph/topology/snake/constants.d.ts +7 -0
- package/dist/graph/topology/snake/constants.js +13 -0
- package/dist/graph/topology/snake/constants.js.map +1 -0
- package/dist/graph/topology/snake/detect.d.ts +9 -0
- package/dist/graph/topology/snake/detect.js +63 -0
- package/dist/graph/topology/snake/detect.js.map +1 -0
- package/dist/graph/topology/snake/detector.d.ts +3 -0
- package/dist/graph/topology/snake/detector.js +7 -0
- package/dist/graph/topology/snake/detector.js.map +1 -0
- package/dist/graph/topology/snake/fingerprints.d.ts +7 -0
- package/dist/graph/topology/snake/fingerprints.js +86 -0
- package/dist/graph/topology/snake/fingerprints.js.map +1 -0
- package/dist/graph/topology/snake/graph-builder.d.ts +14 -0
- package/dist/graph/topology/snake/graph-builder.js +76 -0
- package/dist/graph/topology/snake/graph-builder.js.map +1 -0
- package/dist/graph/topology/snake/graph.d.ts +7 -0
- package/dist/graph/topology/snake/graph.js +105 -0
- package/dist/graph/topology/snake/graph.js.map +1 -0
- package/dist/graph/topology/snake/index.d.ts +4 -0
- package/dist/graph/topology/snake/index.js +3 -0
- package/dist/graph/topology/snake/index.js.map +1 -0
- package/dist/graph/topology/snake/merge.d.ts +6 -0
- package/dist/graph/topology/snake/merge.js +174 -0
- package/dist/graph/topology/snake/merge.js.map +1 -0
- package/dist/graph/topology/snake/records.d.ts +12 -0
- package/dist/graph/topology/snake/records.js +35 -0
- package/dist/graph/topology/snake/records.js.map +1 -0
- package/dist/graph/topology/snake/types.d.ts +23 -0
- package/dist/graph/topology/snake/types.js +1 -0
- package/dist/graph/topology/snake/weights.d.ts +3 -0
- package/dist/graph/topology/snake/weights.js +17 -0
- package/dist/graph/topology/snake/weights.js.map +1 -0
- package/dist/graph/topology/weights.d.ts +10 -0
- package/dist/graph/topology/weights.js +84 -0
- package/dist/graph/topology/weights.js.map +1 -0
- package/dist/graph/wikilink/index.d.ts +12 -0
- package/dist/graph/wikilink/index.js.map +1 -0
- package/dist/graph/wikilink/relation-discovery.d.ts +33 -0
- package/dist/graph/wikilink/relation-discovery.js +477 -0
- package/dist/graph/wikilink/relation-discovery.js.map +1 -0
- package/dist/graph/wikilink/types.d.ts +25 -0
- package/dist/graph/wikilink/types.js +1 -0
- package/dist/graph/wikilink/window.d.ts +9 -0
- package/dist/graph/wikilink/window.js.map +1 -0
- package/dist/index.cjs +37880 -29183
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1657 -1421
- package/dist/index.d.ts +127 -72
- package/dist/index.js +333 -27
- package/dist/index.js.map +1 -1
- package/dist/library/index.d.ts +38 -0
- package/dist/library/index.js +6 -0
- package/dist/library/index.js.map +1 -0
- package/dist/library/lock.d.ts +9 -0
- package/dist/library/lock.js +121 -0
- package/dist/library/lock.js.map +1 -0
- package/dist/library/membership.d.ts +51 -0
- package/dist/library/membership.js +799 -0
- package/dist/library/membership.js.map +1 -0
- package/dist/library/query-helpers.d.ts +45 -0
- package/dist/library/query-helpers.js +45 -0
- package/dist/library/query-helpers.js.map +1 -0
- package/dist/library/query.d.ts +45 -0
- package/dist/library/query.js +422 -0
- package/dist/library/query.js.map +1 -0
- package/dist/library/registry.d.ts +39 -0
- package/dist/library/registry.js +591 -0
- package/dist/library/registry.js.map +1 -0
- package/dist/library/search-index.d.ts +87 -0
- package/dist/library/search-index.js +473 -0
- package/dist/library/search-index.js.map +1 -0
- package/dist/library/search-query.d.ts +32 -0
- package/dist/library/search-query.js +418 -0
- package/dist/library/search-query.js.map +1 -0
- package/dist/library/segments.d.ts +3 -0
- package/dist/library/segments.js +16 -0
- package/dist/library/segments.js.map +1 -0
- package/dist/maintenance/upgrade.d.ts +54 -0
- package/dist/maintenance/upgrade.js +199 -0
- package/dist/maintenance/upgrade.js.map +1 -0
- package/dist/object-stream.d.ts +170 -0
- package/dist/object-stream.js +732 -0
- package/dist/object-stream.js.map +1 -0
- package/dist/retrieval/query/archive-view/backlinks.d.ts +38 -0
- package/dist/retrieval/query/archive-view/backlinks.js +200 -0
- package/dist/retrieval/query/archive-view/backlinks.js.map +1 -0
- package/dist/retrieval/query/archive-view/collection.d.ts +33 -0
- package/dist/retrieval/query/archive-view/collection.js +327 -0
- package/dist/retrieval/query/archive-view/collection.js.map +1 -0
- package/dist/retrieval/query/archive-view/core.d.ts +44 -0
- package/dist/retrieval/query/archive-view/core.js +165 -0
- package/dist/retrieval/query/archive-view/core.js.map +1 -0
- package/dist/retrieval/query/archive-view/evidence-hydration.d.ts +41 -0
- package/dist/retrieval/query/archive-view/evidence-hydration.js +311 -0
- package/dist/retrieval/query/archive-view/evidence-hydration.js.map +1 -0
- package/dist/retrieval/query/archive-view/evidence.d.ts +31 -0
- package/dist/retrieval/query/archive-view/evidence.js +166 -0
- package/dist/retrieval/query/archive-view/evidence.js.map +1 -0
- package/dist/retrieval/query/archive-view/find.d.ts +41 -0
- package/dist/retrieval/query/archive-view/find.js +289 -0
- package/dist/retrieval/query/archive-view/find.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/constants.d.ts +15 -0
- package/dist/retrieval/query/archive-view/helper/constants.js +20 -0
- package/dist/retrieval/query/archive-view/helper/constants.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/index.d.ts +34 -0
- package/dist/retrieval/query/archive-view/helper/index.js +9 -0
- package/dist/retrieval/query/archive-view/helper/index.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/meta.d.ts +17 -0
- package/dist/retrieval/query/archive-view/helper/meta.js +57 -0
- package/dist/retrieval/query/archive-view/helper/meta.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/parse.d.ts +38 -0
- package/dist/retrieval/query/archive-view/helper/parse.js +71 -0
- package/dist/retrieval/query/archive-view/helper/parse.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/position.d.ts +39 -0
- package/dist/retrieval/query/archive-view/helper/position.js +75 -0
- package/dist/retrieval/query/archive-view/helper/position.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/results.d.ts +45 -0
- package/dist/retrieval/query/archive-view/helper/results.js +153 -0
- package/dist/retrieval/query/archive-view/helper/results.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/sort.d.ts +35 -0
- package/dist/retrieval/query/archive-view/helper/sort.js +88 -0
- package/dist/retrieval/query/archive-view/helper/sort.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/text.d.ts +46 -0
- package/dist/retrieval/query/archive-view/helper/text.js +91 -0
- package/dist/retrieval/query/archive-view/helper/text.js.map +1 -0
- package/dist/retrieval/query/archive-view/helper/uri.d.ts +4 -0
- package/dist/retrieval/query/archive-view/helper/uri.js +12 -0
- package/dist/retrieval/query/archive-view/helper/uri.js.map +1 -0
- package/dist/retrieval/query/archive-view/helpers.d.ts +34 -0
- package/dist/retrieval/query/archive-view/helpers.js +2 -0
- package/dist/retrieval/query/archive-view/helpers.js.map +1 -0
- package/dist/retrieval/query/archive-view/index-state.d.ts +35 -0
- package/dist/retrieval/query/archive-view/index-state.js +191 -0
- package/dist/retrieval/query/archive-view/index-state.js.map +1 -0
- package/dist/retrieval/query/archive-view/index.d.ts +41 -0
- package/dist/retrieval/query/archive-view/index.js +51 -0
- package/dist/retrieval/query/archive-view/index.js.map +1 -0
- package/dist/retrieval/query/archive-view/knowledge.d.ts +45 -0
- package/dist/retrieval/query/archive-view/knowledge.js +99 -0
- package/dist/retrieval/query/archive-view/knowledge.js.map +1 -0
- package/dist/retrieval/query/archive-view/pack.d.ts +30 -0
- package/dist/retrieval/query/archive-view/pack.js +49 -0
- package/dist/retrieval/query/archive-view/pack.js.map +1 -0
- package/dist/retrieval/query/archive-view/pages.d.ts +41 -0
- package/dist/retrieval/query/archive-view/pages.js +341 -0
- package/dist/retrieval/query/archive-view/pages.js.map +1 -0
- package/dist/retrieval/query/archive-view/references.d.ts +88 -0
- package/dist/retrieval/query/archive-view/references.js +287 -0
- package/dist/retrieval/query/archive-view/references.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/core.d.ts +37 -0
- package/dist/retrieval/query/archive-view/related/core.js +163 -0
- package/dist/retrieval/query/archive-view/related/core.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/entity.d.ts +33 -0
- package/dist/retrieval/query/archive-view/related/entity.js +93 -0
- package/dist/retrieval/query/archive-view/related/entity.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/index.d.ts +37 -0
- package/dist/retrieval/query/archive-view/related/index.js +7 -0
- package/dist/retrieval/query/archive-view/related/index.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/pagination.d.ts +31 -0
- package/dist/retrieval/query/archive-view/related/pagination.js +90 -0
- package/dist/retrieval/query/archive-view/related/pagination.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/query.d.ts +31 -0
- package/dist/retrieval/query/archive-view/related/query.js +145 -0
- package/dist/retrieval/query/archive-view/related/query.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/sort.d.ts +32 -0
- package/dist/retrieval/query/archive-view/related/sort.js +85 -0
- package/dist/retrieval/query/archive-view/related/sort.js.map +1 -0
- package/dist/retrieval/query/archive-view/related/wikipage.d.ts +37 -0
- package/dist/retrieval/query/archive-view/related/wikipage.js +43 -0
- package/dist/retrieval/query/archive-view/related/wikipage.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/bucket-hydration.d.ts +31 -0
- package/dist/retrieval/query/archive-view/search/bucket-hydration.js +58 -0
- package/dist/retrieval/query/archive-view/search/bucket-hydration.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/bucket-order.d.ts +36 -0
- package/dist/retrieval/query/archive-view/search/bucket-order.js +64 -0
- package/dist/retrieval/query/archive-view/search/bucket-order.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/bucket.d.ts +30 -0
- package/dist/retrieval/query/archive-view/search/bucket.js +3 -0
- package/dist/retrieval/query/archive-view/search/bucket.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/buckets.d.ts +42 -0
- package/dist/retrieval/query/archive-view/search/buckets.js +302 -0
- package/dist/retrieval/query/archive-view/search/buckets.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/cache-input.d.ts +45 -0
- package/dist/retrieval/query/archive-view/search/cache-input.js +255 -0
- package/dist/retrieval/query/archive-view/search/cache-input.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/core.d.ts +31 -0
- package/dist/retrieval/query/archive-view/search/core.js +388 -0
- package/dist/retrieval/query/archive-view/search/core.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/hydration.d.ts +51 -0
- package/dist/retrieval/query/archive-view/search/hydration.js +234 -0
- package/dist/retrieval/query/archive-view/search/hydration.js.map +1 -0
- package/dist/retrieval/query/archive-view/search/index.d.ts +35 -0
- package/dist/retrieval/query/archive-view/search/index.js +7 -0
- package/dist/retrieval/query/archive-view/search/index.js.map +1 -0
- package/dist/retrieval/query/archive-view/source-evidence/core.d.ts +60 -0
- package/dist/retrieval/query/archive-view/source-evidence/core.js +330 -0
- package/dist/retrieval/query/archive-view/source-evidence/core.js.map +1 -0
- package/dist/retrieval/query/archive-view/source-evidence/index.d.ts +30 -0
- package/dist/retrieval/query/archive-view/source-evidence/index.js +5 -0
- package/dist/retrieval/query/archive-view/source-evidence/index.js.map +1 -0
- package/dist/retrieval/query/archive-view/source-evidence/pagination.d.ts +46 -0
- package/dist/retrieval/query/archive-view/source-evidence/pagination.js +82 -0
- package/dist/retrieval/query/archive-view/source-evidence/pagination.js.map +1 -0
- package/dist/retrieval/query/archive-view/source-evidence/ranges.d.ts +47 -0
- package/dist/retrieval/query/archive-view/source-evidence/ranges.js +209 -0
- package/dist/retrieval/query/archive-view/source-evidence/ranges.js.map +1 -0
- package/dist/retrieval/query/archive-view/source-evidence/read.d.ts +31 -0
- package/dist/retrieval/query/archive-view/source-evidence/read.js +49 -0
- package/dist/retrieval/query/archive-view/source-evidence/read.js.map +1 -0
- package/dist/retrieval/query/archive-view/source.d.ts +30 -0
- package/dist/retrieval/query/archive-view/source.js +2 -0
- package/dist/retrieval/query/archive-view/source.js.map +1 -0
- package/dist/retrieval/query/archive-view/text-streams.d.ts +44 -0
- package/dist/retrieval/query/archive-view/text-streams.js +160 -0
- package/dist/retrieval/query/archive-view/text-streams.js.map +1 -0
- package/dist/retrieval/query/archive-view/types.d.ts +363 -0
- package/dist/retrieval/query/archive-view/types.js +1 -0
- package/dist/retrieval/query/continuation-cursor/core.d.ts +6 -0
- package/dist/retrieval/query/continuation-cursor/core.js +82 -0
- package/dist/retrieval/query/continuation-cursor/core.js.map +1 -0
- package/dist/retrieval/query/continuation-cursor/index.d.ts +2 -0
- package/dist/retrieval/query/continuation-cursor/index.js +3 -0
- package/dist/retrieval/query/continuation-cursor/index.js.map +1 -0
- package/dist/retrieval/query/continuation-cursor/payload.d.ts +12 -0
- package/dist/retrieval/query/continuation-cursor/payload.js +285 -0
- package/dist/retrieval/query/continuation-cursor/payload.js.map +1 -0
- package/dist/retrieval/query/continuation-cursor/store.d.ts +10 -0
- package/dist/retrieval/query/continuation-cursor/store.js +65 -0
- package/dist/retrieval/query/continuation-cursor/store.js.map +1 -0
- package/dist/retrieval/query/continuation-cursor/types.d.ts +72 -0
- package/dist/retrieval/query/continuation-cursor/types.js +1 -0
- package/dist/retrieval/query/continuation-cursor/types.js.map +1 -0
- package/dist/retrieval/query/index.d.ts +47 -0
- package/dist/retrieval/query/index.js +63 -0
- package/dist/retrieval/query/index.js.map +1 -0
- package/dist/retrieval/query/lexical-search.js.map +1 -0
- package/dist/retrieval/query/search-cache/buckets.d.ts +32 -0
- package/dist/retrieval/query/search-cache/buckets.js +87 -0
- package/dist/retrieval/query/search-cache/buckets.js.map +1 -0
- package/dist/retrieval/query/search-cache/cursor.d.ts +42 -0
- package/dist/retrieval/query/search-cache/cursor.js +84 -0
- package/dist/retrieval/query/search-cache/cursor.js.map +1 -0
- package/dist/retrieval/query/search-cache/database.d.ts +7 -0
- package/dist/retrieval/query/search-cache/database.js +47 -0
- package/dist/retrieval/query/search-cache/database.js.map +1 -0
- package/dist/retrieval/query/search-cache/gc.d.ts +6 -0
- package/dist/retrieval/query/search-cache/gc.js +110 -0
- package/dist/retrieval/query/search-cache/gc.js.map +1 -0
- package/dist/retrieval/query/search-cache/hits.d.ts +42 -0
- package/dist/retrieval/query/search-cache/hits.js +446 -0
- package/dist/retrieval/query/search-cache/hits.js.map +1 -0
- package/dist/retrieval/query/search-cache/ids.d.ts +32 -0
- package/dist/retrieval/query/search-cache/ids.js +48 -0
- package/dist/retrieval/query/search-cache/ids.js.map +1 -0
- package/dist/retrieval/query/search-cache/index.d.ts +33 -0
- package/dist/retrieval/query/search-cache/index.js +46 -0
- package/dist/retrieval/query/search-cache/index.js.map +1 -0
- package/dist/retrieval/query/search-cache/parsing.d.ts +36 -0
- package/dist/retrieval/query/search-cache/parsing.js +38 -0
- package/dist/retrieval/query/search-cache/parsing.js.map +1 -0
- package/dist/retrieval/query/search-cache/schema.d.ts +7 -0
- package/dist/retrieval/query/search-cache/schema.js +117 -0
- package/dist/retrieval/query/search-cache/schema.js.map +1 -0
- package/dist/retrieval/query/search-cache/scores.d.ts +4 -0
- package/dist/retrieval/query/search-cache/scores.js +12 -0
- package/dist/retrieval/query/search-cache/scores.js.map +1 -0
- package/dist/retrieval/query/search-cache/sessions.d.ts +45 -0
- package/dist/retrieval/query/search-cache/sessions.js +330 -0
- package/dist/retrieval/query/search-cache/sessions.js.map +1 -0
- package/dist/retrieval/query/search-cache/store.d.ts +23 -0
- package/dist/retrieval/query/search-cache/store.js +111 -0
- package/dist/retrieval/query/search-cache/store.js.map +1 -0
- package/dist/retrieval/query/search-cache/types.d.ts +164 -0
- package/dist/retrieval/query/search-cache/types.js +9 -0
- package/dist/retrieval/query/search-cache/types.js.map +1 -0
- package/dist/retrieval/query/view.d.ts +41 -0
- package/dist/retrieval/query/view.js +2 -0
- package/dist/retrieval/query/view.js.map +1 -0
- package/dist/retrieval/search-index/index.d.ts +33 -0
- package/dist/retrieval/search-index/index.js +41 -0
- package/dist/retrieval/search-index/index.js.map +1 -0
- package/dist/retrieval/search-index/search/build.d.ts +39 -0
- package/dist/retrieval/search-index/search/build.js +212 -0
- package/dist/retrieval/search-index/search/build.js.map +1 -0
- package/dist/retrieval/search-index/search/core.d.ts +33 -0
- package/dist/retrieval/search-index/search/core.js +8 -0
- package/dist/retrieval/search-index/search/core.js.map +1 -0
- package/dist/retrieval/search-index/search/dirty.d.ts +30 -0
- package/dist/retrieval/search-index/search/dirty.js +28 -0
- package/dist/retrieval/search-index/search/dirty.js.map +1 -0
- package/dist/retrieval/search-index/search/errors.d.ts +3 -0
- package/dist/retrieval/search-index/search/errors.js +8 -0
- package/dist/retrieval/search-index/search/errors.js.map +1 -0
- package/dist/retrieval/search-index/search/fingerprint.d.ts +8 -0
- package/dist/retrieval/search-index/search/fingerprint.js +51 -0
- package/dist/retrieval/search-index/search/fingerprint.js.map +1 -0
- package/dist/retrieval/search-index/search/helpers.d.ts +44 -0
- package/dist/retrieval/search-index/search/helpers.js +109 -0
- package/dist/retrieval/search-index/search/helpers.js.map +1 -0
- package/dist/retrieval/search-index/search/index.d.ts +34 -0
- package/dist/retrieval/search-index/search/index.js +3 -0
- package/dist/retrieval/search-index/search/index.js.map +1 -0
- package/dist/retrieval/search-index/search/match.d.ts +34 -0
- package/dist/retrieval/search-index/search/match.js +82 -0
- package/dist/retrieval/search-index/search/match.js.map +1 -0
- package/dist/retrieval/search-index/search/query.d.ts +44 -0
- package/dist/retrieval/search-index/search/query.js +219 -0
- package/dist/retrieval/search-index/search/query.js.map +1 -0
- package/dist/retrieval/search-index/search/settings.d.ts +29 -0
- package/dist/retrieval/search-index/search/settings.js +35 -0
- package/dist/retrieval/search-index/search/settings.js.map +1 -0
- package/dist/retrieval/search-index/search/status.d.ts +31 -0
- package/dist/retrieval/search-index/search/status.js +70 -0
- package/dist/retrieval/search-index/search/status.js.map +1 -0
- package/dist/retrieval/search-index/search/tokenizer.js +225 -0
- package/dist/retrieval/search-index/search/tokenizer.js.map +1 -0
- package/dist/retrieval/search-index/search/types.d.ts +79 -0
- package/dist/retrieval/search-index/search/types.js +31 -0
- package/dist/retrieval/search-index/search/types.js.map +1 -0
- package/dist/retrieval/search-index/search/write.d.ts +10 -0
- package/dist/retrieval/search-index/search/write.js +70 -0
- package/dist/retrieval/search-index/search/write.js.map +1 -0
- package/dist/runtime/common/cli-command.js.map +1 -0
- package/dist/runtime/common/data-dir.js +49 -0
- package/dist/runtime/common/data-dir.js.map +1 -0
- package/dist/runtime/common/language.js.map +1 -0
- package/dist/runtime/common/llm-scope.js.map +1 -0
- package/dist/runtime/common/logging.js.map +1 -0
- package/dist/runtime/common/prompts.d.ts +6 -0
- package/dist/runtime/common/prompts.js +25 -0
- package/dist/runtime/common/prompts.js.map +1 -0
- package/dist/runtime/common/template.js.map +1 -0
- package/dist/runtime/common/tinyld-language.js.map +1 -0
- package/dist/runtime/common/wiki-graph/dir.d.ts +19 -0
- package/dist/runtime/common/wiki-graph/dir.js +68 -0
- package/dist/runtime/common/wiki-graph/dir.js.map +1 -0
- package/dist/runtime/common/wiki-graph/index.d.ts +3 -0
- package/dist/runtime/common/wiki-graph/index.js +4 -0
- package/dist/runtime/common/wiki-graph/index.js.map +1 -0
- package/dist/runtime/common/wiki-graph/temp.js +21 -0
- package/dist/runtime/common/wiki-graph/temp.js.map +1 -0
- package/dist/runtime/common/wiki-graph/uri.d.ts +37 -0
- package/dist/runtime/common/wiki-graph/uri.js +288 -0
- package/dist/runtime/common/wiki-graph/uri.js.map +1 -0
- package/dist/runtime/context/index.d.ts +1 -0
- package/dist/runtime/context/index.js +13 -0
- package/dist/runtime/context/index.js.map +1 -0
- package/dist/runtime/context/task.js +111 -0
- package/dist/runtime/context/task.js.map +1 -0
- package/dist/runtime/gc/files.js +141 -0
- package/dist/runtime/gc/files.js.map +1 -0
- package/dist/runtime/gc/index.js.map +1 -0
- package/dist/runtime/gc/lock.js +137 -0
- package/dist/runtime/gc/lock.js.map +1 -0
- package/dist/runtime/gc/runner.js +134 -0
- package/dist/runtime/gc/runner.js.map +1 -0
- package/dist/runtime/gc/temp.js +57 -0
- package/dist/runtime/gc/temp.js.map +1 -0
- package/dist/runtime/gc/types.js +1 -0
- package/dist/runtime/gc/types.js.map +1 -0
- package/dist/runtime/jobs/conflicts.d.ts +16 -0
- package/dist/runtime/jobs/conflicts.js +61 -0
- package/dist/runtime/jobs/conflicts.js.map +1 -0
- package/dist/runtime/jobs/database.d.ts +12 -0
- package/dist/runtime/jobs/database.js +74 -0
- package/dist/runtime/jobs/database.js.map +1 -0
- package/dist/runtime/jobs/events.d.ts +6 -0
- package/dist/runtime/jobs/events.js +29 -0
- package/dist/runtime/jobs/events.js.map +1 -0
- package/dist/runtime/jobs/gc.d.ts +10 -0
- package/dist/runtime/jobs/gc.js +81 -0
- package/dist/runtime/jobs/gc.js.map +1 -0
- package/dist/runtime/jobs/helpers.d.ts +6 -0
- package/dist/runtime/jobs/helpers.js +35 -0
- package/dist/runtime/jobs/helpers.js.map +1 -0
- package/dist/runtime/jobs/index.d.ts +7 -0
- package/dist/runtime/jobs/index.js +42 -0
- package/dist/runtime/jobs/index.js.map +1 -0
- package/dist/runtime/jobs/jobs.d.ts +24 -0
- package/dist/runtime/jobs/jobs.js +416 -0
- package/dist/runtime/jobs/jobs.js.map +1 -0
- package/dist/runtime/jobs/paths.d.ts +9 -0
- package/dist/runtime/jobs/paths.js +48 -0
- package/dist/runtime/jobs/paths.js.map +1 -0
- package/dist/runtime/jobs/progress.d.ts +37 -0
- package/dist/runtime/jobs/progress.js +246 -0
- package/dist/runtime/jobs/progress.js.map +1 -0
- package/dist/runtime/jobs/recovery.d.ts +6 -0
- package/dist/runtime/jobs/recovery.js +40 -0
- package/dist/runtime/jobs/recovery.js.map +1 -0
- package/dist/runtime/jobs/row.d.ts +10 -0
- package/dist/runtime/jobs/row.js +92 -0
- package/dist/runtime/jobs/row.js.map +1 -0
- package/dist/runtime/jobs/schema.d.ts +3 -0
- package/dist/runtime/jobs/schema.js +55 -0
- package/dist/runtime/jobs/schema.js.map +1 -0
- package/dist/runtime/jobs/state.d.ts +13 -0
- package/dist/runtime/jobs/state.js +156 -0
- package/dist/runtime/jobs/state.js.map +1 -0
- package/dist/runtime/jobs/types.d.ts +141 -0
- package/dist/runtime/jobs/types.js +13 -0
- package/dist/runtime/jobs/types.js.map +1 -0
- package/dist/runtime/jobs/worker.d.ts +5 -0
- package/dist/runtime/jobs/worker.js +241 -0
- package/dist/runtime/jobs/worker.js.map +1 -0
- package/dist/runtime/progress/index.js.map +1 -0
- package/dist/runtime/progress/reporter.js.map +1 -0
- package/dist/runtime/progress/tracker.js.map +1 -0
- package/dist/runtime/progress/types.js +1 -0
- package/dist/runtime/progress/types.js.map +1 -0
- package/dist/serial.d.ts +36 -85
- package/dist/serial.js +1 -475
- package/dist/serial.js.map +1 -1
- package/dist/state-lock.d.ts +21 -0
- package/dist/state-lock.js +233 -0
- package/dist/state-lock.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/archive.d.ts +11 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/archive.js +94 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/archive.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/database.d.ts +7 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/database.js +28 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/database.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/extract.d.ts +3 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/extract.js +68 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/extract.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/index.js +47 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/index.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/schema.d.ts +3 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/schema.js +41 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/schema.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/core.d.ts +3 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/core.js +77 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/core.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/fragments.d.ts +10 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/fragments.js +123 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/fragments.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/index.d.ts +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/index.js +2 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/index.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/references.d.ts +5 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/references.js +305 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/references.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/source-text.d.ts +11 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/source-text.js +62 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/source-text.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/summaries.d.ts +3 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/summaries.js +45 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/summaries.js.map +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/types.d.ts +19 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/types.js +1 -0
- package/dist/storage/migration/legacy-sdpub/upgrade/text-storage/types.js.map +1 -0
- package/dist/storage/schema-upgrade/index.d.ts +8 -0
- package/dist/storage/schema-upgrade/index.js +308 -0
- package/dist/storage/schema-upgrade/index.js.map +1 -0
- package/dist/storage/wikg/archive/constants.d.ts +6 -0
- package/dist/storage/wikg/archive/constants.js +19 -0
- package/dist/storage/wikg/archive/constants.js.map +1 -0
- package/dist/storage/wikg/archive/document-files.d.ts +11 -0
- package/dist/storage/wikg/archive/document-files.js +70 -0
- package/dist/storage/wikg/archive/document-files.js.map +1 -0
- package/dist/storage/wikg/archive/extract.d.ts +3 -0
- package/dist/storage/wikg/archive/extract.js +37 -0
- package/dist/storage/wikg/archive/extract.js.map +1 -0
- package/dist/storage/wikg/archive/index.d.ts +6 -0
- package/dist/storage/wikg/archive/index.js +25 -0
- package/dist/storage/wikg/archive/index.js.map +1 -0
- package/dist/storage/wikg/archive/manifest.d.ts +11 -0
- package/dist/storage/wikg/archive/manifest.js +60 -0
- package/dist/storage/wikg/archive/manifest.js.map +1 -0
- package/dist/storage/wikg/archive/paths.d.ts +9 -0
- package/dist/storage/wikg/archive/paths.js +46 -0
- package/dist/storage/wikg/archive/paths.js.map +1 -0
- package/dist/storage/wikg/archive/reader.d.ts +17 -0
- package/dist/storage/wikg/archive/reader.js +101 -0
- package/dist/storage/wikg/archive/reader.js.map +1 -0
- package/dist/storage/wikg/archive/types.d.ts +10 -0
- package/dist/storage/wikg/archive/types.js +1 -0
- package/dist/storage/wikg/archive/types.js.map +1 -0
- package/dist/storage/wikg/archive/write.d.ts +8 -0
- package/dist/storage/wikg/archive/write.js +155 -0
- package/dist/storage/wikg/archive/write.js.map +1 -0
- package/dist/storage/wikg/archive/zip.d.ts +13 -0
- package/dist/storage/wikg/archive/zip.js +122 -0
- package/dist/storage/wikg/archive/zip.js.map +1 -0
- package/dist/storage/wikg/archive-uri.d.ts +1 -0
- package/dist/storage/wikg/archive-uri.js +39 -0
- package/dist/storage/wikg/archive-uri.js.map +1 -0
- package/dist/storage/wikg/coordinator.d.ts +29 -0
- package/dist/storage/wikg/coordinator.js +2 -0
- package/dist/storage/wikg/coordinator.js.map +1 -0
- package/dist/storage/wikg/index.d.ts +41 -0
- package/dist/storage/wikg/index.js +68 -0
- package/dist/storage/wikg/index.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/activity.d.ts +4 -0
- package/dist/storage/wikg/wikg-coordinator/activity.js +48 -0
- package/dist/storage/wikg/wikg-coordinator/activity.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/archive-key.d.ts +7 -0
- package/dist/storage/wikg/wikg-coordinator/archive-key.js +38 -0
- package/dist/storage/wikg/wikg-coordinator/archive-key.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/constants.d.ts +9 -0
- package/dist/storage/wikg/wikg-coordinator/constants.js +19 -0
- package/dist/storage/wikg/wikg-coordinator/constants.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/facade.d.ts +40 -0
- package/dist/storage/wikg/wikg-coordinator/facade.js +43 -0
- package/dist/storage/wikg/wikg-coordinator/facade.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/file-store.d.ts +52 -0
- package/dist/storage/wikg/wikg-coordinator/file-store.js +369 -0
- package/dist/storage/wikg/wikg-coordinator/file-store.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/flusher.d.ts +4 -0
- package/dist/storage/wikg/wikg-coordinator/flusher.js +115 -0
- package/dist/storage/wikg/wikg-coordinator/flusher.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/gc.d.ts +5 -0
- package/dist/storage/wikg/wikg-coordinator/gc.js +197 -0
- package/dist/storage/wikg/wikg-coordinator/gc.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/index.d.ts +29 -0
- package/dist/storage/wikg/wikg-coordinator/index.js +11 -0
- package/dist/storage/wikg/wikg-coordinator/index.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/locks.d.ts +19 -0
- package/dist/storage/wikg/wikg-coordinator/locks.js +194 -0
- package/dist/storage/wikg/wikg-coordinator/locks.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/overlays.d.ts +32 -0
- package/dist/storage/wikg/wikg-coordinator/overlays.js +141 -0
- package/dist/storage/wikg/wikg-coordinator/overlays.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/owners.d.ts +15 -0
- package/dist/storage/wikg/wikg-coordinator/owners.js +95 -0
- package/dist/storage/wikg/wikg-coordinator/owners.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/search-index-cache.d.ts +9 -0
- package/dist/storage/wikg/wikg-coordinator/search-index-cache.js +164 -0
- package/dist/storage/wikg/wikg-coordinator/search-index-cache.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/session.d.ts +43 -0
- package/dist/storage/wikg/wikg-coordinator/session.js +147 -0
- package/dist/storage/wikg/wikg-coordinator/session.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/state.d.ts +16 -0
- package/dist/storage/wikg/wikg-coordinator/state.js +258 -0
- package/dist/storage/wikg/wikg-coordinator/state.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/types.d.ts +28 -0
- package/dist/storage/wikg/wikg-coordinator/types.js +1 -0
- package/dist/storage/wikg/wikg-coordinator/types.js.map +1 -0
- package/dist/storage/wikg/wikg-coordinator/workspace.d.ts +8 -0
- package/dist/storage/wikg/wikg-coordinator/workspace.js +60 -0
- package/dist/storage/wikg/wikg-coordinator/workspace.js.map +1 -0
- package/dist/storage/wikg/wiki-graph-archive-file.d.ts +45 -0
- package/dist/storage/wikg/wiki-graph-archive-file.js +78 -0
- package/dist/storage/wikg/wiki-graph-archive-file.js.map +1 -0
- package/dist/text/editor/clue.d.ts +40 -0
- package/dist/text/editor/clue.js.map +1 -0
- package/dist/text/editor/compression.d.ts +52 -0
- package/dist/text/editor/compression.js +253 -0
- package/dist/text/editor/compression.js.map +1 -0
- package/dist/text/editor/compressor.d.ts +19 -0
- package/dist/text/editor/compressor.js +123 -0
- package/dist/text/editor/compressor.js.map +1 -0
- package/dist/text/editor/feedback.d.ts +16 -0
- package/dist/text/editor/feedback.js.map +1 -0
- package/dist/text/editor/index.d.ts +30 -0
- package/dist/text/editor/index.js +5 -0
- package/dist/text/editor/index.js.map +1 -0
- package/dist/text/editor/language-review.d.ts +14 -0
- package/dist/text/editor/language-review.js +35 -0
- package/dist/text/editor/language-review.js.map +1 -0
- package/dist/text/editor/log.d.ts +50 -0
- package/dist/text/editor/log.js +202 -0
- package/dist/text/editor/log.js.map +1 -0
- package/dist/text/editor/markup.d.ts +18 -0
- package/dist/text/editor/markup.js +294 -0
- package/dist/text/editor/markup.js.map +1 -0
- package/dist/text/editor/prompt-templates.js.map +1 -0
- package/dist/text/editor/response.js.map +1 -0
- package/dist/text/editor/review.d.ts +47 -0
- package/dist/text/editor/review.js +189 -0
- package/dist/text/editor/review.js.map +1 -0
- package/dist/text/editor/types.js +21 -0
- package/dist/text/editor/types.js.map +1 -0
- package/dist/text/output/epub/archive.js.map +1 -0
- package/dist/text/output/epub/book.d.ts +28 -0
- package/dist/text/output/epub/book.js.map +1 -0
- package/dist/text/output/epub/content.js.map +1 -0
- package/dist/text/output/epub/index.d.ts +33 -0
- package/dist/text/output/epub/index.js.map +1 -0
- package/dist/text/output/epub/model.js.map +1 -0
- package/dist/text/output/epub/navigation.js.map +1 -0
- package/dist/text/output/epub/package.js.map +1 -0
- package/dist/text/output/epub/shared.js.map +1 -0
- package/dist/text/output/epub/templates.js +26 -0
- package/dist/text/output/epub/templates.js.map +1 -0
- package/dist/text/output/index.d.ts +27 -0
- package/dist/text/output/index.js.map +1 -0
- package/dist/text/output/plain-text.d.ts +31 -0
- package/dist/text/output/plain-text.js.map +1 -0
- package/dist/text/reader/attention/core.d.ts +39 -0
- package/dist/text/reader/attention/core.js +123 -0
- package/dist/text/reader/attention/core.js.map +1 -0
- package/dist/text/reader/attention/index.d.ts +9 -0
- package/dist/text/reader/attention/index.js +5 -0
- package/dist/text/reader/attention/index.js.map +1 -0
- package/dist/text/reader/attention/wave-reflection.d.ts +21 -0
- package/dist/text/reader/attention/wave-reflection.js.map +1 -0
- package/dist/text/reader/attention/working-memory.d.ts +28 -0
- package/dist/text/reader/attention/working-memory.js.map +1 -0
- package/dist/text/reader/chunk-batch/extract.d.ts +13 -0
- package/dist/text/reader/chunk-batch/extract.js.map +1 -0
- package/dist/text/reader/chunk-batch/extractor.d.ts +17 -0
- package/dist/text/reader/chunk-batch/extractor.js +337 -0
- package/dist/text/reader/chunk-batch/extractor.js.map +1 -0
- package/dist/text/reader/chunk-batch/fragment-projection.d.ts +34 -0
- package/dist/text/reader/chunk-batch/fragment-projection.js.map +1 -0
- package/dist/text/reader/chunk-batch/index.d.ts +13 -0
- package/dist/text/reader/chunk-batch/index.js +13 -0
- package/dist/text/reader/chunk-batch/index.js.map +1 -0
- package/dist/text/reader/chunk-batch/language.d.ts +9 -0
- package/dist/text/reader/chunk-batch/language.js +23 -0
- package/dist/text/reader/chunk-batch/language.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/annotations.d.ts +19 -0
- package/dist/text/reader/chunk-batch/parser/annotations.js +34 -0
- package/dist/text/reader/chunk-batch/parser/annotations.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/core.d.ts +33 -0
- package/dist/text/reader/chunk-batch/parser/core.js +171 -0
- package/dist/text/reader/chunk-batch/parser/core.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/evidence.d.ts +21 -0
- package/dist/text/reader/chunk-batch/parser/evidence.js +40 -0
- package/dist/text/reader/chunk-batch/parser/evidence.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/helpers.d.ts +27 -0
- package/dist/text/reader/chunk-batch/parser/helpers.js +98 -0
- package/dist/text/reader/chunk-batch/parser/helpers.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/index.d.ts +13 -0
- package/dist/text/reader/chunk-batch/parser/index.js +3 -0
- package/dist/text/reader/chunk-batch/parser/index.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/links.d.ts +17 -0
- package/dist/text/reader/chunk-batch/parser/links.js +44 -0
- package/dist/text/reader/chunk-batch/parser/links.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/resolver.d.ts +28 -0
- package/dist/text/reader/chunk-batch/parser/resolver.js +267 -0
- package/dist/text/reader/chunk-batch/parser/resolver.js.map +1 -0
- package/dist/text/reader/chunk-batch/parser/schema.d.ts +136 -0
- package/dist/text/reader/chunk-batch/parser/schema.js +71 -0
- package/dist/text/reader/chunk-batch/parser/schema.js.map +1 -0
- package/dist/text/reader/chunk-batch/prompt-templates.js.map +1 -0
- package/dist/text/reader/chunk-batch/types.d.ts +85 -0
- package/dist/text/reader/chunk-batch/types.js +1 -0
- package/dist/text/reader/chunk-batch/types.js.map +1 -0
- package/dist/text/reader/core.d.ts +37 -0
- package/dist/text/reader/core.js +82 -0
- package/dist/text/reader/core.js.map +1 -0
- package/dist/text/reader/index.d.ts +13 -0
- package/dist/text/reader/index.js +7 -0
- package/dist/text/reader/index.js.map +1 -0
- package/dist/text/reader/segment/core.js +9 -0
- package/dist/text/reader/segment/core.js.map +1 -0
- package/dist/text/reader/segment/index.d.ts +2 -0
- package/dist/text/reader/segment/index.js +5 -0
- package/dist/text/reader/segment/index.js.map +1 -0
- package/dist/text/reader/segment/intl-segmenter.js.map +1 -0
- package/dist/text/reader/segment/types.js +1 -0
- package/dist/text/reader/segment/types.js.map +1 -0
- package/dist/text/reader/types.d.ts +29 -0
- package/dist/text/reader/types.js +1 -0
- package/dist/text/reader/types.js.map +1 -0
- package/dist/text/serial/discovery.d.ts +36 -0
- package/dist/text/serial/discovery.js +5 -0
- package/dist/text/serial/discovery.js.map +1 -0
- package/dist/text/serial/fragments.d.ts +67 -0
- package/dist/text/serial/fragments.js +121 -0
- package/dist/text/serial/fragments.js.map +1 -0
- package/dist/text/serial/generation.d.ts +48 -0
- package/dist/text/serial/generation.js +257 -0
- package/dist/text/serial/generation.js.map +1 -0
- package/dist/text/serial/index.d.ts +40 -0
- package/dist/text/serial/index.js +7 -0
- package/dist/text/serial/index.js.map +1 -0
- package/dist/text/serial/options.d.ts +77 -0
- package/dist/text/serial/options.js +17 -0
- package/dist/text/serial/options.js.map +1 -0
- package/dist/text/serial/read.d.ts +28 -0
- package/dist/text/serial/read.js +19 -0
- package/dist/text/serial/read.js.map +1 -0
- package/dist/text/serial/reader-graph.d.ts +39 -0
- package/dist/text/serial/reader-graph.js +27 -0
- package/dist/text/serial/reader-graph.js.map +1 -0
- package/dist/text/serial/record.d.ts +40 -0
- package/dist/text/serial/record.js +21 -0
- package/dist/text/serial/record.js.map +1 -0
- package/dist/text/serial/source.d.ts +39 -0
- package/dist/text/serial/source.js +12 -0
- package/dist/text/serial/source.js.map +1 -0
- package/dist/text/serial/topology.d.ts +43 -0
- package/dist/text/serial/topology.js +64 -0
- package/dist/text/serial/topology.js.map +1 -0
- package/dist/text/source/adapter.js.map +1 -0
- package/dist/text/source/epub/archive.js.map +1 -0
- package/dist/text/source/epub/content.js.map +1 -0
- package/dist/text/source/epub/document.js.map +1 -0
- package/dist/text/source/epub/index.js.map +1 -0
- package/dist/text/source/epub/navigation.js.map +1 -0
- package/dist/text/source/epub/package.js.map +1 -0
- package/dist/text/source/epub/xml.js.map +1 -0
- package/dist/text/source/index.js.map +1 -0
- package/dist/text/source/meta.js.map +1 -0
- package/dist/text/source/plain-text.js.map +1 -0
- package/dist/text/source/toc.d.ts +17 -0
- package/dist/text/source/toc.js +19 -0
- package/dist/text/source/toc.js.map +1 -0
- package/dist/text/source/types.js +1 -0
- package/dist/text/source/types.js.map +1 -0
- package/dist/text/summary-build/artifact.d.ts +44 -0
- package/dist/text/summary-build/artifact.js +157 -0
- package/dist/text/summary-build/artifact.js.map +1 -0
- package/dist/text/summary-build/build.d.ts +37 -0
- package/dist/text/summary-build/build.js +60 -0
- package/dist/text/summary-build/build.js.map +1 -0
- package/dist/text/summary-build/index.d.ts +38 -0
- package/dist/text/summary-build/index.js +4 -0
- package/dist/text/summary-build/index.js.map +1 -0
- package/dist/text/summary-build/schema.d.ts +106 -0
- package/dist/text/summary-build/schema.js +118 -0
- package/dist/text/summary-build/schema.js.map +1 -0
- package/dist/text/summary-build/snapshot/chunk-store.d.ts +17 -0
- package/dist/text/summary-build/snapshot/chunk-store.js +68 -0
- package/dist/text/summary-build/snapshot/chunk-store.js.map +1 -0
- package/dist/text/summary-build/snapshot/empty-stores.d.ts +50 -0
- package/dist/text/summary-build/snapshot/empty-stores.js +60 -0
- package/dist/text/summary-build/snapshot/empty-stores.js.map +1 -0
- package/dist/text/summary-build/snapshot/graph-stores.d.ts +42 -0
- package/dist/text/summary-build/snapshot/graph-stores.js +148 -0
- package/dist/text/summary-build/snapshot/graph-stores.js.map +1 -0
- package/dist/text/summary-build/snapshot/helpers.d.ts +17 -0
- package/dist/text/summary-build/snapshot/helpers.js +65 -0
- package/dist/text/summary-build/snapshot/helpers.js.map +1 -0
- package/dist/text/summary-build/snapshot/index.d.ts +63 -0
- package/dist/text/summary-build/snapshot/index.js +106 -0
- package/dist/text/summary-build/snapshot/index.js.map +1 -0
- package/dist/text/summary-build/snapshot/serial-store.d.ts +29 -0
- package/dist/text/summary-build/snapshot/serial-store.js +92 -0
- package/dist/text/summary-build/snapshot/serial-store.js.map +1 -0
- package/dist/text/summary-build/snapshot-io.d.ts +14 -0
- package/dist/text/summary-build/snapshot-io.js +25 -0
- package/dist/text/summary-build/snapshot-io.js.map +1 -0
- package/dist/text/summary-build/source.d.ts +39 -0
- package/dist/text/summary-build/source.js +30 -0
- package/dist/text/summary-build/source.js.map +1 -0
- package/dist/text/summary-build/types.d.ts +34 -0
- package/dist/text/summary-build/types.js +1 -0
- package/dist/text/summary-build/types.js.map +1 -0
- package/dist/worker-DWasYKWW.d.cts +143 -0
- package/dist/worker.cjs +5560 -2312
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +1 -2
- package/dist/worker.d.ts +2 -2
- package/dist/worker.js +1 -1
- package/dist/worker.js.map +1 -1
- package/package.json +3 -2
- package/dist/archive/query/archive-view.d.ts +0 -26
- package/dist/archive/query/archive-view.js +0 -4540
- package/dist/archive/query/archive-view.js.map +0 -1
- package/dist/archive/query/continuation-cursor.d.ts +0 -61
- package/dist/archive/query/continuation-cursor.js +0 -363
- package/dist/archive/query/continuation-cursor.js.map +0 -1
- package/dist/archive/query/index.d.ts +0 -29
- package/dist/archive/query/index.js +0 -63
- package/dist/archive/query/index.js.map +0 -1
- package/dist/archive/query/lexical-search.js.map +0 -1
- package/dist/archive/query/search-cache.d.ts +0 -192
- package/dist/archive/query/search-cache.js +0 -1248
- package/dist/archive/query/search-cache.js.map +0 -1
- package/dist/archive/search-index/index.d.ts +0 -26
- package/dist/archive/search-index/index.js +0 -29
- package/dist/archive/search-index/index.js.map +0 -1
- package/dist/archive/search-index/search-index.d.ts +0 -26
- package/dist/archive/search-index/search-index.js +0 -555
- package/dist/archive/search-index/search-index.js.map +0 -1
- package/dist/archive/search-index/search-tokenizer.js +0 -225
- package/dist/archive/search-index/search-tokenizer.js.map +0 -1
- package/dist/common/cli-command.js.map +0 -1
- package/dist/common/data-dir.js +0 -48
- package/dist/common/data-dir.js.map +0 -1
- package/dist/common/language.js.map +0 -1
- package/dist/common/llm-scope.js.map +0 -1
- package/dist/common/logging.js.map +0 -1
- package/dist/common/template.js.map +0 -1
- package/dist/common/tinyld-language.js.map +0 -1
- package/dist/common/wiki-graph-dir.d.ts +0 -10
- package/dist/common/wiki-graph-dir.js +0 -41
- package/dist/common/wiki-graph-dir.js.map +0 -1
- package/dist/common/wiki-graph-temp.js +0 -21
- package/dist/common/wiki-graph-temp.js.map +0 -1
- package/dist/common/wiki-graph-uri.d.ts +0 -28
- package/dist/common/wiki-graph-uri.js +0 -171
- package/dist/common/wiki-graph-uri.js.map +0 -1
- package/dist/context/index.d.ts +0 -1
- package/dist/context/index.js +0 -13
- package/dist/context/index.js.map +0 -1
- package/dist/context/task-context.js +0 -111
- package/dist/context/task-context.js.map +0 -1
- package/dist/document/document.d.ts +0 -153
- package/dist/document/document.js +0 -615
- package/dist/document/document.js.map +0 -1
- package/dist/document/fragments.d.ts +0 -63
- package/dist/document/fragments.js +0 -371
- package/dist/document/fragments.js.map +0 -1
- package/dist/document/stores.d.ts +0 -203
- package/dist/document/stores.js +0 -1678
- package/dist/document/stores.js.map +0 -1
- package/dist/document/text-streams.d.ts +0 -86
- package/dist/document/text-streams.js +0 -515
- package/dist/document/text-streams.js.map +0 -1
- package/dist/editor/clue.d.ts +0 -27
- package/dist/editor/clue.js.map +0 -1
- package/dist/editor/compressor.d.ts +0 -18
- package/dist/editor/compressor.js +0 -68
- package/dist/editor/compressor.js.map +0 -1
- package/dist/editor/editor.d.ts +0 -39
- package/dist/editor/editor.js +0 -253
- package/dist/editor/editor.js.map +0 -1
- package/dist/editor/feedback.d.ts +0 -16
- package/dist/editor/feedback.js.map +0 -1
- package/dist/editor/index.d.ts +0 -17
- package/dist/editor/index.js +0 -5
- package/dist/editor/index.js.map +0 -1
- package/dist/editor/language-review.d.ts +0 -14
- package/dist/editor/language-review.js +0 -35
- package/dist/editor/language-review.js.map +0 -1
- package/dist/editor/log.d.ts +0 -37
- package/dist/editor/log.js +0 -202
- package/dist/editor/log.js.map +0 -1
- package/dist/editor/markup.d.ts +0 -20
- package/dist/editor/markup.js +0 -294
- package/dist/editor/markup.js.map +0 -1
- package/dist/editor/prompt-templates.js.map +0 -1
- package/dist/editor/response.js.map +0 -1
- package/dist/editor/review.d.ts +0 -34
- package/dist/editor/review.js +0 -189
- package/dist/editor/review.js.map +0 -1
- package/dist/editor/types.js +0 -21
- package/dist/editor/types.js.map +0 -1
- package/dist/evidence-selection/anchor-resolver.d.ts +0 -43
- package/dist/evidence-selection/anchor-resolver.js +0 -783
- package/dist/evidence-selection/anchor-resolver.js.map +0 -1
- package/dist/evidence-selection/anchor-types.d.ts +0 -27
- package/dist/evidence-selection/anchor-types.js +0 -1
- package/dist/evidence-selection/index.d.ts +0 -8
- package/dist/evidence-selection/index.js +0 -32
- package/dist/evidence-selection/index.js.map +0 -1
- package/dist/evidence-selection/prompt.js.map +0 -1
- package/dist/evidence-selection/quote-score.js.map +0 -1
- package/dist/evidence-selection/selection-resolver.js +0 -303
- package/dist/evidence-selection/selection-resolver.js.map +0 -1
- package/dist/evidence-selection/text.js.map +0 -1
- package/dist/facade/app.d.ts +0 -75
- package/dist/facade/app.js +0 -141
- package/dist/facade/app.js.map +0 -1
- package/dist/facade/build-queue.d.ts +0 -181
- package/dist/facade/build-queue.js +0 -1442
- package/dist/facade/build-queue.js.map +0 -1
- package/dist/facade/chapter-build.d.ts +0 -60
- package/dist/facade/chapter-build.js +0 -1020
- package/dist/facade/chapter-build.js.map +0 -1
- package/dist/facade/chapter.d.ts +0 -168
- package/dist/facade/chapter.js +0 -944
- package/dist/facade/chapter.js.map +0 -1
- package/dist/facade/digest.d.ts +0 -55
- package/dist/facade/digest.js +0 -168
- package/dist/facade/digest.js.map +0 -1
- package/dist/facade/graph.d.ts +0 -60
- package/dist/facade/graph.js +0 -203
- package/dist/facade/graph.js.map +0 -1
- package/dist/facade/import.d.ts +0 -49
- package/dist/facade/import.js +0 -262
- package/dist/facade/import.js.map +0 -1
- package/dist/facade/index.d.ts +0 -39
- package/dist/facade/index.js +0 -171
- package/dist/facade/index.js.map +0 -1
- package/dist/facade/knowledge-graph-build.d.ts +0 -75
- package/dist/facade/knowledge-graph-build.js +0 -897
- package/dist/facade/knowledge-graph-build.js.map +0 -1
- package/dist/facade/llm-sampling.d.ts +0 -11
- package/dist/facade/llm-sampling.js +0 -58
- package/dist/facade/llm-sampling.js.map +0 -1
- package/dist/facade/wiki-graph-archive.d.ts +0 -41
- package/dist/facade/wiki-graph-archive.js +0 -130
- package/dist/facade/wiki-graph-archive.js.map +0 -1
- package/dist/gc/files.js +0 -141
- package/dist/gc/files.js.map +0 -1
- package/dist/gc/index.js.map +0 -1
- package/dist/gc/lock.js +0 -137
- package/dist/gc/lock.js.map +0 -1
- package/dist/gc/runner.js +0 -129
- package/dist/gc/runner.js.map +0 -1
- package/dist/gc/tmp-gc.js +0 -57
- package/dist/gc/tmp-gc.js.map +0 -1
- package/dist/guaranteed/classifier.js.map +0 -1
- package/dist/guaranteed/errors.js.map +0 -1
- package/dist/guaranteed/index.js.map +0 -1
- package/dist/guaranteed/request.js.map +0 -1
- package/dist/guaranteed/response.js.map +0 -1
- package/dist/index-B8NNnQ8P.d.ts +0 -424
- package/dist/legacy-sdpub/upgrade.js +0 -795
- package/dist/legacy-sdpub/upgrade.js.map +0 -1
- package/dist/llm/cache.js +0 -35
- package/dist/llm/cache.js.map +0 -1
- package/dist/llm/client.d.ts +0 -26
- package/dist/llm/client.js +0 -572
- package/dist/llm/client.js.map +0 -1
- package/dist/llm/context.js +0 -78
- package/dist/llm/context.js.map +0 -1
- package/dist/llm/errors.js.map +0 -1
- package/dist/llm/index.d.ts +0 -7
- package/dist/llm/index.js +0 -17
- package/dist/llm/index.js.map +0 -1
- package/dist/llm/request-log.js +0 -35
- package/dist/llm/request-log.js.map +0 -1
- package/dist/llm/sampling.js.map +0 -1
- package/dist/output/epub/archive.js.map +0 -1
- package/dist/output/epub/book.d.ts +0 -15
- package/dist/output/epub/book.js.map +0 -1
- package/dist/output/epub/content.js.map +0 -1
- package/dist/output/epub/index.d.ts +0 -20
- package/dist/output/epub/index.js.map +0 -1
- package/dist/output/epub/navigation.js.map +0 -1
- package/dist/output/epub/package.js.map +0 -1
- package/dist/output/epub/shared.js.map +0 -1
- package/dist/output/epub/templates.js +0 -26
- package/dist/output/epub/templates.js.map +0 -1
- package/dist/output/index.d.ts +0 -14
- package/dist/output/index.js.map +0 -1
- package/dist/output/plain-text.d.ts +0 -18
- package/dist/output/plain-text.js.map +0 -1
- package/dist/progress/index.js.map +0 -1
- package/dist/progress/reporter.js.map +0 -1
- package/dist/progress/tracker.js.map +0 -1
- package/dist/reader/attention/attention.d.ts +0 -39
- package/dist/reader/attention/attention.js +0 -123
- package/dist/reader/attention/attention.js.map +0 -1
- package/dist/reader/attention/index.d.ts +0 -9
- package/dist/reader/attention/index.js +0 -5
- package/dist/reader/attention/index.js.map +0 -1
- package/dist/reader/attention/wave-reflection.d.ts +0 -21
- package/dist/reader/attention/wave-reflection.js.map +0 -1
- package/dist/reader/attention/working-memory.d.ts +0 -28
- package/dist/reader/attention/working-memory.js.map +0 -1
- package/dist/reader/chunk-batch/extract.d.ts +0 -13
- package/dist/reader/chunk-batch/extract.js.map +0 -1
- package/dist/reader/chunk-batch/extractor.d.ts +0 -17
- package/dist/reader/chunk-batch/extractor.js +0 -337
- package/dist/reader/chunk-batch/extractor.js.map +0 -1
- package/dist/reader/chunk-batch/fragment-projection.d.ts +0 -34
- package/dist/reader/chunk-batch/fragment-projection.js.map +0 -1
- package/dist/reader/chunk-batch/index.d.ts +0 -12
- package/dist/reader/chunk-batch/index.js +0 -13
- package/dist/reader/chunk-batch/index.js.map +0 -1
- package/dist/reader/chunk-batch/language.d.ts +0 -9
- package/dist/reader/chunk-batch/language.js +0 -23
- package/dist/reader/chunk-batch/language.js.map +0 -1
- package/dist/reader/chunk-batch/parser.d.ts +0 -94
- package/dist/reader/chunk-batch/parser.js +0 -640
- package/dist/reader/chunk-batch/parser.js.map +0 -1
- package/dist/reader/chunk-batch/prompt-templates.js.map +0 -1
- package/dist/reader/chunk-batch/types.d.ts +0 -85
- package/dist/reader/index.d.ts +0 -13
- package/dist/reader/index.js +0 -7
- package/dist/reader/index.js.map +0 -1
- package/dist/reader/reader.d.ts +0 -37
- package/dist/reader/reader.js +0 -82
- package/dist/reader/reader.js.map +0 -1
- package/dist/reader/segment/index.d.ts +0 -2
- package/dist/reader/segment/index.js +0 -5
- package/dist/reader/segment/index.js.map +0 -1
- package/dist/reader/segment/intl-segmenter.js.map +0 -1
- package/dist/reader/segment/segment.js +0 -9
- package/dist/reader/segment/segment.js.map +0 -1
- package/dist/reader/types.d.ts +0 -29
- package/dist/source/epub/archive.js.map +0 -1
- package/dist/source/epub/content.js.map +0 -1
- package/dist/source/epub/document.js.map +0 -1
- package/dist/source/epub/index.js.map +0 -1
- package/dist/source/epub/navigation.js.map +0 -1
- package/dist/source/epub/package.js.map +0 -1
- package/dist/source/epub/xml.js.map +0 -1
- package/dist/source/index.js.map +0 -1
- package/dist/source/meta.js.map +0 -1
- package/dist/source/plain-text.js.map +0 -1
- package/dist/source/toc.d.ts +0 -16
- package/dist/source/toc.js +0 -17
- package/dist/source/toc.js.map +0 -1
- package/dist/topology/grouping.d.ts +0 -15
- package/dist/topology/grouping.js.map +0 -1
- package/dist/topology/index.d.ts +0 -21
- package/dist/topology/index.js +0 -5
- package/dist/topology/index.js.map +0 -1
- package/dist/topology/resource-segmentation.d.ts +0 -13
- package/dist/topology/resource-segmentation.js.map +0 -1
- package/dist/topology/segment-incision.d.ts +0 -18
- package/dist/topology/segment-incision.js.map +0 -1
- package/dist/topology/snake-detector.d.ts +0 -13
- package/dist/topology/snake-detector.js +0 -520
- package/dist/topology/snake-detector.js.map +0 -1
- package/dist/topology/snake-graph-builder.d.ts +0 -14
- package/dist/topology/snake-graph-builder.js +0 -76
- package/dist/topology/snake-graph-builder.js.map +0 -1
- package/dist/topology/topology.d.ts +0 -29
- package/dist/topology/topology.js +0 -348
- package/dist/topology/topology.js.map +0 -1
- package/dist/topology/weights.d.ts +0 -10
- package/dist/topology/weights.js +0 -84
- package/dist/topology/weights.js.map +0 -1
- package/dist/types-FVIqiLC9.d.cts +0 -24
- package/dist/wikg/archive-uri.d.ts +0 -1
- package/dist/wikg/archive-uri.js +0 -37
- package/dist/wikg/archive-uri.js.map +0 -1
- package/dist/wikg/archive.d.ts +0 -28
- package/dist/wikg/archive.js +0 -496
- package/dist/wikg/archive.js.map +0 -1
- package/dist/wikg/index.d.ts +0 -31
- package/dist/wikg/index.js +0 -60
- package/dist/wikg/index.js.map +0 -1
- package/dist/wikg/wikg-coordinator.d.ts +0 -45
- package/dist/wikg/wikg-coordinator.js +0 -1687
- package/dist/wikg/wikg-coordinator.js.map +0 -1
- package/dist/wikg/wiki-graph-archive-file.d.ts +0 -42
- package/dist/wikg/wiki-graph-archive-file.js +0 -78
- package/dist/wikg/wiki-graph-archive-file.js.map +0 -1
- package/dist/wikilink/index.d.ts +0 -10
- package/dist/wikilink/index.js.map +0 -1
- package/dist/wikilink/relation-discovery.d.ts +0 -31
- package/dist/wikilink/relation-discovery.js +0 -477
- package/dist/wikilink/relation-discovery.js.map +0 -1
- package/dist/wikilink/types.d.ts +0 -23
- package/dist/wikilink/window.d.ts +0 -7
- package/dist/wikilink/window.js.map +0 -1
- package/dist/wikimatch/enrichment.d.ts +0 -10
- package/dist/wikimatch/enrichment.js +0 -55
- package/dist/wikimatch/enrichment.js.map +0 -1
- package/dist/wikimatch/index.d.ts +0 -16
- package/dist/wikimatch/index.js +0 -66
- package/dist/wikimatch/index.js.map +0 -1
- package/dist/wikimatch/option-narrowing.d.ts +0 -17
- package/dist/wikimatch/option-narrowing.js.map +0 -1
- package/dist/wikimatch/options.d.ts +0 -14
- package/dist/wikimatch/options.js +0 -155
- package/dist/wikimatch/options.js.map +0 -1
- package/dist/wikimatch/policy-judge.d.ts +0 -17
- package/dist/wikimatch/policy-judge.js +0 -430
- package/dist/wikimatch/policy-judge.js.map +0 -1
- package/dist/wikimatch/range-suppression.js.map +0 -1
- package/dist/wikimatch/surface-screening.d.ts +0 -16
- package/dist/wikimatch/surface-screening.js +0 -168
- package/dist/wikimatch/surface-screening.js.map +0 -1
- package/dist/wikimatch/surface-window.d.ts +0 -6
- package/dist/wikimatch/surface-window.js +0 -44
- package/dist/wikimatch/surface-window.js.map +0 -1
- package/dist/wikimatch/types.d.ts +0 -151
- package/dist/wikimatch/wikispine.d.ts +0 -43
- package/dist/wikimatch/wikispine.js.map +0 -1
- package/dist/wikimatch/window.d.ts +0 -6
- package/dist/wikimatch/window.js.map +0 -1
- package/dist/wikimatch/words.js.map +0 -1
- package/dist/wikipage/cache.d.ts +0 -18
- package/dist/wikipage/cache.js +0 -404
- package/dist/wikipage/cache.js.map +0 -1
- package/dist/wikipage/fetch-log.js +0 -143
- package/dist/wikipage/fetch-log.js.map +0 -1
- package/dist/wikipage/index.d.ts +0 -14
- package/dist/wikipage/index.js +0 -17
- package/dist/wikipage/index.js.map +0 -1
- package/dist/wikipage/normalizer.d.ts +0 -14
- package/dist/wikipage/normalizer.js +0 -147
- package/dist/wikipage/normalizer.js.map +0 -1
- package/dist/wikipage/rate-limiter.js.map +0 -1
- package/dist/wikipage/resolver.d.ts +0 -26
- package/dist/wikipage/resolver.js +0 -325
- package/dist/wikipage/resolver.js.map +0 -1
- package/dist/wikipage/types.d.ts +0 -96
- package/dist/wikipage/wikimedia-client.d.ts +0 -48
- package/dist/wikipage/wikimedia-client.js +0 -397
- package/dist/wikipage/wikimedia-client.js.map +0 -1
- package/dist/worker-BgQ0Xl8T.d.cts +0 -181
- /package/dist/{evidence-selection → api/chapter-build}/types.js +0 -0
- /package/dist/{evidence-selection → api/chapter-build}/types.js.map +0 -0
- /package/dist/{facade → api/knowledge-graph-build}/types.js +0 -0
- /package/dist/{facade → api/knowledge-graph-build}/types.js.map +0 -0
- /package/dist/{facade → api}/types.d.ts +0 -0
- /package/dist/{gc → api}/types.js +0 -0
- /package/dist/{gc → api}/types.js.map +0 -0
- /package/dist/{guaranteed → document/directory}/types.js +0 -0
- /package/dist/{guaranteed → document/directory}/types.js.map +0 -0
- /package/dist/{llm → document/stores}/types.js +0 -0
- /package/dist/{llm → document/stores}/types.js.map +0 -0
- /package/dist/{guaranteed → external/guaranteed}/classifier.d.ts +0 -0
- /package/dist/{guaranteed → external/guaranteed}/classifier.js +0 -0
- /package/dist/{guaranteed → external/guaranteed}/errors.d.ts +0 -0
- /package/dist/{guaranteed → external/guaranteed}/errors.js +0 -0
- /package/dist/{guaranteed → external/guaranteed}/index.d.ts +0 -0
- /package/dist/{guaranteed → external/guaranteed}/index.js +0 -0
- /package/dist/{guaranteed → external/guaranteed}/request.d.ts +0 -0
- /package/dist/{guaranteed → external/guaranteed}/request.js +0 -0
- /package/dist/{guaranteed → external/guaranteed}/response.d.ts +0 -0
- /package/dist/{guaranteed → external/guaranteed}/response.js +0 -0
- /package/dist/{guaranteed → external/guaranteed}/types.d.ts +0 -0
- /package/dist/{progress → external/guaranteed}/types.js +0 -0
- /package/dist/{progress → external/guaranteed}/types.js.map +0 -0
- /package/dist/{llm → external/llm}/cache.d.ts +0 -0
- /package/dist/{llm → external/llm}/context.d.ts +0 -0
- /package/dist/{llm → external/llm}/errors.d.ts +0 -0
- /package/dist/{llm → external/llm}/errors.js +0 -0
- /package/dist/{llm → external/llm}/request-log.d.ts +0 -0
- /package/dist/{llm → external/llm}/sampling.d.ts +0 -0
- /package/dist/{llm → external/llm}/sampling.js +0 -0
- /package/dist/{llm → external/llm}/types.d.ts +0 -0
- /package/dist/{reader/chunk-batch → external/llm}/types.js +0 -0
- /package/dist/{reader/chunk-batch → external/llm}/types.js.map +0 -0
- /package/dist/{wikimatch → external/wikimatch}/option-narrowing.js +0 -0
- /package/dist/{wikimatch → external/wikimatch}/range-suppression.d.ts +0 -0
- /package/dist/{wikimatch → external/wikimatch}/range-suppression.js +0 -0
- /package/dist/{reader/segment → external/wikimatch}/types.js +0 -0
- /package/dist/{reader/segment → external/wikimatch}/types.js.map +0 -0
- /package/dist/{wikimatch → external/wikimatch}/wikispine.js +0 -0
- /package/dist/{wikimatch → external/wikimatch}/window.js +0 -0
- /package/dist/{wikimatch → external/wikimatch}/words.d.ts +0 -0
- /package/dist/{wikimatch → external/wikimatch}/words.js +0 -0
- /package/dist/{wikipage → external/wikipage}/fetch-log.d.ts +0 -0
- /package/dist/{wikipage → external/wikipage}/rate-limiter.d.ts +0 -0
- /package/dist/{wikipage → external/wikipage}/rate-limiter.js +0 -0
- /package/dist/{reader → external/wikipage}/types.js +0 -0
- /package/dist/{reader → external/wikipage}/types.js.map +0 -0
- /package/dist/{source → graph/evidence-selection/anchor}/types.js +0 -0
- /package/dist/{source → graph/evidence-selection/anchor}/types.js.map +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/prompt.d.ts +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/prompt.js +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/quote-score.d.ts +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/quote-score.js +0 -0
- /package/dist/{evidence-selection/selection-resolver.d.ts → graph/evidence-selection/resolver.d.ts} +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/text.d.ts +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/text.js +0 -0
- /package/dist/{evidence-selection → graph/evidence-selection}/types.d.ts +0 -0
- /package/dist/{wikilink → graph/evidence-selection}/types.js +0 -0
- /package/dist/{wikilink → graph/evidence-selection}/types.js.map +0 -0
- /package/dist/{wikimatch → graph/knowledge-build}/types.js +0 -0
- /package/dist/{wikimatch → graph/knowledge-build}/types.js.map +0 -0
- /package/dist/{wikipage → graph/reading-build}/types.js +0 -0
- /package/dist/{wikipage → graph/reading-build}/types.js.map +0 -0
- /package/dist/{topology → graph/topology}/grouping.js +0 -0
- /package/dist/{topology → graph/topology}/resource-segmentation.js +0 -0
- /package/dist/{topology → graph/topology}/segment-incision.js +0 -0
- /package/dist/{evidence-selection/anchor-types.js.map → graph/topology/snake/types.js.map} +0 -0
- /package/dist/{wikilink → graph/wikilink}/index.js +0 -0
- /package/dist/{output/epub/model.js.map → graph/wikilink/types.js.map} +0 -0
- /package/dist/{wikilink → graph/wikilink}/window.js +0 -0
- /package/dist/{source/adapter.js.map → retrieval/query/archive-view/types.js.map} +0 -0
- /package/dist/{archive → retrieval}/query/lexical-search.d.ts +0 -0
- /package/dist/{archive → retrieval}/query/lexical-search.js +0 -0
- /package/dist/{archive/search-index/search-tokenizer.d.ts → retrieval/search-index/search/tokenizer.d.ts} +0 -0
- /package/dist/{common → runtime/common}/cli-command.d.ts +0 -0
- /package/dist/{common → runtime/common}/cli-command.js +0 -0
- /package/dist/{common → runtime/common}/data-dir.d.ts +0 -0
- /package/dist/{common → runtime/common}/language.d.ts +0 -0
- /package/dist/{common → runtime/common}/language.js +0 -0
- /package/dist/{common → runtime/common}/llm-scope.d.ts +0 -0
- /package/dist/{common → runtime/common}/llm-scope.js +0 -0
- /package/dist/{common → runtime/common}/logging.d.ts +0 -0
- /package/dist/{common → runtime/common}/logging.js +0 -0
- /package/dist/{common → runtime/common}/template.d.ts +0 -0
- /package/dist/{common → runtime/common}/template.js +0 -0
- /package/dist/{common → runtime/common}/tinyld-language.d.ts +0 -0
- /package/dist/{common → runtime/common}/tinyld-language.js +0 -0
- /package/dist/{common/wiki-graph-temp.d.ts → runtime/common/wiki-graph/temp.d.ts} +0 -0
- /package/dist/{context/task-context.d.ts → runtime/context/task.d.ts} +0 -0
- /package/dist/{gc → runtime/gc}/files.d.ts +0 -0
- /package/dist/{gc → runtime/gc}/index.d.ts +0 -0
- /package/dist/{gc → runtime/gc}/index.js +0 -0
- /package/dist/{gc → runtime/gc}/lock.d.ts +0 -0
- /package/dist/{gc → runtime/gc}/runner.d.ts +0 -0
- /package/dist/{gc/tmp-gc.d.ts → runtime/gc/temp.d.ts} +0 -0
- /package/dist/{gc → runtime/gc}/types.d.ts +0 -0
- /package/dist/{progress → runtime/progress}/index.d.ts +0 -0
- /package/dist/{progress → runtime/progress}/index.js +0 -0
- /package/dist/{progress → runtime/progress}/reporter.d.ts +0 -0
- /package/dist/{progress → runtime/progress}/reporter.js +0 -0
- /package/dist/{progress → runtime/progress}/tracker.d.ts +0 -0
- /package/dist/{progress → runtime/progress}/tracker.js +0 -0
- /package/dist/{progress → runtime/progress}/types.d.ts +0 -0
- /package/dist/{legacy-sdpub/upgrade.d.ts → storage/migration/legacy-sdpub/upgrade/index.d.ts} +0 -0
- /package/dist/{editor → text/editor}/clue.js +0 -0
- /package/dist/{editor → text/editor}/feedback.js +0 -0
- /package/dist/{editor → text/editor}/prompt-templates.d.ts +0 -0
- /package/dist/{editor → text/editor}/prompt-templates.js +0 -0
- /package/dist/{editor → text/editor}/response.d.ts +0 -0
- /package/dist/{editor → text/editor}/response.js +0 -0
- /package/dist/{editor → text/editor}/types.d.ts +0 -0
- /package/dist/{output → text/output}/epub/archive.d.ts +0 -0
- /package/dist/{output → text/output}/epub/archive.js +0 -0
- /package/dist/{output → text/output}/epub/book.js +0 -0
- /package/dist/{output → text/output}/epub/content.d.ts +0 -0
- /package/dist/{output → text/output}/epub/content.js +0 -0
- /package/dist/{output → text/output}/epub/index.js +0 -0
- /package/dist/{output → text/output}/epub/model.d.ts +0 -0
- /package/dist/{output → text/output}/epub/model.js +0 -0
- /package/dist/{output → text/output}/epub/navigation.d.ts +0 -0
- /package/dist/{output → text/output}/epub/navigation.js +0 -0
- /package/dist/{output → text/output}/epub/package.d.ts +0 -0
- /package/dist/{output → text/output}/epub/package.js +0 -0
- /package/dist/{output → text/output}/epub/shared.d.ts +0 -0
- /package/dist/{output → text/output}/epub/shared.js +0 -0
- /package/dist/{output → text/output}/epub/templates.d.ts +0 -0
- /package/dist/{output → text/output}/index.js +0 -0
- /package/dist/{output → text/output}/plain-text.js +0 -0
- /package/dist/{reader → text/reader}/attention/wave-reflection.js +0 -0
- /package/dist/{reader → text/reader}/attention/working-memory.js +0 -0
- /package/dist/{reader → text/reader}/chunk-batch/extract.js +0 -0
- /package/dist/{reader → text/reader}/chunk-batch/fragment-projection.js +0 -0
- /package/dist/{reader → text/reader}/chunk-batch/prompt-templates.d.ts +0 -0
- /package/dist/{reader → text/reader}/chunk-batch/prompt-templates.js +0 -0
- /package/dist/{reader/segment/segment.d.ts → text/reader/segment/core.d.ts} +0 -0
- /package/dist/{reader → text/reader}/segment/intl-segmenter.d.ts +0 -0
- /package/dist/{reader → text/reader}/segment/intl-segmenter.js +0 -0
- /package/dist/{reader → text/reader}/segment/types.d.ts +0 -0
- /package/dist/{source → text/source}/adapter.d.ts +0 -0
- /package/dist/{source → text/source}/adapter.js +0 -0
- /package/dist/{source → text/source}/epub/archive.d.ts +0 -0
- /package/dist/{source → text/source}/epub/archive.js +0 -0
- /package/dist/{source → text/source}/epub/content.d.ts +0 -0
- /package/dist/{source → text/source}/epub/content.js +0 -0
- /package/dist/{source → text/source}/epub/document.d.ts +0 -0
- /package/dist/{source → text/source}/epub/document.js +0 -0
- /package/dist/{source → text/source}/epub/index.d.ts +0 -0
- /package/dist/{source → text/source}/epub/index.js +0 -0
- /package/dist/{source → text/source}/epub/navigation.d.ts +0 -0
- /package/dist/{source → text/source}/epub/navigation.js +0 -0
- /package/dist/{source → text/source}/epub/package.d.ts +0 -0
- /package/dist/{source → text/source}/epub/package.js +0 -0
- /package/dist/{source → text/source}/epub/xml.d.ts +0 -0
- /package/dist/{source → text/source}/epub/xml.js +0 -0
- /package/dist/{source → text/source}/index.d.ts +0 -0
- /package/dist/{source → text/source}/index.js +0 -0
- /package/dist/{source → text/source}/meta.d.ts +0 -0
- /package/dist/{source → text/source}/meta.js +0 -0
- /package/dist/{source → text/source}/plain-text.d.ts +0 -0
- /package/dist/{source → text/source}/plain-text.js +0 -0
- /package/dist/{source → text/source}/types.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/external/wikipage/resolver.ts"],"sourcesContent":["import { WikipageCache } from \"./cache.js\";\nimport { createWikipageFetchLog } from \"./fetch-log.js\";\nimport { GuaranteedRequestFailureError } from \"../guaranteed/index.js\";\nimport {\n WikimediaClient,\n replaceTitleUriWithQidUri,\n type SupportedWiki,\n type WikiPageInfo,\n type WikidataEntityInfo,\n} from \"./wikimedia-client/index.js\";\nimport type {\n CachedDisambiguationRecord,\n CachedPageRecord,\n CachedQidRecord,\n DisambiguationExpansion,\n DisambiguationLinkedQid,\n DisambiguationPageText,\n DisambiguationProfileNormalizer,\n EnrichmentStore,\n QidResolution,\n WikiClient,\n WikipageResolveProgressReporter,\n WikipageResolverOptions,\n} from \"./types.js\";\n\nconst DEFAULT_CONCURRENCY = 3;\nconst DEFAULT_LANGUAGE = \"zh\";\nconst DEFAULT_MAX_BATCH_SIZE = 50;\nconst DEFAULT_MIN_REQUEST_INTERVAL_MS = 100;\nconst DEFAULT_RETRY_BASE_DELAY_MS = 1_000;\nconst DEFAULT_RETRY_TIMES = 3;\nconst DEFAULT_USER_AGENT =\n \"WikiGraph/0.3 (https://github.com/oomol-lab/wiki-graph)\";\nconst DISAMBIGUATION_PROFILE_ERROR_RETRY_DELAY_MS = 6 * 60 * 60 * 1_000;\n\nexport class WikipageResolver {\n readonly #client: WikiClient;\n readonly #maxBatchSize: number;\n readonly #language: string;\n readonly #normalizer: DisambiguationProfileNormalizer | undefined;\n readonly #ownsStore: boolean;\n readonly #progress: WikipageResolveProgressReporter | undefined;\n readonly #store: EnrichmentStore;\n readonly #wiki: string;\n\n public constructor(input: {\n readonly client: WikiClient;\n readonly language: string;\n readonly maxBatchSize: number;\n readonly normalizer: DisambiguationProfileNormalizer | undefined;\n readonly ownsStore?: boolean;\n readonly progress: WikipageResolveProgressReporter | undefined;\n readonly store: EnrichmentStore;\n readonly wiki: string;\n }) {\n this.#client = input.client;\n this.#language = input.language;\n this.#maxBatchSize = input.maxBatchSize;\n this.#normalizer = input.normalizer;\n this.#ownsStore = input.ownsStore ?? false;\n this.#progress = input.progress;\n this.#store = input.store;\n this.#wiki = input.wiki;\n }\n\n public static async open(\n options: WikipageResolverOptions = {},\n ): Promise<WikipageResolver> {\n const language = normalizeLanguage(options.language);\n const wiki = options.wiki ?? `${language}wiki`;\n const cache = await WikipageCache.open(options.cacheDatabasePath);\n\n return new WikipageResolver({\n client: new WikimediaClient({\n concurrency: options.concurrency ?? DEFAULT_CONCURRENCY,\n language,\n requestLog: createWikipageFetchLog(options.logDirPath),\n minRequestIntervalMs:\n options.minRequestIntervalMs ?? DEFAULT_MIN_REQUEST_INTERVAL_MS,\n retryBaseDelayMs:\n options.retryBaseDelayMs ?? DEFAULT_RETRY_BASE_DELAY_MS,\n retryTimes: options.retryTimes ?? DEFAULT_RETRY_TIMES,\n userAgent: options.userAgent ?? DEFAULT_USER_AGENT,\n wiki,\n ...(options.fetch === undefined ? {} : { fetch: options.fetch }),\n }),\n language,\n maxBatchSize: normalizeBatchSize(options.maxBatchSize),\n normalizer: options.normalizer,\n ownsStore: true,\n progress: options.progress,\n store: cache,\n wiki,\n });\n }\n\n public async close(): Promise<void> {\n if (this.#ownsStore && isClosableStore(this.#store)) {\n await this.#store.close();\n }\n }\n\n public async resolveQids(\n qids: readonly string[],\n ): Promise<readonly QidResolution[]> {\n const normalizedQids = normalizeQids(qids);\n const qidRecords = await this.#resolveQidRecords(normalizedQids);\n const disambiguationRecords = await this.#resolveDisambiguations(\n [...qidRecords.values()].filter(hasDisambiguationPage),\n );\n\n return normalizedQids.map((qid) => {\n const record = qidRecords.get(qid);\n\n if (record === undefined) {\n return {\n isDisambiguation: false,\n qid,\n };\n }\n\n const disambiguation = disambiguationRecords.get(qid);\n const disambiguationPages = disambiguation?.pages ?? [];\n const primarySitelink = pickPrimarySitelink(record.sitelinks, this.#wiki);\n\n return {\n ...(record.description === undefined\n ? {}\n : { description: record.description }),\n ...(disambiguation === undefined\n ? {}\n : { disambiguation: toDisambiguationExpansion(disambiguation) }),\n ...(disambiguationPages.length === 0 ? {} : { disambiguationPages }),\n isDisambiguation: disambiguationPages.length > 0,\n ...(record.label === undefined ? {} : { label: record.label }),\n qid,\n ...(primarySitelink === undefined ? {} : { sitelink: primarySitelink }),\n ...(record.sitelinks.length === 0\n ? {}\n : { sitelinks: record.sitelinks.map(toSitelink) }),\n };\n });\n }\n\n async #resolveQidRecords(\n qids: readonly string[],\n ): Promise<ReadonlyMap<string, CachedQidRecord>> {\n const cached = new Map(await this.#store.getQids(qids, this.#language));\n const missing = qids.filter((qid) => !cached.has(qid));\n let resolvedQids = cached.size;\n let resolvedEntities = 0;\n\n await this.#reportProgress(\"qid\", resolvedQids, qids.length);\n\n for (const batch of chunk(missing, this.#maxBatchSize)) {\n const entityInfos = await this.#client.getEntities(batch);\n resolvedEntities += batch.length;\n await this.#reportProgress(\"entity\", resolvedEntities, missing.length);\n const pageInfos = await this.#fetchPageInfos(entityInfos);\n const now = new Date().toISOString();\n const records = batch.map((qid) =>\n createQidRecord(qid, entityInfos.get(qid), pageInfos, now),\n );\n\n await this.#store.putQids(records, this.#language);\n for (const record of records) {\n cached.set(record.qid, record);\n }\n resolvedQids += batch.length;\n await this.#reportProgress(\"qid\", resolvedQids, qids.length);\n }\n\n return cached;\n }\n\n async #fetchPageInfos(\n entityInfos: ReadonlyMap<string, WikidataEntityInfo>,\n ): Promise<ReadonlyMap<string, WikiPageInfo>> {\n const results = new Map<string, WikiPageInfo>();\n const titlesByWiki = new Map<SupportedWiki, Set<string>>();\n\n for (const entity of entityInfos.values()) {\n for (const sitelink of entity.sitelinks) {\n const titles = titlesByWiki.get(sitelink.wiki) ?? new Set<string>();\n\n titles.add(sitelink.title);\n titlesByWiki.set(sitelink.wiki, titles);\n }\n }\n\n for (const [wiki, titles] of titlesByWiki) {\n for (const batch of chunk([...titles], this.#maxBatchSize)) {\n for (const [title, page] of await this.#client.getPagesByTitles(\n batch,\n wiki,\n )) {\n results.set(pageKey(wiki, title), page);\n }\n await this.#reportProgress(\n \"page\",\n results.size,\n countTitleSetItems(titlesByWiki),\n );\n }\n }\n\n return results;\n }\n\n async #resolveDisambiguations(\n records: readonly CachedQidRecord[],\n ): Promise<ReadonlyMap<string, CachedDisambiguationRecord>> {\n const qids = records.map((record) => record.qid);\n const cached = new Map(\n await this.#store.getDisambiguations(qids, this.#wiki),\n );\n const missing = records.filter((record) => !cached.has(record.qid));\n let resolvedPages = cached.size;\n\n await this.#reportProgress(\n \"disambiguation-page\",\n resolvedPages,\n qids.length,\n );\n\n for (const record of missing) {\n const expansion = await this.#expandDisambiguation(record);\n\n await this.#store.putDisambiguations([expansion], this.#wiki);\n cached.set(record.qid, expansion);\n resolvedPages += 1;\n await this.#reportProgress(\n \"disambiguation-page\",\n resolvedPages,\n qids.length,\n );\n }\n\n return cached;\n }\n\n async #expandDisambiguation(\n record: CachedQidRecord,\n ): Promise<CachedDisambiguationRecord> {\n const pages: DisambiguationPageText[] = [];\n\n for (const page of record.sitelinks.filter(\n (item) => item.isDisambiguation,\n )) {\n const parsedPage = await this.#client.parseDisambiguationPage(\n page.title,\n page.wiki,\n );\n const linkedPageInfos = new Map<string, WikiPageInfo>();\n\n for (const batch of chunk(parsedPage.linkedTitles, this.#maxBatchSize)) {\n for (const [title, linkedPage] of await this.#client.getPagesByTitles(\n batch,\n page.wiki,\n )) {\n linkedPageInfos.set(title, linkedPage);\n }\n await this.#reportProgress(\n \"linked-page\",\n linkedPageInfos.size,\n parsedPage.linkedTitles.length,\n );\n }\n\n const titleToQid = new Map<string, string>();\n const linkedQids: DisambiguationLinkedQid[] = [];\n\n for (const title of parsedPage.linkedTitles) {\n const qid = linkedPageInfos.get(title)?.wikibaseItem;\n\n if (qid === undefined) {\n continue;\n }\n\n titleToQid.set(title, qid);\n linkedQids.push({ qid, title });\n }\n\n pages.push({\n linkedQids,\n ...(parsedPage.pageId === undefined\n ? {}\n : { pageId: parsedPage.pageId }),\n text: replaceTitleUriWithQidUri(parsedPage.text, titleToQid),\n title: parsedPage.title,\n wiki: parsedPage.wiki,\n });\n }\n\n const linkedQids = mergeLinkedQids(pages);\n const profileResult = await this.#normalizeDisambiguationProfile(\n record,\n pages,\n linkedQids,\n );\n\n return {\n checkedAt: new Date().toISOString(),\n disambiguationQid: record.qid,\n pages,\n ...profileResult,\n };\n }\n\n async #normalizeDisambiguationProfile(\n record: CachedQidRecord,\n pages: readonly DisambiguationPageText[],\n linkedQids: readonly DisambiguationLinkedQid[],\n ): Promise<Pick<CachedDisambiguationRecord, \"profile\" | \"profileError\">> {\n if (this.#normalizer === undefined || linkedQids.length === 0) {\n return {};\n }\n\n try {\n return {\n profile: await this.#normalizer({\n pageQidLinks: linkedQids,\n pages,\n sourceQid: record.qid,\n ...(record.label === undefined ? {} : { surface: record.label }),\n }),\n };\n } catch (error) {\n if (!(error instanceof GuaranteedRequestFailureError)) {\n throw error;\n }\n\n const failedAt = new Date();\n const retryAfter = new Date(\n failedAt.getTime() + DISAMBIGUATION_PROFILE_ERROR_RETRY_DELAY_MS,\n );\n\n return {\n profileError: {\n failedAt: failedAt.toISOString(),\n message: error.message,\n retryAfter: retryAfter.toISOString(),\n },\n };\n }\n }\n\n async #reportProgress(\n detail: Parameters<WikipageResolveProgressReporter>[0][\"detail\"],\n done: number,\n total: number,\n ): Promise<void> {\n await this.#progress?.({\n detail,\n done: Math.min(Math.max(0, done), Math.max(0, total)),\n total: Math.max(0, total),\n });\n }\n}\n\nfunction createQidRecord(\n qid: string,\n entityInfo: WikidataEntityInfo | undefined,\n pageInfos: ReadonlyMap<string, WikiPageInfo>,\n now: string,\n): CachedQidRecord {\n return {\n checkedAt: now,\n ...(entityInfo?.description === undefined\n ? {}\n : { description: entityInfo.description }),\n ...(entityInfo?.label === undefined ? {} : { label: entityInfo.label }),\n qid,\n sitelinks:\n entityInfo?.sitelinks.flatMap((sitelink): CachedPageRecord[] => {\n const page = pageInfos.get(pageKey(sitelink.wiki, sitelink.title));\n\n if (page === undefined) {\n return [];\n }\n\n return [\n {\n isDisambiguation: page.isDisambiguation,\n ...(page.pageId === undefined ? {} : { pageId: page.pageId }),\n title: page.title,\n wiki: page.wiki,\n },\n ];\n }) ?? [],\n updatedAt: now,\n };\n}\n\nfunction toDisambiguationExpansion(\n record: CachedDisambiguationRecord,\n): DisambiguationExpansion {\n return {\n checkedAt: record.checkedAt,\n disambiguationQid: record.disambiguationQid,\n linkedQids: mergeLinkedQids(record.pages),\n pages: record.pages,\n ...(record.profile === undefined ? {} : { profile: record.profile }),\n };\n}\n\nfunction mergeLinkedQids(\n pages: readonly DisambiguationPageText[],\n): readonly DisambiguationLinkedQid[] {\n const results = new Map<string, DisambiguationLinkedQid>();\n\n for (const page of pages) {\n for (const item of page.linkedQids) {\n results.set(item.qid, item);\n }\n }\n\n return [...results.values()];\n}\n\nfunction countTitleSetItems(\n input: ReadonlyMap<SupportedWiki, Set<string>>,\n): number {\n let count = 0;\n\n for (const titles of input.values()) {\n count += titles.size;\n }\n\n return count;\n}\n\nfunction hasDisambiguationPage(record: CachedQidRecord): boolean {\n return record.sitelinks.some((page) => page.isDisambiguation);\n}\n\nfunction pickPrimarySitelink(\n pages: readonly CachedPageRecord[],\n wiki: string,\n): { readonly title: string; readonly wiki: string } | undefined {\n const preferred = pages.find((page) => page.wiki === wiki) ?? pages[0];\n\n return preferred === undefined ? undefined : toSitelink(preferred);\n}\n\nfunction toSitelink(page: CachedPageRecord): {\n readonly title: string;\n readonly wiki: string;\n} {\n return {\n title: page.title,\n wiki: page.wiki,\n };\n}\n\nfunction isClosableStore(\n store: EnrichmentStore,\n): store is EnrichmentStore & { readonly close: () => Promise<void> } {\n return \"close\" in store && typeof store.close === \"function\";\n}\n\nfunction pageKey(wiki: SupportedWiki, title: string): string {\n return `${wiki}:${title}`;\n}\n\nfunction normalizeQids(qids: readonly string[]): readonly string[] {\n return [\n ...new Set(\n qids\n .map((qid) => qid.trim().toUpperCase())\n .filter((qid) => /^Q[1-9]\\d*$/u.test(qid)),\n ),\n ];\n}\n\nfunction normalizeLanguage(value: string | undefined): string {\n const normalized = value?.trim().toLowerCase();\n\n if (normalized === \"en\" || normalized === \"zh\") {\n return normalized;\n }\n\n return DEFAULT_LANGUAGE;\n}\n\nfunction normalizeBatchSize(value: number | undefined): number {\n if (value === undefined || !Number.isFinite(value)) {\n return DEFAULT_MAX_BATCH_SIZE;\n }\n\n return Math.max(1, Math.floor(value));\n}\n\nfunction chunk<T>(items: readonly T[], size: number): readonly T[][] {\n const batches: T[][] = [];\n\n for (let index = 0; index < items.length; index += size) {\n batches.push(items.slice(index, index + size));\n }\n\n return batches;\n}\n"],"mappings":"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","names":["linkedQids"]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { WikidataEntityInfo, SupportedWiki, WikiPageInfo, ParsedDisambiguationPage } from './wikimedia-client/wiki.js';
|
|
2
|
+
import './fetch-log.js';
|
|
3
|
+
|
|
4
|
+
interface WikipageResolverOptions {
|
|
5
|
+
readonly cacheDatabasePath?: string;
|
|
6
|
+
readonly concurrency?: number;
|
|
7
|
+
readonly fetch?: typeof fetch;
|
|
8
|
+
readonly language?: string;
|
|
9
|
+
readonly logDirPath?: string;
|
|
10
|
+
readonly maxBatchSize?: number;
|
|
11
|
+
readonly minRequestIntervalMs?: number;
|
|
12
|
+
readonly normalizer?: DisambiguationProfileNormalizer;
|
|
13
|
+
readonly progress?: WikipageResolveProgressReporter;
|
|
14
|
+
readonly retryBaseDelayMs?: number;
|
|
15
|
+
readonly retryTimes?: number;
|
|
16
|
+
readonly userAgent?: string;
|
|
17
|
+
readonly wiki?: string;
|
|
18
|
+
}
|
|
19
|
+
interface WikiClient {
|
|
20
|
+
/** Runtime adapter for reading Wikimedia/Wikidata data; local CLI uses WikimediaClient. */
|
|
21
|
+
readonly getEntities: (qids: readonly string[]) => Promise<ReadonlyMap<string, WikidataEntityInfo>>;
|
|
22
|
+
readonly getPagesByTitles: (titles: readonly string[], wiki?: SupportedWiki) => Promise<ReadonlyMap<string, WikiPageInfo>>;
|
|
23
|
+
readonly parseDisambiguationPage: (title: string, wiki: SupportedWiki) => Promise<ParsedDisambiguationPage>;
|
|
24
|
+
}
|
|
25
|
+
interface EnrichmentStore {
|
|
26
|
+
/** Runtime adapter for enrichment cache reads and writes; local CLI uses WikipageCache. */
|
|
27
|
+
readonly getQids: (qids: readonly string[], language: string) => Promise<ReadonlyMap<string, CachedQidRecord>>;
|
|
28
|
+
readonly putQids: (records: readonly CachedQidRecord[], language: string) => Promise<void>;
|
|
29
|
+
readonly getDisambiguations: (qids: readonly string[], wiki: string) => Promise<ReadonlyMap<string, CachedDisambiguationRecord>>;
|
|
30
|
+
readonly putDisambiguations: (records: readonly CachedDisambiguationRecord[], wiki: string) => Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
type WikipageResolveProgressDetail = "disambiguation-page" | "entity" | "linked-page" | "page" | "qid";
|
|
33
|
+
interface WikipageResolveProgress {
|
|
34
|
+
readonly detail: WikipageResolveProgressDetail;
|
|
35
|
+
readonly done: number;
|
|
36
|
+
readonly total: number;
|
|
37
|
+
}
|
|
38
|
+
type WikipageResolveProgressReporter = (event: WikipageResolveProgress) => Promise<void> | void;
|
|
39
|
+
interface QidResolution {
|
|
40
|
+
readonly description?: string;
|
|
41
|
+
readonly disambiguation?: DisambiguationExpansion;
|
|
42
|
+
readonly disambiguationPages?: readonly DisambiguationPageText[];
|
|
43
|
+
readonly isDisambiguation: boolean;
|
|
44
|
+
readonly label?: string;
|
|
45
|
+
readonly qid: string;
|
|
46
|
+
readonly sitelink?: WikipageSitelink;
|
|
47
|
+
readonly sitelinks?: readonly WikipageSitelink[];
|
|
48
|
+
}
|
|
49
|
+
interface WikipageSitelink {
|
|
50
|
+
readonly title: string;
|
|
51
|
+
readonly wiki: string;
|
|
52
|
+
}
|
|
53
|
+
interface DisambiguationExpansion {
|
|
54
|
+
readonly checkedAt: string;
|
|
55
|
+
readonly disambiguationQid: string;
|
|
56
|
+
readonly linkedQids: readonly DisambiguationLinkedQid[];
|
|
57
|
+
readonly pages: readonly DisambiguationPageText[];
|
|
58
|
+
readonly profile?: DisambiguationProfile;
|
|
59
|
+
}
|
|
60
|
+
interface DisambiguationPageText {
|
|
61
|
+
readonly linkedQids: readonly DisambiguationLinkedQid[];
|
|
62
|
+
readonly pageId?: number;
|
|
63
|
+
readonly text: string;
|
|
64
|
+
readonly title: string;
|
|
65
|
+
readonly wiki: "enwiki" | "zhwiki";
|
|
66
|
+
}
|
|
67
|
+
interface DisambiguationLinkedQid {
|
|
68
|
+
readonly qid: string;
|
|
69
|
+
readonly title: string;
|
|
70
|
+
}
|
|
71
|
+
interface CachedQidRecord {
|
|
72
|
+
readonly checkedAt: string;
|
|
73
|
+
readonly description?: string;
|
|
74
|
+
readonly label?: string;
|
|
75
|
+
readonly qid: string;
|
|
76
|
+
readonly sitelinks: readonly CachedPageRecord[];
|
|
77
|
+
readonly updatedAt: string;
|
|
78
|
+
}
|
|
79
|
+
interface CachedDisambiguationRecord {
|
|
80
|
+
readonly checkedAt: string;
|
|
81
|
+
readonly disambiguationQid: string;
|
|
82
|
+
readonly pages: readonly DisambiguationPageText[];
|
|
83
|
+
readonly profileError?: DisambiguationProfileError;
|
|
84
|
+
readonly profile?: DisambiguationProfile;
|
|
85
|
+
}
|
|
86
|
+
interface DisambiguationProfileError {
|
|
87
|
+
readonly failedAt: string;
|
|
88
|
+
readonly message: string;
|
|
89
|
+
readonly retryAfter: string;
|
|
90
|
+
}
|
|
91
|
+
interface CachedPageRecord {
|
|
92
|
+
readonly isDisambiguation: boolean;
|
|
93
|
+
readonly pageId?: number;
|
|
94
|
+
readonly title: string;
|
|
95
|
+
readonly wiki: "enwiki" | "zhwiki";
|
|
96
|
+
}
|
|
97
|
+
type DisambiguationMeaningPriority = "other" | "primary" | "secondary";
|
|
98
|
+
interface DisambiguationProfile {
|
|
99
|
+
readonly meanings: readonly DisambiguationProfileMeaning[];
|
|
100
|
+
readonly sourceQid: string;
|
|
101
|
+
readonly surface?: string;
|
|
102
|
+
}
|
|
103
|
+
interface DisambiguationProfileMeaning {
|
|
104
|
+
readonly category?: string;
|
|
105
|
+
readonly information: string;
|
|
106
|
+
readonly name: string;
|
|
107
|
+
readonly priority: DisambiguationMeaningPriority;
|
|
108
|
+
readonly qid: string;
|
|
109
|
+
}
|
|
110
|
+
type DisambiguationProfileNormalizer = (input: DisambiguationProfileNormalizerInput) => Promise<DisambiguationProfile>;
|
|
111
|
+
interface DisambiguationProfileNormalizerInput {
|
|
112
|
+
readonly pageQidLinks: readonly DisambiguationLinkedQid[];
|
|
113
|
+
readonly pages: readonly DisambiguationPageText[];
|
|
114
|
+
readonly sourceQid: string;
|
|
115
|
+
readonly surface?: string;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export type { CachedDisambiguationRecord, CachedPageRecord, CachedQidRecord, DisambiguationExpansion, DisambiguationLinkedQid, DisambiguationMeaningPriority, DisambiguationPageText, DisambiguationProfile, DisambiguationProfileError, DisambiguationProfileMeaning, DisambiguationProfileNormalizer, DisambiguationProfileNormalizerInput, EnrichmentStore, QidResolution, WikiClient, WikipageResolveProgress, WikipageResolveProgressDetail, WikipageResolveProgressReporter, WikipageResolverOptions, WikipageSitelink };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WikiClient } from '../types.js';
|
|
2
|
+
import { WikimediaClientOptions, WikidataEntityInfo, SupportedWiki, WikiPageInfo, ParsedDisambiguationPage } from './wiki.js';
|
|
3
|
+
import '../fetch-log.js';
|
|
4
|
+
|
|
5
|
+
declare class WikimediaClient implements WikiClient {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(options: WikimediaClientOptions);
|
|
8
|
+
getEntities(qids: readonly string[]): Promise<ReadonlyMap<string, WikidataEntityInfo>>;
|
|
9
|
+
getPagesByTitles(titles: readonly string[], wiki?: SupportedWiki): Promise<ReadonlyMap<string, WikiPageInfo>>;
|
|
10
|
+
parseDisambiguationPage(title: string, wiki: SupportedWiki): Promise<ParsedDisambiguationPage>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { WikimediaClient };
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { getLogger } from "../../../runtime/common/logging.js";
|
|
2
|
+
import { formatError } from "../../../utils/node-error.js";
|
|
3
|
+
import { RateLimiter, parseRetryAfterMs } from "../rate-limiter.js";
|
|
4
|
+
import { renderDisambiguationHtml } from "./html.js";
|
|
5
|
+
import {
|
|
6
|
+
asArray,
|
|
7
|
+
asRecord,
|
|
8
|
+
getNestedString,
|
|
9
|
+
getNumber,
|
|
10
|
+
getString
|
|
11
|
+
} from "./json.js";
|
|
12
|
+
import {
|
|
13
|
+
delay,
|
|
14
|
+
getRetryDelayMs,
|
|
15
|
+
isRetryableError,
|
|
16
|
+
isTextResponse,
|
|
17
|
+
WikimediaRequestError
|
|
18
|
+
} from "./request.js";
|
|
19
|
+
import {
|
|
20
|
+
listWikidataLanguages,
|
|
21
|
+
normalizeWiki,
|
|
22
|
+
pickLocalizedValue,
|
|
23
|
+
SUPPORTED_WIKIS,
|
|
24
|
+
wikiApiBaseURL
|
|
25
|
+
} from "./wiki.js";
|
|
26
|
+
class WikimediaClient {
|
|
27
|
+
#fetch;
|
|
28
|
+
#language;
|
|
29
|
+
#limiter;
|
|
30
|
+
#requestLog;
|
|
31
|
+
#retryBaseDelayMs;
|
|
32
|
+
#retryTimes;
|
|
33
|
+
#userAgent;
|
|
34
|
+
#wiki;
|
|
35
|
+
constructor(options) {
|
|
36
|
+
this.#fetch = options.fetch ?? fetch;
|
|
37
|
+
this.#language = options.language;
|
|
38
|
+
this.#requestLog = options.requestLog;
|
|
39
|
+
this.#wiki = options.wiki;
|
|
40
|
+
this.#userAgent = options.userAgent;
|
|
41
|
+
this.#retryBaseDelayMs = Math.max(0, Math.floor(options.retryBaseDelayMs));
|
|
42
|
+
this.#retryTimes = Math.max(0, Math.floor(options.retryTimes));
|
|
43
|
+
this.#limiter = new RateLimiter({
|
|
44
|
+
concurrency: options.concurrency,
|
|
45
|
+
minRequestIntervalMs: options.minRequestIntervalMs
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async getEntities(qids) {
|
|
49
|
+
if (qids.length === 0) {
|
|
50
|
+
return /* @__PURE__ */ new Map();
|
|
51
|
+
}
|
|
52
|
+
const url = new URL("https://www.wikidata.org/w/api.php");
|
|
53
|
+
url.searchParams.set("action", "wbgetentities");
|
|
54
|
+
url.searchParams.set("ids", qids.join("|"));
|
|
55
|
+
url.searchParams.set("props", "labels|descriptions|sitelinks");
|
|
56
|
+
url.searchParams.set("languages", listWikidataLanguages(this.#language));
|
|
57
|
+
url.searchParams.set("sitefilter", SUPPORTED_WIKIS.join("|"));
|
|
58
|
+
url.searchParams.set("format", "json");
|
|
59
|
+
url.searchParams.set("formatversion", "2");
|
|
60
|
+
const json = await this.#fetchJson(url);
|
|
61
|
+
const entities = asRecord(json.entities);
|
|
62
|
+
const results = /* @__PURE__ */ new Map();
|
|
63
|
+
for (const qid of qids) {
|
|
64
|
+
const entity = asRecord(entities[qid]);
|
|
65
|
+
const labels = asRecord(entity.labels);
|
|
66
|
+
const descriptions = asRecord(entity.descriptions);
|
|
67
|
+
results.set(qid, {
|
|
68
|
+
...pickLocalizedValue(labels, this.#language) === void 0 ? {} : { label: pickLocalizedValue(labels, this.#language) },
|
|
69
|
+
...pickLocalizedValue(descriptions, this.#language) === void 0 ? {} : { description: pickLocalizedValue(descriptions, this.#language) },
|
|
70
|
+
qid,
|
|
71
|
+
sitelinks: SUPPORTED_WIKIS.flatMap((wiki) => {
|
|
72
|
+
const title = getNestedString(entity, ["sitelinks", wiki, "title"]);
|
|
73
|
+
return title === void 0 ? [] : [{ title, wiki }];
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return results;
|
|
78
|
+
}
|
|
79
|
+
async getPagesByTitles(titles, wiki = normalizeWiki(this.#wiki) ?? "enwiki") {
|
|
80
|
+
if (titles.length === 0) {
|
|
81
|
+
return /* @__PURE__ */ new Map();
|
|
82
|
+
}
|
|
83
|
+
const url = new URL(`${wikiApiBaseURL(wiki)}w/api.php`);
|
|
84
|
+
url.searchParams.set("action", "query");
|
|
85
|
+
url.searchParams.set("titles", titles.join("|"));
|
|
86
|
+
url.searchParams.set("prop", "pageprops");
|
|
87
|
+
url.searchParams.set("ppprop", "disambiguation|wikibase_item");
|
|
88
|
+
url.searchParams.set("format", "json");
|
|
89
|
+
url.searchParams.set("formatversion", "2");
|
|
90
|
+
const json = await this.#fetchJson(url);
|
|
91
|
+
const pages = asArray(asRecord(asRecord(json.query).pages));
|
|
92
|
+
const results = /* @__PURE__ */ new Map();
|
|
93
|
+
for (const pageValue of pages) {
|
|
94
|
+
const page = asRecord(pageValue);
|
|
95
|
+
const title = getString(page.title);
|
|
96
|
+
if (title === void 0) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
results.set(title, {
|
|
100
|
+
isDisambiguation: asRecord(page.pageprops).disambiguation !== void 0,
|
|
101
|
+
...getNumber(page.pageid) === void 0 ? {} : { pageId: getNumber(page.pageid) },
|
|
102
|
+
title,
|
|
103
|
+
wiki,
|
|
104
|
+
...getString(asRecord(page.pageprops).wikibase_item) === void 0 ? {} : {
|
|
105
|
+
wikibaseItem: getString(asRecord(page.pageprops).wikibase_item)
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return results;
|
|
110
|
+
}
|
|
111
|
+
async parseDisambiguationPage(title, wiki) {
|
|
112
|
+
const url = new URL(`${wikiApiBaseURL(wiki)}w/api.php`);
|
|
113
|
+
url.searchParams.set("action", "parse");
|
|
114
|
+
url.searchParams.set("page", title);
|
|
115
|
+
url.searchParams.set("prop", "text|properties");
|
|
116
|
+
url.searchParams.set("format", "json");
|
|
117
|
+
url.searchParams.set("formatversion", "2");
|
|
118
|
+
const json = await this.#fetchJson(url);
|
|
119
|
+
const parse = asRecord(json.parse);
|
|
120
|
+
const rendered = renderDisambiguationHtml(getNestedString(parse, ["text"]));
|
|
121
|
+
return {
|
|
122
|
+
linkedTitles: rendered.linkedTitles,
|
|
123
|
+
...getNumber(parse.pageid) === void 0 ? {} : { pageId: getNumber(parse.pageid) },
|
|
124
|
+
text: rendered.text,
|
|
125
|
+
title: getString(parse.title) ?? title,
|
|
126
|
+
wiki
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
async #fetchJson(url) {
|
|
130
|
+
let lastError;
|
|
131
|
+
for (let attempt = 0; attempt <= this.#retryTimes; attempt += 1) {
|
|
132
|
+
try {
|
|
133
|
+
return await this.#limiter.use(
|
|
134
|
+
async () => await this.#fetchJsonOnce(url, attempt + 1)
|
|
135
|
+
);
|
|
136
|
+
} catch (error) {
|
|
137
|
+
lastError = error;
|
|
138
|
+
if (!isRetryableError(error) || attempt >= this.#retryTimes) {
|
|
139
|
+
this.#requestLog.warnFailed();
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
await delay(getRetryDelayMs(error, attempt, this.#retryBaseDelayMs));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
throw lastError instanceof Error ? lastError : new Error(String(lastError));
|
|
146
|
+
}
|
|
147
|
+
async #fetchJsonOnce(url, attempt) {
|
|
148
|
+
const startedAt = Date.now();
|
|
149
|
+
let response;
|
|
150
|
+
try {
|
|
151
|
+
response = await this.#fetch(
|
|
152
|
+
url,
|
|
153
|
+
this.#userAgent === void 0 ? void 0 : {
|
|
154
|
+
headers: {
|
|
155
|
+
"User-Agent": this.#userAgent
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
} catch (error) {
|
|
160
|
+
await this.#appendFetchLog({
|
|
161
|
+
attempt,
|
|
162
|
+
durationMs: Date.now() - startedAt,
|
|
163
|
+
error,
|
|
164
|
+
startedAt,
|
|
165
|
+
url
|
|
166
|
+
});
|
|
167
|
+
throw error;
|
|
168
|
+
}
|
|
169
|
+
const retryAfterMs = parseRetryAfterMs(response.headers.get("retry-after"));
|
|
170
|
+
if (retryAfterMs !== void 0) {
|
|
171
|
+
this.#limiter.blockFor(retryAfterMs);
|
|
172
|
+
}
|
|
173
|
+
if (!response.ok) {
|
|
174
|
+
const responseText = isTextResponse(response) ? await response.text() : void 0;
|
|
175
|
+
await this.#appendFetchLog({
|
|
176
|
+
attempt,
|
|
177
|
+
durationMs: Date.now() - startedAt,
|
|
178
|
+
response,
|
|
179
|
+
...responseText === void 0 ? {} : { responseText },
|
|
180
|
+
startedAt,
|
|
181
|
+
url
|
|
182
|
+
});
|
|
183
|
+
throw new WikimediaRequestError(url, response.status, retryAfterMs);
|
|
184
|
+
}
|
|
185
|
+
await this.#appendFetchLog({
|
|
186
|
+
attempt,
|
|
187
|
+
durationMs: Date.now() - startedAt,
|
|
188
|
+
response,
|
|
189
|
+
startedAt,
|
|
190
|
+
url
|
|
191
|
+
});
|
|
192
|
+
return asRecord(await response.json());
|
|
193
|
+
}
|
|
194
|
+
async #appendFetchLog(entry) {
|
|
195
|
+
try {
|
|
196
|
+
await this.#requestLog.append(entry);
|
|
197
|
+
} catch (error) {
|
|
198
|
+
getLogger({ component: "wikipage" }).warn(
|
|
199
|
+
`Failed to write wikipage fetch log entry: ${formatError(error)}`
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
export {
|
|
205
|
+
WikimediaClient
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/external/wikipage/wikimedia-client/core.ts"],"sourcesContent":["import { getLogger } from \"../../../runtime/common/logging.js\";\nimport { formatError } from \"../../../utils/node-error.js\";\nimport type { WikipageFetchLog } from \"../fetch-log.js\";\nimport type { WikiClient } from \"../types.js\";\nimport { RateLimiter, parseRetryAfterMs } from \"../rate-limiter.js\";\nimport { renderDisambiguationHtml } from \"./html.js\";\nimport {\n asArray,\n asRecord,\n getNestedString,\n getNumber,\n getString,\n} from \"./json.js\";\nimport {\n delay,\n getRetryDelayMs,\n isRetryableError,\n isTextResponse,\n WikimediaRequestError,\n} from \"./request.js\";\nimport {\n listWikidataLanguages,\n type MediaWikiPage,\n normalizeWiki,\n pickLocalizedValue,\n SUPPORTED_WIKIS,\n type ParsedDisambiguationPage,\n type SupportedWiki,\n type WikidataEntityInfo,\n type WikimediaClientOptions,\n type WikiPageInfo,\n wikiApiBaseURL,\n} from \"./wiki.js\";\n\nexport class WikimediaClient implements WikiClient {\n readonly #fetch: typeof fetch;\n readonly #language: string;\n readonly #limiter: RateLimiter;\n readonly #requestLog: WikipageFetchLog;\n readonly #retryBaseDelayMs: number;\n readonly #retryTimes: number;\n readonly #userAgent: string | undefined;\n readonly #wiki: string;\n\n public constructor(options: WikimediaClientOptions) {\n this.#fetch = options.fetch ?? fetch;\n this.#language = options.language;\n this.#requestLog = options.requestLog;\n this.#wiki = options.wiki;\n this.#userAgent = options.userAgent;\n this.#retryBaseDelayMs = Math.max(0, Math.floor(options.retryBaseDelayMs));\n this.#retryTimes = Math.max(0, Math.floor(options.retryTimes));\n this.#limiter = new RateLimiter({\n concurrency: options.concurrency,\n minRequestIntervalMs: options.minRequestIntervalMs,\n });\n }\n\n public async getEntities(\n qids: readonly string[],\n ): Promise<ReadonlyMap<string, WikidataEntityInfo>> {\n if (qids.length === 0) {\n return new Map();\n }\n\n const url = new URL(\"https://www.wikidata.org/w/api.php\");\n url.searchParams.set(\"action\", \"wbgetentities\");\n url.searchParams.set(\"ids\", qids.join(\"|\"));\n url.searchParams.set(\"props\", \"labels|descriptions|sitelinks\");\n url.searchParams.set(\"languages\", listWikidataLanguages(this.#language));\n url.searchParams.set(\"sitefilter\", SUPPORTED_WIKIS.join(\"|\"));\n url.searchParams.set(\"format\", \"json\");\n url.searchParams.set(\"formatversion\", \"2\");\n\n const json = await this.#fetchJson(url);\n const entities = asRecord(json.entities);\n const results = new Map<string, WikidataEntityInfo>();\n\n for (const qid of qids) {\n const entity = asRecord(entities[qid]);\n const labels = asRecord(entity.labels);\n const descriptions = asRecord(entity.descriptions);\n\n results.set(qid, {\n ...(pickLocalizedValue(labels, this.#language) === undefined\n ? {}\n : { label: pickLocalizedValue(labels, this.#language)! }),\n ...(pickLocalizedValue(descriptions, this.#language) === undefined\n ? {}\n : { description: pickLocalizedValue(descriptions, this.#language)! }),\n qid,\n sitelinks: SUPPORTED_WIKIS.flatMap((wiki) => {\n const title = getNestedString(entity, [\"sitelinks\", wiki, \"title\"]);\n\n return title === undefined ? [] : [{ title, wiki }];\n }),\n });\n }\n\n return results;\n }\n\n public async getPagesByTitles(\n titles: readonly string[],\n wiki: SupportedWiki = normalizeWiki(this.#wiki) ?? \"enwiki\",\n ): Promise<ReadonlyMap<string, WikiPageInfo>> {\n if (titles.length === 0) {\n return new Map();\n }\n\n const url = new URL(`${wikiApiBaseURL(wiki)}w/api.php`);\n url.searchParams.set(\"action\", \"query\");\n url.searchParams.set(\"titles\", titles.join(\"|\"));\n url.searchParams.set(\"prop\", \"pageprops\");\n url.searchParams.set(\"ppprop\", \"disambiguation|wikibase_item\");\n url.searchParams.set(\"format\", \"json\");\n url.searchParams.set(\"formatversion\", \"2\");\n\n const json = await this.#fetchJson(url);\n const pages = asArray(asRecord(asRecord(json.query).pages));\n const results = new Map<string, WikiPageInfo>();\n\n for (const pageValue of pages) {\n const page = asRecord(pageValue) as MediaWikiPage;\n const title = getString(page.title);\n\n if (title === undefined) {\n continue;\n }\n\n results.set(title, {\n isDisambiguation: asRecord(page.pageprops).disambiguation !== undefined,\n ...(getNumber(page.pageid) === undefined\n ? {}\n : { pageId: getNumber(page.pageid)! }),\n title,\n wiki,\n ...(getString(asRecord(page.pageprops).wikibase_item) === undefined\n ? {}\n : {\n wikibaseItem: getString(asRecord(page.pageprops).wikibase_item)!,\n }),\n });\n }\n\n return results;\n }\n\n public async parseDisambiguationPage(\n title: string,\n wiki: SupportedWiki,\n ): Promise<ParsedDisambiguationPage> {\n const url = new URL(`${wikiApiBaseURL(wiki)}w/api.php`);\n url.searchParams.set(\"action\", \"parse\");\n url.searchParams.set(\"page\", title);\n url.searchParams.set(\"prop\", \"text|properties\");\n url.searchParams.set(\"format\", \"json\");\n url.searchParams.set(\"formatversion\", \"2\");\n\n const json = await this.#fetchJson(url);\n const parse = asRecord(json.parse);\n const rendered = renderDisambiguationHtml(getNestedString(parse, [\"text\"]));\n\n return {\n linkedTitles: rendered.linkedTitles,\n ...(getNumber(parse.pageid) === undefined\n ? {}\n : { pageId: getNumber(parse.pageid)! }),\n text: rendered.text,\n title: getString(parse.title) ?? title,\n wiki,\n };\n }\n\n async #fetchJson(url: URL): Promise<Record<string, unknown>> {\n let lastError: unknown;\n\n for (let attempt = 0; attempt <= this.#retryTimes; attempt += 1) {\n try {\n return await this.#limiter.use(\n async () => await this.#fetchJsonOnce(url, attempt + 1),\n );\n } catch (error) {\n lastError = error;\n\n if (!isRetryableError(error) || attempt >= this.#retryTimes) {\n this.#requestLog.warnFailed();\n throw error;\n }\n\n await delay(getRetryDelayMs(error, attempt, this.#retryBaseDelayMs));\n }\n }\n\n throw lastError instanceof Error ? lastError : new Error(String(lastError));\n }\n\n async #fetchJsonOnce(\n url: URL,\n attempt: number,\n ): Promise<Record<string, unknown>> {\n const startedAt = Date.now();\n let response: Response;\n\n try {\n response = await this.#fetch(\n url,\n this.#userAgent === undefined\n ? undefined\n : {\n headers: {\n \"User-Agent\": this.#userAgent,\n },\n },\n );\n } catch (error) {\n await this.#appendFetchLog({\n attempt,\n durationMs: Date.now() - startedAt,\n error,\n startedAt,\n url,\n });\n throw error;\n }\n\n const retryAfterMs = parseRetryAfterMs(response.headers.get(\"retry-after\"));\n\n if (retryAfterMs !== undefined) {\n this.#limiter.blockFor(retryAfterMs);\n }\n if (!response.ok) {\n const responseText = isTextResponse(response)\n ? await response.text()\n : undefined;\n\n await this.#appendFetchLog({\n attempt,\n durationMs: Date.now() - startedAt,\n response,\n ...(responseText === undefined ? {} : { responseText }),\n startedAt,\n url,\n });\n throw new WikimediaRequestError(url, response.status, retryAfterMs);\n }\n\n await this.#appendFetchLog({\n attempt,\n durationMs: Date.now() - startedAt,\n response,\n startedAt,\n url,\n });\n\n return asRecord(await response.json());\n }\n\n async #appendFetchLog(\n entry: Parameters<WikipageFetchLog[\"append\"]>[0],\n ): Promise<void> {\n try {\n await this.#requestLog.append(entry);\n } catch (error) {\n getLogger({ component: \"wikipage\" }).warn(\n `Failed to write wikipage fetch log entry: ${formatError(error)}`,\n );\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare function replaceTitleUriWithQidUri(text: string, titleToQid: ReadonlyMap<string, string>): string;
|
|
2
|
+
declare function renderDisambiguationHtml(html: string | undefined): {
|
|
3
|
+
readonly linkedTitles: readonly string[];
|
|
4
|
+
readonly text: string;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export { renderDisambiguationHtml, replaceTitleUriWithQidUri };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { DomUtils, parseDocument } from "htmlparser2";
|
|
2
|
+
import { asRecord, getString } from "./json.js";
|
|
3
|
+
const TITLE_URI_PREFIX = "wikigraph-title://";
|
|
4
|
+
function replaceTitleUriWithQidUri(text, titleToQid) {
|
|
5
|
+
return text.replace(
|
|
6
|
+
/\[\[([^\]|]+)\|wikigraph-title:\/\/([^\]\s]+)\]\]/gu,
|
|
7
|
+
(_match, label, encodedTitle) => {
|
|
8
|
+
const title = decodeURIComponent(encodedTitle);
|
|
9
|
+
const qid = titleToQid.get(title);
|
|
10
|
+
return qid === void 0 ? label : `[[${label}|wikg://qid=${qid}]]`;
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
function renderDisambiguationHtml(html) {
|
|
15
|
+
if (html === void 0 || html.trim() === "") {
|
|
16
|
+
return {
|
|
17
|
+
linkedTitles: [],
|
|
18
|
+
text: ""
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const linkedTitles = /* @__PURE__ */ new Set();
|
|
22
|
+
const document = parseDocument(html);
|
|
23
|
+
const text = renderNodes(DomUtils.getChildren(document), {
|
|
24
|
+
linkedTitles,
|
|
25
|
+
listDepth: 0
|
|
26
|
+
}).replace(/[ \t]+\n/gu, "\n").replace(/\n{3,}/gu, "\n\n").trim();
|
|
27
|
+
return {
|
|
28
|
+
linkedTitles: [...linkedTitles],
|
|
29
|
+
text
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function renderNodes(nodes, context) {
|
|
33
|
+
return nodes.map((node) => renderNode(node, context)).join("");
|
|
34
|
+
}
|
|
35
|
+
function renderNode(node, context) {
|
|
36
|
+
const record = asRecord(node);
|
|
37
|
+
const nodeType = getString(record.type);
|
|
38
|
+
if (nodeType === "text") {
|
|
39
|
+
return normalizeInlineText(getString(record.data) ?? "");
|
|
40
|
+
}
|
|
41
|
+
if (nodeType !== "tag" && nodeType !== "script" && nodeType !== "style") {
|
|
42
|
+
return "";
|
|
43
|
+
}
|
|
44
|
+
const element = node;
|
|
45
|
+
if (shouldSkipElement(element)) {
|
|
46
|
+
return "";
|
|
47
|
+
}
|
|
48
|
+
const name = element.name.toLowerCase();
|
|
49
|
+
if (name === "a") {
|
|
50
|
+
return renderLink(element, context);
|
|
51
|
+
}
|
|
52
|
+
if (/^h[1-6]$/u.test(name)) {
|
|
53
|
+
const level = Math.min(6, Math.max(1, Number(name.slice(1))));
|
|
54
|
+
const marker = "=".repeat(level);
|
|
55
|
+
const heading = renderNodes(element.children ?? [], context).trim();
|
|
56
|
+
return heading === "" ? "" : `
|
|
57
|
+
${marker} ${heading} ${marker}
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
if (name === "li") {
|
|
61
|
+
const indent = " ".repeat(Math.max(0, context.listDepth - 1));
|
|
62
|
+
const content = renderNodes(element.children ?? [], {
|
|
63
|
+
...context,
|
|
64
|
+
listDepth: context.listDepth + 1
|
|
65
|
+
}).trim();
|
|
66
|
+
return content === "" ? "" : `
|
|
67
|
+
${indent}* ${content}`;
|
|
68
|
+
}
|
|
69
|
+
if (name === "ul" || name === "ol") {
|
|
70
|
+
return `${renderNodes(element.children ?? [], context)}
|
|
71
|
+
`;
|
|
72
|
+
}
|
|
73
|
+
if (isBlockElement(name)) {
|
|
74
|
+
const content = renderNodes(element.children ?? [], context).trim();
|
|
75
|
+
return content === "" ? "" : `
|
|
76
|
+
${content}
|
|
77
|
+
`;
|
|
78
|
+
}
|
|
79
|
+
return renderNodes(element.children ?? [], context);
|
|
80
|
+
}
|
|
81
|
+
function renderLink(node, context) {
|
|
82
|
+
const content = renderNodes(node.children ?? [], context).trim();
|
|
83
|
+
const title = extractWikiLinkTitle(node);
|
|
84
|
+
if (title === void 0) {
|
|
85
|
+
return content;
|
|
86
|
+
}
|
|
87
|
+
context.linkedTitles.add(title);
|
|
88
|
+
return `[[${content === "" ? title : content}|${TITLE_URI_PREFIX}${encodeURIComponent(title)}]]`;
|
|
89
|
+
}
|
|
90
|
+
function extractWikiLinkTitle(node) {
|
|
91
|
+
const title = node.attribs.title;
|
|
92
|
+
const href = node.attribs.href;
|
|
93
|
+
if (title !== void 0 && title !== "" && !title.includes(":")) {
|
|
94
|
+
return title;
|
|
95
|
+
}
|
|
96
|
+
if (href === void 0 || !href.startsWith("/wiki/")) {
|
|
97
|
+
return void 0;
|
|
98
|
+
}
|
|
99
|
+
const decoded = decodeURIComponent(href.slice("/wiki/".length)).replaceAll(
|
|
100
|
+
"_",
|
|
101
|
+
" "
|
|
102
|
+
);
|
|
103
|
+
return decoded === "" || decoded.includes(":") ? void 0 : decoded;
|
|
104
|
+
}
|
|
105
|
+
function shouldSkipElement(node) {
|
|
106
|
+
const name = node.name.toLowerCase();
|
|
107
|
+
if (["script", "style", "table", "sup"].includes(name)) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
const className = node.attribs.class ?? "";
|
|
111
|
+
return [
|
|
112
|
+
"catlinks",
|
|
113
|
+
"metadata",
|
|
114
|
+
"mw-editsection",
|
|
115
|
+
"mw-empty-elt",
|
|
116
|
+
"navbox",
|
|
117
|
+
"noprint",
|
|
118
|
+
"reference",
|
|
119
|
+
"reflist",
|
|
120
|
+
"shortdescription",
|
|
121
|
+
"toc"
|
|
122
|
+
].some((item) => className.split(/\s+/u).includes(item));
|
|
123
|
+
}
|
|
124
|
+
function isBlockElement(name) {
|
|
125
|
+
return ["blockquote", "br", "dd", "div", "dl", "dt", "p", "section"].includes(
|
|
126
|
+
name
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
function normalizeInlineText(value) {
|
|
130
|
+
return value.replace(/\s+/gu, " ");
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
renderDisambiguationHtml,
|
|
134
|
+
replaceTitleUriWithQidUri
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/external/wikipage/wikimedia-client/html.ts"],"sourcesContent":["import { DomUtils, parseDocument } from \"htmlparser2\";\n\nimport { asRecord, getString } from \"./json.js\";\n\nconst TITLE_URI_PREFIX = \"wikigraph-title://\";\n\ninterface HtmlElement {\n readonly attribs: Record<string, string | undefined>;\n readonly children?: readonly unknown[];\n readonly name: string;\n}\n\nexport function replaceTitleUriWithQidUri(\n text: string,\n titleToQid: ReadonlyMap<string, string>,\n): string {\n return text.replace(\n /\\[\\[([^\\]|]+)\\|wikigraph-title:\\/\\/([^\\]\\s]+)\\]\\]/gu,\n (_match: string, label: string, encodedTitle: string) => {\n const title = decodeURIComponent(encodedTitle);\n const qid = titleToQid.get(title);\n\n return qid === undefined ? label : `[[${label}|wikg://qid=${qid}]]`;\n },\n );\n}\n\nexport function renderDisambiguationHtml(html: string | undefined): {\n readonly linkedTitles: readonly string[];\n readonly text: string;\n} {\n if (html === undefined || html.trim() === \"\") {\n return {\n linkedTitles: [],\n text: \"\",\n };\n }\n\n const linkedTitles = new Set<string>();\n const document = parseDocument(html);\n const text = renderNodes(DomUtils.getChildren(document), {\n linkedTitles,\n listDepth: 0,\n })\n .replace(/[ \\t]+\\n/gu, \"\\n\")\n .replace(/\\n{3,}/gu, \"\\n\\n\")\n .trim();\n\n return {\n linkedTitles: [...linkedTitles],\n text,\n };\n}\n\nfunction renderNodes(\n nodes: readonly unknown[],\n context: {\n readonly linkedTitles: Set<string>;\n readonly listDepth: number;\n },\n): string {\n return nodes.map((node) => renderNode(node, context)).join(\"\");\n}\n\nfunction renderNode(\n node: unknown,\n context: {\n readonly linkedTitles: Set<string>;\n readonly listDepth: number;\n },\n): string {\n const record = asRecord(node);\n const nodeType = getString(record.type);\n\n if (nodeType === \"text\") {\n return normalizeInlineText(getString(record.data) ?? \"\");\n }\n if (nodeType !== \"tag\" && nodeType !== \"script\" && nodeType !== \"style\") {\n return \"\";\n }\n\n const element = node as HtmlElement;\n if (shouldSkipElement(element)) {\n return \"\";\n }\n\n const name = element.name.toLowerCase();\n\n if (name === \"a\") {\n return renderLink(element, context);\n }\n if (/^h[1-6]$/u.test(name)) {\n const level = Math.min(6, Math.max(1, Number(name.slice(1))));\n const marker = \"=\".repeat(level);\n const heading = renderNodes(element.children ?? [], context).trim();\n\n return heading === \"\" ? \"\" : `\\n${marker} ${heading} ${marker}\\n`;\n }\n if (name === \"li\") {\n const indent = \" \".repeat(Math.max(0, context.listDepth - 1));\n const content = renderNodes(element.children ?? [], {\n ...context,\n listDepth: context.listDepth + 1,\n }).trim();\n\n return content === \"\" ? \"\" : `\\n${indent}* ${content}`;\n }\n if (name === \"ul\" || name === \"ol\") {\n return `${renderNodes(element.children ?? [], context)}\\n`;\n }\n if (isBlockElement(name)) {\n const content = renderNodes(element.children ?? [], context).trim();\n\n return content === \"\" ? \"\" : `\\n${content}\\n`;\n }\n\n return renderNodes(element.children ?? [], context);\n}\n\nfunction renderLink(\n node: HtmlElement,\n context: {\n readonly linkedTitles: Set<string>;\n readonly listDepth: number;\n },\n): string {\n const content = renderNodes(node.children ?? [], context).trim();\n const title = extractWikiLinkTitle(node);\n\n if (title === undefined) {\n return content;\n }\n\n context.linkedTitles.add(title);\n\n return `[[${content === \"\" ? title : content}|${TITLE_URI_PREFIX}${encodeURIComponent(title)}]]`;\n}\n\nfunction extractWikiLinkTitle(node: HtmlElement): string | undefined {\n const title = node.attribs.title;\n const href = node.attribs.href;\n\n if (title !== undefined && title !== \"\" && !title.includes(\":\")) {\n return title;\n }\n if (href === undefined || !href.startsWith(\"/wiki/\")) {\n return undefined;\n }\n\n const decoded = decodeURIComponent(href.slice(\"/wiki/\".length)).replaceAll(\n \"_\",\n \" \",\n );\n\n return decoded === \"\" || decoded.includes(\":\") ? undefined : decoded;\n}\n\nfunction shouldSkipElement(node: HtmlElement): boolean {\n const name = node.name.toLowerCase();\n\n if ([\"script\", \"style\", \"table\", \"sup\"].includes(name)) {\n return true;\n }\n\n const className = node.attribs.class ?? \"\";\n\n return [\n \"catlinks\",\n \"metadata\",\n \"mw-editsection\",\n \"mw-empty-elt\",\n \"navbox\",\n \"noprint\",\n \"reference\",\n \"reflist\",\n \"shortdescription\",\n \"toc\",\n ].some((item) => className.split(/\\s+/u).includes(item));\n}\n\nfunction isBlockElement(name: string): boolean {\n return [\"blockquote\", \"br\", \"dd\", \"div\", \"dl\", \"dt\", \"p\", \"section\"].includes(\n name,\n );\n}\n\nfunction normalizeInlineText(value: string): string {\n return value.replace(/\\s+/gu, \" \");\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { WikimediaClient } from './core.js';
|
|
2
|
+
export { renderDisambiguationHtml, replaceTitleUriWithQidUri } from './html.js';
|
|
3
|
+
export { MediaWikiPage, ParsedDisambiguationPage, SUPPORTED_WIKIS, SupportedWiki, WikiPageInfo, WikidataEntityInfo, WikidataSitelinkInfo, WikimediaClientOptions, listWikidataLanguages, normalizeWiki, pickLocalizedValue, wikiApiBaseURL } from './wiki.js';
|
|
4
|
+
import '../types.js';
|
|
5
|
+
import '../fetch-log.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/external/wikipage/wikimedia-client/index.ts"],"sourcesContent":["export * from \"./core.js\";\nexport * from \"./html.js\";\nexport * from \"./wiki.js\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare function asRecord(value: unknown): Record<string, unknown>;
|
|
2
|
+
declare function asArray(value: unknown): readonly unknown[];
|
|
3
|
+
declare function getString(value: unknown): string | undefined;
|
|
4
|
+
declare function getNumber(value: unknown): number | undefined;
|
|
5
|
+
declare function getNestedString(value: Record<string, unknown>, path: readonly string[]): string | undefined;
|
|
6
|
+
|
|
7
|
+
export { asArray, asRecord, getNestedString, getNumber, getString };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function asRecord(value) {
|
|
2
|
+
return typeof value === "object" && value !== null ? value : {};
|
|
3
|
+
}
|
|
4
|
+
function asArray(value) {
|
|
5
|
+
return Array.isArray(value) ? value : [];
|
|
6
|
+
}
|
|
7
|
+
function getString(value) {
|
|
8
|
+
return typeof value === "string" && value !== "" ? value : void 0;
|
|
9
|
+
}
|
|
10
|
+
function getNumber(value) {
|
|
11
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
12
|
+
}
|
|
13
|
+
function getNestedString(value, path) {
|
|
14
|
+
let current = value;
|
|
15
|
+
for (const part of path) {
|
|
16
|
+
current = asRecord(current)[part];
|
|
17
|
+
}
|
|
18
|
+
return getString(current);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
asArray,
|
|
22
|
+
asRecord,
|
|
23
|
+
getNestedString,
|
|
24
|
+
getNumber,
|
|
25
|
+
getString
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/external/wikipage/wikimedia-client/json.ts"],"sourcesContent":["export function asRecord(value: unknown): Record<string, unknown> {\n return typeof value === \"object\" && value !== null\n ? (value as Record<string, unknown>)\n : {};\n}\n\nexport function asArray(value: unknown): readonly unknown[] {\n return Array.isArray(value) ? value : [];\n}\n\nexport function getString(value: unknown): string | undefined {\n return typeof value === \"string\" && value !== \"\" ? value : undefined;\n}\n\nexport function getNumber(value: unknown): number | undefined {\n return typeof value === \"number\" && Number.isFinite(value)\n ? value\n : undefined;\n}\n\nexport function getNestedString(\n value: Record<string, unknown>,\n path: readonly string[],\n): string | undefined {\n let current: unknown = value;\n\n for (const part of path) {\n current = asRecord(current)[part];\n }\n\n return getString(current);\n}\n"],"mappings":"AAAO,SAAS,SAAS,OAAyC;AAChE,SAAO,OAAO,UAAU,YAAY,UAAU,OACzC,QACD,CAAC;AACP;AAEO,SAAS,QAAQ,OAAoC;AAC1D,SAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC;AACzC;AAEO,SAAS,UAAU,OAAoC;AAC5D,SAAO,OAAO,UAAU,YAAY,UAAU,KAAK,QAAQ;AAC7D;AAEO,SAAS,UAAU,OAAoC;AAC5D,SAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IACrD,QACA;AACN;AAEO,SAAS,gBACd,OACA,MACoB;AACpB,MAAI,UAAmB;AAEvB,aAAW,QAAQ,MAAM;AACvB,cAAU,SAAS,OAAO,EAAE,IAAI;AAAA,EAClC;AAEA,SAAO,UAAU,OAAO;AAC1B;","names":[]}
|