From c00a3ea1f11818879ab3279548baec4669ecfed7 Mon Sep 17 00:00:00 2001 From: Markov Date: Sun, 15 Mar 2026 13:08:50 +0100 Subject: [PATCH] fix: remove capabilities/prompt/model from agent modal, add mentionable --- src/components/AgentModal.tsx | 70 +++++++++++------------------------ 1 file changed, 21 insertions(+), 49 deletions(-) diff --git a/src/components/AgentModal.tsx b/src/components/AgentModal.tsx index 33a0049..f1dc299 100644 --- a/src/components/AgentModal.tsx +++ b/src/components/AgentModal.tsx @@ -1,4 +1,3 @@ - import { useState, useEffect } from "react"; import type { Member, Label } from "@/lib/api"; import { updateMember, regenerateToken, revokeToken, getLabels } from "@/lib/api"; @@ -13,13 +12,9 @@ export default function AgentModal({ agent, onClose, onUpdated }: Props) { const [name, setName] = useState(agent.name); const [slug, setSlug] = useState(agent.slug); const [slugError, setSlugError] = useState(""); - const [capabilities, setCapabilities] = useState( - agent.agent_config?.capabilities?.join(", ") || "" - ); const [chatListen, setChatListen] = useState(agent.agent_config?.chat_listen || "mentions"); const [taskListen, setTaskListen] = useState(agent.agent_config?.task_listen || "assigned"); - const [prompt, setPrompt] = useState(agent.agent_config?.prompt || ""); - const [model, setModel] = useState(agent.agent_config?.model || ""); + const [mentionable, setMentionable] = useState(agent.agent_config?.mentionable ?? true); const [saving, setSaving] = useState(false); const [currentToken, setCurrentToken] = useState(agent.token || null); const [copied, setCopied] = useState(false); @@ -35,7 +30,6 @@ export default function AgentModal({ agent, onClose, onUpdated }: Props) { const handleSave = async () => { setSaving(true); try { - const caps = capabilities.split(",").map((c) => c.trim()).filter(Boolean); const trimmedSlug = slug.trim().toLowerCase().replace(/[^a-z0-9_-]/g, ''); if (!trimmedSlug) { setSlugError("Slug не может быть пустым"); @@ -45,12 +39,10 @@ export default function AgentModal({ agent, onClose, onUpdated }: Props) { name: name.trim(), slug: trimmedSlug !== agent.slug ? trimmedSlug : undefined, agent_config: { - capabilities: caps, labels: agentLabels, chat_listen: chatListen, task_listen: taskListen, - prompt: prompt.trim() || null, - model: model.trim() || null, + mentionable, }, }); onUpdated(updated); @@ -97,13 +89,13 @@ export default function AgentModal({ agent, onClose, onUpdated }: Props) { return (
e.stopPropagation()} >

{agent.name}

-
@{agent.slug}
+
@{agent.slug} • {agent.type}
{slugError}
}
-
- - setCapabilities(e.target.value)} - className="w-full px-3 py-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg outline-none focus:border-[var(--accent)] text-sm" - placeholder="code, review, deploy" - /> -
- {/* Labels */} {allLabels.length > 0 && (
@@ -177,51 +159,41 @@ export default function AgentModal({ agent, onClose, onUpdated }: Props) {
- +
- +
-
- -