fix: preserve event template parameters in deployment triggers
closes #19501
this PR fixes a regression introduced in #19414 where event template parameters
in deployment triggers (like `{{ event.name }}`) were being stripped out during
deployment.
<details>
<summary>Details</summary>
## Problem
PR #19414 moved trigger initialization to occur after `apply_values()` is called
on the deploy_config to allow templating of boolean fields like `enabled`. However,
`apply_values()` removes keys whose values contain placeholders that aren't in
step_outputs (build/push variables).
Event template parameters like `{{ event.name }}` and `{{ event.id }}` are runtime
templates for the automation, not build-time templates, so they don't exist in
step_outputs and were being removed, resulting in empty `parameters: {}` in the
automation action.
## Solution
- Extract triggers from deploy_config before applying build/push templating
- Apply selective templating: template trigger-level fields (like `enabled`)
but preserve the `parameters` section untouched
- This allows #19348 (boolean templating) to work while fixing #19501
## Testing
Added two comprehensive tests:
- Simple event templates: `parameters: {"name": "{{ event.name }}"}`
- Complex __prefect_kind structure: `{"template": "{{ event.id }}", "__prefect_kind": "jinja"}`
Both test cases now pass, and the original #19348 test still passes.
</details>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>