deepctl-core 0.2.1__tar.gz → 0.2.3__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.
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/PKG-INFO +1 -1
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/pyproject.toml +1 -1
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/base_command.py +5 -1
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/skill_generator.py +21 -3
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core.egg-info/PKG-INFO +1 -1
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/README.md +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/setup.cfg +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/__init__.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/auth.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/base_group_command.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/client.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/config.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/models.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/output.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/plugin_env.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/plugin_manager.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/py.typed +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core/timing.py +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core.egg-info/SOURCES.txt +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core.egg-info/dependency_links.txt +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core.egg-info/requires.txt +0 -0
- {deepctl_core-0.2.1 → deepctl_core-0.2.3}/src/deepctl_core.egg-info/top_level.txt +0 -0
|
@@ -189,7 +189,11 @@ class BaseCommand(ABC):
|
|
|
189
189
|
result = [item.model_dump() for item in result]
|
|
190
190
|
|
|
191
191
|
with TimingContext(f"output_{output_format}"):
|
|
192
|
-
if output_format
|
|
192
|
+
if output_format == "default":
|
|
193
|
+
# Commands handle their own display in default mode;
|
|
194
|
+
# only emit structured output when explicitly requested.
|
|
195
|
+
return
|
|
196
|
+
elif output_format == "json":
|
|
193
197
|
self._output_json(result)
|
|
194
198
|
elif output_format == "yaml":
|
|
195
199
|
self._output_yaml(result)
|
|
@@ -73,8 +73,15 @@ def fetch_repo_skills(force: bool = False) -> dict[str, str]:
|
|
|
73
73
|
|
|
74
74
|
cache_marker = _REPO_CACHE_DIR / ".fetched"
|
|
75
75
|
if not force and cache_marker.exists():
|
|
76
|
-
#
|
|
77
|
-
|
|
76
|
+
# Check if cache is less than 1 hour old
|
|
77
|
+
import time
|
|
78
|
+
|
|
79
|
+
try:
|
|
80
|
+
age = time.time() - cache_marker.stat().st_mtime
|
|
81
|
+
if age < 3600: # 1 hour
|
|
82
|
+
return _read_cached_skills()
|
|
83
|
+
except OSError:
|
|
84
|
+
pass
|
|
78
85
|
|
|
79
86
|
base = f"https://raw.githubusercontent.com/{_SKILLS_REPO}/{_SKILLS_BRANCH}"
|
|
80
87
|
skill_names = ["api", "docs", "starters", "mcp"]
|
|
@@ -653,10 +660,21 @@ class SkillGenerator(ABC):
|
|
|
653
660
|
"""
|
|
654
661
|
|
|
655
662
|
def install(self, commands: list[CommandMetadata], version: str) -> list[Path]:
|
|
656
|
-
"""Generate and write skill files
|
|
663
|
+
"""Generate and write skill files with latest repo skills."""
|
|
664
|
+
# Always fetch fresh skills from deepgram/skills repo
|
|
665
|
+
repo_skills = fetch_repo_skills(force=True)
|
|
666
|
+
|
|
657
667
|
files = self.generate(commands, version)
|
|
658
668
|
written: list[Path] = []
|
|
659
669
|
for path, content in files.items():
|
|
670
|
+
# Append repo skill content to the generated file
|
|
671
|
+
if repo_skills:
|
|
672
|
+
sections = [
|
|
673
|
+
f"\n\n## {name.title()}\n\n{body}"
|
|
674
|
+
for name, body in repo_skills.items()
|
|
675
|
+
]
|
|
676
|
+
content += "\n".join(sections)
|
|
677
|
+
|
|
660
678
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
661
679
|
path.write_text(content)
|
|
662
680
|
written.append(path)
|
|
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
|