prompture 1.1.3.dev2__tar.gz → 1.1.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.
Files changed (418) hide show
  1. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/PKG-INFO +100 -1
  2. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/README.md +99 -0
  3. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/_version.py +2 -2
  4. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/__init__.py +28 -0
  5. prompture-1.1.4.dev1/prompture/agents/assistant.py +505 -0
  6. prompture-1.1.4.dev1/prompture/agents/review_loop.py +360 -0
  7. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/__init__.py +10 -0
  8. prompture-1.1.4.dev1/prompture/extraction/code_extraction.py +159 -0
  9. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/__init__.py +2 -0
  10. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/coding_agent_events.py +4 -4
  11. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/coding_agent_specs.py +23 -1
  12. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/coding_agents.py +1 -0
  13. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/discovery.py +75 -1
  14. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture.egg-info/PKG-INFO +100 -1
  15. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture.egg-info/SOURCES.txt +3 -0
  16. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-driver/SKILL.md +0 -0
  17. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-driver/references/driver-template.md +0 -0
  18. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-example/SKILL.md +0 -0
  19. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-field/SKILL.md +0 -0
  20. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-persona/SKILL.md +0 -0
  21. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-test/SKILL.md +0 -0
  22. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/add-tool/SKILL.md +0 -0
  23. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/create-pr/SKILL.md +0 -0
  24. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/run-tests/SKILL.md +0 -0
  25. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/scaffold-extraction/SKILL.md +0 -0
  26. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.claude/skills/update-pricing/SKILL.md +0 -0
  27. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.env.copy +0 -0
  28. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/FUNDING.yml +0 -0
  29. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  30. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/ISSUE_TEMPLATE/pricing_cost_mismatch.yml +0 -0
  31. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/ISSUE_TEMPLATE/provider_driver_bug.yml +0 -0
  32. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/ISSUE_TEMPLATE/schema_extraction_failure.yml +0 -0
  33. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/scripts/update_docs_version.py +0 -0
  34. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/scripts/update_wrapper_version.py +0 -0
  35. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/workflows/dev.yml +0 -0
  36. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/workflows/documentation.yml +0 -0
  37. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/workflows/pricing-freshness.yml +0 -0
  38. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/workflows/publish.yml +0 -0
  39. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.github/workflows/security.yml +0 -0
  40. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/.safety-project.ini +0 -0
  41. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/AGENTS.md +0 -0
  42. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/BREAKING_CHANGES.md +0 -0
  43. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/CLAUDE.md +0 -0
  44. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/CONTRIBUTING.md +0 -0
  45. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/LICENSE +0 -0
  46. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/MANIFEST.in +0 -0
  47. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/ROADMAP.md +0 -0
  48. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/SECURITY.md +0 -0
  49. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/dev.ps1 +0 -0
  50. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/dev.sh +0 -0
  51. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/mypy_errors.txt +0 -0
  52. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/README.md +0 -0
  53. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_json/README.md +0 -0
  54. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_json/llm_to_json/__init__.py +0 -0
  55. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_json/pyproject.toml +0 -0
  56. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_json/test.py +0 -0
  57. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_toon/README.md +0 -0
  58. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_toon/llm_to_toon/__init__.py +0 -0
  59. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_toon/pyproject.toml +0 -0
  60. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/packages/llm_to_toon/test.py +0 -0
  61. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/__init__.py +0 -0
  62. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/agent.py +0 -0
  63. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/async_agent.py +0 -0
  64. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/async_conversation.py +0 -0
  65. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/async_deep_agent.py +0 -0
  66. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/conversation.py +0 -0
  67. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep/__init__.py +0 -0
  68. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep/planner.py +0 -0
  69. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep/subagents.py +0 -0
  70. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep/summarizer.py +0 -0
  71. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep/vfs.py +0 -0
  72. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep_agent.py +0 -0
  73. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep_prompts.py +0 -0
  74. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/deep_state.py +0 -0
  75. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/persona.py +0 -0
  76. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/simulated_tools.py +0 -0
  77. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/skills.py +0 -0
  78. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/tools_schema.py +0 -0
  79. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/agents/types.py +0 -0
  80. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/aio/__init__.py +0 -0
  81. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/bridges/__init__.py +0 -0
  82. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/bridges/tukuy_backend.py +0 -0
  83. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/cli/__init__.py +0 -0
  84. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/cli/cli.py +0 -0
  85. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/cli/formatters.py +0 -0
  86. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/cli/runner.py +0 -0
  87. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/cli/server.py +0 -0
  88. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/dataset/__init__.py +0 -0
  89. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/dataset/formats.py +0 -0
  90. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/dataset/schemas.py +0 -0
  91. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/dataset/synth.py +0 -0
  92. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/__init__.py +0 -0
  93. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/airllm_driver.py +0 -0
  94. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/assemblyai_stt_driver.py +0 -0
  95. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_airllm_driver.py +0 -0
  96. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_assemblyai_stt_driver.py +0 -0
  97. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_azure_driver.py +0 -0
  98. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_base.py +0 -0
  99. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_bedrock_driver.py +0 -0
  100. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_bfl_img_gen_driver.py +0 -0
  101. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_cachibot_driver.py +0 -0
  102. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_cartesia_tts_driver.py +0 -0
  103. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_claude_driver.py +0 -0
  104. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_cohere_driver.py +0 -0
  105. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_cohere_embedding_driver.py +0 -0
  106. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_cohere_rerank_driver.py +0 -0
  107. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_deepgram_stt_driver.py +0 -0
  108. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_deepgram_tts_driver.py +0 -0
  109. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_deepseek_driver.py +0 -0
  110. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_elevenlabs_stt_driver.py +0 -0
  111. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_elevenlabs_tts_driver.py +0 -0
  112. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_embedding_base.py +0 -0
  113. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_fal_img_gen_driver.py +0 -0
  114. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_fal_video_gen_driver.py +0 -0
  115. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_google_driver.py +0 -0
  116. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_google_img_gen_driver.py +0 -0
  117. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_google_vertexai_driver.py +0 -0
  118. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_grok_driver.py +0 -0
  119. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_grok_img_gen_driver.py +0 -0
  120. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_grok_video_gen_driver.py +0 -0
  121. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_groq_driver.py +0 -0
  122. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_hugging_driver.py +0 -0
  123. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_ideogram_img_gen_driver.py +0 -0
  124. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_img_gen_base.py +0 -0
  125. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_jina_embedding_driver.py +0 -0
  126. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_jina_rerank_driver.py +0 -0
  127. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_kling_img_gen_driver.py +0 -0
  128. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_kling_video_gen_driver.py +0 -0
  129. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_lmstudio_driver.py +0 -0
  130. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_local_http_driver.py +0 -0
  131. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_luma_video_gen_driver.py +0 -0
  132. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_minimax_driver.py +0 -0
  133. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_minimax_video_gen_driver.py +0 -0
  134. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_mistral_driver.py +0 -0
  135. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_mistral_moderation_driver.py +0 -0
  136. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_modelscope_driver.py +0 -0
  137. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_moonshot_driver.py +0 -0
  138. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_mxbai_embedding_driver.py +0 -0
  139. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_mxbai_rerank_driver.py +0 -0
  140. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_nomic_embedding_driver.py +0 -0
  141. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_ollama_driver.py +0 -0
  142. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_ollama_embedding_driver.py +0 -0
  143. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_compatible_driver.py +0 -0
  144. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_driver.py +0 -0
  145. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_embedding_driver.py +0 -0
  146. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_img_gen_driver.py +0 -0
  147. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_moderation_driver.py +0 -0
  148. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_stt_driver.py +0 -0
  149. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openai_tts_driver.py +0 -0
  150. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_openrouter_driver.py +0 -0
  151. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_pika_video_gen_driver.py +0 -0
  152. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_registry.py +0 -0
  153. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_runway_img_gen_driver.py +0 -0
  154. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_runway_tts_driver.py +0 -0
  155. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_runway_video_gen_driver.py +0 -0
  156. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_stability_img_gen_driver.py +0 -0
  157. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_stt_base.py +0 -0
  158. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_tts_base.py +0 -0
  159. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_video_gen_base.py +0 -0
  160. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_voyage_embedding_driver.py +0 -0
  161. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_voyage_rerank_driver.py +0 -0
  162. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/async_zai_driver.py +0 -0
  163. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/audio_registry.py +0 -0
  164. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/azure_config.py +0 -0
  165. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/azure_driver.py +0 -0
  166. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/base.py +0 -0
  167. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/bedrock_driver.py +0 -0
  168. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/bfl_img_gen_driver.py +0 -0
  169. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/cachibot_driver.py +0 -0
  170. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/cartesia_tts_driver.py +0 -0
  171. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/claude_driver.py +0 -0
  172. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/cohere_driver.py +0 -0
  173. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/cohere_embedding_driver.py +0 -0
  174. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/cohere_rerank_driver.py +0 -0
  175. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/deepgram_stt_driver.py +0 -0
  176. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/deepgram_tts_driver.py +0 -0
  177. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/deepseek_driver.py +0 -0
  178. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/driver_registry.py +0 -0
  179. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/elevenlabs_stt_driver.py +0 -0
  180. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/elevenlabs_tts_driver.py +0 -0
  181. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/embedding_base.py +0 -0
  182. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/embedding_registry.py +0 -0
  183. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/fal_img_gen_driver.py +0 -0
  184. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/fal_video_gen_driver.py +0 -0
  185. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/google_driver.py +0 -0
  186. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/google_img_gen_driver.py +0 -0
  187. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/google_vertexai_driver.py +0 -0
  188. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/grok_driver.py +0 -0
  189. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/grok_img_gen_driver.py +0 -0
  190. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/grok_video_gen_driver.py +0 -0
  191. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/groq_driver.py +0 -0
  192. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/hugging_driver.py +0 -0
  193. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/ideogram_img_gen_driver.py +0 -0
  194. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/img_gen_base.py +0 -0
  195. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/img_gen_registry.py +0 -0
  196. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/jina_embedding_driver.py +0 -0
  197. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/jina_rerank_driver.py +0 -0
  198. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/kling_img_gen_driver.py +0 -0
  199. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/kling_video_gen_driver.py +0 -0
  200. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/lmstudio_driver.py +0 -0
  201. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/local_http_driver.py +0 -0
  202. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/luma_video_gen_driver.py +0 -0
  203. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/minimax_driver.py +0 -0
  204. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/minimax_video_gen_driver.py +0 -0
  205. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/mistral_driver.py +0 -0
  206. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/mistral_moderation_driver.py +0 -0
  207. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/modelscope_driver.py +0 -0
  208. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/moderation_base.py +0 -0
  209. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/moderation_registry.py +0 -0
  210. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/moonshot_driver.py +0 -0
  211. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/mxbai_embedding_driver.py +0 -0
  212. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/mxbai_rerank_driver.py +0 -0
  213. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/nomic_embedding_driver.py +0 -0
  214. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/ollama_driver.py +0 -0
  215. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/ollama_embedding_driver.py +0 -0
  216. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_compatible_driver.py +0 -0
  217. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_driver.py +0 -0
  218. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_embedding_driver.py +0 -0
  219. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_img_gen_driver.py +0 -0
  220. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_moderation_driver.py +0 -0
  221. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_stt_driver.py +0 -0
  222. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openai_tts_driver.py +0 -0
  223. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/openrouter_driver.py +0 -0
  224. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/pika_video_gen_driver.py +0 -0
  225. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/provider_descriptors.py +0 -0
  226. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/registry.py +0 -0
  227. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/rerank_base.py +0 -0
  228. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/rerank_registry.py +0 -0
  229. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/runway_audio_transform_driver.py +0 -0
  230. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/runway_capabilities.py +0 -0
  231. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/runway_img_gen_driver.py +0 -0
  232. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/runway_tts_driver.py +0 -0
  233. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/runway_video_gen_driver.py +0 -0
  234. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/stability_img_gen_driver.py +0 -0
  235. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/stt_base.py +0 -0
  236. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/tts_base.py +0 -0
  237. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/video_gen_base.py +0 -0
  238. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/video_gen_registry.py +0 -0
  239. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/vision_helpers.py +0 -0
  240. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/voyage_embedding_driver.py +0 -0
  241. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/voyage_rerank_driver.py +0 -0
  242. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/drivers/zai_driver.py +0 -0
  243. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/exceptions.py +0 -0
  244. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/async_core.py +0 -0
  245. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/core.py +0 -0
  246. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/fields.py +0 -0
  247. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/reasoning.py +0 -0
  248. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/strategy.py +0 -0
  249. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/tools.py +0 -0
  250. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/tukuy_bridge.py +0 -0
  251. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/extraction/validator.py +0 -0
  252. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/groups/__init__.py +0 -0
  253. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/groups/async_groups.py +0 -0
  254. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/groups/consensus.py +0 -0
  255. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/groups/debate.py +0 -0
  256. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/groups/groups.py +0 -0
  257. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/groups/types.py +0 -0
  258. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/budget.py +0 -0
  259. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/cache.py +0 -0
  260. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/callbacks.py +0 -0
  261. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/capabilities.py +0 -0
  262. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/cost_mixin.py +0 -0
  263. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/ledger.py +0 -0
  264. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/logging.py +0 -0
  265. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/model_rates.py +0 -0
  266. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/pricing.py +0 -0
  267. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/provider_env.py +0 -0
  268. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/anthropic.json +0 -0
  269. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/azure.json +0 -0
  270. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/bedrock.json +0 -0
  271. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/cerebras.json +0 -0
  272. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/cohere.json +0 -0
  273. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/deepinfra.json +0 -0
  274. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/deepseek.json +0 -0
  275. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/fireworks.json +0 -0
  276. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/google.json +0 -0
  277. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/google_vertexai.json +0 -0
  278. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/groq.json +0 -0
  279. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/jina.json +0 -0
  280. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/mistral.json +0 -0
  281. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/mixedbread.json +0 -0
  282. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/moonshot.json +0 -0
  283. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/nomic.json +0 -0
  284. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/nvidia.json +0 -0
  285. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/openai.json +0 -0
  286. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/openrouter.json +0 -0
  287. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/perplexity.json +0 -0
  288. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/sambanova.json +0 -0
  289. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/siliconflow.json +0 -0
  290. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/together.json +0 -0
  291. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/voyage.json +0 -0
  292. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/rates/xai.json +0 -0
  293. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/session.py +0 -0
  294. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/settings.py +0 -0
  295. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/tracker.py +0 -0
  296. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/infra/tukuy_backend.py +0 -0
  297. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/__init__.py +0 -0
  298. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/chunking.py +0 -0
  299. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/detect.py +0 -0
  300. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/document.py +0 -0
  301. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/__init__.py +0 -0
  302. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/base.py +0 -0
  303. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/csv_parser.py +0 -0
  304. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/docx.py +0 -0
  305. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/html.py +0 -0
  306. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/markdown.py +0 -0
  307. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/pdf.py +0 -0
  308. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/ingestion/parsers/xlsx.py +0 -0
  309. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/integrations/__init__.py +0 -0
  310. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/integrations/tukuy_bridge.py +0 -0
  311. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/media/__init__.py +0 -0
  312. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/media/audio.py +0 -0
  313. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/media/image.py +0 -0
  314. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/media/video.py +0 -0
  315. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/01-why-prompture.md +0 -0
  316. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/02-installation.md +0 -0
  317. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/03-quickstart.md +0 -0
  318. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/04-toon-input.md +0 -0
  319. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/05-test-harness.md +0 -0
  320. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/06-stability.md +0 -0
  321. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pages/07-migration.md +0 -0
  322. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/persistence/__init__.py +0 -0
  323. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/persistence/history.py +0 -0
  324. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/persistence/serialization.py +0 -0
  325. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/persistence/store.py +0 -0
  326. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pipeline/__init__.py +0 -0
  327. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pipeline/pipeline.py +0 -0
  328. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pipeline/resolver.py +0 -0
  329. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/pipeline/routing.py +0 -0
  330. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/__init__.py +0 -0
  331. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/base.py +0 -0
  332. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/__init__.py +0 -0
  333. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/_aliases.py +0 -0
  334. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/anthropic_plugin.py +0 -0
  335. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/audio_plugin.py +0 -0
  336. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/cloud_plugin.py +0 -0
  337. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/embedding_rerank_plugin.py +0 -0
  338. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/extras_plugin.py +0 -0
  339. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/google_plugin.py +0 -0
  340. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/image_plugin.py +0 -0
  341. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/local_plugin.py +0 -0
  342. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/openai_compatible_plugin.py +0 -0
  343. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/openai_plugin.py +0 -0
  344. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/builtins/video_plugin.py +0 -0
  345. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/plugins/discovery.py +0 -0
  346. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/py.typed +0 -0
  347. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/__init__.py +0 -0
  348. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/__init__.py +0 -0
  349. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/base.py +0 -0
  350. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/character.py +0 -0
  351. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/chunker_registry.py +0 -0
  352. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/markdown.py +0 -0
  353. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/recursive.py +0 -0
  354. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/semantic.py +0 -0
  355. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/chunkers/token.py +0 -0
  356. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/documents.py +0 -0
  357. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loader_registry.py +0 -0
  358. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/__init__.py +0 -0
  359. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/csv_loader.py +0 -0
  360. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/docx_loader.py +0 -0
  361. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/epub_loader.py +0 -0
  362. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/html_loader.py +0 -0
  363. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/json_loader.py +0 -0
  364. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/markdown_loader.py +0 -0
  365. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/pdf_loader.py +0 -0
  366. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/text_loader.py +0 -0
  367. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/loaders/xlsx_loader.py +0 -0
  368. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/pipeline.py +0 -0
  369. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/retrievers/__init__.py +0 -0
  370. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/retrievers/base.py +0 -0
  371. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/retrievers/hybrid.py +0 -0
  372. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/retrievers/mmr.py +0 -0
  373. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/retrievers/retriever_registry.py +0 -0
  374. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/retrievers/similarity.py +0 -0
  375. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/__init__.py +0 -0
  376. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/base.py +0 -0
  377. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/chroma.py +0 -0
  378. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/faiss.py +0 -0
  379. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/pgvector.py +0 -0
  380. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/pinecone.py +0 -0
  381. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/qdrant.py +0 -0
  382. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/vectorstore_registry.py +0 -0
  383. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/rag/vectorstores/weaviate.py +0 -0
  384. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/refusal/__init__.py +0 -0
  385. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/refusal/detector.py +0 -0
  386. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/refusal/evaluator.py +0 -0
  387. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/refusal/markers.py +0 -0
  388. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/__init__.py +0 -0
  389. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/generator.py +0 -0
  390. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/Dockerfile.j2 +0 -0
  391. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/README.md.j2 +0 -0
  392. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/config.py.j2 +0 -0
  393. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/env.example.j2 +0 -0
  394. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/main.py.j2 +0 -0
  395. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/models.py.j2 +0 -0
  396. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/scaffold/templates/requirements.txt.j2 +0 -0
  397. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/security/__init__.py +0 -0
  398. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/security/injection.py +0 -0
  399. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/security/redaction.py +0 -0
  400. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/testing/__init__.py +0 -0
  401. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/testing/driver_contract.py +0 -0
  402. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/tools/__init__.py +0 -0
  403. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/tools/code_exec.py +0 -0
  404. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture/tools/web_search.py +0 -0
  405. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture.egg-info/dependency_links.txt +0 -0
  406. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture.egg-info/entry_points.txt +0 -0
  407. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture.egg-info/requires.txt +0 -0
  408. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture.egg-info/top_level.txt +0 -0
  409. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/prompture_cost_tracking.md +0 -0
  410. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/pyproject.toml +0 -0
  411. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/requirements.txt +0 -0
  412. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/scripts/check_pricing_freshness.py +0 -0
  413. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/setup.cfg +0 -0
  414. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/specs/basic_extraction.json +0 -0
  415. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/specs/schema_validation.json +0 -0
  416. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/specs/strategy_comparison.json +0 -0
  417. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/test.py +0 -0
  418. {prompture-1.1.3.dev2 → prompture-1.1.4.dev1}/test_version_diagnosis.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prompture
