A React Native app for the ultimate thinking partner.
at main 943 B view raw
1/** 2 * Format tool call arguments as Python-style string 3 * 4 * Input: { query: "poetry", num_results: 10 } 5 * Output: query="poetry", num_results=10 6 */ 7export function formatToolArgs(args: any): string { 8 if (!args || typeof args !== 'object') { 9 return ''; 10 } 11 12 return Object.entries(args) 13 .map(([k, v]) => `${k}=${typeof v === 'string' ? `"${v}"` : JSON.stringify(v)}`) 14 .join(', '); 15} 16 17/** 18 * Format tool call as Python-style function call 19 * 20 * Input: name="web_search", arguments='{"query":"poetry","num_results":10}' 21 * Output: web_search(query="poetry", num_results=10) 22 */ 23export function formatToolCall(name: string, argumentsJson: string): string { 24 try { 25 const argsObj = JSON.parse(argumentsJson); 26 const formattedArgs = formatToolArgs(argsObj); 27 return `${name}(${formattedArgs})`; 28 } catch (e) { 29 // If JSON parse fails, wrap the raw string in parens 30 return `${name}(${argumentsJson})`; 31 } 32}