Description
CodeTokenizer splits named-argument quoted values at spaces, so a template like:
{{func key='hello world'}}
fails with NamedArgBlockSyntaxError: A NamedArgBlock starts with a name... — the token for the argument is cut to key='hello and parsing breaks. Any quoted named-arg value containing a space breaks the whole template.
Reproduction
from semantic_kernel.template_engine.code_tokenizer import CodeTokenizer
CodeTokenizer().tokenize("{{func key='hello world'}}")
# NamedArgBlockSyntaxError
Same with double quotes.
Expected behavior
quoted values are single tokens, spaces included, matching how the value grammar is documented (ValBlock is text surrounded by quotes).
Environment
semantic-kernel python main, Python 3.12
Description
CodeTokenizersplits named-argument quoted values at spaces, so a template like:fails with
NamedArgBlockSyntaxError: A NamedArgBlock starts with a name...— the token for the argument is cut tokey='helloand parsing breaks. Any quoted named-arg value containing a space breaks the whole template.Reproduction
Same with double quotes.
Expected behavior
quoted values are single tokens, spaces included, matching how the value grammar is documented (ValBlock is text surrounded by quotes).
Environment
semantic-kernel python main, Python 3.12