{% if project_privacy_mode in ["open", "hybrid"] %}
{# Cloud project → dropdown of known Claude models. The
empty option means "inherit the global per-mode default". #}
{% else %}
{# Private mode → free-text (local server model names vary). #}
{% endif %}
Sets [runtime].model. Leave blank to inherit the global per-mode default.
{% if project_privacy_mode == "open" %}
{# Open mode: Endpoint cell = literal "open" + hidden input.
Model cell = cloud-models
{# ---- Privacy tab (editable, mode is required) -------------------- #}
{# Open block #}
Open mode
{% for m in cloud_models %}
{% endfor %}
{# Private block. Wrapped in its own Alpine scope so the Test
button can read the *live* URL + key-env values (not whatever
is saved in urika.toml). Inputs use x-model to keep the
scope's ``ep`` mirror in sync with what the user types. #}
{# Hybrid block. Same Alpine pattern as the Private block —
scoped state mirrors the private URL + key-env inputs so the
Test button probes whatever the user has typed. #}
{# ---- Notifications tab (2-state: enabled / disabled) ------------- #}
Tick a channel to enable it for this project. New projects are
pre-seeded from the global Notifications settings (each channel
with Auto-enable on new projects turned on starts ticked
here). Channel connection details — SMTP host, Slack channel, etc.
— are shared globally.
{# Email #}
{# Slack #}
{# Telegram #}
{# ---- Secrets tab -------------------------------------------------- #}
{# Per-project secrets: the list shows BOTH project-level and global
secrets in one place, with origin badges per row. Project secrets
live in