prompture 1.13.4.dev2__tar.gz → 1.13.5.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.env.copy +53 -4
  2. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/PKG-INFO +229 -21
  3. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/README.md +221 -19
  4. prompture-1.13.5.dev2/llms.txt +55 -0
  5. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/__init__.py +40 -0
  6. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/_version.py +2 -2
  7. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/agent.py +8 -3
  8. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/async_agent.py +8 -3
  9. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep_agent.py +3 -1
  10. prompture-1.13.5.dev2/prompture/capabilities/__init__.py +68 -0
  11. prompture-1.13.5.dev2/prompture/capabilities/backends.py +413 -0
  12. prompture-1.13.5.dev2/prompture/capabilities/builtin_checks.py +46 -0
  13. prompture-1.13.5.dev2/prompture/capabilities/challenge.py +75 -0
  14. prompture-1.13.5.dev2/prompture/capabilities/errors.py +93 -0
  15. prompture-1.13.5.dev2/prompture/capabilities/health.py +188 -0
  16. prompture-1.13.5.dev2/prompture/capabilities/http.py +196 -0
  17. prompture-1.13.5.dev2/prompture/capabilities/probe.py +215 -0
  18. prompture-1.13.5.dev2/prompture/capabilities/url_safety.py +208 -0
  19. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/cli.py +46 -0
  20. prompture-1.13.5.dev2/prompture/cli/doctor_cmd.py +136 -0
  21. prompture-1.13.5.dev2/prompture/cli/mcp_cmd.py +365 -0
  22. prompture-1.13.5.dev2/prompture/cli/research_cmd.py +96 -0
  23. prompture-1.13.5.dev2/prompture/cli/setup_cmd.py +704 -0
  24. prompture-1.13.5.dev2/prompture/cli/skill_cmd.py +68 -0
  25. prompture-1.13.5.dev2/prompture/cli/transcribe_cmd.py +98 -0
  26. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/router.py +28 -19
  27. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/server.py +13 -0
  28. prompture-1.13.5.dev2/prompture/doctor/__init__.py +48 -0
  29. prompture-1.13.5.dev2/prompture/doctor/core.py +302 -0
  30. prompture-1.13.5.dev2/prompture/doctor/providers.py +575 -0
  31. prompture-1.13.5.dev2/prompture/drivers/_ollama_options.py +28 -0
  32. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_ollama_driver.py +5 -18
  33. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/base.py +3 -1
  34. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/ollama_driver.py +5 -21
  35. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/cost_mixin.py +20 -7
  36. prompture-1.13.5.dev2/prompture/infra/credentials.py +589 -0
  37. prompture-1.13.5.dev2/prompture/infra/environment.py +163 -0
  38. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/logging.py +19 -0
  39. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/settings.py +69 -3
  40. prompture-1.13.5.dev2/prompture/infra/updates.py +402 -0
  41. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/__init__.py +44 -1
  42. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/client.py +78 -0
  43. prompture-1.13.5.dev2/prompture/mcp/health.py +150 -0
  44. prompture-1.13.5.dev2/prompture/mcp/hub.py +1492 -0
  45. prompture-1.13.5.dev2/prompture/mcp/importers.py +302 -0
  46. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/server.py +9 -4
  47. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/__init__.py +36 -1
  48. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/agent_tools.py +52 -2
  49. prompture-1.13.5.dev2/prompture/media/understand/__init__.py +76 -0
  50. prompture-1.13.5.dev2/prompture/media/understand/errors.py +63 -0
  51. prompture-1.13.5.dev2/prompture/media/understand/ffmpeg.py +232 -0
  52. prompture-1.13.5.dev2/prompture/media/understand/groq_stt.py +72 -0
  53. prompture-1.13.5.dev2/prompture/media/understand/health.py +130 -0
  54. prompture-1.13.5.dev2/prompture/media/understand/sources.py +343 -0
  55. prompture-1.13.5.dev2/prompture/media/understand/summarize.py +350 -0
  56. prompture-1.13.5.dev2/prompture/media/understand/tools.py +112 -0
  57. prompture-1.13.5.dev2/prompture/media/understand/transcribe.py +714 -0
  58. prompture-1.13.5.dev2/prompture/research/__init__.py +54 -0
  59. prompture-1.13.5.dev2/prompture/research/agent.py +937 -0
  60. prompture-1.13.5.dev2/prompture/research/budget.py +279 -0
  61. prompture-1.13.5.dev2/prompture/research/events.py +55 -0
  62. prompture-1.13.5.dev2/prompture/research/planner.py +267 -0
  63. prompture-1.13.5.dev2/prompture/research/ranking.py +274 -0
  64. prompture-1.13.5.dev2/prompture/research/report.py +218 -0
  65. prompture-1.13.5.dev2/prompture/research/synthesis.py +246 -0
  66. prompture-1.13.5.dev2/prompture/research/tools.py +122 -0
  67. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/security/__init__.py +4 -0
  68. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/security/redaction.py +86 -0
  69. prompture-1.13.5.dev2/prompture/skill/__init__.py +143 -0
  70. prompture-1.13.5.dev2/prompture/skill/data/SKILL.md +85 -0
  71. prompture-1.13.5.dev2/prompture/skill/data/references/dev.md +41 -0
  72. prompture-1.13.5.dev2/prompture/skill/data/references/finance.md +36 -0
  73. prompture-1.13.5.dev2/prompture/skill/data/references/mcp.md +46 -0
  74. prompture-1.13.5.dev2/prompture/skill/data/references/media.md +54 -0
  75. prompture-1.13.5.dev2/prompture/skill/data/references/models.md +63 -0
  76. prompture-1.13.5.dev2/prompture/skill/data/references/search.md +80 -0
  77. prompture-1.13.5.dev2/prompture/skill/data/references/web.md +67 -0
  78. prompture-1.13.5.dev2/prompture/tools/__init__.py +73 -0
  79. prompture-1.13.5.dev2/prompture/tools/cli/__init__.py +78 -0
  80. prompture-1.13.5.dev2/prompture/tools/cli/adapter.py +980 -0
  81. prompture-1.13.5.dev2/prompture/tools/cli/builtin.py +436 -0
  82. prompture-1.13.5.dev2/prompture/tools/cli/config.py +170 -0
  83. prompture-1.13.5.dev2/prompture/tools/cli/health.py +63 -0
  84. prompture-1.13.5.dev2/prompture/tools/named.py +93 -0
  85. prompture-1.13.5.dev2/prompture/tools/packs.py +730 -0
  86. prompture-1.13.5.dev2/prompture/tools/web/__init__.py +120 -0
  87. prompture-1.13.5.dev2/prompture/tools/web/_common.py +328 -0
  88. prompture-1.13.5.dev2/prompture/tools/web/_mcp_http.py +213 -0
  89. prompture-1.13.5.dev2/prompture/tools/web/_types.py +91 -0
  90. prompture-1.13.5.dev2/prompture/tools/web/cache.py +296 -0
  91. prompture-1.13.5.dev2/prompture/tools/web/fetch.py +344 -0
  92. prompture-1.13.5.dev2/prompture/tools/web/health.py +97 -0
  93. prompture-1.13.5.dev2/prompture/tools/web/html2md.py +410 -0
  94. prompture-1.13.5.dev2/prompture/tools/web/platform.py +329 -0
  95. prompture-1.13.5.dev2/prompture/tools/web/readers/__init__.py +300 -0
  96. prompture-1.13.5.dev2/prompture/tools/web/readers/_media.py +55 -0
  97. prompture-1.13.5.dev2/prompture/tools/web/readers/arxiv.py +140 -0
  98. prompture-1.13.5.dev2/prompture/tools/web/readers/base.py +218 -0
  99. prompture-1.13.5.dev2/prompture/tools/web/readers/feeds.py +270 -0
  100. prompture-1.13.5.dev2/prompture/tools/web/readers/github.py +409 -0
  101. prompture-1.13.5.dev2/prompture/tools/web/readers/hackernews.py +144 -0
  102. prompture-1.13.5.dev2/prompture/tools/web/readers/podcasts.py +308 -0
  103. prompture-1.13.5.dev2/prompture/tools/web/readers/wikipedia.py +109 -0
  104. prompture-1.13.5.dev2/prompture/tools/web/readers/youtube.py +352 -0
  105. prompture-1.13.5.dev2/prompture/tools/web/search.py +730 -0
  106. prompture-1.13.5.dev2/prompture/tools/web/toolkit.py +248 -0
  107. prompture-1.13.5.dev2/prompture/tools/web_search.py +271 -0
  108. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/PKG-INFO +229 -21
  109. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/SOURCES.txt +81 -0
  110. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/requires.txt +9 -1
  111. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/scm_file_list.json +101 -0
  112. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/pyproject.toml +7 -1
  113. prompture-1.13.4.dev2/prompture/tools/__init__.py +0 -27
  114. prompture-1.13.4.dev2/prompture/tools/web_search.py +0 -336
  115. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-driver/SKILL.md +0 -0
  116. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-driver/references/driver-template.md +0 -0
  117. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-example/SKILL.md +0 -0
  118. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-field/SKILL.md +0 -0
  119. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-persona/SKILL.md +0 -0
  120. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-test/SKILL.md +0 -0
  121. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/add-tool/SKILL.md +0 -0
  122. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/create-pr/SKILL.md +0 -0
  123. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/run-tests/SKILL.md +0 -0
  124. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/scaffold-extraction/SKILL.md +0 -0
  125. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.claude/skills/update-pricing/SKILL.md +0 -0
  126. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.gitattributes +0 -0
  127. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/FUNDING.yml +0 -0
  128. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  129. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/pricing_cost_mismatch.yml +0 -0
  130. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/provider_driver_bug.yml +0 -0
  131. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/ISSUE_TEMPLATE/schema_extraction_failure.yml +0 -0
  132. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/scripts/update_docs_version.py +0 -0
  133. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/scripts/update_wrapper_version.py +0 -0
  134. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/dev.yml +0 -0
  135. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/documentation.yml +0 -0
  136. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/pricing-freshness.yml +0 -0
  137. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/publish.yml +0 -0
  138. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.github/workflows/security.yml +0 -0
  139. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/.safety-project.ini +0 -0
  140. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/AGENTS.md +0 -0
  141. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/BREAKING_CHANGES.md +0 -0
  142. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/CLAUDE.md +0 -0
  143. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/CONTRIBUTING.md +0 -0
  144. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/LICENSE +0 -0
  145. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/MANIFEST.in +0 -0
  146. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/ROADMAP.md +0 -0
  147. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/SECURITY.md +0 -0
  148. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/VERSION +0 -0
  149. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/dev.ps1 +0 -0
  150. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/dev.sh +0 -0
  151. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/mypy_errors.txt +0 -0
  152. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/README.md +0 -0
  153. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/README.md +0 -0
  154. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/llm_to_json/__init__.py +0 -0
  155. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/pyproject.toml +0 -0
  156. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_json/test.py +0 -0
  157. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/README.md +0 -0
  158. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/llm_to_toon/__init__.py +0 -0
  159. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/pyproject.toml +0 -0
  160. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/packages/llm_to_toon/test.py +0 -0
  161. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/__main__.py +0 -0
  162. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/_internal/__init__.py +0 -0
  163. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/_internal/json_encoder.py +0 -0
  164. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/__init__.py +0 -0
  165. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/assistant.py +0 -0
  166. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/async_conversation.py +0 -0
  167. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/async_deep_agent.py +0 -0
  168. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/conversation.py +0 -0
  169. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/__init__.py +0 -0
  170. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/planner.py +0 -0
  171. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/subagents.py +0 -0
  172. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/summarizer.py +0 -0
  173. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep/vfs.py +0 -0
  174. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep_prompts.py +0 -0
  175. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/deep_state.py +0 -0
  176. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/live_events.py +0 -0
  177. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/persona.py +0 -0
  178. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/review_loop.py +0 -0
  179. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/simulated_tools.py +0 -0
  180. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/skill_miner.py +0 -0
  181. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/skills.py +0 -0
  182. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/tool_grammars.py +0 -0
  183. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/tools_schema.py +0 -0
  184. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/agents/types.py +0 -0
  185. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/aio/__init__.py +0 -0
  186. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/bridges/__init__.py +0 -0
  187. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/bridges/tukuy_backend.py +0 -0
  188. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/__init__.py +0 -0
  189. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/core.py +0 -0
  190. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/stores.py +0 -0
  191. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/checkpoints/types.py +0 -0
  192. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/citations/__init__.py +0 -0
  193. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/citations/core.py +0 -0
  194. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/citations/types.py +0 -0
  195. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/__init__.py +0 -0
  196. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/formatters.py +0 -0
  197. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/runner.py +0 -0
  198. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/cli/server.py +0 -0
  199. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/__init__.py +0 -0
  200. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/automations.py +0 -0
  201. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/calls.py +0 -0
  202. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/capacity.py +0 -0
  203. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/coding_tools.py +0 -0
  204. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/hook.py +0 -0
  205. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/live.py +0 -0
  206. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/local.py +0 -0
  207. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/memory.py +0 -0
  208. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/reuse.py +0 -0
  209. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/routing_policy.py +0 -0
  210. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/summary.py +0 -0
  211. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/companion/tool_routing.py +0 -0
  212. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/__init__.py +0 -0
  213. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/dedup.py +0 -0
  214. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/evol.py +0 -0
  215. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/filters.py +0 -0
  216. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/formats.py +0 -0
  217. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/schemas.py +0 -0
  218. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/seed.py +0 -0
  219. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/dataset/synth.py +0 -0
  220. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/__init__.py +0 -0
  221. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_media_usage.py +0 -0
  222. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_openai_compat.py +0 -0
  223. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_openai_compat_stream.py +0 -0
  224. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_openai_responses.py +0 -0
  225. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_prompt_cache.py +0 -0
  226. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_prompted_tool_stream.py +0 -0
  227. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/_usage_reporting.py +0 -0
  228. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/aggregator_base.py +0 -0
  229. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/airllm_driver.py +0 -0
  230. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/assemblyai_stt_driver.py +0 -0
  231. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_aggregator_base.py +0 -0
  232. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_airllm_driver.py +0 -0
  233. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_assemblyai_stt_driver.py +0 -0
  234. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_azure_driver.py +0 -0
  235. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_base.py +0 -0
  236. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_bedrock_driver.py +0 -0
  237. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_bfl_img_gen_driver.py +0 -0
  238. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cachibot_driver.py +0 -0
  239. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cartesia_tts_driver.py +0 -0
  240. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_claude_driver.py +0 -0
  241. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cohere_driver.py +0 -0
  242. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cohere_embedding_driver.py +0 -0
  243. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_cohere_rerank_driver.py +0 -0
  244. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_deepgram_stt_driver.py +0 -0
  245. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_deepgram_tts_driver.py +0 -0
  246. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_deepseek_driver.py +0 -0
  247. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_elevenlabs_stt_driver.py +0 -0
  248. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_elevenlabs_tts_driver.py +0 -0
  249. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_embedding_base.py +0 -0
  250. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_fal_img_gen_driver.py +0 -0
  251. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_fal_video_gen_driver.py +0 -0
  252. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_google_driver.py +0 -0
  253. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_google_img_gen_driver.py +0 -0
  254. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_google_vertexai_driver.py +0 -0
  255. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_grok_driver.py +0 -0
  256. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_grok_img_gen_driver.py +0 -0
  257. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_grok_video_gen_driver.py +0 -0
  258. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_groq_driver.py +0 -0
  259. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_hugging_driver.py +0 -0
  260. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_ideogram_img_gen_driver.py +0 -0
  261. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_img_gen_base.py +0 -0
  262. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_jina_embedding_driver.py +0 -0
  263. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_jina_rerank_driver.py +0 -0
  264. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_kev_decision_driver.py +0 -0
  265. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_kling_img_gen_driver.py +0 -0
  266. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_kling_video_gen_driver.py +0 -0
  267. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_laya_decision_driver.py +0 -0
  268. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_lmstudio_driver.py +0 -0
  269. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_local_http_driver.py +0 -0
  270. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_luma_video_gen_driver.py +0 -0
  271. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_minimax_driver.py +0 -0
  272. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_minimax_video_gen_driver.py +0 -0
  273. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mistral_driver.py +0 -0
  274. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mistral_moderation_driver.py +0 -0
  275. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_modelscope_driver.py +0 -0
  276. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_moonshot_driver.py +0 -0
  277. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_muapi_aggregator_driver.py +0 -0
  278. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mxbai_embedding_driver.py +0 -0
  279. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_mxbai_rerank_driver.py +0 -0
  280. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_nomic_embedding_driver.py +0 -0
  281. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_ollama_embedding_driver.py +0 -0
  282. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_compatible_driver.py +0 -0
  283. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_driver.py +0 -0
  284. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_embedding_driver.py +0 -0
  285. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_img_gen_driver.py +0 -0
  286. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_moderation_driver.py +0 -0
  287. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_stt_driver.py +0 -0
  288. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openai_tts_driver.py +0 -0
  289. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_openrouter_driver.py +0 -0
  290. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_pika_video_gen_driver.py +0 -0
  291. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_registry.py +0 -0
  292. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_runway_img_gen_driver.py +0 -0
  293. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_runway_tts_driver.py +0 -0
  294. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_runway_video_gen_driver.py +0 -0
  295. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_stability_img_gen_driver.py +0 -0
  296. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_stt_base.py +0 -0
  297. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_systemone_compatible_driver.py +0 -0
  298. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_tts_base.py +0 -0
  299. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_typesafe_decision_driver.py +0 -0
  300. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_video_gen_base.py +0 -0
  301. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_voyage_embedding_driver.py +0 -0
  302. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_voyage_rerank_driver.py +0 -0
  303. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/async_zai_driver.py +0 -0
  304. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/audio_registry.py +0 -0
  305. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/azure_config.py +0 -0
  306. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/azure_driver.py +0 -0
  307. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/bedrock_driver.py +0 -0
  308. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/bfl_img_gen_driver.py +0 -0
  309. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cachibot_driver.py +0 -0
  310. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cartesia_tts_driver.py +0 -0
  311. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/claude_driver.py +0 -0
  312. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cohere_driver.py +0 -0
  313. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cohere_embedding_driver.py +0 -0
  314. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/cohere_rerank_driver.py +0 -0
  315. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/decision_base.py +0 -0
  316. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/decision_registry.py +0 -0
  317. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/deepgram_stt_driver.py +0 -0
  318. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/deepgram_tts_driver.py +0 -0
  319. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/deepseek_driver.py +0 -0
  320. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/driver_registry.py +0 -0
  321. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/elevenlabs_stt_driver.py +0 -0
  322. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/elevenlabs_tts_driver.py +0 -0
  323. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/embedding_base.py +0 -0
  324. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/embedding_registry.py +0 -0
  325. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/fal_img_gen_driver.py +0 -0
  326. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/fal_video_gen_driver.py +0 -0
  327. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/google_driver.py +0 -0
  328. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/google_img_gen_driver.py +0 -0
  329. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/google_vertexai_driver.py +0 -0
  330. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/grok_driver.py +0 -0
  331. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/grok_img_gen_driver.py +0 -0
  332. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/grok_video_gen_driver.py +0 -0
  333. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/groq_driver.py +0 -0
  334. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/hugging_driver.py +0 -0
  335. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/ideogram_img_gen_driver.py +0 -0
  336. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/img_gen_base.py +0 -0
  337. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/img_gen_registry.py +0 -0
  338. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/jina_embedding_driver.py +0 -0
  339. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/jina_rerank_driver.py +0 -0
  340. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/job_runner.py +0 -0
  341. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/kev_decision_driver.py +0 -0
  342. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/kling_img_gen_driver.py +0 -0
  343. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/kling_video_gen_driver.py +0 -0
  344. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/laya_decision_driver.py +0 -0
  345. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/lipsync_base.py +0 -0
  346. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/lipsync_registry.py +0 -0
  347. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/lmstudio_driver.py +0 -0
  348. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/local_http_driver.py +0 -0
  349. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/luma_video_gen_driver.py +0 -0
  350. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/media_capabilities.py +0 -0
  351. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/minimax_driver.py +0 -0
  352. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/minimax_video_gen_driver.py +0 -0
  353. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mistral_driver.py +0 -0
  354. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mistral_moderation_driver.py +0 -0
  355. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/modelscope_driver.py +0 -0
  356. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/moderation_base.py +0 -0
  357. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/moderation_registry.py +0 -0
  358. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/moonshot_driver.py +0 -0
  359. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/muapi_aggregator_driver.py +0 -0
  360. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/music_base.py +0 -0
  361. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/music_registry.py +0 -0
  362. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mxbai_embedding_driver.py +0 -0
  363. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/mxbai_rerank_driver.py +0 -0
  364. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/nomic_embedding_driver.py +0 -0
  365. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/ollama_embedding_driver.py +0 -0
  366. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_compatible_driver.py +0 -0
  367. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_driver.py +0 -0
  368. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_embedding_driver.py +0 -0
  369. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_img_gen_driver.py +0 -0
  370. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_moderation_driver.py +0 -0
  371. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_stt_driver.py +0 -0
  372. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openai_tts_driver.py +0 -0
  373. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/openrouter_driver.py +0 -0
  374. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/pika_video_gen_driver.py +0 -0
  375. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/provider_branding.py +0 -0
  376. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/provider_descriptors.py +0 -0
  377. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/registry.py +0 -0
  378. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/rerank_base.py +0 -0
  379. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/rerank_registry.py +0 -0
  380. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_audio_transform_driver.py +0 -0
  381. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_capabilities.py +0 -0
  382. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_img_gen_driver.py +0 -0
  383. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_tts_driver.py +0 -0
  384. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/runway_video_gen_driver.py +0 -0
  385. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/stability_img_gen_driver.py +0 -0
  386. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/stt_base.py +0 -0
  387. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/systemone_compatible_driver.py +0 -0
  388. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/tts_base.py +0 -0
  389. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/typesafe_decision_driver.py +0 -0
  390. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/vertex_img_gen_driver.py +0 -0
  391. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/video_gen_base.py +0 -0
  392. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/video_gen_registry.py +0 -0
  393. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/vision_helpers.py +0 -0
  394. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/voyage_embedding_driver.py +0 -0
  395. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/voyage_rerank_driver.py +0 -0
  396. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/drivers/zai_driver.py +0 -0
  397. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/__init__.py +0 -0
  398. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/base.py +0 -0
  399. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/faithfulness.py +0 -0
  400. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/judge.py +0 -0
  401. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/pairwise.py +0 -0
  402. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/eval/self_consistency.py +0 -0
  403. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/exceptions.py +0 -0
  404. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/__init__.py +0 -0
  405. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/context.py +0 -0
  406. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/context_eval.py +0 -0
  407. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/data/document_qa_policies.json +0 -0
  408. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/data/extraction_contacts.json +0 -0
  409. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/data/tool_task_inventory.json +0 -0
  410. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/fixtures.py +0 -0
  411. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/gates.py +0 -0
  412. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/harness.py +0 -0
  413. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/__init__.py +0 -0
  414. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/candidates.py +0 -0
  415. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/optimizer.py +0 -0
  416. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/promotion.py +0 -0
  417. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/improve/scorecard.py +0 -0
  418. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/integration.py +0 -0
  419. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/outcomes.py +0 -0
  420. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/policy.py +0 -0
  421. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/sandbox.py +0 -0
  422. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/scoring.py +0 -0
  423. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/__init__.py +0 -0
  424. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/base.py +0 -0
  425. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/critique.py +0 -0
  426. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/direct.py +0 -0
  427. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/registry.py +0 -0
  428. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/strategies/retrieve.py +0 -0
  429. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/execution/types.py +0 -0
  430. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/__init__.py +0 -0
  431. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/_usage.py +0 -0
  432. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/async_core.py +0 -0
  433. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/code_extraction.py +0 -0
  434. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/core.py +0 -0
  435. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/few_shot.py +0 -0
  436. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/fields.py +0 -0
  437. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/reasoning.py +0 -0
  438. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/strategy.py +0 -0
  439. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/streaming.py +0 -0
  440. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/tools.py +0 -0
  441. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/tukuy_bridge.py +0 -0
  442. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/extraction/validator.py +0 -0
  443. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/__init__.py +0 -0
  444. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/anthropic_format.py +0 -0
  445. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/gemini_format.py +0 -0
  446. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/openai_format.py +0 -0
  447. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/reasoning_cache.py +0 -0
  448. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/gateway/responses_format.py +0 -0
  449. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/__init__.py +0 -0
  450. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/async_groups.py +0 -0
  451. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/consensus.py +0 -0
  452. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/debate.py +0 -0
  453. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/fusion.py +0 -0
  454. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/groups.py +0 -0
  455. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/groups/types.py +0 -0
  456. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/__init__.py +0 -0
  457. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/enhance.py +0 -0
  458. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/negative.py +0 -0
  459. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/set_planner.py +0 -0
  460. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/imaging/style_presets.py +0 -0
  461. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/__init__.py +0 -0
  462. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/accounts.py +0 -0
  463. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/billing.py +0 -0
  464. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/budget.py +0 -0
  465. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/cache.py +0 -0
  466. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/callbacks.py +0 -0
  467. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/capabilities.py +0 -0
  468. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_activity.py +0 -0
  469. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_events.py +0 -0
  470. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_readers.py +0 -0
  471. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_specs.py +0 -0
  472. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agent_usage.py +0 -0
  473. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/coding_agents.py +0 -0
  474. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/compression.py +0 -0
  475. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/discovery.py +0 -0
  476. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/ledger.py +0 -0
  477. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/media_pricing.py +0 -0
  478. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/media_rates.json +0 -0
  479. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/model_rates.py +0 -0
  480. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/otel.py +0 -0
  481. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/pricing.py +0 -0
  482. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/provider_env.py +0 -0
  483. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rate_limits.py +0 -0
  484. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/anthropic.json +0 -0
  485. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/azure.json +0 -0
  486. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/bedrock.json +0 -0
  487. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/cerebras.json +0 -0
  488. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/cohere.json +0 -0
  489. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/deepinfra.json +0 -0
  490. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/deepseek.json +0 -0
  491. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/fireworks.json +0 -0
  492. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/google.json +0 -0
  493. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/google_vertexai.json +0 -0
  494. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/groq.json +0 -0
  495. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/jina.json +0 -0
  496. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/kev.json +0 -0
  497. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/laya.json +0 -0
  498. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/mistral.json +0 -0
  499. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/mixedbread.json +0 -0
  500. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/moonshot.json +0 -0
  501. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/nomic.json +0 -0
  502. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/nvidia.json +0 -0
  503. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/openai.json +0 -0
  504. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/openrouter.json +0 -0
  505. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/perplexity.json +0 -0
  506. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/sambanova.json +0 -0
  507. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/siliconflow.json +0 -0
  508. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/together.json +0 -0
  509. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/typesafe.json +0 -0
  510. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/voyage.json +0 -0
  511. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/rates/xai.json +0 -0
  512. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/session.py +0 -0
  513. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/token_counting.py +0 -0
  514. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/tracker.py +0 -0
  515. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/infra/tukuy_backend.py +0 -0
  516. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/__init__.py +0 -0
  517. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/chunking.py +0 -0
  518. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/detect.py +0 -0
  519. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/document.py +0 -0
  520. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/__init__.py +0 -0
  521. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/base.py +0 -0
  522. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/csv_parser.py +0 -0
  523. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/docx.py +0 -0
  524. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/html.py +0 -0
  525. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/markdown.py +0 -0
  526. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/pdf.py +0 -0
  527. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/ingestion/parsers/xlsx.py +0 -0
  528. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/integrations/__init__.py +0 -0
  529. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/integrations/mcp_bridge.py +0 -0
  530. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/integrations/tukuy_bridge.py +0 -0
  531. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/jobs.py +0 -0
  532. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/__init__.py +0 -0
  533. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/core.py +0 -0
  534. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/stores.py +0 -0
  535. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/kg/types.py +0 -0
  536. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/mcp/tools.py +0 -0
  537. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/audio.py +0 -0
  538. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/hosting.py +0 -0
  539. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/image.py +0 -0
  540. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/media/video.py +0 -0
  541. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/01-why-prompture.md +0 -0
  542. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/02-installation.md +0 -0
  543. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/03-quickstart.md +0 -0
  544. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/04-toon-input.md +0 -0
  545. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/05-test-harness.md +0 -0
  546. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/06-stability.md +0 -0
  547. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pages/07-migration.md +0 -0
  548. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/__init__.py +0 -0
  549. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/history.py +0 -0
  550. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/serialization.py +0 -0
  551. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/persistence/store.py +0 -0
  552. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/__init__.py +0 -0
  553. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/pipeline.py +0 -0
  554. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/resolver.py +0 -0
  555. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/pipeline/routing.py +0 -0
  556. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/__init__.py +0 -0
  557. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/base.py +0 -0
  558. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/__init__.py +0 -0
  559. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/_aliases.py +0 -0
  560. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/anthropic_plugin.py +0 -0
  561. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/audio_plugin.py +0 -0
  562. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/cloud_plugin.py +0 -0
  563. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/decision_plugin.py +0 -0
  564. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/embedding_rerank_plugin.py +0 -0
  565. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/extras_plugin.py +0 -0
  566. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/google_plugin.py +0 -0
  567. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/image_plugin.py +0 -0
  568. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/local_plugin.py +0 -0
  569. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/openai_compatible_plugin.py +0 -0
  570. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/openai_plugin.py +0 -0
  571. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/builtins/video_plugin.py +0 -0
  572. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/plugins/discovery.py +0 -0
  573. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/py.typed +0 -0
  574. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/__init__.py +0 -0
  575. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/__init__.py +0 -0
  576. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/base.py +0 -0
  577. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/character.py +0 -0
  578. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/chunker_registry.py +0 -0
  579. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/contextual.py +0 -0
  580. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/markdown.py +0 -0
  581. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/recursive.py +0 -0
  582. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/semantic.py +0 -0
  583. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/chunkers/token.py +0 -0
  584. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/documents.py +0 -0
  585. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loader_registry.py +0 -0
  586. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/__init__.py +0 -0
  587. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/csv_loader.py +0 -0
  588. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/docx_loader.py +0 -0
  589. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/epub_loader.py +0 -0
  590. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/html_loader.py +0 -0
  591. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/json_loader.py +0 -0
  592. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/markdown_loader.py +0 -0
  593. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/pdf_loader.py +0 -0
  594. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/text_loader.py +0 -0
  595. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/loaders/xlsx_loader.py +0 -0
  596. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/pipeline.py +0 -0
  597. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/__init__.py +0 -0
  598. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/_fusion.py +0 -0
  599. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/base.py +0 -0
  600. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/hybrid.py +0 -0
  601. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/hyde.py +0 -0
  602. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/mmr.py +0 -0
  603. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/multi_query.py +0 -0
  604. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/retriever_registry.py +0 -0
  605. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/similarity.py +0 -0
  606. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/retrievers/step_back.py +0 -0
  607. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/__init__.py +0 -0
  608. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/base.py +0 -0
  609. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/chroma.py +0 -0
  610. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/faiss.py +0 -0
  611. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/pgvector.py +0 -0
  612. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/pinecone.py +0 -0
  613. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/qdrant.py +0 -0
  614. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/vectorstore_registry.py +0 -0
  615. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/rag/vectorstores/weaviate.py +0 -0
  616. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/__init__.py +0 -0
  617. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/detector.py +0 -0
  618. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/evaluator.py +0 -0
  619. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/refusal/markers.py +0 -0
  620. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/__init__.py +0 -0
  621. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/async_driver.py +0 -0
  622. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/backoff.py +0 -0
  623. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/breaker.py +0 -0
  624. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/driver.py +0 -0
  625. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/errors.py +0 -0
  626. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/explain.py +0 -0
  627. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/headroom.py +0 -0
  628. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/keys.py +0 -0
  629. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/router.py +0 -0
  630. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/strategies.py +0 -0
  631. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/resilience/virtual.py +0 -0
  632. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/__init__.py +0 -0
  633. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/generator.py +0 -0
  634. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/Dockerfile.j2 +0 -0
  635. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/README.md.j2 +0 -0
  636. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/config.py.j2 +0 -0
  637. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/env.example.j2 +0 -0
  638. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/main.py.j2 +0 -0
  639. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/models.py.j2 +0 -0
  640. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/scaffold/templates/requirements.txt.j2 +0 -0
  641. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/security/injection.py +0 -0
  642. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/__init__.py +0 -0
  643. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/core.py +0 -0
  644. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/project.py +0 -0
  645. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/stores.py +0 -0
  646. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/session_memory/types.py +0 -0
  647. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/__init__.py +0 -0
  648. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/environment.py +0 -0
  649. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/memory.py +0 -0
  650. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/scheduler.py +0 -0
  651. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/swarm.py +0 -0
  652. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/swarm_agent.py +0 -0
  653. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/swarm/types.py +0 -0
  654. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/testing/__init__.py +0 -0
  655. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/testing/driver_contract.py +0 -0
  656. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/tools/code_exec.py +0 -0
  657. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/__init__.py +0 -0
  658. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/architect.py +0 -0
  659. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/engine.py +0 -0
  660. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/errors.py +0 -0
  661. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/model.py +0 -0
  662. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/nodes.py +0 -0
  663. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/recovery.py +0 -0
  664. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/references.py +0 -0
  665. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/registry.py +0 -0
  666. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/scheduler.py +0 -0
  667. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture/workflow/state.py +0 -0
  668. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/dependency_links.txt +0 -0
  669. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/entry_points.txt +0 -0
  670. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture.egg-info/top_level.txt +0 -0
  671. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/prompture_cost_tracking.md +0 -0
  672. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/requirements.txt +0 -0
  673. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/scripts/check_pricing_freshness.py +0 -0
  674. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/setup.cfg +0 -0
  675. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/specs/basic_extraction.json +0 -0
  676. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/specs/schema_validation.json +0 -0
  677. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/specs/strategy_comparison.json +0 -0
  678. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/test.py +0 -0
  679. {prompture-1.13.4.dev2 → prompture-1.13.5.dev2}/test_version_diagnosis.py +0 -0
