agent-toggle 0.11.2__tar.gz → 0.11.4__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 (90) hide show
  1. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/PKG-INFO +1 -1
  2. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/__init__.py +1 -1
  3. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/update_prompt.py +3 -1
  4. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle.egg-info/PKG-INFO +1 -1
  5. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_cli.py +1 -1
  6. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_update_prompt.py +12 -0
  7. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/LICENSE +0 -0
  8. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/README.md +0 -0
  9. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/__main__.py +0 -0
  10. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/backends/__init__.py +0 -0
  11. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/backends/flag_json.py +0 -0
  12. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/backends/mcp_json.py +0 -0
  13. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/backends/mcp_toml.py +0 -0
  14. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/backends/plugin_cli.py +0 -0
  15. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/cli.py +0 -0
  16. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/companions.py +0 -0
  17. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/config.py +0 -0
  18. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/cost.py +0 -0
  19. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/doctor.py +0 -0
  20. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/fs.py +0 -0
  21. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/harnesses.py +0 -0
  22. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/help.py +0 -0
  23. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/i18n.py +0 -0
  24. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/locales/__init__.py +0 -0
  25. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/locales/zh_tw_cli.py +0 -0
  26. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/locales/zh_tw_common.py +0 -0
  27. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/locales/zh_tw_config.py +0 -0
  28. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/locales/zh_tw_picker.py +0 -0
  29. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/mechanisms.py +0 -0
  30. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ops.py +0 -0
  31. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/output.py +0 -0
  32. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/profiles.py +0 -0
  33. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/settings.py +0 -0
  34. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/shims/claude.md.tmpl +0 -0
  35. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/shims/generic.md.tmpl +0 -0
  36. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/spinner.py +0 -0
  37. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/store.py +0 -0
  38. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/toml_check.py +0 -0
  39. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/__init__.py +0 -0
  40. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/config_menu.py +0 -0
  41. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/logo.py +0 -0
  42. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/menu.py +0 -0
  43. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/model.py +0 -0
  44. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/picker.py +0 -0
  45. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/ui/theme.py +0 -0
  46. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/undo.py +0 -0
  47. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle/update_check.py +0 -0
  48. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle.egg-info/SOURCES.txt +0 -0
  49. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle.egg-info/dependency_links.txt +0 -0
  50. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle.egg-info/entry_points.txt +0 -0
  51. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle.egg-info/requires.txt +0 -0
  52. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/agent_toggle.egg-info/top_level.txt +0 -0
  53. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/pyproject.toml +0 -0
  54. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/setup.cfg +0 -0
  55. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_alias.py +0 -0
  56. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_all_type.py +0 -0
  57. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_backends.py +0 -0
  58. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_cli_surface.py +0 -0
  59. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_color.py +0 -0
  60. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_companions.py +0 -0
  61. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_completions.py +0 -0
  62. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_config.py +0 -0
  63. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_config_menu.py +0 -0
  64. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_conformance.py +0 -0
  65. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_containment.py +0 -0
  66. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_cost.py +0 -0
  67. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_crash.py +0 -0
  68. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_doctor.py +0 -0
  69. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_encoding.py +0 -0
  70. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_fs.py +0 -0
  71. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_harnesses.py +0 -0
  72. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_help.py +0 -0
  73. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_i18n.py +0 -0
  74. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_install.py +0 -0
  75. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_logo.py +0 -0
  76. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_mechanisms.py +0 -0
  77. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_menu.py +0 -0
  78. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_mods.py +0 -0
  79. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_picker.py +0 -0
  80. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_platform.py +0 -0
  81. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_profiles.py +0 -0
  82. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_project.py +0 -0
  83. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_safety.py +0 -0
  84. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_same_name.py +0 -0
  85. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_secret_audit.py +0 -0
  86. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_settings.py +0 -0
  87. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_store.py +0 -0
  88. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_theme.py +0 -0
  89. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_undo.py +0 -0
  90. {agent_toggle-0.11.2 → agent_toggle-0.11.4}/tests/test_update_check.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-toggle
3
- Version: 0.11.2
3
+ Version: 0.11.4
4
4
  Summary: Temporarily disable / re-enable AI-agent skills, agents, commands, rules, plugins and MCP servers across harnesses (Claude Code, Codex, Grok, OpenCode, OpenClaw, Copilot, Vibe, Devin, Antigravity)
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/weskao/agent-toggle
@@ -1,3 +1,3 @@
1
1
  """agent-toggle: temporarily disable / re-enable AI-agent resources."""
2
2
 
3
- __version__ = "0.11.2"
3
+ __version__ = "0.11.4"
@@ -206,7 +206,9 @@ def offer(started: update_check.Started | None, *, json_mode: bool = False,
206
206
  def run(cmd, **kw): # their output must never reach stdout; no step may prompt
207
207
  if cmd[0] == "claude":
208
208
  cmd = [plugin_cli.claude_bin() or "claude", *cmd[1:]]
209
- return subprocess.run(cmd, stdout=sys.stderr, stdin=subprocess.DEVNULL, **kw)
209
+ # the install-shims step is agent-toggle itself: it must not re-check and print the hint again
210
+ env = {**os.environ, settings.DEFAULTS["update_check"].env: "0"}
211
+ return subprocess.run(cmd, stdout=sys.stderr, stdin=subprocess.DEVNULL, env=env, **kw)
210
212
  steps: list[list[str]] = []
211
213
  def upgrade(_found):
212
214
  steps.extend(upgrade_steps())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-toggle
3
- Version: 0.11.2
3
+ Version: 0.11.4
4
4
  Summary: Temporarily disable / re-enable AI-agent skills, agents, commands, rules, plugins and MCP servers across harnesses (Claude Code, Codex, Grok, OpenCode, OpenClaw, Copilot, Vibe, Devin, Antigravity)
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/weskao/agent-toggle
@@ -235,7 +235,7 @@ class UpdateCheckTest(CliCase):
235
235
  rc, out, err = self.run_cli("--version") # runs no other subprocess
236
236
  self.assertEqual((rc, out.strip()), (0, f"agent-toggle {__version__}"))
237
237
  run.assert_called_once_with(["uv", "tool", "upgrade", "agent-toggle"], check=False,
238
- stdout=mock.ANY, stdin=subprocess.DEVNULL)
238
+ stdout=mock.ANY, stdin=subprocess.DEVNULL, env=mock.ANY)
239
239
  self.assertIn("did not finish", run.call_args.kwargs["stdout"].getvalue()) # = stderr
240
240
  self.assertIn("upgrade did not finish — run it yourself: uv tool upgrade agent-toggle"
241
241
  "\n agent-toggle install-shims", err)
@@ -34,6 +34,18 @@ class UpgradeStepsTest(unittest.TestCase):
34
34
  self.assertEqual(self.steps(None, []), [cli, shims])
35
35
 
36
36
 
37
+ class OfferRunTest(unittest.TestCase):
38
+ def test_upgrade_steps_run_with_the_update_check_off(self) -> None:
39
+ def offer(_started, ask, *, run, **_kw):
40
+ run(["agent-toggle", "install-shims"], check=False)
41
+ return update_check.UPDATE_NOW
42
+ with mock.patch.object(update_check, "offer", side_effect=offer), \
43
+ mock.patch.object(update_prompt.subprocess, "run") as sub, \
44
+ mock.patch.object(update_prompt, "cache_path", return_value="x"):
45
+ update_prompt.offer(mock.Mock())
46
+ self.assertEqual(sub.call_args.kwargs["env"]["AGENT_TOGGLE_UPDATE_CHECK"], "0")
47
+
48
+
37
49
  class CmdUpdateTest(unittest.TestCase):
38
50
  def run_update(self, latest):
39
51
  out = mock.Mock()
File without changes
File without changes
File without changes