ayder-cli 2.1.5__tar.gz → 2.2.1__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.
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/PKG-INFO +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/docs/PROJECT_STRUCTURE.md +5 -5
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/docs/config.toml.example +1 -0
- ayder_cli-2.2.1/docs/superpowers/plans/2026-06-26-file-editor-improvements.md +771 -0
- ayder_cli-2.2.1/docs/superpowers/plans/2026-06-26-session-save-resume.md +1047 -0
- ayder_cli-2.2.1/docs/superpowers/specs/2026-06-26-file-editor-improvements-design.md +180 -0
- ayder_cli-2.2.1/docs/superpowers/specs/2026-06-26-session-save-resume-design.md +319 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/pyproject.toml +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/agents/registry.py +202 -44
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/agents/run.py +5 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/agents/runner.py +45 -4
- ayder_cli-2.2.1/src/ayder_cli/agents/tool.py +184 -0
- ayder_cli-2.2.1/src/ayder_cli/agents/worktree.py +130 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/cli.py +70 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/cli_runner.py +6 -16
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/config.py +11 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/context_manager.py +8 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/ollama_context_manager.py +12 -1
- ayder_cli-2.2.1/src/ayder_cli/core/session.py +216 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/process_manager.py +220 -27
- ayder_cli-2.2.1/src/ayder_cli/prompts.py +393 -0
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/background_process_tool.py +103 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/filesystem.py +93 -35
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/filesystem_definitions.py +24 -3
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/note_tool.py +158 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/notes.py +115 -4
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/notes_definitions.py +97 -0
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/process_manager_definitions.py +67 -0
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/shell.py +106 -0
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/shell_definitions.py +53 -0
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/task_definitions.py +131 -0
- ayder_cli-2.2.1/src/ayder_cli/tools/builtins/task_tool.py +399 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/tasks.py +18 -7
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/definition.py +2 -2
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/registry.py +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/__init__.py +32 -10
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/app.py +36 -20
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/commands.py +3 -3
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/screens.py +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/COVERAGE.md +2 -2
- ayder_cli-2.2.1/tests/agents/test_agent_consolidated.py +92 -0
- ayder_cli-2.2.1/tests/agents/test_agent_tools.py +83 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_callbacks.py +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_config.py +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_integration.py +5 -5
- ayder_cli-2.2.1/tests/agents/test_queue.py +204 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_registry.py +66 -12
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_run.py +15 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_runner.py +81 -4
- ayder_cli-2.2.1/tests/agents/test_tool.py +19 -0
- ayder_cli-2.2.1/tests/agents/test_worktree_helpers.py +105 -0
- ayder_cli-2.2.1/tests/agents/test_worktree_isolation.py +296 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/convergence/test_execution_policy_parity.py +3 -3
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_config_v2.py +10 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_ollama_context_manager.py +29 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_parser.py +11 -11
- ayder_cli-2.2.1/tests/core/test_session.py +157 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/loops/test_chat_loop_tool_truncation.py +24 -3
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_cli.py +51 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_process_manager.py +150 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_tasks.py +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_agent_notes.py +1 -1
- ayder_cli-2.2.1/tests/tools/test_background_process_tool.py +121 -0
- ayder_cli-2.2.1/tests/tools/test_bash_tool.py +183 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_definition_discovery.py +4 -4
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_impl.py +206 -14
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_impl_coverage.py +5 -5
- ayder_cli-2.2.1/tests/tools/test_note_tool.py +158 -0
- ayder_cli-2.2.1/tests/tools/test_notes_api.py +118 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_registry.py +3 -3
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_registry_coverage.py +1 -1
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_schemas.py +5 -6
- ayder_cli-2.2.1/tests/tools/test_task_tool.py +375 -0
- ayder_cli-2.2.1/tests/tui/test_resume.py +86 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_confirm_screen.py +8 -4
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_helpers.py +4 -4
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_ui.py +3 -3
- ayder_cli-2.1.5/src/ayder_cli/agents/tool.py +0 -183
- ayder_cli-2.1.5/src/ayder_cli/prompts.py +0 -345
- ayder_cli-2.1.5/src/ayder_cli/tools/builtins/notes_definitions.py +0 -39
- ayder_cli-2.1.5/src/ayder_cli/tools/builtins/process_manager_definitions.py +0 -84
- ayder_cli-2.1.5/src/ayder_cli/tools/builtins/shell.py +0 -34
- ayder_cli-2.1.5/src/ayder_cli/tools/builtins/shell_definitions.py +0 -31
- ayder_cli-2.1.5/src/ayder_cli/tools/builtins/tasks_definitions.py +0 -48
- ayder_cli-2.1.5/tests/agents/test_agent_tools.py +0 -85
- ayder_cli-2.1.5/tests/agents/test_tool.py +0 -142
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/.github/workflows/ci.yml +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/.github/workflows/python-package.yml +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/.gitignore +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/.python-version +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/AGENTS.md +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/LICENSE +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/README.md +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/docs/README_AGENT_WORKFLOW.md +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/docs/README_OLLAMA.md +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/docs/cc.png +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/__main__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/agents/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/agents/callbacks.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/agents/config.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/application/README.md +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/application/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/application/execution_policy.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/application/message_contract.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/application/runtime_factory.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/application/validation.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/cli_callbacks.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/console.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/cache_monitor.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/config_migration.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/context.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/context_manager_factory.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/default_context_manager.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/core/result.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/logging_config.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/loops/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/loops/chat_loop.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/parser.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/base.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/claude.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/deepseek.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/gemini.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/glm.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/_errors.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/base.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/deepseek.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/generic_native.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/generic_xml.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/matrix.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/minimax.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/qwen3.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_drivers/registry.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/ollama_inspector.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/openai.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/impl/qwen.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/orchestrator.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/providers/retry.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/services/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/services/interactions.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/themes/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/themes/claude.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/themes/original.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/context.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/context_definitions.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/search.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/search_definitions.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/utils_tools.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/utils_tools_definitions.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/web.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/builtins/web_definitions.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/execution.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/hooks.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/normalization.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/plugin_api.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/plugin_github.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/plugin_manager.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/plugin_status.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/schemas.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tools/utils.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/adapter.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/helpers.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/keybindings.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/parser.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/theme_manager.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/types.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/tui/widgets.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/ui.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/src/ayder_cli/version.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/agents/test_runner_provider_unavailable.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/application/test_message_contract.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/application/test_runtime_factory.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/client/test_main.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/convergence/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/convergence/test_runtime_wiring.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/convergence/test_validation_path.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_cache_monitor.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_config.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_config_coverage.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_config_migration.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_config_provider_logging.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_config_retry.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_context_manager_factory.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_default_context_manager.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_default_context_manager_should_compact.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_ollama_context_manager_cache_monitor.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_ollama_context_manager_max_history.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/core/test_parameter_aliasing.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/loops/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/loops/test_base.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/loops/test_chat_loop_hook.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_base.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_deepseek.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_errors.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_fallback.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_generic_native.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_generic_xml.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_matrix.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_minimax.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_provider_integration.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_qwen3.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/ollama_drivers/test_registry.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_glm_async.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_ollama_inspector.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_ollama_native.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_ollama_xml.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_ollama_xml_autoroute.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_ollama_xml_usage.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_orchestrator_capabilities.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_qwen_async.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_retry_classifier.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_retry_integration.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/providers/test_retrying_provider.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/services/test_boundary.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/services/test_interaction_sink.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_cli_callbacks.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_context.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_env_manager.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_logging_config.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/test_notes.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_di_injection.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_path_security.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_plugin_api.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_plugin_github.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_plugin_loading.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_plugin_manager.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_plugin_status.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_result.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_search_codebase.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_utils.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tools/test_web.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/__init__.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_agent_list_screen.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_do_clear_coordination.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_follow_mode.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_help_screen.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_input_box.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_keybindings.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_multi_select_screen.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_multiline_input.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_paste.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_pending_compact_consumer.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_pull_delivery.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_status_bar_badges.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_turn_consumer.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/tui/test_widgets.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_diff_preview.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_plugin_autoenable.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_provider_switch.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_run_tui_startup.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_assistant_sanitization.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_chat_loop.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_commands_agent.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_commands_logging.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_commands_plugin.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_commands_provider.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_temporal_command.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_tui_widgets.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_ui_coverage.py +0 -0
- {ayder_cli-2.1.5 → ayder_cli-2.2.1}/tests/ui/test_ui_verbose.py +0 -0
|
@@ -288,7 +288,7 @@ the design rationale.
|
|
|
288
288
|
| `tools/plugin_github.py` | GitHub-sourced plugin fetcher | remote-plugin loader |
|
|
289
289
|
| `tools/builtins/filesystem.py` | File system tool impls | `file_explorer()`, `read_file()`, `file_editor()` |
|
|
290
290
|
| `tools/builtins/search.py` | Search tool impls | `search_codebase()`, `get_project_structure()` |
|
|
291
|
-
| `tools/builtins/shell.py` | Shell execution impl | `
|
|
291
|
+
| `tools/builtins/shell.py` | Shell execution impl | `bash()` |
|
|
292
292
|
| `tools/builtins/context.py` | Session context snapshots | `context` |
|
|
293
293
|
| `tools/builtins/notes.py` | Note-taking tool | `create_note()` |
|
|
294
294
|
| `tools/builtins/tasks.py` | Task-management tools | `list_tasks()`, `show_task()` |
|
|
@@ -300,7 +300,7 @@ the design rationale.
|
|
|
300
300
|
|
|
301
301
|
| Module | Purpose | Key Classes/Functions |
|
|
302
302
|
|--------|---------|----------------------|
|
|
303
|
-
| `process_manager.py` | Background processes | `ProcessManager`, `
|
|
303
|
+
| `process_manager.py` | Background processes | `ProcessManager`, `background_process()` |
|
|
304
304
|
| `prompts.py` | System prompts | `SYSTEM_PROMPT`, `PLANNING_PROMPT_TEMPLATE`, `get_system_prompt()`, `PROJECT_STRUCTURE_MACRO_TEMPLATE` |
|
|
305
305
|
| `parser.py` | XML tool-call parsing | `parse_custom_tool_calls()` |
|
|
306
306
|
|
|
@@ -634,7 +634,7 @@ Supports both synchronous tool execution and integrated with asyncio for TUI.
|
|
|
634
634
|
Schema-driven tool definitions with auto-discovery:
|
|
635
635
|
- **Auto-discovery**: `_discover_definitions()` scans all `*_definitions.py` files in `tools/builtins/` at import time — no manual registration
|
|
636
636
|
- **Duplicate detection**: Tracks `(definition, source_module)` pairs; raises `ValueError` with accurate module names if a tool name appears twice
|
|
637
|
-
- **Required-tool validation**: Raises `ImportError` if core tools (`file_explorer`, `read_file`, `file_editor`, `
|
|
637
|
+
- **Required-tool validation**: Raises `ImportError` if core tools (`file_explorer`, `read_file`, `file_editor`, `bash`) are absent
|
|
638
638
|
- **Permissions**: `"r"` (read), `"w"` (write), `"x"` (execute), `"http"` (network)
|
|
639
639
|
- **Safety flags**: `safe_mode_blocked`, `is_terminal` per definition
|
|
640
640
|
- **Path parameters**: Names listed in `path_parameters` are automatically resolved via `ProjectContext`
|
|
@@ -645,10 +645,10 @@ Schema-driven tool definitions with auto-discovery:
|
|
|
645
645
|
16 built-in tools across 9 definition files:
|
|
646
646
|
- Filesystem (3): `file_explorer`, `read_file`, `file_editor`
|
|
647
647
|
- Search (2): `search_codebase`, `get_project_structure`
|
|
648
|
-
- Shell (1): `
|
|
648
|
+
- Shell (1): `bash`
|
|
649
649
|
- Context (1): `context`
|
|
650
650
|
- Notes (1): `create_note`
|
|
651
|
-
- Background
|
|
651
|
+
- Background Process (1): `background_process` (action=start|logs|stop|list|info)
|
|
652
652
|
- Tasks (2): `list_tasks`, `show_task`
|
|
653
653
|
- Environment (1): `manage_environment_vars`
|
|
654
654
|
- Web (1): `fetch_web`
|
|
@@ -81,6 +81,7 @@ editor = "vim"
|
|
|
81
81
|
verbose = false
|
|
82
82
|
prompt = "STANDARD" # MINIMAL | STANDARD | EXTENDED
|
|
83
83
|
max_background_processes = 5 # cap on concurrent background processes (e.g. test runs)
|
|
84
|
+
max_concurrent_agents = 5 # max agents running at once; extra dispatches queue (1-20)
|
|
84
85
|
max_output_tokens = 8192 # orchestrator response cap
|
|
85
86
|
# Max conversation messages kept per turn. 0 = unlimited (default): the context
|
|
86
87
|
# manager's token budget + compaction are the bound, so the model uses its real
|