kolega-code 0.41.3__tar.gz → 0.42.0__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 (500) hide show
  1. {kolega_code-0.41.3 → kolega_code-0.42.0}/CHANGELOG.md +27 -0
  2. {kolega_code-0.41.3 → kolega_code-0.42.0}/PKG-INFO +25 -1
  3. {kolega_code-0.41.3 → kolega_code-0.42.0}/README.md +24 -0
  4. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/__init__.py +1 -1
  5. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/__init__.py +1 -1
  6. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/config.py +2 -0
  7. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/provider_registry.py +21 -0
  8. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/config.py +3 -0
  9. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/client.py +7 -1
  10. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/instrumented_client.py +2 -2
  11. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/models.py +41 -4
  12. kolega_code-0.42.0/kolega_code/llm/providers/mistral.py +821 -0
  13. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/__init__.py +2 -0
  14. kolega_code-0.42.0/kolega_code/llm/specs/catalog/mistral.py +140 -0
  15. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/ollama_cloud.py +14 -26
  16. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/openrouter.py +1450 -1105
  17. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/perplexity_agent.py +80 -10
  18. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/tinker.py +1 -1
  19. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/thinking.py +6 -0
  20. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/usage.py +1 -0
  21. {kolega_code-0.41.3 → kolega_code-0.42.0}/pyproject.toml +2 -1
  22. {kolega_code-0.41.3 → kolega_code-0.42.0}/.gitignore +0 -0
  23. {kolega_code-0.41.3 → kolega_code-0.42.0}/CONTRIBUTING.md +0 -0
  24. {kolega_code-0.41.3 → kolega_code-0.42.0}/LICENSE +0 -0
  25. {kolega_code-0.41.3 → kolega_code-0.42.0}/MIGRATION.md +0 -0
  26. {kolega_code-0.41.3 → kolega_code-0.42.0}/RELEASING.md +0 -0
  27. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/LICENSE +0 -0
  28. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/manifest.json +0 -0
  29. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md +0 -0
  30. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/references/evidence-and-reporting.md +0 -0
  31. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/references/gigacode-workflow.md +0 -0
  32. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/deep-research.workflow +0 -0
  33. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/materialize_report.py +0 -0
  34. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/LICENSE +0 -0
  35. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/SKILL.md +0 -0
  36. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/examples.md +0 -0
  37. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/limitations.md +0 -0
  38. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/operations.md +0 -0
  39. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/quality.md +0 -0
  40. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/requirements.txt +0 -0
  41. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/scripts/docx_tool.py +0 -0
  42. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/scripts/smoke_test.py +0 -0
  43. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/humanizer/LICENSE +0 -0
  44. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md +0 -0
  45. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/LICENSE +0 -0
  46. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/SKILL.md +0 -0
  47. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/examples.md +0 -0
  48. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/limitations.md +0 -0
  49. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md +0 -0
  50. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/operations.md +0 -0
  51. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/quality.md +0 -0
  52. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/redaction.md +0 -0
  53. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-paddle.txt +0 -0
  54. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-surya.txt +0 -0
  55. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/requirements.txt +0 -0
  56. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py +0 -0
  57. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/scripts/smoke_test.py +0 -0
  58. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/LICENSE +0 -0
  59. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/SKILL.md +0 -0
  60. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/references/examples.md +0 -0
  61. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/references/limitations.md +0 -0
  62. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/references/operations.md +0 -0
  63. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/requirements.txt +0 -0
  64. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/scripts/pptx_tool.py +0 -0
  65. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/scripts/smoke_test.py +0 -0
  66. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/review/SKILL.md +0 -0
  67. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/review/references/github-publishing.md +0 -0
  68. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/skill-authoring/SKILL.md +0 -0
  69. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/skill-authoring/references/review-checklist.md +0 -0
  70. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/LICENSE +0 -0
  71. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/SKILL.md +0 -0
  72. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/examples.md +0 -0
  73. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/limitations.md +0 -0
  74. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/operations.md +0 -0
  75. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/quality.md +0 -0
  76. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt +0 -0
  77. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/smoke_test.py +0 -0
  78. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/xlsx_tool.py +0 -0
  79. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/__init__.py +0 -0
  80. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/agent_factory.py +0 -0
  81. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/bridge.py +0 -0
  82. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/diffs.py +0 -0
  83. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/permissions.py +0 -0
  84. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/plans.py +0 -0
  85. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/questions.py +0 -0
  86. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/server.py +0 -0
  87. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/session.py +0 -0
  88. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/usage.py +0 -0
  89. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/baseagent.py +0 -0
  90. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/browseragent.py +0 -0
  91. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/coder.py +0 -0
  92. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/common.py +0 -0
  93. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/compression.py +0 -0
  94. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/context.py +0 -0
  95. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/conversation.py +0 -0
  96. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/custom_agents.py +0 -0
  97. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/edit_protocols.py +0 -0
  98. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/errors.py +0 -0
  99. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/__init__.py +0 -0
  100. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/bridge.py +0 -0
  101. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/bundle-requirements.in +0 -0
  102. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/bundle-requirements.txt +0 -0
  103. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/env.py +0 -0
  104. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/js_kernel.py +0 -0
  105. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/kernel.py +0 -0
  106. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/prelude.js +0 -0
  107. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/prelude.py +0 -0
  108. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/protocol.py +0 -0
  109. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/py_kernel.py +0 -0
  110. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/runner.js +0 -0
  111. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/runner.py +0 -0
  112. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/generalagent.py +0 -0
  113. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/goal.py +0 -0
  114. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/handoff.py +0 -0
  115. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/investigationagent.py +0 -0
  116. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/model_routing.py +0 -0
  117. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/__init__.py +0 -0
  118. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/accounting.py +0 -0
  119. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/budget.py +0 -0
  120. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/context.py +0 -0
  121. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/errors.py +0 -0
  122. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/executor.py +0 -0
  123. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/guide.py +0 -0
  124. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/journal.py +0 -0
  125. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/runtime.py +0 -0
  126. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/types.py +0 -0
  127. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/planningagent.py +0 -0
  128. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_dump.py +0 -0
  129. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_overrides.py +0 -0
  130. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_provider.py +0 -0
  131. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_exhausted.user.md +0 -0
  132. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_nudge.user.md.j2 +0 -0
  133. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/truncated_turn_nudge.user.md.j2 +0 -0
  134. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
  135. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
  136. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.system.md +0 -0
  137. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.user.md.j2 +0 -0
  138. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
  139. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
  140. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/build_questions.md +0 -0
  141. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/current_plan_artifact.md.j2 +0 -0
  142. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/mode_switch_notice.md.j2 +0 -0
  143. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
  144. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/scratchpad.md.j2 +0 -0
  145. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
  146. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list_readonly.md +0 -0
  147. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/worktree_control.md.j2 +0 -0
  148. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
  149. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
  150. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/coder_ask.md.j2 +0 -0
  151. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/coder_base.md.j2 +0 -0
  152. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
  153. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
  154. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
  155. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
  156. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
  157. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/context_updates.md +0 -0
  158. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
  159. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
  160. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
  161. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
  162. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
  163. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
  164. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/terminal_tools.md +0 -0
  165. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/apply_patch.md +0 -0
  166. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/ask_user_choice.md +0 -0
  167. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_click.md +0 -0
  168. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_close.md +0 -0
  169. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_console_messages.md +0 -0
  170. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_drag.md +0 -0
  171. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_drop.md +0 -0
  172. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_evaluate.md +0 -0
  173. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_file_upload.md +0 -0
  174. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_fill_form.md +0 -0
  175. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_find.md +0 -0
  176. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_handle_dialog.md +0 -0
  177. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_hover.md +0 -0
  178. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_navigate.md +0 -0
  179. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_navigate_back.md +0 -0
  180. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_network_request.md +0 -0
  181. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_network_requests.md +0 -0
  182. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_press_key.md +0 -0
  183. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_resize.md +0 -0
  184. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_scroll.md +0 -0
  185. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_select_option.md +0 -0
  186. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_snapshot.md +0 -0
  187. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_tabs.md +0 -0
  188. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_take_screenshot.md +0 -0
  189. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_type.md +0 -0
  190. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_wait_for.md +0 -0
  191. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/build_backend.md +0 -0
  192. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/build_frontend.md +0 -0
  193. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/claude_edit.md +0 -0
  194. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/claude_write.md +0 -0
  195. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/dispatch_agent.md +0 -0
  196. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/edit.md +0 -0
  197. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/eval.md +0 -0
  198. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/exec_command.md +0 -0
  199. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/get_host.md +0 -0
  200. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/get_task_list.md +0 -0
  201. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/get_task_list_readonly.md +0 -0
  202. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/hashline_edit.md +0 -0
  203. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/hashline_write.md +0 -0
  204. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/kill_command.md +0 -0
  205. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_agents.md +0 -0
  206. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_sessions.md +0 -0
  207. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_subagent_models.md +0 -0
  208. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_workflow_runs.md +0 -0
  209. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/lsp.md +0 -0
  210. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/lsp_edit.md +0 -0
  211. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/multi_edit.md +0 -0
  212. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/read.md +0 -0
  213. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/read_image.md +0 -0
  214. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/resolve.md +0 -0
  215. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/run_workflow.md +0 -0
  216. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/send_message.md +0 -0
  217. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/set_goal.md +0 -0
  218. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/skill.md +0 -0
  219. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/snapshot.md +0 -0
  220. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/switch_worktree.md +0 -0
  221. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/update_task_list.md +0 -0
  222. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/web_fetch.md +0 -0
  223. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/web_search.md +0 -0
  224. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/write.md +0 -0
  225. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/write_plan.md +0 -0
  226. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/write_stdin.md +0 -0
  227. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
  228. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
  229. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompts.py +0 -0
  230. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/session_metadata.py +0 -0
  231. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
  232. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/base_tool.py +0 -0
  233. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
  234. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/build_tool.py +0 -0
  235. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/codex_patch.py +0 -0
  236. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
  237. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/edit_tool.py +0 -0
  238. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/eval_tool.py +0 -0
  239. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/hashline_v2.py +0 -0
  240. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/lsp_tool.py +0 -0
  241. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
  242. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/network_status.py +0 -0
  243. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
  244. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
  245. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
  246. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
  247. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
  248. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
  249. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
  250. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
  251. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
  252. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
  253. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/snapshot_tool.py +0 -0
  254. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
  255. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
  256. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/__init__.py +0 -0
  257. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/answering.py +0 -0
  258. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/documents.py +0 -0
  259. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/extractors.py +0 -0
  260. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/pipeline.py +0 -0
  261. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/retrieval.py +0 -0
  262. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
  263. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
  264. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
  265. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_definitions.py +0 -0
  266. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tools.py +0 -0
  267. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/utils/commands.py +0 -0
  268. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/volatile_context.py +0 -0
  269. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/__init__.py +0 -0
  270. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/_jwt.py +0 -0
  271. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/chatgpt_oauth.py +0 -0
  272. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/constants.py +0 -0
  273. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/tokens.py +0 -0
  274. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/__init__.py +0 -0
  275. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/framing.py +0 -0
  276. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/installer.py +0 -0
  277. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/manager.py +0 -0
  278. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/multiplex.py +0 -0
  279. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/native_host.py +0 -0
  280. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/protocol.py +0 -0
  281. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/registry.py +0 -0
  282. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/runtime.py +0 -0
  283. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/__init__.py +0 -0
  284. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/acp.py +0 -0
  285. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/app.py +0 -0
  286. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/ask_output.py +0 -0
  287. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/atif_export.py +0 -0
  288. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/browser_backend.py +0 -0
  289. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/clipboard_image.py +0 -0
  290. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/connection.py +0 -0
  291. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/cron.py +0 -0
  292. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/diagnostics.py +0 -0
  293. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/file_index.py +0 -0
  294. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/gateway.py +0 -0
  295. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/goal.py +0 -0
  296. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/loop.py +0 -0
  297. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/main.py +0 -0
  298. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/mentions.py +0 -0
  299. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/messages.py +0 -0
  300. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/model_catalog.py +0 -0
  301. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/model_connection.py +0 -0
  302. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/peer_messaging.py +0 -0
  303. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/plan_artifacts.py +0 -0
  304. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/prompt_history.py +0 -0
  305. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_event_protocol.py +0 -0
  306. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_event_store.py +0 -0
  307. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_journal.py +0 -0
  308. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_store.py +0 -0
  309. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_usage.py +0 -0
  310. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/settings.py +0 -0
  311. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/skills.py +0 -0
  312. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/slash_commands.py +0 -0
  313. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/theme.py +0 -0
  314. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/__init__.py +0 -0
  315. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/agent_runtime.py +0 -0
  316. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/app_base.py +0 -0
  317. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/boot_splash.py +0 -0
  318. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/changes_screen.py +0 -0
  319. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/command_handlers.py +0 -0
  320. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/constants.py +0 -0
  321. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/custom_model.py +0 -0
  322. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/discovery.py +0 -0
  323. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/loop_runtime.py +0 -0
  324. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/memory_screen.py +0 -0
  325. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/metadata.py +0 -0
  326. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/onboarding_screen.py +0 -0
  327. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/pacing.py +0 -0
  328. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/prompt_flows.py +0 -0
  329. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/session_diff.py +0 -0
  330. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/settings_panel.py +0 -0
  331. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/settings_screen.py +0 -0
  332. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/settings_widgets.py +0 -0
  333. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/shortcut_bar.py +0 -0
  334. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/startup.py +0 -0
  335. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/state.py +0 -0
  336. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/status_dashboard.py +0 -0
  337. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/styles.tcss +0 -0
  338. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
  339. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/task_list.py +0 -0
  340. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/terminal_display.py +0 -0
  341. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/tool_presentation.py +0 -0
  342. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/transcript.py +0 -0
  343. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/turn_status.py +0 -0
  344. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/widgets.py +0 -0
  345. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/updater.py +0 -0
  346. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/events.py +0 -0
  347. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/extensions.py +0 -0
  348. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/__init__.py +0 -0
  349. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/access.py +0 -0
  350. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/access_settings.py +0 -0
  351. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/__init__.py +0 -0
  352. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/base.py +0 -0
  353. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/echo.py +0 -0
  354. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/telegram/__init__.py +0 -0
  355. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/telegram/adapter.py +0 -0
  356. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/telegram/formatting.py +0 -0
  357. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/bridge.py +0 -0
  358. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/commands.py +0 -0
  359. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/config.py +0 -0
  360. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/control_relay.py +0 -0
  361. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/daemon.py +0 -0
  362. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/event_router.py +0 -0
  363. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/questions.py +0 -0
  364. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/redaction.py +0 -0
  365. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/router.py +0 -0
  366. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/service.py +0 -0
  367. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/sessions.py +0 -0
  368. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/stt.py +0 -0
  369. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/git_env.py +0 -0
  370. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/__init__.py +0 -0
  371. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/backends.py +0 -0
  372. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/config.py +0 -0
  373. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/dispatcher.py +0 -0
  374. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/events.py +0 -0
  375. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/matcher.py +0 -0
  376. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/outcome.py +0 -0
  377. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/exceptions.py +0 -0
  378. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/ledger.py +0 -0
  379. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/__init__.py +0 -0
  380. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/_token_encoding.py +0 -0
  381. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/anthropic.py +0 -0
  382. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/base.py +0 -0
  383. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
  384. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/deepseek_responses.py +0 -0
  385. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/google.py +0 -0
  386. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/models.py +0 -0
  387. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/openai.py +0 -0
  388. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/openai_responses.py +0 -0
  389. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/perplexity_responses.py +0 -0
  390. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/responses_common.py +0 -0
  391. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/tinker.py +0 -0
  392. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/tinker_trace.py +0 -0
  393. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/ratelimit.py +0 -0
  394. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/__init__.py +0 -0
  395. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/accessors.py +0 -0
  396. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
  397. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
  398. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/deepseek.py +0 -0
  399. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
  400. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/google.py +0 -0
  401. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/groq.py +0 -0
  402. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
  403. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
  404. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/openai.py +0 -0
  405. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
  406. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/thinking_machines.py +0 -0
  407. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/together.py +0 -0
  408. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/xai.py +0 -0
  409. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/zai.py +0 -0
  410. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/custom_endpoints.py +0 -0
  411. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/ollama_cloud_catalog.py +0 -0
  412. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/openrouter_catalog.py +0 -0
  413. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/perplexity_catalog.py +0 -0
  414. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/tinker_catalog.py +0 -0
  415. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/types.py +0 -0
  416. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/validation.py +0 -0
  417. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/timeouts.py +0 -0
  418. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/tool_execution_ids.py +0 -0
  419. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/local_state.py +0 -0
  420. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/__init__.py +0 -0
  421. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/config.py +0 -0
  422. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/oauth.py +0 -0
  423. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/service.py +0 -0
  424. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/state.py +0 -0
  425. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/tools.py +0 -0
  426. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/transport.py +0 -0
  427. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/__init__.py +0 -0
  428. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/identity.py +0 -0
  429. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/manager.py +0 -0
  430. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/manifest.py +0 -0
  431. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/markdown.py +0 -0
  432. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/models.py +0 -0
  433. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/protocol.py +0 -0
  434. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/registry.py +0 -0
  435. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/models/__init__.py +0 -0
  436. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/models/sandbox_terminal_state.py +0 -0
  437. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/permissions.py +0 -0
  438. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/runtime.py +0 -0
  439. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/README.md +0 -0
  440. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/__init__.py +0 -0
  441. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/async_filesystem.py +0 -0
  442. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/base.py +0 -0
  443. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/browser.py +0 -0
  444. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/event_loop.py +0 -0
  445. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/filesystem.py +0 -0
  446. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/local.py +0 -0
  447. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/serializer.py +0 -0
  448. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/terminal.py +0 -0
  449. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/utils.py +0 -0
  450. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/scratchpad.py +0 -0
  451. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/security/__init__.py +0 -0
  452. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/security/secrets.py +0 -0
  453. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/base.py +0 -0
  454. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/browser.py +0 -0
  455. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/file_system.py +0 -0
  456. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/html.py +0 -0
  457. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/__init__.py +0 -0
  458. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/client.py +0 -0
  459. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/config.py +0 -0
  460. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/detector.py +0 -0
  461. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/diagnostics.py +0 -0
  462. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/edits.py +0 -0
  463. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/manager.py +0 -0
  464. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/registry.py +0 -0
  465. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/registry.yaml +0 -0
  466. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/snapshots.py +0 -0
  467. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/terminal.py +0 -0
  468. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/terminal_buffer.py +0 -0
  469. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/workspace_scan.py +0 -0
  470. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/__init__.py +0 -0
  471. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/control.py +0 -0
  472. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/inbox.py +0 -0
  473. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/inmemory.py +0 -0
  474. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/projection.py +0 -0
  475. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/recording.py +0 -0
  476. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/runtime.py +0 -0
  477. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/store.py +0 -0
  478. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/testing/__init__.py +0 -0
  479. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/testing/store_conformance.py +0 -0
  480. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tool_subjects.py +0 -0
  481. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/__init__.py +0 -0
  482. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/ask_user.py +0 -0
  483. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/core.py +0 -0
  484. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/definitions.py +0 -0
  485. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/param_aliases.py +0 -0
  486. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/registry.py +0 -0
  487. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/utils/__init__.py +0 -0
  488. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/utils/images.py +0 -0
  489. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/__init__.py +0 -0
  490. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/fold.js +0 -0
  491. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/player.css +0 -0
  492. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/player.html +0 -0
  493. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/player.js +0 -0
  494. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/bundle.py +0 -0
  495. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/hosting.py +0 -0
  496. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/redaction.py +0 -0
  497. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/server.py +0 -0
  498. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/singlefile.py +0 -0
  499. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/theme_css.py +0 -0
  500. {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/worktrees.py +0 -0
@@ -6,6 +6,33 @@ This project uses GitHub Releases for detailed generated release notes. This fil
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 0.42.0 - 2026-10-07
10
+
11
+ ### Added
12
+
13
+ - **Native Mistral AI support.** Use Mistral's own API with `MISTRAL_API_KEY`
14
+ or a key saved in Settings. The model picker defaults to Mistral Medium 3.5
15
+ and also includes Mistral Small 4, Mistral Large 4 **preview**, Ministral,
16
+ and Codestral, with streaming, tool calls, usage reporting, and vision and
17
+ reasoning where supported.
18
+
19
+ ### Changed
20
+
21
+ - Refreshed the OpenRouter, Ollama Cloud, and Perplexity Agent model catalogs
22
+ with newly available models, removal of retired entries, updated model
23
+ limits and capabilities, and a refreshed OpenRouter featured ordering.
24
+
25
+ ## 0.41.4 - 2026-10-06
26
+
27
+ ### Security
28
+
29
+ - Updated multidict to 6.9.1, closing a reference-leak vulnerability
30
+ (GHSA-54p9-h82j-f925) in the aiohttp stack used by the Telegram gateway
31
+ adapter, where remote input could drive unreclaimable memory growth.
32
+ - Updated the documentation site's dependencies (devalue,
33
+ http-cache-semantics, postcss-selector-parser, smol-toml, source-map-js) to
34
+ close all known advisories in its dependency tree.
35
+
9
36
  ## 0.41.3 - 2026-10-05
