feat: expand live chat and work server tools

This commit is contained in:
2026-04-30 11:40:02 +09:00
parent 42ae640470
commit 2df0ba30cb
112 changed files with 15241 additions and 996 deletions

View File

@@ -1,5 +1,6 @@
import { normalizeChatResourceUrl } from './chatResourceUrl';
import { extractAutoDetectedPreviewUrls } from './inlinePreviewUrls';
import { extractChatMessageParts } from './messageParts';
import { extractHiddenPreviewUrls } from './previewMarkers';
import type { ChatMessage } from './types';
@@ -106,7 +107,21 @@ export function extractPreviewItems(messages: ChatMessage[]) {
const orderedMessages = [...messages].reverse();
orderedMessages.forEach((message) => {
const matches = [...extractAutoDetectedPreviewUrls(message.text), ...extractHiddenPreviewUrls(message.text)];
const extractedMessageParts = extractChatMessageParts(message.text);
const structuredLinkUrls = [
...(Array.isArray(message.parts) ? message.parts : []),
...extractedMessageParts.parts,
]
.filter(
(part): part is Extract<(typeof extractedMessageParts.parts)[number], { type: 'link_card' }> =>
part.type === 'link_card' && Boolean(part.url),
)
.map((part) => part.url);
const matches = [
...extractAutoDetectedPreviewUrls(message.text),
...extractHiddenPreviewUrls(message.text),
...structuredLinkUrls,
];
matches.forEach((matchedUrl) => {
const normalizedUrl = normalizePreviewUrl(matchedUrl);