mirror of
https://github.com/usestrix/strix.git
synced 2026-11-06 07:47:28 +00:00
Some LLM providers (e.g. qwen3.7-max via DashScope OpenAI-compatible endpoint) serialize array-typed function call parameters as JSON-encoded strings instead of native JSON arrays. This causes Pydantic validation to reject the skills parameter before the function body executes, making every create_agent and load_skill call fail. Changes: - Widen skills type annotation: list[str] -> str | list[str] - Add strict_mode=False to @function_tool decorator - Parse string inputs in function body (json.loads with comma-split fallback) Tested with qwen3.7-max: create_agent successfully spawns child agents that execute 23+ exec_command calls for SQL injection testing. Closes #770 |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| tool.py | ||