kolega-code 0.10.0__tar.gz → 0.11.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 (434) hide show
  1. {kolega_code-0.10.0 → kolega_code-0.11.0}/CHANGELOG.md +13 -0
  2. {kolega_code-0.10.0 → kolega_code-0.11.0}/PKG-INFO +126 -65
  3. kolega_code-0.11.0/README.md +237 -0
  4. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/astro.config.mjs +2 -2
  5. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/coverage.svg +1 -1
  6. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/concepts/how-it-works.md +29 -5
  7. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/providers-and-models.mdx +6 -2
  8. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/getting-started/quick-start.mdx +20 -4
  9. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/gigacode.mdx +32 -11
  10. kolega_code-0.11.0/docs/src/content/docs/index.mdx +118 -0
  11. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/skills.mdx +2 -2
  12. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/composer.md +21 -0
  13. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/interface.md +6 -1
  14. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/slash-commands.md +5 -0
  15. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/__init__.py +1 -1
  16. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/__init__.py +1 -1
  17. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/app.py +52 -14
  18. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/messages.py +5 -0
  19. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/slash_commands.py +1 -0
  20. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/agent_runtime.py +146 -23
  21. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/command_handlers.py +7 -0
  22. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/prompt_flows.py +14 -4
  23. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/state.py +10 -0
  24. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/styles.tcss +177 -35
  25. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/transcript.py +5 -1
  26. {kolega_code-0.10.0 → kolega_code-0.11.0}/pyproject.toml +2 -2
  27. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_agent_wiring.py +1 -1
  28. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_bootstrap_settings.py +12 -6
  29. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_composer_input.py +258 -0
  30. kolega_code-0.11.0/tests/cli/test_app_permission_prompts.py +675 -0
  31. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_persistence_history.py +1 -1
  32. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_planning_questions.py +3 -3
  33. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_errors.py +3 -2
  34. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_status.py +11 -5
  35. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_tools.py +2 -2
  36. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_slash_commands.py +4 -0
  37. kolega_code-0.11.0/tests/cli/test_tui_stylesheet.py +430 -0
  38. {kolega_code-0.10.0 → kolega_code-0.11.0}/uv.lock +2 -2
  39. kolega_code-0.10.0/README.md +0 -176
  40. kolega_code-0.10.0/docs/src/content/docs/index.mdx +0 -87
  41. kolega_code-0.10.0/tests/cli/test_app_permission_prompts.py +0 -262
  42. kolega_code-0.10.0/tests/cli/test_tui_stylesheet.py +0 -119
  43. {kolega_code-0.10.0 → kolega_code-0.11.0}/.env.example +0 -0
  44. {kolega_code-0.10.0 → kolega_code-0.11.0}/.githooks/pre-commit +0 -0
  45. {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  46. {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  47. {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  48. {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/workflows/ci.yml +0 -0
  49. {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/workflows/docs.yml +0 -0
  50. {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/workflows/release.yml +0 -0
  51. {kolega_code-0.10.0 → kolega_code-0.11.0}/.gitignore +0 -0
  52. {kolega_code-0.10.0 → kolega_code-0.11.0}/.pre-commit-config.yaml +0 -0
  53. {kolega_code-0.10.0 → kolega_code-0.11.0}/CONTRIBUTING.md +0 -0
  54. {kolega_code-0.10.0 → kolega_code-0.11.0}/LICENSE +0 -0
  55. {kolega_code-0.10.0 → kolega_code-0.11.0}/RELEASING.md +0 -0
  56. {kolega_code-0.10.0 → kolega_code-0.11.0}/SECURITY.md +0 -0
  57. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/.gitignore +0 -0
  58. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/README.md +0 -0
  59. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/package-lock.json +0 -0
  60. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/package.json +0 -0
  61. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/public/favicon.svg +0 -0
  62. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/demo.gif +0 -0
  63. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/kolega-dark.svg +0 -0
  64. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/kolega-light.svg +0 -0
  65. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/ask.md +0 -0
  66. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/doctor.md +0 -0
  67. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/overview.md +0 -0
  68. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/sessions.md +0 -0
  69. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/concepts/agents.md +0 -0
  70. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/concepts/tools.md +0 -0
  71. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/environment-variables.md +0 -0
  72. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/prompt-overrides.md +0 -0
  73. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/settings-and-api-keys.mdx +0 -0
  74. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/sign-in-with-chatgpt.mdx +0 -0
  75. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/getting-started/installation.mdx +0 -0
  76. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/hooks.md +0 -0
  77. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/modes.md +0 -0
  78. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/sessions-and-resume.md +0 -0
  79. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content.config.ts +0 -0
  80. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/styles/brand.css +0 -0
  81. {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/tsconfig.json +0 -0
  82. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/baseagent.py +0 -0
  83. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/browseragent.py +0 -0
  84. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/coder.py +0 -0
  85. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/common.py +0 -0
  86. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/compression.py +0 -0
  87. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/context.py +0 -0
  88. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/conversation.py +0 -0
  89. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/errors.py +0 -0
  90. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/generalagent.py +0 -0
  91. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/investigationagent.py +0 -0
  92. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/__init__.py +0 -0
  93. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/budget.py +0 -0
  94. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/errors.py +0 -0
  95. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/executor.py +0 -0
  96. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/guide.py +0 -0
  97. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/journal.py +0 -0
  98. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/runtime.py +0 -0
  99. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/types.py +0 -0
  100. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/planningagent.py +0 -0
  101. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_dump.py +0 -0
  102. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_overrides.py +0 -0
  103. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_provider.py +0 -0
  104. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
  105. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
  106. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
  107. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
  108. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/tools/think_hard.system.md +0 -0
  109. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
  110. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
  111. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
  112. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
  113. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
  114. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
  115. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
  116. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
  117. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
  118. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
  119. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
  120. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
  121. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
  122. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
  123. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
  124. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
  125. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
  126. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompts.py +0 -0
  127. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
  128. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/base_tool.py +0 -0
  129. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
  130. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/build_tool.py +0 -0
  131. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/create_file_tool.py +0 -0
  132. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
  133. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/glob_tool.py +0 -0
  134. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/list_directory_tool.py +0 -0
  135. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
  136. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
  137. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
  138. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/replace_entire_file_tool.py +0 -0
  139. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/replace_lines_tool.py +0 -0
  140. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_and_replace_tool.py +0 -0
  141. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
  142. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
  143. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
  144. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
  145. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
  146. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
  147. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
  148. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
  149. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_codebase_tool.py +0 -0
  150. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
  151. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
  152. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/think_hard_tool.py +0 -0
  153. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
  154. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
  155. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
  156. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tools.py +0 -0
  157. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/utils/commands.py +0 -0
  158. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/__init__.py +0 -0
  159. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/_jwt.py +0 -0
  160. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/chatgpt_oauth.py +0 -0
  161. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/constants.py +0 -0
  162. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/tokens.py +0 -0
  163. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/__init__.py +0 -0
  164. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/clipboard_image.py +0 -0
  165. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/config.py +0 -0
  166. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/connection.py +0 -0
  167. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/file_index.py +0 -0
  168. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/main.py +0 -0
  169. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/mentions.py +0 -0
  170. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/provider_registry.py +0 -0
  171. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/session_store.py +0 -0
  172. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/settings.py +0 -0
  173. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/skills.py +0 -0
  174. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/theme.py +0 -0
  175. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/__init__.py +0 -0
  176. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/changes_screen.py +0 -0
  177. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/constants.py +0 -0
  178. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/session_diff.py +0 -0
  179. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/settings_panel.py +0 -0
  180. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/status_dashboard.py +0 -0
  181. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
  182. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/terminal_display.py +0 -0
  183. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/widgets.py +0 -0
  184. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/updater.py +0 -0
  185. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/config.py +0 -0
  186. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/events.py +0 -0
  187. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/__init__.py +0 -0
  188. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/backends.py +0 -0
  189. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/config.py +0 -0
  190. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/dispatcher.py +0 -0
  191. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/events.py +0 -0
  192. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/matcher.py +0 -0
  193. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/outcome.py +0 -0
  194. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/client.py +0 -0
  195. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/exceptions.py +0 -0
  196. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/instrumented_client.py +0 -0
  197. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/models.py +0 -0
  198. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/__init__.py +0 -0
  199. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/anthropic.py +0 -0
  200. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/base.py +0 -0
  201. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
  202. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/google.py +0 -0
  203. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/models.py +0 -0
  204. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/openai.py +0 -0
  205. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/openai_responses.py +0 -0
  206. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/responses_common.py +0 -0
  207. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/ratelimit.py +0 -0
  208. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/__init__.py +0 -0
  209. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/accessors.py +0 -0
  210. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/__init__.py +0 -0
  211. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
  212. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
  213. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/deepseek.py +0 -0
  214. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
  215. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/google.py +0 -0
  216. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
  217. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
  218. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/ollama_cloud.py +0 -0
  219. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/openai.py +0 -0
  220. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
  221. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/together.py +0 -0
  222. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/xai.py +0 -0
  223. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/zai.py +0 -0
  224. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/thinking.py +0 -0
  225. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/types.py +0 -0
  226. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/tool_execution_ids.py +0 -0
  227. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/local_state.py +0 -0
  228. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/models/__init__.py +0 -0
  229. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/models/sandbox_terminal_state.py +0 -0
  230. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/permissions.py +0 -0
  231. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/runtime.py +0 -0
  232. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/README.md +0 -0
  233. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/__init__.py +0 -0
  234. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/async_filesystem.py +0 -0
  235. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/base.py +0 -0
  236. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/browser.py +0 -0
  237. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/event_loop.py +0 -0
  238. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/filesystem.py +0 -0
  239. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/local.py +0 -0
  240. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/serializer.py +0 -0
  241. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/terminal.py +0 -0
  242. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/utils.py +0 -0
  243. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/base.py +0 -0
  244. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/browser.py +0 -0
  245. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/file_system.py +0 -0
  246. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/html.py +0 -0
  247. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/terminal.py +0 -0
  248. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/terminal_buffer.py +0 -0
  249. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/__init__.py +0 -0
  250. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/core.py +0 -0
  251. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/definitions.py +0 -0
  252. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/registry.py +0 -0
  253. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/utils/__init__.py +0 -0
  254. {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/utils/images.py +0 -0
  255. {kolega_code-0.10.0 → kolega_code-0.11.0}/run_tests.sh +0 -0
  256. {kolega_code-0.10.0 → kolega_code-0.11.0}/scripts/check-dev-hooks.sh +0 -0
  257. {kolega_code-0.10.0 → kolega_code-0.11.0}/scripts/install-kolega-code.sh +0 -0
  258. {kolega_code-0.10.0 → kolega_code-0.11.0}/scripts/setup-dev.sh +0 -0
  259. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/__init__.py +0 -0
  260. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/__init__.py +0 -0
  261. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/compaction_helpers.py +0 -0
  262. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/conftest.py +0 -0
  263. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/__init__.py +0 -0
  264. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/_token_counting_utils.py +0 -0
  265. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_anthropic_token_counting.py +0 -0
  266. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_billing_openai_cache.py +0 -0
  267. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_live.py +0 -0
  268. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_auth_config.py +0 -0
  269. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_conversion.py +0 -0
  270. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_provider.py +0 -0
  271. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_provider_generate.py +0 -0
  272. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_streaming.py +0 -0
  273. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_client.py +0 -0
  274. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_client_live.py +0 -0
  275. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_client_runtime.py +0 -0
  276. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_dashscope_mapping.py +0 -0
  277. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_error_boundary.py +0 -0
  278. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_exceptions.py +0 -0
  279. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_google_thought_signature.py +0 -0
  280. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_google_tool_signature_live.py +0 -0
  281. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_instrumented_client.py +0 -0
  282. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_instrumented_client_integration.py +0 -0
  283. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_instrumented_client_stream.py +0 -0
  284. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_langfuse_normalization.py +0 -0
  285. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_live_providers.py +0 -0
  286. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_message_conversion.py +0 -0
  287. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_model_specs.py +0 -0
  288. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_cached_tokens.py +0 -0
  289. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_cached_tokens_stream.py +0 -0
  290. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_message_conversion.py +0 -0
  291. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_responses_provider.py +0 -0
  292. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_token_counting.py +0 -0
  293. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_provider_usage_mapping.py +0 -0
  294. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_supports_vision.py +0 -0
  295. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_thinking_effort.py +0 -0
  296. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_tool_execution_ids.py +0 -0
  297. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/orchestration/__init__.py +0 -0
  298. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/orchestration/test_orchestration.py +0 -0
  299. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/__init__.py +0 -0
  300. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser.py +0 -0
  301. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_console_logs.py +0 -0
  302. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_content.py +0 -0
  303. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_integration.py +0 -0
  304. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_parity.py +0 -0
  305. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_file_system.py +0 -0
  306. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_file_system_integration.py +0 -0
  307. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_file_system_path.py +0 -0
  308. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_local_file_system.py +0 -0
  309. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_sandbox_terminal_input.py +0 -0
  310. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_terminal.py +0 -0
  311. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_terminal_buffer.py +0 -0
  312. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_terminal_state_serializer.py +0 -0
  313. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_agent_tools_inventory.py +0 -0
  314. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent.py +0 -0
  315. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_anthropic_history_validation.py +0 -0
  316. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_compaction.py +0 -0
  317. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_effective_history.py +0 -0
  318. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_history_serialization.py +0 -0
  319. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_prompt_context.py +0 -0
  320. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_role_overrides.py +0 -0
  321. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_runtime.py +0 -0
  322. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_tool_call_repair.py +0 -0
  323. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_tool_call_repair_integration.py +0 -0
  324. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_tool_execution.py +0 -0
  325. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_coder_attachments.py +0 -0
  326. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_coder_prompt_extensions.py +0 -0
  327. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_commands.py +0 -0
  328. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_integration.py +0 -0
  329. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_persistence.py +0 -0
  330. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_subagent.py +0 -0
  331. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_tui_events.py +0 -0
  332. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compress_command.py +0 -0
  333. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compression.py +0 -0
  334. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_conversation_compaction.py +0 -0
  335. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_duplicate_tool_results.py +0 -0
  336. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_empty_message_handling.py +0 -0
  337. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_event_emitter.py +0 -0
  338. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_general_agent.py +0 -0
  339. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_gigacode_gating.py +0 -0
  340. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_history_adapter_thinking.py +0 -0
  341. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_history_image_blocks.py +0 -0
  342. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_hooks_integration.py +0 -0
  343. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_html.py +0 -0
  344. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_image_compat.py +0 -0
  345. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_parallel_tool_calls.py +0 -0
  346. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_permissions.py +0 -0
  347. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_planning_agent.py +0 -0
  348. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompt_dump.py +0 -0
  349. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompt_overrides.py +0 -0
  350. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompt_provider.py +0 -0
  351. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompts.py +0 -0
  352. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_read_image_tool.py +0 -0
  353. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_builtin_dispatch.py +0 -0
  354. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_config.py +0 -0
  355. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_extensions.py +0 -0
  356. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_initialization.py +0 -0
  357. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_memory.py +0 -0
  358. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_registry.py +0 -0
  359. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tools.py +0 -0
  360. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/__init__.py +0 -0
  361. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_agent_tool.py +0 -0
  362. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_base_tool.py +0 -0
  363. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_browser_tool.py +0 -0
  364. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_build_tool.py +0 -0
  365. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_create_file_tool.py +0 -0
  366. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_edit_preview.py +0 -0
  367. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_glob_tool.py +0 -0
  368. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_glob_tool_sandbox_parity.py +0 -0
  369. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_list_directory_tool.py +0 -0
  370. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_read_file_tool.py +0 -0
  371. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_replace_entire_file_tool.py +0 -0
  372. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_replace_lines_tool.py +0 -0
  373. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_search_and_replace_tool.py +0 -0
  374. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_search_codebase_tool.py +0 -0
  375. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_terminal_tool.py +0 -0
  376. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_integration.py +0 -0
  377. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming.py +0 -0
  378. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming_content.py +0 -0
  379. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming_errors.py +0 -0
  380. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming_updates.py +0 -0
  381. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_web_fetch_tool.py +0 -0
  382. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_web_search_tool.py +0 -0
  383. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_workflow_tool.py +0 -0
  384. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/auth/__init__.py +0 -0
  385. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/auth/test_chatgpt_oauth.py +0 -0
  386. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/auth/test_tokens.py +0 -0
  387. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/__init__.py +0 -0
  388. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/_app_test_utils.py +0 -0
  389. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app.py +0 -0
  390. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_changes_inspector.py +0 -0
  391. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_compaction_restore.py +0 -0
  392. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_composer_commands.py +0 -0
  393. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_conversation_rendering.py +0 -0
  394. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_focus_behavior.py +0 -0
  395. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_image_vision_warning.py +0 -0
  396. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_mention_dropdown.py +0 -0
  397. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_misc_commands.py +0 -0
  398. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_model_effort_commands.py +0 -0
  399. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_model_switch_vision.py +0 -0
  400. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_modes_planning.py +0 -0
  401. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_navigation_commands.py +0 -0
  402. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_plan_lifecycle.py +0 -0
  403. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_planning_restore.py +0 -0
  404. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_entries.py +0 -0
  405. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_scroll.py +0 -0
  406. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_selection.py +0 -0
  407. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_streaming.py +0 -0
  408. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_terminal_logs.py +0 -0
  409. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_skill_commands.py +0 -0
  410. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_slash_dropdown.py +0 -0
  411. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_status_modes.py +0 -0
  412. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_sub_agents_workflows.py +0 -0
  413. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_cli_config.py +0 -0
  414. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_clipboard_image.py +0 -0
  415. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_connection.py +0 -0
  416. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_file_index.py +0 -0
  417. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_main.py +0 -0
  418. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_mentions.py +0 -0
  419. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_provider_registry.py +0 -0
  420. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_session_diff.py +0 -0
  421. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_session_store.py +0 -0
  422. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_settings.py +0 -0
  423. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_skills.py +0 -0
  424. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_terminal_display.py +0 -0
  425. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_themes.py +0 -0
  426. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_updater.py +0 -0
  427. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/conftest.py +0 -0
  428. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/hooks/__init__.py +0 -0
  429. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/hooks/test_hooks.py +0 -0
  430. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/tools/__init__.py +0 -0
  431. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/tools/test_definitions.py +0 -0
  432. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/utils/__init__.py +0 -0
  433. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/utils/test_images.py +0 -0
  434. {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/utils/test_images_ascii.py +0 -0
@@ -6,6 +6,19 @@ This project uses GitHub Releases for detailed generated release notes. This fil
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 0.11.0 - 2026-06-26
10
+
11
+ ### Added
12
+
13
+ - Added queued follow-up messages in the TUI so users can submit additional
14
+ prompts while an active turn is still running.
15
+
16
+ ### Changed
17
+
18
+ - Moved task-list status into the sidebar and refined sidebar presentation.
19
+ - Updated documentation and positioning copy for gigacode and queued follow-up
20
+ messages.
21
+
9
22
  ## 0.10.0 - 2026-06-25
10
23
 
11
24
  ### Added
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kolega-code
3
- Version: 0.10.0
4
- Summary: Local-first AI coding agent for the terminal
3
+ Version: 0.11.0
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/
7
7
  Project-URL: Repository, https://github.com/kolega-ai/kolega-code
@@ -82,7 +82,7 @@ Description-Content-Type: text/markdown
82
82
 
83
83
  # Kolega Code
84
84
 
85
- **An AI coding agent that runs in your terminal — local-first, model-agnostic, plan-then-build.**
85
+ **Multi-agent coding in the terminal.**
86
86
 
87
87
  [![PyPI version](https://img.shields.io/pypi/v/kolega-code)](https://pypi.org/project/kolega-code/)
88
88
  [![Python versions](https://img.shields.io/pypi/pyversions/kolega-code)](https://pypi.org/project/kolega-code/)
@@ -92,41 +92,65 @@ Description-Content-Type: text/markdown
92
92
  [![Docs](https://img.shields.io/badge/docs-kolega--ai.github.io-blue)](https://kolega-ai.github.io/kolega-code/)
93
93
  [![Changelog](https://img.shields.io/badge/changelog-keep%20up-blue)](CHANGELOG.md)
94
94
 
95
- Point Kolega Code at a project directory and it opens an interactive UI where you talk to an
96
- agent that can read and edit your code, run shell commands, search the codebase, browse the
97
- web, and dispatch specialized sub-agents to get work done.
98
-
99
- It's **local-first**: the agent operates on your actual filesystem and terminal, and your
100
- sessions, settings, and API keys stay on your own machine.
95
+ Kolega Code is a local-first terminal coding agent built for work that is too wide
96
+ for one loop: fan out specialized sub-agents with **Gigacode**, route different
97
+ models to different jobs, search the web, drive a browser, and keep sessions,
98
+ settings, permissions, and credentials on your machine.
101
99
 
102
100
  ![Kolega Code in action](docs/src/assets/demo.gif)
103
101
 
104
- ## Why Kolega Code
105
-
106
- - **Plans before it builds.** A read-only **Plan mode** produces a reviewable plan and a
107
- shared task list before anything changes; **Build mode** implements it. Toggle with `Shift+Tab`.
108
- - **Orchestrates many agents.** For larger jobs, the main agent dispatches specialized
109
- sub-agents (investigation, browser, coding, general) and can fan them out in parallel for
110
- broad audits, large migrations, or implementing a plan's independent parts at once.
111
- - **Local-first by design.** It works on your real files and terminal; sessions, settings,
112
- and credentials live on your machine, not in someone else's cloud.
113
- - **Bring your own model.** Talks to a range of providers and lets you assign different models
114
- to different roles.
115
-
116
- ## What it does
117
-
118
- - **Reads and edits your code.** Opens files, searches across the codebase, creates new files,
119
- and applies precise edits.
120
- - **Runs commands.** Executes shell commands and watches their output in a dedicated terminal view.
121
- - **Plans before it builds.** Plan mode investigates and proposes; Build mode executes.
122
- - **Searches and browses the web.** The agent can search for relevant pages, fetch URLs
123
- directly, or use the built-in browser agent (powered by Playwright) when a task needs
124
- site interaction.
125
- - **Dispatches sub-agents.** Hands work off to specialized agents and tracks their activity live.
126
- - **Orchestrates workflows.** With [gigacode](https://kolega-ai.github.io/kolega-code/gigacode/),
127
- it fans out many sub-agents in parallel.
128
- - **Works non-interactively too.** Run a single prompt with `kolega-code ask`, get JSON output,
129
- and save or resume sessions.
102
+ ## Built for work one agent cannot cover
103
+
104
+ Most terminal agents are strongest when one model can reason through one task at a
105
+ time. Kolega Code keeps that familiar workflow, then adds orchestration for broad work:
106
+ large audits, sweeping migrations, cross-file checks, adversarial reviews, and
107
+ implementation plans whose pieces can run independently.
108
+
109
+ With [Gigacode](https://kolega-ai.github.io/kolega-code/gigacode/), Kolega Code can:
110
+
111
+ - **Fan out many sub-agents at once.** Split a wide codebase review by package,
112
+ assign independent implementation tasks, or run checks across many directories in
113
+ parallel.
114
+ - **Use real workflow shapes.** The agent can generate parallel phases, pipelines,
115
+ loops, judge panels, and synthesis steps instead of only delegating one task at a
116
+ time.
117
+ - **Keep orchestration visible.** Workflow phase headers and progress lines appear
118
+ in the transcript; the sub-agent inspector shows each agent's live trajectory.
119
+ - **Save inspectable artifacts.** Each run keeps the generated workflow script,
120
+ result files, a Markdown transcript, raw JSONL, a resume journal, and debug
121
+ sub-agent transcripts under Kolega Code's state directory.
122
+ - **Run in either mode.** In Plan mode, workflow sub-agents stay read-only for
123
+ parallel investigation. In Build mode, they can use the full coding toolset.
124
+ - **Resume interrupted runs.** Finished workflow steps are journaled so a deliberate
125
+ resume does not have to restart the whole fan-out.
126
+
127
+ Use normal chat for focused changes. Turn on Gigacode when the problem is broad
128
+ enough that one serial agent pass would be the bottleneck.
129
+
130
+ ## Features
131
+
132
+ - **Gigacode orchestration:** parallel, pipelined, looped, judged, and synthesized
133
+ multi-agent workflows with saved artifacts and resume support.
134
+ - **Specialized sub-agents:** planning, building/coder, investigation, general, and
135
+ browser agents, with live activity tracking in the TUI.
136
+ - **Repo tools:** read and search code, create files, apply precise edits, and inspect
137
+ session changes/diffs.
138
+ - **Terminal execution:** run shell commands with streamed output and project-level
139
+ permission controls.
140
+ - **Plan/build workflow:** use read-only Plan mode for investigation and a reviewable
141
+ task list, then Build mode to implement.
142
+ - **Web search and browsing:** DuckDuckGo works by default with no key; Firecrawl,
143
+ Tavily, and SearXNG are configurable search backends. Kolega Code can also fetch URLs
144
+ directly and use a Playwright-powered browser agent for interactive sites.
145
+ - **Model routing:** choose provider/model combinations, set thinking effort, split
146
+ long-context/fast/thinking roles, and override models per agent role.
147
+ - **Interactive or scriptable:** use the Textual TUI, queue follow-up prompts
148
+ while the agent is working, run `kolega-code ask`, request JSON output,
149
+ list/export/resume sessions, and diagnose setup with `doctor`.
150
+ - **Extensibility:** add agent skills, override prompts with project templates, run
151
+ lifecycle hooks, and persist project permission rules.
152
+ - **Local-first state:** sessions, settings, permissions, OAuth tokens, and API-key
153
+ settings stay on your machine with restrictive permissions where applicable.
130
154
 
131
155
  ## Quick start
132
156
 
@@ -155,8 +179,9 @@ kolega-code --version
155
179
  kolega-code .
156
180
  ```
157
181
 
158
- **3. Add a provider key.** Open the **Settings** tab to pick a provider and model and save your
159
- API key. Then press `Shift+Tab` anytime to switch between **Plan** and **Build** mode.
182
+ **3. Add a provider key.** Open the **Settings** tab to pick a provider/model and
183
+ save your API key. Use `Shift+Tab` to switch between **Plan** and **Build** mode,
184
+ or run `/gigacode on` when a task is broad enough for fan-out.
160
185
 
161
186
  Resume a previous conversation:
162
187
 
@@ -169,7 +194,7 @@ kolega-code . --resume <id> # a specific thread or session
169
194
 
170
195
  | Mode | Command | Best for |
171
196
  | --- | --- | --- |
172
- | **Interactive TUI** | `kolega-code .` | Day-to-day development, exploration, pair-programming |
197
+ | **Interactive TUI** | `kolega-code .` | Day-to-day development, exploration, orchestration |
173
198
  | **One-shot** | `kolega-code ask "…"` | Scripting, automation, quick questions, CI |
174
199
 
175
200
  There are also helper commands for managing sessions and checking your setup:
@@ -180,25 +205,60 @@ kolega-code sessions list --project .
180
205
  kolega-code doctor --project .
181
206
  ```
182
207
 
183
- ## Bring your own model
208
+ ## Supported providers
209
+
210
+ Kolega Code supports a broad model-provider catalog and lets you route models by
211
+ role instead of forcing one model to do every job.
212
+
213
+ Supported model providers:
214
+
215
+ - Anthropic
216
+ - OpenAI API
217
+ - OpenAI via ChatGPT subscription sign-in
218
+ - Google
219
+ - Groq
220
+ - Together.ai
221
+ - Fireworks.ai
222
+ - xAI / Grok
223
+ - DashScope / Qwen
224
+ - Moonshot / Kimi
225
+ - DeepSeek
226
+ - Z.AI / GLM Coding Plan
227
+ - Kimi Coding Plan
228
+ - Ollama Cloud
229
+ - local Llama
230
+
231
+ Supported web-search backends:
232
+
233
+ - DuckDuckGo — default, no key required
234
+ - Firecrawl
235
+ - Tavily
236
+ - SearXNG — self-hosted option
237
+
238
+ See [Providers & Models](https://kolega-ai.github.io/kolega-code/configuration/providers-and-models/)
239
+ for model IDs, role configuration, API-key variables, and thinking-effort options.
240
+
241
+ ## Model routing
184
242
 
185
- Kolega Code talks to a range of LLM providers including Anthropic, OpenAI, Google, Moonshot,
186
- and DeepSeek and lets you assign **different models to different roles**: a strong
187
- long-context model for coding, a fast cheap model for small utility calls, and one for extended
188
- "thinking". See [Providers & Models](https://kolega-ai.github.io/kolega-code/configuration/providers-and-models/).
243
+ Kolega Code can assign different models to different operational roles: a strong
244
+ long-context model for the main coding loop, a faster model for utility calls, and
245
+ a dedicated model for extended thinking. You can also override models per agent
246
+ role planning, building, investigation, general, and browser — so wide workflows
247
+ can use cheaper models where they fit and stronger models where they matter.
189
248
 
190
249
  ## Sign in with ChatGPT
191
250
 
192
- If you have a paid **ChatGPT** plan (Plus, Pro, or Business), you can use it to run OpenAI models
193
- instead of a separate API key. Run `/login chatgpt` in the TUI, complete the browser sign-in, and
194
- Kolega Code switches to the **OpenAI (ChatGPT subscription)** provider (default `gpt-5.5`). Tokens are
195
- stored locally (chmod `600`) and refreshed automatically; `/logout chatgpt` removes them. See
251
+ If you have a paid **ChatGPT** plan (Plus, Pro, or Business), you can use it to run
252
+ OpenAI models instead of a separate API key. Run `/login chatgpt` in the TUI,
253
+ complete the browser sign-in, and Kolega Code switches to the **OpenAI (ChatGPT
254
+ subscription)** provider (default `gpt-5.5`). Tokens are stored locally (chmod
255
+ `600`) and refreshed automatically; `/logout chatgpt` removes them. See
196
256
  [Sign in with ChatGPT](https://kolega-ai.github.io/kolega-code/configuration/sign-in-with-chatgpt/).
197
257
 
198
258
  ## Configuration
199
259
 
200
- Set your provider, model, and API keys from the **Settings** tab in the UI, or via environment
201
- variables and flags for non-interactive use:
260
+ Set your provider, model, and API keys from the **Settings** tab in the UI, or via
261
+ environment variables and flags for non-interactive use:
202
262
 
203
263
  ```bash
204
264
  export KOLEGA_CODE_PROVIDER=deepseek
@@ -206,27 +266,28 @@ export DEEPSEEK_API_KEY=...
206
266
  kolega-code ask "summarize this repository" --project . --provider deepseek --model deepseek-v4-pro
207
267
  ```
208
268
 
209
- API key variables only provide credentials — pick a provider/model explicitly or save one in
210
- Settings. Local session state lives under your platform's state directory unless
211
- `KOLEGA_CODE_STATE_DIR` is set. See the
269
+ API key variables only provide credentials — pick a provider/model explicitly or
270
+ save one in Settings. Local session state lives under your platform's state
271
+ directory unless `KOLEGA_CODE_STATE_DIR` is set. See the
212
272
  [Configuration docs](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
213
273
  for the full story.
214
274
 
215
- The `web_search` tool uses DuckDuckGo by default without a key. To choose another backend,
216
- set it in **Settings** or export `KOLEGA_CODE_WEB_SEARCH_BACKEND` as `firecrawl`, `tavily`,
217
- or `searxng`; use `FIRECRAWL_API_KEY`, `TAVILY_API_KEY`, or `SEARXNG_BASE_URL` as needed.
275
+ The `web_search` tool uses DuckDuckGo by default without a key. To choose another
276
+ backend, set it in **Settings** or export `KOLEGA_CODE_WEB_SEARCH_BACKEND` as
277
+ `firecrawl`, `tavily`, or `searxng`; use `FIRECRAWL_API_KEY`, `TAVILY_API_KEY`, or
278
+ `SEARXNG_BASE_URL` as needed.
218
279
 
219
- Projects can also override Kolega Code's base prompts with uppercase Markdown templates in
220
- `.kolega/prompts/`. Generate editable starters with Jinja replacement tags using `/prompts dump`
221
- in the TUI or `kolega-code prompts dump --project .` in a terminal. To dump only selected
222
- starters, pass prompt names such as `coder`, `planning`, or `compaction` (filename aliases
223
- like `CODER.md` work too). Validate existing overrides with `/prompts validate` or
224
- `kolega-code prompts validate --project .`.
280
+ Projects can override Kolega Code's base prompts with uppercase Markdown templates
281
+ in `.kolega/prompts/`. Generate editable starters with Jinja replacement tags using
282
+ `/prompts dump` in the TUI or `kolega-code prompts dump --project .` in a terminal.
283
+ To dump only selected starters, pass prompt names such as `coder`, `planning`, or
284
+ `compaction` (filename aliases like `CODER.md` work too). Validate existing
285
+ overrides with `/prompts validate` or `kolega-code prompts validate --project .`.
225
286
 
226
287
  ## Requirements
227
288
 
228
289
  - **Python 3.11+**
229
- - An **API key** for at least one supported provider
290
+ - An **API key**, ChatGPT sign-in, or local model for at least one supported model provider
230
291
  - A terminal that supports a modern TUI (most do)
231
292
 
232
293
  ## Documentation
@@ -249,9 +310,9 @@ Full documentation lives at **[kolega-ai.github.io/kolega-code](https://kolega-a
249
310
 
250
311
  ## Contributing
251
312
 
252
- Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for local setup, running the
253
- test suite, and building the docs site. Please report security issues privately per
254
- [SECURITY.md](SECURITY.md).
313
+ Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for local setup,
314
+ running the test suite, and building the docs site. Please report security issues
315
+ privately per [SECURITY.md](SECURITY.md).
255
316
 
256
317
  ## License
257
318
 
@@ -0,0 +1,237 @@
1
+ # Kolega Code
2
+
3
+ **Multi-agent coding in the terminal.**
4
+
5
+ [![PyPI version](https://img.shields.io/pypi/v/kolega-code)](https://pypi.org/project/kolega-code/)
6
+ [![Python versions](https://img.shields.io/pypi/pyversions/kolega-code)](https://pypi.org/project/kolega-code/)
7
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
8
+ [![CI](https://github.com/kolega-ai/kolega-code/actions/workflows/ci.yml/badge.svg)](https://github.com/kolega-ai/kolega-code/actions/workflows/ci.yml)
9
+ [![Coverage](docs/src/assets/coverage.svg)](https://github.com/kolega-ai/kolega-code/actions/workflows/ci.yml)
10
+ [![Docs](https://img.shields.io/badge/docs-kolega--ai.github.io-blue)](https://kolega-ai.github.io/kolega-code/)
11
+ [![Changelog](https://img.shields.io/badge/changelog-keep%20up-blue)](CHANGELOG.md)
12
+
13
+ Kolega Code is a local-first terminal coding agent built for work that is too wide
14
+ for one loop: fan out specialized sub-agents with **Gigacode**, route different
15
+ models to different jobs, search the web, drive a browser, and keep sessions,
16
+ settings, permissions, and credentials on your machine.
17
+
18
+ ![Kolega Code in action](docs/src/assets/demo.gif)
19
+
20
+ ## Built for work one agent cannot cover
21
+
22
+ Most terminal agents are strongest when one model can reason through one task at a
23
+ time. Kolega Code keeps that familiar workflow, then adds orchestration for broad work:
24
+ large audits, sweeping migrations, cross-file checks, adversarial reviews, and
25
+ implementation plans whose pieces can run independently.
26
+
27
+ With [Gigacode](https://kolega-ai.github.io/kolega-code/gigacode/), Kolega Code can:
28
+
29
+ - **Fan out many sub-agents at once.** Split a wide codebase review by package,
30
+ assign independent implementation tasks, or run checks across many directories in
31
+ parallel.
32
+ - **Use real workflow shapes.** The agent can generate parallel phases, pipelines,
33
+ loops, judge panels, and synthesis steps instead of only delegating one task at a
34
+ time.
35
+ - **Keep orchestration visible.** Workflow phase headers and progress lines appear
36
+ in the transcript; the sub-agent inspector shows each agent's live trajectory.
37
+ - **Save inspectable artifacts.** Each run keeps the generated workflow script,
38
+ result files, a Markdown transcript, raw JSONL, a resume journal, and debug
39
+ sub-agent transcripts under Kolega Code's state directory.
40
+ - **Run in either mode.** In Plan mode, workflow sub-agents stay read-only for
41
+ parallel investigation. In Build mode, they can use the full coding toolset.
42
+ - **Resume interrupted runs.** Finished workflow steps are journaled so a deliberate
43
+ resume does not have to restart the whole fan-out.
44
+
45
+ Use normal chat for focused changes. Turn on Gigacode when the problem is broad
46
+ enough that one serial agent pass would be the bottleneck.
47
+
48
+ ## Features
49
+
50
+ - **Gigacode orchestration:** parallel, pipelined, looped, judged, and synthesized
51
+ multi-agent workflows with saved artifacts and resume support.
52
+ - **Specialized sub-agents:** planning, building/coder, investigation, general, and
53
+ browser agents, with live activity tracking in the TUI.
54
+ - **Repo tools:** read and search code, create files, apply precise edits, and inspect
55
+ session changes/diffs.
56
+ - **Terminal execution:** run shell commands with streamed output and project-level
57
+ permission controls.
58
+ - **Plan/build workflow:** use read-only Plan mode for investigation and a reviewable
59
+ task list, then Build mode to implement.
60
+ - **Web search and browsing:** DuckDuckGo works by default with no key; Firecrawl,
61
+ Tavily, and SearXNG are configurable search backends. Kolega Code can also fetch URLs
62
+ directly and use a Playwright-powered browser agent for interactive sites.
63
+ - **Model routing:** choose provider/model combinations, set thinking effort, split
64
+ long-context/fast/thinking roles, and override models per agent role.
65
+ - **Interactive or scriptable:** use the Textual TUI, queue follow-up prompts
66
+ while the agent is working, run `kolega-code ask`, request JSON output,
67
+ list/export/resume sessions, and diagnose setup with `doctor`.
68
+ - **Extensibility:** add agent skills, override prompts with project templates, run
69
+ lifecycle hooks, and persist project permission rules.
70
+ - **Local-first state:** sessions, settings, permissions, OAuth tokens, and API-key
71
+ settings stay on your machine with restrictive permissions where applicable.
72
+
73
+ ## Quick start
74
+
75
+ **1. Install** with the script:
76
+
77
+ ```bash
78
+ curl -fsSL https://kolega.dev/install-kolega-code.sh | sh
79
+ ```
80
+
81
+ Or with [uv](https://docs.astral.sh/uv/) (or `pip`):
82
+
83
+ ```bash
84
+ uv tool install kolega-code
85
+ # or: pip install kolega-code
86
+ ```
87
+
88
+ Verify the install:
89
+
90
+ ```bash
91
+ kolega-code --version
92
+ ```
93
+
94
+ **2. Start a session** in your project:
95
+
96
+ ```bash
97
+ kolega-code .
98
+ ```
99
+
100
+ **3. Add a provider key.** Open the **Settings** tab to pick a provider/model and
101
+ save your API key. Use `Shift+Tab` to switch between **Plan** and **Build** mode,
102
+ or run `/gigacode on` when a task is broad enough for fan-out.
103
+
104
+ Resume a previous conversation:
105
+
106
+ ```bash
107
+ kolega-code . --resume # latest session
108
+ kolega-code . --resume <id> # a specific thread or session
109
+ ```
110
+
111
+ ## Two ways to use it
112
+
113
+ | Mode | Command | Best for |
114
+ | --- | --- | --- |
115
+ | **Interactive TUI** | `kolega-code .` | Day-to-day development, exploration, orchestration |
116
+ | **One-shot** | `kolega-code ask "…"` | Scripting, automation, quick questions, CI |
117
+
118
+ There are also helper commands for managing sessions and checking your setup:
119
+
120
+ ```bash
121
+ kolega-code ask "summarize this repository" --project .
122
+ kolega-code sessions list --project .
123
+ kolega-code doctor --project .
124
+ ```
125
+
126
+ ## Supported providers
127
+
128
+ Kolega Code supports a broad model-provider catalog and lets you route models by
129
+ role instead of forcing one model to do every job.
130
+
131
+ Supported model providers:
132
+
133
+ - Anthropic
134
+ - OpenAI API
135
+ - OpenAI via ChatGPT subscription sign-in
136
+ - Google
137
+ - Groq
138
+ - Together.ai
139
+ - Fireworks.ai
140
+ - xAI / Grok
141
+ - DashScope / Qwen
142
+ - Moonshot / Kimi
143
+ - DeepSeek
144
+ - Z.AI / GLM Coding Plan
145
+ - Kimi Coding Plan
146
+ - Ollama Cloud
147
+ - local Llama
148
+
149
+ Supported web-search backends:
150
+
151
+ - DuckDuckGo — default, no key required
152
+ - Firecrawl
153
+ - Tavily
154
+ - SearXNG — self-hosted option
155
+
156
+ See [Providers & Models](https://kolega-ai.github.io/kolega-code/configuration/providers-and-models/)
157
+ for model IDs, role configuration, API-key variables, and thinking-effort options.
158
+
159
+ ## Model routing
160
+
161
+ Kolega Code can assign different models to different operational roles: a strong
162
+ long-context model for the main coding loop, a faster model for utility calls, and
163
+ a dedicated model for extended thinking. You can also override models per agent
164
+ role — planning, building, investigation, general, and browser — so wide workflows
165
+ can use cheaper models where they fit and stronger models where they matter.
166
+
167
+ ## Sign in with ChatGPT
168
+
169
+ If you have a paid **ChatGPT** plan (Plus, Pro, or Business), you can use it to run
170
+ OpenAI models instead of a separate API key. Run `/login chatgpt` in the TUI,
171
+ complete the browser sign-in, and Kolega Code switches to the **OpenAI (ChatGPT
172
+ subscription)** provider (default `gpt-5.5`). Tokens are stored locally (chmod
173
+ `600`) and refreshed automatically; `/logout chatgpt` removes them. See
174
+ [Sign in with ChatGPT](https://kolega-ai.github.io/kolega-code/configuration/sign-in-with-chatgpt/).
175
+
176
+ ## Configuration
177
+
178
+ Set your provider, model, and API keys from the **Settings** tab in the UI, or via
179
+ environment variables and flags for non-interactive use:
180
+
181
+ ```bash
182
+ export KOLEGA_CODE_PROVIDER=deepseek
183
+ export DEEPSEEK_API_KEY=...
184
+ kolega-code ask "summarize this repository" --project . --provider deepseek --model deepseek-v4-pro
185
+ ```
186
+
187
+ API key variables only provide credentials — pick a provider/model explicitly or
188
+ save one in Settings. Local session state lives under your platform's state
189
+ directory unless `KOLEGA_CODE_STATE_DIR` is set. See the
190
+ [Configuration docs](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
191
+ for the full story.
192
+
193
+ The `web_search` tool uses DuckDuckGo by default without a key. To choose another
194
+ backend, set it in **Settings** or export `KOLEGA_CODE_WEB_SEARCH_BACKEND` as
195
+ `firecrawl`, `tavily`, or `searxng`; use `FIRECRAWL_API_KEY`, `TAVILY_API_KEY`, or
196
+ `SEARXNG_BASE_URL` as needed.
197
+
198
+ Projects can override Kolega Code's base prompts with uppercase Markdown templates
199
+ in `.kolega/prompts/`. Generate editable starters with Jinja replacement tags using
200
+ `/prompts dump` in the TUI or `kolega-code prompts dump --project .` in a terminal.
201
+ To dump only selected starters, pass prompt names such as `coder`, `planning`, or
202
+ `compaction` (filename aliases like `CODER.md` work too). Validate existing
203
+ overrides with `/prompts validate` or `kolega-code prompts validate --project .`.
204
+
205
+ ## Requirements
206
+
207
+ - **Python 3.11+**
208
+ - An **API key**, ChatGPT sign-in, or local model for at least one supported model provider
209
+ - A terminal that supports a modern TUI (most do)
210
+
211
+ ## Documentation
212
+
213
+ Full documentation lives at **[kolega-ai.github.io/kolega-code](https://kolega-ai.github.io/kolega-code/)**:
214
+
215
+ - [Quick Start](https://kolega-ai.github.io/kolega-code/getting-started/quick-start/)
216
+ - [CLI overview](https://kolega-ai.github.io/kolega-code/cli/overview/)
217
+ - [How it works & concepts](https://kolega-ai.github.io/kolega-code/concepts/how-it-works/)
218
+ - [Configuration](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
219
+
220
+ ## Project resources
221
+
222
+ - [Documentation](https://kolega-ai.github.io/kolega-code/)
223
+ - [Releases](https://github.com/kolega-ai/kolega-code/releases)
224
+ - [Changelog](CHANGELOG.md)
225
+ - [Contributing](CONTRIBUTING.md)
226
+ - [Security policy](SECURITY.md)
227
+ - [Issue tracker](https://github.com/kolega-ai/kolega-code/issues)
228
+
229
+ ## Contributing
230
+
231
+ Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for local setup,
232
+ running the test suite, and building the docs site. Please report security issues
233
+ privately per [SECURITY.md](SECURITY.md).
234
+
235
+ ## License
236
+
237
+ Released under the [MIT License](LICENSE).
@@ -13,8 +13,8 @@ export default defineConfig({
13
13
  starlight({
14
14
  title: "Kolega Code",
15
15
  description:
16
- "A local-first, terminal AI coding agent. Plan, build, and ship from your CLI.",
17
- // The Kolega "</>" mark, alongside the "Kolega Code" wordmark in the nav.
16
+ "Multi-agent terminal coding with local state, model routing, web search, and browser automation.",
17
+ // The company "</>" mark, alongside the "Kolega Code" wordmark in the nav.
18
18
  logo: {
19
19
  light: "./src/assets/kolega-light.svg",
20
20
  dark: "./src/assets/kolega-dark.svg",
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 80.49%"><title>coverage: 80.49%</title><filter id="blur"><feGaussianBlur stdDeviation="16"/></filter><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#67ac09"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="315" y="150" fill-opacity=".8" filter="url(#blur)" textLength="510">coverage</text><text x="315" y="150" fill-opacity=".3" textLength="510">coverage</text></g><text x="315" y="140" textLength="510">coverage</text></g><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="865" y="150" fill-opacity=".8" filter="url(#blur)" textLength="430">80.49%</text><text x="865" y="150" fill-opacity=".3" textLength="430">80.49%</text></g><text x="865" y="140" textLength="430">80.49%</text></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 80.66%"><title>coverage: 80.66%</title><filter id="blur"><feGaussianBlur stdDeviation="16"/></filter><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#67ac09"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="315" y="150" fill-opacity=".8" filter="url(#blur)" textLength="510">coverage</text><text x="315" y="150" fill-opacity=".3" textLength="510">coverage</text></g><text x="315" y="140" textLength="510">coverage</text></g><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="865" y="150" fill-opacity=".8" filter="url(#blur)" textLength="430">80.66%</text><text x="865" y="150" fill-opacity=".3" textLength="430">80.66%</text></g><text x="865" y="140" textLength="430">80.66%</text></g></g></svg>
@@ -3,9 +3,13 @@ title: Architecture
3
3
  description: A high-level look at how Kolega Code works under the hood.
4
4
  ---
5
5
 
6
- You don't need to know the internals to use Kolega Code, but a mental model helps
7
- when you're debugging behavior or extending it. This is a light overview — not an
8
- API reference.
6
+ A terminal agent loop with tools is the baseline. Kolega Code keeps that loop, then
7
+ adds the pieces that matter for wider work: mode boundaries, evented local
8
+ execution, specialized sub-agent dispatch, role-specific models, and
9
+ [Gigacode](../../gigacode/) workflow orchestration.
10
+
11
+ You don't need the internals for everyday use, but this mental model helps when
12
+ you're debugging behavior, choosing models, or deciding when a task should fan out.
9
13
 
10
14
  ## The agent loop
11
15
 
@@ -38,6 +42,20 @@ work — investigating the codebase, driving a browser, or handling a self-conta
38
42
  coding task — and track their progress. Different agent types expose different
39
43
  toolsets. See [Agents](../agents/).
40
44
 
45
+ Sub-agents are useful one at a time, but they become more powerful when a task can
46
+ be split across independent workstreams. That's what Gigacode automates.
47
+
48
+ ## Gigacode workflows
49
+
50
+ With [Gigacode](../../gigacode/) enabled, Kolega Code can write a small workflow that
51
+ launches many sub-agents, organizes them into phases, and synthesizes their
52
+ results. Workflows can run broad audits, migration checks, implementation batches,
53
+ or review panels without forcing one model to do every step serially.
54
+
55
+ Workflow runs are evented like normal agent work, so the TUI can show phase
56
+ progress and sub-agent activity. They also save artifacts — result files,
57
+ transcripts, raw JSONL, and a resume journal — under Kolega Code's state directory.
58
+
41
59
  ## Models per role
42
60
 
43
61
  A single turn may use more than one model. The main reasoning runs on the
@@ -45,6 +63,11 @@ A single turn may use more than one model. The main reasoning runs on the
45
63
  reasoning uses the **thinking** model. You control each independently — see
46
64
  [Providers & Models](../../configuration/providers-and-models/).
47
65
 
66
+ Kolega Code can also override models per agent role: planning, building, investigation,
67
+ general, and browser. This lets wide workflows put cheaper or faster models on
68
+ routine investigation while reserving stronger models for implementation or
69
+ synthesis.
70
+
48
71
  ## Local execution
49
72
 
50
73
  Kolega Code runs against your real environment:
@@ -53,5 +76,6 @@ Kolega Code runs against your real environment:
53
76
  - **Terminal** — runs shell commands and streams their output.
54
77
  - **Browser** — automates a real browser (via Playwright) for web tasks.
55
78
 
56
- Sessions and settings are persisted locally. This local-first design is what makes
57
- the agent useful for real development work rather than a sandboxed demo.
79
+ Sessions, settings, permissions, and credentials are persisted locally. That local
80
+ state is what lets Kolega Code operate on a real development workspace while preserving
81
+ resumable sessions and project-specific controls.
@@ -8,6 +8,10 @@ import { Aside, Steps } from '@astrojs/starlight/components';
8
8
  Kolega Code is provider-agnostic. You choose which LLM provider to use and which
9
9
  model to use for each of several **roles**.
10
10
 
11
+ Provider breadth is table stakes; Kolega Code's extra control is assigning models by
12
+ operational role and by agent role, so cheap/fast models can investigate while
13
+ stronger models plan, build, or think.
14
+
11
15
  ## Supported providers
12
16
 
13
17
  The agent runtime recognizes these providers:
@@ -51,7 +55,7 @@ with thinking effort `auto` (enabled) requests route to **K2.7 Code**, and with
51
55
  OpenAI-compatible API at `https://ollama.com/v1` with `OLLAMA_API_KEY`. Kolega
52
56
  Code uses the direct API model IDs returned by Ollama, such as **`glm-5.2`** and
53
57
  **`gpt-oss:120b`**, rather than local Ollama aliases such as `:cloud` or
54
- `-cloud`. Ollama may deprecate or retire older cloud models, so the supported
58
+ `-cloud`. Ollama may deprecate or retire older cloud models, so Kolega Code's supported
55
59
  model catalog should be refreshed periodically from Ollama's model library/API.
56
60
  </Aside>
57
61
 
@@ -165,7 +169,7 @@ Thinking effort is model-specific. Kolega Code validates the selected value
165
169
  against the active model and resets it to the new model's default when you switch
166
170
  models in the TUI.
167
171
 
168
- | Provider/model | Values | Kolega default |
172
+ | Provider/model | Values | Kolega Code default |
169
173
  | --- | --- | --- |
170
174
  | Anthropic `claude-opus-4-7` | `low`, `medium`, `high`, `xhigh`, `max` | `medium` |
171
175
  | DeepSeek `deepseek-v4-pro` | `none`, `high`, `max` | `high` |