@@ -63,12 +63,14 @@ def _get_active_skill(request: SkillQueryRequest) -> SkillPayload | None:
6363 payload = getattr (result , "data" , None )
6464 if isinstance (payload , dict ) and isinstance (payload .get ("skill" ), dict ):
6565 skill = payload ["skill" ]
66- return SkillPayload .model_validate ({
67- "slug" : skill .get ("slug" , "" ),
68- "description" : skill .get ("description" , "" ),
69- "contentMarkdown" : skill .get ("contentMarkdown" , "" ),
70- "source" : skill .get ("source" , "model_selected" ),
71- })
66+ return SkillPayload .model_validate (
67+ {
68+ "slug" : skill .get ("slug" , "" ),
69+ "description" : skill .get ("description" , "" ),
70+ "contentMarkdown" : skill .get ("contentMarkdown" , "" ),
71+ "source" : skill .get ("source" , "model_selected" ),
72+ }
73+ )
7274 return None
7375
7476
@@ -149,9 +151,7 @@ async def query(request: SkillQueryRequest) -> EventSourceResponse:
149151 for message in request .messages :
150152 if message .role == "human" :
151153 openai_messages .append (
152- ChatCompletionUserMessageParam (
153- role = "user" , content = message .content
154- )
154+ ChatCompletionUserMessageParam (role = "user" , content = message .content )
155155 )
156156 elif message .role == "ai" and isinstance (message .content , str ):
157157 openai_messages .append (
@@ -164,8 +164,7 @@ async def query(request: SkillQueryRequest) -> EventSourceResponse:
164164 # and we haven't already attempted a skill request this turn.
165165 last = request .messages [- 1 ]
166166 skill_already_requested = (
167- last .role == "tool"
168- and getattr (last , "function" , None ) == "get_skill_content"
167+ last .role == "tool" and getattr (last , "function" , None ) == "get_skill_content"
169168 )
170169 allow_skill_loading = (
171170 bool (request .skills_catalog )
@@ -174,29 +173,31 @@ async def query(request: SkillQueryRequest) -> EventSourceResponse:
174173 )
175174 functions = []
176175 if allow_skill_loading :
177- functions .append ({
178- "name" : "get_skill_content" ,
179- "description" : (
180- "Load the full instructions for one skill from the available "
181- "skills catalog. Use this only when one listed skill is "
182- "directly relevant to the user's request."
183- ),
184- "parameters" : {
185- "type" : "object" ,
186- "properties" : {
187- "slug" : {
188- "type" : "string" ,
189- "description" : "The exact slug of the skill to load." ,
190- "enum" : [s .slug for s in request .skills_catalog or []],
191- },
192- "reason" : {
193- "type" : "string" ,
194- "description" : "A short explanation of why this skill is needed." ,
176+ functions .append (
177+ {
178+ "name" : "get_skill_content" ,
179+ "description" : (
180+ "Load the full instructions for one skill from the available "
181+ "skills catalog. Use this only when one listed skill is "
182+ "directly relevant to the user's request."
183+ ),
184+ "parameters" : {
185+ "type" : "object" ,
186+ "properties" : {
187+ "slug" : {
188+ "type" : "string" ,
189+ "description" : "The exact slug of the skill to load." ,
190+ "enum" : [s .slug for s in request .skills_catalog or []],
191+ },
192+ "reason" : {
193+ "type" : "string" ,
194+ "description" : "A short explanation of why this skill is needed." ,
195+ },
195196 },
197+ "required" : ["slug" ],
196198 },
197- "required" : ["slug" ],
198- },
199- })
199+ }
200+ )
200201
201202 async def execution_loop () -> AsyncGenerator [dict [str , Any ], None ]:
202203 client = openai .AsyncOpenAI ()
0 commit comments