MCPcopy Index your code
hub / github.com/commandoperator/cmdop-sdk / SkillsResource

Class SkillsResource

python/src/cmdop/resources/skills.py:37–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35
36
37class SkillsResource(BaseResource):
38 # -- browse / detail ---------------------------------------------------
39
40 async def list(
41 self,
42 *,
43 category: str | None = None,
44 tag: str | None = None,
45 search: str | None = None,
46 lang: str | None = None,
47 ordering: str | None = None,
48 page: int | None = None,
49 page_size: int | None = None,
50 ) -> SkillListPage:
51 """Browse the public marketplace (page-number paginated)."""
52 req = pb.Envelope(
53 skills_list_req=s_pb.SkillsListRequest(
54 category=category,
55 tag=tag,
56 search=search,
57 lang=lang,
58 ordering=ordering,
59 page=page,
60 page_size=page_size,
61 )
62 )
63 return (await self._unary(req)).skill_list_page
64
65 async def get(self, slug: str, *, lang: str | None = None) -> SkillDetail:
66 req = pb.Envelope(skills_get_req=s_pb.SkillsGetRequest(slug=slug, lang=lang))
67 return (await self._unary(req)).skill_detail
68
69 async def my(
70 self,
71 *,
72 search: str | None = None,
73 ordering: str | None = None,
74 page: int | None = None,
75 page_size: int | None = None,
76 ) -> SkillListPage:
77 """Your own skills (incl. private / draft)."""
78 req = pb.Envelope(
79 skills_my_req=s_pb.SkillsMyRequest(
80 search=search, ordering=ordering, page=page, page_size=page_size
81 )
82 )
83 return (await self._unary(req)).skill_list_page
84
85 # -- install / star ----------------------------------------------------
86
87 async def install(self, slug: str) -> SkillInstall:
88 """Get the install payload (command, README, files, deps) for a skill."""
89 req = pb.Envelope(skills_install_req=s_pb.SkillsInstallRequest(slug=slug))
90 return (await self._unary(req)).skill_install
91
92 async def star(self, slug: str) -> SkillStar:
93 req = pb.Envelope(skills_star_req=s_pb.SkillsStarRequest(slug=slug))
94 return (await self._unary(req)).skill_star

Callers 3

skillsMethod · 0.90

Calls

no outgoing calls

Tested by 2