@@ -228,19 +228,68 @@ MIXEDBREAD_API_KEY=
228
228
  MXBAI_EMBEDDING_MODEL=mxbai-embed-large-v1
229
229
  MXBAI_RERANK_MODEL=mxbai-rerank-large-v1
230
230
 
231
- # GitHub Models — used through the openai_compatible driver with
232
- # profile=github_models. Auth uses a GitHub Personal Access Token.
231
+ # GitHub Personal Access Token — GitHub Models (openai_compatible driver,
232
+ # profile=github_models) and the web GitHub reader/search (higher rate
233
+ # limits, discussions, code search).
233
234
  GITHUB_TOKEN=
234
235
 
235
- # ─── Web search backends (prompture.tools.WebSearchTool) ────────────────────
236
- # Tavily — default backend, AI-friendly snippets, generous free tier.
236
+ # ─── Web tools (prompture.tools.web) ─────────────────────────────────────────
237
+ # Search, fetch and the URL readers work with no keys at all (keyless Exa MCP
238
+ # search, Jina reader + direct fetch). Keys raise quality and rate limits.
239
+ # Keyed search providers are tried first, the keyless one last.
237
240
  TAVILY_API_KEY=
241
+ # Exa REST search with page contents.
242
+ EXA_API_KEY=
238
243
  # Serper — Google Search API wrapper.
