kolega-code 0.26.6__tar.gz → 0.26.7__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.6 → kolega_code-0.26.7}/CHANGELOG.md +11 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/PKG-INFO +1 -1
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/__init__.py +1 -1
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/__init__.py +1 -1
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/memory_screen.py +25 -9
- kolega_code-0.26.7/kolega_code/llm/providers/_token_encoding.py +44 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/anthropic.py +4 -2
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/openai.py +6 -2
- {kolega_code-0.26.6 → kolega_code-0.26.7}/pyproject.toml +1 -1
- {kolega_code-0.26.6 → kolega_code-0.26.7}/.gitignore +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/CONTRIBUTING.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/MIGRATION.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/README.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/RELEASING.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/manifest.json +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/deep-research/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/deep-research/references/evidence-and-reporting.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/deep-research/references/gigacode-workflow.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/deep-research/scripts/deep-research.workflow +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/deep-research/scripts/materialize_report.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/references/examples.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/references/limitations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/references/operations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/references/quality.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/requirements.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/scripts/docx_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/humanizer/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/humanizer/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/references/examples.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/references/limitations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/references/ocr.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/references/operations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/references/quality.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/references/redaction.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-paddle.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/requirements-ocr-surya.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/requirements.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/scripts/pdf_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/references/examples.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/references/limitations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/references/operations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/requirements.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/scripts/pptx_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/review/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/review/references/github-publishing.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/skill-authoring/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/skill-authoring/references/review-checklist.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/LICENSE +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/SKILL.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/references/examples.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/references/limitations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/references/operations.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/references/quality.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/requirements.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/scripts/smoke_test.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/xlsx/scripts/xlsx_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/baseagent.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/browseragent.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/coder.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/common.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/compression.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/context.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/conversation.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/custom_agents.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/edit_protocols.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/errors.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/bridge.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/bundle-requirements.in +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/bundle-requirements.txt +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/env.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/js_kernel.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/kernel.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/prelude.js +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/prelude.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/protocol.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/py_kernel.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/runner.js +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/eval/runner.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/generalagent.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/goal.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/investigationagent.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/model_routing.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/accounting.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/budget.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/context.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/errors.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/executor.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/guide.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/journal.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/runtime.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/orchestration/types.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/planningagent.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_dump.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_overrides.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_provider.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.system.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/auxiliary/compression/summary.user.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/auxiliary/terminal/output_summary.system.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/auxiliary/terminal/safety.system.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/auxiliary/tools/think_hard.system.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/build_questions.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/current_plan_artifact.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/planning_questions.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/scratchpad.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/shared_task_list_readonly.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/cli/worktree_control.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/extensions/skills/catalog.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/agents/browser.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/agents/coder_ask.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/agents/coder_cli.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/agents/general.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/agents/investigation.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/agents/planning.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/agents_md_instructions.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/context_updates.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/environment_variables/workspace_env_vars.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/frontend_guidance.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/starter_templates/expo.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/starter_templates/html_website.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/starter_templates/mern_stack.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/system/includes/starter_templates/react_vite_shadcdn.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/user_tasks/cli/implement_plan.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompt_templates/user_tasks/cli/init_agents.md.j2 +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/prompts.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/agent_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/base_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/browser_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/build_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/codex_patch.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/edit_preview.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/edit_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/eval_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/glob_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/hashline_v2.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/list_directory_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/lsp_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/memory_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/read_file_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/read_image_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/base.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/duckduckgo.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/errors.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/firecrawl.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/models.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/searxng.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_backends/tavily.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/search_codebase_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/snapshot_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/streaming_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/terminal_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/think_hard_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch/answering.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch/documents.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch/extractors.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch/pipeline.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch/retrieval.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_fetch_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/web_search_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tool_backend/workflow_tool.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/tools.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/utils/commands.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/agent/volatile_context.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/auth/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/auth/_jwt.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/auth/chatgpt_oauth.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/auth/constants.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/auth/tokens.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/framing.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/installer.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/manager.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/multiplex.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/native_host.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/protocol.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/registry.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/browser_extension/runtime.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/app.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/browser_backend.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/clipboard_image.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/config.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/connection.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/cron.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/diagnostics.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/file_index.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/goal.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/loop.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/main.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/mentions.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/messages.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/model_catalog.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/model_connection.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/plan_artifacts.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/provider_registry.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/session_event_store.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/session_journal.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/session_store.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/settings.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/skills.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/slash_commands.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/theme.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/agent_runtime.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/app_base.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/changes_screen.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/command_handlers.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/constants.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/custom_model.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/loop_runtime.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/onboarding_screen.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/prompt_flows.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/session_diff.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/settings_panel.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/settings_screen.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/state.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/status_dashboard.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/styles.tcss +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/sub_agent_screen.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/terminal_display.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/transcript.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/tui/widgets.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/cli/updater.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/config.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/events.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/git_env.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/backends.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/config.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/dispatcher.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/events.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/matcher.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/hooks/outcome.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/client.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/exceptions.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/instrumented_client.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/models.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/base.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/chatgpt_oauth.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/deepseek_responses.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/google.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/models.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/openai_responses.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/providers/responses_common.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/ratelimit.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/accessors.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/anthropic.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/dashscope.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/deepseek.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/fireworks.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/google.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/kimi_coding.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/moonshot.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/ollama_cloud.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/openai.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/openai_chatgpt.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/openrouter.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/together.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/xai.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/catalog/zai.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/openrouter_catalog.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/thinking.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/specs/types.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/timeouts.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/llm/tool_execution_ids.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/local_state.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/config.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/oauth.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/service.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/state.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/tools.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/mcp/transport.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/identity.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/manager.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/manifest.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/markdown.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/models.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/protocol.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/memory/registry.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/models/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/models/sandbox_terminal_state.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/permissions.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/runtime.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/README.md +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/async_filesystem.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/base.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/browser.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/event_loop.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/filesystem.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/local.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/serializer.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/terminal.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/sandbox/utils.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/scratchpad.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/security/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/security/secrets.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/base.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/browser.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/file_system.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/html.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/client.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/config.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/detector.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/diagnostics.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/edits.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/manager.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/registry.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/lsp/registry.yaml +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/snapshots.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/terminal.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/terminal_buffer.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/services/workspace_scan.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/control.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/inmemory.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/projection.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/recording.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/runtime.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/session/store.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/testing/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/testing/store_conformance.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/tools/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/tools/core.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/tools/definitions.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/tools/registry.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/utils/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/utils/images.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/__init__.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/assets/fold.js +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/assets/player.css +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/assets/player.html +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/assets/player.js +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/bundle.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/hosting.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/redaction.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/server.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/singlefile.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/web/theme_css.py +0 -0
- {kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/worktrees.py +0 -0
|
@@ -6,6 +6,17 @@ This project uses GitHub Releases for detailed generated release notes. This fil
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## 0.26.7 - 2026-08-03
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Local token counting no longer crashes on content that contains a tokenizer
|
|
14
|
+
special-token literal (for example `<|endoftext|>` or `<|im_start|>`, common in
|
|
15
|
+
ML/tokenizer files and chat-format prompts); those strings are now counted as
|
|
16
|
+
ordinary text instead of aborting the run.
|
|
17
|
+
- The Private Project Memory screen no longer crashes with an internal
|
|
18
|
+
"NoMatches" error when it is closed while still loading.
|
|
19
|
+
|
|
9
20
|
## 0.26.6 - 2026-08-03
|
|
10
21
|
|
|
11
22
|
### Changed
|
|
@@ -115,6 +115,22 @@ class MemoryScreen(ModalScreen[None]):
|
|
|
115
115
|
if self._owner._memory_screen is self:
|
|
116
116
|
self._owner._memory_screen = None
|
|
117
117
|
|
|
118
|
+
def _work_current(self, generation: int) -> bool:
|
|
119
|
+
"""Whether a worker may still render — not superseded, and still attached.
|
|
120
|
+
|
|
121
|
+
A worker finishes its threaded load asynchronously, by which point the
|
|
122
|
+
screen may have been replaced by a newer refresh or torn down. Rendering
|
|
123
|
+
then calls ``query_one`` on detached widgets and raises ``NoMatches``
|
|
124
|
+
*inside the worker* (surfacing as ``WorkerFailed``). ``_work_generation``
|
|
125
|
+
covers supersede; ``is_attached`` additionally closes the teardown race
|
|
126
|
+
where child widgets detach before ``on_unmount`` bumps the generation.
|
|
127
|
+
(``is_mounted`` is the wrong signal here: it stays True after the screen
|
|
128
|
+
is popped, while ``is_attached`` flips exactly when ``query_one`` starts
|
|
129
|
+
raising.) The render after this check is synchronous, so ``is_attached``
|
|
130
|
+
cannot flip mid-render.
|
|
131
|
+
"""
|
|
132
|
+
return generation == self._work_generation and self.is_attached
|
|
133
|
+
|
|
118
134
|
# ---- loading -------------------------------------------------------------
|
|
119
135
|
|
|
120
136
|
def _start_refresh(self, *, select_reference: str | None = None, from_disk: bool = False) -> None:
|
|
@@ -148,17 +164,17 @@ class MemoryScreen(ModalScreen[None]):
|
|
|
148
164
|
allow_disabled=True,
|
|
149
165
|
)
|
|
150
166
|
except Exception as error:
|
|
151
|
-
if
|
|
167
|
+
if self._work_current(generation):
|
|
152
168
|
self._status = None
|
|
153
169
|
self._all_entries = []
|
|
154
170
|
self._entries = []
|
|
155
171
|
self._render_error(str(error))
|
|
156
172
|
return
|
|
157
173
|
finally:
|
|
158
|
-
if
|
|
174
|
+
if self._work_current(generation):
|
|
159
175
|
self._set_busy(False)
|
|
160
176
|
|
|
161
|
-
if
|
|
177
|
+
if not self._work_current(generation):
|
|
162
178
|
return
|
|
163
179
|
self._status = status
|
|
164
180
|
self._all_entries = entries
|
|
@@ -189,13 +205,13 @@ class MemoryScreen(ModalScreen[None]):
|
|
|
189
205
|
allow_disabled=True,
|
|
190
206
|
)
|
|
191
207
|
except Exception as error:
|
|
192
|
-
if
|
|
208
|
+
if self._work_current(generation):
|
|
193
209
|
self._render_error(str(error))
|
|
194
210
|
return
|
|
195
211
|
finally:
|
|
196
|
-
if
|
|
212
|
+
if self._work_current(generation):
|
|
197
213
|
self._set_busy(False)
|
|
198
|
-
if
|
|
214
|
+
if not self._work_current(generation):
|
|
199
215
|
return
|
|
200
216
|
self._loaded_entry = entry
|
|
201
217
|
self._render_entry(entry)
|
|
@@ -448,7 +464,7 @@ class MemoryScreen(ModalScreen[None]):
|
|
|
448
464
|
try:
|
|
449
465
|
context = await asyncio.to_thread(self._manager.prompt_context)
|
|
450
466
|
except MemoryUnavailableError as error:
|
|
451
|
-
if
|
|
467
|
+
if not self._work_current(generation):
|
|
452
468
|
return
|
|
453
469
|
self._set_busy(False)
|
|
454
470
|
self._enter_agent_view(
|
|
@@ -458,11 +474,11 @@ class MemoryScreen(ModalScreen[None]):
|
|
|
458
474
|
)
|
|
459
475
|
return
|
|
460
476
|
except Exception as error:
|
|
461
|
-
if
|
|
477
|
+
if self._work_current(generation):
|
|
462
478
|
self._set_busy(False)
|
|
463
479
|
self.query_one("#memory_notice", Static).update(str(error))
|
|
464
480
|
return
|
|
465
|
-
if
|
|
481
|
+
if not self._work_current(generation):
|
|
466
482
|
return
|
|
467
483
|
self._set_busy(False)
|
|
468
484
|
truncated = " · truncated" if context.truncated else ""
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"""Shared tiktoken helpers for local token *counting*.
|
|
2
|
+
|
|
3
|
+
Local token counting must never crash on content that merely contains a tiktoken
|
|
4
|
+
special-token literal — e.g. ``<|endoftext|>`` in a GPT-2 / tokenizer file, or
|
|
5
|
+
``<|im_start|>`` in a chat-format prompt. By default ``Encoding.encode`` uses
|
|
6
|
+
``disallowed_special="all"`` and raises a ``ValueError`` the moment it sees such
|
|
7
|
+
a string in ordinary text. That is the right default for *building a request*
|
|
8
|
+
(you don't want to smuggle real control tokens into a prompt), but here we only
|
|
9
|
+
want an approximate size for context management, so those strings should be
|
|
10
|
+
counted as normal text. Passing ``disallowed_special=()`` disables the check —
|
|
11
|
+
exactly what tiktoken's own error message recommends.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
from typing import List
|
|
15
|
+
|
|
16
|
+
import tiktoken
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CountingEncoding:
|
|
20
|
+
"""A tiktoken ``Encoding`` wrapper whose ``encode`` never raises on special
|
|
21
|
+
tokens.
|
|
22
|
+
|
|
23
|
+
It forwards to the wrapped encoding with ``disallowed_special=()`` so
|
|
24
|
+
special-token literals in the text are counted as ordinary text instead of
|
|
25
|
+
raising. Only ``encode`` is exposed because counting is the only thing this
|
|
26
|
+
is used for.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
__slots__ = ("_encoding",)
|
|
30
|
+
|
|
31
|
+
def __init__(self, encoding: "tiktoken.Encoding") -> None:
|
|
32
|
+
self._encoding = encoding
|
|
33
|
+
|
|
34
|
+
def encode(self, text: str) -> List[int]:
|
|
35
|
+
return self._encoding.encode(text, disallowed_special=())
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def get_counting_encoding(name: str) -> CountingEncoding:
|
|
39
|
+
"""Return a :class:`CountingEncoding` for the named tiktoken encoding.
|
|
40
|
+
|
|
41
|
+
``tiktoken.get_encoding`` caches the underlying BPE table in its own registry,
|
|
42
|
+
so repeated calls are cheap; the wrapper is a trivial object around it.
|
|
43
|
+
"""
|
|
44
|
+
return CountingEncoding(tiktoken.get_encoding(name))
|
|
@@ -5,13 +5,13 @@ import threading
|
|
|
5
5
|
from typing import Any, AsyncContextManager, Dict, List, Optional, cast
|
|
6
6
|
from weakref import WeakKeyDictionary
|
|
7
7
|
|
|
8
|
-
import tiktoken
|
|
9
8
|
from anthropic import AsyncAnthropic
|
|
10
9
|
|
|
11
10
|
from ..models import ContentBlock, Message, MessageChunk, MessageHistory, ToolDefinition
|
|
12
11
|
from ..specs import build_thinking_request_params, get_model_specs
|
|
13
12
|
from ..timeouts import streaming_timeout
|
|
14
13
|
from ..tool_execution_ids import ToolExecutionIdRegistry
|
|
14
|
+
from ._token_encoding import get_counting_encoding
|
|
15
15
|
from .base import BaseLLMProvider
|
|
16
16
|
from .models import GenerationParams, TokenCount
|
|
17
17
|
|
|
@@ -241,7 +241,9 @@ class AnthropicProvider(BaseLLMProvider):
|
|
|
241
241
|
Returns:
|
|
242
242
|
TokenCount object with estimated input token count
|
|
243
243
|
"""
|
|
244
|
-
|
|
244
|
+
# CountingEncoding so special-token literals (e.g. <|endoftext|>) in the
|
|
245
|
+
# content are counted as text instead of raising — see _token_encoding.
|
|
246
|
+
encoding = get_counting_encoding("p50k_base")
|
|
245
247
|
self._ensure_local_token_memos()
|
|
246
248
|
tools = tools or []
|
|
247
249
|
|
|
@@ -8,7 +8,6 @@ import os
|
|
|
8
8
|
import threading
|
|
9
9
|
import uuid
|
|
10
10
|
|
|
11
|
-
import tiktoken
|
|
12
11
|
from openai import AsyncOpenAI
|
|
13
12
|
|
|
14
13
|
from ..models import (
|
|
@@ -26,6 +25,7 @@ from ..models import (
|
|
|
26
25
|
from ..specs import MODEL_SPECS, build_thinking_request_params
|
|
27
26
|
from ..timeouts import streaming_timeout
|
|
28
27
|
from ..tool_execution_ids import ToolExecutionIdRegistry
|
|
28
|
+
from ._token_encoding import get_counting_encoding
|
|
29
29
|
from .base import BaseLLMProvider
|
|
30
30
|
from .models import GenerationParams, TokenCount
|
|
31
31
|
|
|
@@ -35,6 +35,10 @@ from .models import GenerationParams, TokenCount
|
|
|
35
35
|
# de-facto encoding for every OpenAI-compatible provider (DeepSeek, xAI, Fireworks,
|
|
36
36
|
# ... have no native tiktoken table); the count is an estimate for context
|
|
37
37
|
# management, not billing.
|
|
38
|
+
#
|
|
39
|
+
# CountingEncoding treats special-token literals (e.g. ``<|endoftext|>`` in a
|
|
40
|
+
# tokenizer file) as ordinary text instead of raising, so counting never crashes
|
|
41
|
+
# on such content — see _token_encoding for the rationale.
|
|
38
42
|
_ENCODING_NAME = "cl100k_base"
|
|
39
43
|
_encoding = None
|
|
40
44
|
|
|
@@ -46,7 +50,7 @@ OPENROUTER_PROVIDER = "openrouter"
|
|
|
46
50
|
def _get_encoding():
|
|
47
51
|
global _encoding
|
|
48
52
|
if _encoding is None:
|
|
49
|
-
_encoding =
|
|
53
|
+
_encoding = get_counting_encoding(_ENCODING_NAME)
|
|
50
54
|
return _encoding
|
|
51
55
|
|
|
52
56
|
|
|
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.6 → kolega_code-0.26.7}/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.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/docx/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/humanizer/LICENSE
RENAMED
|
File without changes
|
{kolega_code-0.26.6 → kolega_code-0.26.7}/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.6 → kolega_code-0.26.7}/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.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pdf/requirements.txt
RENAMED
|
File without changes
|
{kolega_code-0.26.6 → kolega_code-0.26.7}/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.6 → kolega_code-0.26.7}/kolega_code/_bundled_skills/skills/pptx/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kolega_code-0.26.6 → kolega_code-0.26.7}/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.6 → kolega_code-0.26.7}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|