deepagents-cli 0.0.38__tar.gz → 0.0.40__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_cli-0.0.38 → deepagents_cli-0.0.40}/CHANGELOG.md +20 -5
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/PKG-INFO +2 -2
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_version.py +1 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/agent.py +39 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/app.py +593 -52
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/command_registry.py +56 -11
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/deploy/bundler.py +118 -18
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/deploy/commands.py +4 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/deploy/config.py +165 -8
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/deploy/templates.py +192 -25
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/integrations/sandbox_factory.py +89 -67
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/main.py +163 -17
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/model_config.py +91 -10
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/non_interactive.py +37 -11
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/offload.py +32 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/remote_client.py +10 -5
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/ui.py +31 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/update_check.py +76 -17
- deepagents_cli-0.0.40/deepagents_cli/widgets/agent_selector.py +188 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/autocomplete.py +16 -9
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/chat_input.py +207 -5
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/model_selector.py +23 -6
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/notification_settings.py +15 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/theme_selector.py +19 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/thread_selector.py +19 -2
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/welcome.py +13 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/pyproject.toml +2 -2
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/test_bundler.py +246 -16
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/test_config.py +148 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_agent.py +69 -0
- deepagents_cli-0.0.40/tests/unit_tests/test_agent_selector.py +208 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_app.py +484 -5
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_args.py +24 -2
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_autocomplete.py +36 -8
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_chat_input.py +230 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_command_registry.py +35 -9
- deepagents_cli-0.0.40/tests/unit_tests/test_formatting.py +66 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_main_args.py +239 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_model_config.py +50 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_non_interactive.py +353 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_offload.py +132 -2
- deepagents_cli-0.0.40/tests/unit_tests/test_offload_dict_messages.py +336 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_reload.py +1 -1
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_sandbox_factory.py +184 -0
- deepagents_cli-0.0.40/tests/unit_tests/test_session_stats.py +151 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_skill_invocation.py +12 -11
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_ui.py +37 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_update_check.py +228 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/uv.lock +19 -19
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/.gitignore +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/DEV.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/Makefile +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/README.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/THREAT_MODEL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/__main__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_ask_user_types.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_cli_context.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_debug.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_env_vars.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_server_config.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_session_stats.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/_testing_models.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/app.tcss +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/ask_user.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/remember/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/skill-creator/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/clipboard.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/config.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/configurable_model.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/default_agent_prompt.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/deploy/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/editor.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/file_ops.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/formatting.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/hooks.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/input.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/integrations/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/integrations/sandbox_provider.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/local_context.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/mcp_tools.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/mcp_trust.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/media_utils.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/output.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/project_utils.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/py.typed +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/server.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/server_graph.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/server_manager.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/sessions.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/skills/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/skills/commands.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/skills/invocation.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/skills/load.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/subagents.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/system_prompt.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/textual_adapter.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/theme.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/token_state.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/tool_display.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/tools.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/unicode_security.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/_links.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/approval.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/ask_user.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/diff.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/history.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/loading.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/mcp_viewer.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/message_store.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/messages.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/status.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/tool_renderers.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/deepagents_cli/widgets/tool_widgets.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/deploy-content-writer/.env.example +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/deploy-content-writer/skills/blog-post/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/deploy-content-writer/skills/social-media/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/deploy-content-writer/user/context.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/deploy-content-writer/user/preferences.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/arxiv-search/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/arxiv-search/arxiv_search.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/langgraph-docs/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/skill-creator/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/skill-creator/scripts/init_skill.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/skill-creator/scripts/quick_validate.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/examples/skills/web-research/SKILL.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/images/cli.png +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/scripts/check_imports.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/scripts/debug_server.sh +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/scripts/install.sh +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/README.md +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/benchmarks/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/conftest.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/test_acp_mode.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/test_compact_resume.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/test_sandbox_factory.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/integration_tests/test_sandbox_operations.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/conftest.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/test_commands.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/skills/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/skills/test_commands.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/skills/test_load.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/skills/test_skills_json.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_agent_friendly.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_approval.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_ask_user.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_ask_user_middleware.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_charset.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_compact_tool.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_config.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_configurable_model.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_debug.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_editor.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_end_to_end.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_env_vars.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_exception_handling.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_file_ops.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_history.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_hooks.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_imports.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_input_parsing.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_links.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_loading.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_local_context.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_main.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_main_acp_mode.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_mcp_tools.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_mcp_trust.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_mcp_viewer.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_media_utils.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_message_store.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_messages.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_model_selector.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_model_switch.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_output.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_remote_client.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_server.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_config.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_graph.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_helpers.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_manager.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_sessions.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_shell_allow_list.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_status.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_subagents.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_textual_adapter.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_theme.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_thread_selector.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_token_tracker.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_unicode_security.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_version.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/test_welcome.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/tools/__init__.py +0 -0
- {deepagents_cli-0.0.38 → deepagents_cli-0.0.40}/tests/unit_tests/tools/test_fetch_url.py +0 -0
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.0.
|
|
4
|
-
|
|
3
|
+
## [0.0.40](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.39...deepagents-cli==0.0.40) (2026-04-20)
|
|
5
4
|
|
|
6
5
|
### Features
|
|
7
6
|
|
|
8
|
-
*
|
|
7
|
+
* `--max-turns` flag on non-interactive mode ([#2832](https://github.com/langchain-ai/deepagents/issues/2832)) ([567bcd8](https://github.com/langchain-ai/deepagents/commit/567bcd8f2065e089f4905a901efe7154add23121))
|
|
8
|
+
* `/agents` switcher ([#2558](https://github.com/langchain-ai/deepagents/issues/2558)) ([3a2b777](https://github.com/langchain-ai/deepagents/commit/3a2b77773a19dd48f9c51dfb35cdfc5c33126d77))
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* Normalize serialized message dicts in `/offload` ([#2808](https://github.com/langchain-ai/deepagents/issues/2808)) ([0d11bd4](https://github.com/langchain-ai/deepagents/commit/0d11bd46fd682c7aa3f008918771e9759dca7352))
|
|
13
|
+
|
|
14
|
+
## [0.0.39](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.38...deepagents-cli==0.0.39) (2026-04-17)
|
|
9
15
|
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* Inline argument hints for slash commands ([#2181](https://github.com/langchain-ai/deepagents/issues/2181)) ([6b58e06](https://github.com/langchain-ai/deepagents/commit/6b58e06b06f6fb360d85c54eac31953d1e47dd7a))
|
|
19
|
+
* Subagents for `deepagents deploy` ([#2786](https://github.com/langchain-ai/deepagents/issues/2786)) ([7dd5565](https://github.com/langchain-ai/deepagents/commit/7dd5565e30ab91a2cd2ca10fcd227e590451f13c))
|
|
10
20
|
|
|
11
21
|
### Bug Fixes
|
|
12
22
|
|
|
13
|
-
*
|
|
23
|
+
* Throttle update notification to once per day and fix teardown banner ([#2764](https://github.com/langchain-ai/deepagents/issues/2764)) ([ba31294](https://github.com/langchain-ai/deepagents/commit/ba31294b733d4ef542d18830eec6df30cfa0d23f))
|
|
24
|
+
|
|
25
|
+
## [0.0.38](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.37...deepagents-cli==0.0.38) (2026-04-15)
|
|
26
|
+
|
|
27
|
+
### Features
|
|
14
28
|
|
|
29
|
+
* User scoped memory for `deepagents deploy` ([#2708](https://github.com/langchain-ai/deepagents/issues/2708)) ([23bfca6](https://github.com/langchain-ai/deepagents/commit/23bfca6e46e6f3e4fba6657d858ddd5a0b06626f))
|
|
15
30
|
|
|
16
31
|
### Performance Improvements
|
|
17
32
|
|
|
18
|
-
*
|
|
33
|
+
* `O(1)` message lookups in `MessageStore` ([#2350](https://github.com/langchain-ai/deepagents/issues/2350)) ([d39fd5d](https://github.com/langchain-ai/deepagents/commit/d39fd5d3651fd87d1eea8c02cbef2c2f62449e67))
|
|
19
34
|
|
|
20
35
|
## [0.0.37](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.36...deepagents-cli==0.0.37) (2026-04-10)
|
|
21
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepagents-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.40
|
|
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/
|
|
@@ -38,7 +38,7 @@ Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.0.0
|
|
|
38
38
|
Requires-Dist: langgraph-cli[inmem]<1.0.0,>=0.4.15
|
|
39
39
|
Requires-Dist: langgraph-sdk<1.0.0,>=0.3.11
|
|
40
40
|
Requires-Dist: langgraph<2.0.0,>=1.1.6
|
|
41
|
-
Requires-Dist: langsmith[sandbox]>=0.7.
|
|
41
|
+
Requires-Dist: langsmith[sandbox]>=0.7.32
|
|
42
42
|
Requires-Dist: markdownify<2.0.0,>=0.13.0
|
|
43
43
|
Requires-Dist: packaging>=23.0
|
|
44
44
|
Requires-Dist: pillow<13.0.0,>=10.0.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Version information and lightweight constants for `deepagents-cli`."""
|
|
2
2
|
|
|
3
|
-
__version__ = "0.0.
|
|
3
|
+
__version__ = "0.0.40" # x-release-please-version
|
|
4
4
|
|
|
5
5
|
DOCS_URL = "https://docs.langchain.com/oss/python/deepagents/cli"
|
|
6
6
|
"""URL for `deepagents-cli` documentation."""
|
|
@@ -257,6 +257,45 @@ def load_async_subagents(config_path: Path | None = None) -> list[AsyncSubAgent]
|
|
|
257
257
|
return agents
|
|
258
258
|
|
|
259
259
|
|
|
260
|
+
def get_available_agent_names() -> list[str]:
|
|
261
|
+
"""Return a sorted list of available agent names from `~/.deepagents/`.
|
|
262
|
+
|
|
263
|
+
Scans the user's `.deepagents` directory and returns each real
|
|
264
|
+
subdirectory found there. Symlinks excluded so a dangling link does not
|
|
265
|
+
masquerade as an agent.
|
|
266
|
+
|
|
267
|
+
Filesystem errors (missing parent, permission denied, broken entries) are
|
|
268
|
+
logged and surfaced as an empty list rather than raised — the caller shows
|
|
269
|
+
an empty modal instead of crashing mid-render.
|
|
270
|
+
|
|
271
|
+
Returns:
|
|
272
|
+
Sorted list of agent names. Empty when no agents exist yet or the
|
|
273
|
+
directory is unreadable (see log for the underlying cause).
|
|
274
|
+
"""
|
|
275
|
+
agents_dir = settings.user_deepagents_dir
|
|
276
|
+
try:
|
|
277
|
+
entries = list(agents_dir.iterdir())
|
|
278
|
+
except FileNotFoundError:
|
|
279
|
+
return []
|
|
280
|
+
except OSError:
|
|
281
|
+
logger.warning("Could not list agents in %s", agents_dir, exc_info=True)
|
|
282
|
+
return []
|
|
283
|
+
|
|
284
|
+
names: list[str] = []
|
|
285
|
+
for entry in entries:
|
|
286
|
+
try:
|
|
287
|
+
if entry.is_dir() and not entry.is_symlink():
|
|
288
|
+
names.append(entry.name)
|
|
289
|
+
except OSError:
|
|
290
|
+
logger.debug(
|
|
291
|
+
"Skipping unreadable entry in %s: %s",
|
|
292
|
+
agents_dir,
|
|
293
|
+
entry.name,
|
|
294
|
+
exc_info=True,
|
|
295
|
+
)
|
|
296
|
+
return sorted(names)
|
|
297
|
+
|
|
298
|
+
|
|
260
299
|
def list_agents(*, output_format: OutputFormat = "text") -> None:
|
|
261
300
|
"""List all available agents.
|
|
262
301
|
|