deepagents-code 0.1.29__tar.gz → 0.1.30__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 (317) hide show
  1. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/CHANGELOG.md +17 -0
  2. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/COMMANDS.md +2 -1
  3. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/PKG-INFO +5 -3
  4. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_build_info.py +1 -1
  5. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_cli_context.py +0 -13
  6. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_env_vars.py +7 -0
  7. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_version.py +1 -1
  8. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/agent.py +5 -5
  9. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/app.py +483 -71
  10. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/command_registry.py +7 -0
  11. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/config_manifest.py +9 -0
  12. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/configurable_model.py +134 -26
  13. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_auth.py +100 -16
  14. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_tools.py +76 -19
  15. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/model_config.py +51 -0
  16. deepagents_code-0.1.30/deepagents_code/reasoning_effort.py +552 -0
  17. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/resume_state.py +22 -42
  18. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/textual_adapter.py +14 -28
  19. deepagents_code-0.1.30/deepagents_code/widgets/_links.py +261 -0
  20. deepagents_code-0.1.30/deepagents_code/widgets/effort_selector.py +189 -0
  21. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/messages.py +530 -17
  22. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/model_selector.py +56 -5
  23. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/status.py +33 -4
  24. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/welcome.py +1 -0
  25. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/pyproject.toml +5 -2
  26. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/scripts/install.sh +26 -7
  27. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_app.py +661 -52
  28. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_configurable_model.py +75 -7
  29. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_extras_info.py +13 -5
  30. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_install_script.py +50 -3
  31. deepagents_code-0.1.30/tests/unit_tests/test_links.py +298 -0
  32. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_auth.py +182 -5
  33. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_tools.py +239 -0
  34. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_messages.py +833 -40
  35. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_model_config.py +140 -0
  36. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_model_selector.py +240 -0
  37. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_model_switch.py +30 -0
  38. deepagents_code-0.1.30/tests/unit_tests/test_reasoning_effort.py +618 -0
  39. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_resume_state.py +8 -41
  40. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_status.py +59 -2
  41. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_textual_adapter.py +30 -49
  42. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_thread_selector.py +32 -1
  43. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/uv.lock +112 -93
  44. deepagents_code-0.1.29/deepagents_code/widgets/_links.py +0 -116
  45. deepagents_code-0.1.29/tests/unit_tests/test_links.py +0 -70
  46. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/.gitignore +0 -0
  47. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/AGENTS.md +0 -0
  48. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/ARCHITECTURE.md +0 -0
  49. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/DEVELOPMENT.md +0 -0
  50. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/Makefile +0 -0
  51. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/README.md +0 -0
  52. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/THREAT_MODEL.md +0 -0
  53. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/__init__.py +0 -0
  54. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/__main__.py +0 -0
  55. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_ask_user_types.py +0 -0
  56. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_constants.py +0 -0
  57. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_debug.py +0 -0
  58. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_git.py +0 -0
  59. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_paths.py +0 -0
  60. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_server_config.py +0 -0
  61. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_session_stats.py +0 -0
  62. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_startup_error.py +0 -0
  63. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_testing_models.py +0 -0
  64. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/_textual_patches.py +0 -0
  65. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/app.tcss +0 -0
  66. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/approval_mode.py +0 -0
  67. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/ask_user.py +0 -0
  68. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/auth_commands.py +0 -0
  69. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/auth_display.py +0 -0
  70. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/auth_store.py +0 -0
  71. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/built_in_skills/__init__.py +0 -0
  72. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/built_in_skills/remember/SKILL.md +0 -0
  73. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/built_in_skills/skill-creator/SKILL.md +0 -0
  74. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
  75. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
  76. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/clipboard.py +0 -0
  77. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/config.py +0 -0
  78. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/config_commands.py +0 -0
  79. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/default_agent_prompt.md +0 -0
  80. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/doctor.py +0 -0
  81. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/editor.py +0 -0
  82. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/event_bus.py +0 -0
  83. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/extras_info.py +0 -0
  84. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/file_ops.py +0 -0
  85. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/formatting.py +0 -0
  86. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/goal_rubric.py +0 -0
  87. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/goal_tools.py +0 -0
  88. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/hooks.py +0 -0
  89. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/input.py +0 -0
  90. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/integrations/__init__.py +0 -0
  91. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/integrations/openai_codex.py +0 -0
  92. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/integrations/sandbox_config.py +0 -0
  93. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/integrations/sandbox_factory.py +0 -0
  94. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/integrations/sandbox_provider.py +0 -0
  95. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/integrations/sandbox_registry.py +0 -0
  96. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/iterm_cursor_guide.py +0 -0
  97. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/local_context.py +0 -0
  98. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/main.py +0 -0
  99. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/managed_tools.py +0 -0
  100. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_commands.py +0 -0
  101. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_disabled.py +0 -0
  102. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_login_service.py +0 -0
  103. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_oauth_ui.py +0 -0
  104. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_providers/__init__.py +0 -0
  105. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_providers/_registry.py +0 -0
  106. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_providers/base.py +0 -0
  107. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_providers/github.py +0 -0
  108. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_providers/slack.py +0 -0
  109. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/mcp_trust.py +0 -0
  110. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/media_utils.py +0 -0
  111. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/memory_guard.py +0 -0
  112. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/non_interactive.py +0 -0
  113. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/notifications.py +0 -0
  114. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/offload.py +0 -0
  115. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/onboarding.py +0 -0
  116. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/output.py +0 -0
  117. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/project_utils.py +0 -0
  118. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/py.typed +0 -0
  119. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/remote_client.py +0 -0
  120. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/server.py +0 -0
  121. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/server_graph.py +0 -0
  122. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/server_manager.py +0 -0
  123. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/sessions.py +0 -0
  124. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/skills/__init__.py +0 -0
  125. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/skills/commands.py +0 -0
  126. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/skills/invocation.py +0 -0
  127. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/skills/load.py +0 -0
  128. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/state_migration.py +0 -0
  129. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/subagents.py +0 -0
  130. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/system_prompt.md +0 -0
  131. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/terminal_capabilities.py +0 -0
  132. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/terminal_escape.py +0 -0
  133. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/theme.py +0 -0
  134. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/tool_display.py +0 -0
  135. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/tools.py +0 -0
  136. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/tools_commands.py +0 -0
  137. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/ui.py +0 -0
  138. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/unicode_security.py +0 -0
  139. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/update_check.py +0 -0
  140. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/__init__.py +0 -0
  141. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/_js_eval_display.py +0 -0
  142. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/agent_selector.py +0 -0
  143. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/approval.py +0 -0
  144. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/ask_user.py +0 -0
  145. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/auth.py +0 -0
  146. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/autocomplete.py +0 -0
  147. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/chat_input.py +0 -0
  148. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/codex_auth.py +0 -0
  149. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/cwd_switch.py +0 -0
  150. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/diff.py +0 -0
  151. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/goal_review.py +0 -0
  152. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/history.py +0 -0
  153. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/install_confirm.py +0 -0
  154. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/launch_init.py +0 -0
  155. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/loading.py +0 -0
  156. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/mcp_login.py +0 -0
  157. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/mcp_reconnect.py +0 -0
  158. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/mcp_viewer.py +0 -0
  159. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/message_store.py +0 -0
  160. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/notification_center.py +0 -0
  161. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/notification_detail.py +0 -0
  162. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/notification_settings.py +0 -0
  163. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/restart_prompt.py +0 -0
  164. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/subagent_panel.py +0 -0
  165. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/theme_selector.py +0 -0
  166. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/thread_selector.py +0 -0
  167. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/tool_renderers.py +0 -0
  168. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/tool_widgets.py +0 -0
  169. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/update_available.py +0 -0
  170. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/update_confirm.py +0 -0
  171. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/deepagents_code/widgets/update_progress.py +0 -0
  172. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/arxiv-search/SKILL.md +0 -0
  173. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/arxiv-search/arxiv_search.py +0 -0
  174. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/langgraph-docs/SKILL.md +0 -0
  175. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/skill-creator/SKILL.md +0 -0
  176. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/skill-creator/scripts/init_skill.py +0 -0
  177. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/skill-creator/scripts/quick_validate.py +0 -0
  178. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/examples/skills/web-research/SKILL.md +0 -0
  179. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/hatch_build.py +0 -0
  180. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/images/tui.png +0 -0
  181. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/scripts/check_imports.py +0 -0
  182. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/scripts/debug_server.sh +0 -0
  183. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/scripts/generate_commands_catalog.py +0 -0
  184. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/README.md +0 -0
  185. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/__init__.py +0 -0
  186. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/benchmarks/__init__.py +0 -0
  187. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
  188. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
  189. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/conftest.py +0 -0
  190. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/test_acp_mode.py +0 -0
  191. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/test_auto_approve_remote.py +0 -0
  192. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/test_compact_resume.py +0 -0
  193. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/test_sandbox_factory.py +0 -0
  194. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/integration_tests/test_sandbox_operations.py +0 -0
  195. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/__init__.py +0 -0
  196. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/conftest.py +0 -0
  197. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/data/coding_agent_v1_validator.json +0 -0
  198. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/skills/__init__.py +0 -0
  199. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/skills/test_commands.py +0 -0
  200. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/skills/test_load.py +0 -0
  201. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/skills/test_skills_json.py +0 -0
  202. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_agent.py +0 -0
  203. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_agent_friendly.py +0 -0
  204. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_agent_selector.py +0 -0
  205. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_approval.py +0 -0
  206. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_approval_mode.py +0 -0
  207. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_args.py +0 -0
  208. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_ask_user.py +0 -0
  209. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_ask_user_middleware.py +0 -0
  210. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_auth_commands.py +0 -0
  211. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_auth_display.py +0 -0
  212. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_auth_store.py +0 -0
  213. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_auth_widgets.py +0 -0
  214. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_autocomplete.py +0 -0
  215. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_charset.py +0 -0
  216. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_chat_input.py +0 -0
  217. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_clipboard.py +0 -0
  218. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_coding_agent_metadata.py +0 -0
  219. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_command_registry.py +0 -0
  220. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_compact_tool.py +0 -0
  221. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_config.py +0 -0
  222. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_config_manifest.py +0 -0
  223. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_cursor_blink.py +0 -0
  224. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_cwd_switch.py +0 -0
  225. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_debug.py +0 -0
  226. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_doctor.py +0 -0
  227. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_editor.py +0 -0
  228. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_end_to_end.py +0 -0
  229. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_env_vars.py +0 -0
  230. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_event_bus.py +0 -0
  231. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_exception_handling.py +0 -0
  232. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_file_ops.py +0 -0
  233. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_formatting.py +0 -0
  234. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_git.py +0 -0
  235. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_goal_review.py +0 -0
  236. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_goal_rubric.py +0 -0
  237. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_goal_tools.py +0 -0
  238. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_hatch_build.py +0 -0
  239. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_history.py +0 -0
  240. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_hooks.py +0 -0
  241. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_imports.py +0 -0
  242. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_input_parsing.py +0 -0
  243. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_install_command.py +0 -0
  244. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_install_confirm.py +0 -0
  245. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_iterm_cursor_guide.py +0 -0
  246. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_launch_init.py +0 -0
  247. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_loading.py +0 -0
  248. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_local_context.py +0 -0
  249. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_main.py +0 -0
  250. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_main_acp_mode.py +0 -0
  251. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_main_args.py +0 -0
  252. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_managed_tools.py +0 -0
  253. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_commands.py +0 -0
  254. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_disabled.py +0 -0
  255. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_login_modal.py +0 -0
  256. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_login_service.py +0 -0
  257. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_oauth_ui.py +0 -0
  258. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_reconnect.py +0 -0
  259. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_trust.py +0 -0
  260. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_mcp_viewer.py +0 -0
  261. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_media_utils.py +0 -0
  262. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_memory_guard.py +0 -0
  263. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_message_store.py +0 -0
  264. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_non_interactive.py +0 -0
  265. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_notification_center.py +0 -0
  266. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_notification_detail.py +0 -0
  267. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_notifications.py +0 -0
  268. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_offload.py +0 -0
  269. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_offload_dict_messages.py +0 -0
  270. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_onboarding.py +0 -0
  271. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_openai_codex_integration.py +0 -0
  272. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_output.py +0 -0
  273. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_paths.py +0 -0
  274. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_reload.py +0 -0
  275. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_remote_client.py +0 -0
  276. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_restart_prompt.py +0 -0
  277. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_rubric_cli.py +0 -0
  278. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_sandbox_config.py +0 -0
  279. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_sandbox_factory.py +0 -0
  280. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_sandbox_provider.py +0 -0
  281. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_sandbox_registry.py +0 -0
  282. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_server.py +0 -0
  283. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_server_config.py +0 -0
  284. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_server_graph.py +0 -0
  285. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_server_helpers.py +0 -0
  286. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_server_manager.py +0 -0
  287. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_session_stats.py +0 -0
  288. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_sessions.py +0 -0
  289. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_shell_allow_list.py +0 -0
  290. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_skill_invocation.py +0 -0
  291. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_startup_fast_paths.py +0 -0
  292. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_state_migration.py +0 -0
  293. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_subagent_panel.py +0 -0
  294. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_subagent_stream.py +0 -0
  295. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_subagents.py +0 -0
  296. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_terminal_capabilities.py +0 -0
  297. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_terminal_escape.py +0 -0
  298. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_terminal_progress_preference.py +0 -0
  299. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_textual_patches.py +0 -0
  300. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_theme.py +0 -0
  301. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_tool_display.py +0 -0
  302. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_tool_renderers.py +0 -0
  303. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_tools_commands.py +0 -0
  304. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_tracing_replicas.py +0 -0
  305. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_ui.py +0 -0
  306. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_unicode_security.py +0 -0
  307. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_update_available.py +0 -0
  308. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_update_check.py +0 -0
  309. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_update_confirm.py +0 -0
  310. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_update_progress.py +0 -0
  311. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_version.py +0 -0
  312. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/test_welcome.py +0 -0
  313. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/tools/__init__.py +0 -0
  314. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/tools/test_current_thread.py +0 -0
  315. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/tools/test_fetch_url.py +0 -0
  316. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/widgets/__init__.py +0 -0
  317. {deepagents_code-0.1.29 → deepagents_code-0.1.30}/tests/unit_tests/widgets/test_diff.py +0 -0
@@ -2,6 +2,23 @@
2
2
 
3
3
  # Deep Agents Code Changelog
4
4
 
5
+ ## [0.1.30](https://github.com/langchain-ai/deepagents/compare/deepagents-code==0.1.29...deepagents-code==0.1.30) (2026-07-02)
6
+
7
+ ### Features
8
+
9
+ * Add reasoning effort selector ([#4403](https://github.com/langchain-ai/deepagents/issues/4403)) ([6ee0ac4](https://github.com/langchain-ai/deepagents/commit/6ee0ac4cca998f84e157187d565084e2a1912626))
10
+ * Collapse completed tool calls into group summaries ([#4373](https://github.com/langchain-ai/deepagents/issues/4373)) ([3735829](https://github.com/langchain-ai/deepagents/commit/3735829a0c14fb1537daf930140c66b647c8222c))
11
+ * Auto-detect MCP OAuth from 401 challenge ([#4364](https://github.com/langchain-ai/deepagents/issues/4364)) ([9763ffc](https://github.com/langchain-ai/deepagents/commit/9763ffceab8800526ae9fe10decdb2f32d8e4707))
12
+ * Toast when opening a clicked URL ([#4368](https://github.com/langchain-ai/deepagents/issues/4368)) ([434f29e](https://github.com/langchain-ai/deepagents/commit/434f29e5cb3d94988e2a4d80b78452bee4b10812))
13
+
14
+ ### Bug Fixes
15
+
16
+ * Allow `/remember` with args when no conversation history ([#4418](https://github.com/langchain-ai/deepagents/issues/4418)) ([5df9c83](https://github.com/langchain-ai/deepagents/commit/5df9c83b58f2529561848ae9f1364961e1c80641))
17
+ * Persist rubric model after server restart ([#4419](https://github.com/langchain-ai/deepagents/issues/4419)) ([5605a68](https://github.com/langchain-ai/deepagents/commit/5605a681c9fec888d8c6dfbde2decd4692c8cef0))
18
+ * Persist resume model state privately ([#4400](https://github.com/langchain-ai/deepagents/issues/4400)) ([bbd0f0d](https://github.com/langchain-ai/deepagents/commit/bbd0f0d1ddc9d22d399a819d7b4363f7997d119e))
19
+ * Quiet routine ripgrep installer output ([#4417](https://github.com/langchain-ai/deepagents/issues/4417)) ([a52c18d](https://github.com/langchain-ai/deepagents/commit/a52c18d3ef8fe462d1289dca8798c51450e0368a))
20
+ * Honest MCP OAuth callback close message ([#4410](https://github.com/langchain-ai/deepagents/issues/4410)) ([ef637f4](https://github.com/langchain-ai/deepagents/commit/ef637f4a3f38ee155ad7d31e64a5cdd7bfaee62c))
21
+
5
22
  ## [0.1.29](https://github.com/langchain-ai/deepagents/compare/deepagents-code==0.1.28...deepagents-code==0.1.29) (2026-07-01)
6
23
 
7
24
  ### Features
@@ -8,7 +8,7 @@ Regenerate this file with `make commands-catalog` after changing command names,
8
8
  aliases, descriptions, visibility, or hidden-command metadata.
9
9
 
10
10
 
11
- ## Public (31)
11
+ ## Public (32)
12
12
 
13
13
  | Command | Aliases | Description |
14
14
  | --- | --- | --- |
@@ -20,6 +20,7 @@ aliases, descriptions, visibility, or hidden-command metadata.
20
20
  | `/copy` | | Copy the latest assistant message to clipboard |
21
21
  | `/docs` | | Open the docs |
22
22
  | `/editor` | | Open prompt in an external editor ($EDITOR) |
23
+ | `/effort` | | Set reasoning effort for the current model |
23
24
  | `/feedback` | | Send feedback or report an issue |
24
25
  | `/force-clear` | | Stop active work, clear the chat, and start a new thread |
25
26
  | `/goal` | | Set a persistent objective by drafting acceptance criteria |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepagents-code
3
- Version: 0.1.29
3
+ Version: 0.1.30
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/
@@ -60,6 +60,7 @@ Requires-Dist: uuid-utils<1.0.0,>=0.16.2
60
60
  Provides-Extra: agentcore
61
61
  Requires-Dist: langchain-agentcore-codeinterpreter<1.0.0,>=0.0.5; extra == 'agentcore'
62
62
  Provides-Extra: all-providers
63
+ Requires-Dist: aiohttp<3.15.0,>=3.14.1; extra == 'all-providers'
63
64
  Requires-Dist: langchain-anthropic<2.0.0,>=1.4.7; extra == 'all-providers'
64
65
  Requires-Dist: langchain-aws<2.0.0,>=1.6.1; extra == 'all-providers'
65
66
  Requires-Dist: langchain-baseten<1.0.0,>=0.2.1; extra == 'all-providers'
@@ -73,7 +74,7 @@ Requires-Dist: langchain-huggingface<2.0.0,>=1.2.2; extra == 'all-providers'
73
74
  Requires-Dist: langchain-ibm<2.0.0,>=1.1.0; extra == 'all-providers'
74
75
  Requires-Dist: langchain-litellm<2.0.0,>=0.7.0; extra == 'all-providers'
75
76
  Requires-Dist: langchain-mistralai<2.0.0,>=1.1.5; extra == 'all-providers'
76
- Requires-Dist: langchain-nvidia-ai-endpoints<2.0.0,>=1.4.2; extra == 'all-providers'
77
+ Requires-Dist: langchain-nvidia-ai-endpoints<2.0.0,>=1.4.3; extra == 'all-providers'
77
78
  Requires-Dist: langchain-ollama<2.0.0,>=1.1.0; extra == 'all-providers'
78
79
  Requires-Dist: langchain-openai<2.0.0,>=1.3.3; extra == 'all-providers'
79
80
  Requires-Dist: langchain-openrouter<2.0.0,>=0.2.4; extra == 'all-providers'
@@ -115,7 +116,8 @@ Requires-Dist: langchain-mistralai<2.0.0,>=1.1.5; extra == 'mistralai'
115
116
  Provides-Extra: modal
116
117
  Requires-Dist: langchain-modal>=0.0.5; extra == 'modal'
117
118
  Provides-Extra: nvidia
118
- Requires-Dist: langchain-nvidia-ai-endpoints<2.0.0,>=1.4.2; extra == 'nvidia'
119
+ Requires-Dist: aiohttp<3.15.0,>=3.14.1; extra == 'nvidia'
120
+ Requires-Dist: langchain-nvidia-ai-endpoints<2.0.0,>=1.4.3; extra == 'nvidia'
119
121
  Provides-Extra: ollama
120
122
  Requires-Dist: langchain-ollama<2.0.0,>=1.1.0; extra == 'ollama'
121
123
  Provides-Extra: openai
@@ -1,3 +1,3 @@
1
1
  """Generated at build time. Do not edit or commit."""
2
2
 
3
- BUILD_COMMIT = "c540098"
3
+ BUILD_COMMIT = "e4709c2"
@@ -35,8 +35,6 @@ class CLIContextSchema:
35
35
 
36
36
  model_params: dict[str, Any] = field(default_factory=dict)
37
37
 
38
- effective_model: str | None = None
39
-
40
38
  auto_approve: bool = False
41
39
 
42
40
  approval_mode_key: str | None = None
@@ -63,17 +61,6 @@ class CLIContext(TypedDict, total=False):
63
61
  """Invocation params (e.g. `temperature`, `max_tokens`) to merge
64
62
  into `model_settings`."""
65
63
 
66
- effective_model: str | None
67
- """Resolved `provider:model` spec actually in use for this invocation.
68
-
69
- Unlike `model` (a swap *instruction* that is `None` when the base model is
70
- used), this carries the model in effect — whether from a `/model` override
71
- or the startup default — so `ResumeStateMiddleware` can record it to
72
- checkpoint state for restore on resume. `None` when no usable spec is
73
- resolved yet (e.g. credentials not configured), in which case nothing is
74
- recorded rather than a malformed spec.
75
- """
76
-
77
64
  auto_approve: bool
78
65
  """Whether gated tool calls should skip the human-approval interrupt.
79
66
 
@@ -218,6 +218,13 @@ config value on launch, so a `/scrollbar` toggle will not appear to "stick"
218
218
  across restarts while the env var remains set.
219
219
  """
220
220
 
221
+ SHOW_URL_OPEN_TOAST = "DEEPAGENTS_CODE_SHOW_URL_OPEN_TOAST"
222
+ """Show a confirmation toast after clicking a URL that opens in a browser.
223
+
224
+ Defaults to enabled; set to a falsy value (`0`, `false`, `no`, `off`, or empty)
225
+ to suppress the success toast while still opening URLs normally.
226
+ """
227
+
221
228
  THEME = "DEEPAGENTS_CODE_THEME"
222
229
  """Force the CLI to launch with this theme name when set."""
223
230
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Keep the `x-release-please-version` annotation — release-please uses it to
4
4
  # bump `__version__` in sync with `pyproject.toml` on every release PR.
5
- __version__ = "0.1.29" # x-release-please-version
5
+ __version__ = "0.1.30" # x-release-please-version
6
6
 
7
7
  DOCS_URL = "https://docs.langchain.com/oss/python/deepagents/code"
8
8
  """URL for `deepagents-code` documentation."""
@@ -1496,7 +1496,7 @@ def create_cli_agent(
1496
1496
  def _subagent_cli_middleware(*, has_explicit_model: bool) -> list[AgentMiddleware]:
1497
1497
  middleware: list[AgentMiddleware] = []
1498
1498
  if not has_explicit_model:
1499
- middleware.append(ConfigurableModelMiddleware())
1499
+ middleware.append(ConfigurableModelMiddleware(persist_model_state=False))
1500
1500
  if restrictive_shell_allow_list is not None:
1501
1501
  middleware.append(ShellAllowListMiddleware(restrictive_shell_allow_list))
1502
1502
  # Subagents share the on-disk filesystem backend and can edit the user
@@ -1558,10 +1558,10 @@ def create_cli_agent(
1558
1558
  ConfigurableModelMiddleware(),
1559
1559
  ]
1560
1560
 
1561
- # Resume state: declares the `_context_tokens` and `_model_spec` channels
1562
- # and writes them from `after_model` (token count from the latest
1563
- # `AIMessage.usage_metadata`, model spec from `context["effective_model"]`).
1564
- # The CLI reads them back from `state_values` on thread resume.
1561
+ # Resume state: declares private checkpoint channels used on resume.
1562
+ # `ResumeStateMiddleware.after_model` writes `_context_tokens`; model metadata
1563
+ # is written by `ConfigurableModelMiddleware` from the actual completed model
1564
+ # request. The CLI reads them back from `state_values` on thread resume.
1565
1565
  # Goal tools: exposes the read-only `get_goal`/`get_rubric` tools and the
1566
1566
  # constrained `update_goal` tool, and injects goal guidance into the prompt.
1567
1567
  from deepagents_code.goal_tools import GoalToolsMiddleware