overcode 0.4.0__tar.gz → 0.4.1__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 (129) hide show
  1. {overcode-0.4.0/src/overcode.egg-info → overcode-0.4.1}/PKG-INFO +1 -1
  2. {overcode-0.4.0 → overcode-0.4.1}/pyproject.toml +1 -1
  3. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/split.py +1 -2
  4. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/new_agent_modal.py +16 -0
  5. {overcode-0.4.0 → overcode-0.4.1/src/overcode.egg-info}/PKG-INFO +1 -1
  6. {overcode-0.4.0 → overcode-0.4.1}/LICENSE +0 -0
  7. {overcode-0.4.0 → overcode-0.4.1}/MANIFEST.in +0 -0
  8. {overcode-0.4.0 → overcode-0.4.1}/README.md +0 -0
  9. {overcode-0.4.0 → overcode-0.4.1}/setup.cfg +0 -0
  10. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/__init__.py +0 -0
  11. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/agent_scanner.py +0 -0
  12. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/bundled_skills.py +0 -0
  13. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/claude_config.py +0 -0
  14. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/claude_pid.py +0 -0
  15. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/__init__.py +0 -0
  16. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/__main__.py +0 -0
  17. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/_shared.py +0 -0
  18. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/agent.py +0 -0
  19. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/budget.py +0 -0
  20. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/config.py +0 -0
  21. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/daemon.py +0 -0
  22. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/doctor.py +0 -0
  23. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/hooks.py +0 -0
  24. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/jobs.py +0 -0
  25. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/monitoring.py +0 -0
  26. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/perms.py +0 -0
  27. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/sister.py +0 -0
  28. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/skills.py +0 -0
  29. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/cli/wrappers.py +0 -0
  30. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/config.py +0 -0
  31. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/daemon_claude_skill.md +0 -0
  32. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/daemon_logging.py +0 -0
  33. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/daemon_utils.py +0 -0
  34. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/data_export.py +0 -0
  35. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/dependency_check.py +0 -0
  36. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/doctor.py +0 -0
  37. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/duration.py +0 -0
  38. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/exceptions.py +0 -0
  39. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/follow_mode.py +0 -0
  40. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/history_reader.py +0 -0
  41. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/hook_handler.py +0 -0
  42. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/hook_status_detector.py +0 -0
  43. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/implementations.py +0 -0
  44. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/interfaces.py +0 -0
  45. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/job_launcher.py +0 -0
  46. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/job_manager.py +0 -0
  47. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/launcher.py +0 -0
  48. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/logging_config.py +0 -0
  49. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/mocks.py +0 -0
  50. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/monitor_daemon.py +0 -0
  51. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/monitor_daemon_core.py +0 -0
  52. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/monitor_daemon_state.py +0 -0
  53. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/notifier.py +0 -0
  54. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/pid_utils.py +0 -0
  55. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/presence_logger.py +0 -0
  56. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/pricing.py +0 -0
  57. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/protocols.py +0 -0
  58. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/session_manager.py +0 -0
  59. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/settings.py +0 -0
  60. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/sister_controller.py +0 -0
  61. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/sister_poller.py +0 -0
  62. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/ssh_provisioner.py +0 -0
  63. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/standing_instructions.py +0 -0
  64. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/status_constants.py +0 -0
  65. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/status_detector.py +0 -0
  66. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/status_detector_factory.py +0 -0
  67. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/status_history.py +0 -0
  68. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/status_patterns.py +0 -0
  69. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/summarizer_client.py +0 -0
  70. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/summarizer_component.py +0 -0
  71. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/summary_columns.py +0 -0
  72. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/summary_groups.py +0 -0
  73. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/supervisor_daemon.py +0 -0
  74. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/supervisor_daemon_core.py +0 -0
  75. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/supervisor_layout.sh +0 -0
  76. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/testing/__init__.py +0 -0
  77. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/testing/renderer.py +0 -0
  78. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/testing/tmux_driver.py +0 -0
  79. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/testing/tui_eye.py +0 -0
  80. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/testing/tui_eye_skill.md +0 -0
  81. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/time_context.py +0 -0
  82. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tmux_manager.py +0 -0
  83. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tmux_utils.py +0 -0
  84. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui.py +0 -0
  85. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui.tcss +0 -0
  86. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_actions/__init__.py +0 -0
  87. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_actions/daemon.py +0 -0
  88. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_actions/input.py +0 -0
  89. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_actions/navigation.py +0 -0
  90. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_actions/session.py +0 -0
  91. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_actions/view.py +0 -0
  92. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_helpers.py +0 -0
  93. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_logic.py +0 -0
  94. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_render.py +0 -0
  95. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/__init__.py +0 -0
  96. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/agent_select_modal.py +0 -0
  97. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/command_bar.py +0 -0
  98. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/daemon_panel.py +0 -0
  99. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/daemon_status_bar.py +0 -0
  100. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/fullscreen_preview.py +0 -0
  101. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/help_overlay.py +0 -0
  102. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/instruction_history_modal.py +0 -0
  103. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/job_summary.py +0 -0
  104. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/modal_base.py +0 -0
  105. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/new_agent_defaults_modal.py +0 -0
  106. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/preview_pane.py +0 -0
  107. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/session_summary.py +0 -0
  108. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/sister_selection_modal.py +0 -0
  109. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/status_timeline.py +0 -0
  110. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/summary_config_modal.py +0 -0
  111. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/tmux_config_modal.py +0 -0
  112. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/tui_widgets/tui_log_panel.py +0 -0
  113. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/usage_monitor.py +0 -0
  114. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web/__init__.py +0 -0
  115. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web/templates/analytics.html +0 -0
  116. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web/templates/dashboard.html +0 -0
  117. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web_api.py +0 -0
  118. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web_chartjs.py +0 -0
  119. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web_control_api.py +0 -0
  120. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web_server.py +0 -0
  121. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web_server_runner.py +0 -0
  122. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/web_templates.py +0 -0
  123. {overcode-0.4.0 → overcode-0.4.1}/src/overcode/wrapper.py +0 -0
  124. {overcode-0.4.0 → overcode-0.4.1}/src/overcode.egg-info/SOURCES.txt +0 -0
  125. {overcode-0.4.0 → overcode-0.4.1}/src/overcode.egg-info/dependency_links.txt +0 -0
  126. {overcode-0.4.0 → overcode-0.4.1}/src/overcode.egg-info/entry_points.txt +0 -0
  127. {overcode-0.4.0 → overcode-0.4.1}/src/overcode.egg-info/requires.txt +0 -0
  128. {overcode-0.4.0 → overcode-0.4.1}/src/overcode.egg-info/top_level.txt +0 -0
  129. {overcode-0.4.0 → overcode-0.4.1}/tests/test_e2e_multi_agent_jokes.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: overcode
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: A supervisor for managing multiple Claude Code instances in tmux
5
5
  Author: Mike Bond
