UNPKG

openai-swarmjs

Version:

Agentic framework inspired from OpenAI's swarm framework for TS, JS

40 lines (39 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.functionToJson = functionToJson; function functionToJson(func) { const funcStr = func.toString(); const params = funcStr .slice(funcStr.indexOf('(') + 1, funcStr.indexOf(')')) .split(','); const properties = {}; const required = []; params.forEach((param) => { const trimmedParam = param.trim(); if (trimmedParam) { const [name, defaultValue] = trimmedParam.split('='); const paramName = name.trim(); properties[paramName] = { type: 'string', description: `Parameter ${paramName}` }; if (!defaultValue) { required.push(paramName); } } }); const parameters = { type: 'object', properties, ...(required.length > 0 ? { required } : {}) }; const functionDefinition = { name: func.name, description: func.description || '', parameters }; return { type: 'function', function: functionDefinition }; }