deepagents-code 0.1.82__tar.gz → 0.1.83__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.
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/CHANGELOG.md +6 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/PKG-INFO +12 -12
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/README.md +2 -2
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_build_info.py +1 -1
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_version.py +1 -1
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/app.py +8 -1
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/config.py +13 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/model_config.py +24 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/messages.py +9 -4
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/model_selector.py +7 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/pyproject.toml +7 -7
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_app.py +19 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_config.py +48 -1
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_model_config.py +19 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/uv.lock +23 -23
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/.gitignore +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/AGENTS.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/ARCHITECTURE.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/COMMANDS.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/DEVELOPMENT.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/EXTENSIONS.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/HOOKS.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/LICENSE +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/Makefile +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/PRICING.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/THREAT_MODEL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/__main__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_ask_user_types.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_async.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_cli_context.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_constants.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_content_blocks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_debug.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_debug_buffer.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_dep_floor_check.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_env_vars.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_fake_models.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_git.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_glm_5p2_profile.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_home_error.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_invocation.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_js_cost.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_markdown.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_paths.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_repository_bounds.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_reserved_names.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_server_config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_session_stats.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_startup_error.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_terminal_stderr.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_testing_models.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_textual_patches.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_tool_free.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_tool_stream.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/_tracing.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/acp.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/agent.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/app.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/approval_mode.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/ask_user.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/auth_display.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/auth_store.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/auto_mode.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/btw.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/btw_api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/btw_cost.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/deepagents-plugin-discovery/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/deepagents-thread-inspector/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/deepagents-thread-inspector/scripts/inspect_sessions.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/remember/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/skill-creator/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/bundled_prices.README.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/bundled_prices.json +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/commands/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/commands/auth.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/commands/config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/commands/extras.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/commands/mcp.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/commands/tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/launch/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/launch/server.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/launch/server_manager.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/non_interactive.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/remote_client.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/client/session_cost.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/clipboard.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/cold_cache.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/command_registry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/config_manifest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configurable_model.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/interpreter.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/paths.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/provider.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/providers.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/resolver.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/service.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/theme_resolution.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/types.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/configuration/writer.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/context_doctor.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/cost_tracking.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/default_agent_prompt.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/diff_utils.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/doctor.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/editor.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/event_bus.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/discovery.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/hosting.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/loader.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/registry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/runtime.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/settings.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extensions/trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/extras_info.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/file_ops.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/formatting.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/goal_rubric.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/goal_state_limits.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/goal_state_notice.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/goal_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/capabilities.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/client.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/client_lifecycle.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/context.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/engine.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/env.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/envelope.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/interrupt.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/legacy.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/loading.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/manager.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/migration.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/models/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/models/adapters.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/models/config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/models/domain.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/models/transport.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/models/wire.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/permissions.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/presenter.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/projection.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/reducer.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/runner.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/runtime.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/server_middleware.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/snapshot.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/transcript.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/hooks/validate_terminal_sequence.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/input.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/integrations/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/integrations/openai_codex.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/integrations/sandbox_config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/integrations/sandbox_factory.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/integrations/sandbox_provider.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/integrations/sandbox_registry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/iterm_cursor_guide.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/json_types.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/local_context.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/main.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/managed_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_auth.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_disabled.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_login_service.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_middleware.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_oauth_ui.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_providers/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_providers/_registry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_providers/base.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_providers/github.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_providers/slack.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_proxy.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/mcp_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/media_utils.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/memory_guard.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/model_api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/model_catalog.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/model_metadata.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/model_retry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/notifications.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/offload.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/offload_api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/offload_middleware.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/onboarding.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/output.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/paste_collapse.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/_json.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/adapters/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/adapters/hooks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/adapters/mcp.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/adapters/skills.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/adapters/skills_middleware.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/commands_cli.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/discovery.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/manifest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/marketplace.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/models.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/store.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/plugins/substitution.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/project_utils.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/py.typed +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/reasoning_effort.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/reliable_rubric.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/resume_state.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/server_graph.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/sessions.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/skills/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/skills/commands.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/skills/invocation.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/skills/load.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/skills/merge.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/skills/trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/state_migration.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/subagents.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/system_prompt.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/terminal_capabilities.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/terminal_escape.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/terminal_title.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/theme.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/thread_ownership.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/thread_titles.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tool_catalog.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tool_display.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/key_hints.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/_cost_breakdown.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/btw.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/btw.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/cold_cache.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/cost_breakdown.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/mcp_servers.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/mcp_servers.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/model_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/plugin_manager/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/plugin_manager/content.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/plugin_manager/models.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/plugin_manager/plugin_manager.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/plugin_manager/state.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/plugin_manager/tabs.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/prompt_clipboard.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/prompt_clipboard.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/resume_blocked.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/resume_compact.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/session_cost.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/session_cost.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/thread_name.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/modals/thread_name.tcss +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/screens/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/textual_adapter.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/_condense_path.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/_copy_spans.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/_inline_prompt.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/_js_eval_display.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/_links.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/_paste_textarea.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/agent_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/approval.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/ask_user.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/auth.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/auto_mode_notice.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/autocomplete.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/chat_input.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/codex_auth.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/context_usage.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/cwd_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/debug_console.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/diff.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/effort_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/goal_review.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/goal_status.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/history.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/install_confirm.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/launch_init.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/loading.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/mcp_login.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/mcp_reconnect.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/mcp_viewer.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/message_store.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/notification_center.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/notification_detail.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/notification_settings.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/prompt_search.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/restart_prompt.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/skill_trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/startup_tip.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/status.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/subagent_panel.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/theme_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/thread_agent_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/thread_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/tool_renderers.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/tool_widgets.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/update_available.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/update_confirm.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/update_progress.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/welcome.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/yolo_mode_notice.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/ui.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/unicode_security.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/update_check.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/workspace.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/workspace_diagnostics.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/extensions/memory_store.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/arxiv-search/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/arxiv-search/arxiv_search.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/langgraph-docs/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/skill-creator/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/skill-creator/scripts/init_skill.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/skill-creator/scripts/quick_validate.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/examples/skills/web-research/SKILL.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/hatch_build.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/images/debug-console-cost-breakdown.png +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/images/model-stream-retry.png +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/images/tui.png +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/scripts/check_imports.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/scripts/check_process_cwd.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/scripts/debug_server.sh +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/scripts/generate_commands_catalog.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/scripts/install.sh +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/README.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/benchmarks/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/benchmarks/test_local_context_benchmarks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/benchmarks/test_thread_loading_benchmarks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/conftest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_acp_mode.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_auto_approve_remote.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_compact_resume.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_offload_server_side.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_pending_work_recovery.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_sandbox_factory.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/integration_tests/test_sandbox_operations.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/client/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/client/commands/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/client/commands/test_auth.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/client/commands/test_extras.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/client/commands/test_mcp.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/client/commands/test_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/conftest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/data/coding_agent_v1_validator.json +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/models/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/models/test_models.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_client_lifecycle.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_configuration.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_engine.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_execution.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_manager.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_presenter.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_server_lifecycle.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_transcript.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/hooks/test_trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/plugins/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/plugins/test_marketplace.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/plugins/test_plugin_hooks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/plugins/test_plugins_p0.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/test_commands.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/test_load.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/test_merge.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/test_skill_trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/test_skills_json.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/skills/test_thread_inspector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/smoke_tests/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/smoke_tests/conftest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/smoke_tests/snapshots/system_prompt_headless_local.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/smoke_tests/snapshots/system_prompt_interactive_local.md +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/smoke_tests/test_system_prompt.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test__tool_stream.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_acp.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_agent.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_agent_friendly.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_agent_mcp_timeout.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_app_thread_ownership.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_approval_mode.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_args.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_ask_user_middleware.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_ask_user_types.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_auth_display.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_auth_store.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_auth_web_search_restart.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_auto_mode.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_btw.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_btw_api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_cache_expiry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_charset.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_cli_provider.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_clipboard.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_coding_agent_metadata.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_cold_cache.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_command_registry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_compact_tool.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_config_manifest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_configurable_model.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_configuration.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_configuration_resolution.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_configuration_resolver.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_context_doctor.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_cost_tracking.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_cursor_style.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_debug.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_debug_buffer.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_debug_console.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_dep_floor_check.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_diff_utils.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_doctor.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_editor.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_end_to_end.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_env_vars.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_event_bus.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_exception_handling.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_cli_trust.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_config_manifest.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_discovery.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_display.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_host_runtime.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_hosting.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extension_runtime.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extra_skills_dirs.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_extras_info.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_file_ops.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_formatting.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_git.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_glm_5p2_profile.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_goal_criteria_client.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_goal_rubric.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_goal_state_limits.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_goal_state_notice.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_goal_state_persistence.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_goal_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_hatch_build.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_hooks.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_imports.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_input_parsing.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_install_command.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_install_script.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_invocation.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_iterm_cursor_guide.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_js_cost_sync.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_js_cost_tracking.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_json_types.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_local_context.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_main.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_main_acp_mode.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_main_args.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_managed_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_auth.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_disabled.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_lifecycle.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_login_service.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_middleware.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_oauth_ui.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_proxy.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_schema.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_mcp_tools.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_media_utils.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_memory_guard.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_model_catalog.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_model_metadata.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_model_retry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_model_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_non_interactive.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_notifications.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_offload.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_offload_api.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_onboarding.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_openai_codex_integration.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_output.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_paths.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_process_cwd_check.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_reasoning_effort.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_reliable_rubric.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_reload.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_remote_client.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_repository_bounds.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_resume_compaction_recovery.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_resume_state.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_rubric_cli.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_sandbox_config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_sandbox_factory.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_sandbox_provider.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_sandbox_registry.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_server.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_server_config.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_server_graph.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_server_helpers.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_server_manager.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_server_tracing.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_session_stats.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_sessions.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_shell_allow_list.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_skill_invocation.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_startup_fast_paths.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_state_migration.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_subagents.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_terminal_capabilities.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_terminal_escape.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_terminal_progress_preference.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_terminal_stderr.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_terminal_title.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_text_encoding.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_textual_patches.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_theme.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_thread_naming_app.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_thread_ownership.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_thread_ownership_transitions.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_thread_titles.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_threads_resume.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_tool_catalog.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_tool_display.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_tracing.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_tracing_replicas.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_transcript_virtualization.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_ui.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_unicode_security.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_uninstall_command.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_update_check.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_version.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_workspace.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/test_workspace_diagnostics.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tools/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tools/test_current_thread.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tools/test_fetch_url.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tools/test_tool_arg_schemas.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tools/test_web_search.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/plugin_manager/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/plugin_manager/test_inspection.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/plugin_manager/test_structure.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/test_cold_cache.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/test_model_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/test_prompt_clipboard.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/test_resume_blocked.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/modals/test_session_cost.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/test_key_hints.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/test_modal_footer_layout.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/test_subagent_stream.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/test_textual_adapter.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/__init__.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_agent_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_approval.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_ask_user.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_auth_widgets.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_auto_mode_notice.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_autocomplete.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_chat_input.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_condense_path.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_copy_spans.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_cwd_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_diff.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_goal_review.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_history.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_inline_prompt.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_install_confirm.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_launch_init.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_links.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_loading.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_mcp_login_modal.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_mcp_reconnect.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_mcp_viewer.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_message_store.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_messages.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_model_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_notification_center.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_notification_detail.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_notification_settings.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_prompt_search.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_restart_prompt.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_skill_trust_screen.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_startup_tip.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_status.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_subagent_panel.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_thread_agent_switch.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_thread_selector.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_tool_renderers.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_update_available.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_update_confirm.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_update_progress.py +0 -0
- {deepagents_code-0.1.82 → deepagents_code-0.1.83}/tests/unit_tests/tui/widgets/test_welcome.py +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Deep Agents Code Changelog
|
|
4
4
|
|
|
5
|
+
## [0.1.83](https://github.com/langchain-ai/deepagents/compare/deepagents-code==0.1.82...deepagents-code==0.1.83) (2026-10-07)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- Recommend Haiku 5.5 for sidecar models.
|
|
10
|
+
|
|
5
11
|
## [0.1.82](https://github.com/langchain-ai/deepagents/compare/deepagents-code==0.1.81...deepagents-code==0.1.82) (2026-10-07)
|
|
6
12
|
|
|
7
13
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: deepagents-code
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.83
|
|
4
4
|
Summary: Terminal coding agent built on the Deep Agents SDK - works with any model, with persistent memory, customizable skills, subagents, and approval controls.
|
|
5
5
|
Project-URL: Homepage, https://www.langchain.com/dcode
|
|
6
6
|
Project-URL: Documentation, https://docs.langchain.com/oss/deepagents/code/overview
|
|
@@ -30,7 +30,7 @@ Requires-Python: <4.0,>=3.12
|
|
|
30
30
|
Requires-Dist: aiosqlite<1.0.0,>=0.22.1
|
|
31
31
|
Requires-Dist: anyio<5.0.0,>=4.14.2
|
|
32
32
|
Requires-Dist: deepagents-acp<1.0.0,>=0.0.10
|
|
33
|
-
Requires-Dist: deepagents==0.7.
|
|
33
|
+
Requires-Dist: deepagents==0.7.23
|
|
34
34
|
Requires-Dist: fastmcp<5.0.0,>=4.0.0b4
|
|
35
35
|
Requires-Dist: filelock<3.30,>=3.29.7
|
|
36
36
|
Requires-Dist: genai-prices<0.2.0,>=0.1.9
|
|
@@ -41,8 +41,8 @@ Requires-Dist: langchain-openai<2.0.0,>=1.6.7
|
|
|
41
41
|
Requires-Dist: langchain-quickjs<0.4.0,>=0.3.4
|
|
42
42
|
Requires-Dist: langchain<2.0.0,>=1.4.3
|
|
43
43
|
Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.1.1
|
|
44
|
-
Requires-Dist: langgraph-cli[inmem]<1.0.0,>=0.4.
|
|
45
|
-
Requires-Dist: langgraph-runtime-inmem<1.0.0,>=0.35.
|
|
44
|
+
Requires-Dist: langgraph-cli[inmem]<1.0.0,>=0.4.33
|
|
45
|
+
Requires-Dist: langgraph-runtime-inmem<1.0.0,>=0.35.3
|
|
46
46
|
Requires-Dist: langgraph-sdk<1.0.0,>=0.4.6
|
|
47
47
|
Requires-Dist: langsmith[sandbox]>=0.14.4
|
|
48
48
|
Requires-Dist: markdownify<2.0.0,>=1.2.3
|
|
@@ -68,14 +68,14 @@ Provides-Extra: all-providers
|
|
|
68
68
|
Requires-Dist: aiohttp<3.15.0,>=3.14.3; extra == 'all-providers'
|
|
69
69
|
Requires-Dist: langchain-anthropic<2.0.0,>=1.7.5; extra == 'all-providers'
|
|
70
70
|
Requires-Dist: langchain-aws<2.0.0,>=1.8.1; extra == 'all-providers'
|
|
71
|
-
Requires-Dist: langchain-baseten<1.0.0,>=0.2.
|
|
71
|
+
Requires-Dist: langchain-baseten<1.0.0,>=0.2.5; extra == 'all-providers'
|
|
72
72
|
Requires-Dist: langchain-cohere<1.0.0,>=0.6.0; extra == 'all-providers'
|
|
73
73
|
Requires-Dist: langchain-deepseek<2.0.0,>=1.1.1; extra == 'all-providers'
|
|
74
|
-
Requires-Dist: langchain-fireworks<2.0.0,>=1.7.
|
|
74
|
+
Requires-Dist: langchain-fireworks<2.0.0,>=1.7.1; extra == 'all-providers'
|
|
75
75
|
Requires-Dist: langchain-google-genai<5.0.0,>=4.4.0; extra == 'all-providers'
|
|
76
76
|
Requires-Dist: langchain-google-vertexai<4.0.0,>=3.2.4; extra == 'all-providers'
|
|
77
77
|
Requires-Dist: langchain-groq<2.0.0,>=1.1.3; extra == 'all-providers'
|
|
78
|
-
Requires-Dist: langchain-huggingface<2.0.0,>=1.2.
|
|
78
|
+
Requires-Dist: langchain-huggingface<2.0.0,>=1.2.3; extra == 'all-providers'
|
|
79
79
|
Requires-Dist: langchain-ibm<2.0.0,>=1.1.2; extra == 'all-providers'
|
|
80
80
|
Requires-Dist: langchain-litellm<2.0.0,>=0.11.0; extra == 'all-providers'
|
|
81
81
|
Requires-Dist: langchain-meta<2.0.0,>=0.5.0; extra == 'all-providers'
|
|
@@ -96,7 +96,7 @@ Requires-Dist: langchain-vercel-sandbox>=0.0.1; extra == 'all-sandboxes'
|
|
|
96
96
|
Provides-Extra: anthropic
|
|
97
97
|
Requires-Dist: langchain-anthropic<2.0.0,>=1.7.5; extra == 'anthropic'
|
|
98
98
|
Provides-Extra: baseten
|
|
99
|
-
Requires-Dist: langchain-baseten<1.0.0,>=0.2.
|
|
99
|
+
Requires-Dist: langchain-baseten<1.0.0,>=0.2.5; extra == 'baseten'
|
|
100
100
|
Provides-Extra: bedrock
|
|
101
101
|
Requires-Dist: langchain-aws<2.0.0,>=1.8.1; extra == 'bedrock'
|
|
102
102
|
Provides-Extra: cohere
|
|
@@ -106,13 +106,13 @@ Requires-Dist: langchain-daytona>=0.0.7; extra == 'daytona'
|
|
|
106
106
|
Provides-Extra: deepseek
|
|
107
107
|
Requires-Dist: langchain-deepseek<2.0.0,>=1.1.1; extra == 'deepseek'
|
|
108
108
|
Provides-Extra: fireworks
|
|
109
|
-
Requires-Dist: langchain-fireworks<2.0.0,>=1.7.
|
|
109
|
+
Requires-Dist: langchain-fireworks<2.0.0,>=1.7.1; extra == 'fireworks'
|
|
110
110
|
Provides-Extra: google-genai
|
|
111
111
|
Requires-Dist: langchain-google-genai<5.0.0,>=4.4.0; extra == 'google-genai'
|
|
112
112
|
Provides-Extra: groq
|
|
113
113
|
Requires-Dist: langchain-groq<2.0.0,>=1.1.3; extra == 'groq'
|
|
114
114
|
Provides-Extra: huggingface
|
|
115
|
-
Requires-Dist: langchain-huggingface<2.0.0,>=1.2.
|
|
115
|
+
Requires-Dist: langchain-huggingface<2.0.0,>=1.2.3; extra == 'huggingface'
|
|
116
116
|
Provides-Extra: ibm
|
|
117
117
|
Requires-Dist: langchain-ibm<2.0.0,>=1.1.2; extra == 'ibm'
|
|
118
118
|
Provides-Extra: litellm
|
|
@@ -170,7 +170,7 @@ curl -LsSf https://langch.in/dcode | bash
|
|
|
170
170
|
```bash
|
|
171
171
|
# With model provider extras
|
|
172
172
|
# OpenAI, Anthropic, and Gemini are included by default
|
|
173
|
-
|
|
173
|
+
curl -LsSf https://langch.in/dcode | DEEPAGENTS_CODE_EXTRAS="nvidia,ollama" bash
|
|
174
174
|
```
|
|
175
175
|
|
|
176
176
|
Run:
|
|
@@ -217,7 +217,7 @@ See our [Releases](https://docs.langchain.com/oss/python/release-policy) and [Ve
|
|
|
217
217
|
|
|
218
218
|
As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.
|
|
219
219
|
|
|
220
|
-
For
|
|
220
|
+
For local setup, see the [Development Guide](https://github.com/langchain-ai/deepagents/blob/main/libs/code/DEVELOPMENT.md). For contribution policy, see the [Contributing Guide](https://docs.langchain.com/oss/python/contributing/overview).
|
|
221
221
|
|
|
222
222
|
## 🤝 Acknowledgements
|
|
223
223
|
|
|
@@ -18,7 +18,7 @@ curl -LsSf https://langch.in/dcode | bash
|
|
|
18
18
|
```bash
|
|
19
19
|
# With model provider extras
|
|
20
20
|
# OpenAI, Anthropic, and Gemini are included by default
|
|
21
|
-
|
|
21
|
+
curl -LsSf https://langch.in/dcode | DEEPAGENTS_CODE_EXTRAS="nvidia,ollama" bash
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Run:
|
|
@@ -65,7 +65,7 @@ See our [Releases](https://docs.langchain.com/oss/python/release-policy) and [Ve
|
|
|
65
65
|
|
|
66
66
|
As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.
|
|
67
67
|
|
|
68
|
-
For
|
|
68
|
+
For local setup, see the [Development Guide](https://github.com/langchain-ai/deepagents/blob/main/libs/code/DEVELOPMENT.md). For contribution policy, see the [Contributing Guide](https://docs.langchain.com/oss/python/contributing/overview).
|
|
69
69
|
|
|
70
70
|
## 🤝 Acknowledgements
|
|
71
71
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Keep the `x-release-please-version` annotation — release-please uses it to
|
|
4
4
|
# bump `__version__` in sync with `pyproject.toml` on every release PR.
|
|
5
|
-
__version__ = "0.1.
|
|
5
|
+
__version__ = "0.1.83" # x-release-please-version
|
|
6
6
|
|
|
7
7
|
DOCS_URL = "https://docs.langchain.com/oss/python/deepagents/code"
|
|
8
8
|
"""URL for `deepagents-code` documentation."""
|
|
@@ -242,6 +242,7 @@ _DEFERRED_START_NOTICE = (
|
|
|
242
242
|
)
|
|
243
243
|
|
|
244
244
|
_AUTO_CLASSIFIER_RECOMMENDED_MODELS = {
|
|
245
|
+
"anthropic:claude-haiku-5-5": "Claude Haiku 5.5",
|
|
245
246
|
"anthropic:claude-sonnet-5": "Claude Sonnet 5",
|
|
246
247
|
"google_genai:gemini-3.8-flash": "Gemini 3.8 Flash",
|
|
247
248
|
"openai:gpt-6-luna": "GPT-6 Luna",
|
|
@@ -17160,7 +17161,10 @@ class DeepAgentsApp(App):
|
|
|
17160
17161
|
) -> None:
|
|
17161
17162
|
"""Open the model selector for choosing a grader model."""
|
|
17162
17163
|
from deepagents_code.model_config import ModelSpec
|
|
17163
|
-
from deepagents_code.tui.widgets.model_selector import
|
|
17164
|
+
from deepagents_code.tui.widgets.model_selector import (
|
|
17165
|
+
AUXILIARY_RECOMMENDED_MODELS,
|
|
17166
|
+
ModelSelectorScreen,
|
|
17167
|
+
)
|
|
17164
17168
|
|
|
17165
17169
|
current_provider = None
|
|
17166
17170
|
current_model = None
|
|
@@ -17215,6 +17219,7 @@ class DeepAgentsApp(App):
|
|
|
17215
17219
|
),
|
|
17216
17220
|
title=title,
|
|
17217
17221
|
description=description,
|
|
17222
|
+
recommended_models=AUXILIARY_RECOMMENDED_MODELS,
|
|
17218
17223
|
# Grader models have no persistent config key yet, so there is
|
|
17219
17224
|
# nothing for Ctrl+S to own here. `None` disables it; the main-model
|
|
17220
17225
|
# scope would persist `[models].default` and retarget the model the
|
|
@@ -31782,6 +31787,7 @@ class DeepAgentsApp(App):
|
|
|
31782
31787
|
"""Open the model selector for choosing the summarization model."""
|
|
31783
31788
|
from deepagents_code.model_config import ModelSpec
|
|
31784
31789
|
from deepagents_code.tui.widgets.model_selector import (
|
|
31790
|
+
AUXILIARY_RECOMMENDED_MODELS,
|
|
31785
31791
|
SUMMARIZATION_DEFAULT_SCOPE,
|
|
31786
31792
|
ModelSelectorScreen,
|
|
31787
31793
|
)
|
|
@@ -31828,6 +31834,7 @@ class DeepAgentsApp(App):
|
|
|
31828
31834
|
"with `/offload model clear` to follow the main agent model."
|
|
31829
31835
|
),
|
|
31830
31836
|
default_scope=SUMMARIZATION_DEFAULT_SCOPE,
|
|
31837
|
+
recommended_models=AUXILIARY_RECOMMENDED_MODELS,
|
|
31831
31838
|
check_provider_requirements=(
|
|
31832
31839
|
self._remote_agent() is None or self._server_kwargs is not None
|
|
31833
31840
|
),
|
|
@@ -7082,6 +7082,19 @@ def create_model(
|
|
|
7082
7082
|
|
|
7083
7083
|
_set_configured_model_metadata(model, model_name, resolved_provider)
|
|
7084
7084
|
|
|
7085
|
+
if provider == "anthropic":
|
|
7086
|
+
from deepagents_code.model_config import ANTHROPIC_MODEL_PROFILE_FALLBACKS
|
|
7087
|
+
|
|
7088
|
+
fallback = ANTHROPIC_MODEL_PROFILE_FALLBACKS.get(model_name)
|
|
7089
|
+
if fallback:
|
|
7090
|
+
upstream = getattr(model, "profile", None)
|
|
7091
|
+
_apply_profile_overrides(
|
|
7092
|
+
model,
|
|
7093
|
+
{**fallback, **(upstream if isinstance(upstream, dict) else {})},
|
|
7094
|
+
model_name,
|
|
7095
|
+
label="bundled fallback",
|
|
7096
|
+
)
|
|
7097
|
+
|
|
7085
7098
|
# Apply profile overrides from config.toml (e.g., max_input_tokens)
|
|
7086
7099
|
if provider:
|
|
7087
7100
|
config_profile_overrides = config.get_profile_overrides(
|
|
@@ -1405,6 +1405,28 @@ def _get_provider_profile_modules() -> list[tuple[str, str]]:
|
|
|
1405
1405
|
return result
|
|
1406
1406
|
|
|
1407
1407
|
|
|
1408
|
+
ANTHROPIC_MODEL_PROFILE_FALLBACKS: dict[str, dict[str, Any]] = {
|
|
1409
|
+
"claude-haiku-5-5": {
|
|
1410
|
+
"name": "Claude Haiku 5.5",
|
|
1411
|
+
"max_input_tokens": 1_000_000,
|
|
1412
|
+
"max_output_tokens": 128_000,
|
|
1413
|
+
"text_inputs": True,
|
|
1414
|
+
"image_inputs": True,
|
|
1415
|
+
"audio_inputs": False,
|
|
1416
|
+
"video_inputs": False,
|
|
1417
|
+
"text_outputs": True,
|
|
1418
|
+
"reasoning_output": True,
|
|
1419
|
+
"tool_calling": True,
|
|
1420
|
+
"tool_choice": True,
|
|
1421
|
+
"structured_output": True,
|
|
1422
|
+
"temperature": False,
|
|
1423
|
+
"reasoning_effort_levels": ["low", "medium", "high", "xhigh", "max"],
|
|
1424
|
+
"reasoning_effort_default": "medium",
|
|
1425
|
+
},
|
|
1426
|
+
}
|
|
1427
|
+
"""Capability fallbacks from https://platform.claude.com/docs/en/models/haiku-5-5/overview."""
|
|
1428
|
+
|
|
1429
|
+
|
|
1408
1430
|
def _load_provider_profiles(module_path: str) -> dict[str, Any]:
|
|
1409
1431
|
"""Load `_PROFILES` from a provider's data module.
|
|
1410
1432
|
|
|
@@ -1466,6 +1488,8 @@ def _load_provider_profiles(module_path: str) -> dict[str, Any]:
|
|
|
1466
1488
|
module = importlib.util.module_from_spec(file_spec)
|
|
1467
1489
|
file_spec.loader.exec_module(module)
|
|
1468
1490
|
profiles = getattr(module, "_PROFILES", {})
|
|
1491
|
+
if module_path == "langchain_anthropic.data._profiles":
|
|
1492
|
+
profiles = {**ANTHROPIC_MODEL_PROFILE_FALLBACKS, **profiles}
|
|
1469
1493
|
_provider_profiles_cache[module_path] = profiles
|
|
1470
1494
|
return profiles
|
|
1471
1495
|
|
|
@@ -2211,8 +2211,13 @@ class ToolCallMessage(Vertical):
|
|
|
2211
2211
|
if self._status_widget:
|
|
2212
2212
|
self._status_widget.add_class("pending")
|
|
2213
2213
|
frame = get_glyphs().spinner_frames[0]
|
|
2214
|
+
color = (
|
|
2215
|
+
colors.skill
|
|
2216
|
+
if self.has_class("-skill-read")
|
|
2217
|
+
else colors.warning
|
|
2218
|
+
)
|
|
2214
2219
|
self._status_widget.update(
|
|
2215
|
-
Content.styled(f"{frame} Running...",
|
|
2220
|
+
Content.styled(f"{frame} Running...", color)
|
|
2216
2221
|
)
|
|
2217
2222
|
self._status_widget.display = True
|
|
2218
2223
|
case _:
|
|
@@ -2252,9 +2257,9 @@ class ToolCallMessage(Vertical):
|
|
|
2252
2257
|
elapsed = f" ({format_duration(elapsed_secs)})"
|
|
2253
2258
|
|
|
2254
2259
|
text = f"{frame} Running...{elapsed}"
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
)
|
|
2260
|
+
colors = theme.get_theme_colors(self)
|
|
2261
|
+
color = colors.skill if self.has_class("-skill-read") else colors.warning
|
|
2262
|
+
self._status_widget.update(Content.styled(text, color))
|
|
2258
2263
|
|
|
2259
2264
|
def pause_running(self) -> None:
|
|
2260
2265
|
"""Pause the running spinner while the tool awaits a user decision.
|
{deepagents_code-0.1.82 → deepagents_code-0.1.83}/deepagents_code/tui/widgets/model_selector.py
RENAMED
|
@@ -148,6 +148,13 @@ credentials for.
|
|
|
148
148
|
"""
|
|
149
149
|
|
|
150
150
|
|
|
151
|
+
AUXILIARY_RECOMMENDED_MODELS: dict[str, str] = {
|
|
152
|
+
"anthropic:claude-haiku-5-5": "Claude Haiku 5.5",
|
|
153
|
+
**_RECOMMENDED_MODELS,
|
|
154
|
+
}
|
|
155
|
+
"""Sidecar recommendations without changing the main-agent recommendations."""
|
|
156
|
+
|
|
157
|
+
|
|
151
158
|
class DefaultModelScope(NamedTuple):
|
|
152
159
|
"""Which stored preference Ctrl+S toggles, and how the footer names it.
|
|
153
160
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "deepagents-code"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.83"
|
|
8
8
|
description = "Terminal coding agent built on the Deep Agents SDK - works with any model, with persistent memory, customizable skills, subagents, and approval controls."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -27,14 +27,14 @@ classifiers = [
|
|
|
27
27
|
]
|
|
28
28
|
dependencies = [
|
|
29
29
|
# Framework
|
|
30
|
-
"deepagents==0.7.
|
|
30
|
+
"deepagents==0.7.23",
|
|
31
31
|
"langchain>=1.4.3,<2.0.0",
|
|
32
32
|
"langgraph-checkpoint-sqlite>=3.1.1,<4.0.0",
|
|
33
33
|
|
|
34
34
|
# Client-server architecture
|
|
35
35
|
"langgraph-sdk>=0.4.6,<1.0.0",
|
|
36
|
-
"langgraph-cli[inmem]>=0.4.
|
|
37
|
-
"langgraph-runtime-inmem>=0.35.
|
|
36
|
+
"langgraph-cli[inmem]>=0.4.33,<1.0.0",
|
|
37
|
+
"langgraph-runtime-inmem>=0.35.3,<1.0.0",
|
|
38
38
|
"httpx>=0.28.1,<1.0.0",
|
|
39
39
|
|
|
40
40
|
# Core model providers - others are added as optional
|
|
@@ -108,14 +108,14 @@ dependencies = [
|
|
|
108
108
|
[project.optional-dependencies]
|
|
109
109
|
# Model providers
|
|
110
110
|
anthropic = ["langchain-anthropic>=1.7.5,<2.0.0"]
|
|
111
|
-
baseten = ["langchain-baseten>=0.2.
|
|
111
|
+
baseten = ["langchain-baseten>=0.2.5,<1.0.0"]
|
|
112
112
|
bedrock = ["langchain-aws>=1.8.1,<2.0.0"]
|
|
113
113
|
cohere = ["langchain-cohere>=0.6.0,<1.0.0"]
|
|
114
114
|
deepseek = ["langchain-deepseek>=1.1.1,<2.0.0"]
|
|
115
|
-
fireworks = ["langchain-fireworks>=1.7.
|
|
115
|
+
fireworks = ["langchain-fireworks>=1.7.1,<2.0.0"]
|
|
116
116
|
google-genai = ["langchain-google-genai>=4.4.0,<5.0.0"]
|
|
117
117
|
groq = ["langchain-groq>=1.1.3,<2.0.0"]
|
|
118
|
-
huggingface = ["langchain-huggingface>=1.2.
|
|
118
|
+
huggingface = ["langchain-huggingface>=1.2.3,<2.0.0"]
|
|
119
119
|
ibm = ["langchain-ibm>=1.1.2,<2.0.0"]
|
|
120
120
|
litellm = ["langchain-litellm>=0.11.0,<2.0.0"]
|
|
121
121
|
meta = ["langchain-meta>=0.5.0,<2.0.0"]
|
|
@@ -10766,6 +10766,25 @@ class TestRubricCommand:
|
|
|
10766
10766
|
class TestAutoClassifierModelCommand:
|
|
10767
10767
|
"""Tests for `/auto model`, which picks the Auto classifier model."""
|
|
10768
10768
|
|
|
10769
|
+
@pytest.mark.parametrize("role", ["auto", "summarization", "rubric", "goal"])
|
|
10770
|
+
async def test_sidecar_picker_recommends_haiku(self, role: str) -> None:
|
|
10771
|
+
app = DeepAgentsApp(agent=MagicMock())
|
|
10772
|
+
with patch.object(app, "push_screen") as push:
|
|
10773
|
+
if role == "auto":
|
|
10774
|
+
await app._show_auto_classifier_model_selector()
|
|
10775
|
+
elif role == "summarization":
|
|
10776
|
+
await app._show_summarization_model_selector()
|
|
10777
|
+
else:
|
|
10778
|
+
await app._show_rubric_model_selector(
|
|
10779
|
+
source="goal" if role == "goal" else "rubric"
|
|
10780
|
+
)
|
|
10781
|
+
|
|
10782
|
+
screen = push.call_args.args[0]
|
|
10783
|
+
haiku = ("anthropic:claude-haiku-5-5", "anthropic")
|
|
10784
|
+
assert haiku in screen._apply_subset(
|
|
10785
|
+
[haiku, ("anthropic:claude-haiku-4-5", "anthropic")]
|
|
10786
|
+
)
|
|
10787
|
+
|
|
10769
10788
|
async def test_auto_model_selector_persists_to_auto_classifier_key(self) -> None:
|
|
10770
10789
|
"""Ctrl+S in the classifier picker must not retarget the agent's model."""
|
|
10771
10790
|
from deepagents_code.model_config import save_auto_classifier_model
|
|
@@ -5168,7 +5168,9 @@ class TestCreateModelAnthropicThinkingBinding:
|
|
|
5168
5168
|
}
|
|
5169
5169
|
assert kwargs["betas"] == ["thinking-binding-controls-2026-08-01"]
|
|
5170
5170
|
|
|
5171
|
-
@pytest.mark.parametrize(
|
|
5171
|
+
@pytest.mark.parametrize(
|
|
5172
|
+
"model_name", ["claude-opus-5", "claude-sonnet-5-5", "claude-haiku-5-5"]
|
|
5173
|
+
)
|
|
5172
5174
|
@pytest.mark.parametrize("display", [None, "summarized", "omitted"])
|
|
5173
5175
|
def test_preserves_reasoning_display_in_anthropic_payload(
|
|
5174
5176
|
self, display: str | None, model_name: str
|
|
@@ -5196,6 +5198,51 @@ class TestCreateModelAnthropicThinkingBinding:
|
|
|
5196
5198
|
assert payload["output_config"]["effort"] == "high"
|
|
5197
5199
|
assert "thinking-binding-controls-2026-08-01" in payload["betas"]
|
|
5198
5200
|
|
|
5201
|
+
def test_haiku_sidecar_profile_and_forced_tool_payload(self) -> None:
|
|
5202
|
+
from langchain_anthropic import ChatAnthropic
|
|
5203
|
+
from langchain_core.messages import HumanMessage
|
|
5204
|
+
from langchain_core.runnables import RunnableBinding
|
|
5205
|
+
from pydantic import BaseModel
|
|
5206
|
+
|
|
5207
|
+
class Decision(BaseModel):
|
|
5208
|
+
allowed: bool
|
|
5209
|
+
|
|
5210
|
+
result = create_model(
|
|
5211
|
+
"anthropic:claude-haiku-5-5",
|
|
5212
|
+
extra_kwargs={"api_key": "test-key", "reasoning_effort": "medium"},
|
|
5213
|
+
bind_preserved_thinking=False,
|
|
5214
|
+
)
|
|
5215
|
+
model = result.model
|
|
5216
|
+
assert isinstance(model, ChatAnthropic)
|
|
5217
|
+
assert result.context_limit == 1_000_000
|
|
5218
|
+
assert model.profile is not None
|
|
5219
|
+
assert model.profile["max_output_tokens"] == 128_000
|
|
5220
|
+
bound = model.bind_tools([Decision], tool_choice="Decision")
|
|
5221
|
+
assert isinstance(bound, RunnableBinding)
|
|
5222
|
+
payload = model._get_request_payload(
|
|
5223
|
+
[HumanMessage("Is this allowed?")], **bound.kwargs
|
|
5224
|
+
)
|
|
5225
|
+
assert payload["tool_choice"] == {"type": "tool", "name": "Decision"}
|
|
5226
|
+
assert payload["output_config"]["effort"] == "medium"
|
|
5227
|
+
assert payload["thinking"] == {"type": "adaptive", "display": "summarized"}
|
|
5228
|
+
assert not {"temperature", "top_p", "top_k", "betas"} & payload.keys()
|
|
5229
|
+
|
|
5230
|
+
def test_haiku_fallback_preserves_upstream_and_explicit_profiles(self) -> None:
|
|
5231
|
+
result = create_model(
|
|
5232
|
+
"anthropic:claude-haiku-5-5",
|
|
5233
|
+
extra_kwargs={
|
|
5234
|
+
"api_key": "test-key",
|
|
5235
|
+
"profile": {"max_input_tokens": 250_000},
|
|
5236
|
+
},
|
|
5237
|
+
)
|
|
5238
|
+
assert result.context_limit == 250_000
|
|
5239
|
+
overridden = create_model(
|
|
5240
|
+
"anthropic:claude-haiku-5-5",
|
|
5241
|
+
extra_kwargs={"api_key": "test-key"},
|
|
5242
|
+
profile_overrides={"max_input_tokens": 500_000},
|
|
5243
|
+
)
|
|
5244
|
+
assert overridden.context_limit == 500_000
|
|
5245
|
+
|
|
5199
5246
|
@patch("langchain.chat_models.init_chat_model")
|
|
5200
5247
|
def test_opt_out_leaves_thinking_unset(self, mock_init: Mock) -> None:
|
|
5201
5248
|
"""`bind_preserved_thinking=False` keeps structured output forceable."""
|
|
@@ -4524,6 +4524,25 @@ class TestLoadMcpServerTrustLists:
|
|
|
4524
4524
|
class TestGetModelProfiles:
|
|
4525
4525
|
"""Tests for get_model_profiles() function."""
|
|
4526
4526
|
|
|
4527
|
+
def test_haiku_discovery_and_effort_without_upstream_profile(self) -> None:
|
|
4528
|
+
from deepagents_code.reasoning_effort import (
|
|
4529
|
+
default_effort_for_model,
|
|
4530
|
+
supported_efforts_for_model,
|
|
4531
|
+
)
|
|
4532
|
+
|
|
4533
|
+
clear_caches()
|
|
4534
|
+
assert "claude-haiku-5-5" in get_available_models()["anthropic"]
|
|
4535
|
+
spec = "anthropic:claude-haiku-5-5"
|
|
4536
|
+
assert get_model_profiles()[spec]["profile"]["max_input_tokens"] == 1_000_000
|
|
4537
|
+
assert default_effort_for_model(spec) == "medium"
|
|
4538
|
+
assert supported_efforts_for_model(spec) == (
|
|
4539
|
+
"low",
|
|
4540
|
+
"medium",
|
|
4541
|
+
"high",
|
|
4542
|
+
"xhigh",
|
|
4543
|
+
"max",
|
|
4544
|
+
)
|
|
4545
|
+
|
|
4527
4546
|
|
|
4528
4547
|
class TestCodexProviderMirror:
|
|
4529
4548
|
"""`openai_codex` mirrors the curated `CODEX_MODELS` subset of `openai`.
|
|
@@ -1015,7 +1015,7 @@ wheels = [
|
|
|
1015
1015
|
|
|
1016
1016
|
[[package]]
|
|
1017
1017
|
name = "deepagents"
|
|
1018
|
-
version = "0.7.
|
|
1018
|
+
version = "0.7.23"
|
|
1019
1019
|
source = { editable = "../deepagents" }
|
|
1020
1020
|
dependencies = [
|
|
1021
1021
|
{ name = "langchain" },
|
|
@@ -1083,7 +1083,7 @@ requires-dist = [
|
|
|
1083
1083
|
|
|
1084
1084
|
[package.metadata.requires-dev]
|
|
1085
1085
|
examples = [
|
|
1086
|
-
{ name = "langchain-baseten", specifier = ">=0.2.
|
|
1086
|
+
{ name = "langchain-baseten", specifier = ">=0.2.5" },
|
|
1087
1087
|
{ name = "langchain-openai", specifier = ">=1.6.7" },
|
|
1088
1088
|
]
|
|
1089
1089
|
test = [
|
|
@@ -1100,7 +1100,7 @@ test = [
|
|
|
1100
1100
|
|
|
1101
1101
|
[[package]]
|
|
1102
1102
|
name = "deepagents-code"
|
|
1103
|
-
version = "0.1.
|
|
1103
|
+
version = "0.1.83"
|
|
1104
1104
|
source = { editable = "." }
|
|
1105
1105
|
dependencies = [
|
|
1106
1106
|
{ name = "aiosqlite" },
|
|
@@ -1297,16 +1297,16 @@ requires-dist = [
|
|
|
1297
1297
|
{ name = "langchain-anthropic", specifier = ">=1.7.5,<2.0.0" },
|
|
1298
1298
|
{ name = "langchain-anthropic", marker = "extra == 'anthropic'", specifier = ">=1.7.5,<2.0.0" },
|
|
1299
1299
|
{ name = "langchain-aws", marker = "extra == 'bedrock'", specifier = ">=1.8.1,<2.0.0" },
|
|
1300
|
-
{ name = "langchain-baseten", marker = "extra == 'baseten'", specifier = ">=0.2.
|
|
1300
|
+
{ name = "langchain-baseten", marker = "extra == 'baseten'", specifier = ">=0.2.5,<1.0.0" },
|
|
1301
1301
|
{ name = "langchain-cohere", marker = "extra == 'cohere'", specifier = ">=0.6.0,<1.0.0" },
|
|
1302
1302
|
{ name = "langchain-daytona", marker = "extra == 'daytona'", editable = "../partners/daytona" },
|
|
1303
1303
|
{ name = "langchain-deepseek", marker = "extra == 'deepseek'", specifier = ">=1.1.1,<2.0.0" },
|
|
1304
|
-
{ name = "langchain-fireworks", marker = "extra == 'fireworks'", specifier = ">=1.7.
|
|
1304
|
+
{ name = "langchain-fireworks", marker = "extra == 'fireworks'", specifier = ">=1.7.1,<2.0.0" },
|
|
1305
1305
|
{ name = "langchain-google-genai", specifier = ">=4.4.0,<5.0.0" },
|
|
1306
1306
|
{ name = "langchain-google-genai", marker = "extra == 'google-genai'", specifier = ">=4.4.0,<5.0.0" },
|
|
1307
1307
|
{ name = "langchain-google-vertexai", marker = "extra == 'vertex'", specifier = ">=3.2.4,<4.0.0" },
|
|
1308
1308
|
{ name = "langchain-groq", marker = "extra == 'groq'", specifier = ">=1.1.3,<2.0.0" },
|
|
1309
|
-
{ name = "langchain-huggingface", marker = "extra == 'huggingface'", specifier = ">=1.2.
|
|
1309
|
+
{ name = "langchain-huggingface", marker = "extra == 'huggingface'", specifier = ">=1.2.3,<2.0.0" },
|
|
1310
1310
|
{ name = "langchain-ibm", marker = "extra == 'ibm'", specifier = ">=1.1.2,<2.0.0" },
|
|
1311
1311
|
{ name = "langchain-litellm", marker = "extra == 'litellm'", specifier = ">=0.11.0,<2.0.0" },
|
|
1312
1312
|
{ name = "langchain-meta", marker = "extra == 'meta'", specifier = ">=0.5.0,<2.0.0" },
|
|
@@ -1324,8 +1324,8 @@ requires-dist = [
|
|
|
1324
1324
|
{ name = "langchain-vercel-sandbox", marker = "extra == 'vercel'", editable = "../partners/vercel" },
|
|
1325
1325
|
{ name = "langchain-xai", marker = "extra == 'xai'", specifier = ">=1.3.0,<2.0.0" },
|
|
1326
1326
|
{ name = "langgraph-checkpoint-sqlite", specifier = ">=3.1.1,<4.0.0" },
|
|
1327
|
-
{ name = "langgraph-cli", extras = ["inmem"], specifier = ">=0.4.
|
|
1328
|
-
{ name = "langgraph-runtime-inmem", specifier = ">=0.35.
|
|
1327
|
+
{ name = "langgraph-cli", extras = ["inmem"], specifier = ">=0.4.33,<1.0.0" },
|
|
1328
|
+
{ name = "langgraph-runtime-inmem", specifier = ">=0.35.3,<1.0.0" },
|
|
1329
1329
|
{ name = "langgraph-sdk", specifier = ">=0.4.6,<1.0.0" },
|
|
1330
1330
|
{ name = "langsmith", extras = ["sandbox"], specifier = ">=0.14.4" },
|
|
1331
1331
|
{ name = "markdownify", specifier = ">=1.2.3,<2.0.0" },
|
|
@@ -2810,16 +2810,16 @@ wheels = [
|
|
|
2810
2810
|
|
|
2811
2811
|
[[package]]
|
|
2812
2812
|
name = "langchain-baseten"
|
|
2813
|
-
version = "0.2.
|
|
2813
|
+
version = "0.2.5"
|
|
2814
2814
|
source = { registry = "https://pypi.org/simple" }
|
|
2815
2815
|
dependencies = [
|
|
2816
2816
|
{ name = "baseten-performance-client" },
|
|
2817
2817
|
{ name = "langchain-core" },
|
|
2818
2818
|
{ name = "langchain-openai" },
|
|
2819
2819
|
]
|
|
2820
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2820
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4c/6c/41a1a3e93009a284a6f7e1303177374aa07b533b70b79e6a20597c36ee41/langchain_baseten-0.2.5.tar.gz", hash = "sha256:15dd7814409792e913d370f5c32a302aa91cc3f005c3326cd67461efca717018", size = 159455, upload-time = "2026-10-07T16:46:17.353Z" }
|
|
2821
2821
|
wheels = [
|
|
2822
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2822
|
+
{ url = "https://files.pythonhosted.org/packages/80/92/1704fdaf0214eb562109e2d9dd43183e393c28f4f5480027d780a4f1efda/langchain_baseten-0.2.5-py3-none-any.whl", hash = "sha256:51829e367b5e5414a81c9556413e00d4c071900f8f350cc5cbedd416081d0fdd", size = 15755, upload-time = "2026-10-07T16:46:16.193Z" },
|
|
2823
2823
|
]
|
|
2824
2824
|
|
|
2825
2825
|
[[package]]
|
|
@@ -2901,7 +2901,7 @@ wheels = [
|
|
|
2901
2901
|
|
|
2902
2902
|
[[package]]
|
|
2903
2903
|
name = "langchain-fireworks"
|
|
2904
|
-
version = "1.7.
|
|
2904
|
+
version = "1.7.1"
|
|
2905
2905
|
source = { registry = "https://pypi.org/simple" }
|
|
2906
2906
|
dependencies = [
|
|
2907
2907
|
{ name = "aiohttp" },
|
|
@@ -2910,9 +2910,9 @@ dependencies = [
|
|
|
2910
2910
|
{ name = "openai" },
|
|
2911
2911
|
{ name = "requests" },
|
|
2912
2912
|
]
|
|
2913
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2913
|
+
sdist = { url = "https://files.pythonhosted.org/packages/50/e9/5de0cce96ed7cdc02ff0d10abf6dabcc736c309626a742fa17eeaa6620b9/langchain_fireworks-1.7.1.tar.gz", hash = "sha256:e49c94cd4ee896234117e361543c767772d4f6bba627fa1e38e67a200fbec6ed", size = 244740, upload-time = "2026-10-07T20:24:20.718Z" }
|
|
2914
2914
|
wheels = [
|
|
2915
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2915
|
+
{ url = "https://files.pythonhosted.org/packages/42/55/9618d9be59f5d11196623c75c991d4f0cdaba49102f014f516a53f40665b/langchain_fireworks-1.7.1-py3-none-any.whl", hash = "sha256:55ad528fd4bff3ea0155f0c4ae06f8ee1054b8deee418afc6d50d4bda844973d", size = 34877, upload-time = "2026-10-07T20:24:19.391Z" },
|
|
2916
2916
|
]
|
|
2917
2917
|
|
|
2918
2918
|
[[package]]
|
|
@@ -2967,16 +2967,16 @@ wheels = [
|
|
|
2967
2967
|
|
|
2968
2968
|
[[package]]
|
|
2969
2969
|
name = "langchain-huggingface"
|
|
2970
|
-
version = "1.2.
|
|
2970
|
+
version = "1.2.3"
|
|
2971
2971
|
source = { registry = "https://pypi.org/simple" }
|
|
2972
2972
|
dependencies = [
|
|
2973
2973
|
{ name = "huggingface-hub" },
|
|
2974
2974
|
{ name = "langchain-core" },
|
|
2975
2975
|
{ name = "tokenizers" },
|
|
2976
2976
|
]
|
|
2977
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2977
|
+
sdist = { url = "https://files.pythonhosted.org/packages/fd/35/17f59f4a1202de947797b76a1b898a0e040dd3ee7060255d0efbeebeb0b1/langchain_huggingface-1.2.3.tar.gz", hash = "sha256:9848339ce197d48dd95668c2aac32a4523ca879840a31ebcef59a5b616315826", size = 282933, upload-time = "2026-10-07T20:09:49.481Z" }
|
|
2978
2978
|
wheels = [
|
|
2979
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2979
|
+
{ url = "https://files.pythonhosted.org/packages/66/f8/222ada54c99a512bd497f3526f6c14a55f6c0bc39ba9a05a4170ebbfe561/langchain_huggingface-1.2.3-py3-none-any.whl", hash = "sha256:d687cd9554a20edb6af86aceae2465b4d0f73557acfb9b9c6778cb0e6d5929a7", size = 34219, upload-time = "2026-10-07T20:09:48.134Z" },
|
|
2980
2980
|
]
|
|
2981
2981
|
|
|
2982
2982
|
[[package]]
|
|
@@ -3374,7 +3374,7 @@ wheels = [
|
|
|
3374
3374
|
|
|
3375
3375
|
[[package]]
|
|
3376
3376
|
name = "langgraph-cli"
|
|
3377
|
-
version = "0.4.
|
|
3377
|
+
version = "0.4.33"
|
|
3378
3378
|
source = { registry = "https://pypi.org/simple" }
|
|
3379
3379
|
dependencies = [
|
|
3380
3380
|
{ name = "click" },
|
|
@@ -3383,9 +3383,9 @@ dependencies = [
|
|
|
3383
3383
|
{ name = "pathspec" },
|
|
3384
3384
|
{ name = "python-dotenv" },
|
|
3385
3385
|
]
|
|
3386
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3386
|
+
sdist = { url = "https://files.pythonhosted.org/packages/78/8c/3264f1fb1168681dbe28c08a14dbdd4e0ad404fc881f5e0e63ffc809a3ec/langgraph_cli-0.4.33.tar.gz", hash = "sha256:ad11ee1271176a48bf60a20b8356f59b2aac42f7166e5e4a0f040f3aab2186f6", size = 1092179, upload-time = "2026-10-07T13:38:30.782Z" }
|
|
3387
3387
|
wheels = [
|
|
3388
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3388
|
+
{ url = "https://files.pythonhosted.org/packages/24/06/1ffa188545bee9d73bd6df18750894c4351c38d3755dde77e3ea9071b608/langgraph_cli-0.4.33-py3-none-any.whl", hash = "sha256:09d76c0aed5b661a22760547997038de05f18d7598bb698d921f701831875b41", size = 91602, upload-time = "2026-10-07T13:38:29.655Z" },
|
|
3389
3389
|
]
|
|
3390
3390
|
|
|
3391
3391
|
[package.optional-dependencies]
|
|
@@ -3409,7 +3409,7 @@ wheels = [
|
|
|
3409
3409
|
|
|
3410
3410
|
[[package]]
|
|
3411
3411
|
name = "langgraph-runtime-inmem"
|
|
3412
|
-
version = "0.35.
|
|
3412
|
+
version = "0.35.3"
|
|
3413
3413
|
source = { registry = "https://pypi.org/simple" }
|
|
3414
3414
|
dependencies = [
|
|
3415
3415
|
{ name = "blockbuster" },
|
|
@@ -3420,9 +3420,9 @@ dependencies = [
|
|
|
3420
3420
|
{ name = "starlette" },
|
|
3421
3421
|
{ name = "structlog" },
|
|
3422
3422
|
]
|
|
3423
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3423
|
+
sdist = { url = "https://files.pythonhosted.org/packages/61/61/3f6ca961b5fd90ffacece91e66c4e648dd818d8f667d0797015c5c3ab725/langgraph_runtime_inmem-0.35.3.tar.gz", hash = "sha256:fb58a5652563e029acd09e0ece6d51e3958ce195260e9151c7296c461813f126", size = 133743, upload-time = "2026-10-07T20:21:37.415Z" }
|
|
3424
3424
|
wheels = [
|
|
3425
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3425
|
+
{ url = "https://files.pythonhosted.org/packages/94/66/d4b1c4ee1a85e15a0ce2729770ef6d8be2fe4e0dbf98e15e74bb9cae229a/langgraph_runtime_inmem-0.35.3-py3-none-any.whl", hash = "sha256:1a52e5821e4266baa0a5599658e1b58501f71fef6e3c2298e6a99114dfcd2ffc", size = 52987, upload-time = "2026-10-07T20:21:36.087Z" },
|
|
3426
3426
|
]
|
|
3427
3427
|
|
|
3428
3428
|
[[package]]
|
|
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
|