10
37
 
11
38
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kolega-code
3
- Version: 0.41.3
3
+ Version: 0.42.0
4
4
  Summary: Multi-agent coding in the terminal
5
5
  Project-URL: Homepage, https://kolega-ai.github.io/kolega-code/
6
6
  Project-URL: Documentation, https://kolega-ai.github.io/kolega-code/
@@ -263,6 +263,7 @@ Supported model providers:
263
263
  - OpenAI API
264
264
  - OpenAI via ChatGPT subscription sign-in
265
265
  - Google
266
+ - Mistral AI (native API)
266
267
  - Groq
267
268
  - Together.ai
268
269
  - Fireworks.ai
@@ -304,6 +305,29 @@ directory unless `KOLEGA_CODE_STATE_DIR` is set. See the
304
305
  [Configuration docs](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
305
306
  for the full story.
306
307
 
308
+ For Mistral's own API, save a key under **Mistral AI** in Settings or export
309
+ `MISTRAL_API_KEY`, then select a model explicitly:
310
+
311
+ ```bash
312
+ export MISTRAL_API_KEY=your-mistral-api-key
313
+ kolega-code . --provider mistral --model mistral-medium-3-5
314
+ ```
315
+
316
+ The picker defaults to Mistral Medium 3.5 and includes Mistral Small 4
317
+ (`mistral-small-2603`), Mistral Large 4 **preview** (`mistral-large-4`),
318
+ Ministral 3 (3B/8B/14B), Codestral, and eligible native aliases. Large 4 access
319
+ depends on the account/subscription; a catalog entry does not guarantee access.
320
+ Aliases, especially `latest`, can change their target and capabilities.
321
+
322
+ Medium 3.5, Small 4, Large 4, and Ministral 3 support image input; Codestral is
323
+ text-only. Medium/Small/Large expose `none` (default) or `high` thinking, with
324
+ same-provider reasoning replayed in Mistral's native format. Token counting is
325
+ a conservative local estimate with a safety margin, not an exact Mistral
326
+ tokenizer. The catalog's 32,768-token output reservation is Kolega's budgeting
327
+ policy, not a verified native maximum-output ceiling. Kolega Code runs the local
328
+ function-tool loop; Mistral-hosted server tools are not enabled. Native Mistral
329
+ keys and model IDs are separate from gateway credentials and routes.
330
+
307
331
  ## Requirements
308
332
 
309
333
  - **Python 3.11+**
@@ -172,6 +172,7 @@ Supported model providers:
172
172
  - OpenAI API
173
173
  - OpenAI via ChatGPT subscription sign-in
174
174
  - Google
175
+ - Mistral AI (native API)
175
176
  - Groq
176
177
  - Together.ai
177
178
  - Fireworks.ai
@@ -213,6 +214,29 @@ directory unless `KOLEGA_CODE_STATE_DIR` is set. See the
213
214
  [Configuration docs](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
214
215
  for the full story.
215
216
 
217
+ For Mistral's own API, save a key under **Mistral AI** in Settings or export
218
+ `MISTRAL_API_KEY`, then select a model explicitly:
219
+
220
+ ```bash
221
+ export MISTRAL_API_KEY=your-mistral-api-key
222
+ kolega-code . --provider mistral --model mistral-medium-3-5
223
+ ```
224
+
225
+ The picker defaults to Mistral Medium 3.5 and includes Mistral Small 4
226
+ (`mistral-small-2603`), Mistral Large 4 **preview** (`mistral-large-4`),
227
+ Ministral 3 (3B/8B/14B), Codestral, and eligible native aliases. Large 4 access
228
+ depends on the account/subscription; a catalog entry does not guarantee access.
229
+ Aliases, especially `latest`, can change their target and capabilities.
230
+
231
+ Medium 3.5, Small 4, Large 4, and Ministral 3 support image input; Codestral is
232
+ text-only. Medium/Small/Large expose `none` (default) or `high` thinking, with
233
+ same-provider reasoning replayed in Mistral's native format. Token counting is
234
+ a conservative local estimate with a safety margin, not an exact Mistral
235
+ tokenizer. The catalog's 32,768-token output reservation is Kolega's budgeting
236
+ policy, not a verified native maximum-output ceiling. Kolega Code runs the local
237
+ function-tool loop; Mistral-hosted server tools are not enabled. Native Mistral
238
+ keys and model IDs are separate from gateway credentials and routes.
239
+
216
240
  ## Requirements
217
241
 
218
242
  - **Python 3.11+**
@@ -174,4 +174,4 @@ __all__ = [
174
174
  "parse_git_status_output",
175
175
  ]
176
176
 
177
- __version__ = "0.41.3"
177
+ __version__ = "0.42.0"
@@ -51,4 +51,4 @@ __all__ = [
51
51
  "ToolExtension",
52
52
  ]
53
53
 
54
- __version__ = "0.41.3"
54
+ __version__ = "0.42.0"
@@ -60,6 +60,7 @@ API_KEY_ENV = {
60
60
  ModelProvider.ANTHROPIC: "ANTHROPIC_API_KEY",
61
61
  ModelProvider.OPENAI: "OPENAI_API_KEY",
62
62
  ModelProvider.GOOGLE: "GOOGLE_API_KEY",
63
+ ModelProvider.MISTRAL: "MISTRAL_API_KEY",
63
64
  ModelProvider.GROQ: "GROQ_API_KEY",
64
65
  ModelProvider.TOGETHER: "TOGETHER_API_KEY",
65
66
  ModelProvider.FIREWORKS: "FIREWORKS_API_KEY",
@@ -967,6 +968,7 @@ def build_agent_config(
967
968
  anthropic_api_key=_api_key_for_provider(ModelProvider.ANTHROPIC, loaded_env, settings),
968
969
  openai_api_key=_api_key_for_provider(ModelProvider.OPENAI, loaded_env, settings),
969
970
  google_api_key=_api_key_for_provider(ModelProvider.GOOGLE, loaded_env, settings),
971
+ mistral_api_key=_api_key_for_provider(ModelProvider.MISTRAL, loaded_env, settings),
970
972
  groq_api_key=_api_key_for_provider(ModelProvider.GROQ, loaded_env, settings),
971
973
  together_api_key=_api_key_for_provider(ModelProvider.TOGETHER, loaded_env, settings),
972
974
  fireworks_api_key=_api_key_for_provider(ModelProvider.FIREWORKS, loaded_env, settings),
@@ -37,6 +37,7 @@ PROVIDER_LABELS: dict[ModelProvider, str] = {
37
37
  ModelProvider.OPENAI: "OpenAI",
38
38
  ModelProvider.OPENAI_CHATGPT: "OpenAI (ChatGPT subscription)",
39
39
  ModelProvider.GOOGLE: "Google",
40
+ ModelProvider.MISTRAL: "Mistral AI",
40
41
  ModelProvider.XAI: "xAI",
41
42
  ModelProvider.GROQ: "Groq",
42
43
  ModelProvider.FIREWORKS: "Fireworks",
@@ -110,6 +111,25 @@ MODEL_LABELS: dict[str, str] = {
110
111
  "gemini-3.5-flash-lite": "Gemini 3.5 Flash-Lite",
111
112
  "gemini-3.1-pro-preview": "Gemini 3.1 Pro",
112
113
  "gemini-3.5-flash": "Gemini 3.5 Flash",
114
+ # Mistral (native API)
115
+ "mistral-medium-3-5": "Mistral Medium 3.5",
116
+ "mistral-medium-latest": "Mistral Medium (latest alias)",
117
+ "mistral-medium": "Mistral Medium (alias)",
118
+ "mistral-medium-3.5": "Mistral Medium 3.5 (alias)",
119
+ "mistral-medium-3": "Mistral Medium 3 (alias)",
120
+ "mistral-medium-2604": "Mistral Medium (2604 alias)",
121
+ "mistral-small-2603": "Mistral Small 4",
122
+ "mistral-small-latest": "Mistral Small (latest alias)",
123
+ "mistral-large-4": "Mistral Large 4 (Preview)",
124
+ "mistral-large-4-0": "Mistral Large 4 (Preview, alias)",
125
+ "ministral-3b-2512": "Ministral 3 3B",
126
+ "ministral-3b-latest": "Ministral 3 3B (latest alias)",
127
+ "ministral-8b-2512": "Ministral 3 8B",
128
+ "ministral-8b-latest": "Ministral 3 8B (latest alias)",
129
+ "ministral-14b-2512": "Ministral 3 14B",
130
+ "ministral-14b-latest": "Ministral 3 14B (latest alias)",
131
+ "codestral-2508": "Codestral (2508)",
132
+ "codestral-latest": "Codestral (latest alias)",
113
133
  # xAI
114
134
  "grok-4.6": "Grok 4.6",
115
135
  "grok-4.5": "Grok 4.5",
@@ -176,6 +196,7 @@ PROVIDER_DEFAULT_MODEL: dict[ModelProvider, str] = {
176
196
  ModelProvider.OPENAI: "gpt-5.6-sol",
177
197
  ModelProvider.OPENAI_CHATGPT: "gpt-5.6-sol",
178
198
  ModelProvider.GOOGLE: "gemini-3.8-flash",
199
+ ModelProvider.MISTRAL: "mistral-medium-3-5",
179
200
  ModelProvider.XAI: "grok-4.5",
180
201
  ModelProvider.FIREWORKS: "accounts/fireworks/models/glm-5p2",
181
202
  ModelProvider.TOGETHER: "moonshotai/Kimi-K2.7-Code",
@@ -24,6 +24,7 @@ class ModelProvider(str, Enum):
24
24
  OPENAI = "openai"
25
25
  OPENAI_CHATGPT = "openai_chatgpt" # OpenAI via ChatGPT-subscription OAuth (Responses API)
26
26
  GOOGLE = "google"
27
+ MISTRAL = "mistral"
27
28
  GROQ = "groq"
28
29
  TOGETHER = "together"
29
30
  FIREWORKS = "fireworks"
@@ -205,6 +206,7 @@ class AgentConfig(BaseModel):
205
206
  anthropic_api_key: Optional[str] = Field(default=None, description="API key for Anthropic")
206
207
  openai_api_key: Optional[str] = Field(default=None, description="API key for OpenAI")
207
208
  google_api_key: Optional[str] = Field(default=None, description="API key for Google")
209
+ mistral_api_key: Optional[str] = Field(default=None, description="API key for Mistral AI")
208
210
  groq_api_key: Optional[str] = Field(default=None, description="API key for Groq")
209
211
  together_api_key: Optional[str] = Field(default=None, description="API key for Together.ai")
210
212
  fireworks_api_key: Optional[str] = Field(default=None, description="API key for Fireworks.ai")
@@ -416,6 +418,7 @@ class AgentConfig(BaseModel):
416
418
  self.openai_chatgpt_tokens.access_token if self.openai_chatgpt_tokens else None
417
419
  ),
418
420
  ModelProvider.GOOGLE: self.google_api_key,
421
+ ModelProvider.MISTRAL: self.mistral_api_key,
419
422
  ModelProvider.GROQ: self.groq_api_key,
420
423
  ModelProvider.TOGETHER: self.together_api_key,
421
424
  ModelProvider.FIREWORKS: self.fireworks_api_key,
@@ -48,6 +48,7 @@ if TYPE_CHECKING:
48
48
  # module imports its own SDK at module load).
49
49
  from .providers.anthropic import AnthropicProvider
50
50
  from .providers.google import GoogleProvider
51
+ from .providers.mistral import MistralProvider
51
52
  from .providers.openai import OpenAIProvider
52
53
  from .providers.tinker import TinkerProvider
53
54
 
@@ -158,6 +159,10 @@ class LLMClient:
158
159
  from .providers.google import GoogleProvider
159
160
 
160
161
  return GoogleProvider
162
+ if p == "mistral":
163
+ from .providers.mistral import MistralProvider
164
+
165
+ return MistralProvider
161
166
  if p == "tinker":
162
167
  from .providers.tinker import TinkerProvider
163
168
 
@@ -172,7 +177,7 @@ class LLMClient:
172
177
  tokens_per_minute: Optional[int] = None,
173
178
  base_url: Optional[str] = None,
174
179
  api_style: Optional[str] = None,
175
- ) -> "Union[AnthropicProvider, OpenAIProvider, GoogleProvider, TinkerProvider]":
180
+ ) -> "Union[AnthropicProvider, OpenAIProvider, GoogleProvider, MistralProvider, TinkerProvider]":
176
181
  """Initialize the appropriate LLM provider based on the provider name.
177
182
 
178
183
  Args:
@@ -235,6 +240,7 @@ class LLMClient:
235
240
  "fireworks": "https://api.fireworks.ai/inference/v1",
236
241
  "llama": "http://localhost:8000/v1",
237
242
  "google": "https://generativelanguage.googleapis.com",
243
+ "mistral": "https://api.mistral.ai/v1/",
238
244
  "xai": "https://api.x.ai/v1",
239
245
  "dashscope": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
240
246
  "moonshot": "https://api.moonshot.ai/anthropic",
@@ -303,7 +303,7 @@ class InstrumentedLLMClient(LLMClient):
303
303
  "cache_read_input_tokens": usage_details.get("cache_read_input_tokens", 0),
304
304
  "cache_creation_input_tokens": usage_details.get("cache_write_input_tokens", 0),
305
305
  }
306
- elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek"]:
306
+ elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek", "mistral"]:
307
307
  normalized_usage = {
308
308
  "input": usage_details.get("prompt_tokens", 0),
309
309
  "output": usage_details.get("completion_tokens", 0),
@@ -576,7 +576,7 @@ class MinimalLangfuseStreamWrapper:
576
576
  "cache_read_input_tokens": usage_metadata.get("cache_read_input_tokens", 0),
577
577
  "cache_creation_input_tokens": usage_metadata.get("cache_write_input_tokens", 0),
578
578
  }
579
- elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek"]:
579
+ elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek", "mistral"]:
580
580
  return {
581
581
  "input": usage_metadata.get("prompt_tokens", 0),
582
582
  "output": usage_metadata.get("completion_tokens", 0),
@@ -359,18 +359,29 @@ class ThinkingBlock(ContentBlock):
359
359
 
360
360
  TYPE_NAME = "thinking"
361
361
 
362
- def __init__(self, thinking: str, cache_checkpoint: bool = False, signature: Optional[str] = None):
362
+ def __init__(
363
+ self,
364
+ thinking: str,
365
+ cache_checkpoint: bool = False,
366
+ signature: Optional[str] = None,
367
+ provider_metadata: Optional[Dict[str, Any]] = None,
368
+ ):
363
369
  super().__init__(type=self.TYPE_NAME, cache_checkpoint=cache_checkpoint)
364
370
  self.thinking = thinking
365
371
  self.signature = signature
372
+ # Preserve replay-critical native structure without changing how other
373
+ # providers serialize this block (e.g. Mistral nested chunks/closed).
374
+ self.provider_metadata = provider_metadata or {}
366
375
 
367
376
  def to_dict(self) -> Dict[str, Any]:
368
- result = {
377
+ result: Dict[str, Any] = {
369
378
  "type": self.type,
370
379
  "thinking": self.thinking,
371
380
  }
372
- if self.signature:
381
+ if self.signature or "signature" in self.provider_metadata:
373
382
  result["signature"] = self.signature
383
+ if self.provider_metadata:
384
+ result["provider_metadata"] = self.provider_metadata
374
385
  return result
375
386
 
376
387
  @classmethod
@@ -378,6 +389,7 @@ class ThinkingBlock(ContentBlock):
378
389
  return cls(
379
390
  thinking=data["thinking"],
380
391
  signature=data.get("signature"),
392
+ provider_metadata=data.get("provider_metadata"),
381
393
  )
382
394
 
383
395
  def to_anthropic(self) -> Dict[str, Any]:
@@ -1544,7 +1556,32 @@ class Message:
1544
1556
  if thinking_blocks and (rest_blocks or has_tool_calls):
1545
1557
  reasoning_text = "\n\n".join(b.thinking for b in thinking_blocks)
1546
1558
  non_tool_blocks = rest_blocks
1547
- content = [item.to_openai() for item in non_tool_blocks]
1559
+ if provider and _provider_value(provider) == "mistral":
1560
+ content = []
1561
+ for item in non_tool_blocks:
1562
+ if isinstance(item, ThinkingBlock):
1563
+ if (
1564
+ self.role != "assistant"
1565
+ or source_provider is None
1566
+ or _provider_value(source_provider) != "mistral"
1567
+ ):
1568
+ continue
1569
+ native = item.provider_metadata
1570
+ thinking_chunk: Dict[str, Any] = {
1571
+ "type": "thinking",
1572
+ "thinking": native.get("thinking", [{"type": "text", "text": item.thinking}]),
1573
+ }
1574
+ if "closed" in native:
1575
+ thinking_chunk["closed"] = native["closed"]
1576
+ if "signature" in native:
1577
+ thinking_chunk["signature"] = native["signature"]
1578
+ if item.signature is not None:
1579
+ thinking_chunk["signature"] = item.signature
1580
+ content.append(thinking_chunk)
1581
+ elif not isinstance(item, RedactedThinkingBlock):
1582
+ content.append(item.to_openai())
1583
+ else:
1584
+ content = [item.to_openai() for item in non_tool_blocks]
1548
1585
  # Strict OpenAI-compatible servers (e.g. DeepSeek) prefer an empty
1549
1586
  # string over an empty list when an assistant message carries only
1550
1587
  # tool_calls and/or native reasoning.