kolega-code 0.3.0__tar.gz → 0.3.1__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 (220) hide show
  1. {kolega_code-0.3.0 → kolega_code-0.3.1}/.github/workflows/docs.yml +1 -1
  2. {kolega_code-0.3.0 → kolega_code-0.3.1}/.github/workflows/release.yml +34 -0
  3. {kolega_code-0.3.0 → kolega_code-0.3.1}/PKG-INFO +1 -2
  4. {kolega_code-0.3.0 → kolega_code-0.3.1}/RELEASING.md +41 -19
  5. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/package-lock.json +498 -713
  6. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/package.json +2 -2
  7. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/__init__.py +1 -1
  8. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/__init__.py +1 -1
  9. {kolega_code-0.3.0 → kolega_code-0.3.1}/pyproject.toml +1 -2
  10. {kolega_code-0.3.0 → kolega_code-0.3.1}/uv.lock +2 -583
  11. {kolega_code-0.3.0 → kolega_code-0.3.1}/.env.example +0 -0
  12. {kolega_code-0.3.0 → kolega_code-0.3.1}/.github/workflows/ci.yml +0 -0
  13. {kolega_code-0.3.0 → kolega_code-0.3.1}/.gitignore +0 -0
  14. {kolega_code-0.3.0 → kolega_code-0.3.1}/CONTRIBUTING.md +0 -0
  15. {kolega_code-0.3.0 → kolega_code-0.3.1}/LICENSE +0 -0
  16. {kolega_code-0.3.0 → kolega_code-0.3.1}/README.md +0 -0
  17. {kolega_code-0.3.0 → kolega_code-0.3.1}/SECURITY.md +0 -0
  18. {kolega_code-0.3.0 → kolega_code-0.3.1}/conftest.py +0 -0
  19. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/.gitignore +0 -0
  20. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/README.md +0 -0
  21. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/astro.config.mjs +0 -0
  22. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/public/favicon.svg +0 -0
  23. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/assets/kolega-dark.svg +0 -0
  24. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/assets/kolega-light.svg +0 -0
  25. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/cli/ask.md +0 -0
  26. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/cli/doctor.md +0 -0
  27. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/cli/overview.md +0 -0
  28. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/cli/sessions.md +0 -0
  29. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/concepts/agents.md +0 -0
  30. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/concepts/how-it-works.md +0 -0
  31. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/concepts/tools.md +0 -0
  32. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/configuration/environment-variables.md +0 -0
  33. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/configuration/providers-and-models.mdx +0 -0
  34. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/configuration/settings-and-api-keys.mdx +0 -0
  35. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/getting-started/installation.mdx +0 -0
  36. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/getting-started/introduction.md +0 -0
  37. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/getting-started/quick-start.mdx +0 -0
  38. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/index.mdx +0 -0
  39. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/skills.mdx +0 -0
  40. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/tui/composer.md +0 -0
  41. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/tui/interface.md +0 -0
  42. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/tui/modes.md +0 -0
  43. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/tui/sessions-and-resume.md +0 -0
  44. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content/docs/tui/slash-commands.md +0 -0
  45. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/content.config.ts +0 -0
  46. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/src/styles/brand.css +0 -0
  47. {kolega_code-0.3.0 → kolega_code-0.3.1}/docs/tsconfig.json +0 -0
  48. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/baseagent.py +0 -0
  49. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/browseragent.py +0 -0
  50. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/coder.py +0 -0
  51. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/common.py +0 -0
  52. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/compression.py +0 -0
  53. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/context.py +0 -0
  54. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/conversation.py +0 -0
  55. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/generalagent.py +0 -0
  56. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/investigationagent.py +0 -0
  57. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/planningagent.py +0 -0
  58. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_provider.py +0 -0
  59. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/agents/browser.j2 +0 -0
  60. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/agents/coder_cli_mode.j2 +0 -0
  61. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/agents/general.j2 +0 -0
  62. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/agents/investigation.j2 +0 -0
  63. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/common/frontend_guidance.md +0 -0
  64. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/common/kolega_md_instructions.md +0 -0
  65. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/environment_variables/workspace_env_vars.md +0 -0
  66. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/template_guidance/expo-template.md +0 -0
  67. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/template_guidance/html-website-template.md +0 -0
  68. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/template_guidance/mern-stack-template.md +0 -0
  69. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompt_templates/template_guidance/react-vite-shadcdn-template.md +0 -0
  70. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/prompts.py +0 -0
  71. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/__init__.py +0 -0
  72. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/__init__.py +0 -0
  73. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_anthropic_token_counting.py +0 -0
  74. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_billing_openai_cache.py +0 -0
  75. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_client.py +0 -0
  76. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_dashscope_mapping.py +0 -0
  77. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_error_boundary.py +0 -0
  78. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_exceptions.py +0 -0
  79. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_google_thought_signature.py +0 -0
  80. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_google_tool_signature_live.py +0 -0
  81. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_instrumented_client.py +0 -0
  82. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_instrumented_client_integration.py +0 -0
  83. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_langfuse_normalization.py +0 -0
  84. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_live_providers.py +0 -0
  85. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_model_specs.py +0 -0
  86. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_openai_cached_tokens.py +0 -0
  87. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_openai_cached_tokens_stream.py +0 -0
  88. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_openai_message_conversion.py +0 -0
  89. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_openai_token_counting.py +0 -0
  90. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_thinking_effort.py +0 -0
  91. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/llm/test_tool_execution_ids.py +0 -0
  92. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/__init__.py +0 -0
  93. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_browser.py +0 -0
  94. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_browser_parity.py +0 -0
  95. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_file_system.py +0 -0
  96. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_sandbox_terminal_input.py +0 -0
  97. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_terminal.py +0 -0
  98. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_terminal_command_tracking.py +0 -0
  99. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/services/test_terminal_state_serializer.py +0 -0
  100. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_agent_tools_inventory.py +0 -0
  101. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_base_agent.py +0 -0
  102. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_coder_attachments.py +0 -0
  103. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_coder_prompt_extensions.py +0 -0
  104. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_commands.py +0 -0
  105. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_duplicate_tool_results.py +0 -0
  106. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_empty_message_handling.py +0 -0
  107. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_general_agent.py +0 -0
  108. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_html.py +0 -0
  109. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_parallel_tool_calls.py +0 -0
  110. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_planning_agent.py +0 -0
  111. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_prompt_provider.py +0 -0
  112. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_tool_registry.py +0 -0
  113. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/test_tools.py +0 -0
  114. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/__init__.py +0 -0
  115. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_agent_tool.py +0 -0
  116. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_base_tool.py +0 -0
  117. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_browser_tool.py +0 -0
  118. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_build_tool.py +0 -0
  119. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_create_file_tool.py +0 -0
  120. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_glob_tool.py +0 -0
  121. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_glob_tool_sandbox_parity.py +0 -0
  122. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_list_directory_tool.py +0 -0
  123. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_read_file_tool.py +0 -0
  124. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_replace_entire_file_tool.py +0 -0
  125. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_replace_lines_tool.py +0 -0
  126. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_search_and_replace_tool.py +0 -0
  127. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_search_codebase_tool.py +0 -0
  128. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_terminal_tool.py +0 -0
  129. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_think_hard_integration.py +0 -0
  130. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_think_hard_streaming.py +0 -0
  131. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tests/tool_backend/test_web_fetch_tool.py +0 -0
  132. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
  133. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/apply_patch_tool.py +0 -0
  134. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/base_tool.py +0 -0
  135. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
  136. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/build_tool.py +0 -0
  137. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/create_file_tool.py +0 -0
  138. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/glob_tool.py +0 -0
  139. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/list_directory_tool.py +0 -0
  140. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
  141. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
  142. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/replace_entire_file_tool.py +0 -0
  143. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/replace_lines_tool.py +0 -0
  144. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/search_and_replace_tool.py +0 -0
  145. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/search_codebase_tool.py +0 -0
  146. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
  147. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
  148. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/think_hard_tool.py +0 -0
  149. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
  150. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/tools.py +0 -0
  151. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/agent/utils/commands.py +0 -0
  152. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/__init__.py +0 -0
  153. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/app.py +0 -0
  154. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/config.py +0 -0
  155. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/connection.py +0 -0
  156. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/file_index.py +0 -0
  157. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/main.py +0 -0
  158. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/mentions.py +0 -0
  159. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/messages.py +0 -0
  160. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/provider_registry.py +0 -0
  161. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/session_store.py +0 -0
  162. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/settings.py +0 -0
  163. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/skills.py +0 -0
  164. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/slash_commands.py +0 -0
  165. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/__init__.py +0 -0
  166. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_app.py +0 -0
  167. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_cli_config.py +0 -0
  168. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_connection.py +0 -0
  169. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_file_index.py +0 -0
  170. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_main.py +0 -0
  171. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_mentions.py +0 -0
  172. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_session_store.py +0 -0
  173. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_settings.py +0 -0
  174. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_skills.py +0 -0
  175. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_slash_commands.py +0 -0
  176. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/tests/test_updater.py +0 -0
  177. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/theme.py +0 -0
  178. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/cli/updater.py +0 -0
  179. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/config.py +0 -0
  180. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/events.py +0 -0
  181. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/client.py +0 -0
  182. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/exceptions.py +0 -0
  183. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/instrumented_client.py +0 -0
  184. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/models.py +0 -0
  185. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/providers/__init__.py +0 -0
  186. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/providers/anthropic.py +0 -0
  187. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/providers/base.py +0 -0
  188. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/providers/google.py +0 -0
  189. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/providers/models.py +0 -0
  190. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/providers/openai.py +0 -0
  191. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/ratelimit.py +0 -0
  192. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/specs.py +0 -0
  193. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/llm/tool_execution_ids.py +0 -0
  194. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/models/__init__.py +0 -0
  195. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/models/sandbox_terminal_state.py +0 -0
  196. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/runtime.py +0 -0
  197. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/README.md +0 -0
  198. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/__init__.py +0 -0
  199. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/async_filesystem.py +0 -0
  200. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/base.py +0 -0
  201. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/browser.py +0 -0
  202. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/event_loop.py +0 -0
  203. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/filesystem.py +0 -0
  204. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/local.py +0 -0
  205. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/serializer.py +0 -0
  206. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/terminal.py +0 -0
  207. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/sandbox/utils.py +0 -0
  208. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/services/base.py +0 -0
  209. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/services/browser.py +0 -0
  210. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/services/file_system.py +0 -0
  211. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/services/html.py +0 -0
  212. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/services/terminal.py +0 -0
  213. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/tools/__init__.py +0 -0
  214. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/tools/core.py +0 -0
  215. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/tools/definitions.py +0 -0
  216. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/tools/registry.py +0 -0
  217. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/tools/tests/__init__.py +0 -0
  218. {kolega_code-0.3.0 → kolega_code-0.3.1}/kolega_code/tools/tests/test_definitions.py +0 -0
  219. {kolega_code-0.3.0 → kolega_code-0.3.1}/run_tests.sh +0 -0
  220. {kolega_code-0.3.0 → kolega_code-0.3.1}/scripts/install-kolega-code.sh +0 -0
