deepagents-code 0.1.14__tar.gz → 0.1.15__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.14 → deepagents_code-0.1.15}/CHANGELOG.md +6 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/PKG-INFO +8 -6
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/README.md +2 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_version.py +1 -1
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/config.py +28 -3
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/main.py +3 -4
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/welcome.py +0 -1
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/pyproject.toml +5 -5
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_textual_adapter.py +40 -2
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/uv.lock +24 -24
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/.gitignore +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/AGENTS.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/COMMANDS.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/DEV.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/Makefile +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/THREAT_MODEL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/__main__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_ask_user_types.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_cli_context.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_constants.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_debug.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_env_vars.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_git.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_server_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_session_stats.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_startup_error.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_testing_models.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/_textual_patches.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/agent.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/app.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/app.tcss +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/ask_user.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/auth_display.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/auth_store.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/remember/SKILL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/skill-creator/SKILL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/clipboard.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/command_registry.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/config_commands.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/config_manifest.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/configurable_model.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/default_agent_prompt.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/editor.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/event_bus.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/extras_info.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/file_ops.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/filesystem_empty_result.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/formatting.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/hooks.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/input.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_factory.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_provider.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_registry.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/iterm_cursor_guide.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/local_context.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/managed_tools.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_auth.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_commands.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_disabled.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_login_service.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_oauth_ui.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_providers/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_providers/_registry.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_providers/base.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_providers/github.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_providers/slack.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_tools.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_trust.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/media_utils.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/memory_guard.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/model_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/non_interactive.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/notifications.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/offload.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/onboarding.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/output.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/project_utils.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/py.typed +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/remote_client.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/resume_state.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/server.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/server_graph.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/server_manager.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/sessions.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/skills/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/skills/commands.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/skills/invocation.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/skills/load.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/state_migration.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/subagents.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/system_prompt.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/terminal_capabilities.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/terminal_escape.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/textual_adapter.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/theme.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/tool_display.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/tools.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/ui.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/unicode_security.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/update_check.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/_links.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/agent_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/approval.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/ask_user.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/auth.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/autocomplete.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/chat_input.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/cwd_switch.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/diff.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/history.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/install_confirm.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/launch_init.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/loading.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/mcp_login.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/mcp_reconnect.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/mcp_viewer.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/message_store.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/messages.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/model_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/notification_center.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/notification_detail.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/notification_settings.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/restart_prompt.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/status.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/theme_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/thread_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/tool_renderers.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/tool_widgets.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/update_available.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/widgets/update_progress.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/arxiv-search/SKILL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/arxiv-search/arxiv_search.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/langgraph-docs/SKILL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/skill-creator/SKILL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/skill-creator/scripts/init_skill.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/skill-creator/scripts/quick_validate.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/examples/skills/web-research/SKILL.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/images/tui.png +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/scripts/check_imports.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/scripts/debug_server.sh +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/scripts/generate_commands_catalog.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/scripts/install.sh +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/README.md +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/benchmarks/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/conftest.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/test_acp_mode.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/test_compact_resume.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/test_sandbox_factory.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/integration_tests/test_sandbox_operations.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/conftest.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/skills/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/skills/test_commands.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/skills/test_load.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/skills/test_skills_json.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_agent.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_agent_friendly.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_agent_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_app.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_approval.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_args.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_ask_user.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_ask_user_middleware.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_auth_display.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_auth_store.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_auth_widgets.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_autocomplete.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_charset.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_chat_input.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_clipboard.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_command_registry.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_compact_tool.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_config_manifest.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_configurable_model.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_cursor_blink.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_cwd_switch.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_debug.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_editor.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_end_to_end.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_env_vars.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_event_bus.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_exception_handling.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_extras_info.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_file_ops.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_filesystem_empty_result.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_formatting.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_git.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_history.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_hooks.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_imports.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_input_parsing.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_install_command.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_install_confirm.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_iterm_cursor_guide.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_launch_init.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_links.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_loading.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_local_context.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_main.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_main_acp_mode.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_main_args.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_managed_tools.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_auth.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_commands.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_disabled.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_login_modal.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_login_service.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_oauth_ui.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_reconnect.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_tools.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_trust.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_mcp_viewer.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_media_utils.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_memory_guard.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_message_store.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_messages.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_model_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_model_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_model_switch.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_non_interactive.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_notification_center.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_notification_detail.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_notifications.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_offload.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_offload_dict_messages.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_onboarding.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_output.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_reload.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_remote_client.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_restart_prompt.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_resume_state.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_sandbox_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_sandbox_factory.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_sandbox_provider.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_sandbox_registry.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_server.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_server_config.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_server_graph.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_server_helpers.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_server_manager.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_session_stats.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_sessions.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_shell_allow_list.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_skill_invocation.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_startup_fast_paths.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_state_migration.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_status.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_subagents.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_terminal_capabilities.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_terminal_escape.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_terminal_progress_preference.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_textual_patches.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_theme.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_thread_selector.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_tool_display.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_ui.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_unicode_security.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_update_available.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_update_check.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_update_progress.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_version.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/test_welcome.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/tools/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/tools/test_current_thread.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/tools/test_fetch_url.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/widgets/__init__.py +0 -0
- {deepagents_code-0.1.14 → deepagents_code-0.1.15}/tests/unit_tests/widgets/test_diff.py +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Deep Agents Code Changelog
|
|
4
4
|
|
|
5
|
+
## [0.1.15](https://github.com/langchain-ai/deepagents/compare/deepagents-code==0.1.14...deepagents-code==0.1.15) (2026-06-12)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Add Deep Agents client version metadata ([#3934](https://github.com/langchain-ai/deepagents/issues/3934)) ([058cec6](https://github.com/langchain-ai/deepagents/commit/058cec654645dd1a504408d712ab678edc48273d))
|
|
10
|
+
|
|
5
11
|
## [0.1.14](https://github.com/langchain-ai/deepagents/compare/deepagents-code==0.1.13...deepagents-code==0.1.14) (2026-06-12)
|
|
6
12
|
|
|
7
13
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepagents-code
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.15
|
|
4
4
|
Summary: Terminal interface for Deep Agents - interactive AI agent with file operations, shell access, and sub-agent capabilities.
|
|
5
5
|
Project-URL: Homepage, https://docs.langchain.com/oss/python/deepagents/overview
|
|
6
6
|
Project-URL: Documentation, https://reference.langchain.com/python/deepagents/
|
|
@@ -27,13 +27,13 @@ Classifier: Topic :: Terminals
|
|
|
27
27
|
Requires-Python: <4.0,>=3.11
|
|
28
28
|
Requires-Dist: aiosqlite<1.0.0,>=0.22.1
|
|
29
29
|
Requires-Dist: deepagents-acp<1.0.0,>=0.0.8
|
|
30
|
-
Requires-Dist: deepagents==0.6.
|
|
30
|
+
Requires-Dist: deepagents==0.6.9
|
|
31
31
|
Requires-Dist: httpx<1.0.0,>=0.28.1
|
|
32
|
-
Requires-Dist: langchain-anthropic<2.0.0,>=1.4.
|
|
32
|
+
Requires-Dist: langchain-anthropic<2.0.0,>=1.4.6
|
|
33
33
|
Requires-Dist: langchain-google-genai<5.0.0,>=4.2.5
|
|
34
34
|
Requires-Dist: langchain-mcp-adapters<1.0.0,>=0.3.0
|
|
35
35
|
Requires-Dist: langchain-openai<2.0.0,>=1.3.0
|
|
36
|
-
Requires-Dist: langchain<2.0.0,>=1.3.
|
|
36
|
+
Requires-Dist: langchain<2.0.0,>=1.3.9
|
|
37
37
|
Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.1.0
|
|
38
38
|
Requires-Dist: langgraph-cli[inmem]<1.0.0,>=0.4.29
|
|
39
39
|
Requires-Dist: langgraph-runtime-inmem<1.0.0,>=0.30.0
|
|
@@ -57,7 +57,7 @@ Requires-Dist: uuid-utils<1.0.0,>=0.16.0
|
|
|
57
57
|
Provides-Extra: agentcore
|
|
58
58
|
Requires-Dist: langchain-agentcore-codeinterpreter<1.0.0,>=0.0.4; extra == 'agentcore'
|
|
59
59
|
Provides-Extra: all-providers
|
|
60
|
-
Requires-Dist: langchain-anthropic<2.0.0,>=1.4.
|
|
60
|
+
Requires-Dist: langchain-anthropic<2.0.0,>=1.4.6; extra == 'all-providers'
|
|
61
61
|
Requires-Dist: langchain-aws<2.0.0,>=1.5.1; extra == 'all-providers'
|
|
62
62
|
Requires-Dist: langchain-baseten<1.0.0,>=0.2.0; extra == 'all-providers'
|
|
63
63
|
Requires-Dist: langchain-cohere<1.0.0,>=0.6.0; extra == 'all-providers'
|
|
@@ -83,7 +83,7 @@ Requires-Dist: langchain-daytona>=0.0.7; extra == 'all-sandboxes'
|
|
|
83
83
|
Requires-Dist: langchain-modal>=0.0.5; extra == 'all-sandboxes'
|
|
84
84
|
Requires-Dist: langchain-runloop>=0.0.6; extra == 'all-sandboxes'
|
|
85
85
|
Provides-Extra: anthropic
|
|
86
|
-
Requires-Dist: langchain-anthropic<2.0.0,>=1.4.
|
|
86
|
+
Requires-Dist: langchain-anthropic<2.0.0,>=1.4.6; extra == 'anthropic'
|
|
87
87
|
Provides-Extra: baseten
|
|
88
88
|
Requires-Dist: langchain-baseten<1.0.0,>=0.2.0; extra == 'baseten'
|
|
89
89
|
Provides-Extra: bedrock
|
|
@@ -182,6 +182,8 @@ The fastest way to start using Deep Agents. `deepagents-code` is a pre-built cod
|
|
|
182
182
|
- **[Changelog](https://github.com/langchain-ai/deepagents/blob/main/libs/code/CHANGELOG.md)**
|
|
183
183
|
- **[Source code](https://github.com/langchain-ai/deepagents/tree/main/libs/code)**
|
|
184
184
|
- **[Deep Agents SDK](https://github.com/langchain-ai/deepagents)** — underlying agent harness
|
|
185
|
+
- [LangChain Academy](https://academy.langchain.com/) — Comprehensive, free courses on LangChain libraries and products, made by the LangChain team.
|
|
186
|
+
- [Code of Conduct](https://github.com/langchain-ai/langchain/?tab=coc-ov-file) — community guidelines and standards
|
|
185
187
|
|
|
186
188
|
## 📕 Releases & Versioning
|
|
187
189
|
|
|
@@ -48,6 +48,8 @@ The fastest way to start using Deep Agents. `deepagents-code` is a pre-built cod
|
|
|
48
48
|
- **[Changelog](https://github.com/langchain-ai/deepagents/blob/main/libs/code/CHANGELOG.md)**
|
|
49
49
|
- **[Source code](https://github.com/langchain-ai/deepagents/tree/main/libs/code)**
|
|
50
50
|
- **[Deep Agents SDK](https://github.com/langchain-ai/deepagents)** — underlying agent harness
|
|
51
|
+
- [LangChain Academy](https://academy.langchain.com/) — Comprehensive, free courses on LangChain libraries and products, made by the LangChain team.
|
|
52
|
+
- [Code of Conduct](https://github.com/langchain-ai/langchain/?tab=coc-ov-file) — community guidelines and standards
|
|
51
53
|
|
|
52
54
|
## 📕 Releases & Versioning
|
|
53
55
|
|
|
@@ -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.15" # 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."""
|
|
@@ -13,7 +13,7 @@ import sys
|
|
|
13
13
|
import threading
|
|
14
14
|
from dataclasses import dataclass
|
|
15
15
|
from enum import StrEnum
|
|
16
|
-
from importlib.metadata import PackageNotFoundError, distribution
|
|
16
|
+
from importlib.metadata import PackageNotFoundError, distribution, version
|
|
17
17
|
from pathlib import Path
|
|
18
18
|
from typing import TYPE_CHECKING, Any
|
|
19
19
|
from urllib.parse import unquote, urlparse
|
|
@@ -568,6 +568,23 @@ Kept short so tracing metadata can never stall app flows.
|
|
|
568
568
|
"""
|
|
569
569
|
|
|
570
570
|
|
|
571
|
+
def _get_deepagents_version() -> str | None:
|
|
572
|
+
"""Read the installed Deep Agents SDK version from package metadata.
|
|
573
|
+
|
|
574
|
+
Returns:
|
|
575
|
+
The installed Deep Agents SDK version, or `None` when package metadata
|
|
576
|
+
is unavailable.
|
|
577
|
+
"""
|
|
578
|
+
try:
|
|
579
|
+
return version("deepagents")
|
|
580
|
+
except PackageNotFoundError:
|
|
581
|
+
logger.debug(
|
|
582
|
+
"Failed to read deepagents version from package metadata",
|
|
583
|
+
exc_info=True,
|
|
584
|
+
)
|
|
585
|
+
return None
|
|
586
|
+
|
|
587
|
+
|
|
571
588
|
def _resolve_editable_info() -> tuple[bool, str | None]:
|
|
572
589
|
"""Parse PEP 610 `direct_url.json` once and cache both results.
|
|
573
590
|
|
|
@@ -826,11 +843,15 @@ def build_stream_config(
|
|
|
826
843
|
) -> RunnableConfig:
|
|
827
844
|
"""Build the LangGraph stream config dict.
|
|
828
845
|
|
|
829
|
-
Injects the dcode version into `metadata["
|
|
846
|
+
Injects the dcode version into `metadata["lc_versions"]` so LangSmith traces
|
|
830
847
|
can be correlated with specific releases. `create_deep_agent` supplies the
|
|
831
848
|
SDK version through the compiled graph config, and LangChain merges nested
|
|
832
849
|
metadata dictionaries so both versions survive at stream time.
|
|
833
850
|
|
|
851
|
+
Also records `dcode_client_deepagents_version` as a dcode-client diagnostic.
|
|
852
|
+
This describes the Deep Agents package installed alongside the TUI, which
|
|
853
|
+
can differ from a remote graph's Deep Agents runtime version.
|
|
854
|
+
|
|
834
855
|
Includes `ls_integration` metadata so LangSmith traces originating from
|
|
835
856
|
the app are distinguishable from bare SDK usage.
|
|
836
857
|
|
|
@@ -854,9 +875,13 @@ def build_stream_config(
|
|
|
854
875
|
cwd = ""
|
|
855
876
|
|
|
856
877
|
metadata: dict[str, Any] = {
|
|
857
|
-
"
|
|
878
|
+
"lc_versions": {"deepagents-code": __version__},
|
|
858
879
|
"ls_integration": "deepagents-code",
|
|
859
880
|
}
|
|
881
|
+
deepagents_version = _get_deepagents_version()
|
|
882
|
+
if deepagents_version is not None:
|
|
883
|
+
metadata["dcode_client_deepagents_version"] = deepagents_version
|
|
884
|
+
|
|
860
885
|
from deepagents_code._env_vars import USER_ID
|
|
861
886
|
|
|
862
887
|
user_id = os.environ.get(USER_ID)
|
|
@@ -179,22 +179,21 @@ def _run_startup_auto_update(console: "Console") -> None:
|
|
|
179
179
|
return
|
|
180
180
|
release_age = format_release_age_parenthetical(latest)
|
|
181
181
|
console.print(
|
|
182
|
-
f"
|
|
183
|
-
f"v{latest}{release_age} before startup..."
|
|
182
|
+
f"Updating dcode from v{cli_version} to v{latest}{release_age}..."
|
|
184
183
|
)
|
|
185
184
|
if os.environ.get(DEBUG_UPDATE):
|
|
186
185
|
console.print("Skipped update install (debug mode).", style="dim")
|
|
187
186
|
return
|
|
188
187
|
log_path = create_update_log_path()
|
|
189
188
|
console.print(
|
|
190
|
-
f"
|
|
189
|
+
f"Progress: tail -f {log_path}",
|
|
191
190
|
style="dim",
|
|
192
191
|
highlight=False,
|
|
193
192
|
markup=False,
|
|
194
193
|
)
|
|
195
194
|
success, output = asyncio.run(perform_upgrade(log_path=log_path))
|
|
196
195
|
if success:
|
|
197
|
-
console.print(f"[green]Updated to v{latest}.
|
|
196
|
+
console.print(f"[green]Updated to v{latest}. Launching...[/green]")
|
|
198
197
|
# Record the target version so the re-exec'd process can detect a
|
|
199
198
|
# no-op upgrade and break the loop (see the `restarted_for` guard).
|
|
200
199
|
os.environ[RESTARTED_AFTER_UPDATE] = latest
|
|
@@ -58,7 +58,6 @@ _TIPS: dict[str, int] = {
|
|
|
58
58
|
"In /agents, press Ctrl+S to set the highlighted agent as your default": 1,
|
|
59
59
|
"Press Shift+Tab to toggle auto-approve mode": 2,
|
|
60
60
|
"Use --startup-cmd to run a shell command before the first prompt": 1,
|
|
61
|
-
"Set [retries] in ~/.deepagents/config.toml for resilience to transient errors": 1,
|
|
62
61
|
"Use !! for incognito shell commands that stay out of model context": 1,
|
|
63
62
|
"Deep Agents can explain its own features and look up its docs. Ask it how to use.": 3, # noqa: E501
|
|
64
63
|
}
|
|
@@ -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.15"
|
|
8
8
|
description = "Terminal interface for Deep Agents - interactive AI agent with file operations, shell access, and sub-agent capabilities."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -26,8 +26,8 @@ classifiers = [
|
|
|
26
26
|
]
|
|
27
27
|
dependencies = [
|
|
28
28
|
# Framework
|
|
29
|
-
"deepagents==0.6.
|
|
30
|
-
"langchain>=1.3.
|
|
29
|
+
"deepagents==0.6.9",
|
|
30
|
+
"langchain>=1.3.9,<2.0.0",
|
|
31
31
|
"langgraph-checkpoint-sqlite>=3.1.0,<4.0.0",
|
|
32
32
|
|
|
33
33
|
# Client-server architecture
|
|
@@ -37,7 +37,7 @@ dependencies = [
|
|
|
37
37
|
"httpx>=0.28.1,<1.0.0",
|
|
38
38
|
|
|
39
39
|
# Core model providers - others are added as optional
|
|
40
|
-
"langchain-anthropic>=1.4.
|
|
40
|
+
"langchain-anthropic>=1.4.6,<2.0.0",
|
|
41
41
|
"langchain-google-genai>=4.2.5,<5.0.0",
|
|
42
42
|
"langchain-openai>=1.3.0,<2.0.0",
|
|
43
43
|
|
|
@@ -82,7 +82,7 @@ dependencies = [
|
|
|
82
82
|
|
|
83
83
|
[project.optional-dependencies]
|
|
84
84
|
# Model providers
|
|
85
|
-
anthropic = ["langchain-anthropic>=1.4.
|
|
85
|
+
anthropic = ["langchain-anthropic>=1.4.6,<2.0.0"]
|
|
86
86
|
baseten = ["langchain-baseten>=0.2.0,<1.0.0"]
|
|
87
87
|
bedrock = ["langchain-aws>=1.5.1,<2.0.0"]
|
|
88
88
|
cohere = ["langchain-cohere>=0.6.0,<1.0.0"]
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"""Unit tests for textual_adapter functions."""
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
|
+
import sys
|
|
4
5
|
from asyncio import Future
|
|
5
6
|
from collections.abc import AsyncIterator, Generator
|
|
6
7
|
from datetime import datetime
|
|
8
|
+
from importlib.metadata import PackageNotFoundError
|
|
7
9
|
from io import StringIO
|
|
8
10
|
from pathlib import Path
|
|
9
11
|
from types import SimpleNamespace
|
|
@@ -608,11 +610,47 @@ class TestBuildStreamConfig:
|
|
|
608
610
|
assert "model_params" not in config["configurable"]
|
|
609
611
|
|
|
610
612
|
def test_versions_contains_cli_version(self) -> None:
|
|
611
|
-
"""CLI version should always be present in metadata.
|
|
613
|
+
"""CLI version should always be present in metadata.lc_versions."""
|
|
612
614
|
from deepagents_code._version import __version__
|
|
613
615
|
|
|
614
616
|
config = build_stream_config("t-ver", assistant_id=None)
|
|
615
|
-
assert config["metadata"]["
|
|
617
|
+
assert config["metadata"]["lc_versions"] == {"deepagents-code": __version__}
|
|
618
|
+
|
|
619
|
+
def test_dcode_client_deepagents_version_is_diagnostic_metadata(self) -> None:
|
|
620
|
+
"""Client-side SDK version should not be reported as graph instrumentation."""
|
|
621
|
+
with patch("deepagents_code.config.version", return_value="1.2.3"):
|
|
622
|
+
config = build_stream_config("t-sdk", assistant_id=None)
|
|
623
|
+
assert config["metadata"]["dcode_client_deepagents_version"] == "1.2.3"
|
|
624
|
+
assert "deepagents" not in config["metadata"]["lc_versions"]
|
|
625
|
+
|
|
626
|
+
def test_dcode_client_deepagents_version_absent_when_metadata_missing(
|
|
627
|
+
self,
|
|
628
|
+
) -> None:
|
|
629
|
+
"""Missing SDK metadata should not prevent stream config construction."""
|
|
630
|
+
with patch(
|
|
631
|
+
"deepagents_code.config.version",
|
|
632
|
+
side_effect=PackageNotFoundError("deepagents"),
|
|
633
|
+
):
|
|
634
|
+
config = build_stream_config("t-missing-sdk", assistant_id=None)
|
|
635
|
+
|
|
636
|
+
assert "dcode_client_deepagents_version" not in config["metadata"]
|
|
637
|
+
|
|
638
|
+
def test_dcode_client_deepagents_version_does_not_import_sdk(
|
|
639
|
+
self,
|
|
640
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
641
|
+
) -> None:
|
|
642
|
+
"""SDK version metadata lookup should not import the SDK package."""
|
|
643
|
+
for module in list(sys.modules):
|
|
644
|
+
if module == "deepagents" or module.startswith("deepagents."):
|
|
645
|
+
monkeypatch.delitem(sys.modules, module, raising=False)
|
|
646
|
+
|
|
647
|
+
with patch("deepagents_code.config.version", return_value="1.2.3"):
|
|
648
|
+
build_stream_config("t-no-sdk-import", assistant_id=None)
|
|
649
|
+
|
|
650
|
+
assert not any(
|
|
651
|
+
module == "deepagents" or module.startswith("deepagents.")
|
|
652
|
+
for module in sys.modules
|
|
653
|
+
)
|
|
616
654
|
|
|
617
655
|
def test_user_id_included_when_set(self) -> None:
|
|
618
656
|
"""DEEPAGENTS_CODE_USER_ID should appear in metadata when set."""
|
|
@@ -970,7 +970,7 @@ wheels = [
|
|
|
970
970
|
|
|
971
971
|
[[package]]
|
|
972
972
|
name = "deepagents"
|
|
973
|
-
version = "0.6.
|
|
973
|
+
version = "0.6.9"
|
|
974
974
|
source = { editable = "../deepagents" }
|
|
975
975
|
dependencies = [
|
|
976
976
|
{ name = "langchain" },
|
|
@@ -983,9 +983,9 @@ dependencies = [
|
|
|
983
983
|
|
|
984
984
|
[package.metadata]
|
|
985
985
|
requires-dist = [
|
|
986
|
-
{ name = "langchain", specifier = ">=1.3.
|
|
987
|
-
{ name = "langchain-anthropic", specifier = ">=1.4.
|
|
988
|
-
{ name = "langchain-core", specifier = ">=1.4.
|
|
986
|
+
{ name = "langchain", specifier = ">=1.3.9,<2.0.0" },
|
|
987
|
+
{ name = "langchain-anthropic", specifier = ">=1.4.6,<2.0.0" },
|
|
988
|
+
{ name = "langchain-core", specifier = ">=1.4.7,<2.0.0" },
|
|
989
989
|
{ name = "langchain-google-genai", specifier = ">=4.2.5,<5.0.0" },
|
|
990
990
|
{ name = "langchain-quickjs", marker = "extra == 'quickjs'" },
|
|
991
991
|
{ name = "langsmith", specifier = ">=0.8.11" },
|
|
@@ -1028,7 +1028,7 @@ wheels = [
|
|
|
1028
1028
|
|
|
1029
1029
|
[[package]]
|
|
1030
1030
|
name = "deepagents-code"
|
|
1031
|
-
version = "0.1.
|
|
1031
|
+
version = "0.1.15"
|
|
1032
1032
|
source = { editable = "." }
|
|
1033
1033
|
dependencies = [
|
|
1034
1034
|
{ name = "aiosqlite" },
|
|
@@ -1196,10 +1196,10 @@ requires-dist = [
|
|
|
1196
1196
|
{ name = "deepagents-code", extras = ["agentcore", "daytona", "modal", "runloop"], marker = "extra == 'all-sandboxes'" },
|
|
1197
1197
|
{ name = "deepagents-code", extras = ["anthropic", "baseten", "bedrock", "cohere", "deepseek", "fireworks", "google-genai", "groq", "huggingface", "ibm", "litellm", "mistralai", "nvidia", "ollama", "openai", "openrouter", "perplexity", "together", "vertex", "xai"], marker = "extra == 'all-providers'" },
|
|
1198
1198
|
{ name = "httpx", specifier = ">=0.28.1,<1.0.0" },
|
|
1199
|
-
{ name = "langchain", specifier = ">=1.3.
|
|
1199
|
+
{ name = "langchain", specifier = ">=1.3.9,<2.0.0" },
|
|
1200
1200
|
{ name = "langchain-agentcore-codeinterpreter", marker = "extra == 'agentcore'", specifier = ">=0.0.4,<1.0.0" },
|
|
1201
|
-
{ name = "langchain-anthropic", specifier = ">=1.4.
|
|
1202
|
-
{ name = "langchain-anthropic", marker = "extra == 'anthropic'", specifier = ">=1.4.
|
|
1201
|
+
{ name = "langchain-anthropic", specifier = ">=1.4.6,<2.0.0" },
|
|
1202
|
+
{ name = "langchain-anthropic", marker = "extra == 'anthropic'", specifier = ">=1.4.6,<2.0.0" },
|
|
1203
1203
|
{ name = "langchain-aws", marker = "extra == 'bedrock'", specifier = ">=1.5.1,<2.0.0" },
|
|
1204
1204
|
{ name = "langchain-baseten", marker = "extra == 'baseten'", specifier = ">=0.2.0,<1.0.0" },
|
|
1205
1205
|
{ name = "langchain-cohere", marker = "extra == 'cohere'", specifier = ">=0.6.0,<1.0.0" },
|
|
@@ -2537,16 +2537,16 @@ wheels = [
|
|
|
2537
2537
|
|
|
2538
2538
|
[[package]]
|
|
2539
2539
|
name = "langchain"
|
|
2540
|
-
version = "1.3.
|
|
2540
|
+
version = "1.3.9"
|
|
2541
2541
|
source = { registry = "https://pypi.org/simple" }
|
|
2542
2542
|
dependencies = [
|
|
2543
2543
|
{ name = "langchain-core" },
|
|
2544
2544
|
{ name = "langgraph" },
|
|
2545
2545
|
{ name = "pydantic" },
|
|
2546
2546
|
]
|
|
2547
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2547
|
+
sdist = { url = "https://files.pythonhosted.org/packages/56/7c/651d0dc4913a7a892156c03dd343b99cfe19ee729e6911ab1f4fe7567b8b/langchain-1.3.9.tar.gz", hash = "sha256:9b14ef0db9ef314299ded858b22ca2a40b8f1b05c8c9cb6b82d53a53075fef00", size = 631514, upload-time = "2026-06-12T16:53:27.083Z" }
|
|
2548
2548
|
wheels = [
|
|
2549
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2549
|
+
{ url = "https://files.pythonhosted.org/packages/b7/55/3481619d21b9bdfbfda8680fba5cfc6cfe926789b8eaaad95353078cfa20/langchain-1.3.9-py3-none-any.whl", hash = "sha256:4af49ad1095799e4408b489fb79d4b8b49292453618b202d8a697fca59bb6871", size = 132873, upload-time = "2026-06-12T16:53:25.489Z" },
|
|
2550
2550
|
]
|
|
2551
2551
|
|
|
2552
2552
|
[[package]]
|
|
@@ -2565,16 +2565,16 @@ wheels = [
|
|
|
2565
2565
|
|
|
2566
2566
|
[[package]]
|
|
2567
2567
|
name = "langchain-anthropic"
|
|
2568
|
-
version = "1.4.
|
|
2568
|
+
version = "1.4.6"
|
|
2569
2569
|
source = { registry = "https://pypi.org/simple" }
|
|
2570
2570
|
dependencies = [
|
|
2571
2571
|
{ name = "anthropic" },
|
|
2572
2572
|
{ name = "langchain-core" },
|
|
2573
2573
|
{ name = "pydantic" },
|
|
2574
2574
|
]
|
|
2575
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2575
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e1/f5/cd397b94aeed5fa0e8ab9595b9fb578ac99f424d42220defe6626e6a1a7b/langchain_anthropic-1.4.6.tar.gz", hash = "sha256:78942d4458d883b7d362438a095ed501ed84f44d402622404482481fc973b9da", size = 706540, upload-time = "2026-06-12T16:54:15.352Z" }
|
|
2576
2576
|
wheels = [
|
|
2577
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2577
|
+
{ url = "https://files.pythonhosted.org/packages/26/af/927dbbc5a1f5fea1a69adc2883f034cbd1430004e36f4eacd302d500393a/langchain_anthropic-1.4.6-py3-none-any.whl", hash = "sha256:dbd412a956b6b8b0716d9d8460ef71f834a6731cdbfc59e6160482a4a9fb5200", size = 51797, upload-time = "2026-06-12T16:54:14.159Z" },
|
|
2578
2578
|
]
|
|
2579
2579
|
|
|
2580
2580
|
[[package]]
|
|
@@ -2623,7 +2623,7 @@ wheels = [
|
|
|
2623
2623
|
|
|
2624
2624
|
[[package]]
|
|
2625
2625
|
name = "langchain-core"
|
|
2626
|
-
version = "1.4.
|
|
2626
|
+
version = "1.4.7"
|
|
2627
2627
|
source = { registry = "https://pypi.org/simple" }
|
|
2628
2628
|
dependencies = [
|
|
2629
2629
|
{ name = "jsonpatch" },
|
|
@@ -2636,9 +2636,9 @@ dependencies = [
|
|
|
2636
2636
|
{ name = "typing-extensions" },
|
|
2637
2637
|
{ name = "uuid-utils" },
|
|
2638
2638
|
]
|
|
2639
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2639
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ee/2b/fffaff399d20a56d40b9562fa19701e91abd72d8c9d9bc8c2673077b56b6/langchain_core-1.4.7.tar.gz", hash = "sha256:7a825d77de0a3f39adbd9d09612a75e85527e14a52c1601089bcc062972d9f2b", size = 952522, upload-time = "2026-06-12T19:23:57.588Z" }
|
|
2640
2640
|
wheels = [
|
|
2641
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2641
|
+
{ url = "https://files.pythonhosted.org/packages/de/3e/dcdffa60078ae7b3a00ebb4cbbf1a204a14c3609983c604886523a7d4418/langchain_core-1.4.7-py3-none-any.whl", hash = "sha256:bcadd51951140ecdcba98311dbd931ba5de02a5ba8a2288dad5069c1eea2a13d", size = 554941, upload-time = "2026-06-12T19:23:55.826Z" },
|
|
2642
2642
|
]
|
|
2643
2643
|
|
|
2644
2644
|
[[package]]
|
|
@@ -2932,7 +2932,7 @@ wheels = [
|
|
|
2932
2932
|
|
|
2933
2933
|
[[package]]
|
|
2934
2934
|
name = "langchain-quickjs"
|
|
2935
|
-
version = "0.
|
|
2935
|
+
version = "0.2.0"
|
|
2936
2936
|
source = { editable = "../partners/quickjs" }
|
|
2937
2937
|
dependencies = [
|
|
2938
2938
|
{ name = "deepagents" },
|
|
@@ -2945,9 +2945,9 @@ dependencies = [
|
|
|
2945
2945
|
[package.metadata]
|
|
2946
2946
|
requires-dist = [
|
|
2947
2947
|
{ name = "deepagents", editable = "../deepagents" },
|
|
2948
|
-
{ name = "langchain", specifier = ">=1.3.
|
|
2949
|
-
{ name = "langchain-core", specifier = ">=1.4.
|
|
2950
|
-
{ name = "langgraph", specifier = ">=1.2.
|
|
2948
|
+
{ name = "langchain", specifier = ">=1.3.9,<2.0.0" },
|
|
2949
|
+
{ name = "langchain-core", specifier = ">=1.4.7,<2.0.0" },
|
|
2950
|
+
{ name = "langgraph", specifier = ">=1.2.5,<2.0.0" },
|
|
2951
2951
|
{ name = "quickjs-rs", specifier = ">=0.1.2,<0.2.0" },
|
|
2952
2952
|
]
|
|
2953
2953
|
|
|
@@ -3034,7 +3034,7 @@ wheels = [
|
|
|
3034
3034
|
|
|
3035
3035
|
[[package]]
|
|
3036
3036
|
name = "langgraph"
|
|
3037
|
-
version = "1.2.
|
|
3037
|
+
version = "1.2.5"
|
|
3038
3038
|
source = { registry = "https://pypi.org/simple" }
|
|
3039
3039
|
dependencies = [
|
|
3040
3040
|
{ name = "langchain-core" },
|
|
@@ -3044,9 +3044,9 @@ dependencies = [
|
|
|
3044
3044
|
{ name = "pydantic" },
|
|
3045
3045
|
{ name = "xxhash" },
|
|
3046
3046
|
]
|
|
3047
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3047
|
+
sdist = { url = "https://files.pythonhosted.org/packages/77/9d/7c9ebd17b95569122e2d2e641f535cf086c870d66bb8e59be33cdba856b3/langgraph-1.2.5.tar.gz", hash = "sha256:09a3bdec6fdb3228623fc78b6f69a1400d383f66348d0b04d0efb692022cc6ef", size = 712532, upload-time = "2026-06-12T20:30:58.498Z" }
|
|
3048
3048
|
wheels = [
|
|
3049
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3049
|
+
{ url = "https://files.pythonhosted.org/packages/a2/03/187281cf61845c5a9c397ae6cd9cd73bb54b39435e5575a7b83c853e5b76/langgraph-1.2.5-py3-none-any.whl", hash = "sha256:9286bb5def82fc865959c14378fe473518dc097d586225f622f029637a2a4bb9", size = 246150, upload-time = "2026-06-12T20:30:57.018Z" },
|
|
3050
3050
|
]
|
|
3051
3051
|
|
|
3052
3052
|
[[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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/__init__.py
RENAMED
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/built_in_skills/remember/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/filesystem_empty_result.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_config.py
RENAMED
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_factory.py
RENAMED
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_provider.py
RENAMED
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/integrations/sandbox_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepagents_code-0.1.14 → deepagents_code-0.1.15}/deepagents_code/mcp_providers/_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|