ty checking

This commit is contained in:
John Lancaster
2026-06-21 15:29:57 -05:00
parent c5b7733528
commit 7fec3a4337
12 changed files with 372 additions and 239 deletions
+10 -25
View File
@@ -2,9 +2,9 @@ from __future__ import annotations
from typing import Any
from personal_mcp.skills.document_loader import DocsRegistry
from personal_mcp.skills.document_loader import PromptRecord
from personal_mcp.skills.document_loader import SkillRecord
from personal_mcp.registry.contracts import DocsRegistry
from personal_mcp.registry.models.registry import PromptRecord
from personal_mcp.registry.models.registry import SkillRecord
DEFAULT_LIMIT = 20
MAX_LIMIT = 100
@@ -36,8 +36,7 @@ def _summary_payload(skill: SkillRecord) -> dict[str, Any]:
"resources": {
"document": skill.document_uri,
"references": [
f"resource://skills/{skill.skill_id}/references/{ref_id}"
for ref_id in sorted(skill.references)
f"resource://skills/{skill.skill_id}/references/{ref_id}" for ref_id in sorted(skill.references)
],
},
}
@@ -124,14 +123,8 @@ def build_skills_index_payload(
except ValueError as exc:
raise ValueError("cursor must be an integer string") from exc
ordered = [
registry.skills_by_id[skill_id] for skill_id in registry.skills_in_load_order
]
matches = [
skill
for skill in ordered
if _skill_matches(skill, query=query, tag=tag, capability=capability)
]
ordered = [registry.skills_by_id[skill_id] for skill_id in registry.skills_in_load_order]
matches = [skill for skill in ordered if _skill_matches(skill, query=query, tag=tag, capability=capability)]
page = matches[start : start + normalized_limit]
next_cursor = start + normalized_limit
@@ -187,13 +180,8 @@ def build_prompts_index_payload(
except ValueError as exc:
raise ValueError("cursor must be an integer string") from exc
ordered = [
registry.prompts_by_id[prompt_id]
for prompt_id in registry.prompts_in_load_order
]
matches = [
prompt for prompt in ordered if _prompt_matches(prompt, query=query, tag=tag)
]
ordered = [registry.prompts_by_id[prompt_id] for prompt_id in registry.prompts_in_load_order]
matches = [prompt for prompt in ordered if _prompt_matches(prompt, query=query, tag=tag)]
page = matches[start : start + normalized_limit]
next_cursor = start + normalized_limit
@@ -207,9 +195,7 @@ def build_prompts_index_payload(
}
def build_prompt_detail_payload(
registry: DocsRegistry, prompt_id: str
) -> dict[str, Any]:
def build_prompt_detail_payload(registry: DocsRegistry, prompt_id: str) -> dict[str, Any]:
if prompt_id not in registry.prompts_by_id:
raise KeyError(prompt_id)
@@ -225,8 +211,7 @@ def build_prompt_detail_payload(
"document": prompt.document_uri,
},
"arguments": {
arg_name: arg.model_dump(exclude_none=True)
for arg_name, arg in sorted(prompt.arguments.items())
arg_name: arg.model_dump(exclude_none=True) for arg_name, arg in sorted(prompt.arguments.items())
},
}