import { buildUntrustedChannelMetadata } from "../../security/channel-metadata.js"; export function resolveSlackRoomContextHints(params: { isRoomish: boolean; channelInfo?: { topic?: string; purpose?: string }; channelConfig?: { systemPrompt?: string | null } | null; }): { untrustedChannelMetadata?: ReturnType; groupSystemPrompt?: string; } { if (!params.isRoomish) { return {}; } const untrustedChannelMetadata = buildUntrustedChannelMetadata({ source: "slack", label: "Slack channel description", entries: [params.channelInfo?.topic, params.channelInfo?.purpose], }); const systemPromptParts = [params.channelConfig?.systemPrompt?.trim() || null].filter( (entry): entry is string => Boolean(entry), ); const groupSystemPrompt = systemPromptParts.length > 0 ? systemPromptParts.join("\n\n") : undefined; return { untrustedChannelMetadata, groupSystemPrompt, }; }