devs-common 5.0.2__tar.gz → 5.0.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 (59) hide show
  1. {devs_common-5.0.2 → devs_common-5.0.4}/PKG-INFO +1 -1
  2. devs_common-5.0.4/devs_common/templates/extensions/devs-bridge-drop.vsix +0 -0
  3. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/post-create-wrapper.sh +1 -0
  4. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/post-start.sh +0 -7
  5. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/devcontainer.py +24 -2
  6. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common.egg-info/PKG-INFO +1 -1
  7. {devs_common-5.0.2 → devs_common-5.0.4}/pyproject.toml +1 -1
  8. devs_common-5.0.2/devs_common/templates/extensions/devs-bridge-drop.vsix +0 -0
  9. {devs_common-5.0.2 → devs_common-5.0.4}/LICENSE +0 -0
  10. {devs_common-5.0.2 → devs_common-5.0.4}/README.md +0 -0
  11. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/__init__.py +0 -0
  12. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/config.py +0 -0
  13. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/core/__init__.py +0 -0
  14. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/core/container.py +0 -0
  15. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/core/project.py +0 -0
  16. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/core/workspace.py +0 -0
  17. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/devs_config.py +0 -0
  18. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/exceptions.py +0 -0
  19. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/Dockerfile +0 -0
  20. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/README-vscode-settings.md +0 -0
  21. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/devcontainer.json +0 -0
  22. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/extensions/README.md +0 -0
  23. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/extensions/install.sh +0 -0
  24. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/machine-settings.json +0 -0
  25. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/machine-settings.tmux.json +0 -0
  26. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/register-vscode-extensions.js +0 -0
  27. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/copy-ssh.sh +0 -0
  28. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/install-bridge-drop.sh +0 -0
  29. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/python-venv-integration.sh +0 -0
  30. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/run-autoexec.sh +0 -0
  31. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/screenshot-webapp.sh +0 -0
  32. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/setup-vscode-settings.sh +0 -0
  33. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/setup-workspace.sh +0 -0
  34. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/start-tailscale.sh +0 -0
  35. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/start-tunnel.sh +0 -0
  36. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/ts.sh +0 -0
  37. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/tunnel-status.sh +0 -0
  38. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/scripts/webapp-screenshot.py +0 -0
  39. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/init-firewall.sh +0 -0
  40. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/setup-devs-env.sh +0 -0
  41. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/setup-magicdns.sh +0 -0
  42. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/setup-vscode-cache.sh +0 -0
  43. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/start-services.sh +0 -0
  44. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/start-tailscaled.sh +0 -0
  45. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/sudo-scripts/ts-cli.sh +0 -0
  46. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/templates/vscode-settings-reference.md +0 -0
  47. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/__init__.py +0 -0
  48. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/config_hash.py +0 -0
  49. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/console.py +0 -0
  50. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/devcontainer_template.py +0 -0
  51. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/docker_client.py +0 -0
  52. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/file_utils.py +0 -0
  53. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/git_utils.py +0 -0
  54. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common/utils/repo_cache.py +0 -0
  55. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common.egg-info/SOURCES.txt +0 -0
  56. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common.egg-info/dependency_links.txt +0 -0
  57. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common.egg-info/requires.txt +0 -0
  58. {devs_common-5.0.2 → devs_common-5.0.4}/devs_common.egg-info/top_level.txt +0 -0
  59. {devs_common-5.0.2 → devs_common-5.0.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devs-common
3
- Version: 5.0.2
3
+ Version: 5.0.4
4
4
  Summary: Shared utilities for devs package ecosystem
5
5
  Author: Dan Lester
6
6
  License-Expression: MIT
@@ -34,6 +34,7 @@ run_step() {
34
34
  # Run each step with error handling
35
35
  run_step "setup-vscode-cache" "sudo /usr/local/bin/setup-vscode-cache.sh"
36
36
  run_step "setup-devs-env.sh" "/usr/local/bin/setup-devs-env.sh"
37
+ run_step "run-autoexec.sh" "/usr/local/bin/run-autoexec.sh"
37
38
  #run_step "init-firewall.sh" "sudo /usr/local/bin/init-firewall.sh"
38
39
  run_step "setup-workspace.sh" "/usr/local/bin/setup-workspace.sh"
39
40
  run_step "start-services.sh" "sudo /usr/local/bin/start-services.sh"
@@ -21,13 +21,6 @@ fi
21
21
  # before the TS_ENABLE gate below, which exits when Tailscale is off.
22
22
  /usr/local/bin/setup-vscode-settings.sh || true
23
23
 
24
- # Optional per-user/per-project startup hooks. The mounted env directory is
25
- # project-specific when ~/.devs/envs/<project>/ exists, otherwise it is the
26
- # shared ~/.devs/envs/default profile. Hooks are executable files in autoexec/
27
- # and run in lexical order. Keep failures non-fatal so a broken convenience
28
- # hook cannot make the devcontainer unusable.
29
- /usr/local/bin/run-autoexec.sh || true
30
-
31
24
  # Gate on the same master switch as the rest of the Tailscale wiring.
32
25
  case "${TS_ENABLE:-}" in
33
26
  1|true|yes) ;;
@@ -1,7 +1,9 @@
1
1
  """DevContainer CLI wrapper utilities."""
2
2
 
3
+ import json
3
4
  import os
4
5
  import re
6
+ import socket
5
7
  import sys
6
8
  import subprocess
7
9
  from pathlib import Path
@@ -44,8 +46,8 @@ def prepare_devcontainer_environment(
44
46
  env = os.environ.copy()
45
47
 
46
48
  # Core devcontainer environment variables
47
- # IMPORTANT: In live mode, we must use the actual host folder name (e.g. "workstuff")
48
- # instead of our constructed name (e.g. "workstuffai-workstuffapp-dan") because
49
+ # IMPORTANT: In live mode, we must use the actual host folder name (e.g. "devs")
50
+ # instead of our constructed name (e.g. "ideonate-devs-sally") because
49
51
  # the devcontainer CLI directly mounts the host folder and preserves its name.
50
52
  # The container will have /workspaces/<host-folder-name>, not /workspaces/<constructed-name>
51
53
  workspace_folder_name = workspace_folder.name if live else container_workspace_name
@@ -80,6 +82,7 @@ def prepare_devcontainer_environment(
80
82
  bridge_mount_path = Path.home() / '.devs' / 'bridge' / f"{project_name}-{dev_name}"
81
83
  bridge_mount_path.mkdir(parents=True, exist_ok=True)
82
84
  env['DEVS_BRIDGE_MOUNT_PATH'] = str(bridge_mount_path)
85
+ write_bridge_info(bridge_mount_path)
83
86
 
84
87
  # Pass debug mode to container scripts
85
88
  if debug:
@@ -104,6 +107,25 @@ def prepare_devcontainer_environment(
104
107
  return env
105
108
 
106
109
 
110
+ BRIDGE_INFO_FILENAME = '.devs-bridge.json'
111
+
112
+
113
+ def write_bridge_info(bridge_mount_path: Path) -> None:
114
+ """Record the bridge's host-side location inside the bridge itself.
115
+
116
+ The bridge-drop extension shows the host path for each dropped file. It
117
+ reads DEVS_BRIDGE_MOUNT_PATH when set, but that arrives via remoteEnv, which
118
+ only the Dev Containers extension applies — a Remote-SSH session straight
119
+ into the container never sees it. The bridge dir is mounted in the
120
+ container regardless of how VS Code connects, so the info lives there too.
121
+ """
122
+ info = {'host_path': str(bridge_mount_path), 'hostname': socket.gethostname()}
123
+ try:
124
+ (bridge_mount_path / BRIDGE_INFO_FILENAME).write_text(json.dumps(info, indent=2) + '\n')
125
+ except OSError as e:
126
+ console.print(f"[yellow]Warning: could not write bridge info: {e}[/yellow]")
127
+
128
+
107
129
  def parse_docker_error(error_output: str) -> Tuple[Optional[str], Optional[str]]:
108
130
  """Parse Docker error output for specific error patterns.
109
131
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devs-common
3
- Version: 5.0.2
3
+ Version: 5.0.4
4
4
  Summary: Shared utilities for devs package ecosystem
5
5
  Author: Dan Lester
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devs-common"
7
- version = "5.0.2"
7
+ version = "5.0.4"
8
8
  description = "Shared utilities for devs package ecosystem"
9
9
  authors = [
10
10
  {name = "Dan Lester"},
File without changes
File without changes
File without changes