ty checking
This commit is contained in:
@@ -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())
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user