deepagents-cli 0.0.51__tar.gz → 0.0.52a3__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 (286) hide show
  1. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/PKG-INFO +27 -27
  2. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_env_vars.py +23 -0
  3. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_version.py +1 -1
  4. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/app.py +84 -93
  5. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/config.py +4 -0
  6. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/hooks.py +3 -0
  7. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/integrations/sandbox_factory.py +1 -1
  8. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/local_context.py +1 -0
  9. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/remote_client.py +18 -2
  10. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/status.py +16 -2
  11. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/welcome.py +45 -13
  12. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/pyproject.toml +23 -20
  13. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/test_compact_resume.py +14 -35
  14. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_app.py +114 -36
  15. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_charset.py +14 -0
  16. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_offload.py +16 -24
  17. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_offload_dict_messages.py +3 -4
  18. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_status.py +51 -0
  19. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_theme.py +78 -0
  20. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_welcome.py +126 -0
  21. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/uv.lock +167 -103
  22. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/.gitignore +0 -0
  23. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/CHANGELOG.md +0 -0
  24. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/DEV.md +0 -0
  25. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/Makefile +0 -0
  26. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/README.md +0 -0
  27. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/THREAT_MODEL.md +0 -0
  28. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/__init__.py +0 -0
  29. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/__main__.py +0 -0
  30. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_ask_user_types.py +0 -0
  31. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_cli_context.py +0 -0
  32. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_constants.py +0 -0
  33. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_debug.py +0 -0
  34. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_git.py +0 -0
  35. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_server_config.py +0 -0
  36. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_session_stats.py +0 -0
  37. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_testing_models.py +0 -0
  38. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/_textual_patches.py +0 -0
  39. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/agent.py +0 -0
  40. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/app.tcss +0 -0
  41. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/ask_user.py +0 -0
  42. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/auth_store.py +0 -0
  43. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/built_in_skills/__init__.py +0 -0
  44. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/built_in_skills/remember/SKILL.md +0 -0
  45. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/built_in_skills/skill-creator/SKILL.md +0 -0
  46. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
  47. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
  48. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/clipboard.py +0 -0
  49. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/command_registry.py +0 -0
  50. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/configurable_model.py +0 -0
  51. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/default_agent_prompt.md +0 -0
  52. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/__init__.py +0 -0
  53. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/bundler.py +0 -0
  54. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/commands.py +0 -0
  55. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/config.py +0 -0
  56. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/assets/anonymous-B9UzAXQd.js +0 -0
  57. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/assets/clerk-5xHgyQyG.js +0 -0
  58. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/assets/highlighted-body-OFNGDK62-rX-7qT8o.js +0 -0
  59. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/assets/index-DM3gptpu.js +0 -0
  60. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/assets/index-Ddy7F6KI.css +0 -0
  61. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/assets/supabase-S6NACDgm.js +0 -0
  62. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/index.html +0 -0
  63. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/logo-dark.svg +0 -0
  64. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/frontend_dist/logo-light.svg +0 -0
  65. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/deploy/templates.py +0 -0
  66. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/editor.py +0 -0
  67. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/extras_info.py +0 -0
  68. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/file_ops.py +0 -0
  69. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/formatting.py +0 -0
  70. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/input.py +0 -0
  71. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/integrations/__init__.py +0 -0
  72. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/integrations/sandbox_provider.py +0 -0
  73. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/main.py +0 -0
  74. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_auth.py +0 -0
  75. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_commands.py +0 -0
  76. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_providers/__init__.py +0 -0
  77. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_providers/_registry.py +0 -0
  78. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_providers/base.py +0 -0
  79. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_providers/github.py +0 -0
  80. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_providers/slack.py +0 -0
  81. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_tools.py +0 -0
  82. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/mcp_trust.py +0 -0
  83. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/media_utils.py +0 -0
  84. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/model_config.py +0 -0
  85. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/non_interactive.py +0 -0
  86. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/notifications.py +0 -0
  87. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/offload.py +0 -0
  88. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/onboarding.py +0 -0
  89. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/output.py +0 -0
  90. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/project_utils.py +0 -0
  91. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/py.typed +0 -0
  92. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/server.py +0 -0
  93. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/server_graph.py +0 -0
  94. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/server_manager.py +0 -0
  95. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/sessions.py +0 -0
  96. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/skills/__init__.py +0 -0
  97. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/skills/commands.py +0 -0
  98. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/skills/invocation.py +0 -0
  99. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/skills/load.py +0 -0
  100. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/state_migration.py +0 -0
  101. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/subagents.py +0 -0
  102. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/system_prompt.md +0 -0
  103. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/terminal_capabilities.py +0 -0
  104. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/textual_adapter.py +0 -0
  105. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/theme.py +0 -0
  106. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/token_state.py +0 -0
  107. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/tool_display.py +0 -0
  108. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/tools.py +0 -0
  109. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/ui.py +0 -0
  110. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/unicode_security.py +0 -0
  111. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/update_check.py +0 -0
  112. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/__init__.py +0 -0
  113. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/_links.py +0 -0
  114. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/agent_selector.py +0 -0
  115. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/approval.py +0 -0
  116. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/ask_user.py +0 -0
  117. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/auth.py +0 -0
  118. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/autocomplete.py +0 -0
  119. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/chat_input.py +0 -0
  120. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/diff.py +0 -0
  121. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/history.py +0 -0
  122. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/launch_init.py +0 -0
  123. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/loading.py +0 -0
  124. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/mcp_viewer.py +0 -0
  125. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/message_store.py +0 -0
  126. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/messages.py +0 -0
  127. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/model_selector.py +0 -0
  128. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/notification_center.py +0 -0
  129. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/notification_detail.py +0 -0
  130. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/notification_settings.py +0 -0
  131. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/theme_selector.py +0 -0
  132. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/thread_selector.py +0 -0
  133. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/tool_renderers.py +0 -0
  134. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/tool_widgets.py +0 -0
  135. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/deepagents_cli/widgets/update_available.py +0 -0
  136. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/deploy-content-writer/.env.example +0 -0
  137. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/deploy-content-writer/skills/blog-post/SKILL.md +0 -0
  138. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/deploy-content-writer/skills/social-media/SKILL.md +0 -0
  139. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/deploy-content-writer/user/context.md +0 -0
  140. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/deploy-content-writer/user/preferences.md +0 -0
  141. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/arxiv-search/SKILL.md +0 -0
  142. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/arxiv-search/arxiv_search.py +0 -0
  143. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/langgraph-docs/SKILL.md +0 -0
  144. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/skill-creator/SKILL.md +0 -0
  145. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/skill-creator/scripts/init_skill.py +0 -0
  146. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/skill-creator/scripts/quick_validate.py +0 -0
  147. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/examples/skills/web-research/SKILL.md +0 -0
  148. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/.nvmrc +0 -0
  149. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/index.html +0 -0
  150. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/package-lock.json +0 -0
  151. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/package.json +0 -0
  152. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/postcss.config.js +0 -0
  153. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/public/logo-dark.svg +0 -0
  154. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/public/logo-light.svg +0 -0
  155. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/App.tsx +0 -0
  156. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/ThemeProvider.tsx +0 -0
  157. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/auth/anonymous.tsx +0 -0
  158. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/auth/clerk.tsx +0 -0
  159. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/auth/loader.tsx +0 -0
  160. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/auth/supabase.tsx +0 -0
  161. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/auth/types.ts +0 -0
  162. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/AppHeader.tsx +0 -0
  163. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/FilePanels.tsx +0 -0
  164. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/MessageList.tsx +0 -0
  165. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/SubagentActivity.tsx +0 -0
  166. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/ThreadPicker.tsx +0 -0
  167. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/TodosPanel.tsx +0 -0
  168. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/ToolCallCard.tsx +0 -0
  169. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/toolcalls/FileToolCard.tsx +0 -0
  170. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/toolcalls/SearchCard.tsx +0 -0
  171. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/toolcalls/ThinkCard.tsx +0 -0
  172. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/toolcalls/TodosCard.tsx +0 -0
  173. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/components/toolcalls/index.ts +0 -0
  174. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/constants.ts +0 -0
  175. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/index.css +0 -0
  176. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/main.tsx +0 -0
  177. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/runtimeConfig.ts +0 -0
  178. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/types.ts +0 -0
  179. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/src/vite-env.d.ts +0 -0
  180. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/tsconfig.json +0 -0
  181. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/frontend/vite.config.ts +0 -0
  182. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/images/cli.png +0 -0
  183. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/scripts/check_imports.py +0 -0
  184. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/scripts/debug_server.sh +0 -0
  185. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/scripts/install.sh +0 -0
  186. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/README.md +0 -0
  187. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/__init__.py +0 -0
  188. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/benchmarks/__init__.py +0 -0
  189. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
  190. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
  191. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/conftest.py +0 -0
  192. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/test_acp_mode.py +0 -0
  193. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/test_sandbox_factory.py +0 -0
  194. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/integration_tests/test_sandbox_operations.py +0 -0
  195. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/__init__.py +0 -0
  196. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/conftest.py +0 -0
  197. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/deploy/__init__.py +0 -0
  198. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/deploy/test_bundler.py +0 -0
  199. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/deploy/test_commands.py +0 -0
  200. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/deploy/test_config.py +0 -0
  201. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/deploy/test_frontend_bundle.py +0 -0
  202. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/deploy/test_frontend_config.py +0 -0
  203. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/skills/__init__.py +0 -0
  204. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/skills/test_commands.py +0 -0
  205. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/skills/test_load.py +0 -0
  206. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/skills/test_skills_json.py +0 -0
  207. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_agent.py +0 -0
  208. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_agent_friendly.py +0 -0
  209. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_agent_selector.py +0 -0
  210. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_approval.py +0 -0
  211. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_args.py +0 -0
  212. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_ask_user.py +0 -0
  213. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_ask_user_middleware.py +0 -0
  214. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_auth_store.py +0 -0
  215. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_auth_widgets.py +0 -0
  216. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_autocomplete.py +0 -0
  217. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_chat_input.py +0 -0
  218. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_command_registry.py +0 -0
  219. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_compact_tool.py +0 -0
  220. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_config.py +0 -0
  221. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_configurable_model.py +0 -0
  222. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_debug.py +0 -0
  223. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_editor.py +0 -0
  224. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_end_to_end.py +0 -0
  225. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_env_vars.py +0 -0
  226. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_exception_handling.py +0 -0
  227. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_extras_info.py +0 -0
  228. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_file_ops.py +0 -0
  229. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_formatting.py +0 -0
  230. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_git.py +0 -0
  231. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_history.py +0 -0
  232. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_hooks.py +0 -0
  233. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_imports.py +0 -0
  234. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_input_parsing.py +0 -0
  235. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_launch_init.py +0 -0
  236. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_links.py +0 -0
  237. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_loading.py +0 -0
  238. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_local_context.py +0 -0
  239. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_main.py +0 -0
  240. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_main_acp_mode.py +0 -0
  241. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_main_args.py +0 -0
  242. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_mcp_auth.py +0 -0
  243. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_mcp_commands.py +0 -0
  244. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_mcp_tools.py +0 -0
  245. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_mcp_trust.py +0 -0
  246. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_mcp_viewer.py +0 -0
  247. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_media_utils.py +0 -0
  248. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_message_store.py +0 -0
  249. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_messages.py +0 -0
  250. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_model_config.py +0 -0
  251. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_model_selector.py +0 -0
  252. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_model_switch.py +0 -0
  253. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_non_interactive.py +0 -0
  254. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_notification_center.py +0 -0
  255. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_notification_detail.py +0 -0
  256. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_notifications.py +0 -0
  257. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_onboarding.py +0 -0
  258. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_output.py +0 -0
  259. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_reload.py +0 -0
  260. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_remote_client.py +0 -0
  261. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_sandbox_factory.py +0 -0
  262. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_server.py +0 -0
  263. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_server_config.py +0 -0
  264. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_server_graph.py +0 -0
  265. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_server_helpers.py +0 -0
  266. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_server_manager.py +0 -0
  267. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_session_stats.py +0 -0
  268. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_sessions.py +0 -0
  269. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_shell_allow_list.py +0 -0
  270. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_skill_invocation.py +0 -0
  271. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_startup_fast_paths.py +0 -0
  272. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_state_migration.py +0 -0
  273. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_subagents.py +0 -0
  274. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_terminal_capabilities.py +0 -0
  275. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_textual_adapter.py +0 -0
  276. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_textual_patches.py +0 -0
  277. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_thread_selector.py +0 -0
  278. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_token_tracker.py +0 -0
  279. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_tool_display.py +0 -0
  280. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_ui.py +0 -0
  281. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_unicode_security.py +0 -0
  282. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_update_available.py +0 -0
  283. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_update_check.py +0 -0
  284. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/test_version.py +0 -0
  285. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/tools/__init__.py +0 -0
  286. {deepagents_cli-0.0.51 → deepagents_cli-0.0.52a3}/tests/unit_tests/tools/test_fetch_url.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepagents-cli
