kolega-code 0.26.3__tar.gz → 0.26.4__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.26.3 → kolega_code-0.26.4}/CHANGELOG.md +10 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/PKG-INFO +1 -1
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/__init__.py +1 -1
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/__init__.py +1 -1
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/baseagent.py +1 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/context.py +2 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/terminal_tool.py +1 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/think_hard_tool.py +2 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch_tool.py +1 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/client.py +24 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/instrumented_client.py +4 -1
- kolega_code-0.26.4/kolega_code/llm/providers/deepseek_responses.py +66 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/deepseek.py +6 -1
- {kolega_code-0.26.3 → kolega_code-0.26.4}/pyproject.toml +1 -1
- {kolega_code-0.26.3 → kolega_code-0.26.4}/.gitignore +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/CONTRIBUTING.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/MIGRATION.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/README.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/RELEASING.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/manifest.json +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/deep-research/references/evidence-and-reporting.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/deep-research/references/gigacode-workflow.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/deep-research/scripts/deep-research.workflow +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/deep-research/scripts/materialize_report.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/references/examples.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/references/limitations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/references/operations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/references/quality.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/requirements.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/scripts/docx_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/humanizer/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/examples.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/limitations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/operations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/quality.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/redaction.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-paddle.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-surya.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/requirements.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/references/examples.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/references/limitations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/references/operations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/requirements.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/scripts/pptx_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/review/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/review/references/github-publishing.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/skill-authoring/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/skill-authoring/references/review-checklist.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/LICENSE +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/SKILL.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/references/examples.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/references/limitations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/references/operations.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/references/quality.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/scripts/xlsx_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/browseragent.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/coder.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/common.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/compression.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/conversation.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/custom_agents.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/edit_protocols.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/errors.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/bridge.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/bundle-requirements.in +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/bundle-requirements.txt +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/env.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/js_kernel.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/kernel.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/prelude.js +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/prelude.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/protocol.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/py_kernel.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/runner.js +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/eval/runner.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/generalagent.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/goal.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/investigationagent.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/model_routing.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/accounting.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/budget.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/context.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/errors.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/executor.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/guide.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/journal.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/runtime.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/orchestration/types.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/planningagent.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_dump.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_overrides.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_provider.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/auxiliary/tools/think_hard.system.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/build_questions.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/current_plan_artifact.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/scratchpad.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list_readonly.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/cli/worktree_control.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/context_updates.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/prompts.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/base_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/build_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/codex_patch.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/edit_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/eval_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/glob_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/hashline_v2.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/list_directory_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/lsp_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/search_codebase_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/snapshot_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch/answering.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch/documents.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch/extractors.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch/pipeline.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_fetch/retrieval.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/tools.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/utils/commands.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/agent/volatile_context.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/auth/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/auth/_jwt.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/auth/chatgpt_oauth.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/auth/constants.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/auth/tokens.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/framing.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/installer.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/manager.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/multiplex.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/native_host.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/protocol.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/registry.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/browser_extension/runtime.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/app.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/browser_backend.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/clipboard_image.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/config.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/connection.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/cron.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/diagnostics.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/file_index.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/goal.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/loop.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/main.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/mentions.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/messages.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/model_catalog.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/model_connection.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/plan_artifacts.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/provider_registry.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/session_event_store.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/session_journal.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/session_store.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/settings.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/skills.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/slash_commands.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/theme.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/agent_runtime.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/app_base.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/changes_screen.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/command_handlers.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/constants.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/custom_model.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/loop_runtime.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/memory_screen.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/onboarding_screen.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/prompt_flows.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/session_diff.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/settings_panel.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/settings_screen.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/state.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/status_dashboard.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/styles.tcss +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/terminal_display.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/transcript.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/tui/widgets.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/cli/updater.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/config.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/events.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/git_env.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/backends.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/config.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/dispatcher.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/events.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/matcher.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/hooks/outcome.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/exceptions.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/models.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/anthropic.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/base.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/google.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/models.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/openai.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/openai_responses.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/providers/responses_common.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/ratelimit.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/accessors.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/google.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/ollama_cloud.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/openai.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/openrouter.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/together.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/xai.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/catalog/zai.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/openrouter_catalog.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/thinking.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/specs/types.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/timeouts.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/llm/tool_execution_ids.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/local_state.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/config.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/oauth.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/service.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/state.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/tools.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/mcp/transport.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/identity.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/manager.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/manifest.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/markdown.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/models.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/protocol.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/memory/registry.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/models/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/models/sandbox_terminal_state.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/permissions.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/runtime.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/README.md +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/async_filesystem.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/base.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/browser.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/event_loop.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/filesystem.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/local.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/serializer.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/terminal.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/sandbox/utils.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/scratchpad.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/security/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/security/secrets.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/base.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/browser.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/file_system.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/html.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/client.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/config.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/detector.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/diagnostics.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/edits.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/manager.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/registry.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/lsp/registry.yaml +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/snapshots.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/terminal.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/terminal_buffer.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/services/workspace_scan.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/control.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/inmemory.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/projection.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/recording.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/runtime.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/session/store.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/testing/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/testing/store_conformance.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/tools/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/tools/core.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/tools/definitions.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/tools/registry.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/utils/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/utils/images.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/__init__.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/assets/fold.js +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/assets/player.css +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/assets/player.html +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/assets/player.js +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/bundle.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/hosting.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/redaction.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/server.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/singlefile.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/web/theme_css.py +0 -0
- {kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/worktrees.py +0 -0
|
@@ -6,6 +6,16 @@ This project uses GitHub Releases for detailed generated release notes. This fil
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## 0.26.4 - 2026-08-02
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- `deepseek-v4-flash` now connects over DeepSeek's **Responses API**
|
|
14
|
+
(`https://api.deepseek.com`) for its native tool-calling format and graded
|
|
15
|
+
reasoning effort. Every other DeepSeek model (including `deepseek-v4-pro`)
|
|
16
|
+
continues to use the OpenAI-compatible Chat Completions endpoint. This is a
|
|
17
|
+
per-model routing decision; no configuration change is required.
|
|
18
|
+
|
|
9
19
|
## 0.26.3 - 2026-08-02
|
|
10
20
|
|
|
11
21
|
### Added
|
|
@@ -1399,6 +1399,7 @@ class BaseAgent(LogMixin):
|
|
|
1399
1399
|
client = LLMClient(
|
|
1400
1400
|
provider=model_config.provider.value,
|
|
1401
1401
|
api_key=self.config.get_api_key(model_config.provider) or "",
|
|
1402
|
+
model=model_config.model,
|
|
1402
1403
|
max_retries=model_config.rate_limits.max_retries,
|
|
1403
1404
|
requests_per_minute=model_config.rate_limits.requests_per_minute,
|
|
1404
1405
|
tokens_per_minute=model_config.rate_limits.tokens_per_minute,
|
|
@@ -109,6 +109,7 @@ class AgentContext:
|
|
|
109
109
|
return InstrumentedLLMClient(
|
|
110
110
|
provider=model_config.provider,
|
|
111
111
|
api_key=self.config.get_api_key(model_config.provider) or "",
|
|
112
|
+
model=model_config.model,
|
|
112
113
|
max_retries=model_config.rate_limits.max_retries,
|
|
113
114
|
requests_per_minute=model_config.rate_limits.requests_per_minute,
|
|
114
115
|
tokens_per_minute=model_config.rate_limits.tokens_per_minute,
|
|
@@ -126,6 +127,7 @@ class AgentContext:
|
|
|
126
127
|
return LLMClient(
|
|
127
128
|
provider=model_config.provider,
|
|
128
129
|
api_key=self.config.get_api_key(model_config.provider) or "",
|
|
130
|
+
model=model_config.model,
|
|
129
131
|
max_retries=model_config.rate_limits.max_retries,
|
|
130
132
|
requests_per_minute=model_config.rate_limits.requests_per_minute,
|
|
131
133
|
tokens_per_minute=model_config.rate_limits.tokens_per_minute,
|
|
@@ -76,6 +76,7 @@ class TerminalTool(BaseTool):
|
|
|
76
76
|
client = LLMClient(
|
|
77
77
|
provider=provider.value,
|
|
78
78
|
api_key=api_key or "",
|
|
79
|
+
model=self.config.fast_config.model,
|
|
79
80
|
max_retries=rate_limits.max_retries,
|
|
80
81
|
requests_per_minute=rate_limits.requests_per_minute,
|
|
81
82
|
tokens_per_minute=rate_limits.tokens_per_minute,
|
|
@@ -37,6 +37,7 @@ class ThinkHardTool(StreamingTool):
|
|
|
37
37
|
client = InstrumentedLLMClient(
|
|
38
38
|
provider=provider.value,
|
|
39
39
|
api_key=api_key or "",
|
|
40
|
+
model=self.config.thinking_config.model,
|
|
40
41
|
max_retries=rate_limits.max_retries,
|
|
41
42
|
requests_per_minute=rate_limits.requests_per_minute,
|
|
42
43
|
tokens_per_minute=rate_limits.tokens_per_minute,
|
|
@@ -54,6 +55,7 @@ class ThinkHardTool(StreamingTool):
|
|
|
54
55
|
client = LLMClient(
|
|
55
56
|
provider=provider.value,
|
|
56
57
|
api_key=api_key or "",
|
|
58
|
+
model=self.config.thinking_config.model,
|
|
57
59
|
max_retries=rate_limits.max_retries,
|
|
58
60
|
requests_per_minute=rate_limits.requests_per_minute,
|
|
59
61
|
tokens_per_minute=rate_limits.tokens_per_minute,
|
|
@@ -142,6 +142,7 @@ class WebFetchTool(StreamingTool):
|
|
|
142
142
|
client_kwargs = {
|
|
143
143
|
"provider": provider.value,
|
|
144
144
|
"api_key": self.config.get_api_key(provider),
|
|
145
|
+
"model": self.config.fast_config.model,
|
|
145
146
|
"max_retries": rate_limits.max_retries,
|
|
146
147
|
"requests_per_minute": rate_limits.requests_per_minute,
|
|
147
148
|
"tokens_per_minute": rate_limits.tokens_per_minute,
|
|
@@ -73,11 +73,18 @@ class LLMClient:
|
|
|
73
73
|
requests_per_minute: Optional[int] = None,
|
|
74
74
|
tokens_per_minute: Optional[int] = None,
|
|
75
75
|
token_manager: Optional[Any] = None,
|
|
76
|
+
model: Optional[str] = None,
|
|
76
77
|
):
|
|
77
78
|
self.provider_name = provider.lower()
|
|
78
79
|
self._api_key = api_key # Store API key privately
|
|
79
80
|
# Refreshing OAuth token manager, used only by the ChatGPT-subscription provider.
|
|
80
81
|
self._token_manager = token_manager
|
|
82
|
+
# Routing hint only: nearly every model shares its provider's API surface, so
|
|
83
|
+
# the client is provider-scoped and the model id is passed per call. The one
|
|
84
|
+
# exception is deepseek-v4-flash (Responses API vs the deepseek Chat default),
|
|
85
|
+
# which must be known at construction to pick the right provider class. The
|
|
86
|
+
# per-call `model=` kwarg still governs the request body.
|
|
87
|
+
self._model = model
|
|
81
88
|
self.provider = self._initialize_provider(
|
|
82
89
|
provider,
|
|
83
90
|
max_retries=max_retries,
|
|
@@ -163,6 +170,23 @@ class LLMClient:
|
|
|
163
170
|
provider_name=chatgpt_constants.PROVIDER_KEY,
|
|
164
171
|
)
|
|
165
172
|
|
|
173
|
+
# TEMPORARY single exception: deepseek-v4-flash speaks the Responses API
|
|
174
|
+
# (bare host, no /v1) while the rest of the deepseek catalog stays on Chat
|
|
175
|
+
# Completions. Special-cased here — like the ChatGPT provider above —
|
|
176
|
+
# because it needs a distinct base URL. Delete this branch once DeepSeek
|
|
177
|
+
# moves its catalog to Responses (then route "deepseek" wholesale).
|
|
178
|
+
if provider.lower() == "deepseek" and self._model == "deepseek-v4-flash":
|
|
179
|
+
from .providers.deepseek_responses import DeepSeekResponsesProvider
|
|
180
|
+
|
|
181
|
+
return DeepSeekResponsesProvider(
|
|
182
|
+
api_key=self._api_key,
|
|
183
|
+
max_retries=max_retries,
|
|
184
|
+
requests_per_minute=requests_per_minute,
|
|
185
|
+
tokens_per_minute=tokens_per_minute,
|
|
186
|
+
base_url="https://api.deepseek.com",
|
|
187
|
+
provider_name="deepseek",
|
|
188
|
+
)
|
|
189
|
+
|
|
166
190
|
base_urls: Dict[str, str] = {
|
|
167
191
|
"openai": "https://api.openai.com/v1/",
|
|
168
192
|
"together": "https://api.together.xyz/v1",
|
|
@@ -80,8 +80,11 @@ class InstrumentedLLMClient(LLMClient):
|
|
|
80
80
|
user_email: Optional[str] = None,
|
|
81
81
|
usage_recorder: Optional[Any] = None,
|
|
82
82
|
token_manager: Optional[Any] = None,
|
|
83
|
+
model: Optional[str] = None,
|
|
83
84
|
):
|
|
84
|
-
super().__init__(
|
|
85
|
+
super().__init__(
|
|
86
|
+
provider, api_key, max_retries, requests_per_minute, tokens_per_minute, token_manager, model=model
|
|
87
|
+
)
|
|
85
88
|
self.langfuse = langfuse_client
|
|
86
89
|
self.workspace_id = workspace_id
|
|
87
90
|
self.thread_id = thread_id
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""DeepSeek provider that speaks the **Responses API** (``/responses``).
|
|
2
|
+
|
|
3
|
+
TEMPORARY: ``deepseek-v4-flash`` is the one DeepSeek model on the Responses API
|
|
4
|
+
today; the rest of the deepseek catalog stays on Chat Completions
|
|
5
|
+
(:class:`~kolega_code.llm.providers.openai.OpenAIProvider`). DeepSeek plans to move
|
|
6
|
+
its catalog over (``deepseek-v4-pro`` in early Aug 2026), at which point this class
|
|
7
|
+
and its routing branch in ``client.py`` can be deleted and the whole ``deepseek``
|
|
8
|
+
provider routed to Responses wholesale.
|
|
9
|
+
|
|
10
|
+
Request building, streaming, and token counting are shared with the OpenAI
|
|
11
|
+
Responses providers via
|
|
12
|
+
:class:`~kolega_code.llm.providers.responses_common.ResponsesProviderBase`; only the
|
|
13
|
+
transport differs — a plain api key against ``api.deepseek.com``. DeepSeek's Responses
|
|
14
|
+
API is stateless (no ``previous_response_id`` / ``reasoning.encrypted_content``), so
|
|
15
|
+
there is no cross-turn reasoning continuity, but unsupported params (including the
|
|
16
|
+
``include=["reasoning.encrypted_content"]`` the shared builder sends) are silently
|
|
17
|
+
ignored, so the shared request builder works unmodified. The base URL is the bare
|
|
18
|
+
host — DeepSeek's Responses guide uses ``https://api.deepseek.com`` (no ``/v1``).
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
from __future__ import annotations
|
|
22
|
+
|
|
23
|
+
import uuid
|
|
24
|
+
from typing import Optional
|
|
25
|
+
|
|
26
|
+
from openai import AsyncOpenAI
|
|
27
|
+
|
|
28
|
+
from .base import BaseLLMProvider
|
|
29
|
+
from .responses_common import ResponsesProviderBase
|
|
30
|
+
|
|
31
|
+
DEFAULT_BASE_URL = "https://api.deepseek.com"
|
|
32
|
+
DEFAULT_MODEL = "deepseek-v4-flash"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class DeepSeekResponsesProvider(ResponsesProviderBase):
|
|
36
|
+
"""DeepSeek Responses-API provider authenticated with a standard api key."""
|
|
37
|
+
|
|
38
|
+
def __init__(
|
|
39
|
+
self,
|
|
40
|
+
api_key: str,
|
|
41
|
+
max_retries: int = 3,
|
|
42
|
+
requests_per_minute: Optional[int] = None,
|
|
43
|
+
tokens_per_minute: Optional[int] = None,
|
|
44
|
+
base_url: Optional[str] = None,
|
|
45
|
+
provider_name: str = "deepseek",
|
|
46
|
+
) -> None:
|
|
47
|
+
# Skip OpenAIProvider.__init__ (it builds Chat Completions sync+async
|
|
48
|
+
# clients); wire a Responses-only async client instead.
|
|
49
|
+
BaseLLMProvider.__init__(
|
|
50
|
+
self,
|
|
51
|
+
api_key=api_key,
|
|
52
|
+
max_retries=max_retries,
|
|
53
|
+
requests_per_minute=requests_per_minute,
|
|
54
|
+
tokens_per_minute=tokens_per_minute,
|
|
55
|
+
base_url=base_url or DEFAULT_BASE_URL,
|
|
56
|
+
)
|
|
57
|
+
self.provider_name = provider_name
|
|
58
|
+
# A stable per-session prompt_cache_key lets the backend cache the prompt
|
|
59
|
+
# prefix across turns (DeepSeek ignores it if unsupported, which is harmless).
|
|
60
|
+
self._session_id = str(uuid.uuid4())
|
|
61
|
+
self.async_client = AsyncOpenAI(api_key=api_key, base_url=self.base_url, max_retries=max_retries)
|
|
62
|
+
# The Responses path is async-only; the sync client is unused.
|
|
63
|
+
self.sync_client = None
|
|
64
|
+
|
|
65
|
+
def _default_model(self) -> str:
|
|
66
|
+
return DEFAULT_MODEL
|
|
@@ -14,6 +14,11 @@ DEEPSEEK_SPECS = {
|
|
|
14
14
|
mode="deepseek_effort",
|
|
15
15
|
),
|
|
16
16
|
},
|
|
17
|
+
# deepseek-v4-flash speaks the Responses API (see DeepSeekResponsesProvider), so its
|
|
18
|
+
# reasoning effort must be emitted as the Responses `reasoning` block rather than the
|
|
19
|
+
# Chat-Completions `reasoning_effort` field the shared Responses request builder ignores.
|
|
20
|
+
# DeepSeek's Responses API is stateless (no reasoning.encrypted_content), so this mode
|
|
21
|
+
# also correctly excludes flash from the flat reasoning_content replay path.
|
|
17
22
|
("deepseek", "deepseek-v4-flash"): {
|
|
18
23
|
"context_length": 1000000,
|
|
19
24
|
"max_completion_tokens": 384000,
|
|
@@ -23,7 +28,7 @@ DEEPSEEK_SPECS = {
|
|
|
23
28
|
"thinking_effort": ThinkingEffortSpec(
|
|
24
29
|
options=("none", "high", "max"),
|
|
25
30
|
default="high",
|
|
26
|
-
mode="
|
|
31
|
+
mode="openai_responses_reasoning",
|
|
27
32
|
),
|
|
28
33
|
},
|
|
29
34
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/docx/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/humanizer/LICENSE
RENAMED
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/requirements.txt
RENAMED
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/pptx/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/review/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.3 → kolega_code-0.26.4}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|