diff --git a/apps/web/components/settings/account.tsx b/apps/web/components/settings/account.tsx index 6db42156..e213a98a 100644 --- a/apps/web/components/settings/account.tsx +++ b/apps/web/components/settings/account.tsx @@ -42,7 +42,7 @@ import { useContainerTags } from "@/hooks/use-container-tags" import { useHasCompanyBrain } from "@/hooks/use-company-brain" import { PopoverAnchor } from "@ui/components/popover" import { OrgContext } from "@/components/settings/org-context" -import { WorkspacePersona } from "@/components/settings/workspace-persona" +import { WorkspacePrompt } from "@/components/settings/workspace-prompt" import { OrgPlanBadge } from "@/components/org-plan-badge" import { useTokenUsage } from "@/hooks/use-token-usage" import { useOrgSummaries } from "@/hooks/use-org-summaries" @@ -623,7 +623,7 @@ export default function Account() { {isCompanyBrain && ( <> diff --git a/apps/web/components/settings/workspace-persona.tsx b/apps/web/components/settings/workspace-prompt.tsx similarity index 72% rename from apps/web/components/settings/workspace-persona.tsx rename to apps/web/components/settings/workspace-prompt.tsx index d26e17d8..64d82f7b 100644 --- a/apps/web/components/settings/workspace-persona.tsx +++ b/apps/web/components/settings/workspace-prompt.tsx @@ -7,9 +7,9 @@ import { dmSans125ClassName, dmSansClassName } from "@/lib/fonts" import { cn } from "@lib/utils" import { useAuth } from "@lib/auth-context" -const DESCRIPTION_ID = "workspace-persona-description" -const COUNTER_ID = "workspace-persona-counter" -const HEADING_ID = "workspace-persona-heading" +const DESCRIPTION_ID = "workspace-prompt-description" +const COUNTER_ID = "workspace-prompt-counter" +const HEADING_ID = "workspace-prompt-heading" function SectionHeading({ children }: { children: React.ReactNode }) { return ( @@ -25,10 +25,10 @@ function SectionHeading({ children }: { children: React.ReactNode }) { ) } -function PersonaHeader() { +function PromptHeader() { return (
- Workspace Persona + Workspace Prompt

- Guide how Company Brain communicates and works with your workspace. + Set persistent guidance for operating preferences, priorities, source + and tool choices, workflows, terminology, formatting, and communication + style. This guidance cannot override fixed safety, access, or approval + constraints.

) } -export function WorkspacePersona() { +export function WorkspacePrompt() { const { org } = useAuth() const settingsQuery = useOrgSettings() const updateSettings = useUpdateOrgSettings() - const [persona, setPersona] = useState("") - const syncedPersona = useRef<{ orgId: string; value: string } | null>(null) + const [prompt, setPrompt] = useState("") + const syncedPrompt = useRef<{ orgId: string; value: string } | null>(null) - const savedPersona = settingsQuery.data?.workspacePersona ?? "" - const dirty = persona.trim() !== savedPersona.trim() + const savedPrompt = settingsQuery.data?.workspacePrompt ?? "" + const dirty = prompt.trim() !== savedPrompt.trim() useEffect(() => { if (!settingsQuery.data) return - const nextPersona = settingsQuery.data.workspacePersona ?? "" + const nextPrompt = settingsQuery.data.workspacePrompt ?? "" const orgId = org?.id ?? "" - const previous = syncedPersona.current + const previous = syncedPrompt.current - setPersona((current) => { - if (!previous || previous.orgId !== orgId) return nextPersona - return current === previous.value ? nextPersona : current + setPrompt((current) => { + if (!previous || previous.orgId !== orgId) return nextPrompt + return current === previous.value ? nextPrompt : current }) - syncedPersona.current = { orgId, value: nextPersona } + syncedPrompt.current = { orgId, value: nextPrompt } }, [org?.id, settingsQuery.data]) const handleSave = () => { updateSettings.mutate({ - workspacePersona: persona.trim() ? persona.trim() : null, + workspacePrompt: prompt.trim() ? prompt.trim() : null, }) } return (
- + {settingsQuery.isLoading ? (
- Loading workspace persona… + Loading workspace prompt…
) : settingsQuery.isError ? (

- Workspace persona could not be loaded. + Workspace prompt could not be loaded.