3
- Version: 0.0.51
3
+ Version: 0.0.52a3
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,19 +27,19 @@ Classifier: Topic :: Terminals
27
27
  Requires-Python: <4.0,>=3.11
28
28
  Requires-Dist: aiosqlite<1.0.0,>=0.19.0
29
29
  Requires-Dist: deepagents-acp>=0.0.4
30
- Requires-Dist: deepagents==0.5.7
30
+ Requires-Dist: deepagents==0.6.0a3
31
31
  Requires-Dist: httpx<1.0.0,>=0.28.1
32
- Requires-Dist: langchain-anthropic<2.0.0,>=1.4.3
32
+ Requires-Dist: langchain-anthropic<2.0.0,>=1.4.2
33
33
  Requires-Dist: langchain-google-genai<5.0.0,>=4.2.2
34
34
  Requires-Dist: langchain-mcp-adapters<1.0.0,>=0.2.2
35
35
  Requires-Dist: langchain-openai<2.0.0,>=1.2.1
36
- Requires-Dist: langchain<2.0.0,>=1.2.17
37
- Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.0.3
38
- Requires-Dist: langgraph-cli[inmem]<1.0.0,>=0.4.24
39
- Requires-Dist: langgraph-prebuilt<2.0.0,>=1.0.13
40
- Requires-Dist: langgraph-sdk<1.0.0,>=0.3.13
41
- Requires-Dist: langgraph<2.0.0,>=1.1.10
42
- Requires-Dist: langsmith[sandbox]>=0.8.0
36
+ Requires-Dist: langchain<2.0.0,>=1.3.0a2
37
+ Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.1.0a1
38
+ Requires-Dist: langgraph-cli[inmem]<1.0.0,>=0.4.15
39
+ Requires-Dist: langgraph-runtime-inmem<1.0.0,>=0.28.1
40
+ Requires-Dist: langgraph-sdk<1.0.0,>=0.3.11
41
+ Requires-Dist: langgraph<2.0.0,>=1.2.0a7
42
+ Requires-Dist: langsmith[sandbox]>=0.7.32
43
43
  Requires-Dist: markdownify<2.0.0,>=0.13.0
