Repository navigation
feat(agent): teach Event userMessage= in Express prompt rule 8 for v1.0 catalogs #3690
Description
In protocol v1.0, Action.event includes an optional userMessage field (DynamicString: a literal string, a $path data binding, or a function call) alongside name and context (specification/v1_0/json/common_types.json).
PRs #3634, #3635, #3636, and #3637 taught the TypeScript, Python, and Dart Express compilers and decompilers Event(name, context?, userMessage=...) for #3598, and documented the signature in specification/proposals/express/a2ui_express.md.
However, rule 8 (Action events) in the Express system prompt still shows only the two-argument positional form:
8. Action events: represent server-side actions using the Event helper:
Event("save_deal", {rep: $/form/rep})
Because ExpressDecompiler now writes userMessage= into decompiled prompt examples and conversation history for v1.0 surfaces, the prompt rules should also document userMessage= (and optional context=) when generating prompts for v1.0+ catalogs.
Places to update in lockstep
- TypeScript
EXPRESS_RULESintypescript/agents/a2ui_agent/src/inference-formats/express/prompt-generator.ts. - Python
EXPRESS_RULESinpython/a2ui_agent/src/a2ui/inference_formats/express/prompt_generator.py. - Dart
_callRulesindart/a2ui_agent/lib/src/inference_formats/express/prompt_generator.dart. - Shared skill golden
conformance/test_data/skills/express_base_rules.txtandspecification/proposals/express/express_dsl_examples.md. - Version gating:
userMessageexists only in protocol v1.0+ (v0.9 and v0.9.1Action.eventhave onlynameandcontext, and the Express compilers rejectuserMessage=before v1.0), so v0.9 prompts must not instruct the model to emituserMessage=.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity