prompture 1.13.3.dev1__tar.gz → 1.13.4.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.13.4.dev1/.gitattributes +3 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/PKG-INFO +1 -1
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/_version.py +2 -2
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/cli/cli.py +111 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/automations.py +50 -3
- prompture-1.13.4.dev1/prompture/companion/calls.py +520 -0
- prompture-1.13.4.dev1/prompture/companion/capacity.py +128 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/coding_tools.py +12 -0
- prompture-1.13.4.dev1/prompture/companion/hook.py +109 -0
- prompture-1.13.4.dev1/prompture/companion/memory.py +516 -0
- prompture-1.13.4.dev1/prompture/companion/reuse.py +136 -0
- prompture-1.13.4.dev1/prompture/companion/router.py +1246 -0
- prompture-1.13.4.dev1/prompture/companion/routing_policy.py +738 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/server.py +250 -10
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/tool_routing.py +141 -18
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/gateway/__init__.py +6 -1
- prompture-1.13.4.dev1/prompture/gateway/gemini_format.py +248 -0
- prompture-1.13.4.dev1/prompture/session_memory/project.py +259 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/session_memory/stores.py +15 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/session_memory/types.py +12 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/PKG-INFO +1 -1
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/SOURCES.txt +8 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/scm_file_list.json +12 -0
- prompture-1.13.3.dev1/prompture/companion/hook.py +0 -75
- prompture-1.13.3.dev1/prompture/companion/router.py +0 -589
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-driver/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-driver/references/driver-template.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-example/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-field/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-persona/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-test/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/add-tool/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/create-pr/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/run-tests/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/scaffold-extraction/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.claude/skills/update-pricing/SKILL.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.env.copy +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/FUNDING.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/ISSUE_TEMPLATE/pricing_cost_mismatch.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/ISSUE_TEMPLATE/provider_driver_bug.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/ISSUE_TEMPLATE/schema_extraction_failure.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/scripts/update_docs_version.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/scripts/update_wrapper_version.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/workflows/dev.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/workflows/documentation.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/workflows/pricing-freshness.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/workflows/publish.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.github/workflows/security.yml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/.safety-project.ini +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/AGENTS.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/BREAKING_CHANGES.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/CLAUDE.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/CONTRIBUTING.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/LICENSE +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/MANIFEST.in +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/README.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/ROADMAP.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/SECURITY.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/VERSION +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/dev.ps1 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/dev.sh +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/mypy_errors.txt +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/README.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_json/README.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_json/llm_to_json/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_json/pyproject.toml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_json/test.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_toon/README.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_toon/llm_to_toon/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_toon/pyproject.toml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/packages/llm_to_toon/test.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/__main__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/_internal/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/_internal/json_encoder.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/agent.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/assistant.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/async_agent.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/async_conversation.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/async_deep_agent.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/conversation.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep/planner.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep/subagents.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep/summarizer.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep/vfs.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep_agent.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep_prompts.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/deep_state.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/live_events.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/persona.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/review_loop.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/simulated_tools.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/skill_miner.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/skills.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/tool_grammars.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/tools_schema.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/agents/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/aio/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/bridges/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/bridges/tukuy_backend.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/checkpoints/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/checkpoints/core.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/checkpoints/stores.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/checkpoints/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/citations/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/citations/core.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/citations/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/cli/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/cli/formatters.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/cli/runner.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/cli/server.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/live.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/local.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/companion/summary.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/dedup.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/evol.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/filters.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/formats.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/schemas.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/seed.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/dataset/synth.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_media_usage.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_openai_compat.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_openai_compat_stream.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_openai_responses.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_prompt_cache.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_prompted_tool_stream.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/_usage_reporting.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/aggregator_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/airllm_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/assemblyai_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_aggregator_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_airllm_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_assemblyai_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_azure_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_bedrock_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_bfl_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_cachibot_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_cartesia_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_claude_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_cohere_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_cohere_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_cohere_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_deepgram_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_deepgram_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_deepseek_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_elevenlabs_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_elevenlabs_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_embedding_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_fal_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_fal_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_google_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_google_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_google_vertexai_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_grok_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_grok_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_grok_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_groq_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_hugging_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_ideogram_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_img_gen_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_jina_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_jina_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_kev_decision_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_kling_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_kling_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_laya_decision_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_lmstudio_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_local_http_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_luma_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_minimax_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_minimax_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_mistral_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_mistral_moderation_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_modelscope_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_moonshot_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_muapi_aggregator_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_mxbai_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_mxbai_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_nomic_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_ollama_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_ollama_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_compatible_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_moderation_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openai_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_openrouter_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_pika_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_runway_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_runway_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_runway_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_stability_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_stt_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_systemone_compatible_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_tts_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_typesafe_decision_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_video_gen_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_voyage_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_voyage_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/async_zai_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/audio_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/azure_config.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/azure_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/bedrock_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/bfl_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/cachibot_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/cartesia_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/claude_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/cohere_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/cohere_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/cohere_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/decision_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/decision_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/deepgram_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/deepgram_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/deepseek_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/driver_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/elevenlabs_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/elevenlabs_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/embedding_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/embedding_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/fal_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/fal_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/google_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/google_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/google_vertexai_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/grok_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/grok_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/grok_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/groq_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/hugging_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/ideogram_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/img_gen_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/img_gen_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/jina_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/jina_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/job_runner.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/kev_decision_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/kling_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/kling_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/laya_decision_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/lipsync_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/lipsync_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/lmstudio_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/local_http_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/luma_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/media_capabilities.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/minimax_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/minimax_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/mistral_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/mistral_moderation_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/modelscope_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/moderation_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/moderation_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/moonshot_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/muapi_aggregator_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/music_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/music_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/mxbai_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/mxbai_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/nomic_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/ollama_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/ollama_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_compatible_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_moderation_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_stt_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openai_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/openrouter_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/pika_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/provider_branding.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/provider_descriptors.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/rerank_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/rerank_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/runway_audio_transform_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/runway_capabilities.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/runway_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/runway_tts_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/runway_video_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/stability_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/stt_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/systemone_compatible_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/tts_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/typesafe_decision_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/vertex_img_gen_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/video_gen_base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/video_gen_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/vision_helpers.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/voyage_embedding_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/voyage_rerank_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/drivers/zai_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/eval/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/eval/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/eval/faithfulness.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/eval/judge.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/eval/pairwise.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/eval/self_consistency.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/exceptions.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/context.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/context_eval.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/data/document_qa_policies.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/data/extraction_contacts.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/data/tool_task_inventory.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/fixtures.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/gates.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/harness.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/improve/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/improve/candidates.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/improve/optimizer.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/improve/promotion.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/improve/scorecard.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/integration.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/outcomes.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/policy.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/sandbox.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/scoring.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/strategies/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/strategies/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/strategies/critique.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/strategies/direct.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/strategies/registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/strategies/retrieve.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/execution/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/_usage.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/async_core.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/code_extraction.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/core.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/few_shot.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/fields.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/reasoning.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/strategy.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/streaming.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/tools.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/tukuy_bridge.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/extraction/validator.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/gateway/anthropic_format.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/gateway/openai_format.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/gateway/reasoning_cache.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/gateway/responses_format.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/async_groups.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/consensus.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/debate.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/fusion.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/groups.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/groups/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/imaging/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/imaging/enhance.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/imaging/negative.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/imaging/set_planner.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/imaging/style_presets.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/accounts.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/billing.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/budget.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/cache.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/callbacks.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/capabilities.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/coding_agent_activity.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/coding_agent_events.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/coding_agent_readers.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/coding_agent_specs.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/coding_agent_usage.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/coding_agents.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/compression.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/cost_mixin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/discovery.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/ledger.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/logging.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/media_pricing.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/media_rates.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/model_rates.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/otel.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/pricing.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/provider_env.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rate_limits.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/anthropic.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/azure.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/bedrock.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/cerebras.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/cohere.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/deepinfra.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/deepseek.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/fireworks.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/google.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/google_vertexai.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/groq.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/jina.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/kev.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/laya.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/mistral.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/mixedbread.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/moonshot.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/nomic.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/nvidia.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/openai.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/openrouter.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/perplexity.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/sambanova.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/siliconflow.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/together.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/typesafe.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/voyage.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/rates/xai.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/session.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/settings.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/token_counting.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/tracker.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/infra/tukuy_backend.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/chunking.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/detect.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/document.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/csv_parser.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/docx.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/html.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/markdown.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/pdf.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/ingestion/parsers/xlsx.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/integrations/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/integrations/mcp_bridge.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/integrations/tukuy_bridge.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/jobs.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/kg/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/kg/core.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/kg/stores.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/kg/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/mcp/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/mcp/client.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/mcp/server.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/mcp/tools.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/media/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/media/agent_tools.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/media/audio.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/media/hosting.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/media/image.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/media/video.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/01-why-prompture.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/02-installation.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/03-quickstart.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/04-toon-input.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/05-test-harness.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/06-stability.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pages/07-migration.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/persistence/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/persistence/history.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/persistence/serialization.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/persistence/store.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pipeline/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pipeline/pipeline.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pipeline/resolver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/pipeline/routing.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/_aliases.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/anthropic_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/audio_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/cloud_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/decision_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/embedding_rerank_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/extras_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/google_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/image_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/local_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/openai_compatible_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/openai_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/builtins/video_plugin.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/plugins/discovery.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/py.typed +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/character.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/chunker_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/contextual.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/markdown.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/recursive.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/semantic.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/chunkers/token.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/documents.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loader_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/csv_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/docx_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/epub_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/html_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/json_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/markdown_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/pdf_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/text_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/loaders/xlsx_loader.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/pipeline.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/_fusion.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/hybrid.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/hyde.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/mmr.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/multi_query.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/retriever_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/similarity.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/retrievers/step_back.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/base.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/chroma.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/faiss.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/pgvector.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/pinecone.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/qdrant.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/vectorstore_registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/rag/vectorstores/weaviate.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/refusal/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/refusal/detector.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/refusal/evaluator.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/refusal/markers.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/async_driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/backoff.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/breaker.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/driver.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/errors.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/explain.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/headroom.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/keys.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/router.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/strategies.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/resilience/virtual.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/generator.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/Dockerfile.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/README.md.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/config.py.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/env.example.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/main.py.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/models.py.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/scaffold/templates/requirements.txt.j2 +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/security/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/security/injection.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/security/redaction.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/session_memory/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/session_memory/core.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/environment.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/memory.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/scheduler.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/swarm.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/swarm_agent.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/swarm/types.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/testing/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/testing/driver_contract.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/tools/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/tools/code_exec.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/tools/web_search.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/__init__.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/architect.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/engine.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/errors.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/model.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/nodes.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/recovery.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/references.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/registry.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/scheduler.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture/workflow/state.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/dependency_links.txt +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/entry_points.txt +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/requires.txt +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture.egg-info/top_level.txt +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/prompture_cost_tracking.md +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/pyproject.toml +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/requirements.txt +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/scripts/check_pricing_freshness.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/setup.cfg +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/specs/basic_extraction.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/specs/schema_validation.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/specs/strategy_comparison.json +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/test.py +0 -0
- {prompture-1.13.3.dev1 → prompture-1.13.4.dev1}/test_version_diagnosis.py +0 -0
|
@@ -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.13.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 13,
|
|
21
|
+
__version__ = version = '1.13.4.dev1'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 13, 4, 'dev1')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -232,6 +232,16 @@ def test_suite(specfile: str, providers: str | None, models: str | None, fmt: st
|
|
|
232
232
|
default=True,
|
|
233
233
|
help="Let companion apps route Claude Code and Codex through this companion (default: on).",
|
|
234
234
|
)
|
|
235
|
+
@click.option(
|
|
236
|
+
"--memory/--no-memory",
|
|
237
|
+
default=True,
|
|
238
|
+
help="Give routed coding agents their project's shared notes at the start of each session (default: on).",
|
|
239
|
+
)
|
|
240
|
+
@click.option(
|
|
241
|
+
"--restore",
|
|
242
|
+
is_flag=True,
|
|
243
|
+
help="Point Claude Code and Codex back at their vendors (after a companion was killed) and exit.",
|
|
244
|
+
)
|
|
235
245
|
def companion(
|
|
236
246
|
port: int | None,
|
|
237
247
|
db_path: str | None,
|
|
@@ -239,6 +249,8 @@ def companion(
|
|
|
239
249
|
coding_tools: bool,
|
|
240
250
|
automations: bool,
|
|
241
251
|
router: bool,
|
|
252
|
+
memory: bool,
|
|
253
|
+
restore: bool,
|
|
242
254
|
) -> None:
|
|
243
255
|
"""Serve this machine's Prompture usage to desktop companions (no hub needed).
|
|
244
256
|
|
|
@@ -253,10 +265,19 @@ def companion(
|
|
|
253
265
|
so the companion prefers the same port each time: 47811.
|
|
254
266
|
"""
|
|
255
267
|
from ..companion import Automations, CodingToolSource, CompanionServer, LedgerSource, running_instance
|
|
268
|
+
from ..companion.memory import MemoryService
|
|
256
269
|
from ..companion.server import DEFAULT_PORT
|
|
257
270
|
from ..companion.tool_routing import ToolRouting
|
|
258
271
|
|
|
259
272
|
existing = running_instance()
|
|
273
|
+
if restore:
|
|
274
|
+
if existing:
|
|
275
|
+
raise click.ClickException(
|
|
276
|
+
f"A companion is running at {existing['url']}; turn routing off in its app, or stop it first."
|
|
277
|
+
)
|
|
278
|
+
restored = ToolRouting().restore_all()
|
|
279
|
+
click.echo(f"Restored: {', '.join(restored)}." if restored else "Nothing was routed.")
|
|
280
|
+
return
|
|
260
281
|
if existing:
|
|
261
282
|
click.echo(f"Prompture companion already running at {existing['url']} (pid {existing.get('pid')}).")
|
|
262
283
|
return
|
|
@@ -267,6 +288,7 @@ def companion(
|
|
|
267
288
|
port=on_port,
|
|
268
289
|
coding_tools=CodingToolSource() if coding_tools else None,
|
|
269
290
|
tool_routing=ToolRouting() if router else None,
|
|
291
|
+
memory=MemoryService() if router and memory else None,
|
|
270
292
|
)
|
|
271
293
|
|
|
272
294
|
if port is None:
|
|
@@ -458,3 +480,92 @@ def scaffold(output_dir: str, name: str, model: str, docker: bool) -> None:
|
|
|
458
480
|
include_docker=docker,
|
|
459
481
|
)
|
|
460
482
|
click.echo(f"Project scaffolded at {output_dir}")
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
@cli.group()
|
|
486
|
+
def memory() -> None:
|
|
487
|
+
"""Project notes shared by coding agents (decisions, conventions, commands, fixes).
|
|
488
|
+
|
|
489
|
+
The companion gives each Claude Code and Codex session its project's
|
|
490
|
+
relevant notes when it starts. The project is this folder's name unless
|
|
491
|
+
--project says otherwise.
|
|
492
|
+
"""
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
def _project_or_cwd(project: str | None) -> str:
|
|
496
|
+
import os
|
|
497
|
+
|
|
498
|
+
from ..session_memory.project import project_name
|
|
499
|
+
|
|
500
|
+
name = project or project_name(os.getcwd())
|
|
501
|
+
if not name:
|
|
502
|
+
raise click.ClickException("Can't tell the project from this folder; pass --project.")
|
|
503
|
+
return name
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
@memory.command("add")
|
|
507
|
+
@click.argument("text")
|
|
508
|
+
@click.option(
|
|
509
|
+
"--kind",
|
|
510
|
+
type=click.Choice(["decision", "convention", "command", "fix", "fact"]),
|
|
511
|
+
default="fact",
|
|
512
|
+
help="What sort of note it is.",
|
|
513
|
+
)
|
|
514
|
+
@click.option("--source", default=None, help="Where it comes from: a file and line, a commit, a doc.")
|
|
515
|
+
@click.option(
|
|
516
|
+
"--verified", is_flag=True, help="It was checked (tests pass, the command ran). Verified notes are shared."
|
|
517
|
+
)
|
|
518
|
+
@click.option("--pinned", is_flag=True, help="Give it to every session, whatever the task.")
|
|
519
|
+
@click.option("--project", default=None, help="Project name (default: this folder's name).")
|
|
520
|
+
@click.option("--agent", default=None, help="Who is adding it (default: the agent running this, if known).")
|
|
521
|
+
def memory_add(
|
|
522
|
+
text: str, kind: str, source: str | None, verified: bool, pinned: bool, project: str | None, agent: str | None
|
|
523
|
+
) -> None:
|
|
524
|
+
"""Save a note for later sessions in this project."""
|
|
525
|
+
import os
|
|
526
|
+
|
|
527
|
+
from ..session_memory.project import ProjectMemory
|
|
528
|
+
|
|
529
|
+
name = _project_or_cwd(project)
|
|
530
|
+
who = agent or ("claude" if os.environ.get("CLAUDECODE") else "codex" if os.environ.get("CODEX_SANDBOX") else None)
|
|
531
|
+
fact = ProjectMemory().add(name, text, kind=kind, source=source, verified=verified, pinned=pinned, agent=who)
|
|
532
|
+
state = "verified" if verified else "unverified (shared once verified)"
|
|
533
|
+
click.echo(f"Saved {kind} note {fact.id[:8]} for {name}, {state}.")
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
@memory.command("list")
|
|
537
|
+
@click.option("--project", default=None, help="Project name (default: this folder's name).")
|
|
538
|
+
@click.option("--json", "as_json", is_flag=True, help="Print JSON.")
|
|
539
|
+
def memory_list(project: str | None, as_json: bool) -> None:
|
|
540
|
+
"""Show this project's notes."""
|
|
541
|
+
from ..session_memory.project import ProjectMemory
|
|
542
|
+
|
|
543
|
+
name = _project_or_cwd(project)
|
|
544
|
+
facts = ProjectMemory().notes(name)
|
|
545
|
+
if as_json:
|
|
546
|
+
click.echo(
|
|
547
|
+
json.dumps([{"id": f.id, "kind": f.kind, "content": f.content, **f.metadata} for f in facts], indent=2)
|
|
548
|
+
)
|
|
549
|
+
return
|
|
550
|
+
if not facts:
|
|
551
|
+
click.echo(f"No notes for {name} yet.")
|
|
552
|
+
for f in facts:
|
|
553
|
+
flag = "✓" if f.metadata.get("verified") else " "
|
|
554
|
+
source = f" ({f.metadata['source']})" if f.metadata.get("source") else ""
|
|
555
|
+
click.echo(f"{flag} {f.id[:8]} [{f.kind}] {f.content}{source}")
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
@memory.command("rm")
|
|
559
|
+
@click.argument("note_id")
|
|
560
|
+
@click.option("--project", default=None, help="Project name (default: this folder's name).")
|
|
561
|
+
def memory_rm(note_id: str, project: str | None) -> None:
|
|
562
|
+
"""Delete a note (the id, or the first characters of it, as `list` shows)."""
|
|
563
|
+
from ..session_memory.project import ProjectMemory
|
|
564
|
+
|
|
565
|
+
name = _project_or_cwd(project)
|
|
566
|
+
store = ProjectMemory()
|
|
567
|
+
matches = [f for f in store.notes(name) if f.id.startswith(note_id)]
|
|
568
|
+
if len(matches) != 1:
|
|
569
|
+
raise click.ClickException(f"{len(matches)} notes match {note_id!r} in {name}.")
|
|
570
|
+
store.delete(name, matches[0].id)
|
|
571
|
+
click.echo(f"Deleted {matches[0].id[:8]}.")
|
|
@@ -9,7 +9,9 @@ permission prompts are skipped (``approval_mode="auto"``).
|
|
|
9
9
|
A queue pauses by itself when a step fails, when the agent ends a step on a
|
|
10
10
|
question (answering continues that step's session), when the agent's plan
|
|
11
11
|
window is nearly used up (it resumes when the window resets), or when the run
|
|
12
|
-
passes a cost cap.
|
|
12
|
+
passes a cost cap. With ``agent: "auto"`` the queue starts on whichever agent
|
|
13
|
+
has the most plan left, and a step that starts a fresh session moves to the
|
|
14
|
+
other agent instead of pausing when the current one runs low. Steps that haven't started can be added, removed and
|
|
13
15
|
reordered while it runs. A step either continues the previous step's session
|
|
14
16
|
(``"same"``) or starts a fresh one (``"new"``).
|
|
15
17
|
|
|
@@ -111,6 +113,8 @@ class Run:
|
|
|
111
113
|
note: str | None = None
|
|
112
114
|
#: Skip the plan-limit check for the next step ("Resume now").
|
|
113
115
|
ignore_limit: bool = False
|
|
116
|
+
#: The agent is chosen by plan left, and may change between fresh sessions.
|
|
117
|
+
auto: bool = False
|
|
114
118
|
|
|
115
119
|
@property
|
|
116
120
|
def project(self) -> str:
|
|
@@ -128,6 +132,7 @@ class Run:
|
|
|
128
132
|
"project": self.project,
|
|
129
133
|
"agent": self.agent,
|
|
130
134
|
"agent_name": AGENTS.get(self.agent, self.agent),
|
|
135
|
+
"auto": self.auto,
|
|
131
136
|
"model": self.model,
|
|
132
137
|
"status": self.status,
|
|
133
138
|
"reason": self.reason,
|
|
@@ -349,8 +354,13 @@ class Automations:
|
|
|
349
354
|
agent = str(body.get("agent") or "claude")
|
|
350
355
|
if not cwd or not Path(cwd).is_dir():
|
|
351
356
|
raise AutomationError(422, "Pick a project folder that exists.")
|
|
357
|
+
auto = agent == "auto"
|
|
358
|
+
note = None
|
|
359
|
+
if auto:
|
|
360
|
+
agent, why = self._most_room(list(AGENTS))
|
|
361
|
+
note = f"Started on {AGENTS[agent]}: {why}"
|
|
352
362
|
if agent not in AGENTS:
|
|
353
|
-
raise AutomationError(422, f"agent must be one of {', '.join(AGENTS)}.")
|
|
363
|
+
raise AutomationError(422, f"agent must be auto or one of {', '.join(AGENTS)}.")
|
|
354
364
|
steps = _parse_steps(body.get("steps"))
|
|
355
365
|
if not steps:
|
|
356
366
|
raise AutomationError(422, "Add at least one step.")
|
|
@@ -373,6 +383,8 @@ class Automations:
|
|
|
373
383
|
"cost_usd": float(cost) if isinstance(cost, (int, float)) and cost > 0 else None,
|
|
374
384
|
},
|
|
375
385
|
created_at=time.time(),
|
|
386
|
+
auto=auto,
|
|
387
|
+
note=note,
|
|
376
388
|
)
|
|
377
389
|
self.run = run
|
|
378
390
|
self._save(run)
|
|
@@ -518,6 +530,41 @@ class Automations:
|
|
|
518
530
|
return step.session_id
|
|
519
531
|
return None
|
|
520
532
|
|
|
533
|
+
def _most_room(self, agents: list[str]) -> tuple[str, str]:
|
|
534
|
+
"""The agent with the most plan left, and why (plan windows from the companion's limits)."""
|
|
535
|
+
from .capacity import pick_agent
|
|
536
|
+
|
|
537
|
+
try:
|
|
538
|
+
limits = self.limits() if self.limits is not None else {}
|
|
539
|
+
except Exception:
|
|
540
|
+
logger.debug("plan limits failed", exc_info=True)
|
|
541
|
+
limits = {}
|
|
542
|
+
return pick_agent(limits, agents, PLAN_TARGETS)
|
|
543
|
+
|
|
544
|
+
def _switch_agent(self, run: Run, step: Step) -> bool:
|
|
545
|
+
"""Move an auto queue to the other agent for a step that starts fresh; ``False`` if it can't."""
|
|
546
|
+
fresh = step.session == "new" or run.current == 0 or not self._session_before(run, run.current)
|
|
547
|
+
if not run.auto or step.reply or not fresh:
|
|
548
|
+
return False
|
|
549
|
+
others = [a for a in AGENTS if a != run.agent]
|
|
550
|
+
agent, why = self._most_room(others)
|
|
551
|
+
from .capacity import headroom
|
|
552
|
+
|
|
553
|
+
try:
|
|
554
|
+
room = headroom((self.limits() if self.limits is not None else {}).get(PLAN_TARGETS.get(agent, "")))
|
|
555
|
+
except Exception:
|
|
556
|
+
room = None
|
|
557
|
+
if room is not None and room <= NEAR_LIMIT:
|
|
558
|
+
return False
|
|
559
|
+
old, run.agent = run.agent, agent
|
|
560
|
+
run.note = f"Moved to {AGENTS[agent]} ({why}); {AGENTS[old]}'s plan is nearly used up"
|
|
561
|
+
# A step that continues a session must stay on the agent that owns it; new steps start fresh.
|
|
562
|
+
for later in run.steps[run.current + 1 :]:
|
|
563
|
+
if later.status == "pending" and later.session == "same":
|
|
564
|
+
later.session = "new"
|
|
565
|
+
break
|
|
566
|
+
return True
|
|
567
|
+
|
|
521
568
|
def _plan_near(self, run: Run) -> tuple[bool, float | None]:
|
|
522
569
|
"""Whether the agent's plan is nearly used up, and when the tightest window resets."""
|
|
523
570
|
if self.limits is None or not run.stop.get("limit"):
|
|
@@ -550,7 +597,7 @@ class Automations:
|
|
|
550
597
|
run.ignore_limit = False
|
|
551
598
|
else:
|
|
552
599
|
near, resets = self._plan_near(run)
|
|
553
|
-
if near:
|
|
600
|
+
if near and not self._switch_agent(run, step):
|
|
554
601
|
self._pause(run, "limit", resets)
|
|
555
602
|
return None
|
|
556
603
|
if step.reply:
|