devs-cli 2.0.4__tar.gz → 2.0.6__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.
- {devs_cli-2.0.4/devs_cli.egg-info → devs_cli-2.0.6}/PKG-INFO +1 -1
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/cli.py +4 -2
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/config.py +8 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6/devs_cli.egg-info}/PKG-INFO +1 -1
- {devs_cli-2.0.4 → devs_cli-2.0.6}/pyproject.toml +1 -1
- {devs_cli-2.0.4 → devs_cli-2.0.6}/LICENSE +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/README.md +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/__init__.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/core/__init__.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/core/integration.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/exceptions.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs/utils/__init__.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs_cli.egg-info/SOURCES.txt +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs_cli.egg-info/dependency_links.txt +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs_cli.egg-info/entry_points.txt +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs_cli.egg-info/requires.txt +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/devs_cli.egg-info/top_level.txt +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/setup.cfg +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_cli.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_cli_clean.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_cli_misc.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_cli_start.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_cli_stop.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_cli_vscode.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_container_manager.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_e2e.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_error_parsing.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_integration.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_live_mode.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_project.py +0 -0
- {devs_cli-2.0.4 → devs_cli-2.0.6}/tests/test_workspace_manager.py +0 -0
|
@@ -811,7 +811,8 @@ def tunnel(dev_name: str, auth: bool, status: bool, kill_tunnel: bool, live: boo
|
|
|
811
811
|
First-time setup requires authentication:
|
|
812
812
|
devs tunnel <name> --auth
|
|
813
813
|
|
|
814
|
-
|
|
814
|
+
Auth is stored in a bind-mounted directory so it persists across
|
|
815
|
+
all containers on this machine.
|
|
815
816
|
|
|
816
817
|
DEV_NAME: Development environment name
|
|
817
818
|
|
|
@@ -839,7 +840,7 @@ def tunnel(dev_name: str, auth: bool, status: bool, kill_tunnel: bool, live: boo
|
|
|
839
840
|
workspace_dir = workspace_manager.create_workspace(dev_name, live=live)
|
|
840
841
|
|
|
841
842
|
if auth:
|
|
842
|
-
# Interactive authentication
|
|
843
|
+
# Interactive authentication inside the container
|
|
843
844
|
container_manager.tunnel_auth(
|
|
844
845
|
dev_name=dev_name,
|
|
845
846
|
workspace_dir=workspace_dir,
|
|
@@ -890,6 +891,7 @@ def tunnel(dev_name: str, auth: bool, status: bool, kill_tunnel: bool, live: boo
|
|
|
890
891
|
sys.exit(1)
|
|
891
892
|
|
|
892
893
|
|
|
894
|
+
|
|
893
895
|
@cli.command()
|
|
894
896
|
@click.option('--all-projects', is_flag=True, help='List containers for all projects')
|
|
895
897
|
def list(all_projects: bool) -> None:
|
|
@@ -16,6 +16,7 @@ class Config(BaseConfig):
|
|
|
16
16
|
BRIDGE_DIR = Path.home() / ".devs" / "bridge"
|
|
17
17
|
CLAUDE_CONFIG_DIR = Path.home() / ".devs" / "claudeconfig"
|
|
18
18
|
CODEX_CONFIG_DIR = Path.home() / ".devs" / "codexconfig"
|
|
19
|
+
VSCODE_CLI_DIR = Path.home() / ".devs" / "vscode-cli"
|
|
19
20
|
|
|
20
21
|
@property
|
|
21
22
|
def container_labels(self) -> Dict[str, str]:
|
|
@@ -40,6 +41,12 @@ class Config(BaseConfig):
|
|
|
40
41
|
self.codex_config_dir = Path(codex_config_env)
|
|
41
42
|
else:
|
|
42
43
|
self.codex_config_dir = self.CODEX_CONFIG_DIR
|
|
44
|
+
|
|
45
|
+
vscode_cli_env = os.getenv("DEVS_VSCODE_CLI_DIR")
|
|
46
|
+
if vscode_cli_env:
|
|
47
|
+
self.vscode_cli_dir = Path(vscode_cli_env)
|
|
48
|
+
else:
|
|
49
|
+
self.vscode_cli_dir = self.VSCODE_CLI_DIR
|
|
43
50
|
|
|
44
51
|
def get_default_workspaces_dir(self) -> Path:
|
|
45
52
|
"""Get default workspaces directory for CLI package."""
|
|
@@ -58,6 +65,7 @@ class Config(BaseConfig):
|
|
|
58
65
|
super().ensure_directories()
|
|
59
66
|
self.claude_config_dir.mkdir(parents=True, exist_ok=True)
|
|
60
67
|
self.codex_config_dir.mkdir(parents=True, exist_ok=True)
|
|
68
|
+
self.vscode_cli_dir.mkdir(parents=True, exist_ok=True)
|
|
61
69
|
|
|
62
70
|
|
|
63
71
|
# Global config instance
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|