import { CHAT_FIRST_MODE_CHANGED_EVENT, readChatFirstModeState, writeChatFirstMode, } from "@agent-native/core/client/agent-chat"; import { ChangelogSettingsCard } from "@agent-native/core/client/changelog"; import { LanguagePicker, useT } from "@agent-native/core/client/i18n"; import { TeamPage } from "@agent-native/core/client/org"; import { SettingsTabsPage, useAgentSettingsTabs, } from "@agent-native/core/client/settings"; import { IconShield } from "@tabler/icons-react"; import { useState } from "react"; import { Link } from "react-router"; import changelog from "../../../CHANGELOG.md?raw"; import { DispatchShell } from "../../components/dispatch-shell"; import { Button } from "../../components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "../../components/ui/card"; import { Label } from "../../components/ui/label"; import { Switch } from "../../components/ui/switch"; import { dispatchAccessDescriptor } from "../../shared/app-roles.js"; export function meta() { return [{ title: "Settings - Dispatch" }]; } export default function SettingsRoute() { const t = useT(); const agentSettingsTabs = useAgentSettingsTabs({ usageAppId: "dispatch", usageViewAllHref: "/admin/metrics", organizationContent: (
This preference only changes your local Dispatch shell.
Session watch and follow-up messaging work in this browser pane too. Local CLI subscription detection stays in the Electron app; Dispatch uses workspace/provider credentials.
{chatFirstStorageNotice}
) : null}