deepagents-cli 0.0.39__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.
Files changed (203) hide show
  1. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/CHANGELOG.md +14 -12
  2. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/PKG-INFO +2 -2
  3. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_version.py +1 -1
  4. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/agent.py +39 -0
  5. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/app.py +537 -44
  6. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/command_registry.py +6 -0
  7. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/deploy/bundler.py +8 -8
  8. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/deploy/config.py +26 -9
  9. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/deploy/templates.py +81 -24
  10. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/integrations/sandbox_factory.py +89 -67
  11. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/main.py +103 -5
  12. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/model_config.py +81 -9
  13. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/non_interactive.py +37 -11
  14. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/offload.py +32 -1
  15. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/remote_client.py +10 -5
  16. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/ui.py +28 -0
  17. deepagents_cli-0.0.40/deepagents_cli/widgets/agent_selector.py +188 -0
  18. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/model_selector.py +23 -6
  19. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/notification_settings.py +15 -1
  20. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/theme_selector.py +19 -1
  21. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/thread_selector.py +19 -2
  22. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/welcome.py +13 -0
  23. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/pyproject.toml +2 -2
  24. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/test_bundler.py +39 -0
  25. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_agent.py +69 -0
  26. deepagents_cli-0.0.40/tests/unit_tests/test_agent_selector.py +208 -0
  27. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_app.py +318 -5
  28. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_args.py +8 -2
  29. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_command_registry.py +21 -0
  30. deepagents_cli-0.0.40/tests/unit_tests/test_formatting.py +66 -0
  31. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_main_args.py +239 -0
  32. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_model_config.py +50 -0
  33. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_non_interactive.py +353 -0
  34. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_offload.py +130 -0
  35. deepagents_cli-0.0.40/tests/unit_tests/test_offload_dict_messages.py +336 -0
  36. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_sandbox_factory.py +184 -0
  37. deepagents_cli-0.0.40/tests/unit_tests/test_session_stats.py +151 -0
  38. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_ui.py +37 -0
  39. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/uv.lock +14 -14
  40. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/.gitignore +0 -0
  41. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/DEV.md +0 -0
  42. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/Makefile +0 -0
  43. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/README.md +0 -0
  44. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/THREAT_MODEL.md +0 -0
  45. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/__init__.py +0 -0
  46. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/__main__.py +0 -0
  47. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_ask_user_types.py +0 -0
  48. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_cli_context.py +0 -0
  49. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_debug.py +0 -0
  50. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_env_vars.py +0 -0
  51. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_server_config.py +0 -0
  52. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_session_stats.py +0 -0
  53. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/_testing_models.py +0 -0
  54. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/app.tcss +0 -0
  55. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/ask_user.py +0 -0
  56. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/__init__.py +0 -0
  57. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/remember/SKILL.md +0 -0
  58. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/skill-creator/SKILL.md +0 -0
  59. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
  60. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
  61. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/clipboard.py +0 -0
  62. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/config.py +0 -0
  63. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/configurable_model.py +0 -0
  64. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/default_agent_prompt.md +0 -0
  65. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/deploy/__init__.py +0 -0
  66. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/deploy/commands.py +0 -0
  67. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/editor.py +0 -0
  68. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/file_ops.py +0 -0
  69. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/formatting.py +0 -0
  70. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/hooks.py +0 -0
  71. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/input.py +0 -0
  72. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/integrations/__init__.py +0 -0
  73. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/integrations/sandbox_provider.py +0 -0
  74. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/local_context.py +0 -0
  75. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/mcp_tools.py +0 -0
  76. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/mcp_trust.py +0 -0
  77. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/media_utils.py +0 -0
  78. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/output.py +0 -0
  79. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/project_utils.py +0 -0
  80. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/py.typed +0 -0
  81. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/server.py +0 -0
  82. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/server_graph.py +0 -0
  83. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/server_manager.py +0 -0
  84. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/sessions.py +0 -0
  85. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/skills/__init__.py +0 -0
  86. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/skills/commands.py +0 -0
  87. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/skills/invocation.py +0 -0
  88. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/skills/load.py +0 -0
  89. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/subagents.py +0 -0
  90. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/system_prompt.md +0 -0
  91. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/textual_adapter.py +0 -0
  92. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/theme.py +0 -0
  93. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/token_state.py +0 -0
  94. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/tool_display.py +0 -0
  95. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/tools.py +0 -0
  96. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/unicode_security.py +0 -0
  97. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/update_check.py +0 -0
  98. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/__init__.py +0 -0
  99. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/_links.py +0 -0
  100. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/approval.py +0 -0
  101. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/ask_user.py +0 -0
  102. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/autocomplete.py +0 -0
  103. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/chat_input.py +0 -0
  104. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/diff.py +0 -0
  105. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/history.py +0 -0
  106. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/loading.py +0 -0
  107. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/mcp_viewer.py +0 -0
  108. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/message_store.py +0 -0
  109. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/messages.py +0 -0
  110. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/status.py +0 -0
  111. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/tool_renderers.py +0 -0
  112. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/deepagents_cli/widgets/tool_widgets.py +0 -0
  113. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/deploy-content-writer/.env.example +0 -0
  114. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/deploy-content-writer/skills/blog-post/SKILL.md +0 -0
  115. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/deploy-content-writer/skills/social-media/SKILL.md +0 -0
  116. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/deploy-content-writer/user/context.md +0 -0
  117. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/deploy-content-writer/user/preferences.md +0 -0
  118. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/arxiv-search/SKILL.md +0 -0
  119. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/arxiv-search/arxiv_search.py +0 -0
  120. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/langgraph-docs/SKILL.md +0 -0
  121. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/skill-creator/SKILL.md +0 -0
  122. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/skill-creator/scripts/init_skill.py +0 -0
  123. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/skill-creator/scripts/quick_validate.py +0 -0
  124. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/examples/skills/web-research/SKILL.md +0 -0
  125. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/images/cli.png +0 -0
  126. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/scripts/check_imports.py +0 -0
  127. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/scripts/debug_server.sh +0 -0
  128. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/scripts/install.sh +0 -0
  129. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/README.md +0 -0
  130. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/__init__.py +0 -0
  131. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/benchmarks/__init__.py +0 -0
  132. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
  133. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
  134. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/conftest.py +0 -0
  135. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/test_acp_mode.py +0 -0
  136. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/test_compact_resume.py +0 -0
  137. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/test_sandbox_factory.py +0 -0
  138. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/integration_tests/test_sandbox_operations.py +0 -0
  139. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/__init__.py +0 -0
  140. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/conftest.py +0 -0
  141. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/__init__.py +0 -0
  142. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/test_commands.py +0 -0
  143. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/deploy/test_config.py +0 -0
  144. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/skills/__init__.py +0 -0
  145. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/skills/test_commands.py +0 -0
  146. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/skills/test_load.py +0 -0
  147. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/skills/test_skills_json.py +0 -0
  148. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_agent_friendly.py +0 -0
  149. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_approval.py +0 -0
  150. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_ask_user.py +0 -0
  151. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_ask_user_middleware.py +0 -0
  152. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_autocomplete.py +0 -0
  153. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_charset.py +0 -0
  154. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_chat_input.py +0 -0
  155. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_compact_tool.py +0 -0
  156. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_config.py +0 -0
  157. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_configurable_model.py +0 -0
  158. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_debug.py +0 -0
  159. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_editor.py +0 -0
  160. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_end_to_end.py +0 -0
  161. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_env_vars.py +0 -0
  162. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_exception_handling.py +0 -0
  163. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_file_ops.py +0 -0
  164. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_history.py +0 -0
  165. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_hooks.py +0 -0
  166. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_imports.py +0 -0
  167. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_input_parsing.py +0 -0
  168. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_links.py +0 -0
  169. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_loading.py +0 -0
  170. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_local_context.py +0 -0
  171. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_main.py +0 -0
  172. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_main_acp_mode.py +0 -0
  173. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_mcp_tools.py +0 -0
  174. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_mcp_trust.py +0 -0
  175. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_mcp_viewer.py +0 -0
  176. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_media_utils.py +0 -0
  177. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_message_store.py +0 -0
  178. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_messages.py +0 -0
  179. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_model_selector.py +0 -0
  180. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_model_switch.py +0 -0
  181. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_output.py +0 -0
  182. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_reload.py +0 -0
  183. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_remote_client.py +0 -0
  184. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_server.py +0 -0
  185. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_config.py +0 -0
  186. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_graph.py +0 -0
  187. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_helpers.py +0 -0
  188. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_server_manager.py +0 -0
  189. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_sessions.py +0 -0
  190. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_shell_allow_list.py +0 -0
  191. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_skill_invocation.py +0 -0
  192. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_status.py +0 -0
  193. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_subagents.py +0 -0
  194. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_textual_adapter.py +0 -0
  195. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_theme.py +0 -0
  196. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_thread_selector.py +0 -0
  197. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_token_tracker.py +0 -0
  198. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_unicode_security.py +0 -0
  199. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_update_check.py +0 -0
  200. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_version.py +0 -0
  201. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/test_welcome.py +0 -0
  202. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/tools/__init__.py +0 -0
  203. {deepagents_cli-0.0.39 → deepagents_cli-0.0.40}/tests/unit_tests/tools/test_fetch_url.py +0 -0
