MCPcopy Index your code
hub / github.com/simstudioai/sim / getCopilotToolDescription

Function getCopilotToolDescription

apps/sim/lib/copilot/tools/descriptions.ts:8–36  ·  view source on GitHub ↗
(
  tool: Pick<ToolConfig, 'description' | 'hosting' | 'id' | 'name'>,
  options?: {
    isHosted?: boolean
    fallbackName?: string
    appendEmailTagline?: boolean
  }
)

Source from the content-addressed store, hash-verified

6const EMAIL_TAGLINE_TOOL_IDS = new Set(['gmail_send', 'gmail_send_v2', 'outlook_send'])
7
8export function getCopilotToolDescription(
9 tool: Pick<ToolConfig, 'description' | 'hosting' | 'id' | 'name'>,
10 options?: {
11 isHosted?: boolean
12 fallbackName?: string
13 appendEmailTagline?: boolean
14 }
15): string {
16 const baseDescription = tool.description || tool.name || options?.fallbackName || ''
17 const notes: string[] = []
18
19 if (options?.isHosted && tool.hosting && !baseDescription.includes(HOSTED_API_KEY_NOTE)) {
20 notes.push(HOSTED_API_KEY_NOTE)
21 }
22
23 if (
24 options?.appendEmailTagline &&
25 EMAIL_TAGLINE_TOOL_IDS.has(tool.id) &&
26 !baseDescription.includes(EMAIL_TAGLINE_NOTE)
27 ) {
28 notes.push(EMAIL_TAGLINE_NOTE)
29 }
30
31 if (notes.length === 0) {
32 return baseDescription
33 }
34
35 return [baseDescription, ...notes].filter(Boolean).join(' ')
36}

Callers 4

executeFunction · 0.90

Calls 2

joinMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected