kolega-code 0.47.0__tar.gz → 0.48.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 (550) hide show
  1. {kolega_code-0.47.0 → kolega_code-0.48.0}/CHANGELOG.md +124 -0
  2. {kolega_code-0.47.0 → kolega_code-0.48.0}/CONTRIBUTING.md +13 -0
  3. {kolega_code-0.47.0 → kolega_code-0.48.0}/MIGRATION.md +25 -4
  4. {kolega_code-0.47.0 → kolega_code-0.48.0}/PKG-INFO +12 -7
  5. {kolega_code-0.47.0 → kolega_code-0.48.0}/README.md +5 -1
  6. {kolega_code-0.47.0 → kolega_code-0.48.0}/RELEASING.md +17 -14
  7. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/__init__.py +1 -1
  8. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/__init__.py +2 -1
  9. kolega_code-0.48.0/kolega_code/acp/accounting.py +516 -0
  10. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/agent_factory.py +313 -51
  11. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/bridge.py +26 -10
  12. kolega_code-0.48.0/kolega_code/acp/control.py +206 -0
  13. kolega_code-0.48.0/kolega_code/acp/mcp.py +188 -0
  14. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/permissions.py +23 -28
  15. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/questions.py +1 -4
  16. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/server.py +293 -131
  17. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/session.py +27 -4
  18. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/usage.py +8 -4
  19. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/__init__.py +1 -1
  20. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/baseagent.py +109 -65
  21. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/conversation.py +1 -0
  22. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/bridge.py +0 -5
  23. kolega_code-0.48.0/kolega_code/agent/eval/bundle-requirements.in +4 -0
  24. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/bundle-requirements.txt +8 -6
  25. kolega_code-0.48.0/kolega_code/agent/eval/env.py +343 -0
  26. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/kernel.py +8 -6
  27. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/protocol.py +0 -5
  28. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/journal.py +0 -8
  29. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/runtime.py +1 -6
  30. kolega_code-0.48.0/kolega_code/agent/prompt_templates/auxiliary/agent_loop/interrupted_turn_nudge.user.md.j2 +9 -0
  31. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompts.py +5 -1
  32. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/session_metadata.py +7 -8
  33. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/edit_preview.py +6 -2
  34. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/lsp_tool.py +0 -12
  35. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/memory_tool.py +14 -2
  36. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +20 -10
  37. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/tavily.py +31 -17
  38. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/terminal_tool.py +0 -20
  39. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch/extractors.py +15 -4
  40. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch/pipeline.py +2 -2
  41. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tools.py +33 -7
  42. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/auth/chatgpt_oauth.py +4 -1
  43. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/multiplex.py +0 -6
  44. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/native_host.py +0 -8
  45. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/protocol.py +0 -10
  46. kolega_code-0.48.0/kolega_code/cli/acp.py +160 -0
  47. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/app.py +64 -7
  48. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/atif_export.py +1 -12
  49. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/clipboard_image.py +0 -11
  50. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/config.py +3 -0
  51. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/gateway.py +36 -11
  52. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/main.py +366 -183
  53. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/messages.py +11 -8
  54. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/model_catalog.py +64 -12
  55. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/peer_messaging.py +1 -1
  56. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/provider_registry.py +8 -0
  57. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/session_event_protocol.py +0 -3
  58. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/session_journal.py +69 -24
  59. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/session_store.py +8 -4
  60. kolega_code-0.48.0/kolega_code/cli/session_usage.py +987 -0
  61. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/settings.py +10 -7
  62. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/skills.py +11 -7
  63. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/slash_commands.py +1 -3
  64. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/agent_runtime.py +388 -340
  65. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/app_base.py +10 -5
  66. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/changes_screen.py +19 -3
  67. kolega_code-0.48.0/kolega_code/cli/tui/checkpoint_store.py +323 -0
  68. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/command_handlers.py +48 -23
  69. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/constants.py +0 -9
  70. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/memory_screen.py +9 -6
  71. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/prompt_flows.py +62 -157
  72. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/session_diff.py +484 -121
  73. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/settings_panel.py +2 -2
  74. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/settings_screen.py +28 -8
  75. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/state.py +4 -1
  76. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/status_dashboard.py +15 -2
  77. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/terminal_display.py +23 -1
  78. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/tool_presentation.py +1 -1
  79. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/transcript.py +8 -9
  80. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/updater.py +25 -1
  81. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/config.py +9 -2
  82. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/events.py +3 -0
  83. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/adapters/base.py +0 -1
  84. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/config.py +6 -32
  85. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/control_relay.py +30 -14
  86. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/daemon.py +82 -11
  87. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/questions.py +1 -4
  88. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/router.py +23 -8
  89. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/sessions.py +437 -112
  90. kolega_code-0.48.0/kolega_code/gateway/stt.py +263 -0
  91. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/backends.py +55 -3
  92. kolega_code-0.48.0/kolega_code/llm/accounting.py +260 -0
  93. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/client.py +46 -10
  94. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/exceptions.py +103 -6
  95. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/instrumented_client.py +150 -106
  96. kolega_code-0.48.0/kolega_code/llm/ledger.py +881 -0
  97. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/models.py +16 -60
  98. kolega_code-0.48.0/kolega_code/llm/pricing.py +719 -0
  99. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/anthropic.py +33 -4
  100. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/google.py +26 -18
  101. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/mistral.py +16 -4
  102. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/openai.py +117 -47
  103. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/responses_common.py +105 -28
  104. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/tinker.py +24 -9
  105. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/accessors.py +12 -0
  106. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/catalog/__init__.py +2 -0
  107. kolega_code-0.48.0/kolega_code/llm/specs/catalog/anthropic.py +1347 -0
  108. kolega_code-0.48.0/kolega_code/llm/specs/catalog/cloudflare_workers_ai.py +528 -0
  109. kolega_code-0.48.0/kolega_code/llm/specs/catalog/dashscope.py +284 -0
  110. kolega_code-0.48.0/kolega_code/llm/specs/catalog/deepseek.py +414 -0
  111. kolega_code-0.48.0/kolega_code/llm/specs/catalog/fireworks.py +490 -0
  112. kolega_code-0.48.0/kolega_code/llm/specs/catalog/google.py +710 -0
  113. kolega_code-0.48.0/kolega_code/llm/specs/catalog/groq.py +324 -0
  114. kolega_code-0.48.0/kolega_code/llm/specs/catalog/kimi_coding.py +261 -0
  115. kolega_code-0.48.0/kolega_code/llm/specs/catalog/minimax.py +336 -0
  116. kolega_code-0.48.0/kolega_code/llm/specs/catalog/mistral.py +1889 -0
  117. kolega_code-0.48.0/kolega_code/llm/specs/catalog/moonshot.py +407 -0
  118. kolega_code-0.48.0/kolega_code/llm/specs/catalog/ollama_cloud.py +867 -0
  119. kolega_code-0.48.0/kolega_code/llm/specs/catalog/openai.py +5469 -0
  120. kolega_code-0.48.0/kolega_code/llm/specs/catalog/openai_chatgpt.py +727 -0
  121. kolega_code-0.48.0/kolega_code/llm/specs/catalog/openrouter.py +14818 -0
  122. kolega_code-0.48.0/kolega_code/llm/specs/catalog/perplexity_agent.py +2666 -0
  123. kolega_code-0.48.0/kolega_code/llm/specs/catalog/pricing_sources.py +72 -0
  124. kolega_code-0.48.0/kolega_code/llm/specs/catalog/refuseless.py +171 -0
  125. kolega_code-0.48.0/kolega_code/llm/specs/catalog/thinking_machines.py +98 -0
  126. kolega_code-0.48.0/kolega_code/llm/specs/catalog/tinker.py +1421 -0
  127. kolega_code-0.48.0/kolega_code/llm/specs/catalog/together.py +78 -0
  128. kolega_code-0.48.0/kolega_code/llm/specs/catalog/xai.py +672 -0
  129. kolega_code-0.48.0/kolega_code/llm/specs/catalog/zai.py +243 -0
  130. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/cloudflare_workers_ai_catalog.py +4 -2
  131. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/mistral_catalog.py +32 -1
  132. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/ollama_cloud_catalog.py +5 -2
  133. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/openrouter_catalog.py +14 -14
  134. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/perplexity_catalog.py +7 -3
  135. kolega_code-0.48.0/kolega_code/llm/specs/pricing.py +235 -0
  136. kolega_code-0.48.0/kolega_code/llm/specs/pricing_feeds.py +328 -0
  137. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/thinking.py +1 -0
  138. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/tinker_catalog.py +4 -2
  139. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/usage.py +181 -1
  140. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/mcp/config.py +0 -1
  141. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/mcp/oauth.py +0 -4
  142. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/mcp/service.py +115 -53
  143. kolega_code-0.48.0/kolega_code/mcp/tools.py +64 -0
  144. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/manager.py +2 -0
  145. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/markdown.py +1 -1
  146. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/utils.py +2 -74
  147. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/detector.py +0 -7
  148. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/diagnostics.py +0 -7
  149. kolega_code-0.48.0/kolega_code/session/composition.py +222 -0
  150. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/control.py +22 -10
  151. kolega_code-0.48.0/kolega_code/session/host_extensions.py +159 -0
  152. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/projection.py +185 -8
  153. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/runtime.py +121 -16
  154. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tool_subjects.py +61 -10
  155. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tools/__init__.py +2 -1
  156. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tools/core.py +7 -1
  157. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tools/param_aliases.py +7 -0
  158. kolega_code-0.48.0/kolega_code/web/access.py +112 -0
  159. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/assets/fold.js +81 -2
  160. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/assets/player.css +23 -0
  161. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/assets/player.js +39 -2
  162. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/hosting.py +27 -7
  163. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/server.py +30 -20
  164. {kolega_code-0.47.0 → kolega_code-0.48.0}/pyproject.toml +23 -15
  165. kolega_code-0.47.0/kolega_code/agent/eval/bundle-requirements.in +0 -4
  166. kolega_code-0.47.0/kolega_code/agent/eval/env.py +0 -302
  167. kolega_code-0.47.0/kolega_code/cli/acp.py +0 -85
  168. kolega_code-0.47.0/kolega_code/cli/session_usage.py +0 -352
  169. kolega_code-0.47.0/kolega_code/gateway/stt.py +0 -187
  170. kolega_code-0.47.0/kolega_code/llm/ledger.py +0 -442
  171. kolega_code-0.47.0/kolega_code/llm/specs/catalog/anthropic.py +0 -160
  172. kolega_code-0.47.0/kolega_code/llm/specs/catalog/cloudflare_workers_ai.py +0 -151
  173. kolega_code-0.47.0/kolega_code/llm/specs/catalog/dashscope.py +0 -17
  174. kolega_code-0.47.0/kolega_code/llm/specs/catalog/deepseek.py +0 -99
  175. kolega_code-0.47.0/kolega_code/llm/specs/catalog/fireworks.py +0 -129
  176. kolega_code-0.47.0/kolega_code/llm/specs/catalog/google.py +0 -96
  177. kolega_code-0.47.0/kolega_code/llm/specs/catalog/groq.py +0 -54
  178. kolega_code-0.47.0/kolega_code/llm/specs/catalog/kimi_coding.py +0 -105
  179. kolega_code-0.47.0/kolega_code/llm/specs/catalog/minimax.py +0 -87
  180. kolega_code-0.47.0/kolega_code/llm/specs/catalog/mistral.py +0 -163
  181. kolega_code-0.47.0/kolega_code/llm/specs/catalog/moonshot.py +0 -89
  182. kolega_code-0.47.0/kolega_code/llm/specs/catalog/ollama_cloud.py +0 -272
  183. kolega_code-0.47.0/kolega_code/llm/specs/catalog/openai.py +0 -193
  184. kolega_code-0.47.0/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -207
  185. kolega_code-0.47.0/kolega_code/llm/specs/catalog/openrouter.py +0 -3169
  186. kolega_code-0.47.0/kolega_code/llm/specs/catalog/perplexity_agent.py +0 -728
  187. kolega_code-0.47.0/kolega_code/llm/specs/catalog/thinking_machines.py +0 -38
  188. kolega_code-0.47.0/kolega_code/llm/specs/catalog/tinker.py +0 -383
  189. kolega_code-0.47.0/kolega_code/llm/specs/catalog/together.py +0 -17
  190. kolega_code-0.47.0/kolega_code/llm/specs/catalog/xai.py +0 -66
  191. kolega_code-0.47.0/kolega_code/llm/specs/catalog/zai.py +0 -57
  192. kolega_code-0.47.0/kolega_code/mcp/tools.py +0 -86
  193. {kolega_code-0.47.0 → kolega_code-0.48.0}/.gitignore +0 -0
  194. {kolega_code-0.47.0 → kolega_code-0.48.0}/LICENSE +0 -0
  195. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/LICENSE +0 -0
  196. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/manifest.json +0 -0
  197. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md +0 -0
  198. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/deep-research/references/evidence-and-reporting.md +0 -0
  199. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/deep-research/references/gigacode-workflow.md +0 -0
  200. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/deep-research.workflow +0 -0
  201. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/materialize_report.py +0 -0
  202. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/LICENSE +0 -0
  203. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/SKILL.md +0 -0
  204. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/references/examples.md +0 -0
  205. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/references/limitations.md +0 -0
  206. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/references/operations.md +0 -0
  207. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/references/quality.md +0 -0
  208. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/requirements.txt +0 -0
  209. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/scripts/docx_tool.py +0 -0
  210. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/docx/scripts/smoke_test.py +0 -0
  211. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/humanizer/LICENSE +0 -0
  212. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md +0 -0
  213. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/LICENSE +0 -0
  214. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/SKILL.md +0 -0
  215. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/references/examples.md +0 -0
  216. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/references/limitations.md +0 -0
  217. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md +0 -0
  218. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/references/operations.md +0 -0
  219. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/references/quality.md +0 -0
  220. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/references/redaction.md +0 -0
  221. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-paddle.txt +0 -0
  222. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-surya.txt +0 -0
  223. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/requirements.txt +0 -0
  224. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py +0 -0
  225. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pdf/scripts/smoke_test.py +0 -0
  226. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/LICENSE +0 -0
  227. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/SKILL.md +0 -0
  228. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/references/examples.md +0 -0
  229. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/references/limitations.md +0 -0
  230. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/references/operations.md +0 -0
  231. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/requirements.txt +0 -0
  232. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/scripts/pptx_tool.py +0 -0
  233. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/pptx/scripts/smoke_test.py +0 -0
  234. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/review/SKILL.md +0 -0
  235. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/review/references/github-publishing.md +0 -0
  236. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/skill-authoring/SKILL.md +0 -0
  237. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/skill-authoring/references/review-checklist.md +0 -0
  238. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/LICENSE +0 -0
  239. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/SKILL.md +0 -0
  240. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/references/examples.md +0 -0
  241. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/references/limitations.md +0 -0
  242. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/references/operations.md +0 -0
  243. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/references/quality.md +0 -0
  244. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt +0 -0
  245. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/smoke_test.py +0 -0
  246. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/xlsx_tool.py +0 -0
  247. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/diffs.py +0 -0
  248. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/acp/plans.py +0 -0
  249. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/browseragent.py +0 -0
  250. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/coder.py +0 -0
  251. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/common.py +0 -0
  252. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/compression.py +0 -0
  253. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/context.py +0 -0
  254. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/custom_agents.py +0 -0
  255. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/edit_protocols.py +0 -0
  256. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/errors.py +0 -0
  257. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/__init__.py +0 -0
  258. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/js_kernel.py +0 -0
  259. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/prelude.js +0 -0
  260. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/prelude.py +0 -0
  261. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/py_kernel.py +0 -0
  262. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/runner.js +0 -0
  263. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/eval/runner.py +0 -0
  264. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/generalagent.py +0 -0
  265. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/goal.py +0 -0
  266. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/handoff.py +0 -0
  267. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/investigationagent.py +0 -0
  268. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/model_routing.py +0 -0
  269. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/__init__.py +0 -0
  270. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/accounting.py +0 -0
  271. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/budget.py +0 -0
  272. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/context.py +0 -0
  273. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/errors.py +0 -0
  274. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/executor.py +0 -0
  275. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/guide.py +0 -0
  276. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/orchestration/types.py +0 -0
  277. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/planningagent.py +0 -0
  278. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_dump.py +0 -0
  279. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_overrides.py +0 -0
  280. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_provider.py +0 -0
  281. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_exhausted.user.md +0 -0
  282. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_nudge.user.md.j2 +0 -0
  283. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/truncated_turn_nudge.user.md.j2 +0 -0
  284. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
  285. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
  286. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.system.md +0 -0
  287. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.user.md.j2 +0 -0
  288. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
  289. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
  290. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/build_questions.md +0 -0
  291. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/current_plan_artifact.md.j2 +0 -0
  292. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/mode_switch_notice.md.j2 +0 -0
  293. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
  294. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/scratchpad.md.j2 +0 -0
  295. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
  296. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list_readonly.md +0 -0
  297. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/cli/worktree_control.md.j2 +0 -0
  298. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
  299. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
  300. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/coder_ask.md.j2 +0 -0
  301. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/coder_base.md.j2 +0 -0
  302. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
  303. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
  304. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
  305. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
  306. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
  307. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/context_updates.md +0 -0
  308. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
  309. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
  310. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
  311. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
  312. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
  313. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
  314. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/system/includes/terminal_tools.md +0 -0
  315. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/agent_job.md +0 -0
  316. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/apply_patch.md +0 -0
  317. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/ask_user_choice.md +0 -0
  318. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_click.md +0 -0
  319. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_close.md +0 -0
  320. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_console_messages.md +0 -0
  321. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_drag.md +0 -0
  322. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_drop.md +0 -0
  323. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_evaluate.md +0 -0
  324. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_file_upload.md +0 -0
  325. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_fill_form.md +0 -0
  326. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_find.md +0 -0
  327. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_handle_dialog.md +0 -0
  328. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_hover.md +0 -0
  329. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_navigate.md +0 -0
  330. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_navigate_back.md +0 -0
  331. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_network_request.md +0 -0
  332. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_network_requests.md +0 -0
  333. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_press_key.md +0 -0
  334. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_resize.md +0 -0
  335. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_scroll.md +0 -0
  336. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_select_option.md +0 -0
  337. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_snapshot.md +0 -0
  338. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_tabs.md +0 -0
  339. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_take_screenshot.md +0 -0
  340. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_type.md +0 -0
  341. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/browser_wait_for.md +0 -0
  342. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/build_backend.md +0 -0
  343. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/build_frontend.md +0 -0
  344. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/claude_edit.md +0 -0
  345. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/claude_write.md +0 -0
  346. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/dispatch_agent.md +0 -0
  347. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/edit.md +0 -0
  348. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/eval.md +0 -0
  349. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/exec_command.md +0 -0
  350. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/get_host.md +0 -0
  351. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/get_task_list.md +0 -0
  352. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/get_task_list_readonly.md +0 -0
  353. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/hashline_edit.md +0 -0
  354. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/hashline_write.md +0 -0
  355. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/kill_command.md +0 -0
  356. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/list_agents.md +0 -0
  357. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/list_sessions.md +0 -0
  358. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/list_subagent_models.md +0 -0
  359. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/list_workflow_runs.md +0 -0
  360. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/lsp.md +0 -0
  361. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/lsp_edit.md +0 -0
  362. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/multi_edit.md +0 -0
  363. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/read.md +0 -0
  364. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/read_image.md +0 -0
  365. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/resolve.md +0 -0
  366. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/run_workflow.md +0 -0
  367. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/send_message.md +0 -0
  368. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/set_goal.md +0 -0
  369. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/skill.md +0 -0
  370. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/snapshot.md +0 -0
  371. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/switch_worktree.md +0 -0
  372. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/update_task_list.md +0 -0
  373. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/web_fetch.md +0 -0
  374. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/web_search.md +0 -0
  375. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/write.md +0 -0
  376. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/write_plan.md +0 -0
  377. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/tools/write_stdin.md +0 -0
  378. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
  379. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
  380. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
  381. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/base_tool.py +0 -0
  382. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
  383. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/build_tool.py +0 -0
  384. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/codex_patch.py +0 -0
  385. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/edit_tool.py +0 -0
  386. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/eval_tool.py +0 -0
  387. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/hashline_v2.py +0 -0
  388. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/network_status.py +0 -0
  389. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
  390. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
  391. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
  392. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
  393. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
  394. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
  395. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
  396. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
  397. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/snapshot_tool.py +0 -0
  398. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
  399. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch/__init__.py +0 -0
  400. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch/answering.py +0 -0
  401. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch/documents.py +0 -0
  402. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch/retrieval.py +0 -0
  403. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
  404. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
  405. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
  406. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/tool_definitions.py +0 -0
  407. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/utils/commands.py +0 -0
  408. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/agent/volatile_context.py +0 -0
  409. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/auth/__init__.py +0 -0
  410. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/auth/_jwt.py +0 -0
  411. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/auth/constants.py +0 -0
  412. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/auth/tokens.py +0 -0
  413. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/__init__.py +0 -0
  414. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/framing.py +0 -0
  415. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/installer.py +0 -0
  416. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/manager.py +0 -0
  417. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/registry.py +0 -0
  418. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/browser_extension/runtime.py +0 -0
  419. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/__init__.py +0 -0
  420. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/ask_output.py +0 -0
  421. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/browser_backend.py +0 -0
  422. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/connection.py +0 -0
  423. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/cron.py +0 -0
  424. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/diagnostics.py +0 -0
  425. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/file_index.py +0 -0
  426. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/goal.py +0 -0
  427. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/loop.py +0 -0
  428. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/mentions.py +0 -0
  429. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/model_connection.py +0 -0
  430. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/plan_artifacts.py +0 -0
  431. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/prompt_history.py +0 -0
  432. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/session_event_store.py +0 -0
  433. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/theme.py +0 -0
  434. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/__init__.py +0 -0
  435. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/background_status.py +0 -0
  436. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/boot_splash.py +0 -0
  437. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/custom_model.py +0 -0
  438. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/discovery.py +0 -0
  439. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/loop_runtime.py +0 -0
  440. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/metadata.py +0 -0
  441. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/onboarding_screen.py +0 -0
  442. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/pacing.py +0 -0
  443. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/settings_widgets.py +0 -0
  444. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/shortcut_bar.py +0 -0
  445. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/startup.py +0 -0
  446. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/styles.tcss +0 -0
  447. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
  448. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/task_list.py +0 -0
  449. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/turn_status.py +0 -0
  450. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/cli/tui/widgets.py +0 -0
  451. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/extensions.py +0 -0
  452. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/__init__.py +0 -0
  453. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/access.py +0 -0
  454. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/access_settings.py +0 -0
  455. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/adapters/__init__.py +0 -0
  456. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/adapters/echo.py +0 -0
  457. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/adapters/telegram/__init__.py +0 -0
  458. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/adapters/telegram/adapter.py +0 -0
  459. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/adapters/telegram/formatting.py +0 -0
  460. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/bridge.py +0 -0
  461. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/commands.py +0 -0
  462. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/event_router.py +0 -0
  463. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/redaction.py +0 -0
  464. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/gateway/service.py +0 -0
  465. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/git_env.py +0 -0
  466. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/__init__.py +0 -0
  467. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/config.py +0 -0
  468. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/dispatcher.py +0 -0
  469. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/events.py +0 -0
  470. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/matcher.py +0 -0
  471. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/hooks/outcome.py +0 -0
  472. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/cloudflare_workers_ai.py +0 -0
  473. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/__init__.py +0 -0
  474. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/_token_encoding.py +0 -0
  475. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/base.py +0 -0
  476. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
  477. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/deepseek_responses.py +0 -0
  478. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/models.py +0 -0
  479. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/openai_responses.py +0 -0
  480. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/perplexity_responses.py +0 -0
  481. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/providers/tinker_trace.py +0 -0
  482. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/ratelimit.py +0 -0
  483. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/__init__.py +0 -0
  484. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/custom_endpoints.py +0 -0
  485. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/types.py +0 -0
  486. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/specs/validation.py +0 -0
  487. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/timeouts.py +0 -0
  488. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/llm/tool_execution_ids.py +0 -0
  489. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/local_state.py +0 -0
  490. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/mcp/__init__.py +0 -0
  491. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/mcp/state.py +0 -0
  492. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/mcp/transport.py +0 -0
  493. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/__init__.py +0 -0
  494. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/identity.py +0 -0
  495. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/manifest.py +0 -0
  496. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/models.py +0 -0
  497. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/protocol.py +0 -0
  498. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/memory/registry.py +0 -0
  499. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/models/__init__.py +0 -0
  500. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/models/sandbox_terminal_state.py +0 -0
  501. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/permissions.py +0 -0
  502. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/runtime.py +0 -0
  503. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/README.md +0 -0
  504. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/__init__.py +0 -0
  505. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/async_filesystem.py +0 -0
  506. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/base.py +0 -0
  507. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/browser.py +0 -0
  508. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/event_loop.py +0 -0
  509. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/filesystem.py +0 -0
  510. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/local.py +0 -0
  511. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/serializer.py +0 -0
  512. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/sandbox/terminal.py +0 -0
  513. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/scratchpad.py +0 -0
  514. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/security/__init__.py +0 -0
  515. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/security/secrets.py +0 -0
  516. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/base.py +0 -0
  517. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/browser.py +0 -0
  518. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/file_system.py +0 -0
  519. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/html.py +0 -0
  520. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/__init__.py +0 -0
  521. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/client.py +0 -0
  522. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/config.py +0 -0
  523. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/edits.py +0 -0
  524. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/manager.py +0 -0
  525. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/registry.py +0 -0
  526. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/lsp/registry.yaml +0 -0
  527. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/snapshots.py +0 -0
  528. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/terminal.py +0 -0
  529. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/terminal_buffer.py +0 -0
  530. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/services/workspace_scan.py +0 -0
  531. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/__init__.py +0 -0
  532. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/background.py +0 -0
  533. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/inbox.py +0 -0
  534. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/inmemory.py +0 -0
  535. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/recording.py +0 -0
  536. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/session/store.py +0 -0
  537. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/testing/__init__.py +0 -0
  538. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/testing/store_conformance.py +0 -0
  539. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tools/ask_user.py +0 -0
  540. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tools/definitions.py +0 -0
  541. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/tools/registry.py +0 -0
  542. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/utils/__init__.py +0 -0
  543. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/utils/images.py +0 -0
  544. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/__init__.py +0 -0
  545. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/assets/player.html +0 -0
  546. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/bundle.py +0 -0
  547. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/redaction.py +0 -0
  548. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/singlefile.py +0 -0
  549. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/web/theme_css.py +0 -0
  550. {kolega_code-0.47.0 → kolega_code-0.48.0}/kolega_code/worktrees.py +0 -0
