prompture 1.11.2.dev3__tar.gz → 1.12.1.dev1__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.11.2.dev3 → prompture-1.12.1.dev1}/.env.copy +16 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/workflows/documentation.yml +4 -2
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/PKG-INFO +61 -1
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/README.md +58 -0
- prompture-1.12.1.dev1/VERSION +1 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/__init__.py +31 -2
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/_version.py +2 -2
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/__init__.py +77 -0
- prompture-1.12.1.dev1/prompture/drivers/async_kev_decision_driver.py +19 -0
- prompture-1.12.1.dev1/prompture/drivers/async_laya_decision_driver.py +48 -0
- prompture-1.12.1.dev1/prompture/drivers/async_systemone_compatible_driver.py +58 -0
- prompture-1.12.1.dev1/prompture/drivers/async_typesafe_decision_driver.py +19 -0
- prompture-1.12.1.dev1/prompture/drivers/decision_base.py +572 -0
- prompture-1.12.1.dev1/prompture/drivers/decision_registry.py +55 -0
- prompture-1.12.1.dev1/prompture/drivers/kev_decision_driver.py +37 -0
- prompture-1.12.1.dev1/prompture/drivers/laya_decision_driver.py +194 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/provider_descriptors.py +8 -1
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/registry.py +77 -0
- prompture-1.12.1.dev1/prompture/drivers/systemone_compatible_driver.py +199 -0
- prompture-1.12.1.dev1/prompture/drivers/typesafe_decision_driver.py +34 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/__init__.py +2 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/discovery.py +38 -0
- prompture-1.12.1.dev1/prompture/infra/rates/kev.json +53 -0
- prompture-1.12.1.dev1/prompture/infra/rates/laya.json +60 -0
- prompture-1.12.1.dev1/prompture/infra/rates/typesafe.json +43 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/settings.py +14 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/__init__.py +3 -0
- prompture-1.12.1.dev1/prompture/plugins/builtins/decision_plugin.py +88 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture.egg-info/PKG-INFO +61 -1
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture.egg-info/SOURCES.txt +14 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture.egg-info/requires.txt +3 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/pyproject.toml +4 -0
- prompture-1.11.2.dev3/VERSION +0 -1
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-driver/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-driver/references/driver-template.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-example/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-field/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-persona/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-test/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/add-tool/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/create-pr/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/run-tests/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/scaffold-extraction/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.claude/skills/update-pricing/SKILL.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/FUNDING.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/ISSUE_TEMPLATE/pricing_cost_mismatch.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/ISSUE_TEMPLATE/provider_driver_bug.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/ISSUE_TEMPLATE/schema_extraction_failure.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/scripts/update_docs_version.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/scripts/update_wrapper_version.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/workflows/dev.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/workflows/pricing-freshness.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/workflows/publish.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.github/workflows/security.yml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/.safety-project.ini +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/AGENTS.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/BREAKING_CHANGES.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/CLAUDE.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/CONTRIBUTING.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/LICENSE +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/MANIFEST.in +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/ROADMAP.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/SECURITY.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/dev.ps1 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/dev.sh +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/mypy_errors.txt +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/README.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_json/README.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_json/llm_to_json/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_json/pyproject.toml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_json/test.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_toon/README.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_toon/llm_to_toon/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_toon/pyproject.toml +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/packages/llm_to_toon/test.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/_internal/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/_internal/json_encoder.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/agent.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/assistant.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/async_agent.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/async_conversation.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/async_deep_agent.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/conversation.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep/planner.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep/subagents.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep/summarizer.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep/vfs.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep_agent.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep_prompts.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/deep_state.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/live_events.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/persona.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/review_loop.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/simulated_tools.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/skill_miner.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/skills.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/tool_grammars.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/tools_schema.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/agents/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/aio/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/bridges/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/bridges/tukuy_backend.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/checkpoints/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/checkpoints/core.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/checkpoints/stores.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/checkpoints/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/citations/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/citations/core.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/citations/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/cli/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/cli/cli.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/cli/formatters.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/cli/runner.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/cli/server.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/dedup.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/evol.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/filters.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/formats.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/schemas.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/seed.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/dataset/synth.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_media_usage.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_openai_compat.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_openai_compat_stream.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_openai_responses.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_prompt_cache.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_prompted_tool_stream.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/_usage_reporting.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/aggregator_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/airllm_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/assemblyai_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_aggregator_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_airllm_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_assemblyai_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_azure_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_bedrock_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_bfl_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_cachibot_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_cartesia_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_claude_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_cohere_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_cohere_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_cohere_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_deepgram_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_deepgram_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_deepseek_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_elevenlabs_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_elevenlabs_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_embedding_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_fal_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_fal_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_google_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_google_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_google_vertexai_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_grok_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_grok_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_grok_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_groq_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_hugging_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_ideogram_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_img_gen_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_jina_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_jina_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_kling_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_kling_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_lmstudio_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_local_http_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_luma_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_minimax_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_minimax_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_mistral_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_mistral_moderation_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_modelscope_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_moonshot_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_muapi_aggregator_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_mxbai_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_mxbai_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_nomic_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_ollama_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_ollama_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_compatible_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_moderation_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openai_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_openrouter_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_pika_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_runway_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_runway_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_runway_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_stability_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_stt_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_tts_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_video_gen_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_voyage_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_voyage_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/async_zai_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/audio_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/azure_config.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/azure_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/bedrock_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/bfl_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/cachibot_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/cartesia_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/claude_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/cohere_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/cohere_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/cohere_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/deepgram_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/deepgram_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/deepseek_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/driver_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/elevenlabs_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/elevenlabs_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/embedding_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/embedding_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/fal_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/fal_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/google_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/google_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/google_vertexai_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/grok_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/grok_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/grok_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/groq_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/hugging_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/ideogram_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/img_gen_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/img_gen_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/jina_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/jina_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/job_runner.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/kling_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/kling_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/lipsync_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/lipsync_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/lmstudio_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/local_http_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/luma_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/media_capabilities.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/minimax_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/minimax_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/mistral_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/mistral_moderation_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/modelscope_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/moderation_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/moderation_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/moonshot_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/muapi_aggregator_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/music_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/music_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/mxbai_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/mxbai_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/nomic_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/ollama_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/ollama_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_compatible_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_moderation_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_stt_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openai_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/openrouter_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/pika_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/provider_branding.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/rerank_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/rerank_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/runway_audio_transform_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/runway_capabilities.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/runway_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/runway_tts_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/runway_video_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/stability_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/stt_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/tts_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/vertex_img_gen_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/video_gen_base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/video_gen_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/vision_helpers.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/voyage_embedding_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/voyage_rerank_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/drivers/zai_driver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/eval/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/eval/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/eval/faithfulness.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/eval/judge.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/eval/pairwise.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/eval/self_consistency.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/exceptions.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/context.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/context_eval.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/data/document_qa_policies.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/data/extraction_contacts.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/data/tool_task_inventory.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/fixtures.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/gates.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/harness.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/improve/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/improve/candidates.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/improve/optimizer.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/improve/promotion.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/improve/scorecard.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/integration.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/outcomes.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/policy.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/sandbox.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/scoring.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/strategies/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/strategies/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/strategies/critique.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/strategies/direct.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/strategies/registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/strategies/retrieve.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/execution/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/_usage.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/async_core.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/code_extraction.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/core.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/few_shot.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/fields.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/reasoning.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/strategy.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/streaming.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/tools.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/tukuy_bridge.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/extraction/validator.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/groups/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/groups/async_groups.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/groups/consensus.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/groups/debate.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/groups/groups.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/groups/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/imaging/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/imaging/enhance.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/imaging/negative.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/imaging/set_planner.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/imaging/style_presets.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/billing.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/budget.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/cache.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/callbacks.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/capabilities.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/coding_agent_events.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/coding_agent_specs.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/coding_agents.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/cost_mixin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/ledger.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/logging.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/media_pricing.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/media_rates.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/model_rates.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/pricing.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/provider_env.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/anthropic.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/azure.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/bedrock.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/cerebras.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/cohere.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/deepinfra.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/deepseek.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/fireworks.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/google.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/google_vertexai.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/groq.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/jina.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/mistral.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/mixedbread.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/moonshot.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/nomic.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/nvidia.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/openai.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/openrouter.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/perplexity.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/sambanova.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/siliconflow.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/together.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/voyage.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/rates/xai.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/session.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/token_counting.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/tracker.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/infra/tukuy_backend.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/chunking.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/detect.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/document.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/csv_parser.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/docx.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/html.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/markdown.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/pdf.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/ingestion/parsers/xlsx.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/integrations/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/integrations/mcp_bridge.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/integrations/tukuy_bridge.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/jobs.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/kg/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/kg/core.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/kg/stores.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/kg/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/mcp/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/mcp/client.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/mcp/server.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/mcp/tools.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/media/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/media/agent_tools.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/media/audio.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/media/hosting.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/media/image.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/media/video.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/01-why-prompture.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/02-installation.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/03-quickstart.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/04-toon-input.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/05-test-harness.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/06-stability.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pages/07-migration.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/persistence/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/persistence/history.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/persistence/serialization.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/persistence/store.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pipeline/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pipeline/pipeline.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pipeline/resolver.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/pipeline/routing.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/_aliases.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/anthropic_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/audio_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/cloud_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/embedding_rerank_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/extras_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/google_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/image_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/local_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/openai_compatible_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/openai_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/builtins/video_plugin.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/plugins/discovery.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/py.typed +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/character.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/chunker_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/contextual.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/markdown.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/recursive.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/semantic.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/chunkers/token.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/documents.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loader_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/csv_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/docx_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/epub_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/html_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/json_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/markdown_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/pdf_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/text_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/loaders/xlsx_loader.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/pipeline.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/_fusion.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/hybrid.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/hyde.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/mmr.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/multi_query.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/retriever_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/similarity.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/retrievers/step_back.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/base.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/chroma.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/faiss.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/pgvector.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/pinecone.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/qdrant.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/vectorstore_registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/rag/vectorstores/weaviate.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/refusal/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/refusal/detector.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/refusal/evaluator.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/refusal/markers.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/generator.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/Dockerfile.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/README.md.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/config.py.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/env.example.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/main.py.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/models.py.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/scaffold/templates/requirements.txt.j2 +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/security/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/security/injection.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/security/redaction.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/session_memory/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/session_memory/core.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/session_memory/stores.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/session_memory/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/environment.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/memory.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/scheduler.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/swarm.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/swarm_agent.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/swarm/types.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/testing/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/testing/driver_contract.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/tools/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/tools/code_exec.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/tools/web_search.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/__init__.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/architect.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/engine.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/errors.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/model.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/nodes.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/recovery.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/references.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/registry.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/scheduler.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture/workflow/state.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture.egg-info/dependency_links.txt +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture.egg-info/entry_points.txt +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture.egg-info/top_level.txt +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/prompture_cost_tracking.md +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/requirements.txt +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/scripts/check_pricing_freshness.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/setup.cfg +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/specs/basic_extraction.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/specs/schema_validation.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/specs/strategy_comparison.json +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/test.py +0 -0
- {prompture-1.11.2.dev3 → prompture-1.12.1.dev1}/test_version_diagnosis.py +0 -0
|
@@ -162,6 +162,22 @@ COHERE_EMBEDDING_MODEL=embed-v4.0
|
|
|
162
162
|
VOYAGE_EMBEDDING_MODEL=voyage-3.5
|
|
163
163
|
JINA_EMBEDDING_MODEL=jina-embeddings-v3
|
|
164
164
|
|
|
165
|
+
# ─── Decision models ("System One": typed decisions, not text) ──────────────
|
|
166
|
+
# TypeSafe (hosted Jev) — key from https://console.typesafe.ai/
|
|
167
|
+
TYPESAFE_API_KEY=
|
|
168
|
+
TYPESAFE_BASE_URL=https://api.typesafe.ai
|
|
169
|
+
TYPESAFE_DECISION_MODEL=jev-latest
|
|
170
|
+
|
|
171
|
+
# Kev — self-hosted, serves the same /v1/systemone contract. No key needed.
|
|
172
|
+
# uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8009
|
|
173
|
+
KEV_BASE_URL=http://127.0.0.1:8009
|
|
174
|
+
KEV_API_KEY=
|
|
175
|
+
KEV_DECISION_MODEL=kev-latest
|
|
176
|
+
|
|
177
|
+
# Laya — in-process open weights, no endpoint. Install: pip install prompture[laya]
|
|
178
|
+
LAYA_DECISION_MODEL=router
|
|
179
|
+
LAYA_DEVICE=
|
|
180
|
+
|
|
165
181
|
# ─── Phase 4: AWS Bedrock ───────────────────────────────────────────────────
|
|
166
182
|
# boto3's standard credential chain is also honoured (IAM role, ~/.aws/credentials).
|
|
167
183
|
# Install: pip install prompture[bedrock]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
name: documentation
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
+
workflow_dispatch:
|
|
4
5
|
workflow_run:
|
|
5
6
|
workflows: ["Publish to PyPI and GitHub Release"]
|
|
6
7
|
types: [completed]
|
|
@@ -11,7 +12,7 @@ permissions:
|
|
|
11
12
|
jobs:
|
|
12
13
|
docs:
|
|
13
14
|
runs-on: ubuntu-latest
|
|
14
|
-
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
15
|
+
if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }}
|
|
15
16
|
steps:
|
|
16
17
|
- uses: actions/checkout@v4
|
|
17
18
|
with:
|
|
@@ -26,8 +27,9 @@ jobs:
|
|
|
26
27
|
run: |
|
|
27
28
|
cacaodocs build ./prompture -o ./docs-cacao -c ./cacao.yaml
|
|
28
29
|
- name: Export static site
|
|
30
|
+
working-directory: docs-cacao
|
|
29
31
|
run: |
|
|
30
|
-
cacao build
|
|
32
|
+
cacao build app.py -o ../_build
|
|
31
33
|
- name: Deploy to GitHub Pages
|
|
32
34
|
uses: peaceiris/actions-gh-pages@v3
|
|
33
35
|
with:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: prompture
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.12.1.dev1
|
|
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
|
|
@@ -49,6 +49,8 @@ Requires-Dist: ruff>=0.8.0; extra == "dev"
|
|
|
49
49
|
Requires-Dist: prompture[all]; extra == "dev"
|
|
50
50
|
Provides-Extra: airllm
|
|
51
51
|
Requires-Dist: airllm>=2.8.0; extra == "airllm"
|
|
52
|
+
Provides-Extra: laya
|
|
53
|
+
Requires-Dist: laya>=0.3.6; extra == "laya"
|
|
52
54
|
Provides-Extra: bedrock
|
|
53
55
|
Requires-Dist: boto3>=1.34.0; extra == "bedrock"
|
|
54
56
|
Provides-Extra: ingest
|
|
@@ -159,6 +161,7 @@ print(person.name) # Maria
|
|
|
159
161
|
**Providers & modalities**
|
|
160
162
|
- 36+ providers under a unified `provider/model` string — see [Providers](#providers)
|
|
161
163
|
- Multi-modal drivers for embeddings, rerank, moderation, image, video, TTS, STT, and audio transforms — see [Multi-Modal](#multi-modal)
|
|
164
|
+
- **Decision models** ("System One") — typed `noul`/`choice`/`score` answers with calibrated probabilities instead of generated text. Hosted (TypeSafe Jev), self-hosted (Kev), or in-process (Laya) behind one interface — see [Decision](#decision)
|
|
162
165
|
- TOON input conversion for 45–60% token savings on structured input ([python-toon](https://github.com/jhd3197/python-toon))
|
|
163
166
|
|
|
164
167
|
**Agents, tools, RAG**
|
|
@@ -339,6 +342,9 @@ Model strings use `"provider/model"` format. The provider prefix routes to the c
|
|
|
339
342
|
| `jina` | `jina/jina-embeddings-v3` (embedding), `jina/jina-reranker-v2-base-multilingual` (rerank) | Automatic |
|
|
340
343
|
| `nomic` | `nomic/nomic-embed-text-v1.5` (embedding) | Automatic |
|
|
341
344
|
| `mixedbread` | `mixedbread/mxbai-embed-large-v1` (embedding), `mixedbread/mxbai-rerank-large-v1` (rerank) | Automatic |
|
|
345
|
+
| `typesafe` | `typesafe/jev-latest` (decision) | Automatic |
|
|
346
|
+
| `kev` | `kev/kev-4b` (decision, self-hosted) | Free |
|
|
347
|
+
| `laya` | `laya/router` (decision, in-process) | Free (local) |
|
|
342
348
|
| `openai_compatible` | `openai_compatible/<profile>/<model>` — 9 curated profiles: `fireworks`, `together`, `cerebras`, `sambanova`, `perplexity`, `nvidia`, `deepinfra`, `siliconflow`, `github_models` (or pass an explicit `endpoint=` for anything else) | Automatic where pricing is known |
|
|
343
349
|
|
|
344
350
|
</details>
|
|
@@ -380,6 +386,7 @@ Beyond text LLMs, Prompture exposes drivers for adjacent modalities under the sa
|
|
|
380
386
|
- **Embeddings** — OpenAI (`text-embedding-3-*`), Cohere (`embed-v4.0`), Voyage AI (`voyage-3.5`, `voyage-3-large`), Jina AI (`jina-embeddings-v3`), Nomic (`nomic-embed-text-v1.5`), Mixedbread (`mxbai-embed-large-v1`, `mxbai-embed-2d-large-v1`), and Ollama (`nomic-embed-text`)
|
|
381
387
|
- **Rerank** — Cohere (`rerank-v3.5`), Voyage AI (`rerank-2.5`), Jina AI (`jina-reranker-v2-base-multilingual`), Mixedbread (`mxbai-rerank-large-v1`, `mxbai-rerank-base-v1`, `mxbai-rerank-xsmall-v1`)
|
|
382
388
|
- **Moderation** — OpenAI (`omni-moderation-latest` — free multimodal), Mistral (`mistral-moderation-latest`)
|
|
389
|
+
- **Decision** ("System One" typed decisions) — TypeSafe (`jev-latest` — hosted), Kev (`kev-0.8b`/`kev-4b`/`kev-9b` — self-hosted, same endpoint), Laya (`router`, `english`, `multilingual`, `typed-decisions` — in-process)
|
|
383
390
|
- **Image generation** — OpenAI DALL-E + GPT image, Google Imagen, Grok, Stability AI, Runway (`gen4_image`, `gen4_image_turbo`, `gpt_image_2`, `gemini_image3_pro`, `gemini_2.5_flash`), Kling AI, Fal.ai, Ideogram (v3 — strong typography), Black Forest Labs / Flux (`flux-pro-1.1`, `flux-pro-1.1-ultra`, `flux-dev`, `flux-schnell`, `flux-kontext-pro`/`max` for editing)
|
|
384
391
|
- **Video generation** — Grok Imagine Video; Runway text/image/video → video (`gen4.5`, `gen4_turbo`, `gen3a_turbo`, `gen4_aleph`, `veo3`, `veo3.1`, `veo3.1_fast`); MiniMax / Hailuo; Kling AI; Luma AI Dream Machine (`ray-2`, `ray-flash-2`, `ray-1-6`); Pika Labs (`pika-2.2`, `pika-2.1`, `pika-1.5`); Fal.ai
|
|
385
392
|
- **Text-to-speech** — OpenAI (`tts-1`), ElevenLabs, Cartesia (`sonic-2`), Deepgram (`aura-2-thalia-en`), Runway (`eleven_multilingual_v2`)
|
|
@@ -463,6 +470,59 @@ for r in results:
|
|
|
463
470
|
|
|
464
471
|
OpenAI moderation is free of charge (`cost == 0`, `pricing_unknown == False`). Mistral moderation is billed at ~$0.10 per million input tokens. Discover configured moderation models with `get_available_moderation_models()`. The async factory is `get_async_moderation_driver_for_model()`.
|
|
465
472
|
|
|
473
|
+
### Decision
|
|
474
|
+
|
|
475
|
+
Decision models ("System One") answer typed questions about a state instead of generating text. You send a `state` plus a map of questions; you get back one typed answer per question with calibrated probabilities — nothing to parse, nothing to hallucinate.
|
|
476
|
+
|
|
477
|
+
Three primitives: `Noul` (yes/no → probability), `Choice` (pick one → winner + distribution + confidence), and `Score` (ordinal rubric → weighted value + confidence).
|
|
478
|
+
|
|
479
|
+
```python
|
|
480
|
+
from prompture.drivers.decision_base import Choice, Noul, Score
|
|
481
|
+
from prompture.drivers.decision_registry import get_decision_driver_for_model
|
|
482
|
+
|
|
483
|
+
driver = get_decision_driver_for_model("typesafe/jev-latest")
|
|
484
|
+
result = driver.decide(
|
|
485
|
+
state={"subject": "Duplicate charge", "body": "We were billed twice. Refund today or we cancel."},
|
|
486
|
+
questions={
|
|
487
|
+
"department": Choice(
|
|
488
|
+
"Which team should handle this?",
|
|
489
|
+
criteria={"billing": "invoices, refunds", "technical": "bugs, outages", "sales": None},
|
|
490
|
+
),
|
|
491
|
+
"urgency": Score("How urgent is this?", criteria=["not urgent", "this week", "blocking"]),
|
|
492
|
+
"churn_risk": Noul("Does the sender threaten to cancel?"),
|
|
493
|
+
},
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
print(result["department"].choice, result["department"].confidence) # billing 0.81
|
|
497
|
+
print(result["urgency"].score, result["urgency"].nearest_level) # 1.05 this week
|
|
498
|
+
print(result["churn_risk"].noul) # 0.95
|
|
499
|
+
print(driver.last_usage["cost"])
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
All questions in one call share a single reading of the state, so batching beats looping. Because the probabilities are calibrated, the common use is a confidence gate in front of an expensive model:
|
|
503
|
+
|
|
504
|
+
```python
|
|
505
|
+
answer = result["department"]
|
|
506
|
+
if answer.confidence >= 0.85:
|
|
507
|
+
route_automatically(answer.choice) # no LLM call at all
|
|
508
|
+
else:
|
|
509
|
+
escalate_to_llm(state)
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
The same question map works across every provider — only the model string changes:
|
|
513
|
+
|
|
514
|
+
| Model string | Where it runs | Cost | Setup |
|
|
515
|
+
| --- | --- | --- | --- |
|
|
516
|
+
| `typesafe/jev-latest` | hosted | $0.042 / 1M input tokens, output free | `TYPESAFE_API_KEY` |
|
|
517
|
+
| `kev/kev-4b` | your own server, same `/v1/systemone` contract | free | `KEV_BASE_URL` (no key) |
|
|
518
|
+
| `laya/router` | in-process weights | free | `pip install prompture[laya]` |
|
|
519
|
+
|
|
520
|
+
The open checkpoints trade accuracy for cost and both degrade on high-cardinality choices (50+ options), so benchmark on your own labels before switching a workload off the hosted model.
|
|
521
|
+
|
|
522
|
+
Discover configured decision models with `get_available_decision_models()` — TypeSafe appears when its key is set, Kev when `KEV_BASE_URL` points at a server, Laya when the package is installed. The async factory is `get_async_decision_driver_for_model()`.
|
|
523
|
+
|
|
524
|
+
Runnable example: `python examples/decision_model_example.py`.
|
|
525
|
+
|
|
466
526
|
### Runway
|
|
467
527
|
|
|
468
528
|
Runway is a single API surface covering image, video, and audio. One key (`RUNWAY_API_KEY`, or `RUNWAYML_API_SECRET`) unlocks all of it:
|
|
@@ -54,6 +54,7 @@ print(person.name) # Maria
|
|
|
54
54
|
**Providers & modalities**
|
|
55
55
|
- 36+ providers under a unified `provider/model` string — see [Providers](#providers)
|
|
56
56
|
- Multi-modal drivers for embeddings, rerank, moderation, image, video, TTS, STT, and audio transforms — see [Multi-Modal](#multi-modal)
|
|
57
|
+
- **Decision models** ("System One") — typed `noul`/`choice`/`score` answers with calibrated probabilities instead of generated text. Hosted (TypeSafe Jev), self-hosted (Kev), or in-process (Laya) behind one interface — see [Decision](#decision)
|
|
57
58
|
- TOON input conversion for 45–60% token savings on structured input ([python-toon](https://github.com/jhd3197/python-toon))
|
|
58
59
|
|
|
59
60
|
**Agents, tools, RAG**
|
|
@@ -234,6 +235,9 @@ Model strings use `"provider/model"` format. The provider prefix routes to the c
|
|
|
234
235
|
| `jina` | `jina/jina-embeddings-v3` (embedding), `jina/jina-reranker-v2-base-multilingual` (rerank) | Automatic |
|
|
235
236
|
| `nomic` | `nomic/nomic-embed-text-v1.5` (embedding) | Automatic |
|
|
236
237
|
| `mixedbread` | `mixedbread/mxbai-embed-large-v1` (embedding), `mixedbread/mxbai-rerank-large-v1` (rerank) | Automatic |
|
|
238
|
+
| `typesafe` | `typesafe/jev-latest` (decision) | Automatic |
|
|
239
|
+
| `kev` | `kev/kev-4b` (decision, self-hosted) | Free |
|
|
240
|
+
| `laya` | `laya/router` (decision, in-process) | Free (local) |
|
|
237
241
|
| `openai_compatible` | `openai_compatible/<profile>/<model>` — 9 curated profiles: `fireworks`, `together`, `cerebras`, `sambanova`, `perplexity`, `nvidia`, `deepinfra`, `siliconflow`, `github_models` (or pass an explicit `endpoint=` for anything else) | Automatic where pricing is known |
|
|
238
242
|
|
|
239
243
|
</details>
|
|
@@ -275,6 +279,7 @@ Beyond text LLMs, Prompture exposes drivers for adjacent modalities under the sa
|
|
|
275
279
|
- **Embeddings** — OpenAI (`text-embedding-3-*`), Cohere (`embed-v4.0`), Voyage AI (`voyage-3.5`, `voyage-3-large`), Jina AI (`jina-embeddings-v3`), Nomic (`nomic-embed-text-v1.5`), Mixedbread (`mxbai-embed-large-v1`, `mxbai-embed-2d-large-v1`), and Ollama (`nomic-embed-text`)
|
|
276
280
|
- **Rerank** — Cohere (`rerank-v3.5`), Voyage AI (`rerank-2.5`), Jina AI (`jina-reranker-v2-base-multilingual`), Mixedbread (`mxbai-rerank-large-v1`, `mxbai-rerank-base-v1`, `mxbai-rerank-xsmall-v1`)
|
|
277
281
|
- **Moderation** — OpenAI (`omni-moderation-latest` — free multimodal), Mistral (`mistral-moderation-latest`)
|
|
282
|
+
- **Decision** ("System One" typed decisions) — TypeSafe (`jev-latest` — hosted), Kev (`kev-0.8b`/`kev-4b`/`kev-9b` — self-hosted, same endpoint), Laya (`router`, `english`, `multilingual`, `typed-decisions` — in-process)
|
|
278
283
|
- **Image generation** — OpenAI DALL-E + GPT image, Google Imagen, Grok, Stability AI, Runway (`gen4_image`, `gen4_image_turbo`, `gpt_image_2`, `gemini_image3_pro`, `gemini_2.5_flash`), Kling AI, Fal.ai, Ideogram (v3 — strong typography), Black Forest Labs / Flux (`flux-pro-1.1`, `flux-pro-1.1-ultra`, `flux-dev`, `flux-schnell`, `flux-kontext-pro`/`max` for editing)
|
|
279
284
|
- **Video generation** — Grok Imagine Video; Runway text/image/video → video (`gen4.5`, `gen4_turbo`, `gen3a_turbo`, `gen4_aleph`, `veo3`, `veo3.1`, `veo3.1_fast`); MiniMax / Hailuo; Kling AI; Luma AI Dream Machine (`ray-2`, `ray-flash-2`, `ray-1-6`); Pika Labs (`pika-2.2`, `pika-2.1`, `pika-1.5`); Fal.ai
|
|
280
285
|
- **Text-to-speech** — OpenAI (`tts-1`), ElevenLabs, Cartesia (`sonic-2`), Deepgram (`aura-2-thalia-en`), Runway (`eleven_multilingual_v2`)
|
|
@@ -358,6 +363,59 @@ for r in results:
|
|
|
358
363
|
|
|
359
364
|
OpenAI moderation is free of charge (`cost == 0`, `pricing_unknown == False`). Mistral moderation is billed at ~$0.10 per million input tokens. Discover configured moderation models with `get_available_moderation_models()`. The async factory is `get_async_moderation_driver_for_model()`.
|
|
360
365
|
|
|
366
|
+
### Decision
|
|
367
|
+
|
|
368
|
+
Decision models ("System One") answer typed questions about a state instead of generating text. You send a `state` plus a map of questions; you get back one typed answer per question with calibrated probabilities — nothing to parse, nothing to hallucinate.
|
|
369
|
+
|
|
370
|
+
Three primitives: `Noul` (yes/no → probability), `Choice` (pick one → winner + distribution + confidence), and `Score` (ordinal rubric → weighted value + confidence).
|
|
371
|
+
|
|
372
|
+
```python
|
|
373
|
+
from prompture.drivers.decision_base import Choice, Noul, Score
|
|
374
|
+
from prompture.drivers.decision_registry import get_decision_driver_for_model
|
|
375
|
+
|
|
376
|
+
driver = get_decision_driver_for_model("typesafe/jev-latest")
|
|
377
|
+
result = driver.decide(
|
|
378
|
+
state={"subject": "Duplicate charge", "body": "We were billed twice. Refund today or we cancel."},
|
|
379
|
+
questions={
|
|
380
|
+
"department": Choice(
|
|
381
|
+
"Which team should handle this?",
|
|
382
|
+
criteria={"billing": "invoices, refunds", "technical": "bugs, outages", "sales": None},
|
|
383
|
+
),
|
|
384
|
+
"urgency": Score("How urgent is this?", criteria=["not urgent", "this week", "blocking"]),
|
|
385
|
+
"churn_risk": Noul("Does the sender threaten to cancel?"),
|
|
386
|
+
},
|
|
387
|
+
)
|
|
388
|
+
|
|
389
|
+
print(result["department"].choice, result["department"].confidence) # billing 0.81
|
|
390
|
+
print(result["urgency"].score, result["urgency"].nearest_level) # 1.05 this week
|
|
391
|
+
print(result["churn_risk"].noul) # 0.95
|
|
392
|
+
print(driver.last_usage["cost"])
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
All questions in one call share a single reading of the state, so batching beats looping. Because the probabilities are calibrated, the common use is a confidence gate in front of an expensive model:
|
|
396
|
+
|
|
397
|
+
```python
|
|
398
|
+
answer = result["department"]
|
|
399
|
+
if answer.confidence >= 0.85:
|
|
400
|
+
route_automatically(answer.choice) # no LLM call at all
|
|
401
|
+
else:
|
|
402
|
+
escalate_to_llm(state)
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
The same question map works across every provider — only the model string changes:
|
|
406
|
+
|
|
407
|
+
| Model string | Where it runs | Cost | Setup |
|
|
408
|
+
| --- | --- | --- | --- |
|
|
409
|
+
| `typesafe/jev-latest` | hosted | $0.042 / 1M input tokens, output free | `TYPESAFE_API_KEY` |
|
|
410
|
+
| `kev/kev-4b` | your own server, same `/v1/systemone` contract | free | `KEV_BASE_URL` (no key) |
|
|
411
|
+
| `laya/router` | in-process weights | free | `pip install prompture[laya]` |
|
|
412
|
+
|
|
413
|
+
The open checkpoints trade accuracy for cost and both degrade on high-cardinality choices (50+ options), so benchmark on your own labels before switching a workload off the hosted model.
|
|
414
|
+
|
|
415
|
+
Discover configured decision models with `get_available_decision_models()` — TypeSafe appears when its key is set, Kev when `KEV_BASE_URL` points at a server, Laya when the package is installed. The async factory is `get_async_decision_driver_for_model()`.
|
|
416
|
+
|
|
417
|
+
Runnable example: `python examples/decision_model_example.py`.
|
|
418
|
+
|
|
361
419
|
### Runway
|
|
362
420
|
|
|
363
421
|
Runway is a single API surface covering image, video, and audio. One key (`RUNWAY_API_KEY`, or `RUNWAYML_API_SECRET`) unlocks all of it:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.12.0
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"""prompture - API package to convert LLM outputs into JSON + test harness."""
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import os as _os
|
|
4
|
+
|
|
5
|
+
from dotenv import dotenv_values, find_dotenv
|
|
4
6
|
|
|
5
7
|
from .agents import *
|
|
6
8
|
|
|
@@ -231,8 +233,35 @@ try:
|
|
|
231
233
|
except ImportError:
|
|
232
234
|
pass
|
|
233
235
|
|
|
236
|
+
|
|
237
|
+
def _load_dotenv_skipping_blanks(path: str | None = None) -> None:
|
|
238
|
+
"""Load ``.env`` into ``os.environ``, ignoring keys with a blank value.
|
|
239
|
+
|
|
240
|
+
A placeholder line like ``HF_ENDPOINT=`` means "not configured", but
|
|
241
|
+
exporting it makes the variable *set-but-empty*, which is not the same
|
|
242
|
+
thing to the rest of the process. Libraries that resolve their default
|
|
243
|
+
with ``os.getenv(KEY, default)`` — huggingface_hub's endpoint is one —
|
|
244
|
+
take the empty string over their default and break, even though the
|
|
245
|
+
caller never configured anything. Since ``.env`` values never override
|
|
246
|
+
real environment variables here, a blank placeholder can only ever
|
|
247
|
+
create such a variable, so there is nothing to lose by skipping it.
|
|
248
|
+
|
|
249
|
+
Args:
|
|
250
|
+
path: Explicit ``.env`` to read. When omitted, the file is located
|
|
251
|
+
the same way :func:`dotenv.load_dotenv` would — by walking up
|
|
252
|
+
from this module.
|
|
253
|
+
"""
|
|
254
|
+
path = path or find_dotenv()
|
|
255
|
+
if not path:
|
|
256
|
+
return
|
|
257
|
+
for key, value in dotenv_values(path).items():
|
|
258
|
+
if value is None or not value.strip():
|
|
259
|
+
continue
|
|
260
|
+
_os.environ.setdefault(key, value)
|
|
261
|
+
|
|
262
|
+
|
|
234
263
|
# Load environment variables from .env file
|
|
235
|
-
|
|
264
|
+
_load_dotenv_skipping_blanks()
|
|
236
265
|
|
|
237
266
|
# Auto-configure cache from settings if enabled
|
|
238
267
|
from .infra.settings import settings as _settings
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.
|
|
22
|
-
__version_tuple__ = version_tuple = (1,
|
|
21
|
+
__version__ = version = '1.12.1.dev1'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 12, 1, 'dev1')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -47,6 +47,8 @@ from .async_groq_driver import AsyncGroqDriver
|
|
|
47
47
|
from .async_hugging_driver import AsyncHuggingFaceDriver
|
|
48
48
|
from .async_img_gen_base import AsyncImageGenDriver
|
|
49
49
|
from .async_jina_rerank_driver import AsyncJinaRerankDriver
|
|
50
|
+
from .async_kev_decision_driver import AsyncKevDecisionDriver
|
|
51
|
+
from .async_laya_decision_driver import AsyncLayaDecisionDriver
|
|
50
52
|
from .async_lmstudio_driver import AsyncLMStudioDriver
|
|
51
53
|
from .async_local_http_driver import AsyncLocalHTTPDriver
|
|
52
54
|
from .async_mistral_moderation_driver import AsyncMistralModerationDriver
|
|
@@ -66,7 +68,9 @@ from .async_runway_tts_driver import AsyncRunwayTTSDriver
|
|
|
66
68
|
from .async_runway_video_gen_driver import AsyncRunwayVideoGenDriver
|
|
67
69
|
from .async_stability_img_gen_driver import AsyncStabilityImageGenDriver
|
|
68
70
|
from .async_stt_base import AsyncSTTDriver
|
|
71
|
+
from .async_systemone_compatible_driver import AsyncSystemOneCompatibleDriver
|
|
69
72
|
from .async_tts_base import AsyncTTSDriver
|
|
73
|
+
from .async_typesafe_decision_driver import AsyncTypeSafeDecisionDriver
|
|
70
74
|
from .async_video_gen_base import AsyncVideoGenDriver
|
|
71
75
|
from .async_voyage_rerank_driver import AsyncVoyageRerankDriver
|
|
72
76
|
from .async_zai_driver import AsyncZaiDriver
|
|
@@ -80,6 +84,28 @@ from .azure_driver import AzureDriver
|
|
|
80
84
|
from .cachibot_driver import CachiBotDriver
|
|
81
85
|
from .claude_driver import ClaudeDriver
|
|
82
86
|
from .cohere_rerank_driver import CohereRerankDriver
|
|
87
|
+
from .decision_base import (
|
|
88
|
+
QUESTION_TYPES,
|
|
89
|
+
Answer,
|
|
90
|
+
AsyncDecisionDriver,
|
|
91
|
+
Choice,
|
|
92
|
+
ChoiceAnswer,
|
|
93
|
+
DecisionDriver,
|
|
94
|
+
DecisionResponse,
|
|
95
|
+
Noul,
|
|
96
|
+
NoulAnswer,
|
|
97
|
+
Question,
|
|
98
|
+
Score,
|
|
99
|
+
ScoreAnswer,
|
|
100
|
+
calculate_decision_cost,
|
|
101
|
+
normalize_questions,
|
|
102
|
+
)
|
|
103
|
+
from .decision_registry import (
|
|
104
|
+
ASYNC_DECISION_DRIVER_REGISTRY,
|
|
105
|
+
DECISION_DRIVER_REGISTRY,
|
|
106
|
+
get_async_decision_driver_for_model,
|
|
107
|
+
get_decision_driver_for_model,
|
|
108
|
+
)
|
|
83
109
|
from .elevenlabs_stt_driver import ElevenLabsSTTDriver
|
|
84
110
|
from .elevenlabs_tts_driver import ElevenLabsTTSDriver
|
|
85
111
|
from .embedding_base import EMBEDDING_MODEL_DIMENSIONS, EmbeddingDriver
|
|
@@ -92,6 +118,8 @@ from .groq_driver import GroqDriver
|
|
|
92
118
|
from .hugging_driver import HuggingFaceDriver
|
|
93
119
|
from .img_gen_base import ImageGenDriver
|
|
94
120
|
from .jina_rerank_driver import JinaRerankDriver
|
|
121
|
+
from .kev_decision_driver import KevDecisionDriver
|
|
122
|
+
from .laya_decision_driver import LayaDecisionDriver
|
|
95
123
|
from .lmstudio_driver import LMStudioDriver
|
|
96
124
|
from .local_http_driver import LocalHTTPDriver
|
|
97
125
|
from .mistral_moderation_driver import MistralModerationDriver
|
|
@@ -121,6 +149,7 @@ from .provider_descriptors import (
|
|
|
121
149
|
)
|
|
122
150
|
from .registry import (
|
|
123
151
|
_get_sync_registry,
|
|
152
|
+
get_async_decision_driver_factory,
|
|
124
153
|
get_async_driver_factory,
|
|
125
154
|
get_async_embedding_driver_factory,
|
|
126
155
|
get_async_img_gen_driver_factory,
|
|
@@ -129,6 +158,7 @@ from .registry import (
|
|
|
129
158
|
get_async_stt_driver_factory,
|
|
130
159
|
get_async_tts_driver_factory,
|
|
131
160
|
get_async_video_gen_driver_factory,
|
|
161
|
+
get_decision_driver_factory,
|
|
132
162
|
get_driver_factory,
|
|
133
163
|
get_embedding_driver_factory,
|
|
134
164
|
get_img_gen_driver_factory,
|
|
@@ -137,6 +167,7 @@ from .registry import (
|
|
|
137
167
|
get_stt_driver_factory,
|
|
138
168
|
get_tts_driver_factory,
|
|
139
169
|
get_video_gen_driver_factory,
|
|
170
|
+
is_async_decision_driver_registered,
|
|
140
171
|
is_async_driver_registered,
|
|
141
172
|
is_async_embedding_driver_registered,
|
|
142
173
|
is_async_img_gen_driver_registered,
|
|
@@ -145,6 +176,7 @@ from .registry import (
|
|
|
145
176
|
is_async_stt_driver_registered,
|
|
146
177
|
is_async_tts_driver_registered,
|
|
147
178
|
is_async_video_gen_driver_registered,
|
|
179
|
+
is_decision_driver_registered,
|
|
148
180
|
is_driver_registered,
|
|
149
181
|
is_embedding_driver_registered,
|
|
150
182
|
is_img_gen_driver_registered,
|
|
@@ -153,6 +185,7 @@ from .registry import (
|
|
|
153
185
|
is_stt_driver_registered,
|
|
154
186
|
is_tts_driver_registered,
|
|
155
187
|
is_video_gen_driver_registered,
|
|
188
|
+
list_registered_async_decision_drivers,
|
|
156
189
|
list_registered_async_drivers,
|
|
157
190
|
list_registered_async_embedding_drivers,
|
|
158
191
|
list_registered_async_img_gen_drivers,
|
|
@@ -161,6 +194,7 @@ from .registry import (
|
|
|
161
194
|
list_registered_async_stt_drivers,
|
|
162
195
|
list_registered_async_tts_drivers,
|
|
163
196
|
list_registered_async_video_gen_drivers,
|
|
197
|
+
list_registered_decision_drivers,
|
|
164
198
|
list_registered_drivers,
|
|
165
199
|
list_registered_embedding_drivers,
|
|
166
200
|
list_registered_img_gen_drivers,
|
|
@@ -170,6 +204,7 @@ from .registry import (
|
|
|
170
204
|
list_registered_tts_drivers,
|
|
171
205
|
list_registered_video_gen_drivers,
|
|
172
206
|
load_entry_point_drivers,
|
|
207
|
+
register_async_decision_driver,
|
|
173
208
|
register_async_driver,
|
|
174
209
|
register_async_embedding_driver,
|
|
175
210
|
register_async_img_gen_driver,
|
|
@@ -178,6 +213,7 @@ from .registry import (
|
|
|
178
213
|
register_async_stt_driver,
|
|
179
214
|
register_async_tts_driver,
|
|
180
215
|
register_async_video_gen_driver,
|
|
216
|
+
register_decision_driver,
|
|
181
217
|
register_driver,
|
|
182
218
|
register_embedding_driver,
|
|
183
219
|
register_img_gen_driver,
|
|
@@ -186,6 +222,7 @@ from .registry import (
|
|
|
186
222
|
register_stt_driver,
|
|
187
223
|
register_tts_driver,
|
|
188
224
|
register_video_gen_driver,
|
|
225
|
+
unregister_async_decision_driver,
|
|
189
226
|
unregister_async_driver,
|
|
190
227
|
unregister_async_embedding_driver,
|
|
191
228
|
unregister_async_img_gen_driver,
|
|
@@ -194,6 +231,7 @@ from .registry import (
|
|
|
194
231
|
unregister_async_stt_driver,
|
|
195
232
|
unregister_async_tts_driver,
|
|
196
233
|
unregister_async_video_gen_driver,
|
|
234
|
+
unregister_decision_driver,
|
|
197
235
|
unregister_driver,
|
|
198
236
|
unregister_embedding_driver,
|
|
199
237
|
unregister_img_gen_driver,
|
|
@@ -222,7 +260,9 @@ from .runway_tts_driver import RunwayTTSDriver
|
|
|
222
260
|
from .runway_video_gen_driver import RunwayVideoGenDriver
|
|
223
261
|
from .stability_img_gen_driver import StabilityImageGenDriver
|
|
224
262
|
from .stt_base import STTDriver
|
|
263
|
+
from .systemone_compatible_driver import SystemOneCompatibleDriver
|
|
225
264
|
from .tts_base import TTSDriver
|
|
265
|
+
from .typesafe_decision_driver import TypeSafeDecisionDriver
|
|
226
266
|
from .video_gen_base import VideoGenDriver
|
|
227
267
|
from .voyage_rerank_driver import VoyageRerankDriver
|
|
228
268
|
from .zai_driver import ZaiDriver
|
|
@@ -511,11 +551,13 @@ def provider_for_model(model_str: str, *, canonical: bool = False) -> str:
|
|
|
511
551
|
|
|
512
552
|
|
|
513
553
|
__all__ = [
|
|
554
|
+
"ASYNC_DECISION_DRIVER_REGISTRY",
|
|
514
555
|
"ASYNC_DRIVER_REGISTRY",
|
|
515
556
|
"ASYNC_MODERATION_DRIVER_REGISTRY",
|
|
516
557
|
# Provider driver maps (for explicit-credential construction)
|
|
517
558
|
"ASYNC_PROVIDER_DRIVER_MAP",
|
|
518
559
|
"ASYNC_RERANK_DRIVER_REGISTRY",
|
|
560
|
+
"DECISION_DRIVER_REGISTRY",
|
|
519
561
|
# Legacy registry dicts (for backwards compatibility)
|
|
520
562
|
"DRIVER_REGISTRY",
|
|
521
563
|
# Embedding model dimension metadata
|
|
@@ -529,12 +571,15 @@ __all__ = [
|
|
|
529
571
|
"PROVIDER_DRIVER_MAP",
|
|
530
572
|
# Provider name mapping
|
|
531
573
|
"PROVIDER_NAME_MAP",
|
|
574
|
+
"QUESTION_TYPES",
|
|
532
575
|
"RERANK_DRIVER_REGISTRY",
|
|
533
576
|
"RUNWAY_ALL_MODALITIES",
|
|
534
577
|
"RUNWAY_ALL_OPERATIONS",
|
|
535
578
|
"RUNWAY_MODEL_INFO",
|
|
536
579
|
# Sync LLM drivers
|
|
537
580
|
"AirLLMDriver",
|
|
581
|
+
# Decision base + question/answer types
|
|
582
|
+
"Answer",
|
|
538
583
|
# Async LLM drivers
|
|
539
584
|
"AsyncAirLLMDriver",
|
|
540
585
|
"AsyncAzureDriver",
|
|
@@ -542,6 +587,7 @@ __all__ = [
|
|
|
542
587
|
"AsyncClaudeDriver",
|
|
543
588
|
# Async rerank drivers
|
|
544
589
|
"AsyncCohereRerankDriver",
|
|
590
|
+
"AsyncDecisionDriver",
|
|
545
591
|
# Async base classes
|
|
546
592
|
"AsyncDriver",
|
|
547
593
|
# Async audio drivers
|
|
@@ -559,7 +605,9 @@ __all__ = [
|
|
|
559
605
|
"AsyncHuggingFaceDriver",
|
|
560
606
|
"AsyncImageGenDriver",
|
|
561
607
|
"AsyncJinaRerankDriver",
|
|
608
|
+
"AsyncKevDecisionDriver",
|
|
562
609
|
"AsyncLMStudioDriver",
|
|
610
|
+
"AsyncLayaDecisionDriver",
|
|
563
611
|
"AsyncLocalHTTPDriver",
|
|
564
612
|
"AsyncMistralModerationDriver",
|
|
565
613
|
"AsyncModelScopeDriver",
|
|
@@ -580,16 +628,22 @@ __all__ = [
|
|
|
580
628
|
"AsyncRunwayVideoGenDriver",
|
|
581
629
|
"AsyncSTTDriver",
|
|
582
630
|
"AsyncStabilityImageGenDriver",
|
|
631
|
+
"AsyncSystemOneCompatibleDriver",
|
|
583
632
|
"AsyncTTSDriver",
|
|
633
|
+
"AsyncTypeSafeDecisionDriver",
|
|
584
634
|
"AsyncVideoGenDriver",
|
|
585
635
|
"AsyncVoyageRerankDriver",
|
|
586
636
|
"AsyncZaiDriver",
|
|
587
637
|
# Sync LLM drivers
|
|
588
638
|
"AzureDriver",
|
|
589
639
|
"CachiBotDriver",
|
|
640
|
+
"Choice",
|
|
641
|
+
"ChoiceAnswer",
|
|
590
642
|
"ClaudeDriver",
|
|
591
643
|
# Sync rerank drivers
|
|
592
644
|
"CohereRerankDriver",
|
|
645
|
+
"DecisionDriver",
|
|
646
|
+
"DecisionResponse",
|
|
593
647
|
# Sync audio drivers
|
|
594
648
|
"ElevenLabsSTTDriver",
|
|
595
649
|
"ElevenLabsTTSDriver",
|
|
@@ -606,7 +660,9 @@ __all__ = [
|
|
|
606
660
|
# Image gen base class
|
|
607
661
|
"ImageGenDriver",
|
|
608
662
|
"JinaRerankDriver",
|
|
663
|
+
"KevDecisionDriver",
|
|
609
664
|
"LMStudioDriver",
|
|
665
|
+
"LayaDecisionDriver",
|
|
610
666
|
"LocalHTTPDriver",
|
|
611
667
|
"MistralModerationDriver",
|
|
612
668
|
"ModelScopeDriver",
|
|
@@ -614,6 +670,8 @@ __all__ = [
|
|
|
614
670
|
"ModerationDriver",
|
|
615
671
|
"ModerationResult",
|
|
616
672
|
"MoonshotDriver",
|
|
673
|
+
"Noul",
|
|
674
|
+
"NoulAnswer",
|
|
617
675
|
"OllamaDriver",
|
|
618
676
|
"OllamaEmbeddingDriver",
|
|
619
677
|
"OpenAIDriver",
|
|
@@ -625,6 +683,7 @@ __all__ = [
|
|
|
625
683
|
"OpenRouterDriver",
|
|
626
684
|
# Branding (display metadata)
|
|
627
685
|
"ProviderBrand",
|
|
686
|
+
"Question",
|
|
628
687
|
# Rerank base + result types
|
|
629
688
|
"RerankDriver",
|
|
630
689
|
"RerankResult",
|
|
@@ -634,13 +693,20 @@ __all__ = [
|
|
|
634
693
|
"RunwayVideoGenDriver",
|
|
635
694
|
# STT/TTS base classes
|
|
636
695
|
"STTDriver",
|
|
696
|
+
"Score",
|
|
697
|
+
"ScoreAnswer",
|
|
637
698
|
"StabilityImageGenDriver",
|
|
699
|
+
"SystemOneCompatibleDriver",
|
|
638
700
|
"TTSDriver",
|
|
701
|
+
"TypeSafeDecisionDriver",
|
|
639
702
|
"VideoGenDriver",
|
|
640
703
|
"VoyageRerankDriver",
|
|
641
704
|
"ZaiDriver",
|
|
705
|
+
"calculate_decision_cost",
|
|
642
706
|
# Azure config API
|
|
643
707
|
"clear_azure_configs",
|
|
708
|
+
"get_async_decision_driver_factory",
|
|
709
|
+
"get_async_decision_driver_for_model",
|
|
644
710
|
"get_async_driver",
|
|
645
711
|
"get_async_driver_for_model",
|
|
646
712
|
# Embedding registry query functions
|
|
@@ -672,6 +738,8 @@ __all__ = [
|
|
|
672
738
|
# Video gen factory functions
|
|
673
739
|
"get_async_video_gen_driver_for_model",
|
|
674
740
|
# LLM factory functions
|
|
741
|
+
"get_decision_driver_factory",
|
|
742
|
+
"get_decision_driver_for_model",
|
|
675
743
|
"get_driver",
|
|
676
744
|
"get_driver_for_model",
|
|
677
745
|
"get_embedding_driver_factory",
|
|
@@ -696,6 +764,7 @@ __all__ = [
|
|
|
696
764
|
"get_video_gen_driver_for_model",
|
|
697
765
|
"icon_url",
|
|
698
766
|
# Other registry query functions
|
|
767
|
+
"is_async_decision_driver_registered",
|
|
699
768
|
"is_async_driver_registered",
|
|
700
769
|
"is_async_embedding_driver_registered",
|
|
701
770
|
"is_async_img_gen_driver_registered",
|
|
@@ -704,6 +773,7 @@ __all__ = [
|
|
|
704
773
|
"is_async_stt_driver_registered",
|
|
705
774
|
"is_async_tts_driver_registered",
|
|
706
775
|
"is_async_video_gen_driver_registered",
|
|
776
|
+
"is_decision_driver_registered",
|
|
707
777
|
"is_driver_registered",
|
|
708
778
|
"is_embedding_driver_registered",
|
|
709
779
|
"is_img_gen_driver_registered",
|
|
@@ -712,6 +782,7 @@ __all__ = [
|
|
|
712
782
|
"is_stt_driver_registered",
|
|
713
783
|
"is_tts_driver_registered",
|
|
714
784
|
"is_video_gen_driver_registered",
|
|
785
|
+
"list_registered_async_decision_drivers",
|
|
715
786
|
"list_registered_async_drivers",
|
|
716
787
|
"list_registered_async_embedding_drivers",
|
|
717
788
|
"list_registered_async_img_gen_drivers",
|
|
@@ -720,6 +791,7 @@ __all__ = [
|
|
|
720
791
|
"list_registered_async_stt_drivers",
|
|
721
792
|
"list_registered_async_tts_drivers",
|
|
722
793
|
"list_registered_async_video_gen_drivers",
|
|
794
|
+
"list_registered_decision_drivers",
|
|
723
795
|
"list_registered_drivers",
|
|
724
796
|
"list_registered_embedding_drivers",
|
|
725
797
|
"list_registered_img_gen_drivers",
|
|
@@ -729,9 +801,11 @@ __all__ = [
|
|
|
729
801
|
"list_registered_tts_drivers",
|
|
730
802
|
"list_registered_video_gen_drivers",
|
|
731
803
|
"load_entry_point_drivers",
|
|
804
|
+
"normalize_questions",
|
|
732
805
|
"parse_model_string",
|
|
733
806
|
"provider_for_model",
|
|
734
807
|
"register_all_builtin_drivers",
|
|
808
|
+
"register_async_decision_driver",
|
|
735
809
|
"register_async_driver",
|
|
736
810
|
"register_async_embedding_driver",
|
|
737
811
|
"register_async_img_gen_driver",
|
|
@@ -742,6 +816,7 @@ __all__ = [
|
|
|
742
816
|
"register_async_video_gen_driver",
|
|
743
817
|
"register_azure_config",
|
|
744
818
|
# Registry functions (public API)
|
|
819
|
+
"register_decision_driver",
|
|
745
820
|
"register_driver",
|
|
746
821
|
"register_embedding_driver",
|
|
747
822
|
"register_img_gen_driver",
|
|
@@ -751,6 +826,7 @@ __all__ = [
|
|
|
751
826
|
"register_tts_driver",
|
|
752
827
|
"register_video_gen_driver",
|
|
753
828
|
"set_azure_config_resolver",
|
|
829
|
+
"unregister_async_decision_driver",
|
|
754
830
|
"unregister_async_driver",
|
|
755
831
|
"unregister_async_embedding_driver",
|
|
756
832
|
"unregister_async_img_gen_driver",
|
|
@@ -760,6 +836,7 @@ __all__ = [
|
|
|
760
836
|
"unregister_async_tts_driver",
|
|
761
837
|
"unregister_async_video_gen_driver",
|
|
762
838
|
"unregister_azure_config",
|
|
839
|
+
"unregister_decision_driver",
|
|
763
840
|
"unregister_driver",
|
|
764
841
|
"unregister_embedding_driver",
|
|
765
842
|
"unregister_img_gen_driver",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Async Kev decision driver — self-hosted Jev-compatible decision models."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .async_systemone_compatible_driver import AsyncSystemOneCompatibleDriver
|
|
6
|
+
from .kev_decision_driver import KevDecisionDriver
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class AsyncKevDecisionDriver(AsyncSystemOneCompatibleDriver):
|
|
10
|
+
"""Async self-hosted Kev decision driver."""
|
|
11
|
+
|
|
12
|
+
PROVIDER = KevDecisionDriver.PROVIDER
|
|
13
|
+
DEFAULT_BASE_URL = KevDecisionDriver.DEFAULT_BASE_URL
|
|
14
|
+
DEFAULT_MODEL = KevDecisionDriver.DEFAULT_MODEL
|
|
15
|
+
ENV_KEY = KevDecisionDriver.ENV_KEY
|
|
16
|
+
ENV_BASE_URL = KevDecisionDriver.ENV_BASE_URL
|
|
17
|
+
REQUIRES_API_KEY = False
|
|
18
|
+
|
|
19
|
+
KNOWN_MODELS: tuple[str, ...] = KevDecisionDriver.KNOWN_MODELS
|