eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.28 kB
JavaScript
const SALIENT_KEYS={bash:[`command`],glob:[`pattern`],grep:[`pattern`,`path`],load_skill:[`skill`],read_file:[`filePath`],web_fetch:[`url`],web_search:[`query`],write_file:[`filePath`]},GENERIC_KEYS=[`filePath`,`path`,`pattern`,`command`,`query`,`name`,`repo`,`url`,`issueNumber`,`number`];function salientArg(n,r){for(let i of SALIENT_KEYS[n]??GENERIC_KEYS){let e=r[i];if(typeof e==`string`&&e.trim().length>0)return e;if(typeof e==`number`)return String(e)}return null}function shortenArg(e){let t=e.split(/\r?\n/u,1)[0]?.trim()??``;if(t.length<=40)return t;if(t.includes(`/`)&&!t.includes(` `)){let e=t.split(`/`).filter(e=>e.length>0).slice(-2).join(`/`);if(e.length<=40)return e}return`${t.slice(0,37).trimEnd()}...`}function toolCallLabel(e,t){let n=salientArg(e,t);return n===null?e:`${e} ${shortenArg(n)}`}function describeActionRequest(e){switch(e.kind){case`load-skill`:return toolCallLabel(`load_skill`,e.input);case`remote-agent-call`:return e.remoteAgentName;case`subagent-call`:return e.subagentName;case`tool-call`:return toolCallLabel(e.toolName,e.input)}}function describeActionRequests(e){let[t]=e;if(t===void 0)return`Working...`;let n=describeActionRequest(t);return e.length===1?n:`${n} +${e.length-1} more`}export{describeActionRequest,describeActionRequests};