feat(desktop): wire template welcome_message + quick_commands to chat UI
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

- Add welcomeMessage/quickCommands fields to Clone interface
- Persist template welcome/quick data via updateClone after creation
- FirstConversationPrompt: prefer template-provided welcome message
  over dynamically generated one
- FirstConversationPrompt: render template quick_commands as chips
  instead of hardcoded QUICK_ACTIONS when available
- Tighten assign/unassign template endpoint permissions from model:read
  to relay:use (self-service operation for all authenticated users)
This commit is contained in:
iven
2026-04-03 15:20:15 +08:00
parent 1048901665
commit 0857a1f608
3 changed files with 81 additions and 35 deletions

View File

@@ -148,7 +148,7 @@ pub async fn assign_template(
Extension(ctx): Extension<AuthContext>,
Json(req): Json<AssignTemplateRequest>,
) -> SaasResult<Json<AgentTemplateInfo>> {
check_permission(&ctx, "model:read")?;
check_permission(&ctx, "relay:use")?;
let result = service::assign_template_to_account(
&state.db, &ctx.account_id, &req.template_id,
@@ -174,7 +174,7 @@ pub async fn unassign_template(
State(state): State<AppState>,
Extension(ctx): Extension<AuthContext>,
) -> SaasResult<Json<serde_json::Value>> {
check_permission(&ctx, "model:read")?;
check_permission(&ctx, "relay:use")?;
service::unassign_template(&state.db, &ctx.account_id).await?;
Ok(Json(serde_json::json!({"ok": true})))
}