docpull 6.1.0__tar.gz → 6.3.0__tar.gz
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.
- {docpull-6.1.0/src/docpull.egg-info → docpull-6.3.0}/PKG-INFO +40 -3
- {docpull-6.1.0 → docpull-6.3.0}/README.md +39 -2
- {docpull-6.1.0 → docpull-6.3.0}/pyproject.toml +2 -2
- docpull-6.3.0/src/docpull/__init__.py +287 -0
- docpull-6.3.0/src/docpull/acquisition_workflows.py +567 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/basis.py +18 -14
- docpull-6.3.0/src/docpull/cache/__init__.py +50 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/cache/frontier.py +72 -10
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/cache/manager.py +6 -1
- docpull-6.3.0/src/docpull/change_events.py +209 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/cli.py +218 -55
- docpull-6.3.0/src/docpull/context_packs/__init__.py +66 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/_legacy_cli.py +3 -4
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/cli.py +5 -2
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/common.py +330 -37
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/dataset.py +128 -12
- docpull-6.3.0/src/docpull/context_packs/policy_pack.py +354 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/product.py +131 -25
- docpull-6.3.0/src/docpull/context_packs/relationship.py +567 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/typed.py +54 -1
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/visuals.py +0 -1
- docpull-6.3.0/src/docpull/context_packs/workflow_cli.py +99 -0
- docpull-6.3.0/src/docpull/contracts.py +657 -0
- docpull-6.3.0/src/docpull/contracts_cli.py +40 -0
- docpull-6.3.0/src/docpull/conversion/__init__.py +76 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/extractor.py +16 -4
- docpull-6.3.0/src/docpull/discovery/__init__.py +101 -0
- docpull-6.3.0/src/docpull/discovery/link_extractors/__init__.py +37 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/document_parse.py +15 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/eval_grade.py +5 -4
- docpull-6.3.0/src/docpull/evidence.py +227 -0
- docpull-6.3.0/src/docpull/export_formats.py +27 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/exports.py +7 -25
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/graph.py +84 -34
- docpull-6.3.0/src/docpull/http/__init__.py +46 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/http/client.py +66 -1
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/local_workflows.py +48 -9
- docpull-6.3.0/src/docpull/mcp/__init__.py +24 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/mcp/server.py +486 -16
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/mcp/tools.py +21 -4
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/metadata_extractor.py +1 -1
- docpull-6.3.0/src/docpull/models/__init__.py +128 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/models/events.py +6 -1
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/models/run.py +15 -6
- docpull-6.3.0/src/docpull/models/schema.py +9 -0
- docpull-6.3.0/src/docpull/native_integrations.py +88 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/output_contract.py +7 -2
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pack_reader.py +86 -20
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pack_tools.py +613 -82
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/base.py +6 -0
- docpull-6.3.0/src/docpull/pipeline/steps/__init__.py +74 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/convert.py +51 -3
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/fetch.py +26 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/metadata.py +2 -2
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/project.py +96 -5
- docpull-6.3.0/src/docpull/schemas/artifact-manifest.v1.schema.json +99 -0
- docpull-6.3.0/src/docpull/schemas/basis.v2.schema.json +86 -0
- docpull-6.3.0/src/docpull/schemas/change-event.v1.schema.json +243 -0
- docpull-6.3.0/src/docpull/schemas/citation-map.v1.schema.json +30 -0
- docpull-6.3.0/src/docpull/schemas/document.v3.schema.json +275 -0
- docpull-6.3.0/src/docpull/schemas/intelligence-bundle.v1.schema.json +561 -0
- docpull-6.3.0/src/docpull/schemas/pack.v3.schema.json +44 -0
- docpull-6.3.0/src/docpull/schemas/provenance.v1.schema.json +32 -0
- docpull-6.3.0/src/docpull/schemas/relationship-pack.v1.schema.json +401 -0
- docpull-6.3.0/src/docpull/schemas/rights.v1.schema.json +34 -0
- docpull-6.3.0/src/docpull/schemas/run-identity.v1.schema.json +121 -0
- docpull-6.3.0/src/docpull/schemas/workflow-request.v1.schema.json +95 -0
- docpull-6.3.0/src/docpull/schemas/workflow-result.v1.schema.json +426 -0
- docpull-6.3.0/src/docpull/security/__init__.py +43 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/surface.py +52 -22
- docpull-6.3.0/src/docpull/workflows.py +334 -0
- {docpull-6.1.0 → docpull-6.3.0/src/docpull.egg-info}/PKG-INFO +40 -3
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull.egg-info/SOURCES.txt +32 -1
- docpull-6.3.0/tests/test_acquisition_workflows.py +100 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_ci_policy.py +56 -15
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_cli.py +46 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_context_packs.py +5 -2
- docpull-6.3.0/tests/test_frontier_resume.py +90 -0
- docpull-6.3.0/tests/test_http_efficiency.py +169 -0
- docpull-6.3.0/tests/test_import_efficiency.py +107 -0
- docpull-6.3.0/tests/test_native_integrations.py +29 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_pack_tools.py +23 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_pipeline.py +20 -0
- docpull-6.3.0/tests/test_relationship_workflow.py +218 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_release_a_plus_check_script.py +8 -2
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_surface_contract.py +16 -16
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_typed_knowledge_packs.py +35 -0
- docpull-6.3.0/tests/test_workflow_contracts.py +252 -0
- docpull-6.1.0/src/docpull/__init__.py +0 -204
- docpull-6.1.0/src/docpull/cache/__init__.py +0 -16
- docpull-6.1.0/src/docpull/context_packs/__init__.py +0 -35
- docpull-6.1.0/src/docpull/conversion/__init__.py +0 -37
- docpull-6.1.0/src/docpull/discovery/__init__.py +0 -52
- docpull-6.1.0/src/docpull/discovery/link_extractors/__init__.py +0 -11
- docpull-6.1.0/src/docpull/http/__init__.py +0 -13
- docpull-6.1.0/src/docpull/mcp/__init__.py +0 -10
- docpull-6.1.0/src/docpull/models/__init__.py +0 -61
- docpull-6.1.0/src/docpull/pipeline/steps/__init__.py +0 -31
- docpull-6.1.0/src/docpull/security/__init__.py +0 -13
- docpull-6.1.0/tests/test_frontier_resume.py +0 -35
- {docpull-6.1.0 → docpull-6.3.0}/LICENSE +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/setup.cfg +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/__main__.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/accounting.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/agent_publish.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/auth_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/benchmark.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/cache/streaming_dedup.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_aliases.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_ci.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/brand.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/feed.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/openapi.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/package.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/paper.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/repo.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/schema_extract.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/search.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/standards.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/styleguide.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/transcript.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/typed_models.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/context_packs/wiki.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/article_cleanup.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/chunking.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/ensemble.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/filings.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/markdown.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/protocols.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/special_cases.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/conversion/trafilatura_extractor.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/core/__init__.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/core/fetcher.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/_fetch.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/composite.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/contracts.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/crawler.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/filters.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/link_extractors/enhanced.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/link_extractors/protocols.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/link_extractors/static.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/protocols.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery/sitemap.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/discovery_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/doctor.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/document_worker.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/evidence_pack.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/fixtures/__init__.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/fixtures/parallel-search-extract.json +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/free_core.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/free_core_smoke.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/hosted.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/http/protocols.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/http/rate_limiter.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/judge.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/mcp/sources.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/models/config.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/models/document.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/models/profiles.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/monitor.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/parallel_workflows.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/parity.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/parity_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/passk.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/__init__.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/manifest.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/chunk.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/dedup.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/render.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_json.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_ndjson.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_okf.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_sqlite.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/pipeline/steps/validate.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/policy.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/policy_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/provider_adapters.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/provider_capabilities.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/provider_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/provider_keys.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/provider_probes.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/py.typed +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/redaction.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/rendering.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/scraper.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/security/download_policy.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/security/robots.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/security/url_validator.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/server.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/share.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/skill_export.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/source_scoring.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull/time_utils.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull.egg-info/dependency_links.txt +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull.egg-info/entry_points.txt +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull.egg-info/requires.txt +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/src/docpull.egg-info/top_level.txt +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_accounting.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_auth_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_basis.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_benchmark.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_cache_conditional_get.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_chunking.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_claim_audit_script.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_context_ci.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_conversion.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_convert_step_new.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_discovery.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_discovery_contracts.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_doctor.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_document_parse.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_document_record.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_evidence_pack.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_exports.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_extractor_ensemble.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_feed_pack.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_free_core.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_graph.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_hosted.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_integration.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_judge.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_link_extractors.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_live_web_smoke.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_local_workflows.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_mcp_server.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_mcp_tools.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_metadata_extractor.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_monitor.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_naming.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_openapi_pack.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_optional_extras_installed.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_output_contract.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_outputs_e2e.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_pack_server.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_parallel_workflows.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_parity_workflows.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_passk.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_policy.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_policy_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_project.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_provider_adapters.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_provider_cli.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_provider_keys.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_provider_probes.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_public_feature_smoke.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_rate_limiter.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_real_feature_smoke_script.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_real_site_regressions.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_rendering.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_reproducible_release_build.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_save_ndjson.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_save_sqlite.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_security_hardening.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_share.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_source_scoring.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_special_cases.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_time_utils.py +0 -0
- {docpull-6.1.0 → docpull-6.3.0}/tests/test_trafilatura_extractor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docpull
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.3.0
|
|
4
4
|
Summary: Declare, sync, diff, and lock context dependencies for AI agents
|
|
5
5
|
Author-email: Zachary Roth <support@raintree.technology>
|
|
6
6
|
Maintainer-email: Raintree Technology <support@raintree.technology>
|
|
@@ -122,6 +122,14 @@ Requires-Dist: types-defusedxml>=0.7.0; extra == "dev"
|
|
|
122
122
|
Requires-Dist: types-pyyaml>=6.0.0; extra == "dev"
|
|
123
123
|
Dynamic: license-file
|
|
124
124
|
|
|
125
|
+
<p align="center">
|
|
126
|
+
<img
|
|
127
|
+
src="https://raw.githubusercontent.com/raintree-technology/docpull/main/docs/launch-assets/logo-square-light-400.png"
|
|
128
|
+
alt="DocPull"
|
|
129
|
+
width="128"
|
|
130
|
+
/>
|
|
131
|
+
</p>
|
|
132
|
+
|
|
125
133
|
# docpull
|
|
126
134
|
|
|
127
135
|
**Context dependencies for AI agents. Browser-free by default.**
|
|
@@ -139,6 +147,11 @@ web sources an agent depends on, sync them into cited context packs, diff what
|
|
|
139
147
|
changed, and export reproducible context for Cursor, Claude, OpenAI,
|
|
140
148
|
LlamaIndex, LangChain, MCP clients, and RAG pipelines.
|
|
141
149
|
|
|
150
|
+
Architecturally, DocPull is the evidence and acquisition engine: it acquires,
|
|
151
|
+
versions, cites, hashes, and replays evidence. Downstream products own
|
|
152
|
+
scheduling, review, approved claims, legal conclusions, and notifications. See
|
|
153
|
+
the [architecture decision](docs/adr/0001-evidence-acquisition-engine.md).
|
|
154
|
+
|
|
142
155
|
The core workflow is a `docpull.yaml` plus a `.docpull/context.lock.json`,
|
|
143
156
|
similar in spirit to code dependency manifests and lockfiles:
|
|
144
157
|
|
|
@@ -292,8 +305,15 @@ docpull repo-pack psf/requests -o packs/repo --cache
|
|
|
292
305
|
docpull package-pack pypi:requests -o packs/package
|
|
293
306
|
docpull standards-pack rfc:9110 -o packs/standard
|
|
294
307
|
docpull dataset-pack ./metrics.csv -o packs/dataset
|
|
308
|
+
docpull dataset-pack 'https://data.example.org/rows.json?$limit=100' -o packs/dataset
|
|
309
|
+
docpull relationship-pack example.com --subject "Example Brand" -o packs/relationships
|
|
295
310
|
docpull transcript-pack ./meeting.vtt -o packs/transcript
|
|
296
311
|
docpull wiki-pack wiki:Web_scraping -o packs/wiki
|
|
312
|
+
docpull brand-pack example.com -o packs/brand
|
|
313
|
+
docpull product-pack https://example.com/pricing -o packs/product
|
|
314
|
+
docpull styleguide-pack example.com -o packs/styleguide
|
|
315
|
+
docpull image-pack example.com -o packs/visuals
|
|
316
|
+
docpull policy-pack example.com -o packs/policies
|
|
297
317
|
docpull pack prepare packs/docs --eval-grade
|
|
298
318
|
docpull pack validate packs/docs --level eval
|
|
299
319
|
docpull export packs/docs --format openai-vector-jsonl -o exports/openai.jsonl
|
|
@@ -565,9 +585,15 @@ special handling for common web, documentation, and API surfaces.
|
|
|
565
585
|
| Public GitHub repos | `docpull repo-pack` emits repo metadata, README/docs/examples/changelog files, manifests, and releases |
|
|
566
586
|
| npm / PyPI packages | `docpull package-pack` emits registry metadata, README/description, versions, license, dependencies, and install commands |
|
|
567
587
|
| Standards | `docpull standards-pack` emits RFC, IETF, W3C, and WHATWG metadata plus section-level records |
|
|
568
|
-
| Local datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column
|
|
588
|
+
| Local/remote datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column/null/sample summaries, and HTTPS JSON/CSV snapshot provenance |
|
|
589
|
+
| Relationship review | `docpull relationship-pack` emits cited observations and explicit coverage gaps without approving claims or inferring independence |
|
|
569
590
|
| Transcripts | `docpull transcript-pack` emits timestamped segment records from VTT, SRT, text, JSON, or direct transcript URLs |
|
|
570
591
|
| Wikimedia / Wikipedia | `docpull wiki-pack` emits MediaWiki REST page metadata, license/revision metadata, and section-level records |
|
|
592
|
+
| Brand evidence | `docpull brand-pack` emits cited identity, firmographic, social, logo, and color observations |
|
|
593
|
+
| Product and pricing | `docpull product-pack` emits plans, currencies, intervals, trials, feature gates, and page-text provenance |
|
|
594
|
+
| Styleguide | `docpull styleguide-pack` emits cited CSS variables, colors, fonts, spacing, and component samples |
|
|
595
|
+
| Visual assets | `docpull image-pack` emits bounded image candidates and optional validated local assets |
|
|
596
|
+
| Policy documents | `docpull policy-pack` discovers policy/security pages and emits effective dates, stable clauses, and textual change candidates without legal conclusions |
|
|
571
597
|
| Docusaurus / Sphinx / MkDocs | Extracts static article or document regions |
|
|
572
598
|
| VitePress / VuePress / Astro Starlight | Extracts static content regions |
|
|
573
599
|
| GitBook / ReadMe.io | Extracts available article or content regions |
|
|
@@ -620,6 +646,16 @@ Every file-backed run writes `corpus.manifest.json` with stable document IDs,
|
|
|
620
646
|
chunk IDs, hashes, output paths, and chunk counts. See
|
|
621
647
|
[Corpus Manifest](docs/corpus-manifest.md).
|
|
622
648
|
|
|
649
|
+
Evidence-pack workflows also write `workflow.request.json`,
|
|
650
|
+
`workflow.result.json`, and `artifact.manifest.json`. Export their Draft 2020-12
|
|
651
|
+
schemas with `docpull contracts export -o schemas/`. The complete inventory and
|
|
652
|
+
compatibility rules are in [Public Contracts](docs/contracts.md).
|
|
653
|
+
|
|
654
|
+
For tracker imports, run `docpull pack intelligence-bundle PACK`. The canonical
|
|
655
|
+
output is `intelligence.bundle.v1.json`; `company_brain.bundle.json` remains a
|
|
656
|
+
compatibility alias. See the
|
|
657
|
+
[competitor-tracker integration contract](docs/competitor-tracker-integration.md).
|
|
658
|
+
|
|
623
659
|
## Profiles
|
|
624
660
|
|
|
625
661
|
```bash
|
|
@@ -736,7 +772,8 @@ part of the package release contract.
|
|
|
736
772
|
`docpull parse`, `docpull openapi-pack`, `docpull feed-pack`,
|
|
737
773
|
`docpull paper-pack`, `docpull repo-pack`, `docpull package-pack`,
|
|
738
774
|
`docpull standards-pack`, `docpull dataset-pack`, `docpull transcript-pack`,
|
|
739
|
-
`docpull wiki-pack`,
|
|
775
|
+
`docpull wiki-pack`, `docpull brand-pack`, `docpull product-pack`,
|
|
776
|
+
`docpull styleguide-pack`, `docpull image-pack`, `docpull policy-pack`,
|
|
740
777
|
`docpull pack validate`,
|
|
741
778
|
`docpull pack audit`, `docpull export`,
|
|
742
779
|
`docpull serve`, `docpull share`, `docpull render`, `docpull auth check`,
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img
|
|
3
|
+
src="https://raw.githubusercontent.com/raintree-technology/docpull/main/docs/launch-assets/logo-square-light-400.png"
|
|
4
|
+
alt="DocPull"
|
|
5
|
+
width="128"
|
|
6
|
+
/>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
1
9
|
# docpull
|
|
2
10
|
|
|
3
11
|
**Context dependencies for AI agents. Browser-free by default.**
|
|
@@ -15,6 +23,11 @@ web sources an agent depends on, sync them into cited context packs, diff what
|
|
|
15
23
|
changed, and export reproducible context for Cursor, Claude, OpenAI,
|
|
16
24
|
LlamaIndex, LangChain, MCP clients, and RAG pipelines.
|
|
17
25
|
|
|
26
|
+
Architecturally, DocPull is the evidence and acquisition engine: it acquires,
|
|
27
|
+
versions, cites, hashes, and replays evidence. Downstream products own
|
|
28
|
+
scheduling, review, approved claims, legal conclusions, and notifications. See
|
|
29
|
+
the [architecture decision](docs/adr/0001-evidence-acquisition-engine.md).
|
|
30
|
+
|
|
18
31
|
The core workflow is a `docpull.yaml` plus a `.docpull/context.lock.json`,
|
|
19
32
|
similar in spirit to code dependency manifests and lockfiles:
|
|
20
33
|
|
|
@@ -168,8 +181,15 @@ docpull repo-pack psf/requests -o packs/repo --cache
|
|
|
168
181
|
docpull package-pack pypi:requests -o packs/package
|
|
169
182
|
docpull standards-pack rfc:9110 -o packs/standard
|
|
170
183
|
docpull dataset-pack ./metrics.csv -o packs/dataset
|
|
184
|
+
docpull dataset-pack 'https://data.example.org/rows.json?$limit=100' -o packs/dataset
|
|
185
|
+
docpull relationship-pack example.com --subject "Example Brand" -o packs/relationships
|
|
171
186
|
docpull transcript-pack ./meeting.vtt -o packs/transcript
|
|
172
187
|
docpull wiki-pack wiki:Web_scraping -o packs/wiki
|
|
188
|
+
docpull brand-pack example.com -o packs/brand
|
|
189
|
+
docpull product-pack https://example.com/pricing -o packs/product
|
|
190
|
+
docpull styleguide-pack example.com -o packs/styleguide
|
|
191
|
+
docpull image-pack example.com -o packs/visuals
|
|
192
|
+
docpull policy-pack example.com -o packs/policies
|
|
173
193
|
docpull pack prepare packs/docs --eval-grade
|
|
174
194
|
docpull pack validate packs/docs --level eval
|
|
175
195
|
docpull export packs/docs --format openai-vector-jsonl -o exports/openai.jsonl
|
|
@@ -441,9 +461,15 @@ special handling for common web, documentation, and API surfaces.
|
|
|
441
461
|
| Public GitHub repos | `docpull repo-pack` emits repo metadata, README/docs/examples/changelog files, manifests, and releases |
|
|
442
462
|
| npm / PyPI packages | `docpull package-pack` emits registry metadata, README/description, versions, license, dependencies, and install commands |
|
|
443
463
|
| Standards | `docpull standards-pack` emits RFC, IETF, W3C, and WHATWG metadata plus section-level records |
|
|
444
|
-
| Local datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column
|
|
464
|
+
| Local/remote datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column/null/sample summaries, and HTTPS JSON/CSV snapshot provenance |
|
|
465
|
+
| Relationship review | `docpull relationship-pack` emits cited observations and explicit coverage gaps without approving claims or inferring independence |
|
|
445
466
|
| Transcripts | `docpull transcript-pack` emits timestamped segment records from VTT, SRT, text, JSON, or direct transcript URLs |
|
|
446
467
|
| Wikimedia / Wikipedia | `docpull wiki-pack` emits MediaWiki REST page metadata, license/revision metadata, and section-level records |
|
|
468
|
+
| Brand evidence | `docpull brand-pack` emits cited identity, firmographic, social, logo, and color observations |
|
|
469
|
+
| Product and pricing | `docpull product-pack` emits plans, currencies, intervals, trials, feature gates, and page-text provenance |
|
|
470
|
+
| Styleguide | `docpull styleguide-pack` emits cited CSS variables, colors, fonts, spacing, and component samples |
|
|
471
|
+
| Visual assets | `docpull image-pack` emits bounded image candidates and optional validated local assets |
|
|
472
|
+
| Policy documents | `docpull policy-pack` discovers policy/security pages and emits effective dates, stable clauses, and textual change candidates without legal conclusions |
|
|
447
473
|
| Docusaurus / Sphinx / MkDocs | Extracts static article or document regions |
|
|
448
474
|
| VitePress / VuePress / Astro Starlight | Extracts static content regions |
|
|
449
475
|
| GitBook / ReadMe.io | Extracts available article or content regions |
|
|
@@ -496,6 +522,16 @@ Every file-backed run writes `corpus.manifest.json` with stable document IDs,
|
|
|
496
522
|
chunk IDs, hashes, output paths, and chunk counts. See
|
|
497
523
|
[Corpus Manifest](docs/corpus-manifest.md).
|
|
498
524
|
|
|
525
|
+
Evidence-pack workflows also write `workflow.request.json`,
|
|
526
|
+
`workflow.result.json`, and `artifact.manifest.json`. Export their Draft 2020-12
|
|
527
|
+
schemas with `docpull contracts export -o schemas/`. The complete inventory and
|
|
528
|
+
compatibility rules are in [Public Contracts](docs/contracts.md).
|
|
529
|
+
|
|
530
|
+
For tracker imports, run `docpull pack intelligence-bundle PACK`. The canonical
|
|
531
|
+
output is `intelligence.bundle.v1.json`; `company_brain.bundle.json` remains a
|
|
532
|
+
compatibility alias. See the
|
|
533
|
+
[competitor-tracker integration contract](docs/competitor-tracker-integration.md).
|
|
534
|
+
|
|
499
535
|
## Profiles
|
|
500
536
|
|
|
501
537
|
```bash
|
|
@@ -612,7 +648,8 @@ part of the package release contract.
|
|
|
612
648
|
`docpull parse`, `docpull openapi-pack`, `docpull feed-pack`,
|
|
613
649
|
`docpull paper-pack`, `docpull repo-pack`, `docpull package-pack`,
|
|
614
650
|
`docpull standards-pack`, `docpull dataset-pack`, `docpull transcript-pack`,
|
|
615
|
-
`docpull wiki-pack`,
|
|
651
|
+
`docpull wiki-pack`, `docpull brand-pack`, `docpull product-pack`,
|
|
652
|
+
`docpull styleguide-pack`, `docpull image-pack`, `docpull policy-pack`,
|
|
616
653
|
`docpull pack validate`,
|
|
617
654
|
`docpull pack audit`, `docpull export`,
|
|
618
655
|
`docpull serve`, `docpull share`, `docpull render`, `docpull auth check`,
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "docpull"
|
|
7
|
-
version = "6.
|
|
7
|
+
version = "6.3.0"
|
|
8
8
|
dynamic = []
|
|
9
9
|
description = "Declare, sync, diff, and lock context dependencies for AI agents"
|
|
10
10
|
readme = {file = "README.md", content-type = "text/markdown"}
|
|
@@ -202,7 +202,7 @@ where = ["src"]
|
|
|
202
202
|
include = ["docpull*"]
|
|
203
203
|
|
|
204
204
|
[tool.setuptools.package-data]
|
|
205
|
-
docpull = ["py.typed", "fixtures/*.json"]
|
|
205
|
+
docpull = ["py.typed", "fixtures/*.json", "schemas/*.schema.json"]
|
|
206
206
|
|
|
207
207
|
[tool.ruff]
|
|
208
208
|
line-length = 110
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"""DocPull — reproducible context dependencies for AI agents.
|
|
2
|
+
|
|
3
|
+
The public SDK is loaded lazily. Importing :mod:`docpull` is common to every
|
|
4
|
+
CLI command and Python submodule import, so the package root must not eagerly
|
|
5
|
+
load optional workflows or rendering backends. Attribute access and
|
|
6
|
+
``from docpull import ...`` retain the public contract while loading only the
|
|
7
|
+
module that owns the requested symbol.
|
|
8
|
+
"""
|
|
9
|
+
# ruff: noqa: F401 - TYPE_CHECKING imports document the lazy public re-exports.
|
|
10
|
+
|
|
11
|
+
from __future__ import annotations
|
|
12
|
+
|
|
13
|
+
from importlib import import_module
|
|
14
|
+
from typing import TYPE_CHECKING, Any
|
|
15
|
+
|
|
16
|
+
from .surface import PUBLIC_SDK_EXPORTS
|
|
17
|
+
|
|
18
|
+
__version__ = "6.3.0"
|
|
19
|
+
|
|
20
|
+
_LAZY_EXPORTS: dict[str, tuple[str, str]] = {
|
|
21
|
+
**{
|
|
22
|
+
name: (".context_packs", name)
|
|
23
|
+
for name in (
|
|
24
|
+
"async_build_dataset_pack",
|
|
25
|
+
"async_build_package_pack",
|
|
26
|
+
"async_build_paper_pack",
|
|
27
|
+
"async_build_repo_pack",
|
|
28
|
+
"async_build_standards_pack",
|
|
29
|
+
"async_build_transcript_pack",
|
|
30
|
+
"async_build_wiki_pack",
|
|
31
|
+
"build_brand_pack",
|
|
32
|
+
"build_dataset_pack",
|
|
33
|
+
"build_feed_pack",
|
|
34
|
+
"build_image_pack",
|
|
35
|
+
"build_openapi_pack",
|
|
36
|
+
"build_package_pack",
|
|
37
|
+
"build_paper_pack",
|
|
38
|
+
"build_policy_pack",
|
|
39
|
+
"build_relationship_pack",
|
|
40
|
+
"build_product_pack",
|
|
41
|
+
"build_repo_pack",
|
|
42
|
+
"build_standards_pack",
|
|
43
|
+
"build_styleguide_pack",
|
|
44
|
+
"build_transcript_pack",
|
|
45
|
+
"build_wiki_pack",
|
|
46
|
+
"capture_screenshot_pack",
|
|
47
|
+
)
|
|
48
|
+
},
|
|
49
|
+
**{
|
|
50
|
+
name: (".contracts", name)
|
|
51
|
+
for name in (
|
|
52
|
+
"ArtifactManifest",
|
|
53
|
+
"ChangeEvent",
|
|
54
|
+
"EvidenceSpan",
|
|
55
|
+
"IntelligenceBundle",
|
|
56
|
+
"CoverageResult",
|
|
57
|
+
"RelationshipCandidate",
|
|
58
|
+
"RelationshipPack",
|
|
59
|
+
"SourceAuthority",
|
|
60
|
+
"WorkflowRequest",
|
|
61
|
+
"WorkflowResult",
|
|
62
|
+
"bundled_schema_path",
|
|
63
|
+
"write_contract_schemas",
|
|
64
|
+
)
|
|
65
|
+
},
|
|
66
|
+
**{
|
|
67
|
+
name: (".workflows", name)
|
|
68
|
+
for name in ("async_run_workflow", "create_workflow_request", "run_workflow")
|
|
69
|
+
},
|
|
70
|
+
**{name: (".core.fetcher", name) for name in ("Fetcher", "fetch_blocking", "fetch_one")},
|
|
71
|
+
**{name: (".conversion.chunking", name) for name in ("Chunk", "TokenCounter", "chunk_markdown")},
|
|
72
|
+
"PageContext": (".pipeline.base", "PageContext"),
|
|
73
|
+
**{name: (".pipeline.steps", name) for name in ("SqliteSearchResult", "search_sqlite_documents")},
|
|
74
|
+
**{
|
|
75
|
+
name: (".models.config", name)
|
|
76
|
+
for name in (
|
|
77
|
+
"BudgetConfig",
|
|
78
|
+
"CacheConfig",
|
|
79
|
+
"ContentFilterConfig",
|
|
80
|
+
"CrawlConfig",
|
|
81
|
+
"DocpullConfig",
|
|
82
|
+
"NetworkConfig",
|
|
83
|
+
"OutputConfig",
|
|
84
|
+
"PerformanceConfig",
|
|
85
|
+
"ProfileName",
|
|
86
|
+
"RenderActionPolicy",
|
|
87
|
+
"RenderConfig",
|
|
88
|
+
"RenderViewport",
|
|
89
|
+
)
|
|
90
|
+
},
|
|
91
|
+
**{name: (".models.events", name) for name in ("EventType", "FetchEvent", "FetchStats")},
|
|
92
|
+
**{name: (".cache", name) for name in ("CacheManager", "StreamingDeduplicator")},
|
|
93
|
+
"PolicyConfig": (".policy", "PolicyConfig"),
|
|
94
|
+
**{name: (".local_workflows", name) for name in ("audit_pack", "refresh_pack")},
|
|
95
|
+
**{
|
|
96
|
+
name: (".document_parse", name)
|
|
97
|
+
for name in ("DocumentParseError", "ParsedDocument", "parse_documents", "parse_one_document")
|
|
98
|
+
},
|
|
99
|
+
**{
|
|
100
|
+
name: (".pack_tools", name)
|
|
101
|
+
for name in (
|
|
102
|
+
"build_citation_map",
|
|
103
|
+
"build_company_brain_bundle",
|
|
104
|
+
"build_intelligence_bundle",
|
|
105
|
+
"build_research_brief",
|
|
106
|
+
"diff_packs",
|
|
107
|
+
"extract_pack_entities",
|
|
108
|
+
"prepare_pack",
|
|
109
|
+
"score_pack",
|
|
110
|
+
"score_pack_sources",
|
|
111
|
+
"search_pack",
|
|
112
|
+
)
|
|
113
|
+
},
|
|
114
|
+
"validate_pack_contract": (".output_contract", "validate_pack_contract"),
|
|
115
|
+
**{name: (".context_ci", name) for name in ("CIThresholds", "ContextCIError", "run_context_ci")},
|
|
116
|
+
**{name: (".exports", name) for name in ("ExportResult", "export_pack")},
|
|
117
|
+
**{name: (".pack_reader", name) for name in ("LocalPack", "PackReadError", "PackSource", "load_pack")},
|
|
118
|
+
**{
|
|
119
|
+
name: (".graph", name)
|
|
120
|
+
for name in (
|
|
121
|
+
"GraphError",
|
|
122
|
+
"build_graph",
|
|
123
|
+
"graph_neighbors",
|
|
124
|
+
"graph_status",
|
|
125
|
+
"load_graph",
|
|
126
|
+
"query_graph",
|
|
127
|
+
"refresh_graph",
|
|
128
|
+
)
|
|
129
|
+
},
|
|
130
|
+
**{name: (".server", name) for name in ("PackASGIApp", "PackServerError", "create_pack_app")},
|
|
131
|
+
**{
|
|
132
|
+
name: (".share", name)
|
|
133
|
+
for name in ("ReportHTTPServer", "ShareError", "create_report_server", "render_report_document")
|
|
134
|
+
},
|
|
135
|
+
**{
|
|
136
|
+
name: (".rendering", name)
|
|
137
|
+
for name in (
|
|
138
|
+
"AgentBrowserRenderer",
|
|
139
|
+
"E2BSandboxRenderer",
|
|
140
|
+
"RenderedPage",
|
|
141
|
+
"Renderer",
|
|
142
|
+
"RenderError",
|
|
143
|
+
"RendererUnavailableError",
|
|
144
|
+
"VercelSandboxRenderer",
|
|
145
|
+
"agent_browser_binary",
|
|
146
|
+
"check_agent_browser_availability",
|
|
147
|
+
"check_e2b_sandbox_availability",
|
|
148
|
+
"check_render_backend_availability",
|
|
149
|
+
"check_vercel_sandbox_availability",
|
|
150
|
+
"estimate_cloud_render_cost_usd",
|
|
151
|
+
"render_url",
|
|
152
|
+
"render_url_to_directory",
|
|
153
|
+
)
|
|
154
|
+
},
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
__all__ = list(PUBLIC_SDK_EXPORTS)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def __getattr__(name: str) -> Any:
|
|
161
|
+
"""Load one public SDK symbol on first access and cache it locally."""
|
|
162
|
+
target = _LAZY_EXPORTS.get(name)
|
|
163
|
+
if target is None:
|
|
164
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
165
|
+
module_name, attribute_name = target
|
|
166
|
+
value = getattr(import_module(module_name, __name__), attribute_name)
|
|
167
|
+
globals()[name] = value
|
|
168
|
+
return value
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def __dir__() -> list[str]:
|
|
172
|
+
"""Include lazy public attributes in interactive discovery."""
|
|
173
|
+
return sorted(set(globals()) | set(__all__))
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
if TYPE_CHECKING:
|
|
177
|
+
from .cache import CacheManager, StreamingDeduplicator
|
|
178
|
+
from .context_ci import CIThresholds, ContextCIError, run_context_ci
|
|
179
|
+
from .context_packs import (
|
|
180
|
+
async_build_dataset_pack,
|
|
181
|
+
async_build_package_pack,
|
|
182
|
+
async_build_paper_pack,
|
|
183
|
+
async_build_repo_pack,
|
|
184
|
+
async_build_standards_pack,
|
|
185
|
+
async_build_transcript_pack,
|
|
186
|
+
async_build_wiki_pack,
|
|
187
|
+
build_brand_pack,
|
|
188
|
+
build_dataset_pack,
|
|
189
|
+
build_feed_pack,
|
|
190
|
+
build_image_pack,
|
|
191
|
+
build_openapi_pack,
|
|
192
|
+
build_package_pack,
|
|
193
|
+
build_paper_pack,
|
|
194
|
+
build_policy_pack,
|
|
195
|
+
build_product_pack,
|
|
196
|
+
build_relationship_pack,
|
|
197
|
+
build_repo_pack,
|
|
198
|
+
build_standards_pack,
|
|
199
|
+
build_styleguide_pack,
|
|
200
|
+
build_transcript_pack,
|
|
201
|
+
build_wiki_pack,
|
|
202
|
+
capture_screenshot_pack,
|
|
203
|
+
)
|
|
204
|
+
from .contracts import (
|
|
205
|
+
ArtifactManifest,
|
|
206
|
+
ChangeEvent,
|
|
207
|
+
CoverageResult,
|
|
208
|
+
EvidenceSpan,
|
|
209
|
+
IntelligenceBundle,
|
|
210
|
+
RelationshipCandidate,
|
|
211
|
+
RelationshipPack,
|
|
212
|
+
SourceAuthority,
|
|
213
|
+
WorkflowRequest,
|
|
214
|
+
WorkflowResult,
|
|
215
|
+
bundled_schema_path,
|
|
216
|
+
write_contract_schemas,
|
|
217
|
+
)
|
|
218
|
+
from .conversion.chunking import Chunk, TokenCounter, chunk_markdown
|
|
219
|
+
from .core.fetcher import Fetcher, fetch_blocking, fetch_one
|
|
220
|
+
from .document_parse import DocumentParseError, ParsedDocument, parse_documents, parse_one_document
|
|
221
|
+
from .exports import ExportResult, export_pack
|
|
222
|
+
from .graph import (
|
|
223
|
+
GraphError,
|
|
224
|
+
build_graph,
|
|
225
|
+
graph_neighbors,
|
|
226
|
+
graph_status,
|
|
227
|
+
load_graph,
|
|
228
|
+
query_graph,
|
|
229
|
+
refresh_graph,
|
|
230
|
+
)
|
|
231
|
+
from .local_workflows import audit_pack, refresh_pack
|
|
232
|
+
from .models.config import (
|
|
233
|
+
BudgetConfig,
|
|
234
|
+
CacheConfig,
|
|
235
|
+
ContentFilterConfig,
|
|
236
|
+
CrawlConfig,
|
|
237
|
+
DocpullConfig,
|
|
238
|
+
NetworkConfig,
|
|
239
|
+
OutputConfig,
|
|
240
|
+
PerformanceConfig,
|
|
241
|
+
ProfileName,
|
|
242
|
+
RenderActionPolicy,
|
|
243
|
+
RenderConfig,
|
|
244
|
+
RenderViewport,
|
|
245
|
+
)
|
|
246
|
+
from .models.events import EventType, FetchEvent, FetchStats
|
|
247
|
+
from .output_contract import validate_pack_contract
|
|
248
|
+
from .pack_reader import LocalPack, PackReadError, PackSource, load_pack
|
|
249
|
+
from .pack_tools import (
|
|
250
|
+
build_citation_map,
|
|
251
|
+
build_company_brain_bundle,
|
|
252
|
+
build_intelligence_bundle,
|
|
253
|
+
build_research_brief,
|
|
254
|
+
diff_packs,
|
|
255
|
+
extract_pack_entities,
|
|
256
|
+
prepare_pack,
|
|
257
|
+
score_pack,
|
|
258
|
+
score_pack_sources,
|
|
259
|
+
search_pack,
|
|
260
|
+
)
|
|
261
|
+
from .pipeline.base import PageContext
|
|
262
|
+
from .pipeline.steps import SqliteSearchResult, search_sqlite_documents
|
|
263
|
+
from .policy import PolicyConfig
|
|
264
|
+
from .rendering import (
|
|
265
|
+
AgentBrowserRenderer,
|
|
266
|
+
E2BSandboxRenderer,
|
|
267
|
+
RenderedPage,
|
|
268
|
+
Renderer,
|
|
269
|
+
RenderError,
|
|
270
|
+
RendererUnavailableError,
|
|
271
|
+
VercelSandboxRenderer,
|
|
272
|
+
agent_browser_binary,
|
|
273
|
+
check_agent_browser_availability,
|
|
274
|
+
check_e2b_sandbox_availability,
|
|
275
|
+
check_render_backend_availability,
|
|
276
|
+
check_vercel_sandbox_availability,
|
|
277
|
+
estimate_cloud_render_cost_usd,
|
|
278
|
+
render_url,
|
|
279
|
+
render_url_to_directory,
|
|
280
|
+
)
|
|
281
|
+
from .server import PackASGIApp, PackServerError, create_pack_app
|
|
282
|
+
from .share import ReportHTTPServer, ShareError, create_report_server, render_report_document
|
|
283
|
+
from .workflows import async_run_workflow, create_workflow_request, run_workflow
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
assert tuple(__all__) == PUBLIC_SDK_EXPORTS
|
|
287
|
+
assert set(_LAZY_EXPORTS) == set(__all__) - {"__version__"}
|