UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

1 lines 2.4 kB
import{createDevDiagnostics}from"../diagnostics.js";import{promptCommandsFor}from"./prompt-commands.js";import{probeMcpConnection}from"./mcp-connection-status.js";import{createPromptCommandHandler}from"./prompt-command-handler.js";import{formatRemoteAuthChallengeMessage}from"./remote-auth-result.js";import{remoteHost}from"./target.js";import{EveTUIRunner}from"./runner.js";import{Client}from"#client/index.js";import{toErrorMessage}from"#shared/errors.js";import{resolveDevelopmentOidcToken,resolveLinkedDevelopmentOidcToken}from"#services/dev-client/request-headers.js";import{isVercelAuthChallenge}from"#services/dev-client/vercel-auth-error.js";import{resolveVercelDeployment}from"#setup/vercel-deployment.js";import{resolveLocalDevelopmentClientOptions,resolveRemoteDevelopmentClientOptions}from"#services/dev-client/client-options.js";import{createDevelopmentCredentialGate}from"#services/dev-client/credential-gate.js";function prepareRemoteTarget(e){return{target:e,credentials:createDevelopmentCredentialGate(e.serverUrl),resolveOidcToken:resolveDevelopmentOidcToken,resolveDeployment:t=>resolveVercelDeployment({workspaceRoot:e.workspaceRoot,host:remoteHost(e),signal:t})}}function prepareDevelopmentTarget(e){return e.kind===`local`?{kind:`local`,target:e}:{kind:`remote`,target:e,remote:prepareRemoteTarget(e)}}async function runDevelopmentTui(n){let{target:r,headers:i,initialInput:a,onBootProgress:o,...s}=n,c=prepareDevelopmentTarget(r),{serverUrl:l}=r,u=i===void 0?{}:{headers:i},d=new Client(c.kind===`local`?resolveLocalDevelopmentClientOptions({...u,serverUrl:l,token:()=>resolveLinkedDevelopmentOidcToken(c.target.workspaceRoot)}):resolveRemoteDevelopmentClientOptions({...u,serverUrl:l,credentials:c.remote.credentials})),f={...s,session:d.session(),client:d,serverUrl:l,promptCommandHandler:createPromptCommandHandler({target:r}),availablePromptCommands:promptCommandsFor(r.kind),formatTransportError:e=>isVercelAuthChallenge(e)?formatRemoteAuthChallengeMessage(l):toErrorMessage(e)};c.kind===`local`?(f.appRoot=c.target.workspaceRoot,f.probeMcpConnection=probeMcpConnection):f.remote=c.remote,a!==void 0&&(f.initialInput=a),o!==void 0&&(f.onBootProgress=o);let p=c.kind===`local`?await createDevDiagnostics(c.target.workspaceRoot).catch(()=>void 0):void 0;p!==void 0&&(f.diagnostics=p);try{await new EveTUIRunner(f).run()}finally{await p?.close()}}export{runDevelopmentTui};