eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
3 lines (2 loc) • 1.1 kB
JavaScript
import{createCodexFetch}from"./transport.js";import{createOpenAI}from"#compiled/@ai-sdk/openai/index.js";function createCodexSubscriptionModel(e,t={}){let n=e.model.trim();if(n.length===0)throw Error(`Expected "model" to name a Codex model.`);let r=createOpenAI({apiKey:`codex-local-auth`,fetch:createCodexFetch(t),name:`codex`}).responses(n);return{specificationVersion:r.specificationVersion,provider:r.provider,modelId:r.modelId,get supportedUrls(){return r.supportedUrls},doGenerate:e=>r.doGenerate(normalizeCodexCallOptions(e)),doStream:e=>r.doStream(normalizeCodexCallOptions(e))}}function normalizeCodexCallOptions(e){let t=e.providerOptions,n=t?.openai??{},{instructions:r,prompt:i}=hoistSystemInstructions(e.prompt),{maxOutputTokens:a,...o}=e;return{...o,prompt:i,providerOptions:{...t,openai:{...n,...r!==void 0&&{instructions:r},store:!1}}}}function hoistSystemInstructions(e){let t=e.filter(e=>e.role===`system`).map(e=>e.content);return t.length===0?{instructions:void 0,prompt:e}:{instructions:t.join(`
`),prompt:e.filter(e=>e.role!==`system`)}}export{createCodexSubscriptionModel};