@@ -6,6 +6,130 @@ This project uses GitHub Releases for detailed generated release notes. This fil
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 0.48.0 - 2026-11-06
10
+
11
+ ### Added
12
+
13
+ - **Refuseless provider.** The built-in `refuseless` provider
14
+ (`REFUSELESS_API_KEY`, or a key saved in Settings) serves five routes —
15
+ GLM-5.3 Abliterated, GLM-5.3 Flash Abliterated, DeepSeek V4.1 Flash
16
+ Abliterated, DeepSeek V4.1 Flash Fast and MiniMax M3.1 Flash — with each
17
+ route's window, output limit, thinking-effort ladder and per-million pricing in
18
+ the shared catalog. Selecting it defaults to GLM-5.3 Abliterated; saving a key
19
+ alone does not change your provider or any existing defaults. Prepaid-credit
20
+ exhaustion surfaces as a billing error, including mid-answer, instead of a
21
+ silently truncated reply.
22
+ - Gateway voice notes can transcribe through OpenAI (`gpt-transcribe`, reusing
23
+ your OpenAI key) as well as Groq, selectable under **Tools → Voice
24
+ transcription**.
25
+ - Editor sessions over ACP accept image prompts, so a host can send screenshots
26
+ and diagrams with a message.
27
+ - ACP sessions track durable usage accounting: a request's lifetime inference
28
+ survives cancellation, late usage evidence and resume, and costs resolve from
29
+ reported charges, overrides or bundled catalogue prices without network calls.
30
+
31
+ ### Changed
32
+
33
+ - The install script now lives at `https://kolega.ai/code/install.sh`, which
34
+ always serves the current script from this repository:
35
+ `curl -fsSL https://kolega.ai/code/install.sh | sh`.
36
+ - The managed Python eval kernel now always provisions CPython 3.14, independently
37
+ of the CLI's Python version, with numpy 2.5.4 and matplotlib 3.11.2. Runtime
38
+ upgrades use separate version/bundle directories, and failed builds leave
39
+ previous environments unchanged instead of falling back to an arbitrary host
40
+ interpreter. The first eval after upgrading may download the new runtime;
41
+ manually installed eval packages must be reinstalled, while configured
42
+ `eval_kernel_packages` migrate automatically. `eval_python_version` is
43
+ deprecated and ignored; `eval_python_path` remains an explicit unbundled override.
44
+ - Automatic session titles no longer get reworded after every turn: the title
45
+ generator keeps the current title unless you move the session on to a
46
+ different task. The description still updates each turn.
47
+ - Turns wait less on terminal and file tracking: ordinary terminal output is no
48
+ longer parsed character by character, a checkpoint records only the paths that
49
+ changed instead of every dirty path, and a large checkout's startup copies
50
+ finish in the background instead of holding up the first turn.
51
+ - Startup imports fewer optional SDKs: Tavily, Firecrawl, Beautiful Soup and the
52
+ HTML extractor load only when a search or fetch needs them, and aiohttp only
53
+ when an aiohttp error is mapped.
54
+ - Refreshed the OpenRouter and Ollama Cloud model catalogs.
55
+
56
+ ### Fixed
57
+
58
+ - A title set with `/retitle <title>` is now pinned. The automatic refresh after
59
+ each turn no longer replaces it, and the pin is saved with the session.
60
+ `/retitle` with no title unpins it and generates a new title and description.
61
+ - Project-memory tools now accept `file_path` as an alias for `path`, and reject
62
+ missing or unknown arguments with the tool's usage, instead of reporting an
63
+ opaque storage failure. Unexpected memory failures name the error type, and
64
+ the full error is kept in the local session log and diagnostics.
65
+ - The installer and `kolega-code update` now ask uv for a supported Python
66
+ (3.11–3.14, or 3.11–3.12 on Intel Macs), downloading one when none is
67
+ installed. Before, uv picked its newest interpreter: on Python 3.15 several
68
+ dependencies have no wheels yet, so a fresh install failed building
69
+ tiktoken from source. Intel Macs no longer get 3.13 or 3.14, whose
70
+ onnxruntime wheels are missing or need macOS 13.
71
+ - A reasoning stream that carries the reasoning tail and the first answer text in
72
+ the same delta no longer drops the start of the reply in the TUI; the stored
73
+ message was already complete.
74
+ - The TUI no longer grows to tens of gigabytes in checkouts with many untracked
75
+ files: checkpoint baselines now live in an on-disk spool capped at 10 GiB per
76
+ session and paused when the volume has under 5 GiB free, files over 8 MB are
77
+ compared by signature instead of read, and restored copies are verified by
78
+ hash.
79
+ - Saving settings repeatedly in one session no longer drops fields an earlier
80
+ save in that session had written.
81
+ - An incomplete Responses stream (OpenAI and ChatGPT) no longer starts the tool
82
+ calls it reported before the response was validated, and the truncation is
83
+ reported as an error instead of a clean turn ending.
84
+ - A goal loop now pauses after a failed turn instead of retrying the same
85
+ failing turn.
86
+ - MCP tools with colliding names can no longer inherit each other's saved
87
+ permission grants, and a server id that could be parsed as another server's
88
+ grant now gets a process-local alias.
89
+ - Hook command processes are cleaned up when a turn is cancelled.
90
+ - ACP keeps protocol stdout to itself and retains lifecycle cleanup ownership on
91
+ shutdown, so stray output or a failed close no longer corrupts an editor
92
+ session or leaves tasks behind.
93
+ - Skill activation history is per agent, so a sub-agent no longer reuses another
94
+ agent's activated skills.
95
+ - Session-journal tail recovery takes the same lock as journal writers, so
96
+ opening a session while another process is appending no longer corrupts or
97
+ duplicates its events.
98
+ - Shared replays show sub-agent lifecycle status and fold peer messages into the
99
+ transcript.
100
+ - Rewinding no longer leaves a stale diff cache reporting the content just rolled
101
+ back, the vision-override warning names the model that blocks the image, and
102
+ `exec_command` accepts `cmd=` as an alias for `command`.
103
+ - The memory screen no longer queues worker renders for rows it is pruning.
104
+
105
+ ### Security
106
+
107
+ - Live sharing now requires a token and validates Host and Origin headers for
108
+ both HTTP and WebSocket requests. Loopback and LAN links work automatically;
109
+ tunnel users must explicitly allow their public origin with
110
+ `KOLEGA_CODE_SHARE_ALLOWED_ORIGINS` before launching Kolega Code.
111
+ - Updated transformers to 5.20.2 in the optional `tinker` extra, fixing a
112
+ `save_pretrained` path traversal (CVE-2026-9856) and untrusted custom
113
+ generation code being written to disk before consent (CVE-2026-80047). The
114
+ pin was previously impossible because tinker-cookbook capped transformers
115
+ below the fixed releases; tinker-cookbook 0.5.9 lifts that cap.
116
+ - Updated the dev-only virtualenv pin to 21.14.13, closing twelve 21.14.x
117
+ activation, seed-wheel and launcher advisories that stayed an accepted risk
118
+ while langfuse held packaging below 26. langfuse moves to 4.18.0, whose
119
+ bundle includes that fix; Langfuse tracing now uses the v4
120
+ `start_observation`/`propagate_attributes` API. Traces keep the same span
121
+ names, generations, user, session and tags, but require Langfuse Cloud or a
122
+ self-hosted Langfuse server that supports the v4 SDK.
123
+
124
+ ## 0.47.1 - 2026-10-27
125
+
126
+ ### Changed
127
+
128
+ - GPT-6.1 Terra sessions on the ChatGPT-subscription provider now use the
129
+ backend's advertised 500,000-token window (372,000 input tokens after the 128K
130
+ output reservation) instead of the GPT-6 family's conservative 400,000-token
131
+ budget, so compression runs later on long sessions.
132
+
9
133
  ## 0.47.0 - 2026-10-27
10
134
 
11
135
  ### Added
@@ -120,6 +120,19 @@ You can pass additional pytest arguments through the wrapper:
120
120
  ./run_tests.sh tests/test_git_env.py -ra
121
121
  ```
122
122
 
123
+ When changing persisted settings or session event formats, also run the
124
+ previous-release compatibility check. It downloads the latest published
125
+ release and its dependencies from PyPI:
126
+
127
+ ```bash
128
+ uv run --frozen python scripts/check_previous_release_compat.py --install-previous
129
+ ```
130
+
131
+ The check covers one old-writer settings save and an ordinary append to a
132
+ complete journal, not general mixed-version concurrency, repeated old-writer
133
+ saves, or journal repair. It verifies the downloaded wheel's SHA-256; its
134
+ dependencies are resolved from PyPI without pinned hashes.
135
+
123
136
  ## Comments
124
137
 
125
138
  Comments are rare here. Write one only where the code cannot say it: a non-obvious
@@ -233,14 +233,35 @@ session in the store, including ones recorded for unrelated projects. With it,
233
233
  every other session answers 404 — not 403, which would confirm they exist.
234
234
 
235
235
  The same scope is available on the app directly, as
236
- `ServerConfig(store=..., session_ids=frozenset({...}))`. It defaults to `None`,
237
- meaning unrestricted, so a host serving its own sessions needs no change:
236
+ `ServerConfig(store=..., token=..., session_ids=frozenset({...}))`. The session
237
+ scope defaults to `None`, meaning all sessions. **A token is now required even
238
+ for loopback embedding**; missing, empty, whitespace or non-ASCII tokens are
239
+ rejected at app construction:
238
240
 
239
241
  ```python
240
- create_app(ServerConfig(store=store)) # every session, as before
241
- create_app(ServerConfig(store=store, session_ids=allowed)) # only these
242
+ import secrets
243
+
244
+ token = secrets.token_urlsafe(16)
245
+ create_app(ServerConfig(store=store, token=token)) # every session
246
+ create_app(ServerConfig(store=store, token=token, session_ids=allowed)) # only these
242
247
  ```
243
248
 
249
+ HTTP and WebSocket requests also validate Host and Origin before authentication.
250
+ `ServerConfig.allowed_hosts` defaults to `127.0.0.1`, `localhost` and `::1`; pass
251
+ the concrete hostname or address when embedding on another interface. Origins
252
+ for these native hosts must match the request's scheme, host and effective port
253
+ unless explicitly included in `ServerConfig.allowed_origins`. Additional origins
254
+ also admit their hostnames, but those inferred hosts require an exact configured
255
+ Origin rather than trusting other schemes or ports on the same hostname.
256
+ Only exact HTTP(S) origins are accepted, not paths or wildcard patterns.
257
+ An absent Origin is allowed for API clients; `Origin: null` is rejected.
258
+
259
+ `ShareServer` configures its bound address automatically. For a tunnel, pass
260
+ `allowed_origins=frozenset({"https://share.example.com"})`, or set the
261
+ comma-separated `KOLEGA_CODE_SHARE_ALLOWED_ORIGINS` process environment variable.
262
+ An explicit `allowed_origins` argument overrides the environment, including an
263
+ empty set. Forwarded headers are not trusted.
264
+
244
265
  **A served session is not redacted.** `export_bundle` scrubs every string it
245
266
  writes; this serves recorded events as they are. Anything the agent printed —
246
267
  credentials, file contents, command output — is visible to whoever holds the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kolega-code
3
- Version: 0.47.0
3
+ Version: 0.48.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/
@@ -41,7 +41,7 @@ Requires-Dist: google-genai==2.12.1
41
41
  Requires-Dist: httpx==0.28.1
42
42
  Requires-Dist: idna==3.18
43
43
  Requires-Dist: jinja2==3.1.6
44
- Requires-Dist: langfuse==3.14.5
44
+ Requires-Dist: langfuse==4.18.0
45
45
  Requires-Dist: lxml-html-clean==0.4.5
46
46
  Requires-Dist: markdownify==1.2.3
47
47
  Requires-Dist: markitdown[docx,pdf,pptx,xls,xlsx]==0.1.6
@@ -51,7 +51,7 @@ Requires-Dist: onnxruntime==1.19.2; sys_platform == 'darwin' and platform_machin
51
51
  Requires-Dist: onnxruntime==1.27.0; python_version >= '3.14' and sys_platform != 'win32'
52
52
  Requires-Dist: openai==2.46.0
53
53
  Requires-Dist: opentelemetry-api==1.45.1
54
- Requires-Dist: packaging==25.0
54
+ Requires-Dist: packaging==26.3
55
55
  Requires-Dist: pathspec==1.1.1
56
56
  Requires-Dist: pillow==13.0.0
57
57
  Requires-Dist: playwright==1.59.0
@@ -83,11 +83,12 @@ Requires-Dist: pytest-xdist==3.8.0; extra == 'dev'
83
83
  Requires-Dist: pytest==9.0.3; extra == 'dev'
84
84
  Requires-Dist: ruff==0.15.12; extra == 'dev'
85
85
  Requires-Dist: twine==6.2.0; extra == 'dev'
86
- Requires-Dist: virtualenv==21.14.5; extra == 'dev'
86
+ Requires-Dist: virtualenv==21.14.13; extra == 'dev'
87
87
  Provides-Extra: tinker
88
- Requires-Dist: tinker-cookbook==0.5.4; extra == 'tinker'
89
- Requires-Dist: tinker==0.25.0; extra == 'tinker'
88
+ Requires-Dist: tinker-cookbook==0.5.9; extra == 'tinker'
89
+ Requires-Dist: tinker==0.35.0; extra == 'tinker'
90
90
  Requires-Dist: tml-renderers==0.1.0; extra == 'tinker'
91
+ Requires-Dist: transformers==5.20.2; extra == 'tinker'
91
92
  Description-Content-Type: text/markdown
92
93
 
93
94
  # Kolega Code
@@ -200,7 +201,7 @@ for Zed, VS Code, and other ACP clients is in the
200
201
  **1. Install** with the script:
201
202
 
202
203
  ```bash
