diff --git a/skillagent/skillengine.py b/skillagent/skillengine.py index 8a2bbd6..5cf6cc3 100644 --- a/skillagent/skillengine.py +++ b/skillagent/skillengine.py @@ -194,7 +194,7 @@ class IndustrialSkillEngine: if not data: break; debug(f'{data=}, {type(data)=}') - yield data + yield json.dump(data, ensure_ascii=False) + '\n' await asyncio.sleep(0.1) @@ -257,10 +257,20 @@ class IndustrialSkillEngine: if "EXEC:" in decision: cmd = decision.split("EXEC:")[1].strip() output = await self._execute_with_retry(cmd, skill_name) + if isinstance(output, str): + output = { + "status": "SUCCEEDED", + "content": output + } await self.write_output(output) return if "ANSWER:" in decision: output = decision.replace("ANSWER:", "").strip() + if isinstance(output, str): + output = { + "status": "SUCCEEDED", + "content": output + } await self.write_output(output) return output debug(f' undefined decision:{decision}')