239
244
  SERPER_API_KEY=
240
245
  # Brave Search — independent index.
241
246
  BRAVE_SEARCH_API_KEY=
242
247
  # SearXNG — self-hosted metasearch engine (no key, set the base URL).
243
248
  SEARXNG_ENDPOINT=
249
+ # JINA_API_KEY (above) also enables s.jina.ai search and raises r.jina.ai limits.
250
+ # Preferred order; backends not listed keep their place after these.
251
+ PROMPTURE_SEARCH_PROVIDERS=
252
+ PROMPTURE_FETCH_BACKENDS=
253
+ # Allow tools to reach private/loopback addresses (off by default).
254
+ PROMPTURE_WEB_ALLOW_PRIVATE=
255
+ # Local cache for search / fetch / reader results: disk (default, shared
256
+ # across processes), memory (this process only) or off. Lifetimes depend on
257
+ # the content: minutes for weather/prices/news, days for papers/transcripts.
258
+ PROMPTURE_WEB_CACHE=
259
+ # Where the disk cache lives (default ~/.prompture/cache/web_cache.db).
260
+ PROMPTURE_WEB_CACHE_PATH=
261
+
262
+ # ─── Media understanding (transcripts / summaries) ───────────────────────────
263
+ # Uses the first configured STT key: GROQ_API_KEY ▸ OPENAI_API_KEY ▸
264
+ # ELEVENLABS_API_KEY. Audio never goes to a second provider unless you pass
265
+ # allow_provider_fallback=True. Optional reorder, e.g. "openai,groq".
266
+ PROMPTURE_STT_PROVIDERS=
267
+ GROQ_STT_ENDPOINT=
268
+
269
+ # ─── Domain tool packs (tools=["pack:<name>"]) ──────────────────────────────
270
+ # pack:finance quotes/news/search (crypto tools need no key)
271
+ FINNHUB_API_KEY=
272
+ # pack:news headlines/search
273
+ NEWSAPI_API_KEY=
274
+ # pack:places geocoding/places (country data needs no key)
275
+ GOOGLE_MAPS_API_KEY=
276
+ OPENCAGE_API_KEY=
277
+
278
+ # ─── MCP hub ─────────────────────────────────────────────────────────────────
279
+ # Override the user registry file (default ~/.prompture/mcp.json).
280
+ PROMPTURE_MCP_CONFIG=
281
+
282
+ # ─── Setup, profiles and proxies ─────────────────────────────────────────────
283
+ # `prompture setup` stores keys in ~/.prompture/credentials.yaml; env vars and
284
+ # this file always win over it. Pick a profile section of that file:
285
+ PROMPTURE_PROFILE=
286
+ # Default model written by `prompture setup` (provider/model).
287
+ PROMPTURE_DEFAULT_MODEL=
288
+ # Model for `prompture research` (defaults to the first configured provider).
289
+ PROMPTURE_RESEARCH_MODEL=
290
+ # Proxy for all capability backends, or per backend:
291
+ # PROMPTURE_<BACKEND>_PROXY, e.g. PROMPTURE_JINA_READER_PROXY.
292
+ PROMPTURE_PROXY=
244
293
 