6
6
  Project-URL: Homepage, https://github.com/mkb23/overcode
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "overcode"
7
- version = "0.4.0"
7
+ version = "0.4.1"
8
8
  description = "A supervisor for managing multiple Claude Code instances in tmux"
9
9
  authors = [
10
10
  {name = "Mike Bond"}
@@ -32,6 +32,7 @@ from pathlib import Path
32
32
  from typing import Annotated
33
33
 
34
34
  import typer
35
+ from rich import print as rprint
35
36
 
36
37
  from ._shared import app, SessionOption
37
38
  from ..tmux_utils import get_pane_base_index
@@ -548,8 +549,6 @@ def tmux_layout(
548
549
  normally elsewhere, but they do override any custom user bindings for
549
550
  the same keys. Use --uninstall to remove them.
550
551
  """
551
- from rich import print as rprint
552
-
553
552
  # --- Uninstall mode ---
554
553
  if uninstall:
555
554
  removed_anything = False
@@ -254,6 +254,22 @@ class NewAgentModal(ModalBase):
254
254
  wrapper = d["wrapper"].strip() or None
255
255
  host = d["host"]
256
256
  is_remote = self._is_remote
257
+ # Ensure the local directory exists — tmux silently falls back to
258
+ # $HOME when `new-window -c <path>` points at a missing dir, which
259
+ # lands the agent in the wrong place. mkdir -p it so the agent
260
+ # starts where the user asked. Remote dirs live on another host,
261
+ # so we can't touch them from here.
262
+ if not is_remote:
263
+ local_dir = Path(d["directory"]).expanduser()
264
+ try:
265
+ local_dir.mkdir(parents=True, exist_ok=True)
266
+ except OSError as e:
267
+ self.notify(
268
+ f"Could not create directory {local_dir}: {e}",
269
+ severity="error",
270
+ )
271
+ return
272
+ d["directory"] = str(local_dir)
257
273
  raw_args = d.get("claude_args", "").strip()
258
274
  if raw_args:
259
275
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: overcode
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: A supervisor for managing multiple Claude Code instances in tmux
5
5
  Author: Mike Bond
6
6
  Project-URL: Homepage, https://github.com/mkb23/overcode
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes