kolega-code 0.37.0__tar.gz → 0.38.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 (488) hide show
  1. {kolega_code-0.37.0 → kolega_code-0.38.0}/CHANGELOG.md +42 -0
  2. {kolega_code-0.37.0 → kolega_code-0.38.0}/PKG-INFO +1 -1
  3. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/__init__.py +1 -1
  4. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/__init__.py +1 -1
  5. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/compression.py +1 -1
  6. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/provider_registry.py +3 -5
  7. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/deepseek_responses.py +2 -2
  8. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/accessors.py +1 -3
  9. kolega_code-0.38.0/kolega_code/llm/specs/catalog/deepseek.py +99 -0
  10. {kolega_code-0.37.0 → kolega_code-0.38.0}/pyproject.toml +1 -1
  11. kolega_code-0.37.0/kolega_code/llm/specs/catalog/deepseek.py +0 -103
  12. {kolega_code-0.37.0 → kolega_code-0.38.0}/.gitignore +0 -0
  13. {kolega_code-0.37.0 → kolega_code-0.38.0}/CONTRIBUTING.md +0 -0
  14. {kolega_code-0.37.0 → kolega_code-0.38.0}/LICENSE +0 -0
  15. {kolega_code-0.37.0 → kolega_code-0.38.0}/MIGRATION.md +0 -0
  16. {kolega_code-0.37.0 → kolega_code-0.38.0}/README.md +0 -0
  17. {kolega_code-0.37.0 → kolega_code-0.38.0}/RELEASING.md +0 -0
  18. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/LICENSE +0 -0
  19. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/manifest.json +0 -0
  20. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md +0 -0
  21. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/deep-research/references/evidence-and-reporting.md +0 -0
  22. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/deep-research/references/gigacode-workflow.md +0 -0
  23. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/deep-research.workflow +0 -0
  24. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/materialize_report.py +0 -0
  25. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/LICENSE +0 -0
  26. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/SKILL.md +0 -0
  27. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/references/examples.md +0 -0
  28. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/references/limitations.md +0 -0
  29. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/references/operations.md +0 -0
  30. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/references/quality.md +0 -0
  31. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/requirements.txt +0 -0
  32. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/scripts/docx_tool.py +0 -0
  33. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/docx/scripts/smoke_test.py +0 -0
  34. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/humanizer/LICENSE +0 -0
  35. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md +0 -0
  36. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/LICENSE +0 -0
  37. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/SKILL.md +0 -0
  38. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/references/examples.md +0 -0
  39. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/references/limitations.md +0 -0
  40. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md +0 -0
  41. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/references/operations.md +0 -0
  42. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/references/quality.md +0 -0
  43. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/references/redaction.md +0 -0
  44. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-paddle.txt +0 -0
  45. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-surya.txt +0 -0
  46. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/requirements.txt +0 -0
  47. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py +0 -0
  48. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pdf/scripts/smoke_test.py +0 -0
  49. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/LICENSE +0 -0
  50. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/SKILL.md +0 -0
  51. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/references/examples.md +0 -0
  52. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/references/limitations.md +0 -0
  53. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/references/operations.md +0 -0
  54. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/requirements.txt +0 -0
  55. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/scripts/pptx_tool.py +0 -0
  56. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/pptx/scripts/smoke_test.py +0 -0
  57. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/review/SKILL.md +0 -0
  58. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/review/references/github-publishing.md +0 -0
  59. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/skill-authoring/SKILL.md +0 -0
  60. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/skill-authoring/references/review-checklist.md +0 -0
  61. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/LICENSE +0 -0
  62. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/SKILL.md +0 -0
  63. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/references/examples.md +0 -0
  64. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/references/limitations.md +0 -0
  65. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/references/operations.md +0 -0
  66. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/references/quality.md +0 -0
  67. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt +0 -0
  68. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/smoke_test.py +0 -0
  69. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/xlsx_tool.py +0 -0
  70. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/__init__.py +0 -0
  71. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/agent_factory.py +0 -0
  72. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/bridge.py +0 -0
  73. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/diffs.py +0 -0
  74. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/permissions.py +0 -0
  75. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/plans.py +0 -0
  76. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/questions.py +0 -0
  77. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/server.py +0 -0
  78. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/session.py +0 -0
  79. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/acp/usage.py +0 -0
  80. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/baseagent.py +0 -0
  81. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/browseragent.py +0 -0
  82. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/coder.py +0 -0
  83. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/common.py +0 -0
  84. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/context.py +0 -0
  85. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/conversation.py +0 -0
  86. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/custom_agents.py +0 -0
  87. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/edit_protocols.py +0 -0
  88. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/errors.py +0 -0
  89. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/__init__.py +0 -0
  90. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/bridge.py +0 -0
  91. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/bundle-requirements.in +0 -0
  92. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/bundle-requirements.txt +0 -0
  93. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/env.py +0 -0
  94. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/js_kernel.py +0 -0
  95. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/kernel.py +0 -0
  96. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/prelude.js +0 -0
  97. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/prelude.py +0 -0
  98. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/protocol.py +0 -0
  99. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/py_kernel.py +0 -0
  100. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/runner.js +0 -0
  101. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/eval/runner.py +0 -0
  102. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/generalagent.py +0 -0
  103. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/goal.py +0 -0
  104. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/handoff.py +0 -0
  105. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/investigationagent.py +0 -0
  106. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/model_routing.py +0 -0
  107. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/__init__.py +0 -0
  108. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/accounting.py +0 -0
  109. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/budget.py +0 -0
  110. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/context.py +0 -0
  111. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/errors.py +0 -0
  112. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/executor.py +0 -0
  113. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/guide.py +0 -0
  114. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/journal.py +0 -0
  115. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/runtime.py +0 -0
  116. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/orchestration/types.py +0 -0
  117. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/planningagent.py +0 -0
  118. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_dump.py +0 -0
  119. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_overrides.py +0 -0
  120. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_provider.py +0 -0
  121. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_exhausted.user.md +0 -0
  122. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_nudge.user.md.j2 +0 -0
  123. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/truncated_turn_nudge.user.md.j2 +0 -0
  124. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
  125. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
  126. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.system.md +0 -0
  127. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.user.md.j2 +0 -0
  128. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
  129. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
  130. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/build_questions.md +0 -0
  131. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/current_plan_artifact.md.j2 +0 -0
  132. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/mode_switch_notice.md.j2 +0 -0
  133. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
  134. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/scratchpad.md.j2 +0 -0
  135. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
  136. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list_readonly.md +0 -0
  137. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/cli/worktree_control.md.j2 +0 -0
  138. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
  139. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
  140. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/coder_ask.md.j2 +0 -0
  141. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/coder_base.md.j2 +0 -0
  142. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
  143. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
  144. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
  145. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
  146. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
  147. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/context_updates.md +0 -0
  148. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
  149. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
  150. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
  151. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
  152. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
  153. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
  154. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/system/includes/terminal_tools.md +0 -0
  155. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/apply_patch.md +0 -0
  156. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/ask_user_choice.md +0 -0
  157. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_click.md +0 -0
  158. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_close.md +0 -0
  159. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_console_messages.md +0 -0
  160. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_drag.md +0 -0
  161. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_drop.md +0 -0
  162. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_evaluate.md +0 -0
  163. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_file_upload.md +0 -0
  164. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_fill_form.md +0 -0
  165. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_find.md +0 -0
  166. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_handle_dialog.md +0 -0
  167. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_hover.md +0 -0
  168. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_navigate.md +0 -0
  169. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_navigate_back.md +0 -0
  170. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_network_request.md +0 -0
  171. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_network_requests.md +0 -0
  172. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_press_key.md +0 -0
  173. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_resize.md +0 -0
  174. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_scroll.md +0 -0
  175. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_select_option.md +0 -0
  176. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_snapshot.md +0 -0
  177. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_tabs.md +0 -0
  178. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_take_screenshot.md +0 -0
  179. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_type.md +0 -0
  180. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/browser_wait_for.md +0 -0
  181. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/build_backend.md +0 -0
  182. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/build_frontend.md +0 -0
  183. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/claude_edit.md +0 -0
  184. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/claude_write.md +0 -0
  185. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/dispatch_agent.md +0 -0
  186. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/edit.md +0 -0
  187. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/eval.md +0 -0
  188. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/exec_command.md +0 -0
  189. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/get_host.md +0 -0
  190. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/get_task_list.md +0 -0
  191. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/get_task_list_readonly.md +0 -0
  192. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/hashline_edit.md +0 -0
  193. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/hashline_write.md +0 -0
  194. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/kill_command.md +0 -0
  195. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/list_agents.md +0 -0
  196. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/list_sessions.md +0 -0
  197. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/list_subagent_models.md +0 -0
  198. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/list_workflow_runs.md +0 -0
  199. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/lsp.md +0 -0
  200. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/lsp_edit.md +0 -0
  201. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/multi_edit.md +0 -0
  202. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/read.md +0 -0
  203. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/read_image.md +0 -0
  204. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/resolve.md +0 -0
  205. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/run_workflow.md +0 -0
  206. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/send_message.md +0 -0
  207. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/set_goal.md +0 -0
  208. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/skill.md +0 -0
  209. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/snapshot.md +0 -0
  210. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/switch_worktree.md +0 -0
  211. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/update_task_list.md +0 -0
  212. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/web_fetch.md +0 -0
  213. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/web_search.md +0 -0
  214. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/write.md +0 -0
  215. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/write_plan.md +0 -0
  216. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/tools/write_stdin.md +0 -0
  217. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
  218. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
  219. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/prompts.py +0 -0
  220. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/session_metadata.py +0 -0
  221. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
  222. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/base_tool.py +0 -0
  223. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
  224. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/build_tool.py +0 -0
  225. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/codex_patch.py +0 -0
  226. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
  227. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/edit_tool.py +0 -0
  228. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/eval_tool.py +0 -0
  229. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/hashline_v2.py +0 -0
  230. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/lsp_tool.py +0 -0
  231. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
  232. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/network_status.py +0 -0
  233. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
  234. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
  235. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
  236. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
  237. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
  238. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
  239. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
  240. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
  241. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
  242. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
  243. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/snapshot_tool.py +0 -0
  244. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
  245. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
  246. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch/__init__.py +0 -0
  247. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch/answering.py +0 -0
  248. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch/documents.py +0 -0
  249. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch/extractors.py +0 -0
  250. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch/pipeline.py +0 -0
  251. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch/retrieval.py +0 -0
  252. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
  253. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
  254. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
  255. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tool_definitions.py +0 -0
  256. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/tools.py +0 -0
  257. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/utils/commands.py +0 -0
  258. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/agent/volatile_context.py +0 -0
  259. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/auth/__init__.py +0 -0
  260. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/auth/_jwt.py +0 -0
  261. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/auth/chatgpt_oauth.py +0 -0
  262. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/auth/constants.py +0 -0
  263. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/auth/tokens.py +0 -0
  264. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/__init__.py +0 -0
  265. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/framing.py +0 -0
  266. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/installer.py +0 -0
  267. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/manager.py +0 -0
  268. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/multiplex.py +0 -0
  269. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/native_host.py +0 -0
  270. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/protocol.py +0 -0
  271. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/registry.py +0 -0
  272. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/browser_extension/runtime.py +0 -0
  273. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/__init__.py +0 -0
  274. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/acp.py +0 -0
  275. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/app.py +0 -0
  276. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/ask_output.py +0 -0
  277. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/atif_export.py +0 -0
  278. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/browser_backend.py +0 -0
  279. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/clipboard_image.py +0 -0
  280. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/config.py +0 -0
  281. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/connection.py +0 -0
  282. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/cron.py +0 -0
  283. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/diagnostics.py +0 -0
  284. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/file_index.py +0 -0
  285. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/gateway.py +0 -0
  286. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/goal.py +0 -0
  287. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/loop.py +0 -0
  288. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/main.py +0 -0
  289. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/mentions.py +0 -0
  290. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/messages.py +0 -0
  291. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/model_catalog.py +0 -0
  292. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/model_connection.py +0 -0
  293. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/peer_messaging.py +0 -0
  294. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/plan_artifacts.py +0 -0
  295. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/prompt_history.py +0 -0
  296. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/session_event_protocol.py +0 -0
  297. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/session_event_store.py +0 -0
  298. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/session_journal.py +0 -0
  299. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/session_store.py +0 -0
  300. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/session_usage.py +0 -0
  301. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/settings.py +0 -0
  302. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/skills.py +0 -0
  303. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/slash_commands.py +0 -0
  304. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/theme.py +0 -0
  305. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/__init__.py +0 -0
  306. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/agent_runtime.py +0 -0
  307. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/app_base.py +0 -0
  308. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/changes_screen.py +0 -0
  309. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/command_handlers.py +0 -0
  310. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/constants.py +0 -0
  311. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/custom_model.py +0 -0
  312. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/loop_runtime.py +0 -0
  313. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/memory_screen.py +0 -0
  314. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/onboarding_screen.py +0 -0
  315. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/pacing.py +0 -0
  316. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/prompt_flows.py +0 -0
  317. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/session_diff.py +0 -0
  318. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/settings_panel.py +0 -0
  319. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/settings_screen.py +0 -0
  320. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/state.py +0 -0
  321. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/status_dashboard.py +0 -0
  322. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/styles.tcss +0 -0
  323. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
  324. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/terminal_display.py +0 -0
  325. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/transcript.py +0 -0
  326. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/tui/widgets.py +0 -0
  327. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/cli/updater.py +0 -0
  328. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/config.py +0 -0
  329. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/events.py +0 -0
  330. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/extensions.py +0 -0
  331. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/__init__.py +0 -0
  332. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/access.py +0 -0
  333. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/adapters/__init__.py +0 -0
  334. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/adapters/base.py +0 -0
  335. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/adapters/echo.py +0 -0
  336. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/adapters/telegram/__init__.py +0 -0
  337. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/adapters/telegram/adapter.py +0 -0
  338. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/adapters/telegram/formatting.py +0 -0
  339. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/bridge.py +0 -0
  340. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/commands.py +0 -0
  341. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/config.py +0 -0
  342. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/control_relay.py +0 -0
  343. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/daemon.py +0 -0
  344. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/event_router.py +0 -0
  345. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/questions.py +0 -0
  346. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/redaction.py +0 -0
  347. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/router.py +0 -0
  348. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/service.py +0 -0
  349. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/sessions.py +0 -0
  350. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/gateway/stt.py +0 -0
  351. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/git_env.py +0 -0
  352. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/__init__.py +0 -0
  353. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/backends.py +0 -0
  354. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/config.py +0 -0
  355. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/dispatcher.py +0 -0
  356. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/events.py +0 -0
  357. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/matcher.py +0 -0
  358. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/hooks/outcome.py +0 -0
  359. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/client.py +0 -0
  360. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/exceptions.py +0 -0
  361. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/instrumented_client.py +0 -0
  362. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/ledger.py +0 -0
  363. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/models.py +0 -0
  364. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/__init__.py +0 -0
  365. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/_token_encoding.py +0 -0
  366. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/anthropic.py +0 -0
  367. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/base.py +0 -0
  368. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
  369. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/google.py +0 -0
  370. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/models.py +0 -0
  371. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/openai.py +0 -0
  372. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/openai_responses.py +0 -0
  373. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/perplexity_responses.py +0 -0
  374. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/responses_common.py +0 -0
  375. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/tinker.py +0 -0
  376. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/providers/tinker_trace.py +0 -0
  377. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/ratelimit.py +0 -0
  378. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/__init__.py +0 -0
  379. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/__init__.py +0 -0
  380. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
  381. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
  382. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
  383. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/google.py +0 -0
  384. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/groq.py +0 -0
  385. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
  386. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
  387. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/ollama_cloud.py +0 -0
  388. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/openai.py +0 -0
  389. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
  390. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/openrouter.py +0 -0
  391. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/perplexity_agent.py +0 -0
  392. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/thinking_machines.py +0 -0
  393. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/tinker.py +0 -0
  394. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/together.py +0 -0
  395. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/xai.py +0 -0
  396. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/catalog/zai.py +0 -0
  397. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/custom_endpoints.py +0 -0
  398. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/ollama_cloud_catalog.py +0 -0
  399. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/openrouter_catalog.py +0 -0
  400. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/perplexity_catalog.py +0 -0
  401. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/thinking.py +0 -0
  402. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/tinker_catalog.py +0 -0
  403. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/types.py +0 -0
  404. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/specs/validation.py +0 -0
  405. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/timeouts.py +0 -0
  406. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/tool_execution_ids.py +0 -0
  407. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/llm/usage.py +0 -0
  408. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/local_state.py +0 -0
  409. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/__init__.py +0 -0
  410. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/config.py +0 -0
  411. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/oauth.py +0 -0
  412. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/service.py +0 -0
  413. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/state.py +0 -0
  414. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/tools.py +0 -0
  415. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/mcp/transport.py +0 -0
  416. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/__init__.py +0 -0
  417. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/identity.py +0 -0
  418. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/manager.py +0 -0
  419. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/manifest.py +0 -0
  420. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/markdown.py +0 -0
  421. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/models.py +0 -0
  422. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/protocol.py +0 -0
  423. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/memory/registry.py +0 -0
  424. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/models/__init__.py +0 -0
  425. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/models/sandbox_terminal_state.py +0 -0
  426. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/permissions.py +0 -0
  427. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/runtime.py +0 -0
  428. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/README.md +0 -0
  429. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/__init__.py +0 -0
  430. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/async_filesystem.py +0 -0
  431. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/base.py +0 -0
  432. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/browser.py +0 -0
  433. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/event_loop.py +0 -0
  434. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/filesystem.py +0 -0
  435. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/local.py +0 -0
  436. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/serializer.py +0 -0
  437. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/terminal.py +0 -0
  438. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/sandbox/utils.py +0 -0
  439. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/scratchpad.py +0 -0
  440. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/security/__init__.py +0 -0
  441. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/security/secrets.py +0 -0
  442. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/base.py +0 -0
  443. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/browser.py +0 -0
  444. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/file_system.py +0 -0
  445. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/html.py +0 -0
  446. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/__init__.py +0 -0
  447. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/client.py +0 -0
  448. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/config.py +0 -0
  449. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/detector.py +0 -0
  450. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/diagnostics.py +0 -0
  451. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/edits.py +0 -0
  452. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/manager.py +0 -0
  453. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/registry.py +0 -0
  454. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/lsp/registry.yaml +0 -0
  455. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/snapshots.py +0 -0
  456. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/terminal.py +0 -0
  457. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/terminal_buffer.py +0 -0
  458. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/services/workspace_scan.py +0 -0
  459. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/__init__.py +0 -0
  460. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/control.py +0 -0
  461. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/inbox.py +0 -0
  462. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/inmemory.py +0 -0
  463. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/projection.py +0 -0
  464. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/recording.py +0 -0
  465. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/runtime.py +0 -0
  466. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/session/store.py +0 -0
  467. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/testing/__init__.py +0 -0
  468. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/testing/store_conformance.py +0 -0
  469. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/tools/__init__.py +0 -0
  470. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/tools/ask_user.py +0 -0
  471. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/tools/core.py +0 -0
  472. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/tools/definitions.py +0 -0
  473. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/tools/param_aliases.py +0 -0
  474. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/tools/registry.py +0 -0
  475. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/utils/__init__.py +0 -0
  476. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/utils/images.py +0 -0
  477. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/__init__.py +0 -0
  478. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/assets/fold.js +0 -0
  479. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/assets/player.css +0 -0
  480. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/assets/player.html +0 -0
  481. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/assets/player.js +0 -0
  482. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/bundle.py +0 -0
  483. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/hosting.py +0 -0
  484. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/redaction.py +0 -0
  485. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/server.py +0 -0
  486. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/singlefile.py +0 -0
  487. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/web/theme_css.py +0 -0
  488. {kolega_code-0.37.0 → kolega_code-0.38.0}/kolega_code/worktrees.py +0 -0