203
- curl -fsSL https://kolega.dev/install-kolega-code.sh | sh
204
+ curl -fsSL https://kolega.ai/code/install.sh | sh
204
205
  ```
205
206
 
206
207
  Or with [uv](https://docs.astral.sh/uv/) (or `pip`):
@@ -210,6 +211,10 @@ uv tool install kolega-code
210
211
  # or: pip install kolega-code
211
212
  ```
212
213
 
214
+ Kolega Code supports Python 3.11–3.14. uv uses its newest Python unless told
215
+ otherwise, so if that is 3.15 or newer add `--python 3.14` (`--python 3.12` on
216
+ Intel Macs). The install script picks a supported version for you.
217
+
213
218
  Verify the install:
214
219
 
215
220
  ```bash
@@ -108,7 +108,7 @@ for Zed, VS Code, and other ACP clients is in the
108
108
  **1. Install** with the script:
109
109
 
110
110
  ```bash
111
- curl -fsSL https://kolega.dev/install-kolega-code.sh | sh
111
+ curl -fsSL https://kolega.ai/code/install.sh | sh
112
112
  ```
113
113
 
114
114
  Or with [uv](https://docs.astral.sh/uv/) (or `pip`):
@@ -118,6 +118,10 @@ uv tool install kolega-code
118
118
  # or: pip install kolega-code
119
119
  ```
