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.
- {kolega_code-0.10.0 → kolega_code-0.11.0}/CHANGELOG.md +13 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/PKG-INFO +126 -65
- kolega_code-0.11.0/README.md +237 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/astro.config.mjs +2 -2
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/coverage.svg +1 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/concepts/how-it-works.md +29 -5
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/providers-and-models.mdx +6 -2
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/getting-started/quick-start.mdx +20 -4
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/gigacode.mdx +32 -11
- kolega_code-0.11.0/docs/src/content/docs/index.mdx +118 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/skills.mdx +2 -2
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/composer.md +21 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/interface.md +6 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/slash-commands.md +5 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/__init__.py +1 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/__init__.py +1 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/app.py +52 -14
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/messages.py +5 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/slash_commands.py +1 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/agent_runtime.py +146 -23
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/command_handlers.py +7 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/prompt_flows.py +14 -4
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/state.py +10 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/styles.tcss +177 -35
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/transcript.py +5 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/pyproject.toml +2 -2
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_agent_wiring.py +1 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_bootstrap_settings.py +12 -6
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_composer_input.py +258 -0
- kolega_code-0.11.0/tests/cli/test_app_permission_prompts.py +675 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_persistence_history.py +1 -1
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_planning_questions.py +3 -3
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_errors.py +3 -2
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_status.py +11 -5
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_tools.py +2 -2
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_slash_commands.py +4 -0
- kolega_code-0.11.0/tests/cli/test_tui_stylesheet.py +430 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/uv.lock +2 -2
- kolega_code-0.10.0/README.md +0 -176
- kolega_code-0.10.0/docs/src/content/docs/index.mdx +0 -87
- kolega_code-0.10.0/tests/cli/test_app_permission_prompts.py +0 -262
- kolega_code-0.10.0/tests/cli/test_tui_stylesheet.py +0 -119
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.env.example +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.githooks/pre-commit +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/workflows/ci.yml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/workflows/docs.yml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.github/workflows/release.yml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.gitignore +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/.pre-commit-config.yaml +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/CONTRIBUTING.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/LICENSE +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/RELEASING.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/SECURITY.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/.gitignore +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/README.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/package-lock.json +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/package.json +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/public/favicon.svg +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/demo.gif +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/kolega-dark.svg +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/assets/kolega-light.svg +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/ask.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/doctor.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/overview.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/cli/sessions.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/concepts/agents.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/concepts/tools.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/environment-variables.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/prompt-overrides.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/settings-and-api-keys.mdx +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/configuration/sign-in-with-chatgpt.mdx +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/getting-started/installation.mdx +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/hooks.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/modes.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content/docs/tui/sessions-and-resume.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/content.config.ts +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/src/styles/brand.css +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/docs/tsconfig.json +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/baseagent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/browseragent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/coder.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/common.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/compression.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/context.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/conversation.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/errors.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/generalagent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/investigationagent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/budget.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/errors.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/executor.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/guide.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/journal.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/runtime.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/orchestration/types.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/planningagent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_dump.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_overrides.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_provider.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/auxiliary/tools/think_hard.system.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
- {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
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
- {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
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/prompts.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/base_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/build_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/create_file_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/glob_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/list_directory_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/replace_entire_file_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/replace_lines_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_and_replace_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/search_codebase_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/think_hard_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/tools.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/agent/utils/commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/_jwt.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/chatgpt_oauth.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/constants.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/auth/tokens.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/clipboard_image.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/config.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/connection.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/file_index.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/main.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/mentions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/provider_registry.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/session_store.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/settings.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/skills.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/theme.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/changes_screen.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/constants.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/session_diff.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/settings_panel.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/status_dashboard.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/terminal_display.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/tui/widgets.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/cli/updater.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/config.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/events.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/backends.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/config.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/dispatcher.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/events.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/matcher.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/hooks/outcome.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/client.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/exceptions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/instrumented_client.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/models.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/anthropic.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/base.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/google.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/models.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/openai.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/openai_responses.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/providers/responses_common.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/ratelimit.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/accessors.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/deepseek.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/google.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/ollama_cloud.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/openai.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/together.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/xai.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/catalog/zai.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/thinking.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/specs/types.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/llm/tool_execution_ids.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/local_state.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/models/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/models/sandbox_terminal_state.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/permissions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/runtime.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/README.md +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/async_filesystem.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/base.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/browser.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/event_loop.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/filesystem.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/local.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/serializer.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/terminal.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/sandbox/utils.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/base.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/browser.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/file_system.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/html.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/terminal.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/services/terminal_buffer.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/core.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/definitions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/tools/registry.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/utils/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/kolega_code/utils/images.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/run_tests.sh +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/scripts/check-dev-hooks.sh +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/scripts/install-kolega-code.sh +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/scripts/setup-dev.sh +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/compaction_helpers.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/conftest.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/_token_counting_utils.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_anthropic_token_counting.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_billing_openai_cache.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_live.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_auth_config.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_conversion.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_provider.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_provider_generate.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_chatgpt_oauth_streaming.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_client.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_client_live.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_client_runtime.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_dashscope_mapping.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_error_boundary.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_exceptions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_google_thought_signature.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_google_tool_signature_live.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_instrumented_client.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_instrumented_client_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_instrumented_client_stream.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_langfuse_normalization.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_live_providers.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_message_conversion.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_model_specs.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_cached_tokens.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_cached_tokens_stream.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_message_conversion.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_responses_provider.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_openai_token_counting.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_provider_usage_mapping.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_supports_vision.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_thinking_effort.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/llm/test_tool_execution_ids.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/orchestration/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/orchestration/test_orchestration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_console_logs.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_content.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_browser_parity.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_file_system.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_file_system_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_file_system_path.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_local_file_system.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_sandbox_terminal_input.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_terminal.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_terminal_buffer.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/services/test_terminal_state_serializer.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_agent_tools_inventory.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_anthropic_history_validation.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_compaction.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_effective_history.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_history_serialization.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_prompt_context.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_role_overrides.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_runtime.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_tool_call_repair.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_tool_call_repair_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_base_agent_tool_execution.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_coder_attachments.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_coder_prompt_extensions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_persistence.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_subagent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compaction_tui_events.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compress_command.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_compression.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_conversation_compaction.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_duplicate_tool_results.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_empty_message_handling.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_event_emitter.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_general_agent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_gigacode_gating.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_history_adapter_thinking.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_history_image_blocks.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_hooks_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_html.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_image_compat.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_parallel_tool_calls.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_permissions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_planning_agent.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompt_dump.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompt_overrides.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompt_provider.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_prompts.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_read_image_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_builtin_dispatch.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_config.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_extensions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_initialization.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_collection_memory.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tool_registry.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/test_tools.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_agent_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_base_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_browser_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_build_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_create_file_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_edit_preview.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_glob_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_glob_tool_sandbox_parity.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_list_directory_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_read_file_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_replace_entire_file_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_replace_lines_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_search_and_replace_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_search_codebase_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_terminal_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_integration.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming_content.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming_errors.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_think_hard_streaming_updates.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_web_fetch_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_web_search_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/agent/tool_backend/test_workflow_tool.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/auth/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/auth/test_chatgpt_oauth.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/auth/test_tokens.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/_app_test_utils.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_changes_inspector.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_compaction_restore.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_composer_commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_conversation_rendering.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_focus_behavior.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_image_vision_warning.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_mention_dropdown.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_misc_commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_model_effort_commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_model_switch_vision.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_modes_planning.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_navigation_commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_plan_lifecycle.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_planning_restore.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_entries.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_scroll.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_selection.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_streaming.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_rendering_terminal_logs.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_skill_commands.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_slash_dropdown.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_status_modes.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_app_sub_agents_workflows.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_cli_config.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_clipboard_image.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_connection.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_file_index.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_main.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_mentions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_provider_registry.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_session_diff.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_session_store.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_settings.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_skills.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_terminal_display.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_themes.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/cli/test_updater.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/conftest.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/hooks/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/hooks/test_hooks.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/tools/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/tools/test_definitions.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/utils/__init__.py +0 -0
- {kolega_code-0.10.0 → kolega_code-0.11.0}/tests/utils/test_images.py +0 -0
- {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.
|
|
4
|
-
Summary:
|
|
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
|
-
**
|
|
85
|
+
**Multi-agent coding in the terminal.**
|
|
86
86
|
|
|
87
87
|
[](https://pypi.org/project/kolega-code/)
|
|
88
88
|
[](https://pypi.org/project/kolega-code/)
|
|
@@ -92,41 +92,65 @@ Description-Content-Type: text/markdown
|
|
|
92
92
|
[](https://kolega-ai.github.io/kolega-code/)
|
|
93
93
|
[](CHANGELOG.md)
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|

|
|
103
101
|
|
|
104
|
-
##
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- **
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
- **
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- **
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
159
|
-
API key.
|
|
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,
|
|
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
|
-
##
|
|
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
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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
|
|
193
|
-
instead of a separate API key. Run `/login chatgpt` in the TUI,
|
|
194
|
-
Kolega Code switches to the **OpenAI (ChatGPT
|
|
195
|
-
|
|
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
|
|
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
|
|
210
|
-
Settings. Local session state lives under your platform's state
|
|
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
|
|
216
|
-
set it in **Settings** or export `KOLEGA_CODE_WEB_SEARCH_BACKEND` as
|
|
217
|
-
or `searxng`; use `FIRECRAWL_API_KEY`, `TAVILY_API_KEY`, or
|
|
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
|
|
220
|
-
`.kolega/prompts/`. Generate editable starters with Jinja replacement tags using
|
|
221
|
-
in the TUI or `kolega-code prompts dump --project .` in a terminal.
|
|
222
|
-
starters, pass prompt names such as `coder`, `planning`, or
|
|
223
|
-
like `CODER.md` work too). Validate existing
|
|
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
|
|
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,
|
|
253
|
-
test suite, and building the docs site. Please report security issues
|
|
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
|
+
[](https://pypi.org/project/kolega-code/)
|
|
6
|
+
[](https://pypi.org/project/kolega-code/)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://github.com/kolega-ai/kolega-code/actions/workflows/ci.yml)
|
|
9
|
+
[](https://github.com/kolega-ai/kolega-code/actions/workflows/ci.yml)
|
|
10
|
+
[](https://kolega-ai.github.io/kolega-code/)
|
|
11
|
+
[](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
|
+

|
|
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
|
-
"
|
|
17
|
-
// The
|
|
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.
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
57
|
-
|
|
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
|
|
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` |
|