245
294
  # ─── Coding-agent CLI binaries (optional path overrides) ─────────────────────
246
295
  # Set if a CLI isn't on PATH or you want to pin a specific install.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prompture
3
- Version: 1.13.4.dev2
3
+ Version: 1.13.5.dev2
4
4
  Summary: Ask LLMs to return structured JSON and run cross-model tests. API-first.
5
5
  Author-email: Juan Denis <juan@vene.co>
6
6
  License-Expression: MIT
@@ -36,8 +36,14 @@ Provides-Extra: sandbox
36
36
  Requires-Dist: tukuy>=0.0.30; extra == "sandbox"
37
37
  Provides-Extra: mcp
38
38
  Requires-Dist: mcp>=1.0; extra == "mcp"
39
+ Provides-Extra: web
40
+ Requires-Dist: feedparser>=6.0; extra == "web"
41
+ Requires-Dist: youtube-transcript-api>=1.0; extra == "web"
42
+ Requires-Dist: trafilatura>=1.8; extra == "web"
43
+ Provides-Extra: media
44
+ Requires-Dist: yt-dlp>=2024.8.6; extra == "media"
39
45
  Provides-Extra: all
40
- Requires-Dist: prompture[anthropic,google,groq,mcp,openai,pandas,sandbox,toon]; extra == "all"
46
+ Requires-Dist: prompture[anthropic,google,groq,mcp,media,openai,pandas,sandbox,toon,web]; extra == "all"
41
47
  Provides-Extra: test