3
- Version: 1.1.3.dev2
3
+ Version: 1.1.4.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
@@ -1278,6 +1278,105 @@ agent = create_deep_agent(
1278
1278
 
1279
1279
  `AsyncDeepAgent` / `create_async_deep_agent` mirror the sync API for async use. State lives on `agent.deep_state` (the `state` attribute is reserved for lifecycle on the underlying `Agent`). Reserved tool names (`write_todos`, `task`, `read_file`, `write_file`, `edit_file`, `ls`, `glob`, `grep`) take precedence over user tools; collisions emit a warning. See `examples/deep_agent_example.py` for a complete walkthrough.
1280
1280
 
1281
+ ### Assistants
1282
+
1283
+ An `Assistant` bundles a `Persona`, optional `Skill`s, optional `tools`, and exactly one execution backend (an LLM `model` id or a `coding_agent` CLI id) into a reusable unit. Consumers register an assistant once and reuse it everywhere, swapping the backend without changing call-sites.
1284
+
1285
+ ```python
1286
+ from prompture import Assistant, Persona, SkillInfo
1287
+
1288
+ web_dev = Assistant(
1289
+ name="web-developer",
1290
+ persona=Persona(
1291
+ name="web_dev",
1292
+ system_prompt="You are a senior {{role}} building {{page_type}} pages.",
1293
+ ),
1294
+ skills=[SkillInfo(
1295
+ name="semantic-html5",
1296
+ description="Always prefer semantic HTML5 tags.",
1297
+ instructions="Use <header>/<main>/<section>; avoid <div> when a semantic tag fits.",
1298
+ )],
1299
+ model="openai/gpt-4o",
1300
+ variables={"role": "developer"},
1301
+ ).register() # store in the assistant registry
1302
+
1303
+ # Later, anywhere:
1304
+ a = Assistant.from_registry("web-developer")
1305
+ result = await a.arun("Build /about.html.", role="senior", page_type="about")
1306
+ print(result.output, result.cost_usd)
1307
+ ```
1308
+
1309
+ Both backends return a uniform `AssistantResult` with `output`, `cost_usd`, `input_tokens`, `output_tokens`, `session_id` (coding-agent only), and `raw` (the underlying `AgentResult` / `CodingAgentRunResult`). Swap an LLM for a CLI by replacing `model="…"` with `coding_agent="claude"` (or `"auto"` for capability-aware auto-selection — see *Picking a coding-agent CLI* below).
1310
+
1311
+ Set `enable_planning=True` to route the LLM backend through `AsyncDeepAgent` and gain `write_todos` + streaming plan updates.
1312
+
1313
+ ### Review Loops
1314
+
1315
+ `AsyncReviewLoop` wraps the "do work → critique it → optionally revise" pattern as a single async call. Works with anything exposing an awaitable `arun(prompt, **kwargs)` that returns an object with `.output` — typically two `Assistant`s.
1316
+
1317
+ ```python
1318
+ from prompture import Assistant, AsyncReviewLoop, Persona
1319
+
1320
+ coder = Assistant(name="c", persona=Persona(name="c", system_prompt="Write Python."), model="openai/gpt-4o-mini")
1321
+ reviewer = Assistant(
1322
+ name="r",
1323
+ persona=Persona(
1324
+ name="r",
1325
+ system_prompt="Critique the code. End with one line: SCORE: <0-10>",
1326
+ ),
1327
+ model="openai/gpt-4o-mini",
1328
+ )
1329
+
1330
+ loop = AsyncReviewLoop(
1331
+ coder=coder,
1332
+ reviewer=reviewer,
1333
+ max_iters=3,
1334
+ approve_when=lambda r: "SCORE: 9" in r.output or "SCORE: 10" in r.output,
1335
+ )
1336
+ result = await loop.arun("Write a function that reverses a string.")
1337
+ print(result.output, "approved=", result.approved, "iters=", result.iterations)
1338
+ ```
1339
+
1340
+ Customise the review framing with `review_prompt=` and the retry framing with `feedback_prompt=` if the defaults don't fit. Every iteration is preserved in `result.history` as a `ReviewLoopIteration` with the raw coder / reviewer results attached.
1341
+
1342
+ ### Picking a coding-agent CLI
1343
+
1344
+ `pick_best_coding_agent` combines discovery with the capability flags on each `CodingAgentSpec`, so callers can ask for *"any installed CLI that supports X"* without hardcoding agent ids.
1345
+
1346
+ ```python
1347
+ from prompture import pick_best_coding_agent
1348
+
1349
+ chosen = pick_best_coding_agent(
1350
+ prefer=["claude", "codex"],
1351
+ require_session_resume=True,
1352
+ verify=True,
1353
+ )
1354
+ if chosen:
1355
+ print(f"Will use {chosen.id} from {chosen.binary}")
1356
+ ```
1357
+
1358
+ Capability flags exposed today: `supports_tool_use`, `supports_structured_output`, `supports_questions` (clarifying-question events), `supports_session_resume`.
1359
+
1360
+ ### Salvaging code from text responses
1361
+
1362
+ When an LLM should have called your `write_file` tool but instead dumped code into its final response (common with weaker models or providers without tool-calling), use `extract_fenced_blocks` and `extract_html_document` to recover it:
1363
+
1364
+ ```python
1365
+ from prompture import extract_fenced_blocks, extract_html_document
1366
+
1367
+ for block in extract_fenced_blocks(text, languages=["html", "css", "js"]):
1368
+ write_file(f"{block.language}.txt", block.content)
1369
+
1370
+ doc = extract_html_document(text)
1371
+ if doc.found:
1372
+ write_file("index.html", doc.html)
1373
+ # inline <style> / <script> blocks are also split out:
1374
+ write_file("styles.css", "\n\n".join(doc.styles))
1375
+ write_file("script.js", "\n\n".join(doc.scripts))
1376
+ ```
1377
+
1378
+ Both helpers return plain dataclasses with no I/O of their own. See `examples/assistant_example.py` for the assistant + review-loop + extractor flow end-to-end.
1379
+
1281
1380
  ### Cost Pre-flight
1282
1381
 
1283
1382
  Forecast the cost of a call **before** making it. Accepts either text
@@ -1175,6 +1175,105 @@ agent = create_deep_agent(
1175
1175
 
1176
1176
  `AsyncDeepAgent` / `create_async_deep_agent` mirror the sync API for async use. State lives on `agent.deep_state` (the `state` attribute is reserved for lifecycle on the underlying `Agent`). Reserved tool names (`write_todos`, `task`, `read_file`, `write_file`, `edit_file`, `ls`, `glob`, `grep`) take precedence over user tools; collisions emit a warning. See `examples/deep_agent_example.py` for a complete walkthrough.
1177
1177
 
1178
+ ### Assistants
1179
+
1180
+ An `Assistant` bundles a `Persona`, optional `Skill`s, optional `tools`, and exactly one execution backend (an LLM `model` id or a `coding_agent` CLI id) into a reusable unit. Consumers register an assistant once and reuse it everywhere, swapping the backend without changing call-sites.
1181
+
1182
+ ```python
1183
+ from prompture import Assistant, Persona, SkillInfo
1184
+
1185
+ web_dev = Assistant(
1186
+ name="web-developer",
1187
+ persona=Persona(
1188
+ name="web_dev",
1189
+ system_prompt="You are a senior {{role}} building {{page_type}} pages.",
1190
+ ),
1191
+ skills=[SkillInfo(
1192
+ name="semantic-html5",
1193
+ description="Always prefer semantic HTML5 tags.",
1194
+ instructions="Use <header>/<main>/<section>; avoid <div> when a semantic tag fits.",
1195
+ )],
1196
+ model="openai/gpt-4o",
1197
+ variables={"role": "developer"},
1198
+ ).register() # store in the assistant registry
1199
+
1200
+ # Later, anywhere:
1201
+ a = Assistant.from_registry("web-developer")
1202
+ result = await a.arun("Build /about.html.", role="senior", page_type="about")
1203
+ print(result.output, result.cost_usd)
1204
+ ```
1205
+
1206
+ Both backends return a uniform `AssistantResult` with `output`, `cost_usd`, `input_tokens`, `output_tokens`, `session_id` (coding-agent only), and `raw` (the underlying `AgentResult` / `CodingAgentRunResult`). Swap an LLM for a CLI by replacing `model="…"` with `coding_agent="claude"` (or `"auto"` for capability-aware auto-selection — see *Picking a coding-agent CLI* below).
1207
+
1208
+ Set `enable_planning=True` to route the LLM backend through `AsyncDeepAgent` and gain `write_todos` + streaming plan updates.
1209
+
1210
+ ### Review Loops
1211
+
1212
+ `AsyncReviewLoop` wraps the "do work → critique it → optionally revise" pattern as a single async call. Works with anything exposing an awaitable `arun(prompt, **kwargs)` that returns an object with `.output` — typically two `Assistant`s.
1213
+
1214
+ ```python
1215
+ from prompture import Assistant, AsyncReviewLoop, Persona
1216
+
1217
+ coder = Assistant(name="c", persona=Persona(name="c", system_prompt="Write Python."), model="openai/gpt-4o-mini")
1218
+ reviewer = Assistant(
1219
+ name="r",
1220
+ persona=Persona(
1221
+ name="r",
1222
+ system_prompt="Critique the code. End with one line: SCORE: <0-10>",
1223
+ ),
1224
+ model="openai/gpt-4o-mini",
1225
+ )
1226
+
1227
+ loop = AsyncReviewLoop(
1228
+ coder=coder,
1229
+ reviewer=reviewer,
1230
+ max_iters=3,
1231
+ approve_when=lambda r: "SCORE: 9" in r.output or "SCORE: 10" in r.output,
1232
+ )
1233
+ result = await loop.arun("Write a function that reverses a string.")
1234
+ print(result.output, "approved=", result.approved, "iters=", result.iterations)
1235
+ ```
1236
+
1237
+ Customise the review framing with `review_prompt=` and the retry framing with `feedback_prompt=` if the defaults don't fit. Every iteration is preserved in `result.history` as a `ReviewLoopIteration` with the raw coder / reviewer results attached.
1238
+
1239
+ ### Picking a coding-agent CLI
1240
+
1241
+ `pick_best_coding_agent` combines discovery with the capability flags on each `CodingAgentSpec`, so callers can ask for *"any installed CLI that supports X"* without hardcoding agent ids.
1242
+
1243
+ ```python
1244
+ from prompture import pick_best_coding_agent
1245
+
1246
+ chosen = pick_best_coding_agent(
1247
+ prefer=["claude", "codex"],
1248
+ require_session_resume=True,
1249
+ verify=True,
1250
+ )
1251
+ if chosen:
1252
+ print(f"Will use {chosen.id} from {chosen.binary}")
1253
+ ```
1254
+
1255
+ Capability flags exposed today: `supports_tool_use`, `supports_structured_output`, `supports_questions` (clarifying-question events), `supports_session_resume`.
1256
+
1257
+ ### Salvaging code from text responses
1258
+
1259
+ When an LLM should have called your `write_file` tool but instead dumped code into its final response (common with weaker models or providers without tool-calling), use `extract_fenced_blocks` and `extract_html_document` to recover it:
1260
+
1261
+ ```python
1262
+ from prompture import extract_fenced_blocks, extract_html_document
1263
+
1264
+ for block in extract_fenced_blocks(text, languages=["html", "css", "js"]):
1265
+ write_file(f"{block.language}.txt", block.content)
1266
+
1267
+ doc = extract_html_document(text)
1268
+ if doc.found:
1269
+ write_file("index.html", doc.html)
1270
+ # inline <style> / <script> blocks are also split out:
1271
+ write_file("styles.css", "\n\n".join(doc.styles))
1272
+ write_file("script.js", "\n\n".join(doc.scripts))
1273
+ ```
1274
+
1275
+ Both helpers return plain dataclasses with no I/O of their own. See `examples/assistant_example.py` for the assistant + review-loop + extractor flow end-to-end.
1276
+
1178
1277
  ### Cost Pre-flight
1179
1278
 
1180
1279
  Forecast the cost of a call **before** making it. Accepts either text
@@ -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.1.3.dev2'
22
- __version_tuple__ = version_tuple = (1, 1, 3, 'dev2')
21
+ __version__ = version = '1.1.4.dev1'
22
+ __version_tuple__ = version_tuple = (1, 1, 4, 'dev1')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,6 +1,15 @@
1
1
  """Agents, conversations, personas, skills, and tool schemas."""
2
2
 
3
3
  from .agent import Agent, AgentIterator, StreamedAgentResult
4
+ from .assistant import (
5
+ Assistant,
6
+ AssistantResult,
7
+ clear_assistant_registry,
8
+ get_assistant,
9
+ get_assistant_names,
10
+ register_assistant,
11
+ unregister_assistant,
12
+ )
4
13
  from .async_agent import AsyncAgent, AsyncAgentIterator, AsyncStreamedAgentResult
5
14
  from .async_conversation import AsyncConversation
6
15
  from .async_deep_agent import AsyncDeepAgent, create_async_deep_agent
@@ -29,6 +38,13 @@ from .persona import (
29
38
  reset_persona_registry,
30
39
  reset_trait_registry,
31
40
  )
41
+ from .review_loop import (
42
+ AsyncReviewLoop,
43
+ ReviewLoopEvent,
44
+ ReviewLoopEventType,
45
+ ReviewLoopIteration,
46
+ ReviewLoopResult,
47
+ )
32
48
  from .skills import (
33
49
  SKILLS,
34
50
  SkillInfo,
@@ -72,10 +88,13 @@ __all__ = [
72
88
  "AgentState",
73
89
  "AgentStep",
74
90
  "ApprovalRequired",
91
+ "Assistant",
92
+ "AssistantResult",
75
93
  "AsyncAgent",
76
94
  "AsyncAgentIterator",
77
95
  "AsyncConversation",
78
96
  "AsyncDeepAgent",
97
+ "AsyncReviewLoop",
79
98
  "AsyncStreamedAgentResult",
80
99
  "Conversation",
81
100
  "DeepAgent",
@@ -84,6 +103,10 @@ __all__ = [
84
103
  "GuardrailError",
85
104
  "ModelRetry",
86
105
  "Persona",
106
+ "ReviewLoopEvent",
107
+ "ReviewLoopEventType",
108
+ "ReviewLoopIteration",
109
+ "ReviewLoopResult",
87
110
  "RunContext",
88
111
  "SkillInfo",
89
112
  "SkillParseError",
@@ -98,12 +121,15 @@ __all__ = [
98
121
  "Todo",
99
122
  "ToolDefinition",
100
123
  "ToolRegistry",
124
+ "clear_assistant_registry",
101
125
  "clear_persona_registry",
102
126
  "clear_skill_registry",
103
127
  "create_async_deep_agent",
104
128
  "create_deep_agent",
105
129
  "discover_skills",
106
130
  "discover_skills_async",
131
+ "get_assistant",
132
+ "get_assistant_names",
107
133
  "get_persona",
108
134
  "get_persona_names",
109
135
  "get_persona_registry_snapshot",
@@ -117,11 +143,13 @@ __all__ = [
117
143
  "load_skill_async",
118
144
  "load_skill_from_directory",
119
145
  "load_skills_from_directory",
146
+ "register_assistant",
120
147
  "register_persona",
121
148
  "register_skill",
122
149
  "register_trait",
123
150
  "reset_persona_registry",
124
151
  "reset_trait_registry",
125
152
  "tool_from_function",
153
+ "unregister_assistant",
126
154
  "unregister_skill",
127
155
  ]