44
44
  Requires-Dist: packaging>=23.0
45
45
  Requires-Dist: pillow<13.0.0,>=10.0.0
@@ -48,9 +48,9 @@ Requires-Dist: pyperclip<2.0.0,>=1.11.0
48
48
  Requires-Dist: python-dotenv<2.0.0,>=1.0.0
49
49
  Requires-Dist: pyyaml>=6.0.0
50
50
  Requires-Dist: requests<3.0.0,>=2.0.0
51
- Requires-Dist: rich<16.0.0,>=15.0.0
52
- Requires-Dist: tavily-python<1.0.0,>=0.7.24
53
- Requires-Dist: textual-autocomplete<5.0.0,>=4.0.6
51
+ Requires-Dist: rich<15.0.0,>=14.0.0
52
+ Requires-Dist: tavily-python<1.0.0,>=0.7.21
53
+ Requires-Dist: textual-autocomplete<5.0.0,>=3.0.0
54
54
  Requires-Dist: textual-speedups<1.0.0,>=0.2.1
55
55
  Requires-Dist: textual<9.0.0,>=8.2.5
56
56
  Requires-Dist: tomli-w<2.0.0,>=1.0.0
@@ -58,24 +58,24 @@ Requires-Dist: uuid-utils<1.0.0,>=0.10.0
58
58
  Provides-Extra: agentcore
59
59
  Requires-Dist: langchain-agentcore-codeinterpreter>=0.0.2; extra == 'agentcore'
60
60
  Provides-Extra: all-providers
61
- Requires-Dist: langchain-anthropic<2.0.0,>=1.4.3; extra == 'all-providers'
62
- Requires-Dist: langchain-aws<2.0.0,>=1.4.6; extra == 'all-providers'
61
+ Requires-Dist: langchain-anthropic<2.0.0,>=1.4.2; extra == 'all-providers'
62
+ Requires-Dist: langchain-aws<2.0.0,>=1.4.5; extra == 'all-providers'
63
63
  Requires-Dist: langchain-baseten<1.0.0,>=0.2.0; extra == 'all-providers'
64
64
  Requires-Dist: langchain-cohere<1.0.0,>=0.5.1; extra == 'all-providers'
65
65
  Requires-Dist: langchain-deepseek<2.0.0,>=1.0.1; extra == 'all-providers'
66
- Requires-Dist: langchain-fireworks<2.0.0,>=1.3.1; extra == 'all-providers'
66
+ Requires-Dist: langchain-fireworks<2.0.0,>=1.2.0; extra == 'all-providers'
67
67
  Requires-Dist: langchain-google-genai<5.0.0,>=4.2.2; extra == 'all-providers'
68
- Requires-Dist: langchain-google-vertexai<4.0.0,>=3.2.3; extra == 'all-providers'
68
+ Requires-Dist: langchain-google-vertexai<4.0.0,>=3.2.2; extra == 'all-providers'
69
69
  Requires-Dist: langchain-groq<2.0.0,>=1.1.2; extra == 'all-providers'
70
70
  Requires-Dist: langchain-huggingface<2.0.0,>=1.2.2; extra == 'all-providers'
71
71
  Requires-Dist: langchain-ibm<2.0.0,>=1.0.7; extra == 'all-providers'
72
72
  Requires-Dist: langchain-litellm<2.0.0,>=0.6.4; extra == 'all-providers'
73
- Requires-Dist: langchain-mistralai<2.0.0,>=1.1.4; extra == 'all-providers'
73
+ Requires-Dist: langchain-mistralai<2.0.0,>=1.1.2; extra == 'all-providers'
74
74
  Requires-Dist: langchain-nvidia-ai-endpoints<2.0.0,>=1.2.1; extra == 'all-providers'
75
75
  Requires-Dist: langchain-ollama<2.0.0,>=1.1.0; extra == 'all-providers'
76
76
  Requires-Dist: langchain-openai<2.0.0,>=1.2.1; extra == 'all-providers'
77
- Requires-Dist: langchain-openrouter<2.0.0,>=0.2.3; extra == 'all-providers'
78
- Requires-Dist: langchain-perplexity<2.0.0,>=1.2.0; extra == 'all-providers'
77
+ Requires-Dist: langchain-openrouter<2.0.0,>=0.2.1; extra == 'all-providers'
78
+ Requires-Dist: langchain-perplexity<2.0.0,>=1.1.0; extra == 'all-providers'
79
79
  Requires-Dist: langchain-xai<2.0.0,>=1.2.2; extra == 'all-providers'
80
80
  Provides-Extra: all-sandboxes
81
81
  Requires-Dist: langchain-agentcore-codeinterpreter>=0.0.2; extra == 'all-sandboxes'
@@ -83,11 +83,11 @@ Requires-Dist: langchain-daytona>=0.0.5; extra == 'all-sandboxes'
83
83
  Requires-Dist: langchain-modal>=0.0.3; extra == 'all-sandboxes'
84
84
  Requires-Dist: langchain-runloop>=0.0.4; extra == 'all-sandboxes'
85
85
  Provides-Extra: anthropic
86
- Requires-Dist: langchain-anthropic<2.0.0,>=1.4.3; extra == 'anthropic'
86
+ Requires-Dist: langchain-anthropic<2.0.0,>=1.4.2; 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
90
- Requires-Dist: langchain-aws<2.0.0,>=1.4.6; extra == 'bedrock'
90
+ Requires-Dist: langchain-aws<2.0.0,>=1.4.5; extra == 'bedrock'
91
91
  Provides-Extra: cohere
92
92
  Requires-Dist: langchain-cohere<1.0.0,>=0.5.1; extra == 'cohere'
93
93
  Provides-Extra: daytona
@@ -95,7 +95,7 @@ Requires-Dist: langchain-daytona>=0.0.5; extra == 'daytona'
95
95
  Provides-Extra: deepseek
96
96
  Requires-Dist: langchain-deepseek<2.0.0,>=1.0.1; extra == 'deepseek'
97
97
  Provides-Extra: fireworks
98
- Requires-Dist: langchain-fireworks<2.0.0,>=1.3.1; extra == 'fireworks'
98
+ Requires-Dist: langchain-fireworks<2.0.0,>=1.2.0; extra == 'fireworks'
99
99
  Provides-Extra: google-genai
100
100
  Requires-Dist: langchain-google-genai<5.0.0,>=4.2.2; extra == 'google-genai'
101
101
  Provides-Extra: groq
@@ -107,7 +107,7 @@ Requires-Dist: langchain-ibm<2.0.0,>=1.0.7; extra == 'ibm'
107
107
  Provides-Extra: litellm
108
108
  Requires-Dist: langchain-litellm<2.0.0,>=0.6.4; extra == 'litellm'
109
109
  Provides-Extra: mistralai
110
- Requires-Dist: langchain-mistralai<2.0.0,>=1.1.4; extra == 'mistralai'
110
+ Requires-Dist: langchain-mistralai<2.0.0,>=1.1.2; extra == 'mistralai'
111
111
  Provides-Extra: modal
112
112
  Requires-Dist: langchain-modal>=0.0.3; extra == 'modal'
113
113
  Provides-Extra: nvidia
@@ -117,13 +117,13 @@ Requires-Dist: langchain-ollama<2.0.0,>=1.1.0; extra == 'ollama'
117
117
  Provides-Extra: openai
118
118
  Requires-Dist: langchain-openai<2.0.0,>=1.2.1; extra == 'openai'
119
119
  Provides-Extra: openrouter
120
- Requires-Dist: langchain-openrouter<2.0.0,>=0.2.3; extra == 'openrouter'
120
+ Requires-Dist: langchain-openrouter<2.0.0,>=0.2.1; extra == 'openrouter'
121
121
  Provides-Extra: perplexity
122
- Requires-Dist: langchain-perplexity<2.0.0,>=1.2.0; extra == 'perplexity'
122
+ Requires-Dist: langchain-perplexity<2.0.0,>=1.1.0; extra == 'perplexity'
123
123
  Provides-Extra: runloop
124
124
  Requires-Dist: langchain-runloop>=0.0.4; extra == 'runloop'
125
125
  Provides-Extra: vertexai
126
- Requires-Dist: langchain-google-vertexai<4.0.0,>=3.2.3; extra == 'vertexai'
126
+ Requires-Dist: langchain-google-vertexai<4.0.0,>=3.2.2; extra == 'vertexai'
127
127
  Provides-Extra: xai
128
128
  Requires-Dist: langchain-xai<2.0.0,>=1.2.2; extra == 'xai'
129
129
  Description-Content-Type: text/markdown
@@ -33,6 +33,11 @@ import os
33
33
  AUTO_UPDATE = "DEEPAGENTS_CLI_AUTO_UPDATE"
34
34
  """Enable automatic CLI updates ('1', 'true', or 'yes')."""
35
35
 
36
+ DANGEROUSLY_OVERRIDE_STARTUP_SUBHEADER = (
37
+ "DEEPAGENTS_CLI_DANGEROUSLY_OVERRIDE_STARTUP_SUBHEADER"
38
+ )
39
+ """Override the startup splash subheader text when set."""
40
+
36
41
  DEBUG = "DEEPAGENTS_CLI_DEBUG"
37
42
  """Enable verbose debug logging and preserve the server subprocess log.
38
43
 
@@ -62,6 +67,21 @@ real PyPI release. Any non-empty value enables the flag (including `"0"` or
62
67
  EXTRA_SKILLS_DIRS = "DEEPAGENTS_CLI_EXTRA_SKILLS_DIRS"
63
68
  """Colon-separated paths added to the skill containment allowlist."""
64
69
 
70
+ HIDE_CWD = "DEEPAGENTS_CLI_HIDE_CWD"
71
+ """Hide local path displays in the TUI footer and startup splash when enabled."""
72
+
73
+ HIDE_GIT_BRANCH = "DEEPAGENTS_CLI_HIDE_GIT_BRANCH"
74
+ """Hide the current git branch in the TUI footer when enabled."""
75
+
76
+ HIDE_LANGSMITH_TRACING = "DEEPAGENTS_CLI_HIDE_LANGSMITH_TRACING"
77
+ """Hide LangSmith tracing project/thread info in the startup splash when enabled."""
78
+
79
+ HIDE_SPLASH_TIPS = "DEEPAGENTS_CLI_HIDE_SPLASH_TIPS"
80
+ """Hide rotating tips in the startup splash when enabled."""
81
+
82
+ HIDE_SPLASH_VERSION = "DEEPAGENTS_CLI_HIDE_SPLASH_VERSION"
83
+ """Hide version and local-install details in the splash screen when enabled."""
84
+
65
85
  KITTY_KEYBOARD = "DEEPAGENTS_CLI_KITTY_KEYBOARD"
66
86
  """Override kitty-keyboard detection (`1` forces on, `0` forces off)."""
67
87
 
@@ -77,6 +97,9 @@ SERVER_ENV_PREFIX = "DEEPAGENTS_CLI_SERVER_"
77
97
  SHELL_ALLOW_LIST = "DEEPAGENTS_CLI_SHELL_ALLOW_LIST"
78
98
  """Comma-separated shell commands to allow (or 'recommended'/'all')."""
79
99
 
100
+ THEME = "DEEPAGENTS_CLI_THEME"
101
+ """Force the CLI to launch with this theme name when set."""
102
+
80
103
  USER_ID = "DEEPAGENTS_CLI_USER_ID"
81
104
  """Attach a user identifier to LangSmith trace metadata."""
82
105
 
@@ -1,6 +1,6 @@
1
1
  """Version information and lightweight constants for `deepagents-cli`."""
2
2
 
3
- __version__ = "0.0.51" # x-release-please-version
3
+ __version__ = "0.0.52a3" # 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."""
@@ -182,11 +182,32 @@ if _IS_ITERM:
182
182
 
183
183
 
184
184
  def _load_theme_preference() -> str:
185
- """Load the saved theme name from config, or return the default.
185
+ """Load the forced or saved theme name, or return the default.
186
186
 
187
187
  Returns:
188
188
  A Textual theme name (e.g., `'langchain'`, `'langchain-light'`).
189
189
  """
190
+ from deepagents_cli._env_vars import THEME
191
+
192
+ env_name = os.environ.get(THEME)
193
+ if env_name is not None:
194
+ name = env_name.strip()
195
+ registry = theme.get_registry()
196
+ if name in registry:
197
+ return name
198
+ for registered, entry in registry.items():
199
+ if (
200
+ registered.casefold() == name.casefold()
201
+ or entry.label.casefold() == name.casefold()
202
+ ):
203
+ return registered
204
+ logger.warning(
205
+ "Unknown theme '%s' in %s; falling back to default",
206
+ env_name,
207
+ THEME,
208
+ )
209
+ return theme.DEFAULT_THEME
210
+
190
211
  import tomllib
191
212
 
192
213
  try:
@@ -829,6 +850,11 @@ class DeepAgentsApp(App):
829
850
  during background startup.
830
851
  """
831
852
 
853
+ self._resume_thread_resolved_event = asyncio.Event()
854
+ """Set once `-r` resume resolution has completed or is unnecessary."""
855
+ if resume_thread is None:
856
+ self._resume_thread_resolved_event.set()
857
+
832
858
  self._initial_prompt = initial_prompt
833
859
  """Prompt to auto-submit after first paint (from `-m`)."""
834
860
 
@@ -1174,7 +1200,7 @@ class DeepAgentsApp(App):
1174
1200
  - The agent is a local `Pregel` graph (e.g. ACP mode, test harnesses).
1175
1201
 
1176
1202
  Used to gate features that require a server-backed agent (e.g. model
1177
- switching via `ConfigurableModelMiddleware`, checkpointer fallback).
1203
+ switching via `ConfigurableModelMiddleware`, thread registration).
1178
1204
  Checks the agent type rather than server ownership so this works for
1179
1205
  both CLI-spawned servers and externally managed ones.
1180
1206
 
@@ -1249,7 +1275,8 @@ class DeepAgentsApp(App):
1249
1275
  connecting=self._connecting,
1250
1276
  resuming=self._resume_thread_intent is not None,
1251
1277
  local_server=self._server_kwargs is not None,
1252
- defer_connecting_display=self._connecting,
1278
+ defer_connecting_display=self._connecting
1279
+ and self._resume_thread_intent is None,
1253
1280
  id="welcome-banner",
1254
1281
  )
1255
1282
  yield Container(id="messages")
@@ -1728,15 +1755,15 @@ class DeepAgentsApp(App):
1728
1755
  thread_exists,
1729
1756
  )
1730
1757
 
1731
- resume = self._resume_thread_intent
1732
- self._resume_thread_intent = None # consumed
1758
+ try:
1759
+ resume = self._resume_thread_intent
1760
+ self._resume_thread_intent = None # consumed
1733
1761
 
1734
- if not resume:
1735
- return
1762
+ if not resume:
1763
+ return
1736
1764
 
1737
- default_agent = DEFAULT_ASSISTANT_ID
1765
+ default_agent = DEFAULT_ASSISTANT_ID
1738
1766
 
1739
- try:
1740
1767
  if resume == "__MOST_RECENT__":
1741
1768
  agent_filter = (
1742
1769
  self._assistant_id if self._assistant_id != default_agent else None
@@ -1779,6 +1806,8 @@ class DeepAgentsApp(App):
1779
1806
  "Could not look up thread history. Starting new session.",
1780
1807
  severity="warning",
1781
1808
  )
1809
+ finally:
1810
+ self._resume_thread_resolved_event.set()
1782
1811
 
1783
1812
  # Update session state if ready (may still be initializing in a
1784
1813
  # concurrent worker)
@@ -2062,15 +2091,24 @@ class DeepAgentsApp(App):
2062
2091
  LangChain from the event-loop thread while it's still running can
2063
2092
  race on partially-initialized module locks.
2064
2093
 
2065
- `CancelledError` propagates so app shutdown isn't silently absorbed.
2094
+ `asyncio.CancelledError` propagates so app shutdown isn't silently
2095
+ absorbed. `WorkerCancelled` and `WorkerFailed` (both `Exception`
2096
+ subclasses, distinct from `CancelledError`) are caught: prewarm is a
2097
+ cache optimization, so a cancelled or failed worker just means the
2098
+ next inline import is a cold load instead of a dict lookup.
2066
2099
  """
2067
- from textual.worker import WorkerFailed
2100
+ from textual.worker import WorkerCancelled, WorkerFailed
2068
2101
 
2069
2102
  worker = self._prewarm_worker
2070
2103
  if worker is None:
2071
2104
  return
2072
2105
  try:
2073
2106
  await worker.wait()
2107
+ except WorkerCancelled:
2108
+ # Cancellation is benign here: app shutdown or another exclusive
2109
+ # worker in the same group displaced the prewarm. The subsequent
2110
+ # inline imports will still succeed — just without the warm-up.
2111
+ logger.debug("Import prewarm worker was cancelled", exc_info=True)
2074
2112
  except WorkerFailed:
2075
2113
  # Prewarm body best-efforts third-party imports and already
2076
2114
  # warns; logging at WARNING here surfaces unexpected failures
@@ -3473,6 +3511,24 @@ class DeepAgentsApp(App):
3473
3511
  AppMessage(Content.from_markup("Welcome, $name.", name=name))
3474
3512
  )
3475
3513
 
3514
+ @staticmethod
3515
+ def _dispatch_launch_name_hook(name: str, assistant_id: str) -> None:
3516
+ """Fire the onboarding name hook for external integrations.
3517
+
3518
+ Args:
3519
+ name: Submitted user name.
3520
+ assistant_id: Agent identifier associated with the submitted name.
3521
+ """
3522
+ from deepagents_cli.hooks import dispatch_hook_fire_and_forget
3523
+
3524
+ dispatch_hook_fire_and_forget(
3525
+ "user.name.set",
3526
+ {
3527
+ "name": name,
3528
+ "assistant_id": assistant_id,
3529
+ },
3530
+ )
3531
+
3476
3532
  async def _mark_onboarding_complete(self) -> None:
3477
3533
  """Persist that first-run onboarding should not be shown again.
3478
3534
 
@@ -3499,7 +3555,9 @@ class DeepAgentsApp(App):
3499
3555
  """
3500
3556
  from deepagents_cli.onboarding import write_onboarding_name_memory
3501
3557
 
3558
+ await self._resume_thread_resolved_event.wait()
3502
3559
  assistant_id = self._assistant_id or DEFAULT_ASSISTANT_ID
3560
+ self._dispatch_launch_name_hook(name, assistant_id)
3503
3561
  ok = await asyncio.to_thread(write_onboarding_name_memory, name, assistant_id)
3504
3562
  if not ok:
3505
3563
  self.notify(
@@ -4645,9 +4703,6 @@ class DeepAgentsApp(App):
4645
4703
  if result.offload_warning:
4646
4704
  await self._mount_message(ErrorMessage(result.offload_warning))
4647
4705
 
4648
- if remote := self._remote_agent():
4649
- await remote.aensure_thread(config) # ty: ignore[invalid-argument-type]
4650
-
4651
4706
  await self._agent.aupdate_state(
4652
4707
  config, {"_summarization_event": result.new_event}
4653
4708
  )
@@ -4985,12 +5040,14 @@ class DeepAgentsApp(App):
4985
5040
  return result
4986
5041
 
4987
5042
  async def _get_thread_state_values(self, thread_id: str) -> dict[str, Any]:
4988
- """Fetch thread state values, with remote checkpointer fallback.
5043
+ """Fetch thread state values for a thread.
4989
5044
 
4990
- In server mode the LangGraph dev server can report an empty thread state
4991
- after a restart even when checkpoints exist on disk. When that happens,
4992
- read the latest checkpoint directly so resumed threads can still load
4993
- history and offload correctly.
5045
+ In server mode the LangGraph dev server starts with an empty in-memory
5046
+ thread store, so `aget_state` returns empty state for any thread that
5047
+ was not registered in the current server session. Calling
5048
+ `aensure_thread` first registers the thread idempotently so the
5049
+ subsequent `aget_state` call can read from the checkpointer correctly,
5050
+ including proper reconstruction of delta channels.
4994
5051
 
4995
5052
  Args:
4996
5053
  thread_id: Thread ID to fetch from checkpoint storage.
@@ -5003,46 +5060,20 @@ class DeepAgentsApp(App):
5003
5060
  return {}
5004
5061
 
5005
5062
  config: RunnableConfig = {"configurable": {"thread_id": thread_id}}
5006
- state = await self._agent.aget_state(config)
5063
+ remote_config: dict[str, Any] = {"configurable": {"thread_id": thread_id}}
5007
5064
 
5008
- values: dict[str, Any] = {}
5009
- if state and state.values:
5010
- values = dict(state.values)
5065
+ if remote := self._remote_agent():
5066
+ await remote.aensure_thread(remote_config)
5011
5067
 
5012
- messages = values.get("messages")
5013
- if isinstance(messages, list) and messages:
5014
- return values
5015
- if not self._remote_agent():
5016
- return values
5068
+ state = await self._agent.aget_state(config)
5017
5069
 
5018
- logger.debug(
5019
- "Remote state empty for thread %s; falling back to local checkpointer",
5020
- thread_id,
5021
- )
5022
- fallback_values = await self._read_channel_values_from_checkpointer(thread_id)
5023
- fallback_messages = fallback_values.get("messages")
5024
- if isinstance(fallback_messages, list) and fallback_messages:
5025
- values["messages"] = fallback_messages
5026
- if (
5027
- values.get("_summarization_event") is None
5028
- and "_summarization_event" in fallback_values
5029
- ):
5030
- values["_summarization_event"] = fallback_values["_summarization_event"]
5031
- if (
5032
- values.get("_context_tokens") is None
5033
- and "_context_tokens" in fallback_values
5034
- ):
5035
- values["_context_tokens"] = fallback_values["_context_tokens"]
5036
- return values
5070
+ if state and state.values:
5071
+ return dict(state.values)
5072
+ return {}
5037
5073
 
5038
5074
  async def _fetch_thread_history_data(self, thread_id: str) -> _ThreadHistoryPayload:
5039
5075
  """Fetch and convert stored messages for a thread.
5040
5076
 
5041
- In server mode the LangGraph dev server starts with an empty thread
5042
- store, so `aget_state` via the HTTP API returns no messages even when
5043
- checkpoints exist on disk. We fall back to reading the SQLite
5044
- checkpointer directly to guarantee resumed threads load their history.
5045
-
5046
5077
  Args:
5047
5078
  thread_id: Thread ID to fetch from checkpoint storage.
5048
5079
 
@@ -5060,10 +5091,8 @@ class DeepAgentsApp(App):
5060
5091
  if not messages:
5061
5092
  return _ThreadHistoryPayload([], context_tokens)
5062
5093
 
5063
- # Server mode / direct checkpointer may return dicts; convert to
5094
+ # RemoteGraph.aget_state returns values as raw JSON dicts; convert to
5064
5095
  # LangChain message objects so _convert_messages_to_data works.
5065
- # `any(...)` guards against heterogeneous lists where only some
5066
- # elements are serialized.
5067
5096
  if any(isinstance(m, dict) for m in messages):
5068
5097
  from langchain_core.messages.utils import convert_to_messages
5069
5098
 
@@ -5073,44 +5102,6 @@ class DeepAgentsApp(App):
5073
5102
  data = await asyncio.to_thread(self._convert_messages_to_data, messages)
5074
5103
  return _ThreadHistoryPayload(data, context_tokens)
5075
5104
 