120
120
 
121
+ Kolega Code supports Python 3.11–3.14. uv uses its newest Python unless told
122
+ otherwise, so if that is 3.15 or newer add `--python 3.14` (`--python 3.12` on
123
+ Intel Macs). The install script picks a supported version for you.
124
+
121
125
  Verify the install:
122
126
 
123
127
  ```bash
@@ -1,7 +1,7 @@
1
1
  # Releasing Kolega Code
2
2
 
3
3
  This project publishes the `kolega-code` package to PyPI and serves the public
4
- installer from `https://kolega.dev/install-kolega-code.sh`. Each published
4
+ installer from `https://kolega.ai/code/install.sh`. Each published
5
5
  version should also have a GitHub Release for its matching tag.
6
6
 
7
7
  ## Release process
@@ -71,8 +71,8 @@ because those forms can select and recreate the development `.venv`.
71
71
  - Use the release date from the release PR merge.
72
72
  - Leave an empty `Unreleased` section above the new release section.
73
73
 
74
- 4. Bootstrap the dedicated release environment, run the fast test suite, and
75
- run the same pre-commit checks as CI:
74
+ 4. Bootstrap the dedicated release environment, run the fast test suite and
75
+ the same pre-commit checks as CI, and run the compatibility preflight:
76
76
 