@@ -1,34 +1,36 @@
1
1
  # Changelog
2
2
 
3
- ## [0.0.39](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.38...deepagents-cli==0.0.39) (2026-04-17)
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
- * **cli:** inline argument hints for slash commands ([#2181](https://github.com/langchain-ai/deepagents/issues/2181)) ([6b58e06](https://github.com/langchain-ai/deepagents/commit/6b58e06b06f6fb360d85c54eac31953d1e47dd7a))
9
- * **cli:** subagents for `deepagents deploy` ([#2786](https://github.com/langchain-ai/deepagents/issues/2786)) ([7dd5565](https://github.com/langchain-ai/deepagents/commit/7dd5565e30ab91a2cd2ca10fcd227e590451f13c))
10
-
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))
11
9
 
12
10
  ### Bug Fixes
13
11
 
14
- * **cli:** 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))
15
-
16
- ## [0.0.38](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.37...deepagents-cli==0.0.38) (2026-04-15)
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))
17
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)
18
15
 
19
16
  ### Features
20
17
 
21
- * **cli:** user scoped memory ([#2708](https://github.com/langchain-ai/deepagents/issues/2708)) ([23bfca6](https://github.com/langchain-ai/deepagents/commit/23bfca6e46e6f3e4fba6657d858ddd5a0b06626f))
22
-
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))
23
20
 
24
21
  ### Bug Fixes
25
22
 
26
- * **deepagents:** remove old integration tests ([#2728](https://github.com/langchain-ai/deepagents/issues/2728)) ([6653197](https://github.com/langchain-ai/deepagents/commit/6653197b6cbec6dd1ca23d9f90bc1439ca26e6e5))
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
27
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))
28
30
 
29
31
  ### Performance Improvements
30
32
 
31
- * **cli:** `O(1)` message lookups in `MessageStore` ([#2350](https://github.com/langchain-ai/deepagents/issues/2350)) ([d39fd5d](https://github.com/langchain-ai/deepagents/commit/d39fd5d3651fd87d1eea8c02cbef2c2f62449e67))
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))
32
34
 
33
35
  ## [0.0.37](https://github.com/langchain-ai/deepagents/compare/deepagents-cli==0.0.36...deepagents-cli==0.0.37) (2026-04-10)
34
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepagents-cli
3
- Version: 0.0.39
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.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.39" # x-release-please-version
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