5076
- @staticmethod
5077
- async def _read_channel_values_from_checkpointer(thread_id: str) -> dict[str, Any]:
5078
- """Read checkpoint channel values directly from the SQLite checkpointer.
5079
-
5080
- Args:
5081
- thread_id: Thread ID to look up.
5082
-
5083
- Returns:
5084
- Channel values from the latest checkpoint, or an empty dict on
5085
- failure.
5086
- """
5087
- try:
5088
- from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver
5089
-
5090
- from deepagents_cli.sessions import get_db_path
5091
-
5092
- db_path = str(get_db_path())
5093
- config: RunnableConfig = {"configurable": {"thread_id": thread_id}}
5094
- async with AsyncSqliteSaver.from_conn_string(db_path) as saver:
5095
- tup = await saver.aget_tuple(config)
5096
- if tup and tup.checkpoint:
5097
- channel_values = tup.checkpoint.get("channel_values", {})
5098
- if isinstance(channel_values, dict):
5099
- return dict(channel_values)
5100
- except (ImportError, OSError) as exc:
5101
- logger.warning(
5102
- "Failed to read checkpointer directly for %s: %s",
5103
- thread_id,
5104
- exc,
5105
- )
5106
- except Exception:
5107
- logger.warning(
5108
- "Unexpected error reading checkpointer for %s",
5109
- thread_id,
5110
- exc_info=True,
5111
- )
5112
- return {}
5113
-
5114
5105
  async def _upgrade_thread_message_link(
5115
5106
  self,
5116
5107
  widget: AppMessage,
@@ -17,6 +17,7 @@ from pathlib import Path
17
17
  from typing import TYPE_CHECKING, Any
18
18
  from urllib.parse import unquote, urlparse
19
19
 
20
+ from deepagents_cli._env_vars import HIDE_SPLASH_VERSION, is_env_truthy
20
21
  from deepagents_cli._git import resolve_git_branch
21
22
  from deepagents_cli._version import __version__
22
23
 
@@ -562,6 +563,9 @@ def get_banner() -> str:
562
563
  else:
563
564
  banner = _UNICODE_BANNER
564
565
 
566
+ if is_env_truthy(HIDE_SPLASH_VERSION):
567
+ return banner.replace(f"v{__version__}", "")
568
+
565
569
  if _is_editable_install():
566
570
  banner = banner.replace(f"v{__version__}", f"v{__version__} (local)")
567
571
 
@@ -12,6 +12,9 @@ Config format (`~/.deepagents/hooks.json`):
12
12
  ```
13
13
 
14
14
  If `events` is omitted or empty the hook receives **all** events.
15
+
16
+ Onboarding emits `user.name.set` with `{"name": "...", "assistant_id": "..."}`
17
+ after the user submits a non-empty preferred name.
15
18
  """
16
19
 
17
20
  from __future__ import annotations
@@ -710,7 +710,7 @@ class _AgentCoreProvider(SandboxProvider):
710
710
 
711
711
  # Validate AWS credentials early for a clear error message.
712
712
  try:
713
- import boto3 # ty: ignore[unresolved-import, unused-ignore-comment]
713
+ import boto3 # ty: ignore[unresolved-import]
714
714
 
715
715
  session = boto3.Session()
716
716
  credentials = session.get_credentials()
@@ -104,6 +104,7 @@ class _AsyncExecutableBackend(Protocol):
104
104
 
105
105
  logger = logging.getLogger(__name__)
106
106
 
107
+
107
108
  # ---------------------------------------------------------------------------
108
109
  # Context detection script
109
110
  #
@@ -183,7 +183,8 @@ class RemoteAgent:
183
183
  ) -> Any: # noqa: ANN401
184
184
  """Get the current state of a thread.
185
185
 
186
- Returns `None` when the thread does not exist on the server (404).
186
+ Returns `None` when the thread does not exist on the server (404) or
187
+ when the thread exists but has no checkpoint yet (new/empty thread).
187
188
  All other errors (network, auth, 500) are logged at WARNING and
188
189
  re-raised so callers can handle them.
189
190
 
@@ -196,10 +197,11 @@ class RemoteAgent:
196
197
 
197
198
  Returns:
198
199
  Thread state object with `values` and `next` attributes, or `None`
199
- if the thread is not found.
200
+ if the thread is not found or has no checkpoint.
200
201
 
201
202
  Raises:
202
203
  ValueError: If `thread_id` is not present in `config`.
204
+ TypeError: If the server returns an unexpected state shape.
203
205
  """ # noqa: DOC502 — raised by _require_thread_id
204
206
  from langgraph_sdk.errors import NotFoundError
205
207
 
@@ -211,6 +213,20 @@ class RemoteAgent:
211
213
  except NotFoundError:
212
214
  logger.debug("Thread %s not found on server", thread_id)
213
215
  return None
216
+ except TypeError as e:
217
+ # langgraph SDK bug: _create_state_snapshot does
218
+ # state["checkpoint"]["thread_id"], but the server returns
219
+ # checkpoint=null for threads with no checkpoint yet (new threads,
220
+ # or threads registered via aensure_thread before any run).
221
+ if "subscriptable" in str(e).lower():
222
+ logger.debug(
223
+ "Thread %s has no checkpoint yet; treating as empty", thread_id
224
+ )
225
+ return None
226
+ logger.warning(
227
+ "Failed to get state for thread %s", thread_id, exc_info=True
228
+ )
229
+ raise
214
230
  except Exception:
215
231
  logger.warning(
216
232
  "Failed to get state for thread %s", thread_id, exc_info=True
@@ -14,6 +14,7 @@ from textual.reactive import reactive
14
14
  from textual.widget import Widget
15
15
  from textual.widgets import Static
16
16
 
17
+ from deepagents_cli._env_vars import HIDE_CWD, HIDE_GIT_BRANCH, is_env_truthy
17
18
  from deepagents_cli.config import get_glyphs
18
19
 
19
20
  logger = logging.getLogger(__name__)
@@ -175,6 +176,8 @@ class StatusBar(Horizontal):
175
176
  super().__init__(**kwargs)
176
177
  # Store initial cwd - will be used in compose()
177
178
  self._initial_cwd = str(cwd) if cwd else str(Path.cwd())
179
+ self._hide_cwd = is_env_truthy(HIDE_CWD)
180
+ self._hide_git_branch = is_env_truthy(HIDE_GIT_BRANCH)
178
181
 
179
182
  def compose(self) -> ComposeResult: # noqa: PLR6301 — Textual widget method
180
183
  """Compose the status bar layout.
@@ -207,13 +210,18 @@ class StatusBar(Horizontal):
207
210
  Priority (highest first): model, cwd, git branch.
208
211
  """
209
212
  width = event.size.width
213
+ branch_threshold = (
214
+ self._CWD_WIDTH_THRESHOLD
215
+ if self._hide_cwd
216
+ else self._BRANCH_WIDTH_THRESHOLD
217
+ )
210
218
  with suppress(NoMatches):
211
219
  self.query_one("#branch-display", Static).display = (
212
- width >= self._BRANCH_WIDTH_THRESHOLD
220
+ not self._hide_git_branch and width >= branch_threshold
213
221
  )
214
222
  with suppress(NoMatches):
215
223
  self.query_one("#cwd-display", Static).display = (
216
- width >= self._CWD_WIDTH_THRESHOLD
224
+ not self._hide_cwd and width >= self._CWD_WIDTH_THRESHOLD
217
225
  )
218
226
 
219
227
  def on_mount(self) -> None:
@@ -221,6 +229,12 @@ class StatusBar(Horizontal):
221
229
  from deepagents_cli.config import settings
222
230
 
223
231
  self.cwd = self._initial_cwd
232
+ if self._hide_cwd:
233
+ with suppress(NoMatches):
234
+ self.query_one("#cwd-display", Static).display = False
235
+ if self._hide_git_branch:
236
+ with suppress(NoMatches):
237
+ self.query_one("#branch-display", Static).display = False
224
238
  # Set initial model display
225
239
  label = self.query_one("#model-display", ModelLabel)
226
240
  label.provider = settings.model_provider or ""