77
77
  ```bash
78
78
  UV_PROJECT_ENVIRONMENT="$PWD/.venv-release" \
@@ -81,11 +81,17 @@ because those forms can select and recreate the development `.venv`.
81
81
  ./run_tests.sh
82
82
  UV_PROJECT_ENVIRONMENT="$PWD/.venv-release" \
83
83
  uv run pre-commit run --all-files --show-diff-on-failure
84
+ UV_PROJECT_ENVIRONMENT="$PWD/.venv-release" \
85
+ uv run --frozen python scripts/check_previous_release_compat.py --install-previous --release-preflight
84
86
  ```
85
87
 
86
88
  `UV_PROJECT_ENVIRONMENT` is inherited by pre-commit's local `pyright` hook,
87
89
  including the hook's nested `uv run`.
88
90
 
91
+ The compatibility preflight installs the latest stable PyPI release older
92
+ than the candidate in an isolated environment. Run it before opening the
93
+ release PR; it is not run by CI or the release workflow.
94
+
89
95
  To reproduce a version-specific CI failure, target the same disposable
90
96
  environment explicitly:
91
97
 
@@ -130,7 +136,7 @@ because those forms can select and recreate the development `.venv`.
130
136
  8. Verify the release:
131
137
 
132
138
  ```bash
133
- uv tool install --force kolega-code
139
+ kolega-code update
134
140
  kolega-code --version
135
141
  gh release view v0.3.2 --repo kolega-ai/kolega-code
136
142
  ```
