wiki-graph-core 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/data/editor/clue_reviewer.jinja +410 -0
- package/data/editor/clue_reviewer_generator.jinja +428 -0
- package/data/editor/revision_feedback.jinja +5 -0
- package/data/editor/text_compressor.jinja +127 -0
- package/data/guaranteed/response_intent_classifier.jinja +8 -0
- package/data/help/commands/archive/next.jinja +29 -0
- package/data/help/commands/gc.jinja +38 -0
- package/data/help/commands/legacy/migrate.jinja +20 -0
- package/data/help/commands/legacy.jinja +19 -0
- package/data/help/commands/maintenance/chapter/add.jinja +41 -0
- package/data/help/commands/maintenance/chapter/list.jinja +33 -0
- package/data/help/commands/maintenance/chapter/move.jinja +36 -0
- package/data/help/commands/maintenance/chapter/remove.jinja +26 -0
- package/data/help/commands/maintenance/chapter/reset.jinja +29 -0
- package/data/help/commands/maintenance/chapter/set-source.jinja +34 -0
- package/data/help/commands/maintenance/chapter/set-summary.jinja +31 -0
- package/data/help/commands/maintenance/chapter/set-title.jinja +29 -0
- package/data/help/commands/maintenance/chapter/tree.jinja +58 -0
- package/data/help/commands/maintenance/chapter.jinja +59 -0
- package/data/help/commands/maintenance/cover.jinja +28 -0
- package/data/help/commands/maintenance/meta.jinja +55 -0
- package/data/help/commands/predicate.jinja +460 -0
- package/data/help/commands/root.jinja +83 -0
- package/data/help/commands/transform.jinja +34 -0
- package/data/help/commands/uri.jinja +274 -0
- package/data/help/topics/config.jinja +88 -0
- package/data/help/topics/format.jinja +72 -0
- package/data/help/topics/readiness.jinja +99 -0
- package/data/help/topics/recipe.jinja +151 -0
- package/data/help/topics/runtime.jinja +62 -0
- package/data/help/topics/uri.jinja +178 -0
- package/data/output/epub/cover.xhtml.jinja +13 -0
- package/data/output/epub/nav.xhtml.jinja +12 -0
- package/data/output/epub/package.opf.xml.jinja +39 -0
- package/data/output/epub/section.xhtml.jinja +12 -0
- package/data/topologization/book_coherence_extraction.jinja +223 -0
- package/data/topologization/chunk_extraction.jinja +233 -0
- package/data/topologization/evidence_choice.jinja +38 -0
- package/data/topologization/translate_chunks.jinja +138 -0
- package/data/topologization/user_focused_extraction.jinja +378 -0
- package/dist/archive/query/archive-view.d.ts +26 -0
- package/dist/archive/query/archive-view.js +4540 -0
- package/dist/archive/query/archive-view.js.map +1 -0
- package/dist/archive/query/continuation-cursor.d.ts +61 -0
- package/dist/archive/query/continuation-cursor.js +363 -0
- package/dist/archive/query/continuation-cursor.js.map +1 -0
- package/dist/archive/query/index.d.ts +29 -0
- package/dist/archive/query/index.js +63 -0
- package/dist/archive/query/index.js.map +1 -0
- package/dist/archive/query/lexical-search.d.ts +22 -0
- package/dist/archive/query/lexical-search.js +137 -0
- package/dist/archive/query/lexical-search.js.map +1 -0
- package/dist/archive/query/search-cache.d.ts +192 -0
- package/dist/archive/query/search-cache.js +1248 -0
- package/dist/archive/query/search-cache.js.map +1 -0
- package/dist/archive/search-index/index.d.ts +26 -0
- package/dist/archive/search-index/index.js +29 -0
- package/dist/archive/search-index/index.js.map +1 -0
- package/dist/archive/search-index/search-index.d.ts +26 -0
- package/dist/archive/search-index/search-index.js +555 -0
- package/dist/archive/search-index/search-index.js.map +1 -0
- package/dist/archive/search-index/search-tokenizer.d.ts +16 -0
- package/dist/archive/search-index/search-tokenizer.js +225 -0
- package/dist/archive/search-index/search-tokenizer.js.map +1 -0
- package/dist/common/cli-command.d.ts +4 -0
- package/dist/common/cli-command.js +7 -0
- package/dist/common/cli-command.js.map +1 -0
- package/dist/common/data-dir.d.ts +3 -0
- package/dist/common/data-dir.js +48 -0
- package/dist/common/data-dir.js.map +1 -0
- package/dist/common/language.d.ts +55 -0
- package/dist/common/language.js +208 -0
- package/dist/common/language.js.map +1 -0
- package/dist/common/llm-scope.d.ts +19 -0
- package/dist/common/llm-scope.js +31 -0
- package/dist/common/llm-scope.js.map +1 -0
- package/dist/common/logging.d.ts +22 -0
- package/dist/common/logging.js +141 -0
- package/dist/common/logging.js.map +1 -0
- package/dist/common/template.d.ts +8 -0
- package/dist/common/template.js +54 -0
- package/dist/common/template.js.map +1 -0
- package/dist/common/tinyld-language.d.ts +6 -0
- package/dist/common/tinyld-language.js +34 -0
- package/dist/common/tinyld-language.js.map +1 -0
- package/dist/common/wiki-graph-dir.d.ts +10 -0
- package/dist/common/wiki-graph-dir.js +41 -0
- package/dist/common/wiki-graph-dir.js.map +1 -0
- package/dist/common/wiki-graph-temp.d.ts +6 -0
- package/dist/common/wiki-graph-temp.js +21 -0
- package/dist/common/wiki-graph-temp.js.map +1 -0
- package/dist/common/wiki-graph-uri.d.ts +28 -0
- package/dist/common/wiki-graph-uri.js +171 -0
- package/dist/common/wiki-graph-uri.js.map +1 -0
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.js +13 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/task-context.d.ts +41 -0
- package/dist/context/task-context.js +111 -0
- package/dist/context/task-context.js.map +1 -0
- package/dist/document/database.d.ts +30 -0
- package/dist/document/database.js +273 -0
- package/dist/document/database.js.map +1 -0
- package/dist/document/document.d.ts +153 -0
- package/dist/document/document.js +615 -0
- package/dist/document/document.js.map +1 -0
- package/dist/document/fragments.d.ts +63 -0
- package/dist/document/fragments.js +371 -0
- package/dist/document/fragments.js.map +1 -0
- package/dist/document/index.d.ts +13 -0
- package/dist/document/index.js +62 -0
- package/dist/document/index.js.map +1 -0
- package/dist/document/schema.d.ts +8 -0
- package/dist/document/schema.js +472 -0
- package/dist/document/schema.js.map +1 -0
- package/dist/document/shared-state-database.d.ts +9 -0
- package/dist/document/shared-state-database.js +193 -0
- package/dist/document/shared-state-database.js.map +1 -0
- package/dist/document/stores.d.ts +203 -0
- package/dist/document/stores.js +1678 -0
- package/dist/document/stores.js.map +1 -0
- package/dist/document/text-streams.d.ts +86 -0
- package/dist/document/text-streams.js +515 -0
- package/dist/document/text-streams.js.map +1 -0
- package/dist/document/types.d.ts +148 -0
- package/dist/document/types.js +69 -0
- package/dist/document/types.js.map +1 -0
- package/dist/editor/clue.d.ts +27 -0
- package/dist/editor/clue.js +158 -0
- package/dist/editor/clue.js.map +1 -0
- package/dist/editor/compressor.d.ts +18 -0
- package/dist/editor/compressor.js +68 -0
- package/dist/editor/compressor.js.map +1 -0
- package/dist/editor/editor.d.ts +39 -0
- package/dist/editor/editor.js +253 -0
- package/dist/editor/editor.js.map +1 -0
- package/dist/editor/feedback.d.ts +16 -0
- package/dist/editor/feedback.js +104 -0
- package/dist/editor/feedback.js.map +1 -0
- package/dist/editor/index.d.ts +17 -0
- package/dist/editor/index.js +5 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/language-review.d.ts +14 -0
- package/dist/editor/language-review.js +35 -0
- package/dist/editor/language-review.js.map +1 -0
- package/dist/editor/log.d.ts +37 -0
- package/dist/editor/log.js +202 -0
- package/dist/editor/log.js.map +1 -0
- package/dist/editor/markup.d.ts +20 -0
- package/dist/editor/markup.js +294 -0
- package/dist/editor/markup.js.map +1 -0
- package/dist/editor/prompt-templates.d.ts +6 -0
- package/dist/editor/prompt-templates.js +11 -0
- package/dist/editor/prompt-templates.js.map +1 -0
- package/dist/editor/response.d.ts +5 -0
- package/dist/editor/response.js +31 -0
- package/dist/editor/response.js.map +1 -0
- package/dist/editor/review.d.ts +34 -0
- package/dist/editor/review.js +189 -0
- package/dist/editor/review.js.map +1 -0
- package/dist/editor/types.d.ts +31 -0
- package/dist/editor/types.js +21 -0
- package/dist/editor/types.js.map +1 -0
- package/dist/evidence-selection/anchor-resolver.d.ts +43 -0
- package/dist/evidence-selection/anchor-resolver.js +783 -0
- package/dist/evidence-selection/anchor-resolver.js.map +1 -0
- package/dist/evidence-selection/anchor-types.d.ts +27 -0
- package/dist/evidence-selection/anchor-types.js +1 -0
- package/dist/evidence-selection/anchor-types.js.map +1 -0
- package/dist/evidence-selection/index.d.ts +8 -0
- package/dist/evidence-selection/index.js +32 -0
- package/dist/evidence-selection/index.js.map +1 -0
- package/dist/evidence-selection/prompt.d.ts +18 -0
- package/dist/evidence-selection/prompt.js +54 -0
- package/dist/evidence-selection/prompt.js.map +1 -0
- package/dist/evidence-selection/quote-score.d.ts +29 -0
- package/dist/evidence-selection/quote-score.js +331 -0
- package/dist/evidence-selection/quote-score.js.map +1 -0
- package/dist/evidence-selection/selection-resolver.d.ts +19 -0
- package/dist/evidence-selection/selection-resolver.js +303 -0
- package/dist/evidence-selection/selection-resolver.js.map +1 -0
- package/dist/evidence-selection/text.d.ts +4 -0
- package/dist/evidence-selection/text.js +66 -0
- package/dist/evidence-selection/text.js.map +1 -0
- package/dist/evidence-selection/types.d.ts +36 -0
- package/dist/evidence-selection/types.js +1 -0
- package/dist/evidence-selection/types.js.map +1 -0
- package/dist/facade/app.d.ts +75 -0
- package/dist/facade/app.js +141 -0
- package/dist/facade/app.js.map +1 -0
- package/dist/facade/build-queue.d.ts +181 -0
- package/dist/facade/build-queue.js +1442 -0
- package/dist/facade/build-queue.js.map +1 -0
- package/dist/facade/chapter-build.d.ts +60 -0
- package/dist/facade/chapter-build.js +1020 -0
- package/dist/facade/chapter-build.js.map +1 -0
- package/dist/facade/chapter.d.ts +168 -0
- package/dist/facade/chapter.js +944 -0
- package/dist/facade/chapter.js.map +1 -0
- package/dist/facade/digest.d.ts +55 -0
- package/dist/facade/digest.js +168 -0
- package/dist/facade/digest.js.map +1 -0
- package/dist/facade/graph.d.ts +60 -0
- package/dist/facade/graph.js +203 -0
- package/dist/facade/graph.js.map +1 -0
- package/dist/facade/import.d.ts +49 -0
- package/dist/facade/import.js +262 -0
- package/dist/facade/import.js.map +1 -0
- package/dist/facade/index.d.ts +39 -0
- package/dist/facade/index.js +171 -0
- package/dist/facade/index.js.map +1 -0
- package/dist/facade/knowledge-graph-build.d.ts +75 -0
- package/dist/facade/knowledge-graph-build.js +897 -0
- package/dist/facade/knowledge-graph-build.js.map +1 -0
- package/dist/facade/llm-sampling.d.ts +11 -0
- package/dist/facade/llm-sampling.js +58 -0
- package/dist/facade/llm-sampling.js.map +1 -0
- package/dist/facade/types.d.ts +8 -0
- package/dist/facade/types.js +1 -0
- package/dist/facade/types.js.map +1 -0
- package/dist/facade/wiki-graph-archive.d.ts +41 -0
- package/dist/facade/wiki-graph-archive.js +130 -0
- package/dist/facade/wiki-graph-archive.js.map +1 -0
- package/dist/gc/files.d.ts +15 -0
- package/dist/gc/files.js +141 -0
- package/dist/gc/files.js.map +1 -0
- package/dist/gc/index.d.ts +2 -0
- package/dist/gc/index.js +5 -0
- package/dist/gc/index.js.map +1 -0
- package/dist/gc/lock.d.ts +3 -0
- package/dist/gc/lock.js +137 -0
- package/dist/gc/lock.js.map +1 -0
- package/dist/gc/runner.d.ts +9 -0
- package/dist/gc/runner.js +129 -0
- package/dist/gc/runner.js.map +1 -0
- package/dist/gc/tmp-gc.d.ts +5 -0
- package/dist/gc/tmp-gc.js +57 -0
- package/dist/gc/tmp-gc.js.map +1 -0
- package/dist/gc/types.d.ts +24 -0
- package/dist/gc/types.js +1 -0
- package/dist/gc/types.js.map +1 -0
- package/dist/gc.cjs +10041 -0
- package/dist/gc.cjs.map +1 -0
- package/dist/gc.d.cts +10 -0
- package/dist/gc.d.ts +2 -0
- package/dist/gc.js +5 -0
- package/dist/gc.js.map +1 -0
- package/dist/guaranteed/classifier.d.ts +10 -0
- package/dist/guaranteed/classifier.js +88 -0
- package/dist/guaranteed/classifier.js.map +1 -0
- package/dist/guaranteed/errors.d.ts +38 -0
- package/dist/guaranteed/errors.js +73 -0
- package/dist/guaranteed/errors.js.map +1 -0
- package/dist/guaranteed/index.d.ts +7 -0
- package/dist/guaranteed/index.js +21 -0
- package/dist/guaranteed/index.js.map +1 -0
- package/dist/guaranteed/request.d.ts +8 -0
- package/dist/guaranteed/request.js +206 -0
- package/dist/guaranteed/request.js.map +1 -0
- package/dist/guaranteed/response.d.ts +12 -0
- package/dist/guaranteed/response.js +98 -0
- package/dist/guaranteed/response.js.map +1 -0
- package/dist/guaranteed/types.d.ts +20 -0
- package/dist/guaranteed/types.js +1 -0
- package/dist/guaranteed/types.js.map +1 -0
- package/dist/index-B8NNnQ8P.d.ts +424 -0
- package/dist/index.cjs +34774 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2462 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.js +168 -0
- package/dist/index.js.map +1 -0
- package/dist/legacy-sdpub/upgrade.d.ts +7 -0
- package/dist/legacy-sdpub/upgrade.js +795 -0
- package/dist/legacy-sdpub/upgrade.js.map +1 -0
- package/dist/llm/cache.d.ts +13 -0
- package/dist/llm/cache.js +35 -0
- package/dist/llm/cache.js.map +1 -0
- package/dist/llm/client.d.ts +26 -0
- package/dist/llm/client.js +572 -0
- package/dist/llm/client.js.map +1 -0
- package/dist/llm/context.d.ts +22 -0
- package/dist/llm/context.js +78 -0
- package/dist/llm/context.js.map +1 -0
- package/dist/llm/errors.d.ts +7 -0
- package/dist/llm/errors.js +12 -0
- package/dist/llm/errors.js.map +1 -0
- package/dist/llm/index.d.ts +7 -0
- package/dist/llm/index.js +17 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/request-log.d.ts +9 -0
- package/dist/llm/request-log.js +35 -0
- package/dist/llm/request-log.js.map +1 -0
- package/dist/llm/sampling.d.ts +11 -0
- package/dist/llm/sampling.js +67 -0
- package/dist/llm/sampling.js.map +1 -0
- package/dist/llm/types.d.ts +50 -0
- package/dist/llm/types.js +1 -0
- package/dist/llm/types.js.map +1 -0
- package/dist/output/epub/archive.d.ts +9 -0
- package/dist/output/epub/archive.js +81 -0
- package/dist/output/epub/archive.js.map +1 -0
- package/dist/output/epub/book.d.ts +15 -0
- package/dist/output/epub/book.js +76 -0
- package/dist/output/epub/book.js.map +1 -0
- package/dist/output/epub/content.d.ts +9 -0
- package/dist/output/epub/content.js +35 -0
- package/dist/output/epub/content.js.map +1 -0
- package/dist/output/epub/index.d.ts +20 -0
- package/dist/output/epub/index.js +14 -0
- package/dist/output/epub/index.js.map +1 -0
- package/dist/output/epub/model.d.ts +24 -0
- package/dist/output/epub/model.js +1 -0
- package/dist/output/epub/model.js.map +1 -0
- package/dist/output/epub/navigation.d.ts +10 -0
- package/dist/output/epub/navigation.js +39 -0
- package/dist/output/epub/navigation.js.map +1 -0
- package/dist/output/epub/package.d.ts +17 -0
- package/dist/output/epub/package.js +29 -0
- package/dist/output/epub/package.js.map +1 -0
- package/dist/output/epub/shared.d.ts +4 -0
- package/dist/output/epub/shared.js +12 -0
- package/dist/output/epub/shared.js.map +1 -0
- package/dist/output/epub/templates.d.ts +35 -0
- package/dist/output/epub/templates.js +26 -0
- package/dist/output/epub/templates.js.map +1 -0
- package/dist/output/index.d.ts +14 -0
- package/dist/output/index.js +11 -0
- package/dist/output/index.js.map +1 -0
- package/dist/output/plain-text.d.ts +18 -0
- package/dist/output/plain-text.js +56 -0
- package/dist/output/plain-text.js.map +1 -0
- package/dist/progress/index.d.ts +3 -0
- package/dist/progress/index.js +14 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/reporter.d.ts +10 -0
- package/dist/progress/reporter.js +79 -0
- package/dist/progress/reporter.js.map +1 -0
- package/dist/progress/tracker.d.ts +37 -0
- package/dist/progress/tracker.js +119 -0
- package/dist/progress/tracker.js.map +1 -0
- package/dist/progress/types.d.ts +28 -0
- package/dist/progress/types.js +1 -0
- package/dist/progress/types.js.map +1 -0
- package/dist/reader/attention/attention.d.ts +39 -0
- package/dist/reader/attention/attention.js +123 -0
- package/dist/reader/attention/attention.js.map +1 -0
- package/dist/reader/attention/index.d.ts +9 -0
- package/dist/reader/attention/index.js +5 -0
- package/dist/reader/attention/index.js.map +1 -0
- package/dist/reader/attention/wave-reflection.d.ts +21 -0
- package/dist/reader/attention/wave-reflection.js +153 -0
- package/dist/reader/attention/wave-reflection.js.map +1 -0
- package/dist/reader/attention/working-memory.d.ts +28 -0
- package/dist/reader/attention/working-memory.js +62 -0
- package/dist/reader/attention/working-memory.js.map +1 -0
- package/dist/reader/chunk-batch/extract.d.ts +13 -0
- package/dist/reader/chunk-batch/extract.js +14 -0
- package/dist/reader/chunk-batch/extract.js.map +1 -0
- package/dist/reader/chunk-batch/extractor.d.ts +17 -0
- package/dist/reader/chunk-batch/extractor.js +337 -0
- package/dist/reader/chunk-batch/extractor.js.map +1 -0
- package/dist/reader/chunk-batch/fragment-projection.d.ts +34 -0
- package/dist/reader/chunk-batch/fragment-projection.js +94 -0
- package/dist/reader/chunk-batch/fragment-projection.js.map +1 -0
- package/dist/reader/chunk-batch/index.d.ts +12 -0
- package/dist/reader/chunk-batch/index.js +13 -0
- package/dist/reader/chunk-batch/index.js.map +1 -0
- package/dist/reader/chunk-batch/language.d.ts +9 -0
- package/dist/reader/chunk-batch/language.js +23 -0
- package/dist/reader/chunk-batch/language.js.map +1 -0
- package/dist/reader/chunk-batch/parser.d.ts +94 -0
- package/dist/reader/chunk-batch/parser.js +640 -0
- package/dist/reader/chunk-batch/parser.js.map +1 -0
- package/dist/reader/chunk-batch/prompt-templates.d.ts +6 -0
- package/dist/reader/chunk-batch/prompt-templates.js +11 -0
- package/dist/reader/chunk-batch/prompt-templates.js.map +1 -0
- package/dist/reader/chunk-batch/types.d.ts +85 -0
- package/dist/reader/chunk-batch/types.js +1 -0
- package/dist/reader/chunk-batch/types.js.map +1 -0
- package/dist/reader/index.d.ts +13 -0
- package/dist/reader/index.js +7 -0
- package/dist/reader/index.js.map +1 -0
- package/dist/reader/reader.d.ts +37 -0
- package/dist/reader/reader.js +82 -0
- package/dist/reader/reader.js.map +1 -0
- package/dist/reader/segment/index.d.ts +2 -0
- package/dist/reader/segment/index.js +5 -0
- package/dist/reader/segment/index.js.map +1 -0
- package/dist/reader/segment/intl-segmenter.d.ts +5 -0
- package/dist/reader/segment/intl-segmenter.js +102 -0
- package/dist/reader/segment/intl-segmenter.js.map +1 -0
- package/dist/reader/segment/segment.d.ts +5 -0
- package/dist/reader/segment/segment.js +9 -0
- package/dist/reader/segment/segment.js.map +1 -0
- package/dist/reader/segment/types.d.ts +14 -0
- package/dist/reader/segment/types.js +1 -0
- package/dist/reader/segment/types.js.map +1 -0
- package/dist/reader/types.d.ts +29 -0
- package/dist/reader/types.js +1 -0
- package/dist/reader/types.js.map +1 -0
- package/dist/serial.d.ts +89 -0
- package/dist/serial.js +476 -0
- package/dist/serial.js.map +1 -0
- package/dist/source/adapter.d.ts +15 -0
- package/dist/source/adapter.js +1 -0
- package/dist/source/adapter.js.map +1 -0
- package/dist/source/epub/archive.d.ts +27 -0
- package/dist/source/epub/archive.js +189 -0
- package/dist/source/epub/archive.js.map +1 -0
- package/dist/source/epub/content.d.ts +22 -0
- package/dist/source/epub/content.js +183 -0
- package/dist/source/epub/content.js.map +1 -0
- package/dist/source/epub/document.d.ts +55 -0
- package/dist/source/epub/document.js +179 -0
- package/dist/source/epub/document.js.map +1 -0
- package/dist/source/epub/index.d.ts +10 -0
- package/dist/source/epub/index.js +6 -0
- package/dist/source/epub/index.js.map +1 -0
- package/dist/source/epub/navigation.d.ts +16 -0
- package/dist/source/epub/navigation.js +215 -0
- package/dist/source/epub/navigation.js.map +1 -0
- package/dist/source/epub/package.d.ts +33 -0
- package/dist/source/epub/package.js +237 -0
- package/dist/source/epub/package.js.map +1 -0
- package/dist/source/epub/xml.d.ts +16 -0
- package/dist/source/epub/xml.js +111 -0
- package/dist/source/epub/xml.js.map +1 -0
- package/dist/source/index.d.ts +12 -0
- package/dist/source/index.js +32 -0
- package/dist/source/index.js.map +1 -0
- package/dist/source/meta.d.ts +30 -0
- package/dist/source/meta.js +22 -0
- package/dist/source/meta.js.map +1 -0
- package/dist/source/plain-text.d.ts +16 -0
- package/dist/source/plain-text.js +86 -0
- package/dist/source/plain-text.js.map +1 -0
- package/dist/source/toc.d.ts +16 -0
- package/dist/source/toc.js +17 -0
- package/dist/source/toc.js.map +1 -0
- package/dist/source/types.d.ts +16 -0
- package/dist/source/types.js +1 -0
- package/dist/source/types.js.map +1 -0
- package/dist/topology/grouping.d.ts +15 -0
- package/dist/topology/grouping.js +18 -0
- package/dist/topology/grouping.js.map +1 -0
- package/dist/topology/index.d.ts +21 -0
- package/dist/topology/index.js +5 -0
- package/dist/topology/index.js.map +1 -0
- package/dist/topology/resource-segmentation.d.ts +13 -0
- package/dist/topology/resource-segmentation.js +111 -0
- package/dist/topology/resource-segmentation.js.map +1 -0
- package/dist/topology/segment-incision.d.ts +18 -0
- package/dist/topology/segment-incision.js +197 -0
- package/dist/topology/segment-incision.js.map +1 -0
- package/dist/topology/snake-detector.d.ts +13 -0
- package/dist/topology/snake-detector.js +520 -0
- package/dist/topology/snake-detector.js.map +1 -0
- package/dist/topology/snake-graph-builder.d.ts +14 -0
- package/dist/topology/snake-graph-builder.js +76 -0
- package/dist/topology/snake-graph-builder.js.map +1 -0
- package/dist/topology/topology.d.ts +29 -0
- package/dist/topology/topology.js +348 -0
- package/dist/topology/topology.js.map +1 -0
- package/dist/topology/weights.d.ts +10 -0
- package/dist/topology/weights.js +84 -0
- package/dist/topology/weights.js.map +1 -0
- package/dist/types-FVIqiLC9.d.cts +24 -0
- package/dist/utils/async-semaphore.d.ts +7 -0
- package/dist/utils/async-semaphore.js +40 -0
- package/dist/utils/async-semaphore.js.map +1 -0
- package/dist/utils/enum.d.ts +5 -0
- package/dist/utils/enum.js +18 -0
- package/dist/utils/enum.js.map +1 -0
- package/dist/utils/hash.d.ts +3 -0
- package/dist/utils/hash.js +132 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/node-error.d.ts +4 -0
- package/dist/utils/node-error.js +59 -0
- package/dist/utils/node-error.js.map +1 -0
- package/dist/wikg/archive-uri.d.ts +1 -0
- package/dist/wikg/archive-uri.js +37 -0
- package/dist/wikg/archive-uri.js.map +1 -0
- package/dist/wikg/archive.d.ts +28 -0
- package/dist/wikg/archive.js +496 -0
- package/dist/wikg/archive.js.map +1 -0
- package/dist/wikg/index.d.ts +31 -0
- package/dist/wikg/index.js +60 -0
- package/dist/wikg/index.js.map +1 -0
- package/dist/wikg/wikg-coordinator.d.ts +45 -0
- package/dist/wikg/wikg-coordinator.js +1687 -0
- package/dist/wikg/wikg-coordinator.js.map +1 -0
- package/dist/wikg/wiki-graph-archive-file.d.ts +42 -0
- package/dist/wikg/wiki-graph-archive-file.js +78 -0
- package/dist/wikg/wiki-graph-archive-file.js.map +1 -0
- package/dist/wikilink/index.d.ts +10 -0
- package/dist/wikilink/index.js +7 -0
- package/dist/wikilink/index.js.map +1 -0
- package/dist/wikilink/relation-discovery.d.ts +31 -0
- package/dist/wikilink/relation-discovery.js +477 -0
- package/dist/wikilink/relation-discovery.js.map +1 -0
- package/dist/wikilink/types.d.ts +23 -0
- package/dist/wikilink/types.js +1 -0
- package/dist/wikilink/types.js.map +1 -0
- package/dist/wikilink/window.d.ts +7 -0
- package/dist/wikilink/window.js +53 -0
- package/dist/wikilink/window.js.map +1 -0
- package/dist/wikimatch/enrichment.d.ts +10 -0
- package/dist/wikimatch/enrichment.js +55 -0
- package/dist/wikimatch/enrichment.js.map +1 -0
- package/dist/wikimatch/index.d.ts +16 -0
- package/dist/wikimatch/index.js +66 -0
- package/dist/wikimatch/index.js.map +1 -0
- package/dist/wikimatch/option-narrowing.d.ts +17 -0
- package/dist/wikimatch/option-narrowing.js +208 -0
- package/dist/wikimatch/option-narrowing.js.map +1 -0
- package/dist/wikimatch/options.d.ts +14 -0
- package/dist/wikimatch/options.js +155 -0
- package/dist/wikimatch/options.js.map +1 -0
- package/dist/wikimatch/policy-judge.d.ts +17 -0
- package/dist/wikimatch/policy-judge.js +430 -0
- package/dist/wikimatch/policy-judge.js.map +1 -0
- package/dist/wikimatch/range-suppression.d.ts +9 -0
- package/dist/wikimatch/range-suppression.js +27 -0
- package/dist/wikimatch/range-suppression.js.map +1 -0
- package/dist/wikimatch/surface-screening.d.ts +16 -0
- package/dist/wikimatch/surface-screening.js +168 -0
- package/dist/wikimatch/surface-screening.js.map +1 -0
- package/dist/wikimatch/surface-window.d.ts +6 -0
- package/dist/wikimatch/surface-window.js +44 -0
- package/dist/wikimatch/surface-window.js.map +1 -0
- package/dist/wikimatch/types.d.ts +151 -0
- package/dist/wikimatch/types.js +1 -0
- package/dist/wikimatch/types.js.map +1 -0
- package/dist/wikimatch/wikispine.d.ts +43 -0
- package/dist/wikimatch/wikispine.js +399 -0
- package/dist/wikimatch/wikispine.js.map +1 -0
- package/dist/wikimatch/window.d.ts +6 -0
- package/dist/wikimatch/window.js +83 -0
- package/dist/wikimatch/window.js.map +1 -0
- package/dist/wikimatch/words.d.ts +16 -0
- package/dist/wikimatch/words.js +66 -0
- package/dist/wikimatch/words.js.map +1 -0
- package/dist/wikipage/cache.d.ts +18 -0
- package/dist/wikipage/cache.js +404 -0
- package/dist/wikipage/cache.js.map +1 -0
- package/dist/wikipage/fetch-log.d.ts +17 -0
- package/dist/wikipage/fetch-log.js +143 -0
- package/dist/wikipage/fetch-log.js.map +1 -0
- package/dist/wikipage/index.d.ts +14 -0
- package/dist/wikipage/index.js +17 -0
- package/dist/wikipage/index.js.map +1 -0
- package/dist/wikipage/normalizer.d.ts +14 -0
- package/dist/wikipage/normalizer.js +147 -0
- package/dist/wikipage/normalizer.js.map +1 -0
- package/dist/wikipage/rate-limiter.d.ts +13 -0
- package/dist/wikipage/rate-limiter.js +84 -0
- package/dist/wikipage/rate-limiter.js.map +1 -0
- package/dist/wikipage/resolver.d.ts +26 -0
- package/dist/wikipage/resolver.js +325 -0
- package/dist/wikipage/resolver.js.map +1 -0
- package/dist/wikipage/types.d.ts +96 -0
- package/dist/wikipage/types.js +1 -0
- package/dist/wikipage/types.js.map +1 -0
- package/dist/wikipage/wikimedia-client.d.ts +48 -0
- package/dist/wikipage/wikimedia-client.js +397 -0
- package/dist/wikipage/wikimedia-client.js.map +1 -0
- package/dist/worker-BgQ0Xl8T.d.cts +181 -0
- package/dist/worker.cjs +5259 -0
- package/dist/worker.cjs.map +1 -0
- package/dist/worker.d.cts +2 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.js +5 -0
- package/dist/worker.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/facade/graph.ts"],"sourcesContent":["import type {\n ChunkImportance,\n ChunkRecord,\n ChunkRetention,\n ReadingEdgeRecord,\n ReadonlyDocument,\n SentenceId,\n} from \"../document/index.js\";\n\nexport interface GraphNode {\n readonly content: string;\n readonly id: number;\n readonly importance?: ChunkImportance;\n readonly label: string;\n readonly retention?: ChunkRetention;\n readonly sentenceIds: readonly SentenceId[];\n readonly weight: number;\n readonly wordsCount: number;\n}\n\nexport interface GraphEdge {\n readonly fromId: number;\n readonly strength?: string;\n readonly toId: number;\n readonly weight: number;\n}\n\nexport interface GraphEvidenceLine {\n readonly sentenceId: SentenceId;\n readonly text: string;\n}\n\nexport interface GraphStatus {\n readonly chapterId: number;\n readonly edgeCount: number;\n readonly graphReady: boolean;\n readonly nodeCount: number;\n}\n\nexport interface GraphSearchHit {\n readonly node: GraphNode;\n readonly matchedFields: readonly GraphSearchField[];\n}\n\nexport type GraphSearchField = \"content\" | \"evidence\" | \"label\";\n\nexport interface GraphNeighbor {\n readonly direction: \"incoming\" | \"outgoing\";\n readonly edge: GraphEdge;\n readonly node: GraphNode;\n}\n\nexport interface GraphPathStep {\n readonly edge?: GraphEdge;\n readonly node: GraphNode;\n}\n\nexport async function getGraphStatus(\n document: ReadonlyDocument,\n chapterId: number,\n): Promise<GraphStatus> {\n await requireChapter(document, chapterId);\n const [serial, nodes, edges] = await Promise.all([\n document.serials.getById(chapterId),\n listGraphNodes(document, chapterId),\n document.readingEdges.listBySerial(chapterId),\n ]);\n\n return {\n chapterId,\n edgeCount: edges.length,\n graphReady: serial?.topologyReady === true,\n nodeCount: nodes.length,\n };\n}\n\nexport async function listGraphNodes(\n document: ReadonlyDocument,\n chapterId: number,\n): Promise<readonly GraphNode[]> {\n await requireChapter(document, chapterId);\n const chunks = await document.chunks.listBySerial(chapterId);\n\n return chunks.map(formatGraphNode).sort(compareNodeByWeightDescending);\n}\n\nexport async function getGraphNode(\n document: ReadonlyDocument,\n chapterId: number,\n nodeId: number,\n): Promise<GraphNode> {\n const node = formatGraphNode(\n await requireChapterNode(document, chapterId, nodeId),\n );\n\n return node;\n}\n\nexport async function searchGraphNodes(\n document: ReadonlyDocument,\n chapterId: number,\n pattern: string,\n): Promise<readonly GraphSearchHit[]> {\n const normalizedPattern = pattern.trim().toLowerCase();\n\n if (normalizedPattern === \"\") {\n return [];\n }\n\n const nodes = await listGraphNodes(document, chapterId);\n const hits: GraphSearchHit[] = [];\n\n for (const node of nodes) {\n const evidence = await getGraphEvidence(document, chapterId, node.id);\n const matchedFields: GraphSearchField[] = [];\n\n if (node.label.toLowerCase().includes(normalizedPattern)) {\n matchedFields.push(\"label\");\n }\n if (node.content.toLowerCase().includes(normalizedPattern)) {\n matchedFields.push(\"content\");\n }\n if (\n evidence.some((line) =>\n line.text.toLowerCase().includes(normalizedPattern),\n )\n ) {\n matchedFields.push(\"evidence\");\n }\n\n if (matchedFields.length > 0) {\n hits.push({ matchedFields, node });\n }\n }\n\n return hits;\n}\n\nexport async function listGraphNeighbors(\n document: ReadonlyDocument,\n chapterId: number,\n nodeId: number,\n): Promise<readonly GraphNeighbor[]> {\n await requireChapterNode(document, chapterId, nodeId);\n const [incoming, outgoing] = await Promise.all([\n document.readingEdges.listIncoming(nodeId),\n document.readingEdges.listOutgoing(nodeId),\n ]);\n const neighbors = await Promise.all([\n ...incoming.map(async (edge) => ({\n direction: \"incoming\" as const,\n edge: formatGraphEdge(edge),\n node: formatGraphNode(\n await requireChapterNode(document, chapterId, edge.fromId),\n ),\n })),\n ...outgoing.map(async (edge) => ({\n direction: \"outgoing\" as const,\n edge: formatGraphEdge(edge),\n node: formatGraphNode(\n await requireChapterNode(document, chapterId, edge.toId),\n ),\n })),\n ]);\n\n return neighbors.sort(compareNeighbor);\n}\n\nexport async function getGraphEvidence(\n document: ReadonlyDocument,\n chapterId: number,\n nodeId: number,\n): Promise<readonly GraphEvidenceLine[]> {\n const node = await requireChapterNode(document, chapterId, nodeId);\n const lines = await Promise.all(\n node.sentenceIds.map(async (sentenceId) => ({\n sentenceId,\n text: await document.getSentence(sentenceId),\n })),\n );\n\n return lines;\n}\n\nexport async function findGraphPath(\n document: ReadonlyDocument,\n chapterId: number,\n fromNodeId: number,\n toNodeId: number,\n): Promise<readonly GraphPathStep[]> {\n await requireChapterNode(document, chapterId, fromNodeId);\n await requireChapterNode(document, chapterId, toNodeId);\n\n if (fromNodeId === toNodeId) {\n return [{ node: await getGraphNode(document, chapterId, fromNodeId) }];\n }\n\n const edges = (await document.readingEdges.listBySerial(chapterId)).map(\n formatGraphEdge,\n );\n const outgoing = new Map<number, GraphEdge[]>();\n\n for (const edge of edges) {\n const existing = outgoing.get(edge.fromId) ?? [];\n\n existing.push(edge);\n outgoing.set(edge.fromId, existing);\n }\n\n const visited = new Set<number>([fromNodeId]);\n const queue: number[] = [fromNodeId];\n const previous = new Map<\n number,\n { readonly edge: GraphEdge; readonly id: number }\n >();\n\n while (queue.length > 0) {\n const currentId = queue.shift()!;\n\n for (const edge of outgoing.get(currentId) ?? []) {\n if (visited.has(edge.toId)) {\n continue;\n }\n\n visited.add(edge.toId);\n previous.set(edge.toId, { edge, id: currentId });\n\n if (edge.toId === toNodeId) {\n return await buildPathSteps(\n document,\n chapterId,\n fromNodeId,\n toNodeId,\n previous,\n );\n }\n\n queue.push(edge.toId);\n }\n }\n\n return [];\n}\n\nasync function buildPathSteps(\n document: ReadonlyDocument,\n chapterId: number,\n fromNodeId: number,\n toNodeId: number,\n previous: ReadonlyMap<\n number,\n { readonly edge: GraphEdge; readonly id: number }\n >,\n): Promise<readonly GraphPathStep[]> {\n const steps: Array<{ readonly edge?: GraphEdge; readonly nodeId: number }> = [\n { nodeId: toNodeId },\n ];\n let currentId = toNodeId;\n\n while (currentId !== fromNodeId) {\n const previousStep = previous.get(currentId);\n\n if (previousStep === undefined) {\n return [];\n }\n\n steps.push({ edge: previousStep.edge, nodeId: previousStep.id });\n currentId = previousStep.id;\n }\n\n steps.reverse();\n\n return await Promise.all(\n steps.map(async (step) => ({\n ...(step.edge === undefined ? {} : { edge: step.edge }),\n node: await getGraphNode(document, chapterId, step.nodeId),\n })),\n );\n}\n\nasync function requireChapter(\n document: ReadonlyDocument,\n chapterId: number,\n): Promise<void> {\n const serial = await document.serials.getById(chapterId);\n\n if (serial === undefined) {\n throw new Error(\n `Chapter ${chapterId} does not exist. Use \\`wg <archive-uri>/chapter list\\` to discover chapter ids.`,\n );\n }\n}\n\nasync function requireChapterNode(\n document: ReadonlyDocument,\n chapterId: number,\n nodeId: number,\n): Promise<ChunkRecord> {\n const chunk = await document.chunks.getById(nodeId);\n\n if (chunk === undefined || chunk.sentenceId[0] !== chapterId) {\n throw new Error(\n `Graph node ${nodeId} does not exist in chapter ${chapterId}. Use \\`wg <archive-uri>/chapter/${chapterId}/chunk list\\` to discover chunk ids.`,\n );\n }\n\n return chunk;\n}\n\nfunction formatGraphNode(chunk: ChunkRecord): GraphNode {\n return {\n content: chunk.content,\n id: chunk.id,\n label: chunk.label,\n sentenceIds: chunk.sentenceIds,\n weight: chunk.weight,\n wordsCount: chunk.wordsCount,\n ...(chunk.importance === undefined ? {} : { importance: chunk.importance }),\n ...(chunk.retention === undefined ? {} : { retention: chunk.retention }),\n };\n}\n\nfunction formatGraphEdge(edge: ReadingEdgeRecord): GraphEdge {\n return {\n fromId: edge.fromId,\n toId: edge.toId,\n weight: edge.weight,\n ...(edge.strength === undefined ? {} : { strength: edge.strength }),\n };\n}\n\nfunction compareNodeByWeightDescending(\n left: GraphNode,\n right: GraphNode,\n): number {\n return right.weight - left.weight || left.id - right.id;\n}\n\nfunction compareNeighbor(left: GraphNeighbor, right: GraphNeighbor): number {\n if (left.direction !== right.direction) {\n return left.direction === \"incoming\" ? -1 : 1;\n }\n\n return right.edge.weight - left.edge.weight || left.node.id - right.node.id;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Document } from '../document/document.js';
|
|
2
|
+
import { DigestProgressTracker } from '../progress/tracker.js';
|
|
3
|
+
import { GenerateSerialOptions, SerialGenerationOptions } from '../serial.js';
|
|
4
|
+
import { BookMeta } from '../source/meta.js';
|
|
5
|
+
import { SourceAdapter, SourceDocument } from '../source/adapter.js';
|
|
6
|
+
import { SourceAsset } from '../source/types.js';
|
|
7
|
+
import { TocFile } from '../source/toc.js';
|
|
8
|
+
import { ChapterStage } from './chapter.js';
|
|
9
|
+
import '../document/database.js';
|
|
10
|
+
import 'sqlite3';
|
|
11
|
+
import '../document/text-streams.js';
|
|
12
|
+
import '../document/types.js';
|
|
13
|
+
import '../document/stores.js';
|
|
14
|
+
import 'zod';
|
|
15
|
+
import '../progress/types.js';
|
|
16
|
+
import '../common/language.js';
|
|
17
|
+
import '../common/llm-scope.js';
|
|
18
|
+
import '../llm/client.js';
|
|
19
|
+
import '../llm/context.js';
|
|
20
|
+
import '../llm/cache.js';
|
|
21
|
+
import '../llm/types.js';
|
|
22
|
+
import 'ai';
|
|
23
|
+
import '../reader/types.js';
|
|
24
|
+
import '../reader/attention/attention.js';
|
|
25
|
+
import '../reader/chunk-batch/types.js';
|
|
26
|
+
import '../reader/segment/types.js';
|
|
27
|
+
|
|
28
|
+
interface ImportSourceOptions extends GenerateSerialOptions, Omit<SerialGenerationOptions, "document" | "llm"> {
|
|
29
|
+
readonly adapter: SourceAdapter;
|
|
30
|
+
readonly digestProgressTracker?: DigestProgressTracker;
|
|
31
|
+
readonly document: Document;
|
|
32
|
+
readonly llm?: SerialGenerationOptions["llm"];
|
|
33
|
+
readonly path: string;
|
|
34
|
+
readonly targetStage?: ImportSourceStage;
|
|
35
|
+
}
|
|
36
|
+
interface ImportedSource {
|
|
37
|
+
readonly cover: SourceAsset | undefined;
|
|
38
|
+
readonly meta: BookMeta;
|
|
39
|
+
readonly serials: readonly ImportedSerial[];
|
|
40
|
+
readonly toc: TocFile;
|
|
41
|
+
}
|
|
42
|
+
interface ImportedSerial {
|
|
43
|
+
readonly id: number;
|
|
44
|
+
}
|
|
45
|
+
type ImportSourceStage = ChapterStage;
|
|
46
|
+
declare function importSource(options: ImportSourceOptions): Promise<ImportedSource>;
|
|
47
|
+
declare function importSourceDocument(sourceDocument: SourceDocument, options: Omit<ImportSourceOptions, "adapter" | "path">): Promise<ImportedSource>;
|
|
48
|
+
|
|
49
|
+
export { type ImportSourceOptions, type ImportSourceStage, type ImportedSerial, type ImportedSource, importSource, importSourceDocument };
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { AsyncSemaphore } from "../utils/async-semaphore.js";
|
|
2
|
+
import {
|
|
3
|
+
SerialGeneration,
|
|
4
|
+
discoverSerial,
|
|
5
|
+
writeSerialSource
|
|
6
|
+
} from "../serial.js";
|
|
7
|
+
import {
|
|
8
|
+
TOC_FILE_VERSION
|
|
9
|
+
} from "../source/index.js";
|
|
10
|
+
async function importSource(options) {
|
|
11
|
+
return await options.adapter.openSession(
|
|
12
|
+
options.path,
|
|
13
|
+
async (sourceDocument) => {
|
|
14
|
+
return await importSourceDocument(sourceDocument, options);
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
async function importSourceDocument(sourceDocument, options) {
|
|
19
|
+
await assertImportTargetIsEmpty(options.document);
|
|
20
|
+
const meta = await sourceDocument.readMeta();
|
|
21
|
+
const cover = await sourceDocument.readCover();
|
|
22
|
+
const sections = await sourceDocument.readSections();
|
|
23
|
+
const plannedSections = [];
|
|
24
|
+
const serialIdAllocator = {
|
|
25
|
+
nextSerialId: await options.document.peekNextSerialId()
|
|
26
|
+
};
|
|
27
|
+
const toc = {
|
|
28
|
+
version: TOC_FILE_VERSION,
|
|
29
|
+
items: [
|
|
30
|
+
...planTocItems({
|
|
31
|
+
fallbackTitle: meta.title,
|
|
32
|
+
plannedSections,
|
|
33
|
+
sections,
|
|
34
|
+
serialIdAllocator
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
};
|
|
38
|
+
const targetStage = options.targetStage ?? "summarized";
|
|
39
|
+
const generation = targetStage === "planned" || targetStage === "sourced" ? void 0 : new SerialGeneration({
|
|
40
|
+
document: options.document,
|
|
41
|
+
llm: requireImportLLM(options.llm, targetStage),
|
|
42
|
+
...options.logDirPath === void 0 ? {} : { logDirPath: options.logDirPath },
|
|
43
|
+
...options.segmenter === void 0 ? {} : { segmenter: options.segmenter }
|
|
44
|
+
});
|
|
45
|
+
if (options.digestProgressTracker !== void 0 && targetStage !== "planned") {
|
|
46
|
+
const discoveries = await discoverPlannedSections(plannedSections, {
|
|
47
|
+
...options.segmenter === void 0 ? {} : { segmenter: options.segmenter }
|
|
48
|
+
});
|
|
49
|
+
await options.digestProgressTracker.discoverSerials(discoveries);
|
|
50
|
+
}
|
|
51
|
+
const serials = await generatePlannedSerials(plannedSections, {
|
|
52
|
+
document: options.document,
|
|
53
|
+
extractionPrompt: options.extractionPrompt,
|
|
54
|
+
...generation === void 0 ? {} : { generation },
|
|
55
|
+
serialConcurrency: resolveSerialGenerationConcurrency(options.llm),
|
|
56
|
+
targetStage,
|
|
57
|
+
...options.digestProgressTracker === void 0 ? {} : { digestProgressTracker: options.digestProgressTracker },
|
|
58
|
+
...options.userLanguage === void 0 ? {} : { userLanguage: options.userLanguage }
|
|
59
|
+
});
|
|
60
|
+
await options.document.openSession(async (document) => {
|
|
61
|
+
await document.writeBookMeta(meta);
|
|
62
|
+
await document.writeToc(toc);
|
|
63
|
+
if (cover !== void 0) {
|
|
64
|
+
await document.writeCover(cover);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
cover,
|
|
69
|
+
meta,
|
|
70
|
+
serials,
|
|
71
|
+
toc
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async function generatePlannedSerials(plannedSections, options) {
|
|
75
|
+
if (options.targetStage === "planned") {
|
|
76
|
+
await options.document.openSession(async (document) => {
|
|
77
|
+
for (const plannedSection of plannedSections) {
|
|
78
|
+
await document.serials.createWithId(plannedSection.serialId);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
return plannedSections.map((plannedSection) => ({
|
|
82
|
+
id: plannedSection.serialId
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
const limiter = new AsyncSemaphore(options.serialConcurrency);
|
|
86
|
+
const serials = await Promise.all(
|
|
87
|
+
plannedSections.map(async (plannedSection) => {
|
|
88
|
+
return await limiter.use(async () => {
|
|
89
|
+
const context = options.document.createContext();
|
|
90
|
+
context.ownSerial(plannedSection.serialId);
|
|
91
|
+
try {
|
|
92
|
+
const serialProgressTracker = options.digestProgressTracker?.createSerialTracker({
|
|
93
|
+
id: plannedSection.serialId
|
|
94
|
+
});
|
|
95
|
+
const serial = await context.run(async () => {
|
|
96
|
+
if (options.targetStage === "sourced") {
|
|
97
|
+
await options.document.serials.createWithId(
|
|
98
|
+
plannedSection.serialId
|
|
99
|
+
);
|
|
100
|
+
await writeSerialSource(
|
|
101
|
+
options.document,
|
|
102
|
+
plannedSection.serialId,
|
|
103
|
+
await plannedSection.section.open()
|
|
104
|
+
);
|
|
105
|
+
return {
|
|
106
|
+
id: plannedSection.serialId
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
if (options.targetStage === "graphed") {
|
|
110
|
+
await options.document.serials.createWithId(
|
|
111
|
+
plannedSection.serialId
|
|
112
|
+
);
|
|
113
|
+
await writeSerialSource(
|
|
114
|
+
options.document,
|
|
115
|
+
plannedSection.serialId,
|
|
116
|
+
await plannedSection.section.open()
|
|
117
|
+
);
|
|
118
|
+
await requireSerialGeneration(
|
|
119
|
+
options.generation,
|
|
120
|
+
options.targetStage
|
|
121
|
+
).buildTopologyInto(
|
|
122
|
+
plannedSection.serialId,
|
|
123
|
+
{
|
|
124
|
+
extractionPrompt: options.extractionPrompt,
|
|
125
|
+
...options.userLanguage === void 0 ? {} : { userLanguage: options.userLanguage }
|
|
126
|
+
},
|
|
127
|
+
serialProgressTracker
|
|
128
|
+
);
|
|
129
|
+
return {
|
|
130
|
+
id: plannedSection.serialId
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return await requireSerialGeneration(
|
|
134
|
+
options.generation,
|
|
135
|
+
options.targetStage
|
|
136
|
+
).generateInto(
|
|
137
|
+
plannedSection.serialId,
|
|
138
|
+
await plannedSection.section.open(),
|
|
139
|
+
{
|
|
140
|
+
extractionPrompt: options.extractionPrompt,
|
|
141
|
+
...options.userLanguage === void 0 ? {} : { userLanguage: options.userLanguage }
|
|
142
|
+
},
|
|
143
|
+
serialProgressTracker
|
|
144
|
+
);
|
|
145
|
+
});
|
|
146
|
+
context.complete();
|
|
147
|
+
return serial;
|
|
148
|
+
} finally {
|
|
149
|
+
await context.dispose();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
})
|
|
153
|
+
);
|
|
154
|
+
return [...serials].sort((left, right) => left.id - right.id);
|
|
155
|
+
}
|
|
156
|
+
function planTocItems(input) {
|
|
157
|
+
return input.sections.map(
|
|
158
|
+
(section, index) => planTocItem({
|
|
159
|
+
fallbackTitle: input.sections.length === 1 ? input.fallbackTitle : void 0,
|
|
160
|
+
indexPath: [index],
|
|
161
|
+
plannedSections: input.plannedSections,
|
|
162
|
+
section,
|
|
163
|
+
serialIdAllocator: input.serialIdAllocator
|
|
164
|
+
})
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
function planTocItem(input) {
|
|
168
|
+
const serialId = input.section.hasContent ? input.serialIdAllocator.nextSerialId++ : void 0;
|
|
169
|
+
const children = input.section.children.map(
|
|
170
|
+
(child, index) => planTocItem({
|
|
171
|
+
fallbackTitle: void 0,
|
|
172
|
+
indexPath: [...input.indexPath, index],
|
|
173
|
+
plannedSections: input.plannedSections,
|
|
174
|
+
section: child,
|
|
175
|
+
serialIdAllocator: input.serialIdAllocator
|
|
176
|
+
})
|
|
177
|
+
);
|
|
178
|
+
if (serialId !== void 0) {
|
|
179
|
+
input.plannedSections.push({
|
|
180
|
+
section: input.section,
|
|
181
|
+
serialId
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
const title = normalizeTitle(input.section.title) ?? normalizeTitle(input.fallbackTitle);
|
|
185
|
+
return {
|
|
186
|
+
...title === void 0 ? {} : { title },
|
|
187
|
+
...serialId === void 0 ? {} : { serialId },
|
|
188
|
+
children
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
function normalizeTitle(title) {
|
|
192
|
+
const normalized = title?.trim();
|
|
193
|
+
return normalized === void 0 || normalized === "" ? void 0 : normalized;
|
|
194
|
+
}
|
|
195
|
+
async function assertImportTargetIsEmpty(document) {
|
|
196
|
+
const [bookMeta, cover, toc, serialIds] = await Promise.all([
|
|
197
|
+
document.readBookMeta(),
|
|
198
|
+
document.readCover(),
|
|
199
|
+
document.readToc(),
|
|
200
|
+
document.serials.listIds()
|
|
201
|
+
]);
|
|
202
|
+
if (bookMeta !== void 0) {
|
|
203
|
+
throw new Error("Archive metadata already exists");
|
|
204
|
+
}
|
|
205
|
+
if (cover !== void 0) {
|
|
206
|
+
throw new Error("Document cover already exists");
|
|
207
|
+
}
|
|
208
|
+
if (toc !== void 0) {
|
|
209
|
+
throw new Error("Document TOC already exists");
|
|
210
|
+
}
|
|
211
|
+
if (serialIds.length > 0) {
|
|
212
|
+
throw new Error("Document already contains serials");
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
async function discoverPlannedSections(plannedSections, options) {
|
|
216
|
+
if (plannedSections.every(
|
|
217
|
+
(plannedSection) => plannedSection.section.wordsCount !== void 0
|
|
218
|
+
)) {
|
|
219
|
+
return plannedSections.map((plannedSection) => ({
|
|
220
|
+
id: plannedSection.serialId,
|
|
221
|
+
title: plannedSection.section.title?.trim() || void 0,
|
|
222
|
+
words: plannedSection.section.wordsCount ?? 0
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
const discoveries = [];
|
|
226
|
+
for (const plannedSection of plannedSections) {
|
|
227
|
+
discoveries.push({
|
|
228
|
+
id: plannedSection.serialId,
|
|
229
|
+
title: plannedSection.section.title?.trim() || void 0,
|
|
230
|
+
...await discoverSerial({
|
|
231
|
+
...options.segmenter === void 0 ? {} : { segmenter: options.segmenter },
|
|
232
|
+
stream: await plannedSection.section.open()
|
|
233
|
+
})
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
return discoveries;
|
|
237
|
+
}
|
|
238
|
+
function resolveSerialGenerationConcurrency(llm) {
|
|
239
|
+
if (typeof llm !== "object" || llm === null || !("config" in llm) || typeof llm.config !== "object" || llm.config === null || !("concurrent" in llm.config) || typeof llm.config.concurrent !== "number" || !Number.isInteger(llm.config.concurrent) || llm.config.concurrent < 1) {
|
|
240
|
+
return 1;
|
|
241
|
+
}
|
|
242
|
+
return llm.config.concurrent;
|
|
243
|
+
}
|
|
244
|
+
function requireImportLLM(llm, targetStage) {
|
|
245
|
+
if (llm === void 0) {
|
|
246
|
+
throw new Error(`LLM is required to import source to ${targetStage}.`);
|
|
247
|
+
}
|
|
248
|
+
return llm;
|
|
249
|
+
}
|
|
250
|
+
function requireSerialGeneration(generation, targetStage) {
|
|
251
|
+
if (generation === void 0) {
|
|
252
|
+
throw new Error(
|
|
253
|
+
`Internal error: serial generation is required for ${targetStage}.`
|
|
254
|
+
);
|
|
255
|
+
}
|
|
256
|
+
return generation;
|
|
257
|
+
}
|
|
258
|
+
export {
|
|
259
|
+
importSource,
|
|
260
|
+
importSourceDocument
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/facade/import.ts"],"sourcesContent":["import type { Document } from \"../document/index.js\";\nimport type { DigestProgressTracker } from \"../progress/index.js\";\nimport { AsyncSemaphore } from \"../utils/async-semaphore.js\";\nimport {\n SerialGeneration,\n discoverSerial,\n type GenerateSerialOptions,\n type SerialGenerationOptions,\n writeSerialSource,\n} from \"../serial.js\";\nimport {\n TOC_FILE_VERSION,\n type BookMeta,\n type SourceAdapter,\n type SourceAsset,\n type SourceDocument,\n type SourceSection,\n type TocFile,\n type TocItem,\n} from \"../source/index.js\";\nimport type { ChapterStage } from \"./chapter.js\";\n\nexport interface ImportSourceOptions\n extends\n GenerateSerialOptions,\n Omit<SerialGenerationOptions, \"document\" | \"llm\"> {\n readonly adapter: SourceAdapter;\n readonly digestProgressTracker?: DigestProgressTracker;\n readonly document: Document;\n readonly llm?: SerialGenerationOptions[\"llm\"];\n readonly path: string;\n readonly targetStage?: ImportSourceStage;\n}\n\nexport interface ImportedSource {\n readonly cover: SourceAsset | undefined;\n readonly meta: BookMeta;\n readonly serials: readonly ImportedSerial[];\n readonly toc: TocFile;\n}\n\nexport interface ImportedSerial {\n readonly id: number;\n}\n\nexport type ImportSourceStage = ChapterStage;\n\ninterface PlannedSection {\n readonly section: SourceSection;\n readonly serialId: number;\n}\n\ninterface SerialIdAllocator {\n nextSerialId: number;\n}\n\nexport async function importSource(\n options: ImportSourceOptions,\n): Promise<ImportedSource> {\n return await options.adapter.openSession(\n options.path,\n async (sourceDocument) => {\n return await importSourceDocument(sourceDocument, options);\n },\n );\n}\n\nexport async function importSourceDocument(\n sourceDocument: SourceDocument,\n options: Omit<ImportSourceOptions, \"adapter\" | \"path\">,\n): Promise<ImportedSource> {\n await assertImportTargetIsEmpty(options.document);\n\n const meta = await sourceDocument.readMeta();\n const cover = await sourceDocument.readCover();\n const sections = await sourceDocument.readSections();\n const plannedSections: PlannedSection[] = [];\n const serialIdAllocator = {\n nextSerialId: await options.document.peekNextSerialId(),\n } satisfies SerialIdAllocator;\n const toc = {\n version: TOC_FILE_VERSION,\n items: [\n ...planTocItems({\n fallbackTitle: meta.title,\n plannedSections,\n sections,\n serialIdAllocator,\n }),\n ],\n } satisfies TocFile;\n const targetStage = options.targetStage ?? \"summarized\";\n const generation =\n targetStage === \"planned\" || targetStage === \"sourced\"\n ? undefined\n : new SerialGeneration({\n document: options.document,\n llm: requireImportLLM(options.llm, targetStage),\n ...(options.logDirPath === undefined\n ? {}\n : { logDirPath: options.logDirPath }),\n ...(options.segmenter === undefined\n ? {}\n : { segmenter: options.segmenter }),\n });\n\n if (\n options.digestProgressTracker !== undefined &&\n targetStage !== \"planned\"\n ) {\n const discoveries = await discoverPlannedSections(plannedSections, {\n ...(options.segmenter === undefined\n ? {}\n : { segmenter: options.segmenter }),\n });\n\n await options.digestProgressTracker.discoverSerials(discoveries);\n }\n\n const serials = await generatePlannedSerials(plannedSections, {\n document: options.document,\n extractionPrompt: options.extractionPrompt,\n ...(generation === undefined ? {} : { generation }),\n serialConcurrency: resolveSerialGenerationConcurrency(options.llm),\n targetStage,\n ...(options.digestProgressTracker === undefined\n ? {}\n : { digestProgressTracker: options.digestProgressTracker }),\n ...(options.userLanguage === undefined\n ? {}\n : { userLanguage: options.userLanguage }),\n });\n\n await options.document.openSession(async (document) => {\n await document.writeBookMeta(meta);\n await document.writeToc(toc);\n\n if (cover !== undefined) {\n await document.writeCover(cover);\n }\n });\n\n return {\n cover,\n meta,\n serials,\n toc,\n };\n}\n\nasync function generatePlannedSerials(\n plannedSections: readonly PlannedSection[],\n options: {\n readonly digestProgressTracker?: DigestProgressTracker;\n readonly document: Document;\n readonly extractionPrompt: string;\n readonly generation?: SerialGeneration;\n readonly serialConcurrency: number;\n readonly targetStage: ImportSourceStage;\n readonly userLanguage?: GenerateSerialOptions[\"userLanguage\"];\n },\n): Promise<ImportedSerial[]> {\n if (options.targetStage === \"planned\") {\n await options.document.openSession(async (document) => {\n for (const plannedSection of plannedSections) {\n await document.serials.createWithId(plannedSection.serialId);\n }\n });\n\n return plannedSections.map((plannedSection) => ({\n id: plannedSection.serialId,\n }));\n }\n\n const limiter = new AsyncSemaphore(options.serialConcurrency);\n const serials = await Promise.all(\n plannedSections.map(async (plannedSection) => {\n return await limiter.use(async () => {\n const context = options.document.createContext();\n\n context.ownSerial(plannedSection.serialId);\n\n try {\n const serialProgressTracker =\n options.digestProgressTracker?.createSerialTracker({\n id: plannedSection.serialId,\n });\n const serial = await context.run(async () => {\n if (options.targetStage === \"sourced\") {\n await options.document.serials.createWithId(\n plannedSection.serialId,\n );\n await writeSerialSource(\n options.document,\n plannedSection.serialId,\n await plannedSection.section.open(),\n );\n\n return {\n id: plannedSection.serialId,\n } satisfies ImportedSerial;\n }\n\n if (options.targetStage === \"graphed\") {\n await options.document.serials.createWithId(\n plannedSection.serialId,\n );\n await writeSerialSource(\n options.document,\n plannedSection.serialId,\n await plannedSection.section.open(),\n );\n await requireSerialGeneration(\n options.generation,\n options.targetStage,\n ).buildTopologyInto(\n plannedSection.serialId,\n {\n extractionPrompt: options.extractionPrompt,\n ...(options.userLanguage === undefined\n ? {}\n : { userLanguage: options.userLanguage }),\n },\n serialProgressTracker,\n );\n\n return {\n id: plannedSection.serialId,\n } satisfies ImportedSerial;\n }\n\n return await requireSerialGeneration(\n options.generation,\n options.targetStage,\n ).generateInto(\n plannedSection.serialId,\n await plannedSection.section.open(),\n {\n extractionPrompt: options.extractionPrompt,\n ...(options.userLanguage === undefined\n ? {}\n : { userLanguage: options.userLanguage }),\n },\n serialProgressTracker,\n );\n });\n\n context.complete();\n return serial;\n } finally {\n await context.dispose();\n }\n });\n }),\n );\n\n return [...serials].sort((left, right) => left.id - right.id);\n}\n\nfunction planTocItems(input: {\n readonly fallbackTitle: string | null | undefined;\n readonly plannedSections: PlannedSection[];\n readonly sections: readonly SourceSection[];\n readonly serialIdAllocator: SerialIdAllocator;\n}): TocItem[] {\n return input.sections.map((section, index) =>\n planTocItem({\n fallbackTitle:\n input.sections.length === 1 ? input.fallbackTitle : undefined,\n indexPath: [index],\n plannedSections: input.plannedSections,\n section,\n serialIdAllocator: input.serialIdAllocator,\n }),\n );\n}\n\nfunction planTocItem(input: {\n readonly fallbackTitle: string | null | undefined;\n readonly indexPath: readonly number[];\n readonly plannedSections: PlannedSection[];\n readonly section: SourceSection;\n readonly serialIdAllocator: SerialIdAllocator;\n}): TocItem {\n const serialId = input.section.hasContent\n ? input.serialIdAllocator.nextSerialId++\n : undefined;\n const children = input.section.children.map((child, index) =>\n planTocItem({\n fallbackTitle: undefined,\n indexPath: [...input.indexPath, index],\n plannedSections: input.plannedSections,\n section: child,\n serialIdAllocator: input.serialIdAllocator,\n }),\n );\n\n if (serialId !== undefined) {\n input.plannedSections.push({\n section: input.section,\n serialId,\n });\n }\n\n const title =\n normalizeTitle(input.section.title) ?? normalizeTitle(input.fallbackTitle);\n\n return {\n ...(title === undefined ? {} : { title }),\n ...(serialId === undefined ? {} : { serialId }),\n children,\n };\n}\n\nfunction normalizeTitle(title: string | null | undefined): string | undefined {\n const normalized = title?.trim();\n\n return normalized === undefined || normalized === \"\" ? undefined : normalized;\n}\n\nasync function assertImportTargetIsEmpty(document: Document): Promise<void> {\n const [bookMeta, cover, toc, serialIds] = await Promise.all([\n document.readBookMeta(),\n document.readCover(),\n document.readToc(),\n document.serials.listIds(),\n ]);\n\n if (bookMeta !== undefined) {\n throw new Error(\"Archive metadata already exists\");\n }\n if (cover !== undefined) {\n throw new Error(\"Document cover already exists\");\n }\n if (toc !== undefined) {\n throw new Error(\"Document TOC already exists\");\n }\n if (serialIds.length > 0) {\n throw new Error(\"Document already contains serials\");\n }\n}\n\nasync function discoverPlannedSections(\n plannedSections: readonly PlannedSection[],\n options: {\n readonly segmenter?: NonNullable<ImportSourceOptions[\"segmenter\"]>;\n },\n): Promise<\n readonly {\n readonly fragments?: number;\n readonly id: number;\n readonly title?: string | undefined;\n readonly words: number;\n }[]\n> {\n if (\n plannedSections.every(\n (plannedSection) => plannedSection.section.wordsCount !== undefined,\n )\n ) {\n return plannedSections.map((plannedSection) => ({\n id: plannedSection.serialId,\n title: plannedSection.section.title?.trim() || undefined,\n words: plannedSection.section.wordsCount ?? 0,\n }));\n }\n\n const discoveries = [];\n\n for (const plannedSection of plannedSections) {\n discoveries.push({\n id: plannedSection.serialId,\n title: plannedSection.section.title?.trim() || undefined,\n ...(await discoverSerial({\n ...(options.segmenter === undefined\n ? {}\n : { segmenter: options.segmenter }),\n stream: await plannedSection.section.open(),\n })),\n });\n }\n\n return discoveries;\n}\n\nfunction resolveSerialGenerationConcurrency(\n llm: Pick<ImportSourceOptions, \"llm\">[\"llm\"],\n): number {\n if (\n typeof llm !== \"object\" ||\n llm === null ||\n !(\"config\" in llm) ||\n typeof llm.config !== \"object\" ||\n llm.config === null ||\n !(\"concurrent\" in llm.config) ||\n typeof llm.config.concurrent !== \"number\" ||\n !Number.isInteger(llm.config.concurrent) ||\n llm.config.concurrent < 1\n ) {\n return 1;\n }\n\n return llm.config.concurrent;\n}\n\nfunction requireImportLLM(\n llm: ImportSourceOptions[\"llm\"],\n targetStage: ImportSourceStage,\n): NonNullable<ImportSourceOptions[\"llm\"]> {\n if (llm === undefined) {\n throw new Error(`LLM is required to import source to ${targetStage}.`);\n }\n\n return llm;\n}\n\nfunction requireSerialGeneration(\n generation: SerialGeneration | undefined,\n targetStage: ImportSourceStage,\n): SerialGeneration {\n if (generation === undefined) {\n throw new Error(\n `Internal error: serial generation is required for ${targetStage}.`,\n );\n }\n\n return generation;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export { WikiGraph, WikiGraphLLMOptions, WikiGraphOpenSessionOptions, WikiGraphOptions, WikiGraphSourceSessionOptions, WikiGraphTextStreamSessionOptions } from './app.js';
|
|
2
|
+
export { A as ArchiveBacklinkBucket, a as ArchiveBacklinks, b as ArchiveCollectionOptions, c as ArchiveCollectionResult, d as ArchiveCollectionType, e as ArchiveEvidence, f as ArchiveEvidenceItem, g as ArchiveFindEvidencePreview, h as ArchiveFindField, i as ArchiveFindFilterType, j as ArchiveFindHit, k as ArchiveFindObjectType, l as ArchiveFindOptions, m as ArchiveFindOrder, n as ArchiveFindPosition, o as ArchiveFindResult, p as ArchiveIndex, r as ArchiveListItem, s as ArchiveListKind, t as ArchiveNodeLabel, u as ArchiveNodeSourceFragment, v as ArchiveObjectType, w as ArchivePack, x as ArchivePage, y as ArchiveRelatedResult, z as ArchiveTriplePattern, U as findArchiveObjects, V as formatChapterId, W as formatEdgeId, X as formatNodeId, Y as formatSummaryId, Z as getArchiveIndex, _ as grepArchiveObjects, a1 as listAllArchiveLinks, a2 as listArchiveCollection, a3 as listArchiveEvidence, a4 as listArchiveLinks, a5 as listArchiveObjects, a6 as listRelatedArchiveObjects, a7 as packArchiveContext, aa as readArchivePage, ac as readArchiveText, af as rebuildArchiveSearchIndex } from '../index-B8NNnQ8P.js';
|
|
3
|
+
export { ContinuationCursor, createContinuationCursor, readContinuationCursor } from '../archive/query/continuation-cursor.js';
|
|
4
|
+
export { AddBuildJobOptions, BuildJob, BuildJobConflictScope, BuildJobEvent, BuildJobExecutionContext, BuildJobListOptions, BuildJobProgressCounter, BuildJobProgressReporter, BuildJobState, BuildJobTarget, BuildJobWorkerOptions, addBuildJob, assertBuildJobInputRevision, assertNoActiveBuildJobConflicts, assertNoActiveBuildJobs, boostBuildJob, cancelBuildJob, cleanBuildJobs, getBuildJob, listBuildJobs, pauseBuildJob, readBuildJobEvents, recordBuildJobInputRevision, resolveBuildJobId, resumeBuildJob, runBuildJobWorker, runBuildQueueGc, updateBuildJobTarget } from './build-queue.js';
|
|
5
|
+
export { BuildChapterGraphArtifactOptions, BuildChapterSummaryArtifactOptions, ChapterGraphBuildArtifact, buildChapterGraphArtifact, buildChapterSummaryArtifact, buildChapterSummaryArtifactFromSnapshot, commitChapterGraphArtifact, commitChapterSummaryArtifact, readChapterBuildInput, snapshotChapterSummaryInput } from './chapter-build.js';
|
|
6
|
+
export { BuildChapterKnowledgeGraphArtifactOptions, ChapterKnowledgeGraphBuildArtifact, ChapterKnowledgeGraphInputSnapshot, buildChapterKnowledgeGraphArtifact, clearChapterKnowledgeGraph, commitChapterKnowledgeGraphArtifact, createEnrichmentProgressReporter, generateChapterKnowledgeGraphArtifact, generateChapterKnowledgeGraphArtifactFromSnapshot, groundWikimatchCandidates, snapshotChapterKnowledgeGraphInput } from './knowledge-graph-build.js';
|
|
7
|
+
export { AddChapterOptions, AdvanceChapterStagesOptions, AdvanceChapterStagesProgressCallback, AdvanceChapterStagesProgressEvent, AdvanceChapterStagesResult, CHAPTER_STAGES, ChapterDetails, ChapterEntry, ChapterStage, ChapterTree, ChapterTreeApplyResult, ChapterTreeInput, ChapterTreeInputNode, ChapterTreeMoveChange, ChapterTreeNode, ChapterTreeTitleChange, GenerateChapterGraphOptions, GenerateChapterSummaryOptions, MoveChapterOptions, addChapter, advanceChapterStages, applyChapterTree, generateChapterGraph, generateChapterSummary, getChapterDetails, getChapterTree, listChapters, moveChapter, parseChapterTreeInput, removeChapter, resetChapter, setChapterSource, setChapterSummary, setChapterTitle } from './chapter.js';
|
|
8
|
+
export { GraphEdge, GraphEvidenceLine, GraphNeighbor, GraphNode, GraphPathStep, GraphSearchField, GraphSearchHit, GraphStatus, findGraphPath, getGraphEvidence, getGraphNode, getGraphStatus, listGraphNeighbors, listGraphNodes, searchGraphNodes } from './graph.js';
|
|
9
|
+
export { WikiGraphArchive } from './wiki-graph-archive.js';
|
|
10
|
+
export { WikiGraphSerialEntry } from './types.js';
|
|
11
|
+
export { DigestProgressEvent, SerialDiscoveryItem, SerialProgressEvent, SerialsDiscoveredEvent, WikiGraphOperation, WikiGraphProgressCallback, WikiGraphProgressEvent, WikiGraphProgressEventType } from '../progress/types.js';
|
|
12
|
+
import 'ai';
|
|
13
|
+
import '../common/language.js';
|
|
14
|
+
import './digest.js';
|
|
15
|
+
import '../source/meta.js';
|
|
16
|
+
import 'zod';
|
|
17
|
+
import '../common/llm-scope.js';
|
|
18
|
+
import '../reader/types.js';
|
|
19
|
+
import '../reader/attention/attention.js';
|
|
20
|
+
import '../reader/chunk-batch/types.js';
|
|
21
|
+
import '../llm/client.js';
|
|
22
|
+
import '../llm/context.js';
|
|
23
|
+
import '../llm/cache.js';
|
|
24
|
+
import '../llm/types.js';
|
|
25
|
+
import '../document/types.js';
|
|
26
|
+
import '../reader/segment/types.js';
|
|
27
|
+
import '../document/database.js';
|
|
28
|
+
import 'sqlite3';
|
|
29
|
+
import '../document/document.js';
|
|
30
|
+
import '../source/toc.js';
|
|
31
|
+
import '../source/types.js';
|
|
32
|
+
import '../document/text-streams.js';
|
|
33
|
+
import '../document/stores.js';
|
|
34
|
+
import '../wikipage/types.js';
|
|
35
|
+
import '../gc/types.js';
|
|
36
|
+
import '../guaranteed/types.js';
|
|
37
|
+
import '../wikimatch/types.js';
|
|
38
|
+
import '../wikimatch/wikispine.js';
|
|
39
|
+
import '../serial.js';
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import {
|
|
2
|
+
WikiGraph
|
|
3
|
+
} from "./app.js";
|
|
4
|
+
import {
|
|
5
|
+
findArchiveObjects,
|
|
6
|
+
formatChapterId,
|
|
7
|
+
formatEdgeId,
|
|
8
|
+
formatNodeId,
|
|
9
|
+
formatSummaryId,
|
|
10
|
+
getArchiveIndex,
|
|
11
|
+
grepArchiveObjects,
|
|
12
|
+
listArchiveCollection,
|
|
13
|
+
listArchiveEvidence,
|
|
14
|
+
listAllArchiveLinks,
|
|
15
|
+
listArchiveLinks,
|
|
16
|
+
listArchiveObjects,
|
|
17
|
+
listRelatedArchiveObjects,
|
|
18
|
+
packArchiveContext,
|
|
19
|
+
readArchivePage,
|
|
20
|
+
readArchiveText,
|
|
21
|
+
rebuildArchiveSearchIndex
|
|
22
|
+
} from "../archive/query/index.js";
|
|
23
|
+
import {
|
|
24
|
+
addBuildJob,
|
|
25
|
+
assertBuildJobInputRevision,
|
|
26
|
+
assertNoActiveBuildJobConflicts,
|
|
27
|
+
assertNoActiveBuildJobs,
|
|
28
|
+
boostBuildJob,
|
|
29
|
+
cancelBuildJob,
|
|
30
|
+
cleanBuildJobs,
|
|
31
|
+
getBuildJob,
|
|
32
|
+
listBuildJobs,
|
|
33
|
+
pauseBuildJob,
|
|
34
|
+
readBuildJobEvents,
|
|
35
|
+
recordBuildJobInputRevision,
|
|
36
|
+
resumeBuildJob,
|
|
37
|
+
resolveBuildJobId,
|
|
38
|
+
runBuildQueueGc,
|
|
39
|
+
runBuildJobWorker,
|
|
40
|
+
updateBuildJobTarget
|
|
41
|
+
} from "./build-queue.js";
|
|
42
|
+
import {
|
|
43
|
+
buildChapterGraphArtifact,
|
|
44
|
+
buildChapterSummaryArtifact,
|
|
45
|
+
buildChapterSummaryArtifactFromSnapshot,
|
|
46
|
+
commitChapterGraphArtifact,
|
|
47
|
+
commitChapterSummaryArtifact,
|
|
48
|
+
readChapterBuildInput,
|
|
49
|
+
snapshotChapterSummaryInput
|
|
50
|
+
} from "./chapter-build.js";
|
|
51
|
+
import {
|
|
52
|
+
buildChapterKnowledgeGraphArtifact,
|
|
53
|
+
clearChapterKnowledgeGraph,
|
|
54
|
+
commitChapterKnowledgeGraphArtifact,
|
|
55
|
+
createEnrichmentProgressReporter,
|
|
56
|
+
generateChapterKnowledgeGraphArtifact,
|
|
57
|
+
generateChapterKnowledgeGraphArtifactFromSnapshot,
|
|
58
|
+
groundWikimatchCandidates,
|
|
59
|
+
snapshotChapterKnowledgeGraphInput
|
|
60
|
+
} from "./knowledge-graph-build.js";
|
|
61
|
+
import {
|
|
62
|
+
createContinuationCursor,
|
|
63
|
+
readContinuationCursor
|
|
64
|
+
} from "../archive/query/index.js";
|
|
65
|
+
import {
|
|
66
|
+
addChapter,
|
|
67
|
+
advanceChapterStages,
|
|
68
|
+
applyChapterTree,
|
|
69
|
+
CHAPTER_STAGES,
|
|
70
|
+
generateChapterGraph,
|
|
71
|
+
generateChapterSummary,
|
|
72
|
+
getChapterDetails,
|
|
73
|
+
getChapterTree,
|
|
74
|
+
listChapters,
|
|
75
|
+
moveChapter,
|
|
76
|
+
parseChapterTreeInput,
|
|
77
|
+
removeChapter,
|
|
78
|
+
resetChapter,
|
|
79
|
+
setChapterSource,
|
|
80
|
+
setChapterSummary,
|
|
81
|
+
setChapterTitle
|
|
82
|
+
} from "./chapter.js";
|
|
83
|
+
import {
|
|
84
|
+
findGraphPath,
|
|
85
|
+
getGraphEvidence,
|
|
86
|
+
getGraphNode,
|
|
87
|
+
getGraphStatus,
|
|
88
|
+
listGraphNeighbors,
|
|
89
|
+
listGraphNodes,
|
|
90
|
+
searchGraphNodes
|
|
91
|
+
} from "./graph.js";
|
|
92
|
+
import { WikiGraphArchive } from "./wiki-graph-archive.js";
|
|
93
|
+
export {
|
|
94
|
+
CHAPTER_STAGES,
|
|
95
|
+
WikiGraph,
|
|
96
|
+
WikiGraphArchive,
|
|
97
|
+
addBuildJob,
|
|
98
|
+
addChapter,
|
|
99
|
+
advanceChapterStages,
|
|
100
|
+
applyChapterTree,
|
|
101
|
+
assertBuildJobInputRevision,
|
|
102
|
+
assertNoActiveBuildJobConflicts,
|
|
103
|
+
assertNoActiveBuildJobs,
|
|
104
|
+
boostBuildJob,
|
|
105
|
+
buildChapterGraphArtifact,
|
|
106
|
+
buildChapterKnowledgeGraphArtifact,
|
|
107
|
+
buildChapterSummaryArtifact,
|
|
108
|
+
buildChapterSummaryArtifactFromSnapshot,
|
|
109
|
+
cancelBuildJob,
|
|
110
|
+
cleanBuildJobs,
|
|
111
|
+
clearChapterKnowledgeGraph,
|
|
112
|
+
commitChapterGraphArtifact,
|
|
113
|
+
commitChapterKnowledgeGraphArtifact,
|
|
114
|
+
commitChapterSummaryArtifact,
|
|
115
|
+
createContinuationCursor,
|
|
116
|
+
createEnrichmentProgressReporter,
|
|
117
|
+
findArchiveObjects,
|
|
118
|
+
findGraphPath,
|
|
119
|
+
formatChapterId,
|
|
120
|
+
formatEdgeId,
|
|
121
|
+
formatNodeId,
|
|
122
|
+
formatSummaryId,
|
|
123
|
+
generateChapterGraph,
|
|
124
|
+
generateChapterKnowledgeGraphArtifact,
|
|
125
|
+
generateChapterKnowledgeGraphArtifactFromSnapshot,
|
|
126
|
+
generateChapterSummary,
|
|
127
|
+
getArchiveIndex,
|
|
128
|
+
getBuildJob,
|
|
129
|
+
getChapterDetails,
|
|
130
|
+
getChapterTree,
|
|
131
|
+
getGraphEvidence,
|
|
132
|
+
getGraphNode,
|
|
133
|
+
getGraphStatus,
|
|
134
|
+
grepArchiveObjects,
|
|
135
|
+
groundWikimatchCandidates,
|
|
136
|
+
listAllArchiveLinks,
|
|
137
|
+
listArchiveCollection,
|
|
138
|
+
listArchiveEvidence,
|
|
139
|
+
listArchiveLinks,
|
|
140
|
+
listArchiveObjects,
|
|
141
|
+
listBuildJobs,
|
|
142
|
+
listChapters,
|
|
143
|
+
listGraphNeighbors,
|
|
144
|
+
listGraphNodes,
|
|
145
|
+
listRelatedArchiveObjects,
|
|
146
|
+
moveChapter,
|
|
147
|
+
packArchiveContext,
|
|
148
|
+
parseChapterTreeInput,
|
|
149
|
+
pauseBuildJob,
|
|
150
|
+
readArchivePage,
|
|
151
|
+
readArchiveText,
|
|
152
|
+
readBuildJobEvents,
|
|
153
|
+
readChapterBuildInput,
|
|
154
|
+
readContinuationCursor,
|
|
155
|
+
rebuildArchiveSearchIndex,
|
|
156
|
+
recordBuildJobInputRevision,
|
|
157
|
+
removeChapter,
|
|
158
|
+
resetChapter,
|
|
159
|
+
resolveBuildJobId,
|
|
160
|
+
resumeBuildJob,
|
|
161
|
+
runBuildJobWorker,
|
|
162
|
+
runBuildQueueGc,
|
|
163
|
+
searchGraphNodes,
|
|
164
|
+
setChapterSource,
|
|
165
|
+
setChapterSummary,
|
|
166
|
+
setChapterTitle,
|
|
167
|
+
snapshotChapterKnowledgeGraphInput,
|
|
168
|
+
snapshotChapterSummaryInput,
|
|
169
|
+
updateBuildJobTarget
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/facade/index.ts"],"sourcesContent":["export {\n WikiGraph,\n type DigestProgressEvent,\n type SerialDiscoveryItem,\n type WikiGraphOptions,\n type WikiGraphLLMOptions,\n type WikiGraphOpenSessionOptions,\n type WikiGraphProgressCallback,\n type WikiGraphProgressEvent,\n type WikiGraphProgressEventType,\n type WikiGraphOperation,\n type SerialsDiscoveredEvent,\n type SerialProgressEvent,\n type WikiGraphSourceSessionOptions,\n type WikiGraphTextStreamSessionOptions,\n} from \"./app.js\";\nexport {\n findArchiveObjects,\n formatChapterId,\n formatEdgeId,\n formatNodeId,\n formatSummaryId,\n getArchiveIndex,\n grepArchiveObjects,\n listArchiveCollection,\n listArchiveEvidence,\n listAllArchiveLinks,\n listArchiveLinks,\n listArchiveObjects,\n listRelatedArchiveObjects,\n packArchiveContext,\n readArchivePage,\n readArchiveText,\n rebuildArchiveSearchIndex,\n} from \"../archive/query/index.js\";\nexport {\n addBuildJob,\n assertBuildJobInputRevision,\n assertNoActiveBuildJobConflicts,\n assertNoActiveBuildJobs,\n boostBuildJob,\n cancelBuildJob,\n cleanBuildJobs,\n getBuildJob,\n listBuildJobs,\n pauseBuildJob,\n readBuildJobEvents,\n recordBuildJobInputRevision,\n resumeBuildJob,\n resolveBuildJobId,\n runBuildQueueGc,\n runBuildJobWorker,\n updateBuildJobTarget,\n} from \"./build-queue.js\";\nexport type {\n AddBuildJobOptions,\n BuildJobConflictScope,\n BuildJobExecutionContext,\n BuildJob,\n BuildJobEvent,\n BuildJobListOptions,\n BuildJobProgressCounter,\n BuildJobProgressReporter,\n BuildJobState,\n BuildJobTarget,\n BuildJobWorkerOptions,\n} from \"./build-queue.js\";\nexport {\n buildChapterGraphArtifact,\n buildChapterSummaryArtifact,\n buildChapterSummaryArtifactFromSnapshot,\n commitChapterGraphArtifact,\n commitChapterSummaryArtifact,\n readChapterBuildInput,\n snapshotChapterSummaryInput,\n} from \"./chapter-build.js\";\nexport {\n buildChapterKnowledgeGraphArtifact,\n clearChapterKnowledgeGraph,\n commitChapterKnowledgeGraphArtifact,\n createEnrichmentProgressReporter,\n generateChapterKnowledgeGraphArtifact,\n generateChapterKnowledgeGraphArtifactFromSnapshot,\n groundWikimatchCandidates,\n snapshotChapterKnowledgeGraphInput,\n} from \"./knowledge-graph-build.js\";\nexport {\n createContinuationCursor,\n readContinuationCursor,\n} from \"../archive/query/index.js\";\nexport type { ContinuationCursor } from \"../archive/query/index.js\";\nexport type {\n BuildChapterGraphArtifactOptions,\n BuildChapterSummaryArtifactOptions,\n ChapterGraphBuildArtifact,\n} from \"./chapter-build.js\";\nexport type {\n BuildChapterKnowledgeGraphArtifactOptions,\n ChapterKnowledgeGraphBuildArtifact,\n ChapterKnowledgeGraphInputSnapshot,\n} from \"./knowledge-graph-build.js\";\nexport {\n addChapter,\n advanceChapterStages,\n applyChapterTree,\n CHAPTER_STAGES,\n generateChapterGraph,\n generateChapterSummary,\n getChapterDetails,\n getChapterTree,\n listChapters,\n moveChapter,\n parseChapterTreeInput,\n removeChapter,\n resetChapter,\n setChapterSource,\n setChapterSummary,\n setChapterTitle,\n} from \"./chapter.js\";\nexport {\n findGraphPath,\n getGraphEvidence,\n getGraphNode,\n getGraphStatus,\n listGraphNeighbors,\n listGraphNodes,\n searchGraphNodes,\n} from \"./graph.js\";\nexport type {\n ArchiveBacklinkBucket,\n ArchiveBacklinks,\n ArchiveEvidence,\n ArchiveEvidenceItem,\n ArchiveFindEvidencePreview,\n ArchiveCollectionOptions,\n ArchiveCollectionResult,\n ArchiveCollectionType,\n ArchiveFindField,\n ArchiveFindFilterType,\n ArchiveFindHit,\n ArchiveIndex,\n ArchiveListItem,\n ArchiveListKind,\n ArchiveNodeLabel,\n ArchiveNodeSourceFragment,\n ArchiveFindObjectType,\n ArchiveFindOptions,\n ArchiveFindOrder,\n ArchiveFindPosition,\n ArchiveFindResult,\n ArchiveObjectType,\n ArchivePack,\n ArchivePage,\n ArchiveRelatedResult,\n ArchiveTriplePattern,\n} from \"../archive/query/index.js\";\nexport type {\n AddChapterOptions,\n AdvanceChapterStagesOptions,\n AdvanceChapterStagesProgressCallback,\n AdvanceChapterStagesProgressEvent,\n AdvanceChapterStagesResult,\n ChapterDetails,\n ChapterEntry,\n ChapterStage,\n ChapterTree,\n ChapterTreeApplyResult,\n ChapterTreeInput,\n ChapterTreeInputNode,\n ChapterTreeMoveChange,\n ChapterTreeNode,\n ChapterTreeTitleChange,\n GenerateChapterGraphOptions,\n GenerateChapterSummaryOptions,\n MoveChapterOptions,\n} from \"./chapter.js\";\nexport type {\n GraphEdge,\n GraphEvidenceLine,\n GraphNeighbor,\n GraphNode,\n GraphPathStep,\n GraphSearchField,\n GraphSearchHit,\n GraphStatus,\n} from \"./graph.js\";\nexport { WikiGraphArchive } from \"./wiki-graph-archive.js\";\nexport type { WikiGraphSerialEntry } from \"./types.js\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,OAcK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAcP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAYP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA2DP,SAAS,wBAAwB;","names":[]}
|