prompture 1.13.4.dev2__tar.gz → 1.13.5.dev2__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.
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.env.copy +53 -4
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/PKG-INFO +229 -21
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/README.md +221 -19
- prompture-1.13.5.dev2/llms.txt +55 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/__init__.py +40 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/_version.py +2 -2
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/agent.py +8 -3
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/async_agent.py +8 -3
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep_agent.py +3 -1
- prompture-1.13.5.dev2/prompture/capabilities/__init__.py +68 -0
- prompture-1.13.5.dev2/prompture/capabilities/backends.py +413 -0
- prompture-1.13.5.dev2/prompture/capabilities/builtin_checks.py +46 -0
- prompture-1.13.5.dev2/prompture/capabilities/challenge.py +75 -0
- prompture-1.13.5.dev2/prompture/capabilities/errors.py +93 -0
- prompture-1.13.5.dev2/prompture/capabilities/health.py +188 -0
- prompture-1.13.5.dev2/prompture/capabilities/http.py +196 -0
- prompture-1.13.5.dev2/prompture/capabilities/probe.py +215 -0
- prompture-1.13.5.dev2/prompture/capabilities/url_safety.py +208 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/cli.py +46 -0
- prompture-1.13.5.dev2/prompture/cli/doctor_cmd.py +136 -0
- prompture-1.13.5.dev2/prompture/cli/mcp_cmd.py +365 -0
- prompture-1.13.5.dev2/prompture/cli/research_cmd.py +96 -0
- prompture-1.13.5.dev2/prompture/cli/setup_cmd.py +704 -0
- prompture-1.13.5.dev2/prompture/cli/skill_cmd.py +68 -0
- prompture-1.13.5.dev2/prompture/cli/transcribe_cmd.py +98 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/router.py +28 -19
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/server.py +13 -0
- prompture-1.13.5.dev2/prompture/doctor/__init__.py +48 -0
- prompture-1.13.5.dev2/prompture/doctor/core.py +302 -0
- prompture-1.13.5.dev2/prompture/doctor/providers.py +575 -0
- prompture-1.13.5.dev2/prompture/drivers/_ollama_options.py +28 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_ollama_driver.py +5 -18
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/base.py +3 -1
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/ollama_driver.py +5 -21
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/cost_mixin.py +20 -7
- prompture-1.13.5.dev2/prompture/infra/credentials.py +589 -0
- prompture-1.13.5.dev2/prompture/infra/environment.py +163 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/logging.py +19 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/settings.py +69 -3
- prompture-1.13.5.dev2/prompture/infra/updates.py +402 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/__init__.py +44 -1
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/client.py +78 -0
- prompture-1.13.5.dev2/prompture/mcp/health.py +150 -0
- prompture-1.13.5.dev2/prompture/mcp/hub.py +1492 -0
- prompture-1.13.5.dev2/prompture/mcp/importers.py +302 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/server.py +9 -4
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/__init__.py +36 -1
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/agent_tools.py +52 -2
- prompture-1.13.5.dev2/prompture/media/understand/__init__.py +76 -0
- prompture-1.13.5.dev2/prompture/media/understand/errors.py +63 -0
- prompture-1.13.5.dev2/prompture/media/understand/ffmpeg.py +232 -0
- prompture-1.13.5.dev2/prompture/media/understand/groq_stt.py +72 -0
- prompture-1.13.5.dev2/prompture/media/understand/health.py +130 -0
- prompture-1.13.5.dev2/prompture/media/understand/sources.py +343 -0
- prompture-1.13.5.dev2/prompture/media/understand/summarize.py +350 -0
- prompture-1.13.5.dev2/prompture/media/understand/tools.py +112 -0
- prompture-1.13.5.dev2/prompture/media/understand/transcribe.py +714 -0
- prompture-1.13.5.dev2/prompture/research/__init__.py +54 -0
- prompture-1.13.5.dev2/prompture/research/agent.py +937 -0
- prompture-1.13.5.dev2/prompture/research/budget.py +279 -0
- prompture-1.13.5.dev2/prompture/research/events.py +55 -0
- prompture-1.13.5.dev2/prompture/research/planner.py +267 -0
- prompture-1.13.5.dev2/prompture/research/ranking.py +274 -0
- prompture-1.13.5.dev2/prompture/research/report.py +218 -0
- prompture-1.13.5.dev2/prompture/research/synthesis.py +246 -0
- prompture-1.13.5.dev2/prompture/research/tools.py +122 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/security/__init__.py +4 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/security/redaction.py +86 -0
- prompture-1.13.5.dev2/prompture/skill/__init__.py +143 -0
- prompture-1.13.5.dev2/prompture/skill/data/SKILL.md +85 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/dev.md +41 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/finance.md +36 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/mcp.md +46 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/media.md +54 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/models.md +63 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/search.md +80 -0
- prompture-1.13.5.dev2/prompture/skill/data/references/web.md +67 -0
- prompture-1.13.5.dev2/prompture/tools/__init__.py +73 -0
- prompture-1.13.5.dev2/prompture/tools/cli/__init__.py +78 -0
- prompture-1.13.5.dev2/prompture/tools/cli/adapter.py +980 -0
- prompture-1.13.5.dev2/prompture/tools/cli/builtin.py +436 -0
- prompture-1.13.5.dev2/prompture/tools/cli/config.py +170 -0
- prompture-1.13.5.dev2/prompture/tools/cli/health.py +63 -0
- prompture-1.13.5.dev2/prompture/tools/named.py +93 -0
- prompture-1.13.5.dev2/prompture/tools/packs.py +730 -0
- prompture-1.13.5.dev2/prompture/tools/web/__init__.py +120 -0
- prompture-1.13.5.dev2/prompture/tools/web/_common.py +328 -0
- prompture-1.13.5.dev2/prompture/tools/web/_mcp_http.py +213 -0
- prompture-1.13.5.dev2/prompture/tools/web/_types.py +91 -0
- prompture-1.13.5.dev2/prompture/tools/web/cache.py +296 -0
- prompture-1.13.5.dev2/prompture/tools/web/fetch.py +344 -0
- prompture-1.13.5.dev2/prompture/tools/web/health.py +97 -0
- prompture-1.13.5.dev2/prompture/tools/web/html2md.py +410 -0
- prompture-1.13.5.dev2/prompture/tools/web/platform.py +329 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/__init__.py +300 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/_media.py +55 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/arxiv.py +140 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/base.py +218 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/feeds.py +270 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/github.py +409 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/hackernews.py +144 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/podcasts.py +308 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/wikipedia.py +109 -0
- prompture-1.13.5.dev2/prompture/tools/web/readers/youtube.py +352 -0
- prompture-1.13.5.dev2/prompture/tools/web/search.py +730 -0
- prompture-1.13.5.dev2/prompture/tools/web/toolkit.py +248 -0
- prompture-1.13.5.dev2/prompture/tools/web_search.py +271 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/PKG-INFO +229 -21
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/SOURCES.txt +81 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/requires.txt +9 -1
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/scm_file_list.json +101 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/pyproject.toml +7 -1
- prompture-1.13.4.dev2/prompture/tools/__init__.py +0 -27
- prompture-1.13.4.dev2/prompture/tools/web_search.py +0 -336
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-driver/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-driver/references/driver-template.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-example/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-field/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-persona/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-test/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-tool/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/create-pr/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/run-tests/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/scaffold-extraction/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/update-pricing/SKILL.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.gitattributes +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/FUNDING.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/pricing_cost_mismatch.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/provider_driver_bug.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/schema_extraction_failure.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/scripts/update_docs_version.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/scripts/update_wrapper_version.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/dev.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/documentation.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/pricing-freshness.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/publish.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/security.yml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.safety-project.ini +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/AGENTS.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/BREAKING_CHANGES.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/CLAUDE.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/CONTRIBUTING.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/LICENSE +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/MANIFEST.in +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/ROADMAP.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/SECURITY.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/VERSION +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/dev.ps1 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/dev.sh +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/mypy_errors.txt +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/README.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/README.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/llm_to_json/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/pyproject.toml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/test.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/README.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/llm_to_toon/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/pyproject.toml +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/test.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/__main__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/_internal/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/_internal/json_encoder.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/assistant.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/async_conversation.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/async_deep_agent.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/conversation.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/planner.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/subagents.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/summarizer.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/vfs.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep_prompts.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep_state.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/live_events.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/persona.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/review_loop.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/simulated_tools.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/skill_miner.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/skills.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/tool_grammars.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/tools_schema.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/aio/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/bridges/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/bridges/tukuy_backend.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/core.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/stores.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/citations/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/citations/core.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/citations/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/formatters.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/runner.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/server.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/automations.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/calls.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/capacity.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/coding_tools.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/hook.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/live.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/local.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/memory.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/reuse.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/routing_policy.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/summary.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/tool_routing.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/dedup.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/evol.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/filters.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/formats.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/schemas.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/seed.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/synth.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_media_usage.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_openai_compat.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_openai_compat_stream.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_openai_responses.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_prompt_cache.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_prompted_tool_stream.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_usage_reporting.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/aggregator_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/airllm_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/assemblyai_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_aggregator_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_airllm_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_assemblyai_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_azure_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_bedrock_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_bfl_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cachibot_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cartesia_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_claude_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cohere_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cohere_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cohere_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_deepgram_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_deepgram_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_deepseek_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_elevenlabs_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_elevenlabs_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_embedding_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_fal_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_fal_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_google_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_google_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_google_vertexai_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_grok_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_grok_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_grok_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_groq_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_hugging_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_ideogram_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_img_gen_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_jina_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_jina_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_kev_decision_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_kling_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_kling_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_laya_decision_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_lmstudio_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_local_http_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_luma_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_minimax_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_minimax_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mistral_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mistral_moderation_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_modelscope_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_moonshot_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_muapi_aggregator_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mxbai_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mxbai_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_nomic_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_ollama_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_compatible_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_moderation_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openrouter_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_pika_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_runway_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_runway_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_runway_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_stability_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_stt_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_systemone_compatible_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_tts_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_typesafe_decision_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_video_gen_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_voyage_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_voyage_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_zai_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/audio_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/azure_config.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/azure_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/bedrock_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/bfl_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cachibot_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cartesia_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/claude_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cohere_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cohere_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cohere_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/decision_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/decision_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/deepgram_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/deepgram_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/deepseek_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/driver_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/elevenlabs_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/elevenlabs_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/embedding_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/embedding_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/fal_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/fal_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/google_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/google_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/google_vertexai_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/grok_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/grok_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/grok_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/groq_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/hugging_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/ideogram_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/img_gen_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/img_gen_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/jina_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/jina_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/job_runner.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/kev_decision_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/kling_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/kling_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/laya_decision_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/lipsync_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/lipsync_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/lmstudio_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/local_http_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/luma_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/media_capabilities.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/minimax_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/minimax_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mistral_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mistral_moderation_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/modelscope_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/moderation_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/moderation_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/moonshot_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/muapi_aggregator_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/music_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/music_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mxbai_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mxbai_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/nomic_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/ollama_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_compatible_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_moderation_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_stt_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openrouter_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/pika_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/provider_branding.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/provider_descriptors.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/rerank_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/rerank_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_audio_transform_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_capabilities.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_tts_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_video_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/stability_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/stt_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/systemone_compatible_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/tts_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/typesafe_decision_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/vertex_img_gen_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/video_gen_base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/video_gen_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/vision_helpers.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/voyage_embedding_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/voyage_rerank_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/zai_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/faithfulness.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/judge.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/pairwise.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/self_consistency.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/exceptions.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/context.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/context_eval.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/data/document_qa_policies.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/data/extraction_contacts.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/data/tool_task_inventory.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/fixtures.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/gates.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/harness.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/candidates.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/optimizer.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/promotion.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/scorecard.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/integration.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/outcomes.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/policy.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/sandbox.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/scoring.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/critique.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/direct.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/retrieve.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/_usage.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/async_core.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/code_extraction.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/core.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/few_shot.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/fields.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/reasoning.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/strategy.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/streaming.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/tools.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/tukuy_bridge.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/validator.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/anthropic_format.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/gemini_format.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/openai_format.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/reasoning_cache.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/responses_format.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/async_groups.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/consensus.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/debate.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/fusion.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/groups.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/enhance.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/negative.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/set_planner.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/style_presets.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/accounts.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/billing.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/budget.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/cache.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/callbacks.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/capabilities.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_activity.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_events.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_readers.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_specs.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_usage.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agents.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/compression.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/discovery.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/ledger.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/media_pricing.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/media_rates.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/model_rates.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/otel.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/pricing.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/provider_env.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rate_limits.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/anthropic.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/azure.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/bedrock.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/cerebras.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/cohere.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/deepinfra.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/deepseek.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/fireworks.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/google.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/google_vertexai.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/groq.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/jina.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/kev.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/laya.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/mistral.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/mixedbread.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/moonshot.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/nomic.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/nvidia.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/openai.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/openrouter.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/perplexity.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/sambanova.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/siliconflow.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/together.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/typesafe.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/voyage.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/xai.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/session.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/token_counting.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/tracker.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/tukuy_backend.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/chunking.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/detect.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/document.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/csv_parser.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/docx.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/html.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/markdown.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/pdf.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/xlsx.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/integrations/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/integrations/mcp_bridge.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/integrations/tukuy_bridge.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/jobs.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/core.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/stores.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/tools.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/audio.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/hosting.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/image.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/video.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/01-why-prompture.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/02-installation.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/03-quickstart.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/04-toon-input.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/05-test-harness.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/06-stability.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/07-migration.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/history.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/serialization.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/store.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/pipeline.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/resolver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/routing.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/_aliases.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/anthropic_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/audio_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/cloud_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/decision_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/embedding_rerank_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/extras_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/google_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/image_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/local_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/openai_compatible_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/openai_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/video_plugin.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/discovery.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/py.typed +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/character.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/chunker_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/contextual.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/markdown.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/recursive.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/semantic.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/token.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/documents.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loader_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/csv_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/docx_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/epub_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/html_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/json_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/markdown_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/pdf_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/text_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/xlsx_loader.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/pipeline.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/_fusion.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/hybrid.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/hyde.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/mmr.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/multi_query.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/retriever_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/similarity.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/step_back.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/base.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/chroma.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/faiss.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/pgvector.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/pinecone.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/qdrant.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/vectorstore_registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/weaviate.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/detector.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/evaluator.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/markers.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/async_driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/backoff.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/breaker.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/driver.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/errors.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/explain.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/headroom.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/keys.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/router.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/strategies.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/virtual.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/generator.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/Dockerfile.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/README.md.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/config.py.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/env.example.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/main.py.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/models.py.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/requirements.txt.j2 +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/security/injection.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/core.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/project.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/stores.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/environment.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/memory.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/scheduler.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/swarm.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/swarm_agent.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/types.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/testing/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/testing/driver_contract.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/tools/code_exec.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/__init__.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/architect.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/engine.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/errors.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/model.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/nodes.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/recovery.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/references.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/registry.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/scheduler.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/state.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/dependency_links.txt +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/entry_points.txt +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/top_level.txt +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture_cost_tracking.md +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/requirements.txt +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/scripts/check_pricing_freshness.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/setup.cfg +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/specs/basic_extraction.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/specs/schema_validation.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/specs/strategy_comparison.json +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/test.py +0 -0
- {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/test_version_diagnosis.py +0 -0
|
@@ -228,19 +228,68 @@ MIXEDBREAD_API_KEY=
|
|
|
228
228
|
MXBAI_EMBEDDING_MODEL=mxbai-embed-large-v1
|
|
229
229
|
MXBAI_RERANK_MODEL=mxbai-rerank-large-v1
|
|
230
230
|
|
|
231
|
-
# GitHub
|
|
232
|
-
# profile=github_models
|
|
231
|
+
# GitHub Personal Access Token — GitHub Models (openai_compatible driver,
|
|
232
|
+
# profile=github_models) and the web GitHub reader/search (higher rate
|
|
233
|
+
# limits, discussions, code search).
|
|
233
234
|
GITHUB_TOKEN=
|
|
234
235
|
|
|
235
|
-
# ─── Web
|
|
236
|
-
#
|
|
236
|
+
# ─── Web tools (prompture.tools.web) ─────────────────────────────────────────
|
|
237
|
+
# Search, fetch and the URL readers work with no keys at all (keyless Exa MCP
|
|
238
|
+
# search, Jina reader + direct fetch). Keys raise quality and rate limits.
|
|
239
|
+
# Keyed search providers are tried first, the keyless one last.
|
|
237
240
|
TAVILY_API_KEY=
|
|
241
|
+
# Exa REST search with page contents.
|
|
242
|
+
EXA_API_KEY=
|
|
238
243
|
# Serper — Google Search API wrapper.
|
|
239
244
|
SERPER_API_KEY=
|
|
240
245
|
# Brave Search — independent index.
|
|
241
246
|
BRAVE_SEARCH_API_KEY=
|
|
242
247
|
# SearXNG — self-hosted metasearch engine (no key, set the base URL).
|
|
243
248
|
SEARXNG_ENDPOINT=
|
|
249
|
+
# JINA_API_KEY (above) also enables s.jina.ai search and raises r.jina.ai limits.
|
|
250
|
+
# Preferred order; backends not listed keep their place after these.
|
|
251
|
+
PROMPTURE_SEARCH_PROVIDERS=
|
|
252
|
+
PROMPTURE_FETCH_BACKENDS=
|
|
253
|
+
# Allow tools to reach private/loopback addresses (off by default).
|
|
254
|
+
PROMPTURE_WEB_ALLOW_PRIVATE=
|
|
255
|
+
# Local cache for search / fetch / reader results: disk (default, shared
|
|
256
|
+
# across processes), memory (this process only) or off. Lifetimes depend on
|
|
257
|
+
# the content: minutes for weather/prices/news, days for papers/transcripts.
|
|
258
|
+
PROMPTURE_WEB_CACHE=
|
|
259
|
+
# Where the disk cache lives (default ~/.prompture/cache/web_cache.db).
|
|
260
|
+
PROMPTURE_WEB_CACHE_PATH=
|
|
261
|
+
|
|
262
|
+
# ─── Media understanding (transcripts / summaries) ───────────────────────────
|
|
263
|
+
# Uses the first configured STT key: GROQ_API_KEY ▸ OPENAI_API_KEY ▸
|
|
264
|
+
# ELEVENLABS_API_KEY. Audio never goes to a second provider unless you pass
|
|
265
|
+
# allow_provider_fallback=True. Optional reorder, e.g. "openai,groq".
|
|
266
|
+
PROMPTURE_STT_PROVIDERS=
|
|
267
|
+
GROQ_STT_ENDPOINT=
|
|
268
|
+
|
|
269
|
+
# ─── Domain tool packs (tools=["pack:<name>"]) ──────────────────────────────
|
|
270
|
+
# pack:finance quotes/news/search (crypto tools need no key)
|
|
271
|
+
FINNHUB_API_KEY=
|
|
272
|
+
# pack:news headlines/search
|
|
273
|
+
NEWSAPI_API_KEY=
|
|
274
|
+
# pack:places geocoding/places (country data needs no key)
|
|
275
|
+
GOOGLE_MAPS_API_KEY=
|
|
276
|
+
OPENCAGE_API_KEY=
|
|
277
|
+
|
|
278
|
+
# ─── MCP hub ─────────────────────────────────────────────────────────────────
|
|
279
|
+
# Override the user registry file (default ~/.prompture/mcp.json).
|
|
280
|
+
PROMPTURE_MCP_CONFIG=
|
|
281
|
+
|
|
282
|
+
# ─── Setup, profiles and proxies ─────────────────────────────────────────────
|
|
283
|
+
# `prompture setup` stores keys in ~/.prompture/credentials.yaml; env vars and
|
|
284
|
+
# this file always win over it. Pick a profile section of that file:
|
|
285
|
+
PROMPTURE_PROFILE=
|
|
286
|
+
# Default model written by `prompture setup` (provider/model).
|
|
287
|
+
PROMPTURE_DEFAULT_MODEL=
|
|
288
|
+
# Model for `prompture research` (defaults to the first configured provider).
|
|
289
|
+
PROMPTURE_RESEARCH_MODEL=
|
|
290
|
+
# Proxy for all capability backends, or per backend:
|
|
291
|
+
# PROMPTURE_<BACKEND>_PROXY, e.g. PROMPTURE_JINA_READER_PROXY.
|
|
292
|
+
PROMPTURE_PROXY=
|
|
244
293
|
|
|
245
294
|
# ─── Coding-agent CLI binaries (optional path overrides) ─────────────────────
|
|
246
295
|
# Set if a CLI isn't on PATH or you want to pin a specific install.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: prompture
|
|
3
|
-
Version: 1.13.
|
|
3
|
+
Version: 1.13.5.dev2
|
|
4
4
|
Summary: Ask LLMs to return structured JSON and run cross-model tests. API-first.
|
|
5
5
|
Author-email: Juan Denis <juan@vene.co>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -36,8 +36,14 @@ Provides-Extra: sandbox
|
|
|
36
36
|
Requires-Dist: tukuy>=0.0.30; extra == "sandbox"
|
|
37
37
|
Provides-Extra: mcp
|
|
38
38
|
Requires-Dist: mcp>=1.0; extra == "mcp"
|
|
39
|
+
Provides-Extra: web
|
|
40
|
+
Requires-Dist: feedparser>=6.0; extra == "web"
|
|
41
|
+
Requires-Dist: youtube-transcript-api>=1.0; extra == "web"
|
|
42
|
+
Requires-Dist: trafilatura>=1.8; extra == "web"
|
|
43
|
+
Provides-Extra: media
|
|
44
|
+
Requires-Dist: yt-dlp>=2024.8.6; extra == "media"
|
|
39
45
|
Provides-Extra: all
|
|
40
|
-
Requires-Dist: prompture[anthropic,google,groq,mcp,openai,pandas,sandbox,toon]; extra == "all"
|
|
46
|
+
Requires-Dist: prompture[anthropic,google,groq,mcp,media,openai,pandas,sandbox,toon,web]; extra == "all"
|
|
41
47
|
Provides-Extra: test
|
|
42
48
|
Requires-Dist: pytest>=7.0; extra == "test"
|
|
43
49
|
Requires-Dist: pytest-asyncio>=0.23.0; extra == "test"
|
|
@@ -156,6 +162,37 @@ print(person.name) # Maria
|
|
|
156
162
|
> | `ollama/llama3.1:8b`, … (local) | no extra needed | — (set `OLLAMA_HOST` if non-default) |
|
|
157
163
|
> | everything in one go | `pip install "prompture[all]"` | provider-specific |
|
|
158
164
|
|
|
165
|
+
## Agents That Can Search, Read, Watch and Listen
|
|
166
|
+
|
|
167
|
+
Prompture also gives agents working capabilities, and **none of them need an
|
|
168
|
+
API key to start**. Keys only raise limits and quality.
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
from prompture import Agent
|
|
172
|
+
|
|
173
|
+
agent = Agent(
|
|
174
|
+
"openai/gpt-4o-mini",
|
|
175
|
+
tools=["web:all", "pack:dev", "mcp:exa"], # search, read any URL, transcribe, GitHub/HN/arXiv, MCP
|
|
176
|
+
system_prompt="Cite every fact with a URL you opened.",
|
|
177
|
+
)
|
|
178
|
+
print(agent.run("Summarize https://youtu.be/<id> and find related papers").output)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
prompture doctor # what works on this machine and how to fix the rest
|
|
183
|
+
prompture research "What changed in Python 3.13?" --depth quick # cited multi-source report
|
|
184
|
+
prompture transcribe talk.mp3 --summary # timestamped transcript + key points
|
|
185
|
+
prompture mcp add --preset exa # mount MCP servers by name
|
|
186
|
+
prompture skill install # teach your coding agent all of this
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
- **Web:** keyless search, fetch and readers for YouTube, GitHub, Hacker News, arXiv, Wikipedia, feeds and podcasts
|
|
190
|
+
- **Fails over, never just fails:** every capability tries the next backend on auth, quota or rate-limit errors and tells you which one served the result
|
|
191
|
+
- **Cached locally:** repeat searches and static pages come back instantly; weather, prices and news expire in minutes, papers and transcripts in days
|
|
192
|
+
- **Safe by default:** public URLs only, size caps, secret scrubbing, and audio never goes to a second provider without your consent
|
|
193
|
+
|
|
194
|
+
Full guide: [Capabilities](#capabilities).
|
|
195
|
+
|
|
159
196
|
## Prompture Desk: Usage in Your Tray
|
|
160
197
|
|
|
161
198
|
**See what your LLM calls cost, live, from your tray.** [Prompture Desk](https://github.com/jhd3197/Prompture-Desk) tracks tokens and spend per provider and project, rate-limit headroom, balances, and your coding tools (Claude Code, Codex, …). Windows, macOS and Linux.
|
|
@@ -188,7 +225,7 @@ No setup: Desk runs `prompture companion` (Prompture 1.13+) on localhost for you
|
|
|
188
225
|
**Agents, tools, RAG**
|
|
189
226
|
- Stateful conversations with sync + async support
|
|
190
227
|
- Function calling and streaming across providers, with prompt-based simulation for models without native tool use
|
|
191
|
-
- Drop-in tools: sandboxed `python_execute` (Tukuy)
|
|
228
|
+
- Drop-in tools: sandboxed `python_execute` (Tukuy) plus the [capability layer](#capabilities) below
|
|
192
229
|
- `DeepAgent` with planning, virtual filesystem, sub-agents, and auto-summarization — no LangChain
|
|
193
230
|
- Full RAG stack — loaders, chunkers, vector stores, hybrid dense+BM25 retrieval, end-to-end `RAGPipeline` — see [RAG](#rag)
|
|
194
231
|
|
|
@@ -197,6 +234,15 @@ No setup: Desk runs `prompture companion` (Prompture 1.13+) on localhost for you
|
|
|
197
234
|
- `RefusalDetector` / `RefusalEvaluator` for cross-provider alignment scoring
|
|
198
235
|
- `generate_qa_dataset()` — synthetic JSONL datasets ready for Unsloth, Axolotl, TRL
|
|
199
236
|
|
|
237
|
+
**Capabilities** — see [Capabilities](#capabilities)
|
|
238
|
+
- Keyless `web_search`, `web_fetch` and `read_url` (YouTube, GitHub, HN, arXiv, Wikipedia, feeds, podcasts), with failover across keyed providers
|
|
239
|
+
- Local web cache with content-aware lifetimes: minutes for weather, prices and news, days for papers and transcripts
|
|
240
|
+
- `transcribe` / `summarize_media` for video, podcasts and audio, with timestamped key points
|
|
241
|
+
- `ResearchAgent` / `prompture research` — cited multi-source reports within fetch, token, cost and time budgets
|
|
242
|
+
- MCP hub, wrapped CLI tools (`gh`, `yt-dlp`) and domain packs (finance, news, dev, places), mounted by name: `tools=["mcp:exa", "pack:finance", "cli:gh"]`
|
|
243
|
+
- `prompture doctor` — what works on this machine (providers, tools, media, MCP servers, binaries), which backend is active, and the exact fix for anything that isn't
|
|
244
|
+
- `prompture setup` with an owner-only credential store and profiles; `prompture skill install` teaches coding agents to use all of it
|
|
245
|
+
|
|
200
246
|
**Ops**
|
|
201
247
|
- Resilient routing — `resilient()` retries transient errors, honors `Retry-After`, rotates API keys, trips circuit breakers and fails over across models; every response records who served it — see [Resilient Routing](#resilient-routing)
|
|
202
248
|
- [Prompture Desk](#prompture-desk-usage-in-your-tray) — desktop tray app: usage per provider and project, rate limits and balances, live calls
|
|
@@ -238,6 +284,9 @@ use.
|
|
|
238
284
|
| `airllm` | AirLLM local inference | `pip install prompture[airllm]` |
|
|
239
285
|
| `bedrock` | AWS Bedrock driver (`boto3`) | `pip install prompture[bedrock]` |
|
|
240
286
|
| `sandbox` | Sandboxed Python execution tool (`tukuy`) | `pip install prompture[sandbox]` |
|
|
287
|
+
| `web` | Feed reader, YouTube transcripts, article extraction for the [web tools](#web-tools-zero-keys-required) | `pip install prompture[web]` |
|
|
288
|
+
| `media` | `yt-dlp` for video/podcast [transcription](#media-understanding-transcripts-and-summaries) | `pip install prompture[media]` |
|
|
289
|
+
| `mcp` | [MCP hub](#mcp-hub) client and server | `pip install prompture[mcp]` |
|
|
241
290
|
|
|
242
291
|
### RAG — the easy path
|
|
243
292
|
|
|
@@ -1468,21 +1517,14 @@ Runnable example: `python examples/python_sandbox_example.py`.
|
|
|
1468
1517
|
|
|
1469
1518
|
### Web search
|
|
1470
1519
|
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
| Provider | Env var | Notes |
|
|
1475
|
-
|------------|------------------------|------------------------------------------|
|
|
1476
|
-
| `tavily` | `TAVILY_API_KEY` | Default. AI-friendly snippets + answer. |
|
|
1477
|
-
| `serper` | `SERPER_API_KEY` | Google Search API wrapper. |
|
|
1478
|
-
| `brave` | `BRAVE_SEARCH_API_KEY` | Independent index. |
|
|
1479
|
-
| `searxng` | `SEARXNG_ENDPOINT` | Self-hosted metasearch, no key required. |
|
|
1520
|
+
Web search works with no keys. See [Web tools](#web-tools-zero-keys-required)
|
|
1521
|
+
for the full set (fetch, URL readers, platform search) and the fallback order.
|
|
1480
1522
|
|
|
1481
1523
|
```python
|
|
1482
1524
|
from prompture import Agent, ToolRegistry, WebSearchTool
|
|
1483
1525
|
|
|
1484
1526
|
registry = ToolRegistry()
|
|
1485
|
-
WebSearchTool().register_on(registry) #
|
|
1527
|
+
WebSearchTool().register_on(registry) # keyed providers first, keyless Exa last
|
|
1486
1528
|
|
|
1487
1529
|
agent = Agent(
|
|
1488
1530
|
"openai/gpt-4o",
|
|
@@ -1492,12 +1534,9 @@ agent = Agent(
|
|
|
1492
1534
|
print(agent.run("What's new in LangChain this month?").output)
|
|
1493
1535
|
```
|
|
1494
1536
|
|
|
1495
|
-
|
|
1496
|
-
`brave
|
|
1497
|
-
|
|
1498
|
-
prepended.
|
|
1499
|
-
|
|
1500
|
-
Runnable example: `python examples/web_search_agent_example.py`.
|
|
1537
|
+
`WebSearchTool(provider="serper")` pins a single provider (`tavily`, `exa`,
|
|
1538
|
+
`serper`, `brave`, `jina`, `searxng`, `exa_mcp`). Runnable example:
|
|
1539
|
+
`python examples/web_search_agent_example.py`.
|
|
1501
1540
|
|
|
1502
1541
|
### Deep Agents
|
|
1503
1542
|
|
|
@@ -2052,13 +2091,182 @@ All extraction functions return a consistent structure:
|
|
|
2052
2091
|
}
|
|
2053
2092
|
```
|
|
2054
2093
|
|
|
2094
|
+
## Capabilities
|
|
2095
|
+
|
|
2096
|
+
Prompture also gives agents working capabilities — search, read, watch,
|
|
2097
|
+
listen, call external tools — and tells you what works on this machine. Each
|
|
2098
|
+
one works with nothing configured, improves as keys are added, fails over
|
|
2099
|
+
instead of failing, and reports its own health.
|
|
2100
|
+
|
|
2101
|
+
### Doctor
|
|
2102
|
+
|
|
2103
|
+
```bash
|
|
2104
|
+
prompture doctor # table: capability, status, active backend, message, fix
|
|
2105
|
+
prompture doctor --only providers -v # every provider, including unconfigured ones
|
|
2106
|
+
prompture doctor --live # cheap real calls (model lists), never a paid generation
|
|
2107
|
+
prompture doctor --json # stable "prompture.doctor/1" schema for agents
|
|
2108
|
+
```
|
|
2109
|
+
|
|
2110
|
+
Offline by default: no network, no writes. Binary checks actually run the
|
|
2111
|
+
binary, so a stale `yt-dlp` shim left by a Python upgrade shows as `broken`
|
|
2112
|
+
with a reinstall hint. Python: `from prompture.doctor import check_all`.
|
|
2113
|
+
|
|
2114
|
+
### Web tools (zero keys required)
|
|
2115
|
+
|
|
2116
|
+
```python
|
|
2117
|
+
from prompture import Agent
|
|
2118
|
+
from prompture.tools.web import web_search, web_fetch, read_url, search_platform
|
|
2119
|
+
|
|
2120
|
+
resp = web_search("latest CPython release", max_results=3)
|
|
2121
|
+
print(resp.to_markdown()) # ... served by exa_mcp
|
|
2122
|
+
page = web_fetch("https://example.com", max_chars=20000) # Jina reader, then direct; page with start=
|
|
2123
|
+
video = read_url("https://youtu.be/<id>") # transcript
|
|
2124
|
+
repos = search_platform("github", "web scraping", kind="repositories")
|
|
2125
|
+
|
|
2126
|
+
agent = Agent("openai/gpt-4o", tools=["web:all"])
|
|
2127
|
+
```
|
|
2128
|
+
|
|
2129
|
+
| Capability | Chain (first available wins, failures move on) |
|
|
2130
|
+
|---|---|
|
|
2131
|
+
| `web_search` | `tavily` ▸ `exa` ▸ `serper` ▸ `brave` ▸ `jina` ▸ `searxng` ▸ `exa_mcp` (keyless) |
|
|
2132
|
+
| `web_fetch` | `jina_reader` (keyless) ▸ `direct` (safe GET + HTML to Markdown) |
|
|
2133
|
+
| `read_url` | YouTube, GitHub, Hacker News, arXiv, Wikipedia, podcasts, RSS/Atom readers ▸ `web_fetch` |
|
|
2134
|
+
| `search_platform` | YouTube (`yt-dlp`), GitHub, Hacker News (Algolia), arXiv |
|
|
2135
|
+
|
|
2136
|
+
- Auth, quota and rate-limit errors fail over immediately; timeouts and 5xx
|
|
2137
|
+
retry once. Every result reports `route["served_by"]` and `route["fallback"]`.
|
|
2138
|
+
- Reorder with `PROMPTURE_SEARCH_PROVIDERS` / `PROMPTURE_FETCH_BACKENDS`
|
|
2139
|
+
(unknown names are ignored; unlisted backends keep their place).
|
|
2140
|
+
- Only public URLs: private, loopback, link-local and metadata addresses are
|
|
2141
|
+
refused, redirects are re-checked per hop, bodies are size-capped and
|
|
2142
|
+
challenge pages move to the next backend.
|
|
2143
|
+
|
|
2144
|
+
**Local cache.** Results are cached in `~/.prompture/cache/web_cache.db`, so a
|
|
2145
|
+
repeated search or page comes back instantly, even from another process. Each
|
|
2146
|
+
entry lives as long as that kind of content stays true:
|
|
2147
|
+
|
|
2148
|
+
| Content | Lifetime |
|
|
2149
|
+
|---|---|
|
|
2150
|
+
| Searches about weather, prices, scores, news, "today", or `recency_days <= 1` | 10 min |
|
|
2151
|
+
| Fast-moving pages (Hacker News, Reddit, X, status pages), GitHub issues/PRs | 10 min |
|
|
2152
|
+
| Feeds | 15 min |
|
|
2153
|
+
| Platform search (GitHub, HN, arXiv, YouTube) | 30 min |
|
|
2154
|
+
| Ordinary pages / searches within `recency_days <= 7` | 1 h |
|
|
2155
|
+
| Other searches | 6 h |
|
|
2156
|
+
| Wikipedia, podcast episodes | 1 day |
|
|
2157
|
+
| Papers, PDFs, DOIs, commit-pinned GitHub files, YouTube transcripts | 7 days |
|
|
2158
|
+
|
|
2159
|
+
Cached results say so (`route["cached"]`, `cache_age_s`, and "cached 3 min
|
|
2160
|
+
ago" in the Markdown footer). Errors and empty results are never stored. Pass
|
|
2161
|
+
`use_cache=False` or `cache_ttl=<seconds>` per call, set
|
|
2162
|
+
`PROMPTURE_WEB_CACHE=memory|off` to change the store, and
|
|
2163
|
+
`clear_web_cache()` or `prompture reset` to empty it.
|
|
2164
|
+
|
|
2165
|
+
### Media understanding: transcripts and summaries
|
|
2166
|
+
|
|
2167
|
+
```python
|
|
2168
|
+
from prompture.media.understand import transcribe, summarize_media
|
|
2169
|
+
|
|
2170
|
+
t = transcribe("https://example.com/episode.mp3") # URL or local file
|
|
2171
|
+
print(t.to_markdown()) # [00:01:05] ...
|
|
2172
|
+
s = summarize_media(t, model="openai/gpt-4o-mini")
|
|
2173
|
+
```
|
|
2174
|
+
|
|
2175
|
+
`auto` uses the first configured STT key (Groq ▸ OpenAI ▸ ElevenLabs). Audio
|
|
2176
|
+
never goes to a second provider unless you pass
|
|
2177
|
+
`allow_provider_fallback=True`. Long media is downmixed and split into
|
|
2178
|
+
10-minute chunks with `ffmpeg`; video/podcast pages need `yt-dlp`. CLI:
|
|
2179
|
+
`prompture transcribe <url|file> [--summary] [--out x.json]`.
|
|
2180
|
+
|
|
2181
|
+
### Research agent
|
|
2182
|
+
|
|
2183
|
+
```bash
|
|
2184
|
+
prompture research "What changed in Python 3.13?" --depth quick --json
|
|
2185
|
+
```
|
|
2186
|
+
|
|
2187
|
+
```python
|
|
2188
|
+
from prompture.research import ResearchAgent, ResearchBudget
|
|
2189
|
+
report = ResearchAgent("openai/gpt-4o-mini", budget=ResearchBudget(max_fetches=6, max_cost=0.05)).run("...")
|
|
2190
|
+
print(report.to_markdown())
|
|
2191
|
+
```
|
|
2192
|
+
|
|
2193
|
+
Plans sub-questions, searches the web plus GitHub/HN/arXiv/YouTube in
|
|
2194
|
+
parallel, reads the top pages and writes an answer whose citations point only
|
|
2195
|
+
at pages it actually opened, with coverage gaps and conflicting claims.
|
|
2196
|
+
Fetch, token, cost and wall-clock budgets are enforced. Other agents can use
|
|
2197
|
+
it as a tool: `tools=[research_tool(depth="quick")]`.
|
|
2198
|
+
|
|
2199
|
+
### MCP hub
|
|
2200
|
+
|
|
2201
|
+
```bash
|
|
2202
|
+
prompture mcp add --preset exa # keyless web search server
|
|
2203
|
+
prompture mcp add search --url https://host/mcp --header 'Authorization=Bearer ${SEARCH_TOKEN}'
|
|
2204
|
+
prompture mcp list | test | remove | import --from cursor
|
|
2205
|
+
```
|
|
2206
|
+
|
|
2207
|
+
```python
|
|
2208
|
+
agent = Agent("openai/gpt-4o-mini", tools=["mcp:exa"])
|
|
2209
|
+
```
|
|
2210
|
+
|
|
2211
|
+
Servers live in `~/.prompture/mcp.json` and `./.prompture/mcp.json` (project
|
|
2212
|
+
wins). Secrets are stored only as `${ENV}` references. Sessions are pooled,
|
|
2213
|
+
tools are prefixed `<server>__<tool>`, and each call lands in the usage
|
|
2214
|
+
ledger.
|
|
2215
|
+
|
|
2216
|
+
### CLI tools and domain packs
|
|
2217
|
+
|
|
2218
|
+
```python
|
|
2219
|
+
agent = Agent("openai/gpt-4o", tools=["cli:gh", "pack:finance", "pack:dev"])
|
|
2220
|
+
```
|
|
2221
|
+
|
|
2222
|
+
- `cli:gh` (repo/issue/PR read + search, `gh api` GET-only), `cli:yt-dlp`, or
|
|
2223
|
+
your own read-only commands in `.prompture/tools.yaml`. No shell, only
|
|
2224
|
+
declared subcommands, flag-injection guards, timeouts and output caps.
|
|
2225
|
+
- Packs: `finance` (Finnhub, CoinGecko), `news` (NewsAPI, feeds), `dev`
|
|
2226
|
+
(GitHub, HN, arXiv, PyPI, npm), `places` (Google Maps, OpenCage, country
|
|
2227
|
+
data). Tools without their key are left out; doctor shows which env var to set.
|
|
2228
|
+
|
|
2229
|
+
### Setup and credentials
|
|
2230
|
+
|
|
2231
|
+
```bash
|
|
2232
|
+
prompture setup # wizard: providers, keys (validated live), default model, proxy
|
|
2233
|
+
prompture configure OPENAI_API_KEY # prompted, hidden
|
|
2234
|
+
prompture configure --list # names + masked values
|
|
2235
|
+
prompture reset --dry-run
|
|
2236
|
+
```
|
|
2237
|
+
|
|
2238
|
+
Keys live in `~/.prompture/credentials.yaml` (owner-only, created on first
|
|
2239
|
+
write); environment variables and `.env` always win. Profiles via
|
|
2240
|
+
`--profile` / `PROMPTURE_PROFILE`. Proxies: `PROMPTURE_PROXY` or
|
|
2241
|
+
`PROMPTURE_<BACKEND>_PROXY`. Every mutating command takes `--dry-run`.
|
|
2242
|
+
|
|
2243
|
+
### Agent skill and updates
|
|
2244
|
+
|
|
2245
|
+
```bash
|
|
2246
|
+
prompture skill install --target claude # or --target project / --target path --path DIR
|
|
2247
|
+
prompture check-update # one PyPI call, cached 24 h
|
|
2248
|
+
prompture watch # offline doctor + update check for cron (exit 1 = broken)
|
|
2249
|
+
```
|
|
2250
|
+
|
|
2251
|
+
The skill teaches coding agents the standing rules (run doctor first,
|
|
2252
|
+
announce the backend, follow the fallback chain) and routes them to
|
|
2253
|
+
per-capability references. For agents setting Prompture up from scratch, see
|
|
2254
|
+
[docs/agent-install.md](docs/agent-install.md); [llms.txt](llms.txt) maps
|
|
2255
|
+
the library for LLMs.
|
|
2256
|
+
|
|
2055
2257
|
## CLI
|
|
2056
2258
|
|
|
2057
2259
|
```bash
|
|
2058
|
-
prompture
|
|
2260
|
+
prompture doctor | setup | configure | reset # health and credentials
|
|
2261
|
+
prompture research | transcribe # capabilities
|
|
2262
|
+
prompture mcp add|list|test|remove|import # MCP hub
|
|
2263
|
+
prompture skill install | check-update | watch # agents and updates
|
|
2264
|
+
prompture serve | hub | companion # servers
|
|
2265
|
+
prompture run <spec-file> # spec-driven cross-model suites
|
|
2059
2266
|
```
|
|
2060
2267
|
|
|
2061
|
-
|
|
2268
|
+
`prompture --help` lists every command; `python -m prompture` works when the
|
|
2269
|
+
script isn't on PATH.
|
|
2062
2270
|
|
|
2063
2271
|
## OpenAI-Compatible Server
|
|
2064
2272
|
|