virtuai-cli 0.8.4__tar.gz → 0.8.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.
Files changed (23) hide show
  1. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/PKG-INFO +1 -1
  2. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/pyproject.toml +1 -1
  3. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/__init__.py +1 -1
  4. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/runner.py +15 -4
  5. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli.egg-info/PKG-INFO +1 -1
  6. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/README.md +0 -0
  7. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/setup.cfg +0 -0
  8. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/__init__.py +0 -0
  9. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/ask.py +0 -0
  10. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/command.py +0 -0
  11. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/history.py +0 -0
  12. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/sse.py +0 -0
  13. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/tui.py +0 -0
  14. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/chat/widgets.py +0 -0
  15. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/config.py +0 -0
  16. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/executor.py +0 -0
  17. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/main.py +0 -0
  18. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli/security.py +0 -0
  19. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli.egg-info/SOURCES.txt +0 -0
  20. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli.egg-info/dependency_links.txt +0 -0
  21. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli.egg-info/entry_points.txt +0 -0
  22. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli.egg-info/requires.txt +0 -0
  23. {virtuai_cli-0.8.4 → virtuai_cli-0.8.6}/src/virtuai_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: virtuai-cli
3
- Version: 0.8.4
3
+ Version: 0.8.6
4
4
  Summary: Run VirtuAI deep agents on your local machine
5
5
  Author-email: uCloudStore <lmoreno@ucloudstore.com>
6
6
  License: Proprietary
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "virtuai-cli"
7
- version = "0.8.4"
7
+ version = "0.8.6"
8
8
  description = "Run VirtuAI deep agents on your local machine"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,2 +1,2 @@
1
1
  """VirtuAI local CLI."""
2
- __version__ = "0.8.4"
2
+ __version__ = "0.8.6"
@@ -67,7 +67,11 @@ def _read_local_memory(workdir: Path) -> str:
67
67
 
68
68
 
69
69
  def _read_local_skills(workdir: Path) -> dict[str, str]:
70
- """Read skill files from {workdir}/skills/ and return {stem: content}.
70
+ """Read skill files from {workdir}/skills/ and return {name: content}.
71
+
72
+ Supports two layouts:
73
+ - {workdir}/skills/{name}/SKILL.md (subdirectory layout, mirrors server-side)
74
+ - {workdir}/skills/{name}.md (flat file layout)
71
75
 
72
76
  Only read when the directory exists — returns {} otherwise so the ready
73
77
  frame is unchanged for workdirs without a local skills folder.
@@ -76,10 +80,17 @@ def _read_local_skills(workdir: Path) -> dict[str, str]:
76
80
  if not skills_dir.is_dir():
77
81
  return {}
78
82
  skills: dict[str, str] = {}
79
- for f in sorted(skills_dir.iterdir()):
80
- if f.is_file() and f.suffix.lower() in _SKILL_EXTENSIONS:
83
+ for entry in sorted(skills_dir.iterdir()):
84
+ if entry.is_dir():
85
+ skill_md = entry / "SKILL.md"
86
+ if skill_md.is_file():
87
+ try:
88
+ skills[entry.name] = skill_md.read_text(encoding="utf-8", errors="replace")
89
+ except Exception:
90
+ pass
91
+ elif entry.is_file() and entry.suffix.lower() in _SKILL_EXTENSIONS:
81
92
  try:
82
- skills[f.stem] = f.read_text(encoding="utf-8", errors="replace")
93
+ skills[entry.stem] = entry.read_text(encoding="utf-8", errors="replace")
83
94
  except Exception:
84
95
  pass
85
96
  return skills
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: virtuai-cli
3
- Version: 0.8.4
3
+ Version: 0.8.6
4
4
  Summary: Run VirtuAI deep agents on your local machine
5
5
  Author-email: uCloudStore <lmoreno@ucloudstore.com>
6
6
  License: Proprietary
File without changes
File without changes