@@ -6,6 +6,48 @@ This project uses GitHub Releases for detailed generated release notes. This fil
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 0.38.0 - 2026-09-11
10
+
11
+ ### Added
12
+
13
+ - **DeepSeek V4.1 Flash (released).** The finished model is served under
14
+ DeepSeek's canonical `deepseek-flash` id and is available as **DeepSeek V4.1
15
+ Flash** in the model picker, with vision and `none`/`low`/`high`/`max`
16
+ reasoning effort (default `high`). Verified live: 1,048,576-token context and a
17
+ 393,216-token API output ceiling. DeepSeek's Responses API ignores the built-in
18
+ `web_search` tool, so this model does not advertise hosted web search.
19
+
20
+ ### Changed
21
+
22
+ - **DeepSeek now defaults to V4.1 Flash.** `deepseek-flash` is the default model
23
+ (and first entry in the picker) for the DeepSeek provider, matching DeepSeek's
24
+ own guidance that V4.1 Flash supersedes V4 Pro on performance, cost, speed, and
25
+ total time. `deepseek-v4-pro` remains selectable; DeepSeek routes it to V4.1
26
+ Flash from September 14, 2026.
27
+
28
+ ### Removed
29
+
30
+ - **Retired DeepSeek flash ids.** DeepSeek only serves two models now — V4.1 Flash
31
+ and V4 Pro — so Kolega's DeepSeek catalog lists exactly those two. The retired
32
+ `deepseek-v4-flash` and `deepseek-v4-flash-vision-exp` entries are gone (they
33
+ named nothing distinct: DeepSeek routes both to V4.1 Flash). Settings, sessions,
34
+ and per-role overrides that still name one of them fall back to the DeepSeek
35
+ default (`deepseek-flash`); naming one explicitly (`--model`,
36
+ `KOLEGA_CODE_MODEL`) fails with a "not available for" error.
37
+ - **DeepSeek V4.1 Flash preview id.** The expired temporary
38
+ `deepseek-v4.1-flash-expires-on-0910` id is no longer selectable. Settings and
39
+ per-role overrides that still name it fall back to the DeepSeek default
40
+ (`deepseek-flash`); naming it explicitly (`--model`, `KOLEGA_CODE_MODEL`) fails
41
+ with a "not available for" error. Switch to `deepseek-flash`, which DeepSeek
42
+ serves the same model under.
43
+
44
+ ### Fixed
45
+
46
+ - **Hosted web search no longer offered where DeepSeek stopped serving it.**
47
+ DeepSeek silently removed server-side `web_search` with the V4.1 release, so the
48
+ flash models' `/web` toggle was advertising a capability that no longer exists.
49
+ `deepseek-v4-pro` still executes hosted search and keeps it.
50
+
9
51
  ## 0.37.0 - 2026-09-09