42
48
  Requires-Dist: pytest>=7.0; extra == "test"
43
49
  Requires-Dist: pytest-asyncio>=0.23.0; extra == "test"
@@ -156,6 +162,37 @@ print(person.name) # Maria
156
162
  > | `ollama/llama3.1:8b`, … (local) | no extra needed | — (set `OLLAMA_HOST` if non-default) |
157
163
  > | everything in one go | `pip install "prompture[all]"` | provider-specific |
158
164
 
165
+ ## Agents That Can Search, Read, Watch and Listen
166
+
167
+ Prompture also gives agents working capabilities, and **none of them need an
168
+ API key to start**. Keys only raise limits and quality.
169
+
170
+ ```python
171
+ from prompture import Agent
172
+
173
+ agent = Agent(
174
+ "openai/gpt-4o-mini",
175
+ tools=["web:all", "pack:dev", "mcp:exa"], # search, read any URL, transcribe, GitHub/HN/arXiv, MCP
176
+ system_prompt="Cite every fact with a URL you opened.",
177
+ )
178
+ print(agent.run("Summarize https://youtu.be/<id> and find related papers").output)
179
+ ```
180
+
181
+ ```bash
182
+ prompture doctor # what works on this machine and how to fix the rest
183
+ prompture research "What changed in Python 3.13?" --depth quick # cited multi-source report
184
+ prompture transcribe talk.mp3 --summary # timestamped transcript + key points
185
+ prompture mcp add --preset exa # mount MCP servers by name
186
+ prompture skill install # teach your coding agent all of this
187
+ ```
188
+
189
+ - **Web:** keyless search, fetch and readers for YouTube, GitHub, Hacker News, arXiv, Wikipedia, feeds and podcasts
190
+ - **Fails over, never just fails:** every capability tries the next backend on auth, quota or rate-limit errors and tells you which one served the result
191
+ - **Cached locally:** repeat searches and static pages come back instantly; weather, prices and news expire in minutes, papers and transcripts in days
192
+ - **Safe by default:** public URLs only, size caps, secret scrubbing, and audio never goes to a second provider without your consent
193
+
194
+ Full guide: [Capabilities](#capabilities).
195
+
159
196
  ## Prompture Desk: Usage in Your Tray
160
197
 
161
198
  **See what your LLM calls cost, live, from your tray.** [Prompture Desk](https://github.com/jhd3197/Prompture-Desk) tracks tokens and spend per provider and project, rate-limit headroom, balances, and your coding tools (Claude Code, Codex, …). Windows, macOS and Linux.
@@ -188,7 +225,7 @@ No setup: Desk runs `prompture companion` (Prompture 1.13+) on localhost for you
188
225
  **Agents, tools, RAG**
189
226
  - Stateful conversations with sync + async support
190
227
  - Function calling and streaming across providers, with prompt-based simulation for models without native tool use
191
- - Drop-in tools: sandboxed `python_execute` (Tukuy), `web_search` (Tavily / Serper / Brave / SearXNG)
228
+ - Drop-in tools: sandboxed `python_execute` (Tukuy) plus the [capability layer](#capabilities) below
192
229
  - `DeepAgent` with planning, virtual filesystem, sub-agents, and auto-summarization — no LangChain
193
230
  - Full RAG stack — loaders, chunkers, vector stores, hybrid dense+BM25 retrieval, end-to-end `RAGPipeline` — see [RAG](#rag)
194
231
 
@@ -197,6 +234,15 @@ No setup: Desk runs `prompture companion` (Prompture 1.13+) on localhost for you
197
234
  - `RefusalDetector` / `RefusalEvaluator` for cross-provider alignment scoring
198
235
  - `generate_qa_dataset()` — synthetic JSONL datasets ready for Unsloth, Axolotl, TRL
199
236
 
237
+ **Capabilities** — see [Capabilities](#capabilities)
238
+ - Keyless `web_search`, `web_fetch` and `read_url` (YouTube, GitHub, HN, arXiv, Wikipedia, feeds, podcasts), with failover across keyed providers
239
+ - Local web cache with content-aware lifetimes: minutes for weather, prices and news, days for papers and transcripts
240
+ - `transcribe` / `summarize_media` for video, podcasts and audio, with timestamped key points
241
+ - `ResearchAgent` / `prompture research` — cited multi-source reports within fetch, token, cost and time budgets
242
+ - MCP hub, wrapped CLI tools (`gh`, `yt-dlp`) and domain packs (finance, news, dev, places), mounted by name: `tools=["mcp:exa", "pack:finance", "cli:gh"]`
243
+ - `prompture doctor` — what works on this machine (providers, tools, media, MCP servers, binaries), which backend is active, and the exact fix for anything that isn't
244
+ - `prompture setup` with an owner-only credential store and profiles; `prompture skill install` teaches coding agents to use all of it
245
+
200
246
  **Ops**
201
247
  - Resilient routing — `resilient()` retries transient errors, honors `Retry-After`, rotates API keys, trips circuit breakers and fails over across models; every response records who served it — see [Resilient Routing](#resilient-routing)
202
248
  - [Prompture Desk](#prompture-desk-usage-in-your-tray) — desktop tray app: usage per provider and project, rate limits and balances, live calls
@@ -238,6 +284,9 @@ use.
238
284
  | `airllm` | AirLLM local inference | `pip install prompture[airllm]` |
239
285
  | `bedrock` | AWS Bedrock driver (`boto3`) | `pip install prompture[bedrock]` |
240
286
  | `sandbox` | Sandboxed Python execution tool (`tukuy`) | `pip install prompture[sandbox]` |
287
+ | `web` | Feed reader, YouTube transcripts, article extraction for the [web tools](#web-tools-zero-keys-required) | `pip install prompture[web]` |
288
+ | `media` | `yt-dlp` for video/podcast [transcription](#media-understanding-transcripts-and-summaries) | `pip install prompture[media]` |
289
+ | `mcp` | [MCP hub](#mcp-hub) client and server | `pip install prompture[mcp]` |
241
290
 
242
291
  ### RAG — the easy path
243
292
 
@@ -1468,21 +1517,14 @@ Runnable example: `python examples/python_sandbox_example.py`.
1468
1517
 
1469
1518
  ### Web search
1470
1519
 
1471
- `WebSearchTool` ships a ready-to-register `web_search` tool with four
1472
- interchangeable backends:
1473
-
1474
- | Provider | Env var | Notes |
1475
- |------------|------------------------|------------------------------------------|
1476
- | `tavily` | `TAVILY_API_KEY` | Default. AI-friendly snippets + answer. |
1477
- | `serper` | `SERPER_API_KEY` | Google Search API wrapper. |
1478
- | `brave` | `BRAVE_SEARCH_API_KEY` | Independent index. |
1479
- | `searxng` | `SEARXNG_ENDPOINT` | Self-hosted metasearch, no key required. |
1520
+ Web search works with no keys. See [Web tools](#web-tools-zero-keys-required)
1521
+ for the full set (fetch, URL readers, platform search) and the fallback order.
1480
1522
 
1481
1523
  ```python
1482
1524
  from prompture import Agent, ToolRegistry, WebSearchTool
1483
1525
 
1484
1526
  registry = ToolRegistry()
1485
- WebSearchTool().register_on(registry) # auto-pick from env
1527
+ WebSearchTool().register_on(registry) # keyed providers first, keyless Exa last
1486
1528
 
1487
1529
  agent = Agent(
1488
1530
  "openai/gpt-4o",
@@ -1492,12 +1534,9 @@ agent = Agent(
1492
1534
  print(agent.run("What's new in LangChain this month?").output)
1493
1535
  ```
1494
1536
 
1495
- Override the backend per call site by passing `provider="serper"` (or
1496
- `brave`/`searxng`). Results come back as Markdown so the LLM can cite
1497
- each hit inline; Tavily's synthesised answer (when available) is
1498
- prepended.
1499
-
1500
- Runnable example: `python examples/web_search_agent_example.py`.
1537
+ `WebSearchTool(provider="serper")` pins a single provider (`tavily`, `exa`,
1538
+ `serper`, `brave`, `jina`, `searxng`, `exa_mcp`). Runnable example:
1539
+ `python examples/web_search_agent_example.py`.
1501
1540
 
1502
1541
  ### Deep Agents
1503
1542
 
@@ -2052,13 +2091,182 @@ All extraction functions return a consistent structure:
2052
2091
  }
2053
2092
  ```
2054
2093
 
2094
+ ## Capabilities
2095
+
2096
+ Prompture also gives agents working capabilities — search, read, watch,
2097
+ listen, call external tools — and tells you what works on this machine. Each
2098
+ one works with nothing configured, improves as keys are added, fails over
2099
+ instead of failing, and reports its own health.
2100
+
2101
+ ### Doctor
2102
+
2103
+ ```bash
2104
+ prompture doctor # table: capability, status, active backend, message, fix
2105
+ prompture doctor --only providers -v # every provider, including unconfigured ones
2106
+ prompture doctor --live # cheap real calls (model lists), never a paid generation
2107
+ prompture doctor --json # stable "prompture.doctor/1" schema for agents
2108
+ ```
2109
+
2110
+ Offline by default: no network, no writes. Binary checks actually run the
2111
+ binary, so a stale `yt-dlp` shim left by a Python upgrade shows as `broken`
2112
+ with a reinstall hint. Python: `from prompture.doctor import check_all`.
2113
+
2114
+ ### Web tools (zero keys required)
2115
+
2116
+ ```python
2117
+ from prompture import Agent
2118
+ from prompture.tools.web import web_search, web_fetch, read_url, search_platform
2119
+
2120
+ resp = web_search("latest CPython release", max_results=3)
2121
+ print(resp.to_markdown()) # ... served by exa_mcp
2122
+ page = web_fetch("https://example.com", max_chars=20000) # Jina reader, then direct; page with start=
2123
+ video = read_url("https://youtu.be/<id>") # transcript
2124
+ repos = search_platform("github", "web scraping", kind="repositories")
2125
+
2126
+ agent = Agent("openai/gpt-4o", tools=["web:all"])
2127
+ ```
2128
+
2129
+ | Capability | Chain (first available wins, failures move on) |
2130
+ |---|---|
2131
+ | `web_search` | `tavily` ▸ `exa` ▸ `serper` ▸ `brave` ▸ `jina` ▸ `searxng` ▸ `exa_mcp` (keyless) |
2132
+ | `web_fetch` | `jina_reader` (keyless) ▸ `direct` (safe GET + HTML to Markdown) |
2133
+ | `read_url` | YouTube, GitHub, Hacker News, arXiv, Wikipedia, podcasts, RSS/Atom readers ▸ `web_fetch` |
2134
+ | `search_platform` | YouTube (`yt-dlp`), GitHub, Hacker News (Algolia), arXiv |
2135
+
2136
+ - Auth, quota and rate-limit errors fail over immediately; timeouts and 5xx
2137
+ retry once. Every result reports `route["served_by"]` and `route["fallback"]`.
2138
+ - Reorder with `PROMPTURE_SEARCH_PROVIDERS` / `PROMPTURE_FETCH_BACKENDS`
2139
+ (unknown names are ignored; unlisted backends keep their place).
2140
+ - Only public URLs: private, loopback, link-local and metadata addresses are
2141
+ refused, redirects are re-checked per hop, bodies are size-capped and
2142
+ challenge pages move to the next backend.
2143
+
2144
+ **Local cache.** Results are cached in `~/.prompture/cache/web_cache.db`, so a
2145
+ repeated search or page comes back instantly, even from another process. Each
2146
+ entry lives as long as that kind of content stays true:
2147
+
2148
+ | Content | Lifetime |
2149
+ |---|---|
2150
+ | Searches about weather, prices, scores, news, "today", or `recency_days <= 1` | 10 min |
2151
+ | Fast-moving pages (Hacker News, Reddit, X, status pages), GitHub issues/PRs | 10 min |
2152
+ | Feeds | 15 min |
2153
+ | Platform search (GitHub, HN, arXiv, YouTube) | 30 min |
2154
+ | Ordinary pages / searches within `recency_days <= 7` | 1 h |
2155
+ | Other searches | 6 h |
2156
+ | Wikipedia, podcast episodes | 1 day |
2157
+ | Papers, PDFs, DOIs, commit-pinned GitHub files, YouTube transcripts | 7 days |
2158
+
2159
+ Cached results say so (`route["cached"]`, `cache_age_s`, and "cached 3 min
2160
+ ago" in the Markdown footer). Errors and empty results are never stored. Pass
2161
+ `use_cache=False` or `cache_ttl=<seconds>` per call, set
2162
+ `PROMPTURE_WEB_CACHE=memory|off` to change the store, and
2163
+ `clear_web_cache()` or `prompture reset` to empty it.
2164
+
2165
+ ### Media understanding: transcripts and summaries
2166
+
2167
+ ```python
2168
+ from prompture.media.understand import transcribe, summarize_media
2169
+
2170
+ t = transcribe("https://example.com/episode.mp3") # URL or local file
2171
+ print(t.to_markdown()) # [00:01:05] ...
2172
+ s = summarize_media(t, model="openai/gpt-4o-mini")
2173
+ ```
2174
+
2175
+ `auto` uses the first configured STT key (Groq ▸ OpenAI ▸ ElevenLabs). Audio
2176
+ never goes to a second provider unless you pass
2177
+ `allow_provider_fallback=True`. Long media is downmixed and split into
2178
+ 10-minute chunks with `ffmpeg`; video/podcast pages need `yt-dlp`. CLI:
2179
+ `prompture transcribe <url|file> [--summary] [--out x.json]`.
2180
+
2181
+ ### Research agent
2182
+
2183
+ ```bash
2184
+ prompture research "What changed in Python 3.13?" --depth quick --json
2185
+ ```
2186
+
2187
+ ```python
2188
+ from prompture.research import ResearchAgent, ResearchBudget
2189
+ report = ResearchAgent("openai/gpt-4o-mini", budget=ResearchBudget(max_fetches=6, max_cost=0.05)).run("...")
2190
+ print(report.to_markdown())
2191
+ ```
2192
+
2193
+ Plans sub-questions, searches the web plus GitHub/HN/arXiv/YouTube in
2194
+ parallel, reads the top pages and writes an answer whose citations point only
2195
+ at pages it actually opened, with coverage gaps and conflicting claims.
2196
+ Fetch, token, cost and wall-clock budgets are enforced. Other agents can use
2197
+ it as a tool: `tools=[research_tool(depth="quick")]`.
2198
+
2199
+ ### MCP hub
2200
+
2201
+ ```bash
2202
+ prompture mcp add --preset exa # keyless web search server
2203
+ prompture mcp add search --url https://host/mcp --header 'Authorization=Bearer ${SEARCH_TOKEN}'
2204
+ prompture mcp list | test | remove | import --from cursor
2205
+ ```
2206
+
2207
+ ```python
2208
+ agent = Agent("openai/gpt-4o-mini", tools=["mcp:exa"])
2209
+ ```
2210
+
2211
+ Servers live in `~/.prompture/mcp.json` and `./.prompture/mcp.json` (project
2212
+ wins). Secrets are stored only as `${ENV}` references. Sessions are pooled,
2213
+ tools are prefixed `<server>__<tool>`, and each call lands in the usage
2214
+ ledger.
2215
+
2216
+ ### CLI tools and domain packs
2217
+
2218
+ ```python
2219
+ agent = Agent("openai/gpt-4o", tools=["cli:gh", "pack:finance", "pack:dev"])
2220
+ ```
2221
+
2222
+ - `cli:gh` (repo/issue/PR read + search, `gh api` GET-only), `cli:yt-dlp`, or
2223
+ your own read-only commands in `.prompture/tools.yaml`. No shell, only
2224
+ declared subcommands, flag-injection guards, timeouts and output caps.
2225
+ - Packs: `finance` (Finnhub, CoinGecko), `news` (NewsAPI, feeds), `dev`
2226
+ (GitHub, HN, arXiv, PyPI, npm), `places` (Google Maps, OpenCage, country
2227
+ data). Tools without their key are left out; doctor shows which env var to set.
2228
+
2229
+ ### Setup and credentials
2230
+
2231
+ ```bash
2232
+ prompture setup # wizard: providers, keys (validated live), default model, proxy
2233
+ prompture configure OPENAI_API_KEY # prompted, hidden
2234
+ prompture configure --list # names + masked values
2235
+ prompture reset --dry-run
2236
+ ```
2237
+
2238
+ Keys live in `~/.prompture/credentials.yaml` (owner-only, created on first
2239
+ write); environment variables and `.env` always win. Profiles via
2240
+ `--profile` / `PROMPTURE_PROFILE`. Proxies: `PROMPTURE_PROXY` or
2241
+ `PROMPTURE_<BACKEND>_PROXY`. Every mutating command takes `--dry-run`.
2242
+
2243
+ ### Agent skill and updates
2244
+
2245
+ ```bash
2246
+ prompture skill install --target claude # or --target project / --target path --path DIR
2247
+ prompture check-update # one PyPI call, cached 24 h
2248
+ prompture watch # offline doctor + update check for cron (exit 1 = broken)
2249
+ ```
2250
+
2251
+ The skill teaches coding agents the standing rules (run doctor first,
2252
+ announce the backend, follow the fallback chain) and routes them to
2253
+ per-capability references. For agents setting Prompture up from scratch, see
2254
+ [docs/agent-install.md](docs/agent-install.md); [llms.txt](llms.txt) maps
2255
+ the library for LLMs.
2256
+
2055
2257
  ## CLI
2056
2258
 
2057
2259
  ```bash
2058
- prompture run <spec-file>
2260
+ prompture doctor | setup | configure | reset # health and credentials
2261
+ prompture research | transcribe # capabilities
2262
+ prompture mcp add|list|test|remove|import # MCP hub
2263
+ prompture skill install | check-update | watch # agents and updates
2264
+ prompture serve | hub | companion # servers
2265
+ prompture run <spec-file> # spec-driven cross-model suites
2059
2266
  ```
2060
2267
 
2061
- Run spec-driven extraction suites for cross-model comparison.
2268
+ `prompture --help` lists every command; `python -m prompture` works when the
2269
+ script isn't on PATH.
2062
2270
 
2063
2271
  ## OpenAI-Compatible Server
2064
2272