@@ -159,24 +165,21 @@ the organization request.
159
165
  The release workflow publishes to PyPI automatically when a release tag is
160
166
  pushed; no manual deployment approval is required.
161
167
 
162
- ## Installer handoff
168
+ ## Installer
163
169
 
164
- The canonical installer source is tracked at:
170
+ The installer source is tracked at:
165
171
 
166
172
  ```text
167
173
  scripts/install-kolega-code.sh
168
174
  ```
169
175
 
170
- The `kolega.dev` site repo should publish that file verbatim at:
171
-
172
- ```text
173
- https://kolega.dev/install-kolega-code.sh
174
- ```
175
-
176
- After updating the site, verify:
176
+ `https://kolega.ai/code/install.sh` redirects to that file on `main`, via a
177
+ rule in the kolega-website repo's `next.config.mjs`. There is no copy to
178
+ publish: an installer change is live as soon as it merges, so it must work
179
+ with the release currently on PyPI. After merging one, verify:
177
180
 
178
181
  ```bash
179
- curl -fsSL https://kolega.dev/install-kolega-code.sh | sh
182
+ curl -fsSL https://kolega.ai/code/install.sh | sh
180
183
  ```
181
184
 
182
185
  ## Transfer to the PyPI organization
@@ -174,4 +174,4 @@ __all__ = [
174
174
  "parse_git_status_output",
175
175
  ]
176
176
 
177
- __version__ = "0.47.0"
177
+ __version__ = "0.48.0"
@@ -18,7 +18,7 @@ from kolega_code.acp.permissions import AcpPermissionBroker
18
18
  from kolega_code.acp.plans import task_entries_from_markdown
19
19
  from kolega_code.acp.server import AcpAgent
20
20
  from kolega_code.acp.session import AcpSession
21
- from kolega_code.acp.usage import build_usage_update, context_window_for
21
+ from kolega_code.acp.usage import build_context_usage_update, build_usage_update, context_window_for
22
22
 
23
23
  __all__ = [
24
24
  "ACP_AGENT_MODE",
@@ -33,6 +33,7 @@ __all__ = [
33
33
  "AgentFactory",
34
34
  "TOOL_KINDS",
35
35
  "build_usage_update",
36
+ "build_context_usage_update",
36
37
  "context_window_for",
37
38
  "task_entries_from_markdown",
38
39
  ]