dsh-zotero 1.0.0 → 1.1.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.en.md +50 -25
- package/README.md +50 -25
- package/cordis.patch.yml +25 -1
- package/docs/plugin-detail.en.md +2 -1
- package/docs/plugin-detail.md +2 -1
- package/lib/artifact-images.d.ts +10 -0
- package/lib/artifact-images.d.ts.map +1 -0
- package/lib/artifact-images.js +29 -0
- package/lib/artifact-images.js.map +1 -0
- package/lib/artifact-reader-preferences.d.ts +14 -0
- package/lib/artifact-reader-preferences.d.ts.map +1 -0
- package/lib/artifact-reader-preferences.js +28 -0
- package/lib/artifact-reader-preferences.js.map +1 -0
- package/lib/browse-rows.d.ts +2 -2
- package/lib/browse-rows.d.ts.map +1 -1
- package/lib/cause-chain.d.ts +20 -0
- package/lib/cause-chain.d.ts.map +1 -0
- package/lib/cause-chain.js +52 -0
- package/lib/cause-chain.js.map +1 -0
- package/lib/changes-contract.d.ts +25 -25
- package/lib/changes-contract.d.ts.map +1 -1
- package/lib/client.js +67 -14183
- package/lib/client.js.map +4 -4
- package/lib/concurrency.d.ts +6 -1
- package/lib/concurrency.d.ts.map +1 -1
- package/lib/concurrency.js +1 -1
- package/lib/concurrency.js.map +1 -1
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +32 -28
- package/lib/config.js.map +1 -1
- package/lib/constants.d.ts +51 -5
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +46 -0
- package/lib/constants.js.map +1 -1
- package/lib/contract.d.ts +460 -4
- package/lib/contract.d.ts.map +1 -1
- package/lib/contract.js +140 -26
- package/lib/contract.js.map +1 -1
- package/lib/credential-names.d.ts +21 -3
- package/lib/credential-names.d.ts.map +1 -1
- package/lib/credential-names.js +22 -0
- package/lib/credential-names.js.map +1 -1
- package/lib/diagnostics.d.ts +10 -2
- package/lib/diagnostics.d.ts.map +1 -1
- package/lib/diagnostics.js +13 -5
- package/lib/diagnostics.js.map +1 -1
- package/lib/enrichment/api.d.ts +60 -0
- package/lib/enrichment/api.d.ts.map +1 -0
- package/lib/enrichment/api.js +89 -0
- package/lib/enrichment/api.js.map +1 -0
- package/lib/enrichment/archive-limits.d.ts +7 -0
- package/lib/enrichment/archive-limits.d.ts.map +1 -0
- package/lib/enrichment/archive-limits.js +7 -0
- package/lib/enrichment/archive-limits.js.map +1 -0
- package/lib/enrichment/archive-worker.d.ts +18 -0
- package/lib/enrichment/archive-worker.d.ts.map +1 -0
- package/lib/enrichment/archive-worker.js +167 -0
- package/lib/enrichment/archive-worker.js.map +1 -0
- package/lib/enrichment/artifact-management.d.ts +39 -0
- package/lib/enrichment/artifact-management.d.ts.map +1 -0
- package/lib/enrichment/artifact-management.js +137 -0
- package/lib/enrichment/artifact-management.js.map +1 -0
- package/lib/enrichment/artifact-metadata.d.ts +48 -0
- package/lib/enrichment/artifact-metadata.d.ts.map +1 -0
- package/lib/enrichment/artifact-metadata.js +87 -0
- package/lib/enrichment/artifact-metadata.js.map +1 -0
- package/lib/enrichment/artifact-reads.d.ts +67 -0
- package/lib/enrichment/artifact-reads.d.ts.map +1 -0
- package/lib/enrichment/artifact-reads.js +318 -0
- package/lib/enrichment/artifact-reads.js.map +1 -0
- package/lib/enrichment/artifact-schema.d.ts +100 -0
- package/lib/enrichment/artifact-schema.d.ts.map +1 -0
- package/lib/enrichment/artifact-schema.js +124 -0
- package/lib/enrichment/artifact-schema.js.map +1 -0
- package/lib/enrichment/artifact-store.d.ts +143 -0
- package/lib/enrichment/artifact-store.d.ts.map +1 -0
- package/lib/enrichment/artifact-store.js +557 -0
- package/lib/enrichment/artifact-store.js.map +1 -0
- package/lib/enrichment/artifact-target.d.ts +38 -0
- package/lib/enrichment/artifact-target.d.ts.map +1 -0
- package/lib/enrichment/artifact-target.js +78 -0
- package/lib/enrichment/artifact-target.js.map +1 -0
- package/lib/enrichment/config.d.ts +48 -0
- package/lib/enrichment/config.d.ts.map +1 -0
- package/lib/enrichment/config.js +74 -0
- package/lib/enrichment/config.js.map +1 -0
- package/lib/enrichment/credentials.d.ts +21 -0
- package/lib/enrichment/credentials.d.ts.map +1 -0
- package/lib/enrichment/credentials.js +39 -0
- package/lib/enrichment/credentials.js.map +1 -0
- package/lib/enrichment/hosts.d.ts +34 -0
- package/lib/enrichment/hosts.d.ts.map +1 -0
- package/lib/enrichment/hosts.js +36 -0
- package/lib/enrichment/hosts.js.map +1 -0
- package/lib/enrichment/identity.d.ts +5 -0
- package/lib/enrichment/identity.d.ts.map +1 -0
- package/lib/enrichment/identity.js +29 -0
- package/lib/enrichment/identity.js.map +1 -0
- package/lib/enrichment/index.d.ts +15 -0
- package/lib/enrichment/index.d.ts.map +1 -0
- package/lib/enrichment/index.js +14 -0
- package/lib/enrichment/index.js.map +1 -0
- package/lib/enrichment/limits.d.ts +26 -0
- package/lib/enrichment/limits.d.ts.map +1 -0
- package/lib/enrichment/limits.js +26 -0
- package/lib/enrichment/limits.js.map +1 -0
- package/lib/enrichment/markdown-images.d.ts +2 -0
- package/lib/enrichment/markdown-images.d.ts.map +1 -0
- package/lib/enrichment/markdown-images.js +44 -0
- package/lib/enrichment/markdown-images.js.map +1 -0
- package/lib/enrichment/model-bundle-inspector.d.ts +33 -0
- package/lib/enrichment/model-bundle-inspector.d.ts.map +1 -0
- package/lib/enrichment/model-bundle-inspector.js +268 -0
- package/lib/enrichment/model-bundle-inspector.js.map +1 -0
- package/lib/enrichment/model-dir.d.ts +34 -0
- package/lib/enrichment/model-dir.d.ts.map +1 -0
- package/lib/enrichment/model-dir.js +59 -0
- package/lib/enrichment/model-dir.js.map +1 -0
- package/lib/enrichment/model-download-client.d.ts +86 -0
- package/lib/enrichment/model-download-client.d.ts.map +1 -0
- package/lib/enrichment/model-download-client.js +319 -0
- package/lib/enrichment/model-download-client.js.map +1 -0
- package/lib/enrichment/model-downloader.d.ts +117 -0
- package/lib/enrichment/model-downloader.d.ts.map +1 -0
- package/lib/enrichment/model-downloader.js +427 -0
- package/lib/enrichment/model-downloader.js.map +1 -0
- package/lib/enrichment/model-installation.d.ts +101 -0
- package/lib/enrichment/model-installation.d.ts.map +1 -0
- package/lib/enrichment/model-installation.js +450 -0
- package/lib/enrichment/model-installation.js.map +1 -0
- package/lib/enrichment/model-manifest.d.ts +58 -0
- package/lib/enrichment/model-manifest.d.ts.map +1 -0
- package/lib/enrichment/model-manifest.js +104 -0
- package/lib/enrichment/model-manifest.js.map +1 -0
- package/lib/enrichment/model-removal.d.ts +42 -0
- package/lib/enrichment/model-removal.d.ts.map +1 -0
- package/lib/enrichment/model-removal.js +173 -0
- package/lib/enrichment/model-removal.js.map +1 -0
- package/lib/enrichment/output-dir.d.ts +25 -0
- package/lib/enrichment/output-dir.d.ts.map +1 -0
- package/lib/enrichment/output-dir.js +31 -0
- package/lib/enrichment/output-dir.js.map +1 -0
- package/lib/enrichment/parse-document.d.ts +45 -0
- package/lib/enrichment/parse-document.d.ts.map +1 -0
- package/lib/enrichment/parse-document.js +161 -0
- package/lib/enrichment/parse-document.js.map +1 -0
- package/lib/enrichment/parse-jobs.d.ts +164 -0
- package/lib/enrichment/parse-jobs.d.ts.map +1 -0
- package/lib/enrichment/parse-jobs.js +759 -0
- package/lib/enrichment/parse-jobs.js.map +1 -0
- package/lib/enrichment/parse-once.d.ts +92 -0
- package/lib/enrichment/parse-once.d.ts.map +1 -0
- package/lib/enrichment/parse-once.js +367 -0
- package/lib/enrichment/parse-once.js.map +1 -0
- package/lib/enrichment/parse-target.d.ts +22 -0
- package/lib/enrichment/parse-target.d.ts.map +1 -0
- package/lib/enrichment/parse-target.js +116 -0
- package/lib/enrichment/parse-target.js.map +1 -0
- package/lib/enrichment/safe-directory-path.d.ts +31 -0
- package/lib/enrichment/safe-directory-path.d.ts.map +1 -0
- package/lib/enrichment/safe-directory-path.js +140 -0
- package/lib/enrichment/safe-directory-path.js.map +1 -0
- package/lib/enrichment/safe-directory.d.ts +17 -0
- package/lib/enrichment/safe-directory.d.ts.map +1 -0
- package/lib/enrichment/safe-directory.js +18 -0
- package/lib/enrichment/safe-directory.js.map +1 -0
- package/lib/enrichment/semantic/admission.d.ts +54 -0
- package/lib/enrichment/semantic/admission.d.ts.map +1 -0
- package/lib/enrichment/semantic/admission.js +78 -0
- package/lib/enrichment/semantic/admission.js.map +1 -0
- package/lib/enrichment/semantic/batching.d.ts +3 -0
- package/lib/enrichment/semantic/batching.d.ts.map +1 -0
- package/lib/enrichment/semantic/batching.js +3 -0
- package/lib/enrichment/semantic/batching.js.map +1 -0
- package/lib/enrichment/semantic/bundle.d.ts +68 -0
- package/lib/enrichment/semantic/bundle.d.ts.map +1 -0
- package/lib/enrichment/semantic/bundle.js +183 -0
- package/lib/enrichment/semantic/bundle.js.map +1 -0
- package/lib/enrichment/semantic/loader.d.ts +90 -0
- package/lib/enrichment/semantic/loader.d.ts.map +1 -0
- package/lib/enrichment/semantic/loader.js +262 -0
- package/lib/enrichment/semantic/loader.js.map +1 -0
- package/lib/enrichment/semantic/model-profiles.d.ts +39 -0
- package/lib/enrichment/semantic/model-profiles.d.ts.map +1 -0
- package/lib/enrichment/semantic/model-profiles.js +47 -0
- package/lib/enrichment/semantic/model-profiles.js.map +1 -0
- package/lib/enrichment/semantic/ranker.d.ts +70 -0
- package/lib/enrichment/semantic/ranker.d.ts.map +1 -0
- package/lib/enrichment/semantic/ranker.js +189 -0
- package/lib/enrichment/semantic/ranker.js.map +1 -0
- package/lib/enrichment/semantic/session.d.ts +85 -0
- package/lib/enrichment/semantic/session.d.ts.map +1 -0
- package/lib/enrichment/semantic/session.js +263 -0
- package/lib/enrichment/semantic/session.js.map +1 -0
- package/lib/enrichment/semantic/tensor.d.ts +42 -0
- package/lib/enrichment/semantic/tensor.d.ts.map +1 -0
- package/lib/enrichment/semantic/tensor.js +109 -0
- package/lib/enrichment/semantic/tensor.js.map +1 -0
- package/lib/enrichment/semantic/tokenizer.d.ts +74 -0
- package/lib/enrichment/semantic/tokenizer.d.ts.map +1 -0
- package/lib/enrichment/semantic/tokenizer.js +77 -0
- package/lib/enrichment/semantic/tokenizer.js.map +1 -0
- package/lib/enrichment/semantic/vector-cache.d.ts +56 -0
- package/lib/enrichment/semantic/vector-cache.d.ts.map +1 -0
- package/lib/enrichment/semantic/vector-cache.js +246 -0
- package/lib/enrichment/semantic/vector-cache.js.map +1 -0
- package/lib/enrichment/service.d.ts +159 -0
- package/lib/enrichment/service.d.ts.map +1 -0
- package/lib/enrichment/service.js +562 -0
- package/lib/enrichment/service.js.map +1 -0
- package/lib/enrichment/source-bytes.d.ts +71 -0
- package/lib/enrichment/source-bytes.d.ts.map +1 -0
- package/lib/enrichment/source-bytes.js +208 -0
- package/lib/enrichment/source-bytes.js.map +1 -0
- package/lib/enrichment/source-stamp.d.ts +25 -0
- package/lib/enrichment/source-stamp.d.ts.map +1 -0
- package/lib/enrichment/source-stamp.js +54 -0
- package/lib/enrichment/source-stamp.js.map +1 -0
- package/lib/enrichment/transport.d.ts +98 -0
- package/lib/enrichment/transport.d.ts.map +1 -0
- package/lib/enrichment/transport.js +319 -0
- package/lib/enrichment/transport.js.map +1 -0
- package/lib/enrichment/types.d.ts +88 -0
- package/lib/enrichment/types.d.ts.map +1 -0
- package/lib/enrichment/types.js +11 -0
- package/lib/enrichment/types.js.map +1 -0
- package/lib/enrichment/zip-worker.d.ts +2 -0
- package/lib/enrichment/zip-worker.d.ts.map +1 -0
- package/lib/enrichment/zip-worker.js +18 -0
- package/lib/enrichment/zip-worker.js.map +1 -0
- package/lib/enrichment/zip.d.ts +25 -0
- package/lib/enrichment/zip.d.ts.map +1 -0
- package/lib/enrichment/zip.js +164 -0
- package/lib/enrichment/zip.js.map +1 -0
- package/lib/enrichment-model-catalog.d.ts +102 -0
- package/lib/enrichment-model-catalog.d.ts.map +1 -0
- package/lib/enrichment-model-catalog.js +331 -0
- package/lib/enrichment-model-catalog.js.map +1 -0
- package/lib/enrichment-preferences.d.ts +49 -0
- package/lib/enrichment-preferences.d.ts.map +1 -0
- package/lib/enrichment-preferences.js +67 -0
- package/lib/enrichment-preferences.js.map +1 -0
- package/lib/environment.d.ts +18 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +30 -0
- package/lib/environment.js.map +1 -1
- package/lib/errors.d.ts +103 -8
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +202 -21
- package/lib/errors.js.map +1 -1
- package/lib/evidence-item.d.ts +26 -4
- package/lib/evidence-item.d.ts.map +1 -1
- package/lib/evidence-item.js +11 -1
- package/lib/evidence-item.js.map +1 -1
- package/lib/evidence.d.ts +52 -1
- package/lib/evidence.d.ts.map +1 -1
- package/lib/evidence.js +295 -13
- package/lib/evidence.js.map +1 -1
- package/lib/export-limits.d.ts +6 -5
- package/lib/export-limits.d.ts.map +1 -1
- package/lib/export-limits.js +7 -7
- package/lib/export-limits.js.map +1 -1
- package/lib/fiber-state.d.ts.map +1 -1
- package/lib/http-client.d.ts +13 -1
- package/lib/http-client.d.ts.map +1 -1
- package/lib/http-client.js +34 -7
- package/lib/http-client.js.map +1 -1
- package/lib/job-runner.d.ts +39 -16
- package/lib/job-runner.d.ts.map +1 -1
- package/lib/job-runner.js +105 -37
- package/lib/job-runner.js.map +1 -1
- package/lib/library/config.d.ts +26 -15
- package/lib/library/config.d.ts.map +1 -1
- package/lib/library/config.js +53 -13
- package/lib/library/config.js.map +1 -1
- package/lib/library/pdf-files.d.ts +16 -0
- package/lib/library/pdf-files.d.ts.map +1 -0
- package/lib/library/pdf-files.js +87 -0
- package/lib/library/pdf-files.js.map +1 -0
- package/lib/library/service.d.ts +34 -0
- package/lib/library/service.d.ts.map +1 -1
- package/lib/library/service.js +106 -23
- package/lib/library/service.js.map +1 -1
- package/lib/library/url-pdf.d.ts +24 -0
- package/lib/library/url-pdf.d.ts.map +1 -0
- package/lib/library/url-pdf.js +116 -0
- package/lib/library/url-pdf.js.map +1 -0
- package/lib/library-preferences.d.ts +28 -0
- package/lib/library-preferences.d.ts.map +1 -0
- package/lib/library-preferences.js +62 -0
- package/lib/library-preferences.js.map +1 -0
- package/lib/library-write-denial.d.ts +20 -32
- package/lib/library-write-denial.d.ts.map +1 -1
- package/lib/library-write-denial.js +15 -41
- package/lib/library-write-denial.js.map +1 -1
- package/lib/library-write.js +1 -1
- package/lib/library-write.js.map +1 -1
- package/lib/local/browse-domain.js.map +1 -1
- package/lib/local/changes-domain.js.map +1 -1
- package/lib/local/evidence-ranker.d.ts +176 -0
- package/lib/local/evidence-ranker.d.ts.map +1 -0
- package/lib/local/evidence-ranker.js +205 -0
- package/lib/local/evidence-ranker.js.map +1 -0
- package/lib/local/export-domain.d.ts.map +1 -1
- package/lib/local/export-domain.js +35 -14
- package/lib/local/export-domain.js.map +1 -1
- package/lib/local/fulltext-enhancer.d.ts +60 -0
- package/lib/local/fulltext-enhancer.d.ts.map +1 -0
- package/lib/local/fulltext-enhancer.js +23 -0
- package/lib/local/fulltext-enhancer.js.map +1 -0
- package/lib/local/item-batch.d.ts +18 -9
- package/lib/local/item-batch.d.ts.map +1 -1
- package/lib/local/item-batch.js +81 -33
- package/lib/local/item-batch.js.map +1 -1
- package/lib/local/item-schema-directory.d.ts.map +1 -1
- package/lib/local/item-schema-directory.js.map +1 -1
- package/lib/local/match-references-domain.d.ts +4 -0
- package/lib/local/match-references-domain.d.ts.map +1 -1
- package/lib/local/match-references-domain.js +28 -59
- package/lib/local/match-references-domain.js.map +1 -1
- package/lib/local/path-resolution.js.map +1 -1
- package/lib/local/provider.d.ts +35 -13
- package/lib/local/provider.d.ts.map +1 -1
- package/lib/local/provider.js +46 -19
- package/lib/local/provider.js.map +1 -1
- package/lib/local/retrieve-fulltext.d.ts +42 -12
- package/lib/local/retrieve-fulltext.d.ts.map +1 -1
- package/lib/local/retrieve-fulltext.js +55 -5
- package/lib/local/retrieve-fulltext.js.map +1 -1
- package/lib/local/retrieve.d.ts +9 -11
- package/lib/local/retrieve.d.ts.map +1 -1
- package/lib/local/retrieve.js +147 -61
- package/lib/local/retrieve.js.map +1 -1
- package/lib/local/scope-directory.d.ts.map +1 -1
- package/lib/local/scope-directory.js +6 -2
- package/lib/local/scope-directory.js.map +1 -1
- package/lib/local/search-domain.d.ts +6 -3
- package/lib/local/search-domain.d.ts.map +1 -1
- package/lib/local/search-domain.js +126 -54
- package/lib/local/search-domain.js.map +1 -1
- package/lib/local/search-index.d.ts +10 -0
- package/lib/local/search-index.d.ts.map +1 -1
- package/lib/local/search-index.js +31 -14
- package/lib/local/search-index.js.map +1 -1
- package/lib/local/trash-item.d.ts +7 -3
- package/lib/local/trash-item.d.ts.map +1 -1
- package/lib/local/trash-item.js +24 -15
- package/lib/local/trash-item.js.map +1 -1
- package/lib/local/write-batch.d.ts.map +1 -1
- package/lib/local/write-batch.js +50 -26
- package/lib/local/write-batch.js.map +1 -1
- package/lib/local/write-collections.d.ts +3 -3
- package/lib/local/write-collections.d.ts.map +1 -1
- package/lib/local/write-collections.js +35 -17
- package/lib/local/write-collections.js.map +1 -1
- package/lib/local/write-domain.d.ts +2 -2
- package/lib/local/write-domain.d.ts.map +1 -1
- package/lib/local/write-domain.js +9 -2
- package/lib/local/write-domain.js.map +1 -1
- package/lib/local/write-item-lists.d.ts +3 -3
- package/lib/local/write-item-lists.d.ts.map +1 -1
- package/lib/local/write-item-lists.js +21 -2
- package/lib/local/write-item-lists.js.map +1 -1
- package/lib/local/write-library-maintenance.d.ts +11 -3
- package/lib/local/write-library-maintenance.d.ts.map +1 -1
- package/lib/local/write-library-maintenance.js +90 -22
- package/lib/local/write-library-maintenance.js.map +1 -1
- package/lib/local/write-notes.d.ts +2 -2
- package/lib/local/write-notes.d.ts.map +1 -1
- package/lib/local/write-notes.js +9 -2
- package/lib/local/write-notes.js.map +1 -1
- package/lib/local/write-saved-searches.d.ts +2 -2
- package/lib/local/write-saved-searches.d.ts.map +1 -1
- package/lib/local/write-saved-searches.js +31 -13
- package/lib/local/write-saved-searches.js.map +1 -1
- package/lib/local/write-trash-graph.d.ts +48 -0
- package/lib/local/write-trash-graph.d.ts.map +1 -0
- package/lib/local/write-trash-graph.js +59 -0
- package/lib/local/write-trash-graph.js.map +1 -0
- package/lib/local/write-verdicts.d.ts +28 -3
- package/lib/local/write-verdicts.d.ts.map +1 -1
- package/lib/local/write-verdicts.js +32 -8
- package/lib/local/write-verdicts.js.map +1 -1
- package/lib/normalize-children.js.map +1 -1
- package/lib/normalize-item-detail.d.ts.map +1 -1
- package/lib/normalize-item-detail.js +9 -1
- package/lib/normalize-item-detail.js.map +1 -1
- package/lib/parameter-correction.d.ts.map +1 -1
- package/lib/parameter-correction.js +10 -2
- package/lib/parameter-correction.js.map +1 -1
- package/lib/parsed-title.d.ts +14 -0
- package/lib/parsed-title.d.ts.map +1 -0
- package/lib/parsed-title.js +24 -0
- package/lib/parsed-title.js.map +1 -0
- package/lib/presentation-meta.d.ts.map +1 -1
- package/lib/presentation-meta.js +10 -0
- package/lib/presentation-meta.js.map +1 -1
- package/lib/prompt.d.ts +2 -2
- package/lib/prompt.d.ts.map +1 -1
- package/lib/race-signal.d.ts +18 -0
- package/lib/race-signal.d.ts.map +1 -0
- package/lib/race-signal.js +35 -0
- package/lib/race-signal.js.map +1 -0
- package/lib/refs.js.map +1 -1
- package/lib/remote.d.ts +16 -2
- package/lib/remote.d.ts.map +1 -1
- package/lib/remote.js +50 -26
- package/lib/remote.js.map +1 -1
- package/lib/result-delivery.d.ts +1 -0
- package/lib/result-delivery.d.ts.map +1 -1
- package/lib/result-delivery.js +44 -28
- package/lib/result-delivery.js.map +1 -1
- package/lib/schema-helpers.d.ts +14 -0
- package/lib/schema-helpers.d.ts.map +1 -0
- package/lib/schema-helpers.js +18 -0
- package/lib/schema-helpers.js.map +1 -0
- package/lib/scholarly/config.d.ts +1 -1
- package/lib/scholarly/config.d.ts.map +1 -1
- package/lib/scholarly/config.js +3 -0
- package/lib/scholarly/config.js.map +1 -1
- package/lib/scholarly/credentials.d.ts.map +1 -1
- package/lib/scholarly/credentials.js +1 -6
- package/lib/scholarly/credentials.js.map +1 -1
- package/lib/scholarly/fulltext/evidence-bridge.d.ts +56 -18
- package/lib/scholarly/fulltext/evidence-bridge.d.ts.map +1 -1
- package/lib/scholarly/fulltext/evidence-bridge.js +61 -36
- package/lib/scholarly/fulltext/evidence-bridge.js.map +1 -1
- package/lib/scholarly/fulltext/resolve.d.ts +4 -1
- package/lib/scholarly/fulltext/resolve.d.ts.map +1 -1
- package/lib/scholarly/fulltext/resolve.js +132 -68
- package/lib/scholarly/fulltext/resolve.js.map +1 -1
- package/lib/scholarly/fulltext/store.d.ts +44 -66
- package/lib/scholarly/fulltext/store.d.ts.map +1 -1
- package/lib/scholarly/fulltext/store.js +149 -122
- package/lib/scholarly/fulltext/store.js.map +1 -1
- package/lib/scholarly/fusion.d.ts.map +1 -1
- package/lib/scholarly/fusion.js +1 -1
- package/lib/scholarly/fusion.js.map +1 -1
- package/lib/scholarly/prompt.js.map +1 -1
- package/lib/scholarly/service.d.ts +3 -0
- package/lib/scholarly/service.d.ts.map +1 -1
- package/lib/scholarly/service.js +66 -7
- package/lib/scholarly/service.js.map +1 -1
- package/lib/scholarly/sources/crossref.d.ts +10 -0
- package/lib/scholarly/sources/crossref.d.ts.map +1 -1
- package/lib/scholarly/sources/crossref.js +6 -3
- package/lib/scholarly/sources/crossref.js.map +1 -1
- package/lib/scholarly/tools/common.d.ts +35 -16
- package/lib/scholarly/tools/common.d.ts.map +1 -1
- package/lib/scholarly/tools/common.js.map +1 -1
- package/lib/scholarly/tools/failure.d.ts +51 -3
- package/lib/scholarly/tools/failure.d.ts.map +1 -1
- package/lib/scholarly/tools/failure.js +73 -5
- package/lib/scholarly/tools/failure.js.map +1 -1
- package/lib/scholarly/tools/get.d.ts.map +1 -1
- package/lib/scholarly/tools/get.js +24 -6
- package/lib/scholarly/tools/get.js.map +1 -1
- package/lib/scholarly/tools/index.d.ts +3 -1
- package/lib/scholarly/tools/index.d.ts.map +1 -1
- package/lib/scholarly/tools/index.js +4 -4
- package/lib/scholarly/tools/index.js.map +1 -1
- package/lib/scholarly/tools/jobs.d.ts +54 -54
- package/lib/scholarly/tools/jobs.d.ts.map +1 -1
- package/lib/scholarly/tools/read.d.ts +18 -2
- package/lib/scholarly/tools/read.d.ts.map +1 -1
- package/lib/scholarly/tools/read.js +180 -116
- package/lib/scholarly/tools/read.js.map +1 -1
- package/lib/scholarly/tools/save-to-zotero.d.ts +63 -54
- package/lib/scholarly/tools/save-to-zotero.d.ts.map +1 -1
- package/lib/scholarly/tools/search.d.ts +3 -1
- package/lib/scholarly/tools/search.d.ts.map +1 -1
- package/lib/scholarly/tools/search.js +19 -5
- package/lib/scholarly/tools/search.js.map +1 -1
- package/lib/scholarly/tools/verify.d.ts +3 -1
- package/lib/scholarly/tools/verify.d.ts.map +1 -1
- package/lib/scholarly/tools/verify.js +48 -9
- package/lib/scholarly/tools/verify.js.map +1 -1
- package/lib/scholarly/transport/allowlist.d.ts +7 -25
- package/lib/scholarly/transport/allowlist.d.ts.map +1 -1
- package/lib/scholarly/transport/allowlist.js +13 -55
- package/lib/scholarly/transport/allowlist.js.map +1 -1
- package/lib/scholarly/transport/circuit-breaker.d.ts +5 -2
- package/lib/scholarly/transport/circuit-breaker.d.ts.map +1 -1
- package/lib/scholarly/transport/circuit-breaker.js +25 -3
- package/lib/scholarly/transport/circuit-breaker.js.map +1 -1
- package/lib/scholarly/transport/http.d.ts +66 -3
- package/lib/scholarly/transport/http.d.ts.map +1 -1
- package/lib/scholarly/transport/http.js +280 -40
- package/lib/scholarly/transport/http.js.map +1 -1
- package/lib/scholarly/transport/pacing.d.ts.map +1 -1
- package/lib/scholarly/transport/pacing.js +26 -16
- package/lib/scholarly/transport/pacing.js.map +1 -1
- package/lib/scholarly/types.d.ts +2 -2
- package/lib/scholarly/types.d.ts.map +1 -1
- package/lib/scholarly/zotero-link.d.ts +20 -0
- package/lib/scholarly/zotero-link.d.ts.map +1 -1
- package/lib/scholarly/zotero-link.js +5 -2
- package/lib/scholarly/zotero-link.js.map +1 -1
- package/lib/service-config.d.ts +3 -1
- package/lib/service-config.d.ts.map +1 -1
- package/lib/service-config.js +3 -1
- package/lib/service-config.js.map +1 -1
- package/lib/service-lifecycle.d.ts +4 -5
- package/lib/service-lifecycle.d.ts.map +1 -1
- package/lib/service-lifecycle.js +5 -8
- package/lib/service-lifecycle.js.map +1 -1
- package/lib/service.d.ts +130 -16
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +245 -57
- package/lib/service.js.map +1 -1
- package/lib/session-projection/source-ledger.d.ts +36 -200
- package/lib/session-projection/source-ledger.d.ts.map +1 -1
- package/lib/session-projection/source-ledger.js +89 -207
- package/lib/session-projection/source-ledger.js.map +1 -1
- package/lib/settings-namespace.d.ts +9 -0
- package/lib/settings-namespace.d.ts.map +1 -1
- package/lib/settings-namespace.js +9 -0
- package/lib/settings-namespace.js.map +1 -1
- package/lib/shell-write-detector.d.ts +13 -1
- package/lib/shell-write-detector.d.ts.map +1 -1
- package/lib/shell-write-detector.js +26 -4
- package/lib/shell-write-detector.js.map +1 -1
- package/lib/skills/core.d.ts +1 -1
- package/lib/skills/core.d.ts.map +1 -1
- package/lib/skills/core.js +7 -1
- package/lib/skills/core.js.map +1 -1
- package/lib/skills/definition.js +1 -1
- package/lib/skills/definition.js.map +1 -1
- package/lib/skills/paper-digest.d.ts +3 -0
- package/lib/skills/paper-digest.d.ts.map +1 -0
- package/lib/skills/paper-digest.js +69 -0
- package/lib/skills/paper-digest.js.map +1 -0
- package/lib/source-page.d.ts +29 -0
- package/lib/source-page.d.ts.map +1 -0
- package/lib/source-page.js +103 -0
- package/lib/source-page.js.map +1 -0
- package/lib/sources/bibtex.d.ts +1 -1
- package/lib/sources/bibtex.js +1 -1
- package/lib/sources/decoders.d.ts +56 -8
- package/lib/sources/decoders.d.ts.map +1 -1
- package/lib/sources/decoders.js +95 -8
- package/lib/sources/decoders.js.map +1 -1
- package/lib/sources/event-ledger.d.ts +43 -3
- package/lib/sources/event-ledger.d.ts.map +1 -1
- package/lib/sources/event-ledger.js +104 -20
- package/lib/sources/event-ledger.js.map +1 -1
- package/lib/sources/evidence-match.d.ts +1 -1
- package/lib/sources/evidence-match.js +1 -1
- package/lib/sources/export-body.d.ts +19 -0
- package/lib/sources/export-body.d.ts.map +1 -0
- package/lib/sources/export-body.js +26 -0
- package/lib/sources/export-body.js.map +1 -0
- package/lib/sources/export-decoder.d.ts +1 -1
- package/lib/sources/export-decoder.js +1 -1
- package/lib/sources/filters.d.ts +59 -0
- package/lib/sources/filters.d.ts.map +1 -0
- package/lib/sources/filters.js +94 -0
- package/lib/sources/filters.js.map +1 -0
- package/lib/sources/ledger.d.ts +132 -5
- package/lib/sources/ledger.d.ts.map +1 -1
- package/lib/sources/ledger.js +576 -292
- package/lib/sources/ledger.js.map +1 -1
- package/lib/sources/model.d.ts +43 -4
- package/lib/sources/model.d.ts.map +1 -1
- package/lib/sources/model.js +20 -2
- package/lib/sources/model.js.map +1 -1
- package/lib/sources/presenters.d.ts +30 -19
- package/lib/sources/presenters.d.ts.map +1 -1
- package/lib/sources/presenters.js +106 -20
- package/lib/sources/presenters.js.map +1 -1
- package/lib/sources/source-capabilities.d.ts +65 -0
- package/lib/sources/source-capabilities.d.ts.map +1 -0
- package/lib/sources/source-capabilities.js +119 -0
- package/lib/sources/source-capabilities.js.map +1 -0
- package/lib/sources/window.d.ts +14 -0
- package/lib/sources/window.d.ts.map +1 -0
- package/lib/sources/window.js +23 -0
- package/lib/sources/window.js.map +1 -0
- package/lib/sources/workspace-schema.d.ts +398 -0
- package/lib/sources/workspace-schema.d.ts.map +1 -0
- package/lib/sources/workspace-schema.js +210 -0
- package/lib/sources/workspace-schema.js.map +1 -0
- package/lib/subagent-guard.d.ts.map +1 -1
- package/lib/subagent-guard.js +5 -5
- package/lib/subagent-guard.js.map +1 -1
- package/lib/tool-registration.d.ts +7 -1
- package/lib/tool-registration.d.ts.map +1 -1
- package/lib/tool-registration.js +10 -7
- package/lib/tool-registration.js.map +1 -1
- package/lib/tools/batch-items.d.ts +48 -48
- package/lib/tools/batch-items.d.ts.map +1 -1
- package/lib/tools/batch-items.js.map +1 -1
- package/lib/tools/browse.d.ts +85 -82
- package/lib/tools/browse.d.ts.map +1 -1
- package/lib/tools/browse.js +17 -14
- package/lib/tools/browse.js.map +1 -1
- package/lib/tools/changes.d.ts +85 -84
- package/lib/tools/changes.d.ts.map +1 -1
- package/lib/tools/changes.js +17 -16
- package/lib/tools/changes.js.map +1 -1
- package/lib/tools/child-records.d.ts +49 -49
- package/lib/tools/child-records.d.ts.map +1 -1
- package/lib/tools/create-collection.d.ts +37 -28
- package/lib/tools/create-collection.d.ts.map +1 -1
- package/lib/tools/create-item.d.ts +65 -56
- package/lib/tools/create-item.d.ts.map +1 -1
- package/lib/tools/create-note.d.ts +53 -44
- package/lib/tools/create-note.d.ts.map +1 -1
- package/lib/tools/create-note.js +4 -3
- package/lib/tools/create-note.js.map +1 -1
- package/lib/tools/degradable.js +1 -1
- package/lib/tools/degradable.js.map +1 -1
- package/lib/tools/delete-collection.d.ts +62 -12
- package/lib/tools/delete-collection.d.ts.map +1 -1
- package/lib/tools/delete-collection.js +7 -2
- package/lib/tools/delete-collection.js.map +1 -1
- package/lib/tools/delete-library-tags.d.ts +69 -13
- package/lib/tools/delete-library-tags.d.ts.map +1 -1
- package/lib/tools/delete-library-tags.js +20 -6
- package/lib/tools/delete-library-tags.js.map +1 -1
- package/lib/tools/export.d.ts +8 -8
- package/lib/tools/export.d.ts.map +1 -1
- package/lib/tools/export.js +44 -51
- package/lib/tools/export.js.map +1 -1
- package/lib/tools/get-batch.d.ts +33 -32
- package/lib/tools/get-batch.d.ts.map +1 -1
- package/lib/tools/get-batch.js +5 -4
- package/lib/tools/get-batch.js.map +1 -1
- package/lib/tools/get.d.ts +178 -178
- package/lib/tools/get.d.ts.map +1 -1
- package/lib/tools/get.js.map +1 -1
- package/lib/tools/match-references.d.ts +25 -24
- package/lib/tools/match-references.d.ts.map +1 -1
- package/lib/tools/match-references.js +3 -2
- package/lib/tools/match-references.js.map +1 -1
- package/lib/tools/note-markdown.d.ts +13 -0
- package/lib/tools/note-markdown.d.ts.map +1 -0
- package/lib/tools/note-markdown.js +13 -0
- package/lib/tools/note-markdown.js.map +1 -0
- package/lib/tools/query-variants.d.ts +21 -0
- package/lib/tools/query-variants.d.ts.map +1 -0
- package/lib/tools/query-variants.js +42 -0
- package/lib/tools/query-variants.js.map +1 -0
- package/lib/tools/restore-items.d.ts +96 -27
- package/lib/tools/restore-items.d.ts.map +1 -1
- package/lib/tools/restore-items.js +48 -9
- package/lib/tools/restore-items.js.map +1 -1
- package/lib/tools/retrieve.d.ts +234 -60
- package/lib/tools/retrieve.d.ts.map +1 -1
- package/lib/tools/retrieve.js +139 -14
- package/lib/tools/retrieve.js.map +1 -1
- package/lib/tools/saved-search.d.ts.map +1 -1
- package/lib/tools/saved-search.js +20 -7
- package/lib/tools/saved-search.js.map +1 -1
- package/lib/tools/search.d.ts +145 -144
- package/lib/tools/search.d.ts.map +1 -1
- package/lib/tools/search.js +10 -9
- package/lib/tools/search.js.map +1 -1
- package/lib/tools/update-collection.d.ts.map +1 -1
- package/lib/tools/update-collection.js +6 -1
- package/lib/tools/update-collection.js.map +1 -1
- package/lib/tools/update-item-collections.d.ts +5 -5
- package/lib/tools/update-item-collections.d.ts.map +1 -1
- package/lib/tools/update-item-collections.js +3 -1
- package/lib/tools/update-item-collections.js.map +1 -1
- package/lib/tools/update-item-tags.d.ts +6 -6
- package/lib/tools/update-item-tags.d.ts.map +1 -1
- package/lib/tools/update-item-tags.js +3 -1
- package/lib/tools/update-item-tags.js.map +1 -1
- package/lib/tools/update-item.d.ts +73 -23
- package/lib/tools/update-item.d.ts.map +1 -1
- package/lib/tools/update-item.js +7 -2
- package/lib/tools/update-item.js.map +1 -1
- package/lib/tools/update-note.d.ts +3 -3
- package/lib/tools/update-note.d.ts.map +1 -1
- package/lib/tools/update-note.js +8 -2
- package/lib/tools/update-note.js.map +1 -1
- package/lib/tools/validate.d.ts +4 -4
- package/lib/tools/validate.d.ts.map +1 -1
- package/lib/tools/validate.js +18 -12
- package/lib/tools/validate.js.map +1 -1
- package/lib/transport/connections.d.ts +59 -0
- package/lib/transport/connections.d.ts.map +1 -0
- package/lib/transport/connections.js +71 -0
- package/lib/transport/connections.js.map +1 -0
- package/lib/transport/network.d.ts +142 -0
- package/lib/transport/network.d.ts.map +1 -0
- package/lib/transport/network.js +352 -0
- package/lib/transport/network.js.map +1 -0
- package/lib/transport/public-url.d.ts +75 -0
- package/lib/transport/public-url.d.ts.map +1 -0
- package/lib/transport/public-url.js +103 -0
- package/lib/transport/public-url.js.map +1 -0
- package/lib/transport-bounds.d.ts.map +1 -1
- package/lib/transport-bounds.js.map +1 -1
- package/lib/transport-diagnostics.d.ts.map +1 -1
- package/lib/transport-diagnostics.js +6 -2
- package/lib/transport-diagnostics.js.map +1 -1
- package/lib/typert.d.ts.map +1 -1
- package/lib/typert.js +76 -2
- package/lib/typert.js.map +1 -1
- package/lib/types.d.ts +122 -36
- package/lib/types.d.ts.map +1 -1
- package/lib/waiter-flight.d.ts +26 -0
- package/lib/waiter-flight.d.ts.map +1 -0
- package/lib/waiter-flight.js +50 -0
- package/lib/waiter-flight.js.map +1 -0
- package/lib/wire-schemas.d.ts +804 -47
- package/lib/wire-schemas.d.ts.map +1 -1
- package/lib/wire-schemas.js +464 -1
- package/lib/wire-schemas.js.map +1 -1
- package/lib/write-approval.d.ts +1 -1
- package/lib/write-approval.js +4 -4
- package/lib/write-approval.js.map +1 -1
- package/lib/write-auth.d.ts +21 -0
- package/lib/write-auth.d.ts.map +1 -1
- package/lib/write-auth.js +32 -7
- package/lib/write-auth.js.map +1 -1
- package/lib/write-http.d.ts +16 -12
- package/lib/write-http.d.ts.map +1 -1
- package/lib/write-http.js +43 -23
- package/lib/write-http.js.map +1 -1
- package/lib/write-present.d.ts +266 -143
- package/lib/write-present.d.ts.map +1 -1
- package/lib/write-present.js +46 -6
- package/lib/write-present.js.map +1 -1
- package/locale/enrichment/en.json +6 -0
- package/locale/enrichment/zh.json +6 -0
- package/package.json +254 -219
- package/lib/remediation/contract.d.ts +0 -124
- package/lib/remediation/contract.d.ts.map +0 -1
- package/lib/remediation/contract.js +0 -11
- package/lib/remediation/contract.js.map +0 -1
- package/lib/remediation/service.d.ts +0 -40
- package/lib/remediation/service.d.ts.map +0 -1
- package/lib/remediation/service.js +0 -236
- package/lib/remediation/service.js.map +0 -1
- package/lib/remediation/session-events.d.ts +0 -15
- package/lib/remediation/session-events.d.ts.map +0 -1
- package/lib/remediation/session-events.js +0 -15
- package/lib/remediation/session-events.js.map +0 -1
package/README.en.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/v/dsh-zotero" alt="npm version" style="max-width:100%;"></a>
|
|
12
12
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/dm/dsh-zotero" alt="npm downloads" style="max-width:100%;"></a>
|
|
13
13
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/l/dsh-zotero" alt="license" style="max-width:100%;"></a>
|
|
14
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.2-rc.
|
|
14
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.2-rc.2"><img src="https://img.shields.io/badge/dsh-0.2.2--rc.2-blue" alt="dsh version" style="max-width:100%;"></a>
|
|
15
15
|
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin"></a>
|
|
16
16
|
<a href="https://github.com/hashgraph-online/hol-guard"><img src="https://img.shields.io/badge/HOL%20Guard-passing-00a67e" alt="HOL Guard Scanner"></a>
|
|
17
17
|
</p>
|
|
@@ -27,19 +27,30 @@ All operations interact with Zotero through its local API (`127.0.0.1:23119`). R
|
|
|
27
27
|
|
|
28
28
|
## Features
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
- **Literature
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
30
|
+
The agent searches, reads, and cites the library with tools in conversation; the literature trail checks what it did in this session; the literature panel is yours to browse the whole library.
|
|
31
|
+
|
|
32
|
+
- **Conversation**
|
|
33
|
+
- Search and browsing: Search by title, author, year, tag, or full text, scoped to the whole library, My Publications, one collection, or one saved search. Read collection trees, tags, and saved searches, and batch-read known refs with a separate result for each one.
|
|
34
|
+
- Passage location: Pull passages from full text, notes, and annotations for a specific question. Every passage names its source, annotations keep their Zotero page numbers, and the result reports full-text coverage and the sources it skipped.
|
|
35
|
+
- Ranking and matches: BM25 lexical ranking by default. Optional local semantic ranking runs six CPU-only embedding tiers and fuses them with BM25 through RRF, with every passage reporting a lexical, semantic, or hybrid match. Up to four query variants are scored separately and each passage keeps its best score; an empty result says whether nothing overlapped or no source was available.
|
|
36
|
+
- Citations and export: Generate in-text citations or a merged bibliography in CSL styles, and export BibTeX, BibLaTeX, RIS, or CSL-JSON. Style and locale follow the configured defaults.
|
|
37
|
+
- Reconciliation and changes: Reconcile DOIs, BibTeX keys, or bibliographic fields against the library and get back refs, citation keys, confidence, and a reviewable field diff. Report additions, modifications, and deletions from the library version, with the Trash counted separately.
|
|
38
|
+
- Research SOPs: Eight phased workflows loaded on demand, with only their names and short descriptions resident in the prompt and each carrying stage budgets and stop conditions. The core component ships four (paper digest, evidence synthesis, manuscript audit, library governance) and the scholarly component adds four (research landscape, citation lineage, publication integrity, literature intake).
|
|
39
|
+
- **Literature trail (session header)**
|
|
40
|
+
- Search conditions: Every call lists its query, scope (library, My Publications, collection, saved search), mode (metadata or full text), filters, and hit count, with the total and note hits counted separately.
|
|
41
|
+
- Passage review: Passages and annotations are grouped by item with their source, page number, and coverage; refused or cancelled calls are recorded too.
|
|
42
|
+
- Export summary: Every citation and BibTeX entry from the session is collected across items, split by format, and deduplicated, ready to copy or download; failed exports are listed on their own.
|
|
43
|
+
- Long sessions: History-window truncation leaves early items intact. Long lists page, and switching to the trail reads the existing result.
|
|
44
|
+
- **Literature panel (right sidebar)**
|
|
45
|
+
- Browsing and filtering: Switch libraries, expand the collection tree on demand, and open saved searches, My Publications, and the Trash. The item list searches metadata or full text, sorts by several fields, and filters by type, tag, year, and attachment presence.
|
|
46
|
+
- Details and reading: Metadata, collections and tags, and the notes, attachments, and annotations sub-collections page independently. Local PDFs open in the right reading pane, and with `allowUrlPdfRead` enabled the panel also reads URL attachments already in the library.
|
|
47
|
+
- Citations and handoff: Copy a citation, bibliography, or BibTeX entry from the action row, and send selected items into the chat draft. The composer's Zotero button and bibliography deliverables both open the panel.
|
|
48
|
+
- State restoration: Per Zotero instance, the panel remembers the selected item, the active section, and expanded collection branches, along with the scroll position and child pagination.
|
|
49
|
+
- Parsed results: With the document parsing component enabled, an item's action row opens a parsed tab named after the paper (full text, figures, selection actions), and the toolbar's Manage parsed docs page lists every artifact, with state and keyword filters, per-row open or reparse, and page-wide batch discard.
|
|
50
|
+
- **Optional capabilities (off by default)**
|
|
51
|
+
- Library writes: Enabling `writeEnabled` registers 15 tools that write only to the personal library, covering notes, tags and collection membership, collections, items, saved searches, Trash restore, library-wide tags, and batch operations. Every write passes a capability check, a session approval, and a plan-review card; a commit that cannot be verified reports "committed but unverified".
|
|
52
|
+
- Scholarly retrieval (`dsh-zotero/scholarly`): Seven tools cover arXiv, OpenAlex, Crossref, Semantic Scholar, PubMed, Europe PMC, and DBLP, fuse and deduplicate the results, and mark what the library already holds. They read open-access full text by DOI, arXiv ID, PMID, or PMCID, follow citation networks, fetch authoritative citations from the DOI registry, verify references and retraction status (verified, needs review, registry says none, or unverifiable), and save results into the personal library when you ask for it.
|
|
53
|
+
- Document parsing and semantic ranking (`dsh-zotero/enrichment`): Enabling the document parsing component accepts MinerU document egress for documents you submit yourself, and a parse still needs you to submit one specific Zotero PDF attachment or public PDF URL. Once it succeeds, ordinary reads and scholarly full-text reads reuse the Markdown artifact and keep its figures; the six semantic tiers can be downloaded, verified, and deleted here.
|
|
43
54
|
|
|
44
55
|
For details on interaction patterns, UI roles, and runtime boundaries, see the [product model](docs/product-model.en.md).
|
|
45
56
|
|
|
@@ -50,7 +61,7 @@ For details on interaction patterns, UI roles, and runtime boundaries, see the [
|
|
|
50
61
|
In the DeepSeek Harness desktop app, open **Plugins** in the sidebar, click **Add Plugin**, and enter the package identifier:
|
|
51
62
|
|
|
52
63
|
- Latest version (recommended): `dsh-zotero`
|
|
53
|
-
- Specific version: `dsh-zotero@0.
|
|
64
|
+
- Specific version: `dsh-zotero@1.0.1`
|
|
54
65
|
- GitHub prebuilt branch: `github:Vncntvx/dsh-zotero#release`
|
|
55
66
|
|
|
56
67
|
### Command line
|
|
@@ -68,7 +79,7 @@ dsh plugin --profile <name> add github:Vncntvx/dsh-zotero#release
|
|
|
68
79
|
|
|
69
80
|
Start a new session after installation. Open the **dsh-zotero** detail page in the plugin manager; its configuration section carries the full configuration form.
|
|
70
81
|
|
|
71
|
-
> Note:
|
|
82
|
+
> Note: installing directly from the `main` source branch needs a local `prepare` build plus an `allowBuilds` entry for `dsh-zotero` in the profile's `pnpm-workspace.yaml`; the `#release` branch or the npm package skips that step. Separately, npm, `#release`, and local tarball installs need a one-time approval for the transitive `protobufjs` install script on pnpm 11 — see [Getting Started](docs/getting-started.en.md).
|
|
72
83
|
|
|
73
84
|
## Prerequisites
|
|
74
85
|
|
|
@@ -112,7 +123,9 @@ When writing papers or organizing literature independently, use the **Literature
|
|
|
112
123
|
|
|
113
124
|
## Tools
|
|
114
125
|
|
|
115
|
-
The plugin
|
|
126
|
+
The plugin registers 23 local tools (8 read + 15 write) and 7 scholarly retrieval tools. Local write tools are off by default; turn on `writeEnabled` in configuration to enable them. Scholarly tools become available when the `dsh-zotero/scholarly` component is enabled.
|
|
127
|
+
|
|
128
|
+
### Local read tools (8)
|
|
116
129
|
|
|
117
130
|
| Tool | Purpose |
|
|
118
131
|
| ------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
@@ -125,19 +138,31 @@ The plugin provides eight read tools and fifteen write tools. Write tools are of
|
|
|
125
138
|
| `zotero_changes` | Check recent additions, modifications, and deletions in the library |
|
|
126
139
|
| `zotero_export` | Generate formatted citations or a bibliography, or export BibTeX, RIS, or CSL JSON |
|
|
127
140
|
|
|
128
|
-
|
|
141
|
+
### Scholarly retrieval tools (7, optional component `dsh-zotero/scholarly`)
|
|
142
|
+
|
|
143
|
+
| Tool | Purpose |
|
|
144
|
+
| -------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
145
|
+
| `scholarly_search` | Search across arXiv, OpenAlex, Crossref, S2, PubMed, Europe PMC, and DBLP with RRF fusion |
|
|
146
|
+
| `scholarly_get` | Retrieve full bibliographic metadata and open-access PDF links for external papers |
|
|
147
|
+
| `scholarly_citations` | Follow forward citation and backward reference networks |
|
|
148
|
+
| `scholarly_read` | Open-access PDF reading and passage extraction (supports outline, section, and query modes) |
|
|
149
|
+
| `scholarly_cite` | Fetch authoritative BibTeX, RIS, or formatted citations directly from DOI registration agencies |
|
|
150
|
+
| `scholarly_verify` | Verify reference list authenticity, DOI matches, and retraction notices against Crossref |
|
|
151
|
+
| `scholarly_save_to_zotero` | Save externally retrieved papers to the personal Zotero library (write operation, needs approval) |
|
|
152
|
+
|
|
153
|
+
The fifteen write tools (notes, tags and collection membership, collections, items, saved searches, Trash restore, library-wide tags, and batch operations) are off by default. Once enabled they write only to the personal library, and every write needs approval. See the [tool reference](docs/tools.en.md) for the full contract of all 23 local tools and 7 scholarly tools.
|
|
129
154
|
|
|
130
155
|
## Documentation
|
|
131
156
|
|
|
132
157
|
### Usage
|
|
133
158
|
|
|
134
|
-
| Document | Covers
|
|
135
|
-
| --------------------------------------------- |
|
|
136
|
-
| [Getting started](docs/getting-started.en.md) | Installation, connection verification, and the first task
|
|
137
|
-
| [Product model](docs/product-model.en.md) | Two entry points, two UI surfaces, component division, and system boundaries
|
|
138
|
-
| [Features](docs/features.en.md) | Conversation capabilities, the literature trail, the literature panel, writes,
|
|
139
|
-
| [Research SOP skills](docs/skills.en.md) |
|
|
140
|
-
| [Troubleshooting](docs/troubleshooting.en.md) | Common issues, diagnostic steps, and remedies
|
|
159
|
+
| Document | Covers |
|
|
160
|
+
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
161
|
+
| [Getting started](docs/getting-started.en.md) | Installation, connection verification, and the first task |
|
|
162
|
+
| [Product model](docs/product-model.en.md) | Two entry points, two UI surfaces, component division, and system boundaries |
|
|
163
|
+
| [Features](docs/features.en.md) | Conversation capabilities, the literature trail, the literature panel, writes, scholarly retrieval, and document parsing |
|
|
164
|
+
| [Research SOP skills](docs/skills.en.md) | Eight on-demand research workflows, batching budgets and evidence boundaries |
|
|
165
|
+
| [Troubleshooting](docs/troubleshooting.en.md) | Common issues, diagnostic steps, and remedies |
|
|
141
166
|
|
|
142
167
|
### Maintenance
|
|
143
168
|
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/v/dsh-zotero" alt="npm version" style="max-width:100%;"></a>
|
|
12
12
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/dm/dsh-zotero" alt="npm downloads" style="max-width:100%;"></a>
|
|
13
13
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/l/dsh-zotero" alt="license" style="max-width:100%;"></a>
|
|
14
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.2-rc.
|
|
14
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.2-rc.2"><img src="https://img.shields.io/badge/dsh-0.2.2--rc.2-blue" alt="dsh 版本" style="max-width:100%;"></a>
|
|
15
15
|
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin"></a>
|
|
16
16
|
<a href="https://github.com/hashgraph-online/hol-guard"><img src="https://img.shields.io/badge/HOL%20Guard-passing-00a67e" alt="HOL Guard Scanner"></a>
|
|
17
17
|
</p>
|
|
@@ -27,19 +27,30 @@ dsh-zotero 是面向 DeepSeek Harness 的本地 Zotero 插件。Agent 在对话
|
|
|
27
27
|
|
|
28
28
|
## 主要功能
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
30
|
+
Agent 在对话里用工具检索、阅读与引用文献;文献轨迹核对它在这个会话做过的事;文献面板由你独立翻阅整个库。
|
|
31
|
+
|
|
32
|
+
- **对话**
|
|
33
|
+
- 检索与浏览:按标题、作者、年份、标签或全文检索,范围可限定全库、我的出版物、某个合集或某个保存的搜索;合集树、标签与保存的搜索可直接浏览;已知 ref 支持批量读取,每条结果单独报告。
|
|
34
|
+
- 原文定位:围绕具体问题从全文、笔记与批注中取回片段。每条片段标明来源,批注保留 Zotero 页码,结果同时报告全文覆盖度与被跳过的来源。
|
|
35
|
+
- 排序与命中:默认 BM25 词面排序;可选本地语义排序,六档本地嵌入模型在 CPU 上运行,结果与 BM25 经 RRF 融合,每条片段标注词法、语义或混合命中。一次最多给四种问法分别打分,每条片段取最高分;空结果会说明是没有词面重合,还是没有可用来源。
|
|
36
|
+
- 引用与导出:按 CSL 样式生成行内引用或合并参考文献表,导出 BibTeX、BibLaTeX、RIS 与 CSL-JSON,样式与语言沿用配置默认值。
|
|
37
|
+
- 对账与变更:用 DOI、BibTeX 键或文献字段与本地库对账,返回 ref、citekey、置信度与可审阅的字段差异;按库版本号报告新增、修改与删除,回收站单列。
|
|
38
|
+
- 研究 SOP:八个按需加载的分阶段流程,常驻提示词里只有名称与短描述,每个流程都带阶段预算与停止条件。核心组件带四个(单篇速读、证据比较、写作对账、文库治理),启用学术检索组件后另有四个(主题版图、引文脉络、真伪审查、文献入库)。
|
|
39
|
+
- **文献轨迹(会话顶部)**
|
|
40
|
+
- 检索条件:按调用列出查询词、范围(库、我的出版物、合集、保存搜索)、模式(元数据或全文)、筛选条件与命中数,总数与笔记命中分开计。
|
|
41
|
+
- 原文核对:按条目聚合读过的片段与批注,带来源、页码与覆盖度;被拒绝或取消的调用同样记录。
|
|
42
|
+
- 导出汇总:跨条目汇总本轮生成的全部引用与 BibTeX,按格式分段、自动去重,可复制或下载;失败的导出单独列出。
|
|
43
|
+
- 长会话:历史窗口截断不影响早期条目;长列表分页,切换时直接读已有结果。
|
|
44
|
+
- **文献面板(右侧边栏)**
|
|
45
|
+
- 浏览与筛选:多库切换、按需展开的合集树、保存的搜索、我的出版物与回收站;条目列表支持元数据与全文两种检索模式、多种排序,并能按类型、标签、年份、有无附件筛选。
|
|
46
|
+
- 详情与阅读:条目元数据、合集与标签、笔记/附件/批注三个子集合分别分页;本地 PDF 在右侧阅读栏打开,开启 `allowUrlPdfRead` 后也能读取库内已有的 URL 附件。
|
|
47
|
+
- 引用与联动:动作行复制引用、参考文献表或 BibTeX;选中文献可填入对话草稿;输入框的 Zotero 按钮与书目交付物都能直接打开面板。
|
|
48
|
+
- 状态恢复:按 Zotero 实例记住选中条目、当前分段与展开的合集分支,滚动位置与子条目分页一并保留。
|
|
49
|
+
- 解析结果:启用文档解析组件后,条目动作行可打开以论文标题命名的解析标签页(全文、插图、选段解释);工具栏的「解析文档管理」页列出全部产物,支持筛选、逐行打开或重新解析,以及整页批量删除。
|
|
50
|
+
- **可选能力(默认关闭)**
|
|
51
|
+
- 写入文献库:开启 `writeEnabled` 后注册 15 个只写个人库的工具,覆盖笔记、标签与合集归属、合集、条目、保存搜索、Trash 恢复、全库标签与批量操作;每次写入都经过能力检查、会话审批与计划审查卡,提交结果未核验时显示「已提交未确认」。
|
|
52
|
+
- 学术检索(`dsh-zotero/scholarly`):7 个工具覆盖 arXiv、OpenAlex、Crossref、Semantic Scholar、PubMed、Europe PMC 与 DBLP,结果融合去重并标出「已在本地库」。可按 DOI、arXiv ID、PMID、PMCID 读开放获取全文、追踪引文网络、从 DOI 注册中心取权威引用、核验参考文献与撤稿状态(分为已核实、需人工确认、注册表说没有、无法核验四种结论),并在你明确要求时保存进个人库。
|
|
53
|
+
- 文档解析与语义排序(`dsh-zotero/enrichment`):启用即表示接受向 MinerU 外发你主动提交的文档;解析需要你针对一个具体的 Zotero PDF 附件或公开 PDF URL 显式提交,成功后普通检索与学术全文精读自动复用 Markdown 产物,插图一并保留;本地语义排序的六档模型可在这里下载、校验与删除。
|
|
43
54
|
|
|
44
55
|
交互方式、界面分工与运行边界详见[产品模型](docs/product-model.md)。
|
|
45
56
|
|
|
@@ -50,7 +61,7 @@ dsh-zotero 是面向 DeepSeek Harness 的本地 Zotero 插件。Agent 在对话
|
|
|
50
61
|
在 DeepSeek Harness 桌面端打开侧栏的**插件**,点击**添加插件**,输入对应标识:
|
|
51
62
|
|
|
52
63
|
- 最新版(推荐):`dsh-zotero`
|
|
53
|
-
- 指定版本:`dsh-zotero@0.
|
|
64
|
+
- 指定版本:`dsh-zotero@1.0.1`
|
|
54
65
|
- GitHub 预构建分支:`github:Vncntvx/dsh-zotero#release`
|
|
55
66
|
|
|
56
67
|
### 命令行安装
|
|
@@ -68,7 +79,7 @@ dsh plugin --profile <name> add github:Vncntvx/dsh-zotero#release
|
|
|
68
79
|
|
|
69
80
|
安装完成后新建会话即可使用。在插件管理器中打开 **dsh-zotero** 详情页,其配置区提供完整配置表单。
|
|
70
81
|
|
|
71
|
-
> 提示:从 `main`
|
|
82
|
+
> 提示:从 `main` 源码分支直接安装需要本地执行 `prepare` 构建,并在 profile 的 `pnpm-workspace.yaml` 中允许 `dsh-zotero` 的构建脚本;改用 `#release` 分支或 npm 包可免除这一步。另外,npm、`#release` 与本地 tarball 安装在 pnpm 11 上需要一次性批准传递依赖 `protobufjs` 的安装脚本,详见[快速入门](docs/getting-started.md)。
|
|
72
83
|
|
|
73
84
|
## 前置条件
|
|
74
85
|
|
|
@@ -112,7 +123,9 @@ dsh plugin --profile <name> add github:Vncntvx/dsh-zotero#release
|
|
|
112
123
|
|
|
113
124
|
## 工具一览
|
|
114
125
|
|
|
115
|
-
|
|
126
|
+
插件注册 23 个本地工具(8 个读工具 + 15 个写工具)以及 7 个学术检索工具。本地写入工具默认关闭,可在配置中开启 `writeEnabled`;学术检索工具随 `dsh-zotero/scholarly` 组件启用。
|
|
127
|
+
|
|
128
|
+
### 本地读取工具(8 个)
|
|
116
129
|
|
|
117
130
|
| 工具 | 用途 |
|
|
118
131
|
| ------------------------- | ------------------------------------------------------------ |
|
|
@@ -125,19 +138,31 @@ dsh plugin --profile <name> add github:Vncntvx/dsh-zotero#release
|
|
|
125
138
|
| `zotero_changes` | 检查文献库最近的新增、修改或删除记录 |
|
|
126
139
|
| `zotero_export` | 生成格式化引用、参考文献列表,或导出 BibTeX、RIS、CSL JSON |
|
|
127
140
|
|
|
128
|
-
|
|
141
|
+
### 学术检索工具(7 个,可选组件 `dsh-zotero/scholarly`)
|
|
142
|
+
|
|
143
|
+
| 工具 | 用途 |
|
|
144
|
+
| -------------------------- | ------------------------------------------------------------------------- |
|
|
145
|
+
| `scholarly_search` | 跨 arXiv、OpenAlex、Crossref、S2、PubMed、Europe PMC、DBLP 检索并融合去重 |
|
|
146
|
+
| `scholarly_get` | 获取外部文献元数据详情与开放获取全文直链 |
|
|
147
|
+
| `scholarly_citations` | 追踪论文的引用与被引网络 |
|
|
148
|
+
| `scholarly_read` | 开放获取 PDF 全文精读与段落证据提取(支持 outline/section/query) |
|
|
149
|
+
| `scholarly_cite` | 从 DOI 注册中心获取权威 BibTeX、RIS 与格式化引用 |
|
|
150
|
+
| `scholarly_verify` | 对照 Crossref 官方数据库核验参考文献真实性与撤稿状态 |
|
|
151
|
+
| `scholarly_save_to_zotero` | 将外部检索到的文献保存至本地 Zotero 个人库(写操作,需审批) |
|
|
152
|
+
|
|
153
|
+
15 个写入工具(笔记、标签与合集归属、合集、条目、保存搜索、Trash 恢复、全库标签、批量操作)默认关闭,开启后仅写入个人库,且每次写入都需要审批。全部 23 个本地工具与 7 个学术工具的完整契约见[工具参考](docs/tools.md)。
|
|
129
154
|
|
|
130
155
|
## 说明文档
|
|
131
156
|
|
|
132
157
|
### 使用
|
|
133
158
|
|
|
134
|
-
| 文档 | 内容
|
|
135
|
-
| ----------------------------------- |
|
|
136
|
-
| [快速入门](docs/getting-started.md) | 安装、连接验证与第一个任务
|
|
137
|
-
| [产品模型](docs/product-model.md) | 两个入口、两大视图、组件分工与系统边界
|
|
138
|
-
| [功能概览](docs/features.md) |
|
|
139
|
-
| [研究 SOP 技能](docs/skills.md) |
|
|
140
|
-
| [故障排查](docs/troubleshooting.md) | 常见问题、诊断步骤与处理方法
|
|
159
|
+
| 文档 | 内容 |
|
|
160
|
+
| ----------------------------------- | ------------------------------------------------------ |
|
|
161
|
+
| [快速入门](docs/getting-started.md) | 安装、连接验证与第一个任务 |
|
|
162
|
+
| [产品模型](docs/product-model.md) | 两个入口、两大视图、组件分工与系统边界 |
|
|
163
|
+
| [功能概览](docs/features.md) | 对话能力、文献轨迹、文献面板、写入、学术检索与文档解析 |
|
|
164
|
+
| [研究 SOP 技能](docs/skills.md) | 八个按需研究流程、批处理预算与证据边界 |
|
|
165
|
+
| [故障排查](docs/troubleshooting.md) | 常见问题、诊断步骤与处理方法 |
|
|
141
166
|
|
|
142
167
|
### 维护
|
|
143
168
|
|
package/cordis.patch.yml
CHANGED
|
@@ -15,7 +15,31 @@
|
|
|
15
15
|
# It ships off. Its row's switch in the plugin manager's "Included
|
|
16
16
|
# components" list is the only authorization: mounting the component
|
|
17
17
|
# registers its seven tools and permits requests to the allowlisted
|
|
18
|
-
# external indexes
|
|
18
|
+
# external indexes; the open-access PDF fulltext arm is the single
|
|
19
|
+
# allowlist exception and is guarded by the public-address gates.
|
|
19
20
|
- id: scholarly
|
|
20
21
|
name: dsh-zotero/scholarly
|
|
21
22
|
disabled: true
|
|
23
|
+
# The enrichment component makes three independent capabilities available:
|
|
24
|
+
# user-submitted MinerU document parsing, read-only reuse of existing
|
|
25
|
+
# parsed artifacts, and local semantic passage ranking with its pinned
|
|
26
|
+
# embedding models. It ships off. Mounting the row registers no model
|
|
27
|
+
# tools and injects no prompt section. Enabling the component is the
|
|
28
|
+
# deployment's acceptance of document egress to MinerU; it starts no work.
|
|
29
|
+
# Ordinary reads use the core's read-only FulltextEnhancer.lookup slot to
|
|
30
|
+
# reuse valid Markdown for the same source; a miss continues through the
|
|
31
|
+
# existing Zotero fulltext index or authorized local PDF extraction. Only
|
|
32
|
+
# an explicit user submission of one specific Zotero PDF attachment or one
|
|
33
|
+
# public PDF URL starts a MinerU parse, with remote-action and session
|
|
34
|
+
# access checks. PDF opening, settings saves, and service startup never
|
|
35
|
+
# submit, resume, or upload a MinerU task.
|
|
36
|
+
# Local semantic ranking needs no MinerU call or upload permission. With
|
|
37
|
+
# semantic search enabled but its model missing, corrupt, or its runtime
|
|
38
|
+
# unavailable, a read fails explicitly with
|
|
39
|
+
# ZOTERO_ENRICHMENT_SEMANTIC_UNAVAILABLE; it never falls back to BM25.
|
|
40
|
+
# Model downloads are separate operations from the component's own service
|
|
41
|
+
# and vanish on unmount. No legacy component, config, cache-format, or
|
|
42
|
+
# interface aliases are provided.
|
|
43
|
+
- id: enrichment
|
|
44
|
+
name: dsh-zotero/enrichment
|
|
45
|
+
disabled: true
|
package/docs/plugin-detail.en.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
- Core component (`dsh-zotero`): the local Zotero connection, 8 read tools and 15 write tools (off by default; once enabled, every write needs confirmation on the plan review card), the literature trail, and the settings page.
|
|
2
2
|
- Literature panel (`dsh-zotero/library`): a right-sidebar tab covering whole-library navigation (collection tree, saved searches, My Publications, Trash), item list filters, item inspection, citation copying (CSL citation, BibTeX, bibliography, BibLaTeX, RIS, CSL-JSON, and item info), and approved controlled writes.
|
|
3
|
-
- Scholarly search (`dsh-zotero/scholarly`): the external literature retrieval component, off by default; mounting the component is what authorizes requests to the external academic indexes. It covers arXiv, OpenAlex, Crossref, Semantic Scholar, PubMed, Europe PMC, and DBLP, with full-text reading, citation graphs, reference verification, and saving to Zotero.
|
|
3
|
+
- Scholarly search (`dsh-zotero/scholarly`): the external literature retrieval component, off by default; mounting the component is what authorizes requests to the external academic indexes, and the client discloses the request scope while the component is served until this browser acknowledges the current enable; turning the component off and on again discloses again. It covers arXiv, OpenAlex, Crossref, Semantic Scholar, PubMed, Europe PMC, and DBLP, with full-text reading, citation graphs, reference verification, and saving to Zotero.
|
|
4
|
+
- Document parsing (`dsh-zotero/enrichment`): optional and off by default; enabling it accepts MinerU document egress, and the client discloses it while the component is served until this browser acknowledges the current enable; turning the component off and on again discloses again. It provides explicit parsing, artifact reuse, and local semantic ranking / model management, and registers no model tools or prompt section. It supports token-free `free` and token-gated `pro` parsing, and saves Markdown artifacts to a configurable directory.
|
package/docs/plugin-detail.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
- **核心组件**(`dsh-zotero`):本机 Zotero 连接、8 个读工具与 15 个写工具(默认关闭,启用后每次写入都需在计划审查卡中确认)、文献轨迹与设置页。
|
|
2
2
|
- **文献面板**(`dsh-zotero/library`):右侧边栏标签页,覆盖全库导航(合集树、保存的搜索、我的出版物、回收站)、条目列表筛选、条目检视、复制引用(CSL 引文、BibTeX、参考文献表、BibLaTeX、RIS、CSL-JSON 与条目信息)以及经审批的受控写入。
|
|
3
|
-
- **学术检索**(`dsh-zotero/scholarly
|
|
3
|
+
- **学术检索**(`dsh-zotero/scholarly`):外部文献检索组件,默认关闭;组件挂载即授权对外部学术索引的请求,客户端在组件处于已启用状态且本机尚未确认时提示请求范围,确认只覆盖当前这次启用,组件关闭后再启用会重新提示。覆盖 arXiv、OpenAlex、Crossref、Semantic Scholar、PubMed、Europe PMC 与 DBLP,支持全文读取、引文网络、参考文献核验与保存到 Zotero。
|
|
4
|
+
- **文档解析**(`dsh-zotero/enrichment`):可选组件,默认关闭;启用即接受 MinerU 文档外发;客户端在组件处于已启用状态且本机尚未确认时提示外发范围,确认只覆盖当前这次启用,组件关闭后再启用会重新提示。提供主动解析、已有产物复用和本地语义检索 / 模型管理,不注册模型工具或提示词段。支持免 Token 的 `free` 和需 Token 的 `pro`,Markdown 产物保存到可配置目录。
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Canonical names and media types shared by extraction, persistence and wire codecs. */
|
|
2
|
+
import type { ZoteroArtifactImageMediaType } from './contract.js';
|
|
3
|
+
export declare const ARTIFACT_IMAGE_NAME_PATTERN: RegExp;
|
|
4
|
+
/** Resolve a Markdown destination without admitting nested or encoded escaping paths. */
|
|
5
|
+
export declare function artifactImageName(destination: string): string | undefined;
|
|
6
|
+
export declare function artifactImageMediaType(name: string): ZoteroArtifactImageMediaType | undefined;
|
|
7
|
+
export declare const ARCHIVE_MAX_IMAGES = 512;
|
|
8
|
+
export declare const ARCHIVE_MAX_IMAGE_BYTES: number;
|
|
9
|
+
export declare const ARCHIVE_MAX_IMAGE_TOTAL_BYTES: number;
|
|
10
|
+
//# sourceMappingURL=artifact-images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-images.d.ts","sourceRoot":"","sources":["../src/artifact-images.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAA;AAEjE,eAAO,MAAM,2BAA2B,QACmC,CAAA;AAW3E,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQzE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS,CAI7F;AAED,eAAO,MAAM,kBAAkB,MAAM,CAAA;AACrC,eAAO,MAAM,uBAAuB,QAAkB,CAAA;AACtD,eAAO,MAAM,6BAA6B,QAAoB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const ARTIFACT_IMAGE_NAME_PATTERN = /^images\/[A-Za-z0-9][A-Za-z0-9._-]{0,110}\.(?:png|jpe?g|gif|webp|bmp)$/u;
|
|
2
|
+
const MEDIA_TYPES = {
|
|
3
|
+
png: 'image/png',
|
|
4
|
+
jpg: 'image/jpeg',
|
|
5
|
+
jpeg: 'image/jpeg',
|
|
6
|
+
gif: 'image/gif',
|
|
7
|
+
webp: 'image/webp',
|
|
8
|
+
bmp: 'image/bmp',
|
|
9
|
+
};
|
|
10
|
+
/** Resolve a Markdown destination without admitting nested or encoded escaping paths. */
|
|
11
|
+
export function artifactImageName(destination) {
|
|
12
|
+
let name;
|
|
13
|
+
try {
|
|
14
|
+
name = decodeURIComponent(destination).replace(/^\.\//u, '');
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return ARTIFACT_IMAGE_NAME_PATTERN.test(name) ? name : undefined;
|
|
20
|
+
}
|
|
21
|
+
export function artifactImageMediaType(name) {
|
|
22
|
+
return ARTIFACT_IMAGE_NAME_PATTERN.test(name)
|
|
23
|
+
? MEDIA_TYPES[name.slice(name.lastIndexOf('.') + 1)]
|
|
24
|
+
: undefined;
|
|
25
|
+
}
|
|
26
|
+
export const ARCHIVE_MAX_IMAGES = 512;
|
|
27
|
+
export const ARCHIVE_MAX_IMAGE_BYTES = 8 * 1024 * 1024;
|
|
28
|
+
export const ARCHIVE_MAX_IMAGE_TOTAL_BYTES = 128 * 1024 * 1024;
|
|
29
|
+
//# sourceMappingURL=artifact-images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-images.js","sourceRoot":"","sources":["../src/artifact-images.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GACtC,yEAAyE,CAAA;AAE3E,MAAM,WAAW,GAA2D;IAC1E,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;CACjB,CAAA;AAED,yFAAyF;AACzF,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Deployment limits for complete parsed-document preparation. */
|
|
2
|
+
export interface ArtifactReaderPreferences {
|
|
3
|
+
readonly maxOpen: number;
|
|
4
|
+
readonly maxBytes: number;
|
|
5
|
+
readonly preparedMaxBytes: number;
|
|
6
|
+
readonly idleTimeoutMs: number;
|
|
7
|
+
readonly maxLifetimeMs: number;
|
|
8
|
+
readonly concurrency: number;
|
|
9
|
+
readonly archiveConcurrency: number;
|
|
10
|
+
readonly archiveQueueLimit: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const ARTIFACT_READER_DEFAULTS: ArtifactReaderPreferences;
|
|
13
|
+
export declare function artifactReaderPreferencesOf(value: unknown): ArtifactReaderPreferences;
|
|
14
|
+
//# sourceMappingURL=artifact-reader-preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-reader-preferences.d.ts","sourceRoot":"","sources":["../src/artifact-reader-preferences.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CACnC;AAED,eAAO,MAAM,wBAAwB,EAAE,yBASrC,CAAA;AAEF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAcrF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const ARTIFACT_READER_DEFAULTS = Object.freeze({
|
|
2
|
+
maxOpen: 8,
|
|
3
|
+
maxBytes: 256 * 1024 * 1024,
|
|
4
|
+
preparedMaxBytes: 512 * 1024 * 1024,
|
|
5
|
+
idleTimeoutMs: 120_000,
|
|
6
|
+
maxLifetimeMs: 600_000,
|
|
7
|
+
concurrency: 4,
|
|
8
|
+
archiveConcurrency: 2,
|
|
9
|
+
archiveQueueLimit: 8,
|
|
10
|
+
});
|
|
11
|
+
export function artifactReaderPreferencesOf(value) {
|
|
12
|
+
if (value === undefined)
|
|
13
|
+
return ARTIFACT_READER_DEFAULTS;
|
|
14
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
15
|
+
throw new Error('Invalid artifact reader limits');
|
|
16
|
+
const input = value;
|
|
17
|
+
const result = { ...ARTIFACT_READER_DEFAULTS };
|
|
18
|
+
for (const key of Object.keys(input)) {
|
|
19
|
+
if (!Object.hasOwn(result, key))
|
|
20
|
+
throw new Error(`Unknown artifact reader limit: ${key}`);
|
|
21
|
+
const number = input[key];
|
|
22
|
+
if (typeof number !== 'number' || !Number.isSafeInteger(number) || number < 1)
|
|
23
|
+
throw new Error(`Invalid artifact reader limit: ${key}`);
|
|
24
|
+
result[key] = number;
|
|
25
|
+
}
|
|
26
|
+
return Object.freeze(result);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=artifact-reader-preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-reader-preferences.js","sourceRoot":"","sources":["../src/artifact-reader-preferences.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,wBAAwB,GAA8B,MAAM,CAAC,MAAM,CAAC;IAC/E,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IAC3B,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACnC,aAAa,EAAE,OAAO;IACtB,aAAa,EAAE,OAAO;IACtB,WAAW,EAAE,CAAC;IACd,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC;CACrB,CAAC,CAAA;AAEF,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,wBAAwB,CAAA;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,KAAgC,CAAA;IAC9C,MAAM,MAAM,GAAG,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAA;QACzF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAA;QAC1D,MAAM,CAAC,GAAsC,CAAC,GAAG,MAAM,CAAA;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC"}
|
package/lib/browse-rows.d.ts
CHANGED
|
@@ -29,13 +29,13 @@ import type { ZoteroBrowseKind } from './types.js';
|
|
|
29
29
|
* `src/tools/browse.ts`, `browseRowView` in the Chat card) have no `default` arm,
|
|
30
30
|
* so an arm with no renderer fails to build.
|
|
31
31
|
*/
|
|
32
|
-
export declare const BROWSE_ROW_ARMS: readonly [
|
|
32
|
+
export declare const BROWSE_ROW_ARMS: readonly ['library', 'collection', 'savedSearch', 'tag', 'itemType', 'field', 'creatorType'];
|
|
33
33
|
/**
|
|
34
34
|
* Browse listing kinds (`zotero_browse`'s `kind`), as a runtime list both
|
|
35
35
|
* halves share. The type authority stays `ZoteroBrowseKind` in `types.ts`; the
|
|
36
36
|
* `Exclude` pin below fails the build if this list falls behind it.
|
|
37
37
|
*/
|
|
38
|
-
export declare const BROWSE_KINDS: readonly [
|
|
38
|
+
export declare const BROWSE_KINDS: readonly ['libraries', 'collections', 'savedSearches', 'tags', 'itemTypes', 'itemFields'];
|
|
39
39
|
/** Runtime membership test for a browse kind string. */
|
|
40
40
|
export declare function isBrowseKind(value: string | undefined): value is ZoteroBrowseKind;
|
|
41
41
|
/** One classified browse row. Which arm a row lands in says which field identified it. */
|
package/lib/browse-rows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse-rows.d.ts","sourceRoot":"","sources":["../src/browse-rows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"browse-rows.d.ts","sourceRoot":"","sources":["../src/browse-rows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,YAAY,EACZ,aAAa,EACb,KAAK,EACL,UAAU,EACV,OAAO,EACP,aAAa,CACL,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,YAAY,YACvB,WAAW,EACX,aAAa,EACb,eAAe,EACf,MAAM,EACN,WAAW,EACX,YAAY,CACJ,CAAA;AAMV,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAEjF;AAeD,0FAA0F;AAC1F,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CACvC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAUL;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAiDrD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded walk of an error's cause chain.
|
|
3
|
+
*
|
|
4
|
+
* `Error.cause` and `AggregateError.errors` can nest, cycle, and fan out. Both
|
|
5
|
+
* `errnoCodeOf` (`errors.ts`) and the public-address rejection lookup
|
|
6
|
+
* (`public-url.ts`) need the same walk, so the bound lives here once: a node
|
|
7
|
+
* budget, a separate chain-depth budget for `cause` links, and a fan-out cap
|
|
8
|
+
* for aggregate members. A `seen` set makes a cyclic cause harmless.
|
|
9
|
+
* @module dsh-zotero/cause-chain
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Walk the cause chain breadth-first and return the first value a visitor
|
|
13
|
+
* accepts. A visitor returns `undefined` to keep walking; any other value ends
|
|
14
|
+
* the walk, so a caller that wants a boolean produces `true` explicitly.
|
|
15
|
+
* @param error - any thrown value.
|
|
16
|
+
* @param visit - classify one node; `undefined` means "keep looking".
|
|
17
|
+
* @returns the accepted value, or undefined when the bounded walk ends.
|
|
18
|
+
*/
|
|
19
|
+
export declare function findInCauseChain<T>(error: unknown, visit: (current: object) => T | undefined): T | undefined;
|
|
20
|
+
//# sourceMappingURL=cause-chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cause-chain.d.ts","sourceRoot":"","sources":["../src/cause-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,GACxC,CAAC,GAAG,SAAS,CAyBf"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded walk of an error's cause chain.
|
|
3
|
+
*
|
|
4
|
+
* `Error.cause` and `AggregateError.errors` can nest, cycle, and fan out. Both
|
|
5
|
+
* `errnoCodeOf` (`errors.ts`) and the public-address rejection lookup
|
|
6
|
+
* (`public-url.ts`) need the same walk, so the bound lives here once: a node
|
|
7
|
+
* budget, a separate chain-depth budget for `cause` links, and a fan-out cap
|
|
8
|
+
* for aggregate members. A `seen` set makes a cyclic cause harmless.
|
|
9
|
+
* @module dsh-zotero/cause-chain
|
|
10
|
+
*/
|
|
11
|
+
/** How many nodes, cause links, and aggregate members one walk may visit. */
|
|
12
|
+
const MAX_NODES = 64;
|
|
13
|
+
const MAX_CAUSE_DEPTH = 10;
|
|
14
|
+
const MAX_AGGREGATE_MEMBERS = 32;
|
|
15
|
+
/**
|
|
16
|
+
* Walk the cause chain breadth-first and return the first value a visitor
|
|
17
|
+
* accepts. A visitor returns `undefined` to keep walking; any other value ends
|
|
18
|
+
* the walk, so a caller that wants a boolean produces `true` explicitly.
|
|
19
|
+
* @param error - any thrown value.
|
|
20
|
+
* @param visit - classify one node; `undefined` means "keep looking".
|
|
21
|
+
* @returns the accepted value, or undefined when the bounded walk ends.
|
|
22
|
+
*/
|
|
23
|
+
export function findInCauseChain(error, visit) {
|
|
24
|
+
const seen = new Set();
|
|
25
|
+
const queue = [{ value: error, depth: 0 }];
|
|
26
|
+
let visited = 0;
|
|
27
|
+
while (queue.length > 0 && visited < MAX_NODES) {
|
|
28
|
+
const entry = queue.shift();
|
|
29
|
+
if (entry === undefined)
|
|
30
|
+
break;
|
|
31
|
+
const current = entry.value;
|
|
32
|
+
if (typeof current !== 'object' || current === null || seen.has(current))
|
|
33
|
+
continue;
|
|
34
|
+
seen.add(current);
|
|
35
|
+
visited += 1;
|
|
36
|
+
const found = visit(current);
|
|
37
|
+
if (found !== undefined)
|
|
38
|
+
return found;
|
|
39
|
+
if (entry.depth < MAX_CAUSE_DEPTH) {
|
|
40
|
+
if (current instanceof Error && current.cause !== undefined) {
|
|
41
|
+
queue.push({ value: current.cause, depth: entry.depth + 1 });
|
|
42
|
+
}
|
|
43
|
+
if (current instanceof AggregateError) {
|
|
44
|
+
for (const member of current.errors.slice(0, MAX_AGGREGATE_MEMBERS)) {
|
|
45
|
+
queue.push({ value: member, depth: entry.depth + 1 });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=cause-chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cause-chain.js","sourceRoot":"","sources":["../src/cause-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,6EAA6E;AAC7E,MAAM,SAAS,GAAG,EAAE,CAAA;AACpB,MAAM,eAAe,GAAG,EAAE,CAAA;AAC1B,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAOhC;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,KAAyC;IAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,KAAK,GAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IACxD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,KAAK,KAAK,SAAS;YAAE,MAAK;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAA;QAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAQ;QAClF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACjB,OAAO,IAAI,CAAC,CAAA;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrC,IAAI,KAAK,CAAC,KAAK,GAAG,eAAe,EAAE,CAAC;YAClC,IAAI,OAAO,YAAY,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;gBACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC;oBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
/** Shared pure wire descriptors for the `zotero_changes` projection. */
|
|
2
2
|
export declare const CHANGE_SECTIONS: readonly [{
|
|
3
|
-
readonly key:
|
|
4
|
-
readonly label:
|
|
3
|
+
readonly key: 'items';
|
|
4
|
+
readonly label: 'toolChangesItems';
|
|
5
5
|
}, {
|
|
6
|
-
readonly key:
|
|
7
|
-
readonly label:
|
|
6
|
+
readonly key: 'childItems';
|
|
7
|
+
readonly label: 'toolChangesChildItems';
|
|
8
8
|
}, {
|
|
9
|
-
readonly key:
|
|
10
|
-
readonly label:
|
|
9
|
+
readonly key: 'trashedItems';
|
|
10
|
+
readonly label: 'toolChangesTrashedItems';
|
|
11
11
|
}, {
|
|
12
|
-
readonly key:
|
|
13
|
-
readonly label:
|
|
12
|
+
readonly key: 'collections';
|
|
13
|
+
readonly label: 'toolChangesCollections';
|
|
14
14
|
}, {
|
|
15
|
-
readonly key:
|
|
16
|
-
readonly label:
|
|
15
|
+
readonly key: 'savedSearches';
|
|
16
|
+
readonly label: 'toolChangesSavedSearches';
|
|
17
17
|
}, {
|
|
18
|
-
readonly key:
|
|
19
|
-
readonly label:
|
|
18
|
+
readonly key: 'fulltextAttachments';
|
|
19
|
+
readonly label: 'toolChangesFulltext';
|
|
20
20
|
}];
|
|
21
21
|
export declare const DELETION_SECTIONS: readonly [{
|
|
22
|
-
readonly key:
|
|
23
|
-
readonly label:
|
|
24
|
-
readonly totalKey:
|
|
22
|
+
readonly key: 'items';
|
|
23
|
+
readonly label: 'toolDeletedItems';
|
|
24
|
+
readonly totalKey: 'deletedItems';
|
|
25
25
|
}, {
|
|
26
|
-
readonly key:
|
|
27
|
-
readonly label:
|
|
28
|
-
readonly totalKey:
|
|
26
|
+
readonly key: 'collections';
|
|
27
|
+
readonly label: 'toolDeletedCollections';
|
|
28
|
+
readonly totalKey: 'deletedCollections';
|
|
29
29
|
}, {
|
|
30
|
-
readonly key:
|
|
31
|
-
readonly label:
|
|
32
|
-
readonly totalKey:
|
|
30
|
+
readonly key: 'savedSearches';
|
|
31
|
+
readonly label: 'toolDeletedSavedSearches';
|
|
32
|
+
readonly totalKey: 'deletedSavedSearches';
|
|
33
33
|
}, {
|
|
34
|
-
readonly key:
|
|
35
|
-
readonly label:
|
|
36
|
-
readonly totalKey:
|
|
34
|
+
readonly key: 'tags';
|
|
35
|
+
readonly label: 'toolDeletedTags';
|
|
36
|
+
readonly totalKey: 'deletedTags';
|
|
37
37
|
}];
|
|
38
|
-
export declare const DELETED_OTHER_TOTAL_KEY:
|
|
38
|
+
export declare const DELETED_OTHER_TOTAL_KEY: 'deletedOther';
|
|
39
39
|
export type ChangeSectionKey = (typeof CHANGE_SECTIONS)[number]['key'];
|
|
40
40
|
export type DeletionSectionKey = (typeof DELETION_SECTIONS)[number]['key'];
|
|
41
41
|
export type ChangeTotalKey = ChangeSectionKey | (typeof DELETION_SECTIONS)[number]['totalKey'] | typeof DELETED_OTHER_TOTAL_KEY;
|