@@ -34,7 +34,7 @@ jobs:
34
34
  - name: Setup Node
35
35
  uses: actions/setup-node@v4
36
36
  with:
37
- node-version: 20
37
+ node-version: "22.12.0"
38
38
  cache: npm
39
39
  cache-dependency-path: docs/package-lock.json
40
40
 
@@ -85,3 +85,37 @@ jobs:
85
85
 
86
86
  - name: Publish distributions to PyPI
87
87
  uses: pypa/gh-action-pypi-publish@release/v1
88
+
89
+ github-release:
90
+ name: Create GitHub Release
91
+ needs: publish
92
+ runs-on: ubuntu-latest
93
+ permissions:
94
+ contents: write
95
+ env:
96
+ GH_TOKEN: ${{ github.token }}
97
+ steps:
98
+ - name: Create release
99
+ run: |
100
+ if gh release view "$GITHUB_REF_NAME" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
101
+ echo "GitHub Release $GITHUB_REF_NAME already exists."
102
+ exit 0
103
+ fi
104
+
105
+ version="${GITHUB_REF_NAME#v}"
106
+ prelude=$(printf '%s\n\n%s\n\n%s\n%s\n%s\n\n%s\n' \
107
+ "PyPI: https://pypi.org/project/kolega-code/${version}/" \
108
+ "Update with:" \
109
+ '```bash' \
110
+ 'uv tool install --force kolega-code' \
111
+ '```' \
112
+ "PyPI is the canonical package distribution. GitHub provides source archives for this release."
113
+ )
114
+
115
+ gh release create "$GITHUB_REF_NAME" \
116
+ --repo "$GITHUB_REPOSITORY" \
117
+ --verify-tag \
118
+ --title "$GITHUB_REF_NAME" \
119
+ --latest \
120
+ --generate-notes \
121
+ --notes "$prelude"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kolega-code
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Local-first AI coding agent for 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/
@@ -43,7 +43,6 @@ Classifier: Topic :: Utilities
43
43
  Requires-Python: >=3.11