10
52
 
11
53
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kolega-code
3
- Version: 0.37.0
3
+ Version: 0.38.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/
@@ -174,4 +174,4 @@ __all__ = [
174
174
  "parse_git_status_output",
175
175
  ]
176
176
 
177
- __version__ = "0.37.0"
177
+ __version__ = "0.38.0"
@@ -51,4 +51,4 @@ __all__ = [
51
51
  "ToolExtension",
52
52
  ]
53
53
 
54
- __version__ = "0.37.0"
54
+ __version__ = "0.38.0"
@@ -157,7 +157,7 @@ class HistoryCompressor:
157
157
  # Don't bother summarizing a trivially short prefix.
158
158
  MIN_PREFIX_TO_SUMMARIZE = 3
159
159
  # Cap the summary length. The prompt targets ~600 words, but reasoning
160
- # models (deepseek-v4-flash Responses, etc.) can consume the entire budget
160
+ # models (DeepSeek Responses models, etc.) can consume the entire budget
161
161
  # on chain-of-thought and leave no room for text output, producing an empty
162
162
  # summary. A generous ceiling gives reasoning headroom while still staying
163
163
  # well under the model's full completion budget.
@@ -70,10 +70,8 @@ MODEL_LABELS: dict[str, str] = {
70
70
  "kimi-for-coding": "Kimi for Coding",
71
71
  "kimi-for-coding-highspeed": "Kimi for Coding (HighSpeed)",
72
72
  # DeepSeek
73
- "deepseek-v4.1-flash-expires-on-0910": "DeepSeek V4.1 Flash (Preview, expires Sep 10)",
73
+ "deepseek-flash": "DeepSeek V4.1 Flash",
74
74
  "deepseek-v4-pro": "DeepSeek V4 Pro",
75
- "deepseek-v4-flash": "DeepSeek V4 Flash",
76
- "deepseek-v4-flash-vision-exp": "DeepSeek V4 Flash Vision (Exp)",
77
75
  # Z.AI (GLM Coding Plan)
78
76
  "glm-5.3": "GLM-5.3",
79
77
  "glm-5.3-flash": "GLM-5.3 Flash",
@@ -164,7 +162,7 @@ MODEL_LABELS: dict[str, str] = {
164
162
  # "available set is everything, default pick is curated" split.
165
163
  PROVIDER_DEFAULT_MODEL: dict[ModelProvider, str] = {
166
164
  ModelProvider.MOONSHOT: "kimi-k3",
167
- ModelProvider.DEEPSEEK: "deepseek-v4-pro",
165
+ ModelProvider.DEEPSEEK: "deepseek-flash",
168
166
  ModelProvider.ZAI: "glm-5.3",
169
167
  ModelProvider.KIMI_CODING: "kimi-for-coding",
170
168
  ModelProvider.ANTHROPIC: "claude-opus-5",
@@ -189,7 +187,7 @@ PROVIDER_DEFAULT_MODEL: dict[ModelProvider, str] = {
189
187
  UI_DEFAULT_PROVIDER = ModelProvider.MOONSHOT.value
190
188
  UI_DEFAULT_MODEL = "kimi-k3"
191
189
  MOONSHOT_K26_MODEL = "kimi-k2.6"
192
- DEEPSEEK_DEFAULT_MODEL = "deepseek-v4-pro"
190
+ DEEPSEEK_DEFAULT_MODEL = "deepseek-flash"
193
191
 
194
192
 
195
193
  @dataclass(frozen=True)
@@ -1,6 +1,6 @@
1
1
  """DeepSeek provider that speaks the **Responses API** (``/responses``).
2
2
 
3
- The whole DeepSeek catalog (``deepseek-v4-pro`` and ``deepseek-v4-flash``) speaks
3
+ The whole DeepSeek catalog (``deepseek-flash`` and ``deepseek-v4-pro``) speaks
4
4
  the Responses API, so the ``deepseek`` provider routes here wholesale from
5
5
  ``LLMClient._provider_class`` (no model-name branching). DeepSeek models hosted on
6
6
  other providers (Fireworks/OpenRouter/Ollama-Cloud) still use Chat Completions via
@@ -49,7 +49,7 @@ from .models import GenerationParams
49
49
  from .responses_common import ResponsesProviderBase
50
50
 
51
51
  DEFAULT_BASE_URL = "https://api.deepseek.com"
52
- DEFAULT_MODEL = "deepseek-v4-flash"
52
+ DEFAULT_MODEL = "deepseek-flash"
53
53
 
54
54
 
55
55
  class DeepSeekResponsesProvider(ResponsesProviderBase):
@@ -203,9 +203,7 @@ DEEPSEEK_WIRE_OUTPUT_CAP = 64000
203
203
 
204
204
  # Routes that use the catalog output budget without the legacy Pro/chat clamp.
205
205
  _UNCLAMPED_DEEPSEEK_ROUTES = {
206
- ("deepseek", "deepseek-v4-flash"),
207
- ("deepseek", "deepseek-v4-flash-vision-exp"),
208
- ("deepseek", "deepseek-v4.1-flash-expires-on-0910"),
206
+ ("deepseek", "deepseek-flash"),
209
207
  }
210
208
 
211
209
 
@@ -0,0 +1,99 @@
1
+ from kolega_code.llm.specs.types import ThinkingEffortSpec
2
+
3
+ # max_completion_tokens is the MEASURED per-response output ceiling, not
4
+ # DeepSeek's published 384000. Probed 2026-08-03 by
5
+ # tests/agent/llm/test_deepseek_output_cap_live.py:
6
+ # - deepseek-v4-pro (chat), uncapped: the server cuts the stream at exactly
7
+ # 65536 output tokens, reported honestly as finish_reason="length".
8
+ # - deepseek-v4-flash (Responses), uncapped: no hard cut observed — the model
9
+ # SELF-CENSORS ~7.4k tokens in ("response would exceed the maximum output
10
+ # length allowed for this chat interface") with a clean status="completed".
11
+ # With an explicit max_output_tokens=64000 it streams the full 64000 and
12
+ # reports the cap hit honestly (status="incomplete"/max_output_tokens).
13
+ # - Over-ceiling caps (384000) are accepted silently on both paths.
14
+ # flash is 384000 (corrected from 65536, which was pro's measured chat ceiling
15
+ # assumed to apply here): those probes only measured visible output, while a
16
+ # reasoning-heavy call was later measured running to 112990 tokens in a single
17
+ # Responses call.
18
+ # pro never sends this value raw: the Responses path clamps to
19
+ # DEEPSEEK_WIRE_OUTPUT_CAP=64000 (specs/accessors.py) so the client cap fires
20
+ # before the server ceiling and truncation is reported honestly. flash passes
21
+ # through.
22
+ #
23
+ # INSERTION ORDER IS LOAD-BEARING: the first entry is what the Settings model
24
+ # picker shows first and what a provider switch falls back to
25
+ # (ui_model_options(provider)[0]); it must stay in sync with
26
+ # PROVIDER_DEFAULT_MODEL[DEEPSEEK] in cli/provider_registry.py.
27
+ DEEPSEEK_SPECS = {
28
+ # Released DeepSeek Flash (V4.1), served under the canonical `deepseek-flash`, and
29
+ # the provider default. Verified live on /responses 2026-09-10: the retired preview
30
+ # ID (`deepseek-v4.1-flash-expires-on-0910`) as well as the older `deepseek-v4-flash`
31
+ # and `deepseek-v4-flash-vision-exp` aliases all now answer as
32
+ # `model="deepseek-flash"`, and `/models` lists exactly `deepseek-flash` and
33
+ # `deepseek-v4-pro`; a versioned `deepseek-v4.1-flash` is rejected ("The supported
34
+ # API model names are ..."). Vision (image input), function calls, and
35
+ # none/low/high/max reasoning effort all work on this route.
36
+ # NO hosted web search: DeepSeek removed it silently with the V4.1 release. Their
37
+ # Responses guide said "web_search / web_search_2025_08_26: Supported, executed on
38
+ # the server side" and listed {"type": "web_search"} under tool_choice on
39
+ # 2026-09-09; by 2026-09-10 the same rows read "web_search / file_search /
40
+ # code_interpreter / computer_use / mcp / other built-in tools: Ignored", with
41
+ # web_search dropped from tool_choice and its streaming events deleted. Nothing on
42
+ # /updates, /news, the docs home, or the FAQ mentions the removal. Live probes on
43
+ # 2026-09-10 returned zero web_search_call items while the model answered that it
44
+ # has no such tool (at effort=high it emitted bogus tool-call XML as text instead).
45
+ # Requests with the tool declared are accepted and silently do nothing, so Kolega
46
+ # must not advertise the /web toggle here. Replayed web_search_call items from
47
+ # older requests are still restored into context, per the same guide.
48
+ # Context measured at 1048576 tokens (oversized request -> "This model's maximum
49
+ # context length is 1048576 tokens"); keep the Flash-family 1000000 budget so the
50
+ # window_minus_output input budget retains margin under the hard ceiling.
51
+ # max_output_tokens above 393216 is rejected ("the valid range of max_tokens is
52
+ # [1, 393216]"), so the conservative 384000 output budget stands.
53
+ # Reasoning mechanics (inherited from the retired V4 Flash entries this id replaces,
54
+ # and still the shape this backend serves): effort must ride the Responses
55
+ # `reasoning` block, not the Chat-Completions `reasoning_effort` field the shared
56
+ # builder ignores, and this mode excludes flash from the flat reasoning_content
57
+ # replay path — reasoning comes back as Responses reasoning ITEMS instead. The
58
+ # endpoint returns no reasoning.encrypted_content (the include param is silently
59
+ # ignored) but exposes raw chain-of-thought as plain reasoning_text content, which
60
+ # the stream wrapper retains and resends next turn (mirroring Codex) so the context
61
+ # gauge counts it like any other content. The backend ALSO re-attaches prior CoT
62
+ # server-side keyed on its own function_call call_ids, billing it as input and
63
+ # deduping explicit copies (verified live 2026-08-04 on V4 Flash); reasoning-bearing
64
+ # replays with a foreign call_id 400 with "reasoning_text must be passed back",
65
+ # while minimal single-round histories with foreign ids are tolerated.
66
+ ("deepseek", "deepseek-flash"): {
67
+ "context_length": 1000000,
68
+ "max_completion_tokens": 384000,
69
+ "input_budget": "window_minus_output",
70
+ "default_temperature": 1.0,
71
+ "supports_vision": True,
72
+ "supports_hosted_web_search": False,
73
+ "preferred_edit_protocol": "claude_code",
74
+ "thinking_effort": ThinkingEffortSpec(
75
+ options=("none", "low", "high", "max"),
76
+ default="high",
77
+ mode="openai_responses_reasoning",
78
+ ),
79
+ },
80
+ ("deepseek", "deepseek-v4-pro"): {
81
+ "context_length": 1000000,
82
+ "max_completion_tokens": 65536,
83
+ "input_budget": "window_minus_output",
84
+ "default_temperature": 1.0,
85
+ "supports_vision": False,
86
+ # Hosted search still works on the V4 Pro model — re-verified live 2026-09-10
87
+ # (probe A body -> ws_calls=1, real answer), and it is the last first-party
88
+ # route that executes it. NOTE: from 12:00 Beijing Time 2026-09-14 DeepSeek
89
+ # routes deepseek-v4-pro requests to V4.1 Flash, whose architecture has no
90
+ # server-side web search; re-check this flag and the /web toggle after that.
91
+ "supports_hosted_web_search": True,
92
+ "preferred_edit_protocol": "claude_code",
93
+ "thinking_effort": ThinkingEffortSpec(
94
+ options=("none", "low", "high", "max"),
95
+ default="high",
96
+ mode="openai_responses_reasoning",
97
+ ),
98
+ },
99
+ }
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
8
 
9
9
  [project]
10
10
  name = "kolega-code"
11
- version = "0.37.0"
11
+ version = "0.38.0"
12
12
  description = "Multi-agent coding in the terminal"
13
13
  readme = "README.md"
14
14
  license = "BUSL-1.1"
@@ -1,103 +0,0 @@
1
- from kolega_code.llm.specs.types import ThinkingEffortSpec
2
-
3
- # max_completion_tokens is the MEASURED per-response output ceiling, not
4
- # DeepSeek's published 384000. Probed 2026-08-03 by
5
- # tests/agent/llm/test_deepseek_output_cap_live.py:
6
- # - deepseek-v4-pro (chat), uncapped: the server cuts the stream at exactly
7
- # 65536 output tokens, reported honestly as finish_reason="length".
8
- # - deepseek-v4-flash (Responses), uncapped: no hard cut observed — the model
9
- # SELF-CENSORS ~7.4k tokens in ("response would exceed the maximum output
10
- # length allowed for this chat interface") with a clean status="completed".
11
- # With an explicit max_output_tokens=64000 it streams the full 64000 and
12
- # reports the cap hit honestly (status="incomplete"/max_output_tokens).
13
- # - Over-ceiling caps (384000) are accepted silently on both paths.
14
- # flash is 384000 (corrected from 65536, which was pro's measured chat ceiling
15
- # assumed to apply here): those probes only measured visible output, while a
16
- # reasoning-heavy call was later measured running to 112990 tokens in a single
17
- # Responses call.
18
- # pro never sends this value raw: the Responses path clamps to
19
- # DEEPSEEK_WIRE_OUTPUT_CAP=64000 (specs/accessors.py) so the client cap fires
20
- # before the server ceiling and truncation is reported honestly. flash passes
21
- # through.
22
- DEEPSEEK_SPECS = {
23
- ("deepseek", "deepseek-v4-pro"): {
24
- "context_length": 1000000,
25
- "max_completion_tokens": 65536,
26
- "input_budget": "window_minus_output",
27
- "default_temperature": 1.0,
28
- "supports_vision": False,
29
- "supports_hosted_web_search": True,
30
- "preferred_edit_protocol": "claude_code",
31
- "thinking_effort": ThinkingEffortSpec(
32
- options=("none", "low", "high", "max"),
33
- default="high",
34
- mode="openai_responses_reasoning",
35
- ),
36
- },
37
- # deepseek-v4-flash speaks the Responses API (see DeepSeekResponsesProvider), so its
38
- # reasoning effort must be emitted as the Responses `reasoning` block rather than the
39
- # Chat-Completions `reasoning_effort` field the shared Responses request builder ignores.
40
- # This mode also correctly excludes flash from the flat reasoning_content replay path:
41
- # flash's reasoning rides in Responses reasoning ITEMS instead. The endpoint returns no
42
- # reasoning.encrypted_content (the include param is silently ignored) but exposes the
43
- # raw chain-of-thought as plain reasoning_text content, which the stream wrapper
44
- # retains and resends next turn (mirroring Codex, the client this endpoint was adapted
45
- # for) — so the context gauge counts it from the history like any other content. The
46
- # backend ALSO restores prior CoT server-side keyed on its own function_call call_ids,
47
- # billing it as input and deduping explicit copies (verified live 2026-08-04); deep
48
- # reasoning-bearing replays with a foreign call_id 400 with "reasoning_text must be
49
- # passed back", minimal single-round histories with foreign ids are tolerated.
50
- ("deepseek", "deepseek-v4-flash"): {
51
- "context_length": 1000000,
52
- "max_completion_tokens": 384000,
53
- "input_budget": "window_minus_output",
54
- "default_temperature": 1.0,
55
- "supports_vision": False,
56
- # /responses executes {"type": "web_search"} server-side (search +
57
- # open_page) and restores the searched content on replay of the
58
- # web_search_call items, billed as input (verified live 2026-08-04,
59
- # findings/probes/hosted_web_search_probe.py).
60
- "supports_hosted_web_search": True,
61
- "preferred_edit_protocol": "claude_code",
62
- "thinking_effort": ThinkingEffortSpec(
63
- options=("none", "low", "high", "max"),
64
- default="high",
65
- mode="openai_responses_reasoning",
66
- ),
67
- },
68
- ("deepseek", "deepseek-v4-flash-vision-exp"): {
69
- "context_length": 1000000,
70
- "max_completion_tokens": 384000,
71
- "input_budget": "window_minus_output",
72
- "default_temperature": 1.0,
73
- "supports_vision": True,
74
- "supports_hosted_web_search": True,
75
- "preferred_edit_protocol": "claude_code",
76
- "thinking_effort": ThinkingEffortSpec(
77
- options=("none", "low", "high", "max"),
78
- default="high",
79
- mode="openai_responses_reasoning",
80
- ),
81
- },
82
- # Append previews: settings uses the first catalog model as provider fallback.
83
- # Unlisted preview, verified on /responses on 2026-09-09. The ID advertises
84
- # expiry on September 10; do not alias it to a stable model or make it default.
85
- # Vision, hosted search, tools, and all four exposed efforts work live.
86
- # Retain the Flash-family 1M context budget provisionally (not independently
87
- # measured for this preview). The API accepts 384000 output tokens and reports
88
- # a maximum of 393216; keep the existing conservative Flash output budget.
89
- ("deepseek", "deepseek-v4.1-flash-expires-on-0910"): {
90
- "context_length": 1000000,
91
- "max_completion_tokens": 384000,
92
- "input_budget": "window_minus_output",
93
- "default_temperature": 1.0,
94
- "supports_vision": True,
95
- "supports_hosted_web_search": True,
96
- "preferred_edit_protocol": "claude_code",
97
- "thinking_effort": ThinkingEffortSpec(
98
- options=("none", "low", "high", "max"),
99
- default="high",
100
- mode="openai_responses_reasoning",
101
- ),
102
- },
103
- }
File without changes
File without changes
File without changes
File without changes
File without changes