kolega-code 0.3.0__tar.gz → 0.3.2__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.
- {kolega_code-0.3.0 → kolega_code-0.3.2}/.github/workflows/docs.yml +1 -1
- {kolega_code-0.3.0 → kolega_code-0.3.2}/.github/workflows/release.yml +34 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/.gitignore +1 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/PKG-INFO +1 -2
- {kolega_code-0.3.0 → kolega_code-0.3.2}/RELEASING.md +58 -20
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/package-lock.json +498 -713
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/package.json +2 -2
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/cli/ask.md +8 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/cli/overview.md +1 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/concepts/tools.md +4 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/tui/interface.md +6 -3
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/tui/modes.md +8 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/tui/slash-commands.md +11 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/__init__.py +1 -1
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/__init__.py +1 -1
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/baseagent.py +70 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/browseragent.py +5 -1
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/coder.py +4 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/compression.py +2 -2
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/context.py +3 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/generalagent.py +4 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/investigationagent.py +5 -1
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/planningagent.py +6 -43
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/prompt_provider.py +5 -5
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +59 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +18 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +23 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +23 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/auxiliary/tools/think_hard.system.md +13 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +2 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +7 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +7 -0
- kolega_code-0.3.0/kolega_code/agent/prompt_templates/agents/coder_cli_mode.j2 → kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +5 -5
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +39 -0
- kolega_code-0.3.0/kolega_code/agent/prompt_templates/common/kolega_md_instructions.md → kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +3 -3
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +3 -0
- kolega_code-0.3.2/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +144 -0
- kolega_code-0.3.2/kolega_code/agent/prompts.py +92 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_agent_tools_inventory.py +2 -2
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_coder_prompt_extensions.py +2 -2
- kolega_code-0.3.2/kolega_code/agent/tests/test_permissions.py +138 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_prompt_provider.py +10 -10
- kolega_code-0.3.2/kolega_code/agent/tests/test_prompts.py +71 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/agent_tool.py +2 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/app.py +330 -23
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/main.py +96 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/messages.py +12 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/session_store.py +3 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/skills.py +2 -9
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/slash_commands.py +3 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_app.py +333 -10
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_main.py +10 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_session_store.py +5 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_slash_commands.py +6 -2
- kolega_code-0.3.2/kolega_code/permissions.py +378 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/pyproject.toml +1 -2
- {kolega_code-0.3.0 → kolega_code-0.3.2}/uv.lock +2 -583
- kolega_code-0.3.0/kolega_code/agent/prompts.py +0 -154
- {kolega_code-0.3.0 → kolega_code-0.3.2}/.env.example +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/.github/workflows/ci.yml +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/CONTRIBUTING.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/LICENSE +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/README.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/SECURITY.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/conftest.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/.gitignore +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/README.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/astro.config.mjs +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/public/favicon.svg +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/assets/kolega-dark.svg +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/assets/kolega-light.svg +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/cli/doctor.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/cli/sessions.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/concepts/agents.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/concepts/how-it-works.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/configuration/environment-variables.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/configuration/providers-and-models.mdx +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/configuration/settings-and-api-keys.mdx +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/getting-started/installation.mdx +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/getting-started/introduction.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/getting-started/quick-start.mdx +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/index.mdx +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/skills.mdx +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/tui/composer.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content/docs/tui/sessions-and-resume.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/content.config.ts +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/src/styles/brand.css +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/docs/tsconfig.json +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/common.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/conversation.py +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/agents/browser.j2 → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/agents/general.j2 → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/agents/investigation.j2 → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
- {kolega_code-0.3.0/kolega_code/agent/prompt_templates → kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes}/environment_variables/workspace_env_vars.md +0 -0
- {kolega_code-0.3.0/kolega_code/agent/prompt_templates/common → kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes}/frontend_guidance.md +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/template_guidance/expo-template.md → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/template_guidance/html-website-template.md → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/template_guidance/mern-stack-template.md → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
- /kolega_code-0.3.0/kolega_code/agent/prompt_templates/template_guidance/react-vite-shadcdn-template.md → /kolega_code-0.3.2/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_anthropic_token_counting.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_billing_openai_cache.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_client.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_dashscope_mapping.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_error_boundary.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_exceptions.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_google_thought_signature.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_google_tool_signature_live.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_instrumented_client.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_instrumented_client_integration.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_langfuse_normalization.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_live_providers.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_model_specs.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_openai_cached_tokens.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_openai_cached_tokens_stream.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_openai_message_conversion.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_openai_token_counting.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_thinking_effort.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/llm/test_tool_execution_ids.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_browser.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_browser_parity.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_file_system.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_sandbox_terminal_input.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_terminal.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_terminal_command_tracking.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/services/test_terminal_state_serializer.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_base_agent.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_coder_attachments.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_commands.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_duplicate_tool_results.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_empty_message_handling.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_general_agent.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_html.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_parallel_tool_calls.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_planning_agent.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_tool_registry.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/test_tools.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_agent_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_base_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_browser_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_build_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_create_file_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_glob_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_glob_tool_sandbox_parity.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_list_directory_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_read_file_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_replace_entire_file_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_replace_lines_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_search_and_replace_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_search_codebase_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_terminal_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_think_hard_integration.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_think_hard_streaming.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tests/tool_backend/test_web_fetch_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/apply_patch_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/base_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/build_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/create_file_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/glob_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/list_directory_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/replace_entire_file_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/replace_lines_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/search_and_replace_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/search_codebase_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/think_hard_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/tools.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/agent/utils/commands.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/config.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/connection.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/file_index.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/mentions.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/provider_registry.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/settings.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_cli_config.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_connection.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_file_index.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_mentions.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_settings.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_skills.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/tests/test_updater.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/theme.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/cli/updater.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/config.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/events.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/client.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/exceptions.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/instrumented_client.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/models.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/providers/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/providers/anthropic.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/providers/base.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/providers/google.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/providers/models.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/providers/openai.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/ratelimit.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/specs.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/llm/tool_execution_ids.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/models/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/models/sandbox_terminal_state.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/runtime.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/README.md +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/async_filesystem.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/base.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/browser.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/event_loop.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/filesystem.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/local.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/serializer.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/terminal.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/sandbox/utils.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/services/base.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/services/browser.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/services/file_system.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/services/html.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/services/terminal.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/tools/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/tools/core.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/tools/definitions.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/tools/registry.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/tools/tests/__init__.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/kolega_code/tools/tests/test_definitions.py +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/run_tests.sh +0 -0
- {kolega_code-0.3.0 → kolega_code-0.3.2}/scripts/install-kolega-code.sh +0 -0
|
@@ -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.
|
|
3
|
+
Version: 0.3.2
|
|
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,9 +1,65 @@
|
|
|
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
|
-
##
|
|
7
|
+
## Release process
|
|
8
|
+
|
|
9
|
+
Release version bumps must happen in a pull request. Do not tag an unmerged
|
|
10
|
+
release branch.
|
|
11
|
+
|
|
12
|
+
1. Create a release branch from the latest `main`:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
git checkout main
|
|
16
|
+
git pull origin main
|
|
17
|
+
git checkout -b chore/release-v0.3.2
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
2. Update `pyproject.toml`, `uv.lock`, and package `__version__` values to the
|
|
21
|
+
release version.
|
|
22
|
+
|
|
23
|
+
3. Run the fast test suite:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
uv run pytest -ra --durations=50 --import-mode=importlib -m "not slow"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
4. Commit the release bump and open a pull request against `main`:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
git commit -m "chore: release v0.3.2"
|
|
33
|
+
git push -u origin chore/release-v0.3.2
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The PR must be reviewed, pass CI, and be merged before tagging.
|
|
37
|
+
|
|
38
|
+
5. After the PR is merged, update local `main`, then create and push a matching
|
|
39
|
+
tag from the merge commit:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
git checkout main
|
|
43
|
+
git pull origin main
|
|
44
|
+
git tag v0.3.2
|
|
45
|
+
git push origin v0.3.2
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
6. Confirm the `Release` GitHub Actions workflow completes. It builds and tests
|
|
49
|
+
the package, publishes to PyPI, then creates the GitHub Release.
|
|
50
|
+
|
|
51
|
+
7. Verify the release:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
uv tool install --force kolega-code
|
|
55
|
+
kolega-code --version
|
|
56
|
+
gh release view v0.3.2 --repo kolega-ai/kolega-code
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The GitHub Release uses PyPI as the canonical package distribution and keeps
|
|
60
|
+
GitHub's automatic source archives as the only release assets.
|
|
61
|
+
|
|
62
|
+
## First PyPI release setup
|
|
7
63
|
|
|
8
64
|
The first release can be published from the existing maintainer PyPI user
|
|
9
65
|
account, then transferred to the Kolega PyPI organization after PyPI approves
|
|
@@ -24,24 +80,6 @@ the organization request.
|
|
|
24
80
|
Require approval from trusted maintainers before deployment. The release
|
|
25
81
|
workflow will pause before publishing to PyPI.
|
|
26
82
|
|
|
27
|
-
3. Confirm `pyproject.toml` has the release version.
|
|
28
|
-
|
|
29
|
-
4. Create and push a matching tag:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
git tag v0.3.0
|
|
33
|
-
git push origin v0.3.0
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
5. Approve the `pypi` environment deployment in GitHub Actions.
|
|
37
|
-
|
|
38
|
-
6. Verify the release:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
uv tool install --force kolega-code
|
|
42
|
-
kolega-code --version
|
|
43
|
-
```
|
|
44
|
-
|
|
45
83
|
## Installer handoff
|
|
46
84
|
|
|
47
85
|
The canonical installer source is tracked at:
|