44
44
  Requires-Dist: anthropic==0.101.0
45
45
  Requires-Dist: beautifulsoup4==4.14.3
46
- Requires-Dist: browser-use==0.1.40
47
46
  Requires-Dist: google-genai==2.0.1
48
47
  Requires-Dist: jinja2==3.1.6
49
48
  Requires-Dist: langfuse==3.14.5
@@ -1,47 +1,69 @@
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`.
4
+ installer from `https://kolega.dev/install-kolega-code.sh`. Each published
5
+ version should also have a GitHub Release for its matching tag.
5
6
 
6
- ## First PyPI release
7
+ ## Release process
7
8
 
8
- The first release can be published from the existing maintainer PyPI user
9
- account, then transferred to the Kolega PyPI organization after PyPI approves
10
- the organization request.
11
-
12
- 1. In PyPI, create a pending Trusted Publisher under the maintainer user account.
9
+ 1. Confirm `pyproject.toml`, `uv.lock`, and package `__version__` values have
10
+ the release version.
13
11
 
14
- Use these values:
15
-
16
- - PyPI project name: `kolega-code`
17
- - GitHub owner: `kolega-ai`
18
- - GitHub repository: `kolega-code`
19
- - Workflow filename: `release.yml`
20
- - Environment name: `pypi`
12
+ 2. Run the fast test suite:
21
13
 
