scios-cli 0.1.7__tar.gz → 0.1.8__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scios-cli
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend
5
5
  Author: Scios Team
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "scios-cli"
7
- version = "0.1.7"
7
+ version = "0.1.8"
8
8
  description = "Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend"
9
9
  readme = "README.md"
10
10
  license = {text = "Apache-2.0"}
@@ -0,0 +1,31 @@
1
+ """Allow running scios_cli as a module: python3 -m scios_cli [init|sync] ..."""
2
+ import sys
3
+
4
+ def main():
5
+ if len(sys.argv) > 1 and sys.argv[1] == "init":
6
+ sys.argv = [sys.argv[0]] + sys.argv[2:]
7
+ from scios_cli.install import cli_install_protocol
8
+ cli_install_protocol()
9
+ else:
10
+ # Default to sync behavior, strip 'sync' subcommand if present
11
+ if len(sys.argv) > 1 and sys.argv[1] == "sync":
12
+ sys.argv = [sys.argv[0]] + sys.argv[2:]
13
+ from scios_cli.main import cli_entry
14
+ try:
15
+ cli_entry()
16
+ except (KeyboardInterrupt, SystemExit):
17
+ pass
18
+ except Exception as e:
19
+ print(f"\n❌ Error: {e}")
20
+ finally:
21
+ # On Windows, when launched via protocol handler (python.exe directly,
22
+ # not cmd.exe), the console window closes immediately on exit.
23
+ # Keep it open so the user can see output and the file watcher runs.
24
+ if sys.platform == "win32" and not sys.stdin.isatty():
25
+ try:
26
+ input("\nPress Enter to close this window...")
27
+ except EOFError:
28
+ pass
29
+
30
+ if __name__ == "__main__":
31
+ main()
@@ -263,11 +263,11 @@ def install_windows():
263
263
  print("🚀 Installing Scios Custom URI Handler (scios://) for Windows...")
264
264
  import winreg
265
265
 
266
- # Resolve the full absolute path to scios-sync.exe so the registry
267
- # command works even when the Python Scripts dir isn't in PATH for
268
- # the new cmd.exe session spawned by the protocol handler.
269
- scios_sync_path = _find_scios_sync()
270
- print(f" Found scios-sync at: {scios_sync_path}")
266
+ # Use python.exe directly instead of cmd.exe to avoid & in URLs
267
+ # being interpreted as command separators by cmd.exe.
268
+ # python.exe is a console app so Windows will open a console window.
269
+ python_path = sys.executable
270
+ print(f" Using Python at: {python_path}")
271
271
 
272
272
  try:
273
273
  # Create HKEY_CURRENT_USER\Software\Classes\scios
@@ -277,9 +277,11 @@ def install_windows():
277
277
 
278
278
  # Create shell\open\command
279
279
  cmd_key = winreg.CreateKey(key, r"shell\open\command")
280
- # Use cmd.exe /k to keep the window open after execution.
281
- # Quote the full path to scios-sync.exe in case it contains spaces.
282
- winreg.SetValue(cmd_key, "", winreg.REG_SZ, f'cmd.exe /k "{scios_sync_path}" "%1"')
280
+ # Invoke python -m scios_cli directly. This avoids cmd.exe which
281
+ # breaks on & characters in URLs (treats them as command separators).
282
+ # python.exe is a console app so a terminal window will appear.
283
+ winreg.SetValue(cmd_key, "", winreg.REG_SZ,
284
+ f'"{python_path}" -m scios_cli sync "%1"')
283
285
 
284
286
  winreg.CloseKey(cmd_key)
285
287
  winreg.CloseKey(key)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scios-cli
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend
5
5
  Author: Scios Team
6
6
  License: Apache-2.0
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="scios-cli",
5
- version="0.1.6",
5
+ version="0.1.8",
6
6
  description="Scios Local Agent Workspace Sync CLI",
7
7
  author="Scios",
8
8
  packages=find_packages(),
@@ -1,17 +0,0 @@
1
- """Allow running scios_cli as a module: python3 -m scios_cli [init|sync] ..."""
2
- import sys
3
-
4
- def main():
5
- if len(sys.argv) > 1 and sys.argv[1] == "init":
6
- sys.argv = [sys.argv[0]] + sys.argv[2:]
7
- from scios_cli.install import cli_install_protocol
8
- cli_install_protocol()
9
- else:
10
- # Default to sync behavior, strip 'sync' subcommand if present
11
- if len(sys.argv) > 1 and sys.argv[1] == "sync":
12
- sys.argv = [sys.argv[0]] + sys.argv[2:]
13
- from scios_cli.main import cli_entry
14
- cli_entry()
15
-
16
- if __name__ == "__main__":
17
- main()
File without changes
File without changes
File without changes
File without changes