d50698bb79
* Python: Allow custom argument marshaling for skill scripts Add an optional argument_marshaler hook so callers can plug in their own argument conversion logic for inline skill scripts. Supplied at the InlineSkillScript, InlineSkill, and ClassSkill levels; when omitted, behavior is unchanged. This supports backends (e.g. vLLM) that send tool-call arguments in a non-conforming shape such as a JSON string. Port of .NET PR #6498. Closes #6543. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review feedback on skill argument marshaling - Widen InlineSkillScript.run args to accept a raw str (the one place a marshaler-converted value is valid), and drop the now-unneeded type: ignore markers in tests. - Constrain the SkillScriptArgumentMarshaler output type to dict | None so the type enforces the inline-script contract instead of a docstring note. - Add a clear TypeError when a str reaches an inline script with no marshaler configured. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Rename SkillScriptArgumentMarshaler to SkillScriptArgumentParser In Python 'marshalling' specifically connotes the stdlib marshal module, so the term is misleading here. Rename the type alias, the argument_parser parameter/attribute, docstrings, exports, and tests accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fold argument_parser docstring into Args section The skill constructors are fully keyword-only, so name/description/function are already documented under Args. Singling out argument_parser into its own Keyword Args section was inconsistent; merge it into Args for InlineSkillScript, InlineSkill, and ClassSkill. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>