22
- 2. In GitHub, create an environment named `pypi`.
14
+ ```bash
15
+ uv run pytest -ra --durations=50 --import-mode=importlib -m "not slow"
16
+ ```
23
17
 
24
- Require approval from trusted maintainers before deployment. The release
25
- workflow will pause before publishing to PyPI.
18
+ 3. Commit the release bump:
26
19
 
27
- 3. Confirm `pyproject.toml` has the release version.
20
+ ```bash
21
+ git commit -m "chore: release v0.3.0"
22
+ ```
28
23
 
29
24
  4. Create and push a matching tag:
30
25
 
31
26
  ```bash
32
27
  git tag v0.3.0
28
+ git push origin main
33
29
  git push origin v0.3.0
34
30
  ```
35
31
 
36
- 5. Approve the `pypi` environment deployment in GitHub Actions.
32
+ 5. Confirm the `Release` GitHub Actions workflow completes. It builds and tests
33
+ the package, publishes to PyPI, then creates the GitHub Release.
37
34
 
38
35
  6. Verify the release:
39
36
 
40
37
  ```bash
41
38
  uv tool install --force kolega-code
42
39
  kolega-code --version
40
+ gh release view v0.3.0 --repo kolega-ai/kolega-code
43
41
  ```
44
42
 
43
+ The GitHub Release uses PyPI as the canonical package distribution and keeps
44
+ GitHub's automatic source archives as the only release assets.
45
+
46
+ ## First PyPI release setup
47
+
48
+ The first release can be published from the existing maintainer PyPI user
49
+ account, then transferred to the Kolega PyPI organization after PyPI approves
50
+ the organization request.
51
+
52
+ 1. In PyPI, create a pending Trusted Publisher under the maintainer user account.
53
+
54
+ Use these values:
55
+
56
+ - PyPI project name: `kolega-code`
57
+ - GitHub owner: `kolega-ai`
58
+ - GitHub repository: `kolega-code`
59
+ - Workflow filename: `release.yml`
60
+ - Environment name: `pypi`
61
+
62
+ 2. In GitHub, create an environment named `pypi`.
63
+
64
+ Require approval from trusted maintainers before deployment. The release
65
+ workflow will pause before publishing to PyPI.
66
+
45
67
  ## Installer handoff
46
68
 
47
69
  The canonical installer source is tracked at: