kolega-code 0.41.3__tar.gz → 0.42.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.41.3 → kolega_code-0.42.0}/CHANGELOG.md +27 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/PKG-INFO +25 -1
- {kolega_code-0.41.3 → kolega_code-0.42.0}/README.md +24 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/__init__.py +1 -1
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/__init__.py +1 -1
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/config.py +2 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/provider_registry.py +21 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/config.py +3 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/client.py +7 -1
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/instrumented_client.py +2 -2
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/models.py +41 -4
- kolega_code-0.42.0/kolega_code/llm/providers/mistral.py +821 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/__init__.py +2 -0
- kolega_code-0.42.0/kolega_code/llm/specs/catalog/mistral.py +140 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/ollama_cloud.py +14 -26
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/openrouter.py +1450 -1105
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/perplexity_agent.py +80 -10
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/tinker.py +1 -1
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/thinking.py +6 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/usage.py +1 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/pyproject.toml +2 -1
- {kolega_code-0.41.3 → kolega_code-0.42.0}/.gitignore +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/CONTRIBUTING.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/MIGRATION.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/RELEASING.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/manifest.json +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/references/evidence-and-reporting.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/references/gigacode-workflow.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/deep-research.workflow +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/deep-research/scripts/materialize_report.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/examples.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/limitations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/operations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/references/quality.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/requirements.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/scripts/docx_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/docx/scripts/smoke_test.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/humanizer/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/examples.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/limitations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/operations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/quality.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/references/redaction.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-paddle.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-surya.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/requirements.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pdf/scripts/smoke_test.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/references/examples.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/references/limitations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/references/operations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/requirements.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/scripts/pptx_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/pptx/scripts/smoke_test.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/review/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/review/references/github-publishing.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/skill-authoring/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/skill-authoring/references/review-checklist.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/LICENSE +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/SKILL.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/examples.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/limitations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/operations.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/references/quality.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/smoke_test.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/_bundled_skills/skills/xlsx/scripts/xlsx_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/agent_factory.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/bridge.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/diffs.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/permissions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/plans.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/questions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/server.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/session.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/acp/usage.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/baseagent.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/browseragent.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/coder.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/common.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/compression.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/context.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/conversation.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/custom_agents.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/edit_protocols.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/errors.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/bridge.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/bundle-requirements.in +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/bundle-requirements.txt +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/env.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/js_kernel.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/kernel.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/prelude.js +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/prelude.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/protocol.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/py_kernel.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/runner.js +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/eval/runner.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/generalagent.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/goal.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/handoff.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/investigationagent.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/model_routing.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/accounting.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/budget.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/context.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/errors.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/executor.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/guide.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/journal.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/runtime.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/orchestration/types.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/planningagent.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_dump.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_overrides.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_provider.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_exhausted.user.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/silent_turn_nudge.user.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/agent_loop/truncated_turn_nudge.user.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.system.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/handoff/document.user.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/build_questions.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/current_plan_artifact.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/mode_switch_notice.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/scratchpad.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list_readonly.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/cli/worktree_control.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/coder_ask.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/coder_base.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/context_updates.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/system/includes/terminal_tools.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/apply_patch.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/ask_user_choice.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_click.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_close.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_console_messages.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_drag.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_drop.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_evaluate.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_file_upload.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_fill_form.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_find.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_handle_dialog.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_hover.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_navigate.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_navigate_back.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_network_request.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_network_requests.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_press_key.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_resize.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_scroll.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_select_option.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_snapshot.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_tabs.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_take_screenshot.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_type.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/browser_wait_for.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/build_backend.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/build_frontend.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/claude_edit.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/claude_write.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/dispatch_agent.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/edit.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/eval.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/exec_command.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/get_host.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/get_task_list.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/get_task_list_readonly.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/hashline_edit.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/hashline_write.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/kill_command.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_agents.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_sessions.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_subagent_models.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/list_workflow_runs.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/lsp.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/lsp_edit.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/multi_edit.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/read.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/read_image.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/resolve.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/run_workflow.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/send_message.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/set_goal.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/skill.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/snapshot.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/switch_worktree.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/update_task_list.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/web_fetch.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/web_search.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/write.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/write_plan.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/tools/write_stdin.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/prompts.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/session_metadata.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/base_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/build_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/codex_patch.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/edit_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/eval_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/hashline_v2.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/lsp_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/network_status.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/snapshot_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/answering.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/documents.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/extractors.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/pipeline.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch/retrieval.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tool_definitions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/tools.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/utils/commands.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/agent/volatile_context.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/_jwt.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/chatgpt_oauth.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/constants.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/auth/tokens.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/framing.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/installer.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/manager.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/multiplex.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/native_host.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/protocol.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/registry.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/browser_extension/runtime.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/acp.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/app.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/ask_output.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/atif_export.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/browser_backend.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/clipboard_image.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/connection.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/cron.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/diagnostics.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/file_index.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/gateway.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/goal.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/loop.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/main.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/mentions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/messages.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/model_catalog.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/model_connection.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/peer_messaging.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/plan_artifacts.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/prompt_history.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_event_protocol.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_event_store.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_journal.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_store.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/session_usage.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/settings.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/skills.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/slash_commands.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/theme.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/agent_runtime.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/app_base.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/boot_splash.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/changes_screen.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/command_handlers.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/constants.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/custom_model.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/discovery.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/loop_runtime.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/memory_screen.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/metadata.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/onboarding_screen.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/pacing.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/prompt_flows.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/session_diff.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/settings_panel.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/settings_screen.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/settings_widgets.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/shortcut_bar.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/startup.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/state.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/status_dashboard.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/styles.tcss +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/task_list.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/terminal_display.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/tool_presentation.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/transcript.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/turn_status.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/tui/widgets.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/cli/updater.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/events.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/extensions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/access.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/access_settings.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/base.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/echo.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/telegram/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/telegram/adapter.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/adapters/telegram/formatting.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/bridge.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/commands.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/config.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/control_relay.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/daemon.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/event_router.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/questions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/redaction.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/router.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/service.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/sessions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/gateway/stt.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/git_env.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/backends.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/config.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/dispatcher.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/events.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/matcher.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/hooks/outcome.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/exceptions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/ledger.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/_token_encoding.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/anthropic.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/base.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/deepseek_responses.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/google.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/models.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/openai.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/openai_responses.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/perplexity_responses.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/responses_common.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/tinker.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/providers/tinker_trace.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/ratelimit.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/accessors.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/deepseek.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/google.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/groq.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/openai.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/thinking_machines.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/together.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/xai.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/catalog/zai.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/custom_endpoints.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/ollama_cloud_catalog.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/openrouter_catalog.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/perplexity_catalog.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/tinker_catalog.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/types.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/specs/validation.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/timeouts.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/llm/tool_execution_ids.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/local_state.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/config.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/oauth.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/service.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/state.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/tools.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/mcp/transport.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/identity.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/manager.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/manifest.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/markdown.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/models.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/protocol.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/memory/registry.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/models/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/models/sandbox_terminal_state.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/permissions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/runtime.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/README.md +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/async_filesystem.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/base.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/browser.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/event_loop.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/filesystem.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/local.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/serializer.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/terminal.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/sandbox/utils.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/scratchpad.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/security/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/security/secrets.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/base.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/browser.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/file_system.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/html.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/client.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/config.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/detector.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/diagnostics.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/edits.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/manager.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/registry.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/lsp/registry.yaml +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/snapshots.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/terminal.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/terminal_buffer.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/services/workspace_scan.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/control.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/inbox.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/inmemory.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/projection.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/recording.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/runtime.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/session/store.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/testing/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/testing/store_conformance.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tool_subjects.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/ask_user.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/core.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/definitions.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/param_aliases.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/tools/registry.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/utils/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/utils/images.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/__init__.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/fold.js +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/player.css +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/player.html +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/assets/player.js +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/bundle.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/hosting.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/redaction.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/server.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/singlefile.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/web/theme_css.py +0 -0
- {kolega_code-0.41.3 → kolega_code-0.42.0}/kolega_code/worktrees.py +0 -0
|
@@ -6,6 +6,33 @@ This project uses GitHub Releases for detailed generated release notes. This fil
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## 0.42.0 - 2026-10-07
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **Native Mistral AI support.** Use Mistral's own API with `MISTRAL_API_KEY`
|
|
14
|
+
or a key saved in Settings. The model picker defaults to Mistral Medium 3.5
|
|
15
|
+
and also includes Mistral Small 4, Mistral Large 4 **preview**, Ministral,
|
|
16
|
+
and Codestral, with streaming, tool calls, usage reporting, and vision and
|
|
17
|
+
reasoning where supported.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Refreshed the OpenRouter, Ollama Cloud, and Perplexity Agent model catalogs
|
|
22
|
+
with newly available models, removal of retired entries, updated model
|
|
23
|
+
limits and capabilities, and a refreshed OpenRouter featured ordering.
|
|
24
|
+
|
|
25
|
+
## 0.41.4 - 2026-10-06
|
|
26
|
+
|
|
27
|
+
### Security
|
|
28
|
+
|
|
29
|
+
- Updated multidict to 6.9.1, closing a reference-leak vulnerability
|
|
30
|
+
(GHSA-54p9-h82j-f925) in the aiohttp stack used by the Telegram gateway
|
|
31
|
+
adapter, where remote input could drive unreclaimable memory growth.
|
|
32
|
+
- Updated the documentation site's dependencies (devalue,
|
|
33
|
+
http-cache-semantics, postcss-selector-parser, smol-toml, source-map-js) to
|
|
34
|
+
close all known advisories in its dependency tree.
|
|
35
|
+
|
|
9
36
|
## 0.41.3 - 2026-10-05
|
|
10
37
|
|
|
11
38
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kolega-code
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.42.0
|
|
4
4
|
Summary: Multi-agent coding in the terminal
|
|
5
5
|
Project-URL: Homepage, https://kolega-ai.github.io/kolega-code/
|
|
6
6
|
Project-URL: Documentation, https://kolega-ai.github.io/kolega-code/
|
|
@@ -263,6 +263,7 @@ Supported model providers:
|
|
|
263
263
|
- OpenAI API
|
|
264
264
|
- OpenAI via ChatGPT subscription sign-in
|
|
265
265
|
- Google
|
|
266
|
+
- Mistral AI (native API)
|
|
266
267
|
- Groq
|
|
267
268
|
- Together.ai
|
|
268
269
|
- Fireworks.ai
|
|
@@ -304,6 +305,29 @@ directory unless `KOLEGA_CODE_STATE_DIR` is set. See the
|
|
|
304
305
|
[Configuration docs](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
|
|
305
306
|
for the full story.
|
|
306
307
|
|
|
308
|
+
For Mistral's own API, save a key under **Mistral AI** in Settings or export
|
|
309
|
+
`MISTRAL_API_KEY`, then select a model explicitly:
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
export MISTRAL_API_KEY=your-mistral-api-key
|
|
313
|
+
kolega-code . --provider mistral --model mistral-medium-3-5
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
The picker defaults to Mistral Medium 3.5 and includes Mistral Small 4
|
|
317
|
+
(`mistral-small-2603`), Mistral Large 4 **preview** (`mistral-large-4`),
|
|
318
|
+
Ministral 3 (3B/8B/14B), Codestral, and eligible native aliases. Large 4 access
|
|
319
|
+
depends on the account/subscription; a catalog entry does not guarantee access.
|
|
320
|
+
Aliases, especially `latest`, can change their target and capabilities.
|
|
321
|
+
|
|
322
|
+
Medium 3.5, Small 4, Large 4, and Ministral 3 support image input; Codestral is
|
|
323
|
+
text-only. Medium/Small/Large expose `none` (default) or `high` thinking, with
|
|
324
|
+
same-provider reasoning replayed in Mistral's native format. Token counting is
|
|
325
|
+
a conservative local estimate with a safety margin, not an exact Mistral
|
|
326
|
+
tokenizer. The catalog's 32,768-token output reservation is Kolega's budgeting
|
|
327
|
+
policy, not a verified native maximum-output ceiling. Kolega Code runs the local
|
|
328
|
+
function-tool loop; Mistral-hosted server tools are not enabled. Native Mistral
|
|
329
|
+
keys and model IDs are separate from gateway credentials and routes.
|
|
330
|
+
|
|
307
331
|
## Requirements
|
|
308
332
|
|
|
309
333
|
- **Python 3.11+**
|
|
@@ -172,6 +172,7 @@ Supported model providers:
|
|
|
172
172
|
- OpenAI API
|
|
173
173
|
- OpenAI via ChatGPT subscription sign-in
|
|
174
174
|
- Google
|
|
175
|
+
- Mistral AI (native API)
|
|
175
176
|
- Groq
|
|
176
177
|
- Together.ai
|
|
177
178
|
- Fireworks.ai
|
|
@@ -213,6 +214,29 @@ directory unless `KOLEGA_CODE_STATE_DIR` is set. See the
|
|
|
213
214
|
[Configuration docs](https://kolega-ai.github.io/kolega-code/configuration/settings-and-api-keys/)
|
|
214
215
|
for the full story.
|
|
215
216
|
|
|
217
|
+
For Mistral's own API, save a key under **Mistral AI** in Settings or export
|
|
218
|
+
`MISTRAL_API_KEY`, then select a model explicitly:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
export MISTRAL_API_KEY=your-mistral-api-key
|
|
222
|
+
kolega-code . --provider mistral --model mistral-medium-3-5
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
The picker defaults to Mistral Medium 3.5 and includes Mistral Small 4
|
|
226
|
+
(`mistral-small-2603`), Mistral Large 4 **preview** (`mistral-large-4`),
|
|
227
|
+
Ministral 3 (3B/8B/14B), Codestral, and eligible native aliases. Large 4 access
|
|
228
|
+
depends on the account/subscription; a catalog entry does not guarantee access.
|
|
229
|
+
Aliases, especially `latest`, can change their target and capabilities.
|
|
230
|
+
|
|
231
|
+
Medium 3.5, Small 4, Large 4, and Ministral 3 support image input; Codestral is
|
|
232
|
+
text-only. Medium/Small/Large expose `none` (default) or `high` thinking, with
|
|
233
|
+
same-provider reasoning replayed in Mistral's native format. Token counting is
|
|
234
|
+
a conservative local estimate with a safety margin, not an exact Mistral
|
|
235
|
+
tokenizer. The catalog's 32,768-token output reservation is Kolega's budgeting
|
|
236
|
+
policy, not a verified native maximum-output ceiling. Kolega Code runs the local
|
|
237
|
+
function-tool loop; Mistral-hosted server tools are not enabled. Native Mistral
|
|
238
|
+
keys and model IDs are separate from gateway credentials and routes.
|
|
239
|
+
|
|
216
240
|
## Requirements
|
|
217
241
|
|
|
218
242
|
- **Python 3.11+**
|
|
@@ -60,6 +60,7 @@ API_KEY_ENV = {
|
|
|
60
60
|
ModelProvider.ANTHROPIC: "ANTHROPIC_API_KEY",
|
|
61
61
|
ModelProvider.OPENAI: "OPENAI_API_KEY",
|
|
62
62
|
ModelProvider.GOOGLE: "GOOGLE_API_KEY",
|
|
63
|
+
ModelProvider.MISTRAL: "MISTRAL_API_KEY",
|
|
63
64
|
ModelProvider.GROQ: "GROQ_API_KEY",
|
|
64
65
|
ModelProvider.TOGETHER: "TOGETHER_API_KEY",
|
|
65
66
|
ModelProvider.FIREWORKS: "FIREWORKS_API_KEY",
|
|
@@ -967,6 +968,7 @@ def build_agent_config(
|
|
|
967
968
|
anthropic_api_key=_api_key_for_provider(ModelProvider.ANTHROPIC, loaded_env, settings),
|
|
968
969
|
openai_api_key=_api_key_for_provider(ModelProvider.OPENAI, loaded_env, settings),
|
|
969
970
|
google_api_key=_api_key_for_provider(ModelProvider.GOOGLE, loaded_env, settings),
|
|
971
|
+
mistral_api_key=_api_key_for_provider(ModelProvider.MISTRAL, loaded_env, settings),
|
|
970
972
|
groq_api_key=_api_key_for_provider(ModelProvider.GROQ, loaded_env, settings),
|
|
971
973
|
together_api_key=_api_key_for_provider(ModelProvider.TOGETHER, loaded_env, settings),
|
|
972
974
|
fireworks_api_key=_api_key_for_provider(ModelProvider.FIREWORKS, loaded_env, settings),
|
|
@@ -37,6 +37,7 @@ PROVIDER_LABELS: dict[ModelProvider, str] = {
|
|
|
37
37
|
ModelProvider.OPENAI: "OpenAI",
|
|
38
38
|
ModelProvider.OPENAI_CHATGPT: "OpenAI (ChatGPT subscription)",
|
|
39
39
|
ModelProvider.GOOGLE: "Google",
|
|
40
|
+
ModelProvider.MISTRAL: "Mistral AI",
|
|
40
41
|
ModelProvider.XAI: "xAI",
|
|
41
42
|
ModelProvider.GROQ: "Groq",
|
|
42
43
|
ModelProvider.FIREWORKS: "Fireworks",
|
|
@@ -110,6 +111,25 @@ MODEL_LABELS: dict[str, str] = {
|
|
|
110
111
|
"gemini-3.5-flash-lite": "Gemini 3.5 Flash-Lite",
|
|
111
112
|
"gemini-3.1-pro-preview": "Gemini 3.1 Pro",
|
|
112
113
|
"gemini-3.5-flash": "Gemini 3.5 Flash",
|
|
114
|
+
# Mistral (native API)
|
|
115
|
+
"mistral-medium-3-5": "Mistral Medium 3.5",
|
|
116
|
+
"mistral-medium-latest": "Mistral Medium (latest alias)",
|
|
117
|
+
"mistral-medium": "Mistral Medium (alias)",
|
|
118
|
+
"mistral-medium-3.5": "Mistral Medium 3.5 (alias)",
|
|
119
|
+
"mistral-medium-3": "Mistral Medium 3 (alias)",
|
|
120
|
+
"mistral-medium-2604": "Mistral Medium (2604 alias)",
|
|
121
|
+
"mistral-small-2603": "Mistral Small 4",
|
|
122
|
+
"mistral-small-latest": "Mistral Small (latest alias)",
|
|
123
|
+
"mistral-large-4": "Mistral Large 4 (Preview)",
|
|
124
|
+
"mistral-large-4-0": "Mistral Large 4 (Preview, alias)",
|
|
125
|
+
"ministral-3b-2512": "Ministral 3 3B",
|
|
126
|
+
"ministral-3b-latest": "Ministral 3 3B (latest alias)",
|
|
127
|
+
"ministral-8b-2512": "Ministral 3 8B",
|
|
128
|
+
"ministral-8b-latest": "Ministral 3 8B (latest alias)",
|
|
129
|
+
"ministral-14b-2512": "Ministral 3 14B",
|
|
130
|
+
"ministral-14b-latest": "Ministral 3 14B (latest alias)",
|
|
131
|
+
"codestral-2508": "Codestral (2508)",
|
|
132
|
+
"codestral-latest": "Codestral (latest alias)",
|
|
113
133
|
# xAI
|
|
114
134
|
"grok-4.6": "Grok 4.6",
|
|
115
135
|
"grok-4.5": "Grok 4.5",
|
|
@@ -176,6 +196,7 @@ PROVIDER_DEFAULT_MODEL: dict[ModelProvider, str] = {
|
|
|
176
196
|
ModelProvider.OPENAI: "gpt-5.6-sol",
|
|
177
197
|
ModelProvider.OPENAI_CHATGPT: "gpt-5.6-sol",
|
|
178
198
|
ModelProvider.GOOGLE: "gemini-3.8-flash",
|
|
199
|
+
ModelProvider.MISTRAL: "mistral-medium-3-5",
|
|
179
200
|
ModelProvider.XAI: "grok-4.5",
|
|
180
201
|
ModelProvider.FIREWORKS: "accounts/fireworks/models/glm-5p2",
|
|
181
202
|
ModelProvider.TOGETHER: "moonshotai/Kimi-K2.7-Code",
|
|
@@ -24,6 +24,7 @@ class ModelProvider(str, Enum):
|
|
|
24
24
|
OPENAI = "openai"
|
|
25
25
|
OPENAI_CHATGPT = "openai_chatgpt" # OpenAI via ChatGPT-subscription OAuth (Responses API)
|
|
26
26
|
GOOGLE = "google"
|
|
27
|
+
MISTRAL = "mistral"
|
|
27
28
|
GROQ = "groq"
|
|
28
29
|
TOGETHER = "together"
|
|
29
30
|
FIREWORKS = "fireworks"
|
|
@@ -205,6 +206,7 @@ class AgentConfig(BaseModel):
|
|
|
205
206
|
anthropic_api_key: Optional[str] = Field(default=None, description="API key for Anthropic")
|
|
206
207
|
openai_api_key: Optional[str] = Field(default=None, description="API key for OpenAI")
|
|
207
208
|
google_api_key: Optional[str] = Field(default=None, description="API key for Google")
|
|
209
|
+
mistral_api_key: Optional[str] = Field(default=None, description="API key for Mistral AI")
|
|
208
210
|
groq_api_key: Optional[str] = Field(default=None, description="API key for Groq")
|
|
209
211
|
together_api_key: Optional[str] = Field(default=None, description="API key for Together.ai")
|
|
210
212
|
fireworks_api_key: Optional[str] = Field(default=None, description="API key for Fireworks.ai")
|
|
@@ -416,6 +418,7 @@ class AgentConfig(BaseModel):
|
|
|
416
418
|
self.openai_chatgpt_tokens.access_token if self.openai_chatgpt_tokens else None
|
|
417
419
|
),
|
|
418
420
|
ModelProvider.GOOGLE: self.google_api_key,
|
|
421
|
+
ModelProvider.MISTRAL: self.mistral_api_key,
|
|
419
422
|
ModelProvider.GROQ: self.groq_api_key,
|
|
420
423
|
ModelProvider.TOGETHER: self.together_api_key,
|
|
421
424
|
ModelProvider.FIREWORKS: self.fireworks_api_key,
|
|
@@ -48,6 +48,7 @@ if TYPE_CHECKING:
|
|
|
48
48
|
# module imports its own SDK at module load).
|
|
49
49
|
from .providers.anthropic import AnthropicProvider
|
|
50
50
|
from .providers.google import GoogleProvider
|
|
51
|
+
from .providers.mistral import MistralProvider
|
|
51
52
|
from .providers.openai import OpenAIProvider
|
|
52
53
|
from .providers.tinker import TinkerProvider
|
|
53
54
|
|
|
@@ -158,6 +159,10 @@ class LLMClient:
|
|
|
158
159
|
from .providers.google import GoogleProvider
|
|
159
160
|
|
|
160
161
|
return GoogleProvider
|
|
162
|
+
if p == "mistral":
|
|
163
|
+
from .providers.mistral import MistralProvider
|
|
164
|
+
|
|
165
|
+
return MistralProvider
|
|
161
166
|
if p == "tinker":
|
|
162
167
|
from .providers.tinker import TinkerProvider
|
|
163
168
|
|
|
@@ -172,7 +177,7 @@ class LLMClient:
|
|
|
172
177
|
tokens_per_minute: Optional[int] = None,
|
|
173
178
|
base_url: Optional[str] = None,
|
|
174
179
|
api_style: Optional[str] = None,
|
|
175
|
-
) -> "Union[AnthropicProvider, OpenAIProvider, GoogleProvider, TinkerProvider]":
|
|
180
|
+
) -> "Union[AnthropicProvider, OpenAIProvider, GoogleProvider, MistralProvider, TinkerProvider]":
|
|
176
181
|
"""Initialize the appropriate LLM provider based on the provider name.
|
|
177
182
|
|
|
178
183
|
Args:
|
|
@@ -235,6 +240,7 @@ class LLMClient:
|
|
|
235
240
|
"fireworks": "https://api.fireworks.ai/inference/v1",
|
|
236
241
|
"llama": "http://localhost:8000/v1",
|
|
237
242
|
"google": "https://generativelanguage.googleapis.com",
|
|
243
|
+
"mistral": "https://api.mistral.ai/v1/",
|
|
238
244
|
"xai": "https://api.x.ai/v1",
|
|
239
245
|
"dashscope": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
|
|
240
246
|
"moonshot": "https://api.moonshot.ai/anthropic",
|
|
@@ -303,7 +303,7 @@ class InstrumentedLLMClient(LLMClient):
|
|
|
303
303
|
"cache_read_input_tokens": usage_details.get("cache_read_input_tokens", 0),
|
|
304
304
|
"cache_creation_input_tokens": usage_details.get("cache_write_input_tokens", 0),
|
|
305
305
|
}
|
|
306
|
-
elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek"]:
|
|
306
|
+
elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek", "mistral"]:
|
|
307
307
|
normalized_usage = {
|
|
308
308
|
"input": usage_details.get("prompt_tokens", 0),
|
|
309
309
|
"output": usage_details.get("completion_tokens", 0),
|
|
@@ -576,7 +576,7 @@ class MinimalLangfuseStreamWrapper:
|
|
|
576
576
|
"cache_read_input_tokens": usage_metadata.get("cache_read_input_tokens", 0),
|
|
577
577
|
"cache_creation_input_tokens": usage_metadata.get("cache_write_input_tokens", 0),
|
|
578
578
|
}
|
|
579
|
-
elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek"]:
|
|
579
|
+
elif provider in ["openai", "openai_chatgpt", "fireworks", "deepseek", "mistral"]:
|
|
580
580
|
return {
|
|
581
581
|
"input": usage_metadata.get("prompt_tokens", 0),
|
|
582
582
|
"output": usage_metadata.get("completion_tokens", 0),
|
|
@@ -359,18 +359,29 @@ class ThinkingBlock(ContentBlock):
|
|
|
359
359
|
|
|
360
360
|
TYPE_NAME = "thinking"
|
|
361
361
|
|
|
362
|
-
def __init__(
|
|
362
|
+
def __init__(
|
|
363
|
+
self,
|
|
364
|
+
thinking: str,
|
|
365
|
+
cache_checkpoint: bool = False,
|
|
366
|
+
signature: Optional[str] = None,
|
|
367
|
+
provider_metadata: Optional[Dict[str, Any]] = None,
|
|
368
|
+
):
|
|
363
369
|
super().__init__(type=self.TYPE_NAME, cache_checkpoint=cache_checkpoint)
|
|
364
370
|
self.thinking = thinking
|
|
365
371
|
self.signature = signature
|
|
372
|
+
# Preserve replay-critical native structure without changing how other
|
|
373
|
+
# providers serialize this block (e.g. Mistral nested chunks/closed).
|
|
374
|
+
self.provider_metadata = provider_metadata or {}
|
|
366
375
|
|
|
367
376
|
def to_dict(self) -> Dict[str, Any]:
|
|
368
|
-
result = {
|
|
377
|
+
result: Dict[str, Any] = {
|
|
369
378
|
"type": self.type,
|
|
370
379
|
"thinking": self.thinking,
|
|
371
380
|
}
|
|
372
|
-
if self.signature:
|
|
381
|
+
if self.signature or "signature" in self.provider_metadata:
|
|
373
382
|
result["signature"] = self.signature
|
|
383
|
+
if self.provider_metadata:
|
|
384
|
+
result["provider_metadata"] = self.provider_metadata
|
|
374
385
|
return result
|
|
375
386
|
|
|
376
387
|
@classmethod
|
|
@@ -378,6 +389,7 @@ class ThinkingBlock(ContentBlock):
|
|
|
378
389
|
return cls(
|
|
379
390
|
thinking=data["thinking"],
|
|
380
391
|
signature=data.get("signature"),
|
|
392
|
+
provider_metadata=data.get("provider_metadata"),
|
|
381
393
|
)
|
|
382
394
|
|
|
383
395
|
def to_anthropic(self) -> Dict[str, Any]:
|
|
@@ -1544,7 +1556,32 @@ class Message:
|
|
|
1544
1556
|
if thinking_blocks and (rest_blocks or has_tool_calls):
|
|
1545
1557
|
reasoning_text = "\n\n".join(b.thinking for b in thinking_blocks)
|
|
1546
1558
|
non_tool_blocks = rest_blocks
|
|
1547
|
-
|
|
1559
|
+
if provider and _provider_value(provider) == "mistral":
|
|
1560
|
+
content = []
|
|
1561
|
+
for item in non_tool_blocks:
|
|
1562
|
+
if isinstance(item, ThinkingBlock):
|
|
1563
|
+
if (
|
|
1564
|
+
self.role != "assistant"
|
|
1565
|
+
or source_provider is None
|
|
1566
|
+
or _provider_value(source_provider) != "mistral"
|
|
1567
|
+
):
|
|
1568
|
+
continue
|
|
1569
|
+
native = item.provider_metadata
|
|
1570
|
+
thinking_chunk: Dict[str, Any] = {
|
|
1571
|
+
"type": "thinking",
|
|
1572
|
+
"thinking": native.get("thinking", [{"type": "text", "text": item.thinking}]),
|
|
1573
|
+
}
|
|
1574
|
+
if "closed" in native:
|
|
1575
|
+
thinking_chunk["closed"] = native["closed"]
|
|
1576
|
+
if "signature" in native:
|
|
1577
|
+
thinking_chunk["signature"] = native["signature"]
|
|
1578
|
+
if item.signature is not None:
|
|
1579
|
+
thinking_chunk["signature"] = item.signature
|
|
1580
|
+
content.append(thinking_chunk)
|
|
1581
|
+
elif not isinstance(item, RedactedThinkingBlock):
|
|
1582
|
+
content.append(item.to_openai())
|
|
1583
|
+
else:
|
|
1584
|
+
content = [item.to_openai() for item in non_tool_blocks]
|
|
1548
1585
|
# Strict OpenAI-compatible servers (e.g. DeepSeek) prefer an empty
|
|
1549
1586
|
# string over an empty list when an assistant message carries only
|
|
1550
1587
|
# tool_calls and/or native reasoning.
|