Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { Badge } from "@tutti-os/ui-system";
|
|
import { InspectIcon } from "@tutti-os/ui-system/icons";
|
|
import { registerAgentCustomMentionKind } from "../../custom-mention";
|
|
import {
|
|
browserElementMentionKind,
|
|
presentBrowserElementMention
|
|
} from "./browserElementMention";
|
|
|
|
/** Registers browser DOM references before the first AgentGUI surface mounts. */
|
|
export function registerBrowserElementMention(): void {
|
|
registerAgentCustomMentionKind({
|
|
kind: browserElementMentionKind,
|
|
materializePromptText: (mention) => {
|
|
const context = mention.scope?.context?.trim();
|
|
return context ? `\n${context}\n` : null;
|
|
},
|
|
present: presentBrowserElementMention,
|
|
renderChip: ({ name }) => (
|
|
<Badge
|
|
className="h-5 max-w-full gap-1.5 rounded-[6px] px-2 py-0 font-[var(--font-mono)] text-[13px] font-semibold leading-5"
|
|
data-agent-browser-element-chip="true"
|
|
variant="accent"
|
|
>
|
|
<InspectIcon aria-hidden="true" className="size-3.5 shrink-0" />
|
|
<span className="truncate">{name}</span>
|
|
</Badge>
|
|
)
|
|
});
|
|
}
|