evolve-sdk 0.0.44__tar.gz → 0.0.45__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {evolve_sdk-0.0.44/evolve_sdk.egg-info → evolve_sdk-0.0.45}/PKG-INFO +1 -1
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/bridge/dist/bridge.bundle.cjs +1 -1
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/__init__.py +1 -1
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45/evolve_sdk.egg-info}/PKG-INFO +1 -1
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/pyproject.toml +1 -1
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/LICENSE +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/MANIFEST.in +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/README.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/bridge/__init__.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/agent.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/bridge.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/browser_credentials.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/config.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/integrations.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/pipeline/__init__.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/pipeline/pipeline.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/pipeline/types.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/__init__.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/agent_md/judge.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/agent_md/reduce.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/agent_md/verify.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/user/judge.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/user/retry_feedback.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/prompts/user/verify.md +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/results.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/retry.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/schema.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/sessions_client.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/storage_client.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/swarm/__init__.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/swarm/results.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/swarm/swarm.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/swarm/types.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve/utils.py +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve_sdk.egg-info/SOURCES.txt +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve_sdk.egg-info/dependency_links.txt +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve_sdk.egg-info/requires.txt +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/evolve_sdk.egg-info/top_level.txt +0 -0
- {evolve_sdk-0.0.44 → evolve_sdk-0.0.45}/setup.cfg +0 -0
|
@@ -596,7 +596,7 @@ ${d.exception}`);if(d.status===3)throw new Error(`Image build for ${u.imageId} t
|
|
|
596
596
|
]))`;continue}else if(n[c]==="$"){i+=`($|(?=[\r
|
|
597
597
|
]))`;continue}}if(r.s&&n[c]==="."){i+=o?`${n[c]}\r
|
|
598
598
|
`:`[${n[c]}\r
|
|
599
|
-
]`;continue}i+=n[c],n[c]==="\\"?s=!0:o&&n[c]==="]"?o=!1:!o&&n[c]==="["&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function p3(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===rt.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??Ji(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===rt.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=d3(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===rt.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===rt.ZodBranded&&e.keyType._def.type._def.typeName===rt.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=u3(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function UIe(e,t){if(t.mapStrategy==="record")return p3(e,t);let r=Qt(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Ji(t),n=Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Ji(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function LIe(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),i=Array.from(new Set(n.map(s=>typeof s)));return{type:i.length===1?i[0]==="string"?"string":"number":["string","number"],enum:n}}function VIe(e){return e.target==="openAi"?void 0:{not:Ji({...e,currentPath:[...e.currentPath,"not"]})}}function qIe(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var fk={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function GIe(e,t){if(t.target==="openApi3")return $Ie(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in fk&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,s)=>{let o=fk[s._def.typeName];return o&&!i.includes(o)?[...i,o]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,s)=>{let o=typeof s._def.value;switch(o){case"string":case"number":case"boolean":return[...i,o];case"bigint":return[...i,"integer"];case"object":if(s._def.value===null)return[...i,"null"];case"symbol":case"undefined":case"function":default:return i}},[]);if(n.length===r.length){let i=n.filter((s,o,a)=>a.indexOf(s)===o);return{type:i.length>1?i:i[0],enum:r.reduce((s,o)=>s.includes(o._def.value)?s:[...s,o._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(s=>!n.includes(s))],[])};return $Ie(e,t)}var $Ie=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>Qt(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function HIe(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:fk[e.innerType._def.typeName],nullable:!0}:{type:[fk[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=Qt(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=Qt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function zIe(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",b7(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?rn(r,"minimum",n.value,n.message,t):rn(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),rn(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?rn(r,"maximum",n.value,n.message,t):rn(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),rn(r,"maximum",n.value,n.message,t));break;case"multipleOf":rn(r,"multipleOf",n.value,n.message,t);break}return r}function WIe(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],s=e.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let l=r6t(c);l&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),l=!1);let u=Qt(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});u!==void 0&&(n.properties[a]=u,l||i.push(a))}i.length&&(n.required=i);let o=t6t(e,t);return o!==void 0&&(n.additionalProperties=o),n}function t6t(e,t){if(e.catchall._def.typeName!=="ZodNever")return Qt(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function r6t(e){try{return e.isOptional()}catch{return!0}}var jIe=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return Qt(e.innerType._def,t);let r=Qt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Ji(t)},r]}:Ji(t)};var JIe=(e,t)=>{if(t.pipeStrategy==="input")return Qt(e.in._def,t);if(t.pipeStrategy==="output")return Qt(e.out._def,t);let r=Qt(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=Qt(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function YIe(e,t){return Qt(e.type._def,t)}function KIe(e,t){let n={type:"array",uniqueItems:!0,items:Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&rn(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&rn(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function ZIe(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>Qt(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:Qt(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>Qt(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function XIe(e){return{not:Ji(e)}}function QIe(e){return Ji(e)}var eCe=(e,t)=>Qt(e.innerType._def,t);var tCe=(e,t,r)=>{switch(t){case rt.ZodString:return d3(e,r);case rt.ZodNumber:return zIe(e,r);case rt.ZodObject:return WIe(e,r);case rt.ZodBigInt:return OIe(e,r);case rt.ZodBoolean:return PIe();case rt.ZodDate:return E7(e,r);case rt.ZodUndefined:return XIe(r);case rt.ZodNull:return qIe(r);case rt.ZodArray:return TIe(e,r);case rt.ZodUnion:case rt.ZodDiscriminatedUnion:return GIe(e,r);case rt.ZodIntersection:return MIe(e,r);case rt.ZodTuple:return ZIe(e,r);case rt.ZodRecord:return p3(e,r);case rt.ZodLiteral:return BIe(e,r);case rt.ZodEnum:return DIe(e);case rt.ZodNativeEnum:return LIe(e);case rt.ZodNullable:return HIe(e,r);case rt.ZodOptional:return jIe(e,r);case rt.ZodMap:return UIe(e,r);case rt.ZodSet:return KIe(e,r);case rt.ZodLazy:return()=>e.getter()._def;case rt.ZodPromise:return YIe(e,r);case rt.ZodNaN:case rt.ZodNever:return VIe(r);case rt.ZodEffects:return NIe(e,r);case rt.ZodAny:return Ji(r);case rt.ZodUnknown:return QIe(r);case rt.ZodDefault:return RIe(e,r);case rt.ZodBranded:return u3(e,r);case rt.ZodReadonly:return eCe(e,r);case rt.ZodCatch:return kIe(e,r);case rt.ZodPipeline:return JIe(e,r);case rt.ZodFunction:case rt.ZodVoid:case rt.ZodSymbol:return;default:return(n=>{})(t)}};function Qt(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==hIe)return a}if(n&&!r){let a=n6t(n,t);if(a!==void 0)return a}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let s=tCe(e,e.typeName,t),o=typeof s=="function"?Qt(s(),t):s;if(o&&i6t(e,t,o),t.postProcess){let a=t.postProcess(o,e,t);return i.jsonSchema=o,a}return i.jsonSchema=o,o}var n6t=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:i3(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),Ji(t)):t.$refStrategy==="seen"?Ji(t):void 0}},i6t=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var rCe=(e,t)=>{let r=gIe(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[l,u])=>({...c,[l]:Qt(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,l]},!0)??Ji(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=Qt(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??Ji(r),o=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;o!==void 0&&(s.title=o),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=i===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};var nCe=rCe;var uv=ne(require("fs"),1),CEe=require("fs");var Ps=require("path"),ns=require("fs/promises"),DP=require("os"),IY=require("child_process"),AEe=require("util");xL();Sge();dEe();var xqt=require("stream"),wqt=require("stream/promises");var Nsn={strict:{coerceTypes:!1,removeAdditional:!1,useDefaults:!1,allErrors:!0},loose:{coerceTypes:"array",removeAdditional:!1,useDefaults:!0,allErrors:!0}},Dsn={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",customHeadersEnv:"ANTHROPIC_CUSTOM_HEADERS",defaultModel:"opus",models:[{alias:"opus",modelId:"claude-opus-4-8",description:"Complex reasoning, R&D, architecting"},{alias:"sonnet",modelId:"claude-sonnet-4-6",description:"Daily coding, features, tests"},{alias:"haiku",modelId:"claude-haiku-4-5-20251001",description:"Quick tasks, syntax correction"},{alias:"opus[1m]",modelId:"opus[1m]",description:"Complex reasoning with 1M context window"},{alias:"sonnet[1m]",modelId:"sonnet[1m]",description:"Daily coding with 1M context window"}],systemPromptFile:"CLAUDE.md",mcpConfig:{settingsDir:"~/.claude",filename:"settings.json",format:"json",projectConfig:!0},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.claude/skills"},buildCommand:({prompt:e,model:t,isResume:r})=>`echo "${e}" | claude -p ${r?"--continue ":""}--model ${t} --output-format stream-json --verbose --dangerously-skip-permissions`},codex:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",oauthEnv:"CODEX_OAUTH_FILE_PATH",oauthFileName:"auth.json",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"gpt-5.4",models:[{alias:"gpt-5.5",modelId:"gpt-5.5",description:"Newest frontier model"},{alias:"gpt-5.4",modelId:"gpt-5.4",description:"Flagship for professional work"},{alias:"gpt-5.4-mini",modelId:"gpt-5.4-mini",description:"Fast, efficient mini model"},{alias:"gpt-5.3-codex",modelId:"gpt-5.3-codex",description:"Industry-leading code-optimized"},{alias:"gpt-5.2",modelId:"gpt-5.2",description:"Previous general-purpose model"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.codex",filename:"config.toml",format:"toml"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.codex/skills"},spendTrackingEnvs:{sessionTagEnv:"EVOLVE_LITELLM_CUSTOMER_ID",runTagEnv:"EVOLVE_LITELLM_TAGS"},setupCommand:`printf '%s\\n' "$OPENAI_API_KEY" | codex login --with-api-key`,buildCommand:({prompt:e,model:t,isResume:r,reasoningEffort:n})=>{let i=n?` -c model_reasoning_effort="${n}"`:"";return`printf '%s' "${e}" | codex exec --model ${t}${i} --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --json${r?" resume --last":""}`}},gemini:{image:"evolve-all",apiKeyEnv:"GEMINI_API_KEY",oauthEnv:"GEMINI_OAUTH_FILE_PATH",oauthFileName:"oauth_creds.json",oauthActivationEnv:{key:"GOOGLE_GENAI_USE_GCA",value:"true"},baseUrlEnv:"GOOGLE_GEMINI_BASE_URL",defaultModel:"gemini-3.1-pro-preview",models:[{alias:"gemini-3.1-pro-preview",modelId:"gemini-3.1-pro-preview",description:"Latest pro, complex agentic + coding"},{alias:"gemini-3.1-flash-lite-preview",modelId:"gemini-3.1-flash-lite-preview",description:"Cost-efficient, low latency"},{alias:"gemini-3.5-flash",modelId:"gemini-3.5-flash",description:"Latest Flash model"},{alias:"gemini-3-flash-preview",modelId:"gemini-3-flash-preview",description:"Frontier flash performance"},{alias:"gemini-2.5-pro",modelId:"gemini-2.5-pro",description:"Complex tasks, deep reasoning"},{alias:"gemini-2.5-flash",modelId:"gemini-2.5-flash",description:"Balance speed/reasoning"},{alias:"gemini-2.5-flash-lite",modelId:"gemini-2.5-flash-lite",description:"Simple tasks, fastest"}],systemPromptFile:"GEMINI.md",mcpConfig:{settingsDir:"~/.gemini",filename:"settings.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.gemini/skills"},customHeadersEnv:"GEMINI_CLI_CUSTOM_HEADERS",customHeadersFormat:"comma",gatewayPath:"/gemini",buildCommand:({prompt:e,model:t,isResume:r})=>`gemini "${e}" ${r?"--resume latest ":""}--model ${t} --yolo --output-format stream-json`},qwen:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"qwen3.6-plus",models:[{alias:"qwen3.6-plus",modelId:"qwen3.6-plus",description:"Latest flagship (Apr 2026)"},{alias:"qwen3.5-plus",modelId:"qwen3.5-plus",description:"Previous flagship, thinking-enabled"},{alias:"qwen3-max-2026-01-23",modelId:"qwen3-max-2026-01-23",description:"Max model with thinking"},{alias:"qwen3-coder-next",modelId:"qwen3-coder-next",description:"Recommended coder: balances quality/speed/cost"},{alias:"qwen3-coder-plus",modelId:"qwen3-coder-plus",description:"Max-quality coder for complex tasks"},{alias:"qwen3-coder-flash",modelId:"qwen3-coder-flash",description:"Fast coder with context cache"},{alias:"qwen3-vl-plus",modelId:"qwen3-vl-plus",description:"Vision + language, multimodal"}],systemPromptFile:"QWEN.md",mcpConfig:{settingsDir:"~/.qwen",filename:"settings.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.qwen/skills"},spendTrackingJsonConfig:{headersPath:"model.generationConfig.customHeaders"},gatewayModelAliases:{"qwen3.6-plus":"dashscope/qwen3.6-plus","qwen3.5-plus":"dashscope/qwen3.5-plus","qwen3-max-2026-01-23":"dashscope/qwen3-max-2026-01-23","qwen3-coder-next":"dashscope/qwen3-coder-next","qwen3-coder-plus":"dashscope/qwen3-coder-plus","qwen3-coder-flash":"dashscope/qwen3-coder-flash","qwen3-vl-plus":"dashscope/qwen3-vl-plus"},defaultBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",buildCommand:({prompt:e,model:t,isResume:r,isDirectMode:n})=>{let i=r?"--continue ":"",s=n||t.startsWith("dashscope/")?t:`dashscope/${t}`;return`qwen "${e}" ${i}--auth-type openai --model ${s} --yolo --output-format stream-json`}},kimi:{image:"evolve-all",apiKeyEnv:"KIMI_API_KEY",baseUrlEnv:"KIMI_BASE_URL",defaultModel:"kimi-k2.6",models:[{alias:"kimi-k2.6",modelId:"moonshot/kimi-k2.6",description:"Latest: long-horizon coding, swarm orchestration"},{alias:"kimi-k2.6-fast",modelId:"kimi-k2.6-fast",description:"Evolve-managed fast Kimi K2.6 for latency-sensitive agent runs"},{alias:"kimi-k2.5",modelId:"moonshot/kimi-k2.5",description:"Previous multimodal flagship"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.kimi",filename:"mcp.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.kimi/skills"},defaultBaseUrl:"https://api.moonshot.ai/v1",spendTrackingTomlProvider:{configPath:"~/.kimi/evolve-config.toml",providerName:"evolve-gateway",modelName:"evolve-default",maxContextSize:262144},gatewayModelAliases:{"kimi-k2.6":"moonshot/kimi-k2.6","kimi-k2.6-fast":"kimi-k2.6-turbo","kimi-k2.5":"moonshot/kimi-k2.5"},buildCommand:({prompt:e,model:t,isResume:r,isDirectMode:n})=>`printf '%s' "${e}" | KIMI_MODEL_NAME=${t} kimi --print --output-format stream-json --yolo ${n?"":"--config-file /home/user/.kimi/evolve-config.toml "}${r?"--continue ":""}`},opencode:{image:"evolve-all",apiKeyEnv:"OPENROUTER_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"openrouter/anthropic/claude-sonnet-4.6",providerEnvMap:{openrouter:{keyEnv:"OPENROUTER_API_KEY"}},gatewayConfigEnv:"OPENCODE_CONFIG_CONTENT",models:[{alias:"openrouter/anthropic/claude-sonnet-4.6",modelId:"openrouter/anthropic/claude-sonnet-4.6",description:"Anthropic Sonnet via OpenRouter"},{alias:"openrouter/anthropic/claude-opus-4.8",modelId:"openrouter/anthropic/claude-opus-4.8",description:"Anthropic Opus via OpenRouter"},{alias:"openrouter/anthropic/claude-haiku-4.5",modelId:"openrouter/anthropic/claude-haiku-4.5",description:"Anthropic Haiku via OpenRouter"},{alias:"openrouter/openai/gpt-5.5",modelId:"openrouter/openai/gpt-5.5",description:"OpenAI GPT-5.5 via OpenRouter"},{alias:"openrouter/openai/gpt-5.4",modelId:"openrouter/openai/gpt-5.4",description:"OpenAI GPT-5.4 via OpenRouter"},{alias:"openrouter/openai/gpt-5.4-mini",modelId:"openrouter/openai/gpt-5.4-mini",description:"OpenAI GPT-5.4 Mini via OpenRouter"},{alias:"openrouter/openai/gpt-5.3-codex",modelId:"openrouter/openai/gpt-5.3-codex",description:"OpenAI Codex via OpenRouter"},{alias:"openrouter/openai/gpt-5.2",modelId:"openrouter/openai/gpt-5.2",description:"OpenAI GPT-5.2 via OpenRouter"},{alias:"openrouter/google/gemini-3.1-pro-preview",modelId:"openrouter/google/gemini-3.1-pro-preview",description:"Gemini 3.1 Pro via OpenRouter"},{alias:"openrouter/google/gemini-3.5-flash",modelId:"openrouter/google/gemini-3.5-flash",description:"Gemini 3.5 Flash via OpenRouter"},{alias:"openrouter/google/gemini-3-flash-preview",modelId:"openrouter/google/gemini-3-flash-preview",description:"Gemini 3 Flash via OpenRouter"},{alias:"openrouter/qwen/qwen3-coder-next",modelId:"openrouter/qwen/qwen3-coder-next",description:"Qwen Coder Next via OpenRouter"},{alias:"openrouter/qwen/qwen3-coder-plus",modelId:"openrouter/qwen/qwen3-coder-plus",description:"Qwen Coder via OpenRouter"},{alias:"openrouter/moonshotai/kimi-k2.6",modelId:"openrouter/moonshotai/kimi-k2.6",description:"Kimi K2.6 via OpenRouter"},{alias:"openrouter/moonshotai/kimi-k2.5",modelId:"openrouter/moonshotai/kimi-k2.5",description:"Kimi K2.5 via OpenRouter"},{alias:"openrouter/z-ai/glm-5",modelId:"openrouter/z-ai/glm-5",description:"Zhipu GLM-5 via OpenRouter"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:".",filename:"opencode.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.agents/skills"},checkpointDirs:["~/.local/share/opencode","~/.config/opencode","~/.local/state/opencode"],buildCommand:({prompt:e,model:t,isResume:r,isDirectMode:n})=>{let i=r?"--continue ":"",s=t.startsWith("openrouter/")?t:`openrouter/${t}`;return n?`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${i}--model ${s} --format json "${e}" < /dev/null`:`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${i}--model litellm/${s} --format json "${e}" < /dev/null`}},droid:{image:"evolve-all",apiKeyEnv:"FACTORY_API_KEY",defaultModel:"gpt-5.5",models:[{alias:"claude-opus-4-8",modelId:"claude-opus-4-8",description:"Factory-managed Claude Opus 4.8"},{alias:"claude-opus-4-8-fast",modelId:"claude-opus-4-8-fast",description:"Factory-managed Claude Opus 4.8 Fast Mode"},{alias:"claude-sonnet-4-6",modelId:"claude-sonnet-4-6",description:"Factory-managed Claude Sonnet 4.6"},{alias:"claude-opus-4-6",modelId:"claude-opus-4-6",description:"Factory-managed Claude Opus 4.6"},{alias:"claude-opus-4-6-fast",modelId:"claude-opus-4-6-fast",description:"Factory-managed Claude Opus 4.6 Fast Mode"},{alias:"claude-opus-4-5",modelId:"claude-opus-4-5-20251101",description:"Factory-managed Claude Opus 4.5"},{alias:"claude-sonnet-4-5",modelId:"claude-sonnet-4-5-20250929",description:"Factory-managed Claude Sonnet 4.5"},{alias:"claude-haiku-4-5",modelId:"claude-haiku-4-5-20251001",description:"Factory-managed Claude Haiku 4.5"},{alias:"gpt-5.5",modelId:"gpt-5.5",description:"Factory-managed GPT-5.5"},{alias:"gpt-5.5-fast",modelId:"gpt-5.5-fast",description:"Factory-managed GPT-5.5 Fast Mode"},{alias:"gpt-5.5-pro",modelId:"gpt-5.5-pro",description:"Factory-managed GPT-5.5 Pro"},{alias:"gpt-5.4",modelId:"gpt-5.4",description:"Factory-managed GPT-5.4"},{alias:"gpt-5.4-fast",modelId:"gpt-5.4-fast",description:"Factory-managed GPT-5.4 Fast Mode"},{alias:"gpt-5.4-mini",modelId:"gpt-5.4-mini",description:"Factory-managed GPT-5.4 Mini"},{alias:"gpt-5.3-codex",modelId:"gpt-5.3-codex",description:"Factory-managed GPT-5.3-Codex"},{alias:"gpt-5.3-codex-fast",modelId:"gpt-5.3-codex-fast",description:"Factory-managed GPT-5.3-Codex Fast"},{alias:"gpt-5.2",modelId:"gpt-5.2",description:"Factory-managed GPT-5.2"},{alias:"gpt-5.2-codex",modelId:"gpt-5.2-codex",description:"Factory-managed GPT-5.2-Codex"},{alias:"gemini-3.1-pro-preview",modelId:"gemini-3.1-pro-preview",description:"Factory-managed Gemini 3.1 Pro"},{alias:"gemini-3-pro-preview",modelId:"gemini-3-pro-preview",description:"Factory-managed Gemini 3 Pro"},{alias:"gemini-3-flash-preview",modelId:"gemini-3-flash-preview",description:"Factory-managed Gemini 3 Flash"},{alias:"kimi-k2.6",modelId:"kimi-k2.6",description:"Factory-managed Droid Core Kimi K2.6"},{alias:"kimi-k2.5",modelId:"kimi-k2.5",description:"Factory-managed Droid Core Kimi K2.5"},{alias:"deepseek-v4-pro",modelId:"deepseek-v4-pro",description:"Factory-managed Droid Core DeepSeek V4 Pro"},{alias:"minimax-m2.7",modelId:"minimax-m2.7",description:"Factory-managed Droid Core MiniMax M2.7"},{alias:"minimax-m2.5",modelId:"minimax-m2.5",description:"Factory-managed Droid Core MiniMax M2.5"},{alias:"glm-5.1",modelId:"glm-5.1",description:"Factory-managed Droid Core GLM-5.1"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.factory",filename:"mcp.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.factory/skills"},skipApiKeyEnvInGateway:!0,gatewayModelAliases:{"kimi-k2.6":"moonshot/kimi-k2.6","kimi-k2.5":"moonshot/kimi-k2.5","deepseek-v4-pro":"deepseek/deepseek-v4-pro","minimax-m2.7":"minimax/minimax-m2.7","minimax-m2.5":"minimax/minimax-m2.5","glm-5.1":"openrouter/z-ai/glm-5.1"},droidGatewaySettings:{settingsPath:"~/.factory/evolve-settings.json",displayName:"Evolve Gateway",provider:"generic-chat-completion-api",maxOutputTokens:32768},checkpointDirs:["~/.factory"],buildCommand:({prompt:e,model:t,isResume:r,sessionId:n,reasoningEffort:i,isDirectMode:s})=>{let o=s?"":"--settings /home/user/.factory/evolve-settings.json ",a=s?t:"custom:Evolve-Gateway-0",c=i&&s?` --reasoning-effort ${i}`:"",l=r&&n?`--session-id ${pEe(n)} `:"";return`printf '%s' ${pEe(e)} | droid ${o}exec ${l}--skip-permissions-unsafe --cwd /home/user/workspace --output-format stream-json --model ${pEe(a)}${c}`}}};function hB(e){let t=Dsn[e];if(!t)throw new Error(`Unknown agent type: ${e}`);return t}function CY(e){return e.replace(/^~/,"/home/user")}function pEe(e){return`'${e.replace(/'/g,"'\\''")}'`}function mB(e){let t=hB(e);return`${CY(t.mcpConfig.settingsDir)}/${t.mcpConfig.filename}`}function gB(e){let t=hB(e);return CY(t.mcpConfig.settingsDir)}function $x(e){if(e instanceof Error){let t=e.message.toLowerCase();return t.includes("not found")||t.includes("enoent")||t.includes("no such file")||t.includes("does not exist")}return!1}function Iqt(e,t){let r=[t.command,t.url].filter(Boolean);if(r.length===0)throw new Error(`MCP server "${e}" must specify command or url`);if(r.length>1)throw new Error(`MCP server "${e}" cannot specify both command and url`)}function AY(e){for(let[t,r]of Object.entries(e))Iqt(t,r)}function yB(e){return e.type?e.type:e.command?"stdio":"sse"}function Msn(e){let t=yB(e);return{...e,type:t}}function Bsn(e){let{type:t,url:r,...n}=e;return yB(e)==="http"&&r?{httpUrl:r,...n}:r?{url:r,...n}:n}function Fsn(e){return{type:yB(e),...e}}function Usn(e){let{type:t,...r}=e;return r.command?{...r,transport:"stdio"}:r.url&&(t==="http"||t==="sse")?{...r,transport:t}:r}function Lsn(e){let t=yB(e),{type:r,httpHeaders:n,envHttpHeaders:i,bearerTokenEnvVar:s,envVars:o,...a}=e;if(t==="stdio"&&e.command)return{type:"stdio",...a};if(e.url){let c={...a,type:t==="sse"?"sse":"http",url:e.url},l=e.headers??n;return l&&Object.keys(l).length>0&&(c.headers=l),c}return{type:t==="stdio"?"stdio":"http",...a}}async function TEe(e,t,r,n){AY(r);let i=gB(t),s=mB(t);await e.files.makeDir(i);let o={};try{let c=await e.files.read(s);typeof c=="string"&&(o=JSON.parse(c))}catch(c){if(!$x(c))throw c}let a=Object.fromEntries(Object.entries(r).map(([c,l])=>[c,n(l)]));await e.files.write(s,JSON.stringify({...o,mcpServers:a},null,2))}async function Vsn(e,t,r){AY(r);let n=gB("claude"),i=mB("claude"),s=Object.fromEntries(Object.entries(r).map(([a,c])=>[a,Fsn(c)]));await e.files.write(`${t}/.mcp.json`,JSON.stringify({mcpServers:s},null,2)),await e.files.makeDir(n);let o={};try{let a=await e.files.read(i);typeof a=="string"&&(o=JSON.parse(a))}catch(a){if(!$x(a))throw a}o.enableAllProjectMcpServers=!0,await e.files.write(i,JSON.stringify(o,null,2))}async function qsn(e,t){await TEe(e,"gemini",t,Msn)}async function $sn(e,t){await TEe(e,"qwen",t,Bsn)}async function jVt(e,t,r,n){let i=gB(t),s=mB(t);await e.files.makeDir(i);let o={};try{let d=await e.files.read(s);typeof d=="string"&&(o=JSON.parse(d))}catch(d){if(!$x(d))throw d}let a=r.split("."),c=o;for(let d=0;d<a.length-1;d++){let p=a[d];(typeof c[p]!="object"||c[p]===null)&&(c[p]={}),c=c[p]}let l=a[a.length-1],u=typeof c[l]=="object"&&c[l]!==null?c[l]:{};c[l]={...u,...n},await e.files.write(s,JSON.stringify(o,null,2))}async function Gsn(e,t){await TEe(e,"kimi",t,Usn)}async function Hsn(e,t,r){AY(r);let n=`${t}/.factory`,i=`${n}/mcp.json`;await e.files.makeDir(n);let s={};try{let a=await e.files.read(i);typeof a=="string"&&(s=JSON.parse(a))}catch(a){if(!$x(a))throw a}let o=Object.fromEntries(Object.entries(r).map(([a,c])=>[a,Lsn(c)]));await e.files.write(i,JSON.stringify({...s,mcpServers:o},null,2))}async function zsn(e,t,r){let n=CY(t.settingsPath),i=n.slice(0,n.lastIndexOf("/"));await e.files.makeDir(i);let s={cloudSessionSync:!1,customModels:[{model:t.model,displayName:t.displayName,baseUrl:t.baseUrl,apiKey:`\${${t.apiKeyEnv}}`,provider:t.provider,...t.maxOutputTokens!==void 0&&{maxOutputTokens:t.maxOutputTokens},extraHeaders:r}]};await e.files.write(n,JSON.stringify(s,null,2))}async function Wsn(e,t,r){AY(r);let n=`${t}/opencode.json`,i={};try{let o=await e.files.read(n);typeof o=="string"&&(i=JSON.parse(o))}catch(o){if(!$x(o))throw o}let s=Object.fromEntries(Object.entries(r).map(([o,a])=>[o,jsn(a)]));await e.files.write(n,JSON.stringify({...i,mcp:s},null,2))}function jsn(e){let t=yB(e);if(t==="stdio"&&e.command){let r={type:"local",command:e.args?[e.command,...e.args]:[e.command]};return e.env&&Object.keys(e.env).length>0&&(r.environment=e.env),r}if(e.url){let r={type:"remote",url:e.url};return e.headers&&Object.keys(e.headers).length>0&&(r.headers=e.headers),r}return{type:t==="stdio"?"local":"remote",...e}}function dB(e=""){let t=process.env.EVOLVE_GATEWAY_URL||"https://swarmkit-gateway-692833842999.us-central1.run.app";if(!e)return t;let r=e.startsWith("/")?e:`/${e}`;return`${t}${r}`}function _Ee(e=""){let t=process.env.EVOLVE_DASHBOARD_URL||Ap;if(!e)return t;let r=e.startsWith("/")?e:`/${e}`;return`${t.replace(/\/$/,"")}${r}`}function JVt(){return _Ee("/api/managed/e2b")}function Jsn(e){return{"browser-use":{type:"http",url:dB("/browser_use/mcp"),headers:{"x-litellm-api-key":`Bearer ${e}`}}}}var hh="EVOLVE_API_KEY",fEe="E2B_API_KEY",hEe="DAYTONA_API_KEY",mEe="MODAL_TOKEN_ID",YVt="MODAL_TOKEN_SECRET",Ysn="claude",EEe=36e5,Ksn=4,KVt=100,Zsn="/home/user/workspace",Ap=process.env.EVOLVE_DASHBOARD_URL||"https://dashboard.evolvingmachines.ai",d0="x-litellm-customer-id",Vx="x-litellm-tags",RP="run:",Xsn=".evolve-sdk/observability/sessions",Qsn=100,eon=5e3,gEe=3,ZVt=1e3;function Kc(e){return typeof e=="string"?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:Array.isArray(e)?`[${e.map(t=>Kc(t)).join(", ")}]`:typeof e=="object"&&e!==null?`{ ${Object.entries(e).map(([t,r])=>`${t} = ${Kc(r)}`).join(", ")} }`:typeof e=="boolean"?e?"true":"false":String(e)}async function ton(e,t){for(let[c,l]of Object.entries(t))Iqt(c,l);let r=gB("codex"),n=mB("codex");await e.files.makeDir(r);let i="";try{let c=await e.files.read(n);typeof c=="string"&&(i=c)}catch(c){if(!$x(c))throw c}let s=[],o=[];i.includes("experimental_use_rmcp_client")||(s.push("# Enable improved RMCP client (recommended)"),s.push("experimental_use_rmcp_client = true")),i.includes("[mcp_servers]")||o.push("[mcp_servers]","");for(let[c,l]of Object.entries(t)){if(i.includes(`[mcp_servers.${c}]`))continue;o.push(`[mcp_servers.${c}]`);let u=l.type??(l.command?"stdio":"http");if(u==="http"||u==="sse"||l.url){if(!l.url)throw new Error(`MCP server "${c}" is missing url for ${u} transport`);o.push(`url = ${Kc(l.url)}`),l.bearerTokenEnvVar&&o.push(`bearer_token_env_var = ${Kc(l.bearerTokenEnvVar)}`);let d=l.httpHeaders??l.headers;d&&Object.keys(d).length>0&&o.push(`http_headers = ${Kc(d)}`),l.envHttpHeaders&&Object.keys(l.envHttpHeaders).length>0&&o.push(`env_http_headers = ${Kc(l.envHttpHeaders)}`)}else o.push(`command = ${Kc(l.command)}`),l.args&&l.args.length>0&&o.push(`args = ${Kc(l.args)}`),l.cwd&&o.push(`cwd = ${Kc(l.cwd)}`);l.env&&Object.keys(l.env).length>0&&o.push(`env = ${Kc(l.env)}`),l.envVars&&l.envVars.length>0&&o.push(`env_vars = ${Kc(l.envVars)}`),o.push("")}let a=[i.trim(),s.join(`
|
|
599
|
+
]`;continue}i+=n[c],n[c]==="\\"?s=!0:o&&n[c]==="]"?o=!1:!o&&n[c]==="["&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function p3(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===rt.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??Ji(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===rt.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=d3(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===rt.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===rt.ZodBranded&&e.keyType._def.type._def.typeName===rt.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=u3(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function UIe(e,t){if(t.mapStrategy==="record")return p3(e,t);let r=Qt(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Ji(t),n=Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Ji(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function LIe(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),i=Array.from(new Set(n.map(s=>typeof s)));return{type:i.length===1?i[0]==="string"?"string":"number":["string","number"],enum:n}}function VIe(e){return e.target==="openAi"?void 0:{not:Ji({...e,currentPath:[...e.currentPath,"not"]})}}function qIe(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var fk={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function GIe(e,t){if(t.target==="openApi3")return $Ie(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in fk&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,s)=>{let o=fk[s._def.typeName];return o&&!i.includes(o)?[...i,o]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,s)=>{let o=typeof s._def.value;switch(o){case"string":case"number":case"boolean":return[...i,o];case"bigint":return[...i,"integer"];case"object":if(s._def.value===null)return[...i,"null"];case"symbol":case"undefined":case"function":default:return i}},[]);if(n.length===r.length){let i=n.filter((s,o,a)=>a.indexOf(s)===o);return{type:i.length>1?i:i[0],enum:r.reduce((s,o)=>s.includes(o._def.value)?s:[...s,o._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(s=>!n.includes(s))],[])};return $Ie(e,t)}var $Ie=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>Qt(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function HIe(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:fk[e.innerType._def.typeName],nullable:!0}:{type:[fk[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=Qt(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=Qt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function zIe(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",b7(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?rn(r,"minimum",n.value,n.message,t):rn(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),rn(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?rn(r,"maximum",n.value,n.message,t):rn(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),rn(r,"maximum",n.value,n.message,t));break;case"multipleOf":rn(r,"multipleOf",n.value,n.message,t);break}return r}function WIe(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],s=e.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let l=r6t(c);l&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),l=!1);let u=Qt(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});u!==void 0&&(n.properties[a]=u,l||i.push(a))}i.length&&(n.required=i);let o=t6t(e,t);return o!==void 0&&(n.additionalProperties=o),n}function t6t(e,t){if(e.catchall._def.typeName!=="ZodNever")return Qt(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function r6t(e){try{return e.isOptional()}catch{return!0}}var jIe=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return Qt(e.innerType._def,t);let r=Qt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Ji(t)},r]}:Ji(t)};var JIe=(e,t)=>{if(t.pipeStrategy==="input")return Qt(e.in._def,t);if(t.pipeStrategy==="output")return Qt(e.out._def,t);let r=Qt(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=Qt(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function YIe(e,t){return Qt(e.type._def,t)}function KIe(e,t){let n={type:"array",uniqueItems:!0,items:Qt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&rn(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&rn(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function ZIe(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>Qt(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:Qt(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>Qt(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function XIe(e){return{not:Ji(e)}}function QIe(e){return Ji(e)}var eCe=(e,t)=>Qt(e.innerType._def,t);var tCe=(e,t,r)=>{switch(t){case rt.ZodString:return d3(e,r);case rt.ZodNumber:return zIe(e,r);case rt.ZodObject:return WIe(e,r);case rt.ZodBigInt:return OIe(e,r);case rt.ZodBoolean:return PIe();case rt.ZodDate:return E7(e,r);case rt.ZodUndefined:return XIe(r);case rt.ZodNull:return qIe(r);case rt.ZodArray:return TIe(e,r);case rt.ZodUnion:case rt.ZodDiscriminatedUnion:return GIe(e,r);case rt.ZodIntersection:return MIe(e,r);case rt.ZodTuple:return ZIe(e,r);case rt.ZodRecord:return p3(e,r);case rt.ZodLiteral:return BIe(e,r);case rt.ZodEnum:return DIe(e);case rt.ZodNativeEnum:return LIe(e);case rt.ZodNullable:return HIe(e,r);case rt.ZodOptional:return jIe(e,r);case rt.ZodMap:return UIe(e,r);case rt.ZodSet:return KIe(e,r);case rt.ZodLazy:return()=>e.getter()._def;case rt.ZodPromise:return YIe(e,r);case rt.ZodNaN:case rt.ZodNever:return VIe(r);case rt.ZodEffects:return NIe(e,r);case rt.ZodAny:return Ji(r);case rt.ZodUnknown:return QIe(r);case rt.ZodDefault:return RIe(e,r);case rt.ZodBranded:return u3(e,r);case rt.ZodReadonly:return eCe(e,r);case rt.ZodCatch:return kIe(e,r);case rt.ZodPipeline:return JIe(e,r);case rt.ZodFunction:case rt.ZodVoid:case rt.ZodSymbol:return;default:return(n=>{})(t)}};function Qt(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==hIe)return a}if(n&&!r){let a=n6t(n,t);if(a!==void 0)return a}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let s=tCe(e,e.typeName,t),o=typeof s=="function"?Qt(s(),t):s;if(o&&i6t(e,t,o),t.postProcess){let a=t.postProcess(o,e,t);return i.jsonSchema=o,a}return i.jsonSchema=o,o}var n6t=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:i3(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),Ji(t)):t.$refStrategy==="seen"?Ji(t):void 0}},i6t=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var rCe=(e,t)=>{let r=gIe(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[l,u])=>({...c,[l]:Qt(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,l]},!0)??Ji(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=Qt(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??Ji(r),o=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;o!==void 0&&(s.title=o),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=i===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};var nCe=rCe;var uv=ne(require("fs"),1),CEe=require("fs");var Ps=require("path"),ns=require("fs/promises"),DP=require("os"),IY=require("child_process"),AEe=require("util");xL();Sge();dEe();var xqt=require("stream"),wqt=require("stream/promises");var Nsn={strict:{coerceTypes:!1,removeAdditional:!1,useDefaults:!1,allErrors:!0},loose:{coerceTypes:"array",removeAdditional:!1,useDefaults:!0,allErrors:!0}},Dsn={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",customHeadersEnv:"ANTHROPIC_CUSTOM_HEADERS",defaultModel:"opus",models:[{alias:"opus",modelId:"claude-opus-4-8",description:"Complex reasoning, R&D, architecting"},{alias:"sonnet",modelId:"claude-sonnet-4-6",description:"Daily coding, features, tests"},{alias:"haiku",modelId:"claude-haiku-4-5-20251001",description:"Quick tasks, syntax correction"},{alias:"opus[1m]",modelId:"opus[1m]",description:"Complex reasoning with 1M context window"},{alias:"sonnet[1m]",modelId:"sonnet[1m]",description:"Daily coding with 1M context window"}],systemPromptFile:"CLAUDE.md",mcpConfig:{settingsDir:"~/.claude",filename:"settings.json",format:"json",projectConfig:!0},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.claude/skills"},buildCommand:({prompt:e,model:t,isResume:r})=>`echo "${e}" | claude -p ${r?"--continue ":""}--model ${t} --output-format stream-json --verbose --dangerously-skip-permissions`},codex:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",oauthEnv:"CODEX_OAUTH_FILE_PATH",oauthFileName:"auth.json",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"gpt-5.4",models:[{alias:"gpt-5.5",modelId:"gpt-5.5",description:"Newest frontier model"},{alias:"gpt-5.4",modelId:"gpt-5.4",description:"Flagship for professional work"},{alias:"gpt-5.4-mini",modelId:"gpt-5.4-mini",description:"Fast, efficient mini model"},{alias:"gpt-5.3-codex",modelId:"gpt-5.3-codex",description:"Industry-leading code-optimized"},{alias:"gpt-5.2",modelId:"gpt-5.2",description:"Previous general-purpose model"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.codex",filename:"config.toml",format:"toml"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.codex/skills"},spendTrackingEnvs:{sessionTagEnv:"EVOLVE_LITELLM_CUSTOMER_ID",runTagEnv:"EVOLVE_LITELLM_TAGS"},setupCommand:`printf '%s\\n' "$OPENAI_API_KEY" | codex login --with-api-key`,buildCommand:({prompt:e,model:t,isResume:r,reasoningEffort:n})=>{let i=n?` -c model_reasoning_effort="${n}"`:"";return`printf '%s' "${e}" | codex exec --model ${t}${i} --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --json${r?" resume --last":""}`}},gemini:{image:"evolve-all",apiKeyEnv:"GEMINI_API_KEY",oauthEnv:"GEMINI_OAUTH_FILE_PATH",oauthFileName:"oauth_creds.json",oauthActivationEnv:{key:"GOOGLE_GENAI_USE_GCA",value:"true"},baseUrlEnv:"GOOGLE_GEMINI_BASE_URL",defaultModel:"gemini-3.1-pro-preview",models:[{alias:"gemini-3.1-pro-preview",modelId:"gemini-3.1-pro-preview",description:"Latest pro, complex agentic + coding"},{alias:"gemini-3.1-flash-lite-preview",modelId:"gemini-3.1-flash-lite-preview",description:"Cost-efficient, low latency"},{alias:"gemini-3.5-flash",modelId:"gemini-3.5-flash",description:"Latest Flash model"},{alias:"gemini-3-flash-preview",modelId:"gemini-3-flash-preview",description:"Frontier flash performance"},{alias:"gemini-2.5-pro",modelId:"gemini-2.5-pro",description:"Complex tasks, deep reasoning"},{alias:"gemini-2.5-flash",modelId:"gemini-2.5-flash",description:"Balance speed/reasoning"},{alias:"gemini-2.5-flash-lite",modelId:"gemini-2.5-flash-lite",description:"Simple tasks, fastest"}],systemPromptFile:"GEMINI.md",mcpConfig:{settingsDir:"~/.gemini",filename:"settings.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.gemini/skills"},customHeadersEnv:"GEMINI_CLI_CUSTOM_HEADERS",customHeadersFormat:"comma",gatewayPath:"/gemini",buildCommand:({prompt:e,model:t,isResume:r})=>`gemini "${e}" ${r?"--resume latest ":""}--model ${t} --yolo --output-format stream-json`},qwen:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"qwen3.6-plus",models:[{alias:"qwen3.6-plus",modelId:"qwen3.6-plus",description:"Latest flagship (Apr 2026)"},{alias:"qwen3.5-plus",modelId:"qwen3.5-plus",description:"Previous flagship, thinking-enabled"},{alias:"qwen3-max-2026-01-23",modelId:"qwen3-max-2026-01-23",description:"Max model with thinking"},{alias:"qwen3-coder-next",modelId:"qwen3-coder-next",description:"Recommended coder: balances quality/speed/cost"},{alias:"qwen3-coder-plus",modelId:"qwen3-coder-plus",description:"Max-quality coder for complex tasks"},{alias:"qwen3-coder-flash",modelId:"qwen3-coder-flash",description:"Fast coder with context cache"},{alias:"qwen3-vl-plus",modelId:"qwen3-vl-plus",description:"Vision + language, multimodal"}],systemPromptFile:"QWEN.md",mcpConfig:{settingsDir:"~/.qwen",filename:"settings.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.qwen/skills"},spendTrackingJsonConfig:{headersPath:"model.generationConfig.customHeaders"},gatewayModelAliases:{"qwen3.6-plus":"dashscope/qwen3.6-plus","qwen3.5-plus":"dashscope/qwen3.5-plus","qwen3-max-2026-01-23":"dashscope/qwen3-max-2026-01-23","qwen3-coder-next":"dashscope/qwen3-coder-next","qwen3-coder-plus":"dashscope/qwen3-coder-plus","qwen3-coder-flash":"dashscope/qwen3-coder-flash","qwen3-vl-plus":"dashscope/qwen3-vl-plus"},defaultBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",buildCommand:({prompt:e,model:t,isResume:r,isDirectMode:n})=>{let i=r?"--continue ":"",s=n||t.startsWith("dashscope/")?t:`dashscope/${t}`;return`qwen "${e}" ${i}--auth-type openai --model ${s} --yolo --output-format stream-json`}},kimi:{image:"evolve-all",apiKeyEnv:"KIMI_API_KEY",baseUrlEnv:"KIMI_BASE_URL",defaultModel:"kimi-k2.6",models:[{alias:"kimi-k2.6",modelId:"moonshot/kimi-k2.6",description:"Latest: long-horizon coding, swarm orchestration"},{alias:"kimi-k2.6-turbo",modelId:"kimi-k2.6-turbo",description:"Evolve-managed Kimi K2.6 turbo route for latency-sensitive agent runs"},{alias:"kimi-k2.5",modelId:"moonshot/kimi-k2.5",description:"Previous multimodal flagship"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.kimi",filename:"mcp.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.kimi/skills"},defaultBaseUrl:"https://api.moonshot.ai/v1",spendTrackingTomlProvider:{configPath:"~/.kimi/evolve-config.toml",providerName:"evolve-gateway",modelName:"evolve-default",maxContextSize:262144},gatewayModelAliases:{"kimi-k2.6":"moonshot/kimi-k2.6","kimi-k2.6-turbo":"kimi-k2.6-turbo","kimi-k2.5":"moonshot/kimi-k2.5"},buildCommand:({prompt:e,model:t,isResume:r,isDirectMode:n})=>`printf '%s' "${e}" | KIMI_MODEL_NAME=${t} kimi --print --output-format stream-json --yolo ${n?"":"--config-file /home/user/.kimi/evolve-config.toml "}${r?"--continue ":""}`},opencode:{image:"evolve-all",apiKeyEnv:"OPENROUTER_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"openrouter/anthropic/claude-sonnet-4.6",providerEnvMap:{openrouter:{keyEnv:"OPENROUTER_API_KEY"}},gatewayConfigEnv:"OPENCODE_CONFIG_CONTENT",models:[{alias:"openrouter/anthropic/claude-sonnet-4.6",modelId:"openrouter/anthropic/claude-sonnet-4.6",description:"Anthropic Sonnet via OpenRouter"},{alias:"openrouter/anthropic/claude-opus-4.8",modelId:"openrouter/anthropic/claude-opus-4.8",description:"Anthropic Opus via OpenRouter"},{alias:"openrouter/anthropic/claude-haiku-4.5",modelId:"openrouter/anthropic/claude-haiku-4.5",description:"Anthropic Haiku via OpenRouter"},{alias:"openrouter/openai/gpt-5.5",modelId:"openrouter/openai/gpt-5.5",description:"OpenAI GPT-5.5 via OpenRouter"},{alias:"openrouter/openai/gpt-5.4",modelId:"openrouter/openai/gpt-5.4",description:"OpenAI GPT-5.4 via OpenRouter"},{alias:"openrouter/openai/gpt-5.4-mini",modelId:"openrouter/openai/gpt-5.4-mini",description:"OpenAI GPT-5.4 Mini via OpenRouter"},{alias:"openrouter/openai/gpt-5.3-codex",modelId:"openrouter/openai/gpt-5.3-codex",description:"OpenAI Codex via OpenRouter"},{alias:"openrouter/openai/gpt-5.2",modelId:"openrouter/openai/gpt-5.2",description:"OpenAI GPT-5.2 via OpenRouter"},{alias:"openrouter/google/gemini-3.1-pro-preview",modelId:"openrouter/google/gemini-3.1-pro-preview",description:"Gemini 3.1 Pro via OpenRouter"},{alias:"openrouter/google/gemini-3.5-flash",modelId:"openrouter/google/gemini-3.5-flash",description:"Gemini 3.5 Flash via OpenRouter"},{alias:"openrouter/google/gemini-3-flash-preview",modelId:"openrouter/google/gemini-3-flash-preview",description:"Gemini 3 Flash via OpenRouter"},{alias:"openrouter/qwen/qwen3-coder-next",modelId:"openrouter/qwen/qwen3-coder-next",description:"Qwen Coder Next via OpenRouter"},{alias:"openrouter/qwen/qwen3-coder-plus",modelId:"openrouter/qwen/qwen3-coder-plus",description:"Qwen Coder via OpenRouter"},{alias:"openrouter/moonshotai/kimi-k2.6",modelId:"openrouter/moonshotai/kimi-k2.6",description:"Kimi K2.6 via OpenRouter"},{alias:"openrouter/moonshotai/kimi-k2.5",modelId:"openrouter/moonshotai/kimi-k2.5",description:"Kimi K2.5 via OpenRouter"},{alias:"openrouter/z-ai/glm-5",modelId:"openrouter/z-ai/glm-5",description:"Zhipu GLM-5 via OpenRouter"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:".",filename:"opencode.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.agents/skills"},checkpointDirs:["~/.local/share/opencode","~/.config/opencode","~/.local/state/opencode"],buildCommand:({prompt:e,model:t,isResume:r,isDirectMode:n})=>{let i=r?"--continue ":"",s=t.startsWith("openrouter/")?t:`openrouter/${t}`;return n?`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${i}--model ${s} --format json "${e}" < /dev/null`:`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${i}--model litellm/${s} --format json "${e}" < /dev/null`}},droid:{image:"evolve-all",apiKeyEnv:"FACTORY_API_KEY",defaultModel:"gpt-5.5",models:[{alias:"claude-opus-4-8",modelId:"claude-opus-4-8",description:"Factory-managed Claude Opus 4.8"},{alias:"claude-opus-4-8-fast",modelId:"claude-opus-4-8-fast",description:"Factory-managed Claude Opus 4.8 Fast Mode"},{alias:"claude-sonnet-4-6",modelId:"claude-sonnet-4-6",description:"Factory-managed Claude Sonnet 4.6"},{alias:"claude-opus-4-6",modelId:"claude-opus-4-6",description:"Factory-managed Claude Opus 4.6"},{alias:"claude-opus-4-6-fast",modelId:"claude-opus-4-6-fast",description:"Factory-managed Claude Opus 4.6 Fast Mode"},{alias:"claude-opus-4-5",modelId:"claude-opus-4-5-20251101",description:"Factory-managed Claude Opus 4.5"},{alias:"claude-sonnet-4-5",modelId:"claude-sonnet-4-5-20250929",description:"Factory-managed Claude Sonnet 4.5"},{alias:"claude-haiku-4-5",modelId:"claude-haiku-4-5-20251001",description:"Factory-managed Claude Haiku 4.5"},{alias:"gpt-5.5",modelId:"gpt-5.5",description:"Factory-managed GPT-5.5"},{alias:"gpt-5.5-fast",modelId:"gpt-5.5-fast",description:"Factory-managed GPT-5.5 Fast Mode"},{alias:"gpt-5.5-pro",modelId:"gpt-5.5-pro",description:"Factory-managed GPT-5.5 Pro"},{alias:"gpt-5.4",modelId:"gpt-5.4",description:"Factory-managed GPT-5.4"},{alias:"gpt-5.4-fast",modelId:"gpt-5.4-fast",description:"Factory-managed GPT-5.4 Fast Mode"},{alias:"gpt-5.4-mini",modelId:"gpt-5.4-mini",description:"Factory-managed GPT-5.4 Mini"},{alias:"gpt-5.3-codex",modelId:"gpt-5.3-codex",description:"Factory-managed GPT-5.3-Codex"},{alias:"gpt-5.3-codex-fast",modelId:"gpt-5.3-codex-fast",description:"Factory-managed GPT-5.3-Codex Fast"},{alias:"gpt-5.2",modelId:"gpt-5.2",description:"Factory-managed GPT-5.2"},{alias:"gpt-5.2-codex",modelId:"gpt-5.2-codex",description:"Factory-managed GPT-5.2-Codex"},{alias:"gemini-3.1-pro-preview",modelId:"gemini-3.1-pro-preview",description:"Factory-managed Gemini 3.1 Pro"},{alias:"gemini-3-pro-preview",modelId:"gemini-3-pro-preview",description:"Factory-managed Gemini 3 Pro"},{alias:"gemini-3-flash-preview",modelId:"gemini-3-flash-preview",description:"Factory-managed Gemini 3 Flash"},{alias:"kimi-k2.6",modelId:"kimi-k2.6",description:"Factory-managed Droid Core Kimi K2.6"},{alias:"kimi-k2.5",modelId:"kimi-k2.5",description:"Factory-managed Droid Core Kimi K2.5"},{alias:"deepseek-v4-pro",modelId:"deepseek-v4-pro",description:"Factory-managed Droid Core DeepSeek V4 Pro"},{alias:"minimax-m2.7",modelId:"minimax-m2.7",description:"Factory-managed Droid Core MiniMax M2.7"},{alias:"minimax-m2.5",modelId:"minimax-m2.5",description:"Factory-managed Droid Core MiniMax M2.5"},{alias:"glm-5.1",modelId:"glm-5.1",description:"Factory-managed Droid Core GLM-5.1"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.factory",filename:"mcp.json",format:"json"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.factory/skills"},skipApiKeyEnvInGateway:!0,gatewayModelAliases:{"kimi-k2.6":"moonshot/kimi-k2.6","kimi-k2.5":"moonshot/kimi-k2.5","deepseek-v4-pro":"deepseek/deepseek-v4-pro","minimax-m2.7":"minimax/minimax-m2.7","minimax-m2.5":"minimax/minimax-m2.5","glm-5.1":"openrouter/z-ai/glm-5.1"},droidGatewaySettings:{settingsPath:"~/.factory/evolve-settings.json",displayName:"Evolve Gateway",provider:"generic-chat-completion-api",maxOutputTokens:32768},checkpointDirs:["~/.factory"],buildCommand:({prompt:e,model:t,isResume:r,sessionId:n,reasoningEffort:i,isDirectMode:s})=>{let o=s?"":"--settings /home/user/.factory/evolve-settings.json ",a=s?t:"custom:Evolve-Gateway-0",c=i&&s?` --reasoning-effort ${i}`:"",l=r&&n?`--session-id ${pEe(n)} `:"";return`printf '%s' ${pEe(e)} | droid ${o}exec ${l}--skip-permissions-unsafe --cwd /home/user/workspace --output-format stream-json --model ${pEe(a)}${c}`}}};function hB(e){let t=Dsn[e];if(!t)throw new Error(`Unknown agent type: ${e}`);return t}function CY(e){return e.replace(/^~/,"/home/user")}function pEe(e){return`'${e.replace(/'/g,"'\\''")}'`}function mB(e){let t=hB(e);return`${CY(t.mcpConfig.settingsDir)}/${t.mcpConfig.filename}`}function gB(e){let t=hB(e);return CY(t.mcpConfig.settingsDir)}function $x(e){if(e instanceof Error){let t=e.message.toLowerCase();return t.includes("not found")||t.includes("enoent")||t.includes("no such file")||t.includes("does not exist")}return!1}function Iqt(e,t){let r=[t.command,t.url].filter(Boolean);if(r.length===0)throw new Error(`MCP server "${e}" must specify command or url`);if(r.length>1)throw new Error(`MCP server "${e}" cannot specify both command and url`)}function AY(e){for(let[t,r]of Object.entries(e))Iqt(t,r)}function yB(e){return e.type?e.type:e.command?"stdio":"sse"}function Msn(e){let t=yB(e);return{...e,type:t}}function Bsn(e){let{type:t,url:r,...n}=e;return yB(e)==="http"&&r?{httpUrl:r,...n}:r?{url:r,...n}:n}function Fsn(e){return{type:yB(e),...e}}function Usn(e){let{type:t,...r}=e;return r.command?{...r,transport:"stdio"}:r.url&&(t==="http"||t==="sse")?{...r,transport:t}:r}function Lsn(e){let t=yB(e),{type:r,httpHeaders:n,envHttpHeaders:i,bearerTokenEnvVar:s,envVars:o,...a}=e;if(t==="stdio"&&e.command)return{type:"stdio",...a};if(e.url){let c={...a,type:t==="sse"?"sse":"http",url:e.url},l=e.headers??n;return l&&Object.keys(l).length>0&&(c.headers=l),c}return{type:t==="stdio"?"stdio":"http",...a}}async function TEe(e,t,r,n){AY(r);let i=gB(t),s=mB(t);await e.files.makeDir(i);let o={};try{let c=await e.files.read(s);typeof c=="string"&&(o=JSON.parse(c))}catch(c){if(!$x(c))throw c}let a=Object.fromEntries(Object.entries(r).map(([c,l])=>[c,n(l)]));await e.files.write(s,JSON.stringify({...o,mcpServers:a},null,2))}async function Vsn(e,t,r){AY(r);let n=gB("claude"),i=mB("claude"),s=Object.fromEntries(Object.entries(r).map(([a,c])=>[a,Fsn(c)]));await e.files.write(`${t}/.mcp.json`,JSON.stringify({mcpServers:s},null,2)),await e.files.makeDir(n);let o={};try{let a=await e.files.read(i);typeof a=="string"&&(o=JSON.parse(a))}catch(a){if(!$x(a))throw a}o.enableAllProjectMcpServers=!0,await e.files.write(i,JSON.stringify(o,null,2))}async function qsn(e,t){await TEe(e,"gemini",t,Msn)}async function $sn(e,t){await TEe(e,"qwen",t,Bsn)}async function jVt(e,t,r,n){let i=gB(t),s=mB(t);await e.files.makeDir(i);let o={};try{let d=await e.files.read(s);typeof d=="string"&&(o=JSON.parse(d))}catch(d){if(!$x(d))throw d}let a=r.split("."),c=o;for(let d=0;d<a.length-1;d++){let p=a[d];(typeof c[p]!="object"||c[p]===null)&&(c[p]={}),c=c[p]}let l=a[a.length-1],u=typeof c[l]=="object"&&c[l]!==null?c[l]:{};c[l]={...u,...n},await e.files.write(s,JSON.stringify(o,null,2))}async function Gsn(e,t){await TEe(e,"kimi",t,Usn)}async function Hsn(e,t,r){AY(r);let n=`${t}/.factory`,i=`${n}/mcp.json`;await e.files.makeDir(n);let s={};try{let a=await e.files.read(i);typeof a=="string"&&(s=JSON.parse(a))}catch(a){if(!$x(a))throw a}let o=Object.fromEntries(Object.entries(r).map(([a,c])=>[a,Lsn(c)]));await e.files.write(i,JSON.stringify({...s,mcpServers:o},null,2))}async function zsn(e,t,r){let n=CY(t.settingsPath),i=n.slice(0,n.lastIndexOf("/"));await e.files.makeDir(i);let s={cloudSessionSync:!1,customModels:[{model:t.model,displayName:t.displayName,baseUrl:t.baseUrl,apiKey:`\${${t.apiKeyEnv}}`,provider:t.provider,...t.maxOutputTokens!==void 0&&{maxOutputTokens:t.maxOutputTokens},extraHeaders:r}]};await e.files.write(n,JSON.stringify(s,null,2))}async function Wsn(e,t,r){AY(r);let n=`${t}/opencode.json`,i={};try{let o=await e.files.read(n);typeof o=="string"&&(i=JSON.parse(o))}catch(o){if(!$x(o))throw o}let s=Object.fromEntries(Object.entries(r).map(([o,a])=>[o,jsn(a)]));await e.files.write(n,JSON.stringify({...i,mcp:s},null,2))}function jsn(e){let t=yB(e);if(t==="stdio"&&e.command){let r={type:"local",command:e.args?[e.command,...e.args]:[e.command]};return e.env&&Object.keys(e.env).length>0&&(r.environment=e.env),r}if(e.url){let r={type:"remote",url:e.url};return e.headers&&Object.keys(e.headers).length>0&&(r.headers=e.headers),r}return{type:t==="stdio"?"local":"remote",...e}}function dB(e=""){let t=process.env.EVOLVE_GATEWAY_URL||"https://swarmkit-gateway-692833842999.us-central1.run.app";if(!e)return t;let r=e.startsWith("/")?e:`/${e}`;return`${t}${r}`}function _Ee(e=""){let t=process.env.EVOLVE_DASHBOARD_URL||Ap;if(!e)return t;let r=e.startsWith("/")?e:`/${e}`;return`${t.replace(/\/$/,"")}${r}`}function JVt(){return _Ee("/api/managed/e2b")}function Jsn(e){return{"browser-use":{type:"http",url:dB("/browser_use/mcp"),headers:{"x-litellm-api-key":`Bearer ${e}`}}}}var hh="EVOLVE_API_KEY",fEe="E2B_API_KEY",hEe="DAYTONA_API_KEY",mEe="MODAL_TOKEN_ID",YVt="MODAL_TOKEN_SECRET",Ysn="claude",EEe=36e5,Ksn=4,KVt=100,Zsn="/home/user/workspace",Ap=process.env.EVOLVE_DASHBOARD_URL||"https://dashboard.evolvingmachines.ai",d0="x-litellm-customer-id",Vx="x-litellm-tags",RP="run:",Xsn=".evolve-sdk/observability/sessions",Qsn=100,eon=5e3,gEe=3,ZVt=1e3;function Kc(e){return typeof e=="string"?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:Array.isArray(e)?`[${e.map(t=>Kc(t)).join(", ")}]`:typeof e=="object"&&e!==null?`{ ${Object.entries(e).map(([t,r])=>`${t} = ${Kc(r)}`).join(", ")} }`:typeof e=="boolean"?e?"true":"false":String(e)}async function ton(e,t){for(let[c,l]of Object.entries(t))Iqt(c,l);let r=gB("codex"),n=mB("codex");await e.files.makeDir(r);let i="";try{let c=await e.files.read(n);typeof c=="string"&&(i=c)}catch(c){if(!$x(c))throw c}let s=[],o=[];i.includes("experimental_use_rmcp_client")||(s.push("# Enable improved RMCP client (recommended)"),s.push("experimental_use_rmcp_client = true")),i.includes("[mcp_servers]")||o.push("[mcp_servers]","");for(let[c,l]of Object.entries(t)){if(i.includes(`[mcp_servers.${c}]`))continue;o.push(`[mcp_servers.${c}]`);let u=l.type??(l.command?"stdio":"http");if(u==="http"||u==="sse"||l.url){if(!l.url)throw new Error(`MCP server "${c}" is missing url for ${u} transport`);o.push(`url = ${Kc(l.url)}`),l.bearerTokenEnvVar&&o.push(`bearer_token_env_var = ${Kc(l.bearerTokenEnvVar)}`);let d=l.httpHeaders??l.headers;d&&Object.keys(d).length>0&&o.push(`http_headers = ${Kc(d)}`),l.envHttpHeaders&&Object.keys(l.envHttpHeaders).length>0&&o.push(`env_http_headers = ${Kc(l.envHttpHeaders)}`)}else o.push(`command = ${Kc(l.command)}`),l.args&&l.args.length>0&&o.push(`args = ${Kc(l.args)}`),l.cwd&&o.push(`cwd = ${Kc(l.cwd)}`);l.env&&Object.keys(l.env).length>0&&o.push(`env = ${Kc(l.env)}`),l.envVars&&l.envVars.length>0&&o.push(`env_vars = ${Kc(l.envVars)}`),o.push("")}let a=[i.trim(),s.join(`
|
|
600
600
|
`),o.join(`
|
|
601
601
|
`)].filter(c=>c.length>0);await e.files.write(n,a.join(`
|
|
602
602
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|