From 3cde94399e563015b010beb389e4e31f726a6f85 Mon Sep 17 00:00:00 2001 From: yusyus Date: Mon, 6 Apr 2026 23:22:45 +0300 Subject: [PATCH] fix: replace remaining glob('*.md') with rglob('*.md') in all adaptors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to #349 — the same bug existed in 4 more adaptor files: - base.py (2 locations) — affects all adaptors via inheritance - openai_compatible.py (2 locations) — affects minimax, deepseek, kimi, qwen, openrouter, together, fireworks - markdown.py (1 location) - streaming_adaptor.py (1 location) No glob("*.md") remains in any adaptor. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/skill_seekers/cli/adaptors/base.py | 4 ++-- src/skill_seekers/cli/adaptors/markdown.py | 2 +- src/skill_seekers/cli/adaptors/openai_compatible.py | 4 ++-- src/skill_seekers/cli/adaptors/streaming_adaptor.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/skill_seekers/cli/adaptors/base.py b/src/skill_seekers/cli/adaptors/base.py index 95ecc94..77ea073 100644 --- a/src/skill_seekers/cli/adaptors/base.py +++ b/src/skill_seekers/cli/adaptors/base.py @@ -288,7 +288,7 @@ class SkillAdaptor(ABC): if not references_dir.exists(): return - for ref_file in sorted(references_dir.glob("*.md")): + for ref_file in sorted(references_dir.rglob("*.md")): if ref_file.is_file() and not ref_file.name.startswith("."): try: content = ref_file.read_text(encoding="utf-8") @@ -565,7 +565,7 @@ class SkillAdaptor(ABC): return "" toc_lines = [] - for ref_file in sorted(refs_dir.glob("*.md")): + for ref_file in sorted(refs_dir.rglob("*.md")): if ref_file.name == "index.md": continue title = ref_file.stem.replace("_", " ").title() diff --git a/src/skill_seekers/cli/adaptors/markdown.py b/src/skill_seekers/cli/adaptors/markdown.py index f280571..a5961fb 100644 --- a/src/skill_seekers/cli/adaptors/markdown.py +++ b/src/skill_seekers/cli/adaptors/markdown.py @@ -261,7 +261,7 @@ Browse the reference files for detailed information on each topic. All files are # Add all reference files if refs_dir.exists(): # Sort for consistent ordering - ref_files = sorted(refs_dir.glob("*.md")) + ref_files = sorted(refs_dir.rglob("*.md")) for ref_file in ref_files: if ref_file.name == "index.md": diff --git a/src/skill_seekers/cli/adaptors/openai_compatible.py b/src/skill_seekers/cli/adaptors/openai_compatible.py index 8f5ab3e..43f66ca 100644 --- a/src/skill_seekers/cli/adaptors/openai_compatible.py +++ b/src/skill_seekers/cli/adaptors/openai_compatible.py @@ -218,7 +218,7 @@ Always prioritize accuracy by consulting the attached documentation files before knowledge_dir = temp_path / "knowledge_files" knowledge_count = 0 if knowledge_dir.exists(): - knowledge_count = len(list(knowledge_dir.glob("*.md"))) + knowledge_count = len(list(knowledge_dir.rglob("*.md"))) client = OpenAI( api_key=api_key, @@ -364,7 +364,7 @@ Always prioritize accuracy by consulting the attached documentation files before references = {} total_chars = 0 - for ref_file in sorted(references_dir.glob("*.md")): + for ref_file in sorted(references_dir.rglob("*.md")): if total_chars >= max_chars: break diff --git a/src/skill_seekers/cli/adaptors/streaming_adaptor.py b/src/skill_seekers/cli/adaptors/streaming_adaptor.py index 7187f24..80a3a29 100644 --- a/src/skill_seekers/cli/adaptors/streaming_adaptor.py +++ b/src/skill_seekers/cli/adaptors/streaming_adaptor.py @@ -197,7 +197,7 @@ class StreamingAdaptorMixin: # Reference files refs_dir = skill_dir / "references" if refs_dir.exists(): - for ref_file in sorted(refs_dir.glob("*.md")): + for ref_file in sorted(refs_dir.rglob("*.md")): if ref_file.is_file() and not ref_file.name.startswith("."): content = ref_file.read_text(encoding="utf-8") char_count = len(content)