evolve-sdk 0.0.52.dev897__tar.gz → 0.0.52.dev898__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.
Files changed (44) hide show
  1. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/PKG-INFO +1 -1
  2. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/bridge/dist/bridge.bundle.cjs +2 -2
  3. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/__init__.py +1 -1
  4. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve_sdk.egg-info/PKG-INFO +1 -1
  5. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/pyproject.toml +1 -1
  6. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/LICENSE +0 -0
  7. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/MANIFEST.in +0 -0
  8. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/README.md +0 -0
  9. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/bridge/__init__.py +0 -0
  10. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/_http.py +0 -0
  11. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/agent.py +0 -0
  12. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/bridge.py +0 -0
  13. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/browser_credentials.py +0 -0
  14. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/browser_profiles.py +0 -0
  15. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/config.py +0 -0
  16. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/hosted.py +0 -0
  17. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/integrations.py +0 -0
  18. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/managed_secrets.py +0 -0
  19. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/pipeline/__init__.py +0 -0
  20. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/pipeline/pipeline.py +0 -0
  21. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/pipeline/types.py +0 -0
  22. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/__init__.py +0 -0
  23. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/agent_md/judge.md +0 -0
  24. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/agent_md/reduce.md +0 -0
  25. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/agent_md/verify.md +0 -0
  26. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/user/judge.md +0 -0
  27. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/user/retry_feedback.md +0 -0
  28. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/prompts/user/verify.md +0 -0
  29. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/py.typed +0 -0
  30. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/results.py +0 -0
  31. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/retry.py +0 -0
  32. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/schema.py +0 -0
  33. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/sessions_client.py +0 -0
  34. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/storage_client.py +0 -0
  35. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/swarm/__init__.py +0 -0
  36. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/swarm/results.py +0 -0
  37. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/swarm/swarm.py +0 -0
  38. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/swarm/types.py +0 -0
  39. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve/utils.py +0 -0
  40. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve_sdk.egg-info/SOURCES.txt +0 -0
  41. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve_sdk.egg-info/dependency_links.txt +0 -0
  42. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve_sdk.egg-info/requires.txt +0 -0
  43. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/evolve_sdk.egg-info/top_level.txt +0 -0
  44. {evolve_sdk-0.0.52.dev897 → evolve_sdk-0.0.52.dev898}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evolve-sdk
3
- Version: 0.0.52.dev897
3
+ Version: 0.0.52.dev898
4
4
  Summary: Pythonic SDK for multi-agent orchestration in E2B sandboxes
5
5
  Author-email: "Swarmlink, Inc." <brandomagnani@evolvingmachines.ai>
6
6
  License: Apache-2.0
@@ -673,12 +673,12 @@ if __name__ == "__main__":
673
673
  `:`[${r[c]}\r
674
674
  ]`;continue}a+=r[c],r[c]==="\\"?i=!0:s&&r[c]==="]"?s=!1:!s&&r[c]==="["&&(s=!0)}try{new RegExp(a)}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 a}function xA(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===Be.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((r,a)=>({...r,[a]:gt(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",a]})??zr(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:"object",additionalProperties:gt(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===Be.ZodString&&e.keyType._def.checks?.length){let{type:r,...a}=IA(e.keyType._def,t);return{...n,propertyNames:a}}else{if(e.keyType?._def.typeName===Be.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===Be.ZodBranded&&e.keyType._def.type._def.typeName===Be.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...a}=wA(e.keyType._def,t);return{...n,propertyNames:a}}}return n}function fne(e,t){if(t.mapStrategy==="record")return xA(e,t);let n=gt(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||zr(t),r=gt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||zr(t);return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}function pne(e){let t=e.values,r=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),a=Array.from(new Set(r.map(i=>typeof i)));return{type:a.length===1?a[0]==="string"?"string":"number":["string","number"],enum:r}}function hne(e){return e.target==="openAi"?void 0:{not:zr({...e,currentPath:[...e.currentPath,"not"]})}}function mne(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var wI={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function yne(e,t){if(t.target==="openApi3")return gne(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in wI&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((a,i)=>{let s=wI[i._def.typeName];return s&&!a.includes(s)?[...a,s]:a},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((a,i)=>{let s=typeof i._def.value;switch(s){case"string":case"number":case"boolean":return[...a,s];case"bigint":return[...a,"integer"];case"object":if(i._def.value===null)return[...a,"null"];case"symbol":case"undefined":case"function":default:return a}},[]);if(r.length===n.length){let a=r.filter((i,s,o)=>o.indexOf(i)===s);return{type:a.length>1?a:a[0],enum:n.reduce((i,s)=>i.includes(s._def.value)?i:[...i,s._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,a)=>[...r,...a._def.values.filter(i=>!r.includes(i))],[])};return gne(e,t)}var gne=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,a)=>gt(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${a}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function vne(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:wI[e.innerType._def.typeName],nullable:!0}:{type:[wI[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=gt(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=gt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function bne(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",lL(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?yn(n,"minimum",r.value,r.message,t):yn(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),yn(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?yn(n,"maximum",r.value,r.message,t):yn(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),yn(n,"maximum",r.value,r.message,t));break;case"multipleOf":yn(n,"multipleOf",r.value,r.message,t);break}return n}function Sne(e,t){let n=t.target==="openAi",r={type:"object",properties:{}},a=[],i=e.shape();for(let o in i){let c=i[o];if(c===void 0||c._def===void 0)continue;let l=bit(c);l&&n&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),l=!1);let u=gt(c._def,{...t,currentPath:[...t.currentPath,"properties",o],propertyPath:[...t.currentPath,"properties",o]});u!==void 0&&(r.properties[o]=u,l||a.push(o))}a.length&&(r.required=a);let s=vit(e,t);return s!==void 0&&(r.additionalProperties=s),r}function vit(e,t){if(e.catchall._def.typeName!=="ZodNever")return gt(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 bit(e){try{return e.isOptional()}catch{return!0}}var _ne=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return gt(e.innerType._def,t);let n=gt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:zr(t)},n]}:zr(t)};var wne=(e,t)=>{if(t.pipeStrategy==="input")return gt(e.in._def,t);if(t.pipeStrategy==="output")return gt(e.out._def,t);let n=gt(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=gt(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(a=>a!==void 0)}};function Ine(e,t){return gt(e.type._def,t)}function xne(e,t){let r={type:"array",uniqueItems:!0,items:gt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&yn(r,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&yn(r,"maxItems",e.maxSize.value,e.maxSize.message,t),r}function Ene(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>gt(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:gt(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>gt(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function Tne(e){return{not:zr(e)}}function kne(e){return zr(e)}var One=(e,t)=>gt(e.innerType._def,t);var Ane=(e,t,n)=>{switch(t){case Be.ZodString:return IA(e,n);case Be.ZodNumber:return bne(e,n);case Be.ZodObject:return Sne(e,n);case Be.ZodBigInt:return rne(e,n);case Be.ZodBoolean:return ine();case Be.ZodDate:return pL(e,n);case Be.ZodUndefined:return Tne(n);case Be.ZodNull:return mne(n);case Be.ZodArray:return nne(e,n);case Be.ZodUnion:case Be.ZodDiscriminatedUnion:return yne(e,n);case Be.ZodIntersection:return lne(e,n);case Be.ZodTuple:return Ene(e,n);case Be.ZodRecord:return xA(e,n);case Be.ZodLiteral:return une(e,n);case Be.ZodEnum:return cne(e);case Be.ZodNativeEnum:return pne(e);case Be.ZodNullable:return vne(e,n);case Be.ZodOptional:return _ne(e,n);case Be.ZodMap:return fne(e,n);case Be.ZodSet:return xne(e,n);case Be.ZodLazy:return()=>e.getter()._def;case Be.ZodPromise:return Ine(e,n);case Be.ZodNaN:case Be.ZodNever:return hne(n);case Be.ZodEffects:return one(e,n);case Be.ZodAny:return zr(n);case Be.ZodUnknown:return kne(n);case Be.ZodDefault:return sne(e,n);case Be.ZodBranded:return wA(e,n);case Be.ZodReadonly:return One(e,n);case Be.ZodCatch:return ane(e,n);case Be.ZodPipeline:return wne(e,n);case Be.ZodFunction:case Be.ZodVoid:case Be.ZodSymbol:return;default:return(r=>{})(t)}};function gt(e,t,n=!1){let r=t.seen.get(e);if(t.override){let o=t.override?.(e,t,r,n);if(o!==$te)return o}if(r&&!n){let o=Sit(r,t);if(o!==void 0)return o}let a={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,a);let i=Ane(e,e.typeName,t),s=typeof i=="function"?gt(i(),t):i;if(s&&_it(e,t,s),t.postProcess){let o=t.postProcess(s,e,t);return a.jsonSchema=s,o}return a.jsonSchema=s,s}var Sit=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:gA(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),zr(t)):t.$refStrategy==="seen"?zr(t):void 0}},_it=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n);var Pne=(e,t)=>{let n=Gte(t),r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[l,u])=>({...c,[l]:gt(u._def,{...n,currentPath:[...n.basePath,n.definitionPath,l]},!0)??zr(n)}),{}):void 0,a=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=gt(e._def,a===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,a]},!1)??zr(n),s=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;s!==void 0&&(i.title=s),n.flags.hasReferencedOpenAiAnyType&&(r||(r={}),r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:n.$refStrategy==="relative"?"1":[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join("/")}}));let o=a===void 0?r?{...i,[n.definitionPath]:r}:i:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,a].join("/"),[n.definitionPath]:{...r,[a]:i}};return n.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":(n.target==="jsonSchema2019-09"||n.target==="openAi")&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),n.target==="openAi"&&("anyOf"in o||"oneOf"in o||"allOf"in o||"type"in o&&Array.isArray(o.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),o};var Rne=Pne;var Zd=Ve(require("fs"),1),oZ=require("fs");zx();IT();$U();var pje=require("stream"),hje=require("stream/promises");var EKe=["no-internet","pinned-context"],xWt={strict:{coerceTypes:!1,removeAdditional:!1,useDefaults:!1,allErrors:!0},loose:{coerceTypes:"array",removeAdditional:!1,useDefaults:!0,allErrors:!0}};var TKe=2e5;function EWt(e,t){return t??Mp[e]?.defaultReasoningEffort}function jU(e){return e!=="off"&&e!=="none"&&e!=="minimal"&&e!=="no-thinking"}function mje(e){if(!(e==="off"||e==="none"||e==="no-thinking"))return!e||e==="thinking"||e==="medium"?"medium":e==="low"||e==="minimal"?"minimal":e==="xhigh"?"max":e}function TWt(e){let t=mje(e);return t?` --variant ${t} --thinking`:""}var Mp={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",effortSupport:"level",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",customHeadersEnv:"ANTHROPIC_CUSTOM_HEADERS",defaultModel:"opus",defaultReasoningEffort:"high",models:[{alias:"fable",modelId:"claude-fable-5",description:"Highest capability, long-horizon agentic work"},{alias:"opus",modelId:"claude-opus-5",description:"Complex reasoning, R&D, architecting"},{alias:"sonnet",modelId:"claude-sonnet-5",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},nativeConfig:{format:"json",path:"~/.claude/evolve-user-settings.json",delivery:"settings-flag"},presets:{"no-internet":{configStamp:{permissions:{deny:["WebSearch","WebFetch"]}}},"pinned-context":{configStamp:{autoCompactEnabled:!0,autoCompactWindow:TKe}}},skillsConfig:{targetDir:"~/.claude/skills"},buildCommand:({prompt:e,model:t,isResume:n,reasoningEffort:r,nativeConfigPath:a})=>{let i=n?"--continue ":"",s=r?` --effort ${r}`:"",o=a?` --settings ${a}`:"";return`echo "${e}" | claude -p ${i}--model ${t}${s}${o} --output-format stream-json --verbose --dangerously-skip-permissions`}},codex:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",oauthEnv:"CODEX_OAUTH_FILE_PATH",effortSupport:"level",oauthFileName:"auth.json",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"gpt-5.6-sol",defaultReasoningEffort:"high",models:[{alias:"gpt-5.6-sol",modelId:"gpt-5.6-sol",description:"Newest frontier flagship"},{alias:"gpt-5.6-terra",modelId:"gpt-5.6-terra",description:"Balances intelligence and cost"},{alias:"gpt-5.6-luna",modelId:"gpt-5.6-luna",description:"High-volume, cost-sensitive tier"},{alias:"gpt-5.5",modelId:"gpt-5.5",description:"Previous frontier model"},{alias:"gpt-5.3-codex",modelId:"gpt-5.3-codex",description:"Industry-leading code-optimized"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.codex",filename:"config.toml",format:"toml"},nativeConfig:{format:"toml",path:"~/.codex/config.toml",delivery:"base-file"},presets:{"no-internet":{commandFlags:" -c web_search=disabled"},"pinned-context":{commandFlags:` -c model_context_window=${TKe}`}},skillsConfig:{targetDir:"~/.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:n,reasoningEffort:r,presetFlags:a})=>{let i=r?` -c model_reasoning_effort="${r}"`:"";return`printf '%s' "${e}" | codex exec --model ${t}${i}${a??""} --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --json${n?" resume --last":""}`}},gemini:{image:"evolve-all",apiKeyEnv:"GEMINI_API_KEY",effortSupport:"none",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.5-flash",models:[{alias:"gemini-3.5-flash",modelId:"gemini-3.5-flash",description:"Latest flash the stable gemini CLI serves: coding + agentic planning"},{alias:"gemini-3.5-flash-lite",modelId:"gemini-3.5-flash-lite",description:"Most cost-effective 3.5-class model"},{alias:"gemini-3.1-pro-preview",modelId:"gemini-3.1-pro-preview",description:"Latest pro, complex agentic + coding"}],systemPromptFile:"GEMINI.md",mcpConfig:{settingsDir:"~/.gemini",filename:"settings.json",format:"json"},skillsConfig:{targetDir:"~/.gemini/skills"},customHeadersEnv:"GEMINI_CLI_CUSTOM_HEADERS",customHeadersFormat:"comma",gatewayPath:"/gemini",buildCommand:({prompt:e,model:t,isResume:n})=>`gemini ${n?"--resume latest ":""}--prompt ${sO(e)} --model ${t} --yolo --output-format stream-json`},qwen:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",effortSupport:"binary",defaultModel:"qwen3.7-max",defaultReasoningEffort:"thinking",models:[{alias:"qwen3.7-max",modelId:"qwen3.7-max",description:"Strongest reasoning and coding option"},{alias:"qwen3.7-plus",modelId:"qwen3.7-plus",description:"Latest balanced Qwen Cloud recommendation"},{alias:"qwen3.6-flash",modelId:"qwen3.6-flash",description:"Fast and cost-effective option"}],systemPromptFile:"QWEN.md",mcpConfig:{settingsDir:"~/.qwen",filename:"settings.json",format:"json"},skillsConfig:{targetDir:"~/.qwen/skills"},spendTrackingJsonConfig:{headersPath:"model.generationConfig.customHeaders"},gatewayModelAliases:{"qwen3.7-max":"dashscope/qwen3.7-max","qwen3.7-plus":"dashscope/qwen3.7-plus","qwen3.6-flash":"dashscope/qwen3.6-flash"},defaultBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",buildCommand:({prompt:e,model:t,isResume:n,isDirectMode:r})=>{let a=n?"--continue ":"",i=r||t.startsWith("dashscope/")?t:`dashscope/${t}`;return`qwen "${e}" ${a}--auth-type openai --model ${i} --yolo --output-format stream-json`}},kimi:{image:"evolve-all",apiKeyEnv:"KIMI_API_KEY",effortSupport:"level",baseUrlEnv:"KIMI_BASE_URL",defaultModel:"kimi-k3",defaultReasoningEffort:"max",models:[{alias:"kimi-k3",modelId:"moonshot/kimi-k3",description:"Latest flagship: 1M context, always-on thinking",maxContextSize:1048576},{alias:"kimi-k2.7-code",modelId:"moonshot/kimi-k2.7-code",description:"Latest coding-specialized standard model"},{alias:"kimi-k3-raptor",modelId:"kimi-k3-raptor",description:"Evolve-managed Kimi K3 Raptor route for latency-sensitive agent runs",maxContextSize:1048576},{alias:"kimi-k2p7-code-raptor",modelId:"kimi-k2p7-code-raptor",description:"Evolve-managed Kimi K2.7 Code Raptor route for latency-sensitive agent runs"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.kimi-code",filename:"mcp.json",format:"json"},skillsConfig:{targetDir:"~/.kimi-code/skills"},defaultBaseUrl:"https://api.moonshot.ai/v1",spendTrackingTomlProvider:{configPath:"~/.kimi-code/config.toml",providerName:"evolve-gateway",modelName:"evolve-default",maxContextSize:262144},checkpointExcludes:[".kimi-code/config.toml"],gatewayModelAliases:{"kimi-k3":"moonshot/kimi-k3","kimi-k2.7-code":"moonshot/kimi-k2.7-code","kimi-k3-raptor":"kimi-k3-raptor","kimi-k2p7-code-raptor":"kimi-k2p7-code-raptor"},buildCommand:({prompt:e,isResume:t,reasoningEffort:n,homeDir:r=Dp})=>{let a=t?"--continue ":"",i=sO(e),s=`--config-file ${r}/.kimi-code/config.toml`,o=`$(if [ -f ${r}/.kimi-code/mcp.json ]; then printf ' --mcp-config-file ${r}/.kimi-code/mcp.json'; fi)`,c=jU(n)?"":" --no-thinking";return`if kimi --help 2>&1 | grep -q -- '--print'; then kimi --print ${a}${s}${o}${c} -p ${i} --output-format stream-json; else kimi ${a}-p ${i} --output-format stream-json; fi`}},opencode:{image:"evolve-all",apiKeyEnv:"OPENROUTER_API_KEY",effortSupport:"level",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"openrouter/anthropic/claude-opus-5",defaultReasoningEffort:"high",providerEnvMap:{openrouter:{keyEnv:"OPENROUTER_API_KEY"}},gatewayConfigEnv:"OPENCODE_CONFIG_CONTENT",models:[{alias:"openrouter/anthropic/claude-fable-5",modelId:"openrouter/anthropic/claude-fable-5",description:"Anthropic Fable via OpenRouter"},{alias:"openrouter/anthropic/claude-opus-5",modelId:"openrouter/anthropic/claude-opus-5",description:"Anthropic Opus 5 via OpenRouter"},{alias:"openrouter/anthropic/claude-sonnet-5",modelId:"openrouter/anthropic/claude-sonnet-5",description:"Anthropic Sonnet 5 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.6-sol",modelId:"openrouter/openai/gpt-5.6-sol",description:"OpenAI GPT-5.6 Sol via OpenRouter"},{alias:"openrouter/openai/gpt-5.6-terra",modelId:"openrouter/openai/gpt-5.6-terra",description:"OpenAI GPT-5.6 Terra via OpenRouter"},{alias:"openrouter/openai/gpt-5.6-luna",modelId:"openrouter/openai/gpt-5.6-luna",description:"OpenAI GPT-5.6 Luna via OpenRouter"},{alias:"openrouter/google/gemini-3.6-flash",modelId:"openrouter/google/gemini-3.6-flash",description:"Gemini 3.6 Flash via OpenRouter"},{alias:"openrouter/qwen/qwen3.7-max",modelId:"openrouter/qwen/qwen3.7-max",description:"Qwen 3.7 Max via OpenRouter"},{alias:"openrouter/moonshotai/kimi-k3",modelId:"openrouter/moonshotai/kimi-k3",description:"Kimi K3 via OpenRouter"},{alias:"openrouter/z-ai/glm-5.2",modelId:"openrouter/z-ai/glm-5.2",description:"Zhipu GLM-5.2 via OpenRouter"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:".",filename:"opencode.json",format:"json"},skillsConfig:{targetDir:"~/.agents/skills"},checkpointDirs:["~/.local/share/opencode","~/.config/opencode","~/.local/state/opencode"],buildCommand:({prompt:e,model:t,isResume:n,isDirectMode:r,isExternalGateway:a,reasoningEffort:i})=>{let s=n?"--continue ":"",o=TWt(i);if(a)return`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${s}--model litellm/${t} --format json${o} "${e}" < /dev/null`;let c=t.startsWith("openrouter/")?t:`openrouter/${t}`;return r?`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${s}--model ${c} --format json${o} "${e}" < /dev/null`:`OPENCODE_PERMISSION='{"*":"allow"}' opencode run ${s}--model litellm/${c} --format json${o} "${e}" < /dev/null`}},droid:{image:"evolve-all",apiKeyEnv:"FACTORY_API_KEY",effortSupport:"level",defaultModel:"claude-opus-5",defaultReasoningEffort:"high",models:[{alias:"claude-fable-5",modelId:"claude-fable-5",description:"Factory-managed Claude Fable 5"},{alias:"claude-opus-5",modelId:"claude-opus-5",description:"Factory-managed Claude Opus 5"},{alias:"claude-sonnet-5",modelId:"claude-sonnet-5",description:"Factory-managed Claude Sonnet 5"},{alias:"claude-haiku-4-5",modelId:"claude-haiku-4-5-20251001",description:"Factory-managed Claude Haiku 4.5"},{alias:"gpt-5.6-sol",modelId:"gpt-5.6-sol",description:"Factory-managed GPT-5.6 Sol"},{alias:"gpt-5.6-terra",modelId:"gpt-5.6-terra",description:"Factory-managed GPT-5.6 Terra"},{alias:"gpt-5.6-luna",modelId:"gpt-5.6-luna",description:"Factory-managed GPT-5.6 Luna"},{alias:"gemini-3.6-flash",modelId:"gemini-3.6-flash",description:"Factory-managed Gemini 3.6 Flash"},{alias:"qwen3.7-max",modelId:"qwen3.7-max",description:"Qwen 3.7 Max via the Evolve gateway"},{alias:"kimi-k3",modelId:"kimi-k3",description:"Factory-managed Droid Core Kimi K3"},{alias:"glm-5.2",modelId:"glm-5.2",description:"Factory-managed Droid Core GLM-5.2"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.factory",filename:"mcp.json",format:"json"},skillsConfig:{targetDir:"~/.factory/skills"},skipApiKeyEnvInGateway:!0,gatewayModelAliases:{"kimi-k3":"moonshot/kimi-k3","glm-5.2":"openrouter/z-ai/glm-5.2","qwen3.7-max":"dashscope/qwen3.7-max"},droidGatewaySettings:{settingsPath:"~/.factory/evolve-settings.json",displayName:"Evolve Gateway",provider:"generic-chat-completion-api",maxOutputTokens:32768},checkpointDirs:["~/.factory"],buildCommand:({prompt:e,model:t,isResume:n,sessionId:r,reasoningEffort:a,isDirectMode:i,isExternalGateway:s,homeDir:o=Dp})=>{let c=!i||s,l=c?`--settings ${o}/.factory/evolve-settings.json `:"",u=c?"custom:Evolve-Gateway-0":t,d=a?` --reasoning-effort ${a}`:"",f=n&&r?`--session-id ${sO(r)} `:"";return`printf '%s' ${sO(e)} | droid ${l}exec ${f}--skip-permissions-unsafe --cwd ${o}/workspace --output-format stream-json --model ${sO(u)}${d}`}}};function yv(e){let t=Mp[e];if(!t)throw new Error(`Unknown agent type: ${e}`);return t}function kWt(e){return e in Mp}function Cp(e,t=Dp){return e.replace(/^~/,t)}function sO(e){return`'${e.replace(/'/g,"'\\''")}'`}function Bw(e,t=Dp){let n=yv(e);return`${Cp(n.mcpConfig.settingsDir,t)}/${n.mcpConfig.filename}`}function Fw(e,t=Dp){let n=yv(e);return Cp(n.mcpConfig.settingsDir,t)}function vv(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 gje(e,t){let n=[t.command,t.url].filter(Boolean);if(n.length===0)throw new Error(`MCP server "${e}" must specify command or url`);if(n.length>1)throw new Error(`MCP server "${e}" cannot specify both command and url`)}function nB(e){for(let[t,n]of Object.entries(e))gje(t,n)}function hO(e){return e.type?e.type:e.command?"stdio":"sse"}function OWt(e){let t=hO(e);return{...e,type:t}}function AWt(e){let{type:t,url:n,...r}=e;return hO(e)==="http"&&n?{httpUrl:n,...r}:n?{url:n,...r}:r}function PWt(e){return{type:hO(e),...e}}function RWt(e){let{type:t,...n}=e;return n.command?{...n,transport:"stdio"}:n.url&&(t==="http"||t==="sse")?{...n,transport:t}:n}function CWt(e){let t=hO(e),{type:n,httpHeaders:r,envHttpHeaders:a,bearerTokenEnvVar:i,envVars:s,...o}=e;if(t==="stdio"&&e.command)return{type:"stdio",...o};if(e.url){let c={...o,type:t==="sse"?"sse":"http",url:e.url},l=e.headers??r;return l&&Object.keys(l).length>0&&(c.headers=l),c}return{type:t==="stdio"?"stdio":"http",...o}}async function cZ(e,t,n,r,a){nB(n);let i=Fw(t,a),s=Bw(t,a);await e.files.makeDir(i);let o={};try{let l=await e.files.read(s);typeof l=="string"&&(o=JSON.parse(l))}catch(l){if(!vv(l))throw l}let c=Object.fromEntries(Object.entries(n).map(([l,u])=>[l,r(u)]));await e.files.write(s,JSON.stringify({...o,mcpServers:c},null,2))}async function NWt(e,t,n,r){nB(n);let a=Fw("claude",r),i=Bw("claude",r),s=Object.fromEntries(Object.entries(n).map(([c,l])=>[c,PWt(l)]));await e.files.write(`${t}/.mcp.json`,JSON.stringify({mcpServers:s},null,2)),await e.files.makeDir(a);let o={};try{let c=await e.files.read(i);typeof c=="string"&&(o=JSON.parse(c))}catch(c){if(!vv(c))throw c}o.enableAllProjectMcpServers=!0,await e.files.write(i,JSON.stringify(o,null,2))}async function MWt(e,t,n){await cZ(e,"gemini",t,OWt,n)}async function DWt(e,t,n){await cZ(e,"qwen",t,AWt,n)}async function kKe(e,t,n,r,a){let i=Fw(t,a),s=Bw(t,a);await e.files.makeDir(i);let o={};try{let f=await e.files.read(s);typeof f=="string"&&(o=JSON.parse(f))}catch(f){if(!vv(f))throw f}let c=n.split("."),l=o;for(let f=0;f<c.length-1;f++){let h=c[f];(typeof l[h]!="object"||l[h]===null)&&(l[h]={}),l=l[h]}let u=c[c.length-1],d=typeof l[u]=="object"&&l[u]!==null?l[u]:{};l[u]={...d,...r},await e.files.write(s,JSON.stringify(o,null,2))}async function UWt(e,t,n){let r=Fw("qwen",n),a=Bw("qwen",n);await e.files.makeDir(r);let i={};try{let l=await e.files.read(a);typeof l=="string"&&(i=JSON.parse(l))}catch(l){if(!vv(l))throw l}let s=i.model??{},o=s.generationConfig??{},c=o.extra_body??{};i.model={...s,generationConfig:{...o,extra_body:{...c,enable_thinking:t}}},await e.files.write(a,JSON.stringify(i,null,2))}async function BWt(e,t,n){await cZ(e,"kimi",t,RWt,n)}async function FWt(e,t,n){nB(n);let r=`${t}/.factory`,a=`${r}/mcp.json`;await e.files.makeDir(r);let i={};try{let o=await e.files.read(a);typeof o=="string"&&(i=JSON.parse(o))}catch(o){if(!vv(o))throw o}let s=Object.fromEntries(Object.entries(n).map(([o,c])=>[o,CWt(c)]));await e.files.write(a,JSON.stringify({...i,mcpServers:s},null,2))}async function LWt(e,t,n,r){let a=Cp(t.settingsPath,r),i=a.slice(0,a.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:n}]};await e.files.write(a,JSON.stringify(s,null,2))}async function VWt(e,t,n){nB(n);let r=`${t}/opencode.json`,a={};try{let s=await e.files.read(r);typeof s=="string"&&(a=JSON.parse(s))}catch(s){if(!vv(s))throw s}let i=Object.fromEntries(Object.entries(n).map(([s,o])=>[s,qWt(o)]));await e.files.write(r,JSON.stringify({...a,mcp:i},null,2))}function qWt(e){let t=hO(e);if(t==="stdio"&&e.command){let n={type:"local",command:e.args?[e.command,...e.args]:[e.command]};return e.env&&Object.keys(e.env).length>0&&(n.environment=e.env),n}if(e.url){let n={type:"remote",url:e.url};return e.headers&&Object.keys(e.headers).length>0&&(n.headers=e.headers),n}return{type:t==="stdio"?"local":"remote",...e}}function tZ(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function yje(e,t,n){let r=e[t];if(r===void 0)return{};let a=tZ(r);if(!a){let i=Array.isArray(r)?"an array":`a ${typeof r}`;throw new Error(`Refusing to rewrite "${t}" in ${n}: expected a TOML table, found ${i}`)}return a}function nZ(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,s)=>nZ(i,t[s]));let n=tZ(e),r=tZ(t);if(!n||!r)return!1;let a=Object.keys(n);return a.length===Object.keys(r).length&&a.every(i=>i in r&&nZ(n[i],r[i]))}async function vje(e,t){let n="";try{let r=await e.files.read(t);typeof r=="string"&&(n=r)}catch(r){if(!vv(r))throw r;return{}}if(!n.trim())return{};try{return Om(n)}catch(r){throw new Error(`Failed to parse TOML at ${t}: ${r.message}`)}}async function lZ(e,t,n){await e.files.write(t,Lv(n).trimEnd()+`
675
675
  `)}function $Wt(e,t){let n={},r=t.type??(t.command?"stdio":"http");if(r==="http"||r==="sse"||t.url){if(!t.url)throw new Error(`MCP server "${e}" is missing url for ${r} transport`);n.url=t.url,t.bearerTokenEnvVar&&(n.bearer_token_env_var=t.bearerTokenEnvVar);let a=t.httpHeaders??t.headers;a&&Object.keys(a).length>0&&(n.http_headers=a),t.envHttpHeaders&&Object.keys(t.envHttpHeaders).length>0&&(n.env_http_headers=t.envHttpHeaders)}else n.command=t.command,t.args&&t.args.length>0&&(n.args=t.args),t.cwd&&(n.cwd=t.cwd);return t.env&&Object.keys(t.env).length>0&&(n.env=t.env),t.envVars&&t.envVars.length>0&&(n.env_vars=t.envVars),n}async function zWt(e,t,n){for(let[o,c]of Object.entries(t))gje(o,c);let r=Fw("codex",n),a=Bw("codex",n);await e.files.makeDir(r);let i=await vje(e,a);i.experimental_use_rmcp_client===void 0&&(i.experimental_use_rmcp_client=!0);let s=yje(i,"mcp_servers",a);i.mcp_servers=s;for(let[o,c]of Object.entries(t))s[o]===void 0&&(s[o]=$Wt(o,c));await lZ(e,a,i)}async function OKe(e,t,n,r={},a){let i=Fw("codex",a),s=Bw("codex",a);await e.files.makeDir(i);let o=await vje(e,s),c={...n?{[Vu]:n.sessionTagEnv,[Up]:n.runTagEnv}:{},...r},l={name:"Evolve Gateway",base_url:t,env_key:"OPENAI_API_KEY",wire_api:"responses",...Object.keys(c).length>0?{env_http_headers:c}:{}},u=yje(o,"model_providers",s);o.model_provider==="evolve-gateway"&&nZ(u["evolve-gateway"],l)||(o.model_provider="evolve-gateway",u["evolve-gateway"]=l,o.model_providers=u,await lZ(e,s,o))}async function GWt(e,t,n,r,a){let i=Cp(t.configPath,a),s=i.slice(0,i.lastIndexOf("/"));await e.files.makeDir(s);let o={default_model:t.modelName,default_thinking:r.defaultThinking,default_permission_mode:"auto",thinking:{mode:r.defaultThinking?"on":"off",...r.defaultThinking&&r.thinkingEffort?{effort:r.thinkingEffort}:{}},providers:{[t.providerName]:{type:"kimi",base_url:r.baseUrl,api_key:r.apiKey,custom_headers:n}},models:{[t.modelName]:{provider:t.providerName,model:r.model,max_context_size:t.maxContextSize,capabilities:["image_in","thinking"]}}};await lZ(e,i,o)}async function JWt(e,t,n,r,a){if(!(!r||Object.keys(r).length===0))switch(e){case"claude":await NWt(t,n,r,a);break;case"codex":await zWt(t,r,a);break;case"gemini":await MWt(t,r,a);break;case"qwen":await DWt(t,r,a);break;case"kimi":await BWt(t,r,a);break;case"opencode":await VWt(t,n,r);break;case"droid":await FWt(t,n,r);break;default:throw new Error(`Unknown agent type for MCP config: ${e}`)}}function Bu(e,t){for(let n of e)if(typeof n=="string"&&n.length>0)return n;try{let n=JSON.stringify(t);if(typeof n=="string"&&n.length>0)return n}catch{}return String(t)}function HWt(){let e={};return function(c){let l;try{l=JSON.parse(c)}catch{return null}if(l._meta||l._prompt)return null;let u=l.session_id;switch(l.type){case"system":return null;case"assistant":return t(l.message?.content,"assistant",u);case"user":{let d=l.message?.content;return typeof d=="string"||Array.isArray(d)&&d.length===1&&d[0].type==="text"?null:t(d,"user",u)}case"result":{if(l.is_error!==!0)return null;let d=(Array.isArray(l.errors)?l.errors:[]).filter(f=>typeof f=="string"&&f.length>0).join(`
676
- `);return[{sessionId:u,update:{sessionUpdate:"error",message:Bu([d,l.subtype],l),fatal:!0}}]}default:return null}};function t(c,l,u){if(typeof c=="string")return l==="user"?null:[{sessionId:u,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:c}}}];if(!c||!Array.isArray(c))return null;let d=[];for(let f of c){let h=null;switch(f.type){case"text":case"text_delta":if(l==="user")break;h={sessionUpdate:"agent_message_chunk",content:{type:"text",text:f.text}};break;case"image":if(l==="user")break;h={sessionUpdate:"agent_message_chunk",content:{type:"image",data:f.source?.type==="base64"?f.source.data:"",mimeType:f.source?.type==="base64"?f.source.media_type:"",uri:f.source?.type==="url"?f.source.url:void 0}};break;case"thinking":case"thinking_delta":h={sessionUpdate:"agent_thought_chunk",content:{type:"text",text:f.thinking}};break;case"tool_use":case"server_tool_use":case"mcp_tool_use":{if(e[f.id]=f,f.name==="TodoWrite")Array.isArray(f.input?.todos)&&(h={sessionUpdate:"plan",entries:s(f.input)});else{let g=n(f);h={sessionUpdate:"tool_call",toolCallId:f.id,status:"pending",...g,toolName:f.name}}break}case"tool_result":case"tool_search_tool_result":case"web_fetch_tool_result":case"web_search_tool_result":case"code_execution_tool_result":case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":case"mcp_tool_result":{let g=e[f.tool_use_id];if(!g||(delete e[f.tool_use_id],g.name==="TodoWrite"))break;h={sessionUpdate:"tool_call_update",toolCallId:f.tool_use_id,status:"is_error"in f&&f.is_error?"failed":"completed",...r(f,g)};break}}h&&d.push({sessionId:u,update:h})}return d.length>0?d:null}function n(c){let l=c.name,u=c.input||{};switch(l){case"Task":return{title:u.description||"Task",kind:"think",content:u.prompt?[{type:"content",content:{type:"text",text:u.prompt}}]:[],rawInput:u};case"NotebookRead":return{title:u.notebook_path?`Read Notebook ${u.notebook_path}`:"Read Notebook",kind:"read",content:[],locations:u.notebook_path?[{path:u.notebook_path}]:[],rawInput:u};case"NotebookEdit":return{title:u.notebook_path?`Edit Notebook ${u.notebook_path}`:"Edit Notebook",kind:"edit",content:u.new_source?[{type:"content",content:{type:"text",text:u.new_source}}]:[],locations:u.notebook_path?[{path:u.notebook_path}]:[],rawInput:u};case"Bash":return{title:u.command?"`"+u.command.replaceAll("`","\\`")+"`":"Terminal",kind:"execute",content:u.description?[{type:"content",content:{type:"text",text:u.description}}]:[],rawInput:u};case"BashOutput":return{title:"Tail Logs",kind:"execute",content:[],rawInput:u};case"KillShell":return{title:"Kill Process",kind:"execute",content:[],rawInput:u};case"Read":{let d="";return u.limit?d=" ("+((u.offset??0)+1)+" - "+((u.offset??0)+u.limit)+")":u.offset&&(d=" (from line "+(u.offset+1)+")"),{title:"Read "+(u.file_path??"File")+d,kind:"read",content:[],locations:u.file_path?[{path:u.file_path,line:u.offset??0}]:[],rawInput:u}}case"LS":return{title:u.path?`List \`${u.path}\` directory`:"List current directory",kind:"search",content:[],locations:[],rawInput:u};case"Edit":{let d=u.file_path;return{title:d?`Edit \`${d}\``:"Edit",kind:"edit",content:d?[{type:"diff",path:d,oldText:u.old_string??null,newText:u.new_string??""}]:[],locations:d?[{path:d}]:[],rawInput:u}}case"Write":return{title:u.file_path?`Write ${u.file_path}`:"Write",kind:"edit",content:u.file_path?[{type:"diff",path:u.file_path,oldText:null,newText:u.content??""}]:[],locations:u.file_path?[{path:u.file_path}]:[],rawInput:u};case"Glob":{let d="Find";return u.path&&(d+=` \`${u.path}\``),u.pattern&&(d+=` \`${u.pattern}\``),{title:d,kind:"search",content:[],locations:u.path?[{path:u.path}]:[],rawInput:u}}case"Grep":{let d="grep";return u["-i"]&&(d+=" -i"),u["-n"]&&(d+=" -n"),u["-A"]!==void 0&&(d+=` -A ${u["-A"]}`),u["-B"]!==void 0&&(d+=` -B ${u["-B"]}`),u["-C"]!==void 0&&(d+=` -C ${u["-C"]}`),u.output_mode==="files_with_matches"?d+=" -l":u.output_mode==="count"&&(d+=" -c"),u.head_limit!==void 0&&(d+=` | head -${u.head_limit}`),u.glob&&(d+=` --include="${u.glob}"`),u.type&&(d+=` --type=${u.type}`),u.multiline&&(d+=" -P"),d+=` "${u.pattern??""}"`,u.path&&(d+=` ${u.path}`),{title:d,kind:"search",content:[],rawInput:u}}case"WebFetch":return{title:u.url?`Fetch ${u.url}`:"Fetch",kind:"fetch",content:u.prompt?[{type:"content",content:{type:"text",text:u.prompt}}]:[],rawInput:u};case"WebSearch":{let d=`"${u.query??""}"`;return u.allowed_domains?.length>0&&(d+=` (allowed: ${u.allowed_domains.join(", ")})`),u.blocked_domains?.length>0&&(d+=` (blocked: ${u.blocked_domains.join(", ")})`),{title:d,kind:"fetch",content:[],rawInput:u}}case"TodoWrite":return{title:Array.isArray(u.todos)?`Update TODOs: ${u.todos.map(d=>d.content).join(", ")}`:"Update TODOs",kind:"think",content:[],rawInput:u};case"ExitPlanMode":return{title:"Ready to code?",kind:"switch_mode",content:u.plan?[{type:"content",content:{type:"text",text:u.plan}}]:[],rawInput:u};default:if(l?.startsWith("mcp__")){let d=l.split("__"),f=d[1]||"mcp",h=d.slice(2).join("__")||l;return{title:`${f}: ${h}`,kind:"other",content:[],rawInput:u}}return{title:l||"Unknown Tool",kind:"other",content:[],rawInput:u}}}function r(c,l){let u=c.content;switch(l?.name){case"Read":return Array.isArray(u)&&u.length>0?{content:u.map(d=>({type:"content",content:d.type==="text"?{type:"text",text:o(d.text)}:i(d,!1)}))}:typeof u=="string"&&u.length>0?{content:[{type:"content",content:{type:"text",text:o(u)}}]}:{};case"Edit":case"Write":case"Bash":return a(u,c.is_error||!1);case"ExitPlanMode":return{title:"Exited Plan Mode"};default:return a(u,"is_error"in c?c.is_error:!1)}}function a(c,l=!1){return Array.isArray(c)&&c.length>0?{content:c.map(u=>({type:"content",content:i(u,l)}))}:typeof c=="string"&&c.length>0?{content:[{type:"content",content:{type:"text",text:l?"```\n"+c+"\n```":c}}]}:{}}function i(c,l){if(c.type==="text")return l?{type:"text",text:"```\n"+c.text+"\n```"}:{type:"text",text:c.text};if(c.type==="image"){if(c.data&&c.mimeType)return{type:"image",data:c.data,mimeType:c.mimeType};if(c.source?.type==="base64")return{type:"image",data:c.source.data||"",mimeType:c.source.media_type||""};if(c.source?.type==="url")return{type:"image",data:"",mimeType:"",uri:c.source.url}}return c}function s(c){return c.todos.map(l=>({content:l.content,status:l.status||"pending",priority:"medium"}))}function o(c){let l="```",u=Array.from(c.matchAll(/^```+/gm));for(let[d]of u)for(;d.length>=l.length;)l+="`";return l+`
676
+ `);return[{sessionId:u,update:{sessionUpdate:"error",message:Bu([d,l.result,l.subtype],l),fatal:!0}}]}default:return null}};function t(c,l,u){if(typeof c=="string")return l==="user"?null:[{sessionId:u,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:c}}}];if(!c||!Array.isArray(c))return null;let d=[];for(let f of c){let h=null;switch(f.type){case"text":case"text_delta":if(l==="user")break;h={sessionUpdate:"agent_message_chunk",content:{type:"text",text:f.text}};break;case"image":if(l==="user")break;h={sessionUpdate:"agent_message_chunk",content:{type:"image",data:f.source?.type==="base64"?f.source.data:"",mimeType:f.source?.type==="base64"?f.source.media_type:"",uri:f.source?.type==="url"?f.source.url:void 0}};break;case"thinking":case"thinking_delta":h={sessionUpdate:"agent_thought_chunk",content:{type:"text",text:f.thinking}};break;case"tool_use":case"server_tool_use":case"mcp_tool_use":{if(e[f.id]=f,f.name==="TodoWrite")Array.isArray(f.input?.todos)&&(h={sessionUpdate:"plan",entries:s(f.input)});else{let g=n(f);h={sessionUpdate:"tool_call",toolCallId:f.id,status:"pending",...g,toolName:f.name}}break}case"tool_result":case"tool_search_tool_result":case"web_fetch_tool_result":case"web_search_tool_result":case"code_execution_tool_result":case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":case"mcp_tool_result":{let g=e[f.tool_use_id];if(!g||(delete e[f.tool_use_id],g.name==="TodoWrite"))break;h={sessionUpdate:"tool_call_update",toolCallId:f.tool_use_id,status:"is_error"in f&&f.is_error?"failed":"completed",...r(f,g)};break}}h&&d.push({sessionId:u,update:h})}return d.length>0?d:null}function n(c){let l=c.name,u=c.input||{};switch(l){case"Task":return{title:u.description||"Task",kind:"think",content:u.prompt?[{type:"content",content:{type:"text",text:u.prompt}}]:[],rawInput:u};case"NotebookRead":return{title:u.notebook_path?`Read Notebook ${u.notebook_path}`:"Read Notebook",kind:"read",content:[],locations:u.notebook_path?[{path:u.notebook_path}]:[],rawInput:u};case"NotebookEdit":return{title:u.notebook_path?`Edit Notebook ${u.notebook_path}`:"Edit Notebook",kind:"edit",content:u.new_source?[{type:"content",content:{type:"text",text:u.new_source}}]:[],locations:u.notebook_path?[{path:u.notebook_path}]:[],rawInput:u};case"Bash":return{title:u.command?"`"+u.command.replaceAll("`","\\`")+"`":"Terminal",kind:"execute",content:u.description?[{type:"content",content:{type:"text",text:u.description}}]:[],rawInput:u};case"BashOutput":return{title:"Tail Logs",kind:"execute",content:[],rawInput:u};case"KillShell":return{title:"Kill Process",kind:"execute",content:[],rawInput:u};case"Read":{let d="";return u.limit?d=" ("+((u.offset??0)+1)+" - "+((u.offset??0)+u.limit)+")":u.offset&&(d=" (from line "+(u.offset+1)+")"),{title:"Read "+(u.file_path??"File")+d,kind:"read",content:[],locations:u.file_path?[{path:u.file_path,line:u.offset??0}]:[],rawInput:u}}case"LS":return{title:u.path?`List \`${u.path}\` directory`:"List current directory",kind:"search",content:[],locations:[],rawInput:u};case"Edit":{let d=u.file_path;return{title:d?`Edit \`${d}\``:"Edit",kind:"edit",content:d?[{type:"diff",path:d,oldText:u.old_string??null,newText:u.new_string??""}]:[],locations:d?[{path:d}]:[],rawInput:u}}case"Write":return{title:u.file_path?`Write ${u.file_path}`:"Write",kind:"edit",content:u.file_path?[{type:"diff",path:u.file_path,oldText:null,newText:u.content??""}]:[],locations:u.file_path?[{path:u.file_path}]:[],rawInput:u};case"Glob":{let d="Find";return u.path&&(d+=` \`${u.path}\``),u.pattern&&(d+=` \`${u.pattern}\``),{title:d,kind:"search",content:[],locations:u.path?[{path:u.path}]:[],rawInput:u}}case"Grep":{let d="grep";return u["-i"]&&(d+=" -i"),u["-n"]&&(d+=" -n"),u["-A"]!==void 0&&(d+=` -A ${u["-A"]}`),u["-B"]!==void 0&&(d+=` -B ${u["-B"]}`),u["-C"]!==void 0&&(d+=` -C ${u["-C"]}`),u.output_mode==="files_with_matches"?d+=" -l":u.output_mode==="count"&&(d+=" -c"),u.head_limit!==void 0&&(d+=` | head -${u.head_limit}`),u.glob&&(d+=` --include="${u.glob}"`),u.type&&(d+=` --type=${u.type}`),u.multiline&&(d+=" -P"),d+=` "${u.pattern??""}"`,u.path&&(d+=` ${u.path}`),{title:d,kind:"search",content:[],rawInput:u}}case"WebFetch":return{title:u.url?`Fetch ${u.url}`:"Fetch",kind:"fetch",content:u.prompt?[{type:"content",content:{type:"text",text:u.prompt}}]:[],rawInput:u};case"WebSearch":{let d=`"${u.query??""}"`;return u.allowed_domains?.length>0&&(d+=` (allowed: ${u.allowed_domains.join(", ")})`),u.blocked_domains?.length>0&&(d+=` (blocked: ${u.blocked_domains.join(", ")})`),{title:d,kind:"fetch",content:[],rawInput:u}}case"TodoWrite":return{title:Array.isArray(u.todos)?`Update TODOs: ${u.todos.map(d=>d.content).join(", ")}`:"Update TODOs",kind:"think",content:[],rawInput:u};case"ExitPlanMode":return{title:"Ready to code?",kind:"switch_mode",content:u.plan?[{type:"content",content:{type:"text",text:u.plan}}]:[],rawInput:u};default:if(l?.startsWith("mcp__")){let d=l.split("__"),f=d[1]||"mcp",h=d.slice(2).join("__")||l;return{title:`${f}: ${h}`,kind:"other",content:[],rawInput:u}}return{title:l||"Unknown Tool",kind:"other",content:[],rawInput:u}}}function r(c,l){let u=c.content;switch(l?.name){case"Read":return Array.isArray(u)&&u.length>0?{content:u.map(d=>({type:"content",content:d.type==="text"?{type:"text",text:o(d.text)}:i(d,!1)}))}:typeof u=="string"&&u.length>0?{content:[{type:"content",content:{type:"text",text:o(u)}}]}:{};case"Edit":case"Write":case"Bash":return a(u,c.is_error||!1);case"ExitPlanMode":return{title:"Exited Plan Mode"};default:return a(u,"is_error"in c?c.is_error:!1)}}function a(c,l=!1){return Array.isArray(c)&&c.length>0?{content:c.map(u=>({type:"content",content:i(u,l)}))}:typeof c=="string"&&c.length>0?{content:[{type:"content",content:{type:"text",text:l?"```\n"+c+"\n```":c}}]}:{}}function i(c,l){if(c.type==="text")return l?{type:"text",text:"```\n"+c.text+"\n```"}:{type:"text",text:c.text};if(c.type==="image"){if(c.data&&c.mimeType)return{type:"image",data:c.data,mimeType:c.mimeType};if(c.source?.type==="base64")return{type:"image",data:c.source.data||"",mimeType:c.source.media_type||""};if(c.source?.type==="url")return{type:"image",data:"",mimeType:"",uri:c.source.url}}return c}function s(c){return c.todos.map(l=>({content:l.content,status:l.status||"pending",priority:"medium"}))}function o(c){let l="```",u=Array.from(c.matchAll(/^```+/gm));for(let[d]of u)for(;d.length>=l.length;)l+="`";return l+`
677
677
  `+c+(c.endsWith(`
678
678
  `)?"":`
679
679
  `)+l}}function WWt(){return function(s){let o;try{o=JSON.parse(s)}catch{return null}if(o._meta||o._prompt)return null;let c=[];switch(o.type){case"thread.started":case"turn.started":case"turn.completed":return null;case"error":{let l=Bu([o.message],o);c.push({update:{sessionUpdate:"error",message:l,fatal:!1}});break}case"turn.failed":{let l=Bu([o.error?.message],o.error??o);c.push({update:{sessionUpdate:"error",message:l,fatal:!0}});break}case"item.started":{let l=o.item;if(!l)return null;let u=e(l);u&&c.push({update:u});break}case"item.updated":{let l=o.item;if(!l)return null;let u=t(l);u&&c.push({update:u});break}case"item.completed":{let l=o.item;if(!l)return null;let u=n(l);u&&c.push({update:u});break}default:return null}return c.length>0?c:null};function e(s){let o=s.id;switch(s.type){case"mcp_tool_call":return`${s.server}${s.tool}`,{sessionUpdate:"tool_call",toolCallId:o,title:`${s.server}: ${s.tool}`,toolName:`mcp__${s.server}__${s.tool}`,kind:"other",status:"in_progress",rawInput:s.arguments,content:[]};case"command_execution":return s.command,{sessionUpdate:"tool_call",toolCallId:o,title:s.command?`\`${s.command}\``:"Execute Command",toolName:"command_execution",kind:"execute",status:"in_progress",rawInput:{command:s.command},content:[]};case"web_search":return s.query,{sessionUpdate:"tool_call",toolCallId:o,title:`Search: ${s.query??""}`,toolName:"web_search",kind:"fetch",status:"in_progress",content:[]};case"todo_list":return{sessionUpdate:"plan",entries:i(s.items)};default:return null}}function t(s){return s.type==="todo_list"?{sessionUpdate:"plan",entries:i(s.items)}:null}function n(s){let o=s.id;switch(s.type){case"error":return{sessionUpdate:"error",message:Bu([s.message],s),fatal:!1};case"reasoning":return{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:s.text??s.summary?.join(`
680
680
  `)??s.content?.join(`
681
- `)??""}};case"agent_message":return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:s.text??""}};case"mcp_tool_call":{let c=r(s.result),l=s.status==="failed"||s.error?"failed":"completed";return{sessionUpdate:"tool_call_update",toolCallId:o,status:l,content:c}}case"command_execution":{let c=s.aggregated_output?[{type:"content",content:{type:"text",text:s.aggregated_output}}]:[],l=s.status==="completed"||s.exit_code===0?"completed":"failed";return{sessionUpdate:"tool_call_update",toolCallId:o,status:l,content:c}}case"file_change":{let c=s.changes??[],l=c.map(d=>({path:d.path})),u=c.length===1?`${c[0].kind==="add"?"Create":"Edit"} ${c[0].path}`:`Edit ${c.length} files`;return{sessionUpdate:"tool_call",toolCallId:o,title:u,toolName:"file_change",kind:"edit",status:s.status==="completed"?"completed":"failed",content:c.map(d=>({type:"diff",path:d.path,oldText:d.kind==="add"?null:"",newText:""})),locations:l}}case"web_search":return{sessionUpdate:"tool_call",toolCallId:o,title:`Search: ${s.query??""}`,toolName:"web_search",kind:"fetch",status:"completed",content:[]};case"todo_list":return{sessionUpdate:"plan",entries:i(s.items)};default:return null}}function r(s){return s?.content?Array.isArray(s.content)?s.content.map(o=>({type:"content",content:a(o)})):typeof s.content=="string"?[{type:"content",content:{type:"text",text:s.content}}]:[]:[]}function a(s){return s.type==="text"?{type:"text",text:s.text??""}:s.type==="image"?{type:"image",data:s.data??"",mimeType:s.mime_type??s.mimeType??"",uri:s.uri}:s}function i(s){if(!Array.isArray(s))return[];let o=!1;return s.map(c=>{let l;return c.completed?l="completed":o?l="pending":(l="in_progress",o=!0),{content:c.text??"",status:l,priority:"medium"}})}}var YWt={applypatch:"edit",apply_patch:"edit",create:"edit",edit:"edit",grep:"search",glob:"search",ls:"search",read:"read",write:"edit",execute:"execute",execute_cli:"execute",fetchurl:"fetch",fetch_url:"fetch",webfetch:"fetch",web_fetch:"fetch",websearch:"fetch",web_search:"fetch",skill:"execute",task:"think",todowrite:"other",todo_write:"other"},KWt=new Set(["assistant_text_complete","thinking_text_complete","droid_working_state_changed","permission_resolved","settings_updated","session_title_updated","mcp_status_changed","session_token_usage_changed","mission_state_changed","mission_features_changed","mission_progress_entry","mission_heartbeat","mission_worker_started","mission_worker_completed","mcp_auth_required","mcp_auth_completed","structured_output"]);function jWt(){let e=new Map,t,n=!1,r="",a;return function(i){let s;try{s=JSON.parse(i)}catch{return null}if(!_je(s))return null;let o=XWt(s);if(o.sessionId&&(t=o.sessionId),o.errorText)return[GX(t,o.errorText,!0)];if(o.resultText)return r=o.resultText,n=!0,[Nw(t,o.resultText)];if(o.handled)return null;let c=ZWt(s)??s,l=Sje(c);l&&(t=l);let u=[],d=Tt(c,"type");switch(d){case"system":return null;case"message":{let f=Tt(c,"role"),h=Tt(c,"text")||rZ(c.content);if(!h)break;f==="assistant"&&(n=!0,r=h,u.push(Nw(t,h)));break}case"completion":{let f=Tt(c,"finalText")||Tt(c,"result");f&&(!n||f!==r)&&(n=!0,r=f,u.push(Nw(t,f)));break}case"assistant_text_delta":{let f=Tt(c,"textDelta")||Tt(c,"text");f&&(n=!0,r+=f,u.push(Nw(t,f)));break}case"thinking_text_delta":{let f=Tt(c,"textDelta")||Tt(c,"text");if(f){let h=AKe(c,f,a);h&&(a=h.signature,u.push({sessionId:t,update:h.event}))}break}case"reasoning":{let f=Tt(c,"text");if(f){let h=AKe(c,f,a);h&&(a=h.signature,u.push({sessionId:t,update:h.event}))}break}case"assistant":{let f=Tt(c,"text")||rZ(Fs(c.message)?.content);f&&(n=!0,r=f,u.push(Nw(t,f)));break}case"tool_call":case"tool_call_delta":{let f=Fs(c.toolUse)??Fs(c.tool_use)??c,h=bje(f,e);h&&u.push({sessionId:t,update:h});break}case"tool_result":{let f=e7t(c,e);f&&u.push({sessionId:t,update:f});break}case"tool_progress_update":case"tool_progress":{let f=t7t(c);f&&u.push({sessionId:t,update:f});break}case"create_message":{for(let f of QWt(c,e)){if(f.sessionUpdate==="agent_message_chunk"){let h=f.content.type==="text"?f.content.text:"";if(n&&h===r)continue;n=!0,r=h}u.push({sessionId:t,update:f})}break}case"result":{if(c.is_error===!0||c.subtype==="failure"){u.push(GX(t,Bu([Rp(c.result),Rp(c.error),Rp(c.subtype)],c),!0));break}let f=Rp(c.result??c.text??c.error);f&&(n=!0,r=f,u.push(Nw(t,f)));break}case"error":{u.push(GX(t,Bu([Rp(c.message),Rp(c.error)],c),!1));break}default:if(d&&!KWt.has(d))return null}return u.length>0&&d!=="reasoning"&&d!=="thinking_text_delta"&&(a=void 0),u.length>0?u:null}}function AKe(e,t,n){let r=JX(e,"id")||JX(e,"messageId"),a=JX(e,"blockIndex"),i=`${Tt(e,"type")}:${r}:${a}:${t}`;return i===n?null:{signature:i,event:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:t}}}}function XWt(e){if(e.type!=="response")return{handled:!1};let t=Fs(e.result),n=Fs(e.error),r=Sje(t??e);if(n)return{handled:!0,sessionId:r,errorText:Rp(n.message??n)};let a=t?Tt(t,"finalText")||Tt(t,"result"):"";return{handled:!0,sessionId:r,resultText:a}}function ZWt(e){return e.method!=="droid.session_notification"?null:Fs(Fs(e.params)?.notification)}function QWt(e,t){let n=Fs(e.message);if(!n)return[];let r=[],a=n.content;if(Array.isArray(a))for(let i of a){let s=Fs(i);if(s&&s.type==="tool_use"){let o=bje(s,t);o&&r.push(o)}}if(n.role==="assistant"){let i=rZ(a);i&&r.push({sessionUpdate:"agent_message_chunk",content:{type:"text",text:i}})}return r}function bje(e,t){let n=Tt(e,"id")||Tt(e,"toolUseId")||Tt(e,"tool_use_id"),r=Tt(e,"name")||Tt(e,"toolName")||Tt(e,"tool_name")||"Tool";if(!n)return null;t.set(n,r);let a=Fs(e.input)??Fs(e.toolInput)??Fs(e.arguments)??Fs(e.parameters)??{};if(wje(r)==="todowrite"){let l=n7t(a);if(l)return l}let{title:i,kind:s,content:o,locations:c}=r7t(r,a);return{sessionUpdate:"tool_call",toolCallId:n,title:i,toolName:r,kind:s,status:"pending",rawInput:a,content:o,locations:c}}function e7t(e,t){let n=Tt(e,"toolUseId")||Tt(e,"tool_use_id")||Tt(e,"tool_id")||Tt(e,"id")||Tt(e,"toolId");if(!n)return null;let r=Tt(e,"toolName")||Tt(e,"tool_name")||t.get(n);return t.delete(n),{sessionUpdate:"tool_call_update",toolCallId:n,status:e.isError===!0||e.is_error===!0?"failed":"completed",title:r,content:uZ(e.content??e.result??e.value??e.error)}}function t7t(e){let t=Tt(e,"toolUseId")||Tt(e,"tool_use_id")||Tt(e,"tool_id")||Tt(e,"id")||Tt(e,"toolId");if(!t)return null;let n=Fs(e.update),r=Rp(e.content??n?.text??n?.status??n?.details);return{sessionUpdate:"tool_call_update",toolCallId:t,status:"in_progress",content:r?uZ(r):void 0}}function n7t(e){let t=e.todos;if(!Array.isArray(t))return null;let n=t.flatMap(r=>{let a=Fs(r);if(!a)return[];let i=Tt(a,"content"),s=i7t(Tt(a,"status")),o=a7t(Tt(a,"priority"));return i?[{content:i,status:s,priority:o}]:[]});return n.length>0?{sessionUpdate:"plan",entries:n}:null}function r7t(e,t){let n=YWt[wje(e)]||"other",r=Tt(t,"path")||Tt(t,"filePath")||Tt(t,"file_path")||Tt(t,"absolute_path"),a=Tt(t,"command"),i=Tt(t,"url"),s=r||a||i;return{title:s?`${e} ${s}`:e,kind:n,content:Object.keys(t).length>0?uZ(t):[],locations:r?[{path:r}]:[]}}function Sje(e){if(e)return Tt(e,"session_id")||Tt(e,"sessionId")}function Nw(e,t){return{sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:t}}}}function GX(e,t,n){return{sessionId:e,update:{sessionUpdate:"error",message:t,fatal:n}}}function rZ(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{let n=Fs(t);return n?Tt(n,"text")||Tt(n,"content"):""}).filter(Boolean).join(""):""}function uZ(e){let t=Rp(e);return t?[{type:"content",content:{type:"text",text:t}}]:[]}function Rp(e){if(typeof e=="string")return e;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}function _je(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fs(e){return _je(e)?e:null}function Tt(e,t){let n=e[t];return typeof n=="string"?n:""}function JX(e,t){let n=e[t];return typeof n=="string"||typeof n=="number"||typeof n=="boolean"?String(n):""}function wje(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function i7t(e){return e==="in_progress"||e==="completed"?e:"pending"}function a7t(e){return e==="high"||e==="low"?e:"medium"}var s7t={read_file:"read",read_many_files:"read",write_file:"edit",replace:"edit",edit_file:"edit",run_shell_command:"execute",shell:"execute",glob:"search",grep:"search",search_file_content:"search",list_directory:"search",brave_web_search:"fetch",web_search:"fetch",google_web_search:"fetch",web_fetch:"fetch",delegate_to_agent:"think",write_todos:"other",save_memory:"other",activate_skill:"other"};function o7t(){return function(i){let s;try{s=JSON.parse(i)}catch{return null}if(s._meta||s._prompt)return null;let o=s.session_id,c=[];switch(s.type){case"init":return null;case"result":{if(s.status!=="error")return null;c.push({sessionId:o,update:{sessionUpdate:"error",message:Bu([s.error?.message],s.error??s),fatal:!0}});break}case"message":{let l=e(s);l&&c.push({sessionId:o,update:l});break}case"tool_use":{let l=t(s);l&&c.push({sessionId:o,update:l});break}case"tool_result":{let l=n(s);l&&c.push({sessionId:o,update:l});break}case"error":{let l=r(s);l&&c.push({sessionId:o,update:l});break}default:return null}return c.length>0?c:null};function e(i){let s=i.role,o=i.content;return o?s==="assistant"?{sessionUpdate:"agent_message_chunk",content:{type:"text",text:o}}:s==="user"?{sessionUpdate:"user_message_chunk",content:{type:"text",text:o}}:null:null}function t(i){let s=i.tool_id,o=i.tool_name,c=i.parameters||{},{title:l,kind:u,content:d,locations:f}=a(o,c);return{sessionUpdate:"tool_call",toolCallId:s,title:l,toolName:o,kind:u,status:"pending",rawInput:c,content:d,locations:f}}function n(i){let s=i.tool_id,o=i.status,c=i.output,l=i.error,u=[];return c&&typeof c=="string"&&c.length>0&&u.push({type:"content",content:{type:"text",text:o==="error"?`\`\`\`
681
+ `)??""}};case"agent_message":return{sessionUpdate:"agent_message_chunk",content:{type:"text",text:s.text??""}};case"mcp_tool_call":{let c=r(s.result),l=s.status==="failed"||s.error?"failed":"completed";return{sessionUpdate:"tool_call_update",toolCallId:o,status:l,content:c}}case"command_execution":{let c=s.aggregated_output?[{type:"content",content:{type:"text",text:s.aggregated_output}}]:[],l=s.status==="completed"||s.exit_code===0?"completed":"failed";return{sessionUpdate:"tool_call_update",toolCallId:o,status:l,content:c}}case"file_change":{let c=s.changes??[],l=c.map(d=>({path:d.path})),u=c.length===1?`${c[0].kind==="add"?"Create":"Edit"} ${c[0].path}`:`Edit ${c.length} files`;return{sessionUpdate:"tool_call",toolCallId:o,title:u,toolName:"file_change",kind:"edit",status:s.status==="completed"?"completed":"failed",content:c.map(d=>({type:"diff",path:d.path,oldText:d.kind==="add"?null:"",newText:""})),locations:l}}case"web_search":return{sessionUpdate:"tool_call",toolCallId:o,title:`Search: ${s.query??""}`,toolName:"web_search",kind:"fetch",status:"completed",content:[]};case"todo_list":return{sessionUpdate:"plan",entries:i(s.items)};default:return null}}function r(s){return s?.content?Array.isArray(s.content)?s.content.map(o=>({type:"content",content:a(o)})):typeof s.content=="string"?[{type:"content",content:{type:"text",text:s.content}}]:[]:[]}function a(s){return s.type==="text"?{type:"text",text:s.text??""}:s.type==="image"?{type:"image",data:s.data??"",mimeType:s.mime_type??s.mimeType??"",uri:s.uri}:s}function i(s){if(!Array.isArray(s))return[];let o=!1;return s.map(c=>{let l;return c.completed?l="completed":o?l="pending":(l="in_progress",o=!0),{content:c.text??"",status:l,priority:"medium"}})}}var YWt={applypatch:"edit",apply_patch:"edit",create:"edit",edit:"edit",grep:"search",glob:"search",ls:"search",read:"read",write:"edit",execute:"execute",execute_cli:"execute",fetchurl:"fetch",fetch_url:"fetch",webfetch:"fetch",web_fetch:"fetch",websearch:"fetch",web_search:"fetch",skill:"execute",task:"think",todowrite:"other",todo_write:"other"},KWt=new Set(["assistant_text_complete","thinking_text_complete","droid_working_state_changed","permission_resolved","settings_updated","session_title_updated","mcp_status_changed","session_token_usage_changed","mission_state_changed","mission_features_changed","mission_progress_entry","mission_heartbeat","mission_worker_started","mission_worker_completed","mcp_auth_required","mcp_auth_completed","structured_output"]);function jWt(){let e=new Map,t,n=!1,r="",a;return function(i){let s;try{s=JSON.parse(i)}catch{return null}if(!_je(s))return null;let o=XWt(s);if(o.sessionId&&(t=o.sessionId),o.errorText)return[GX(t,o.errorText,!0)];if(o.resultText)return r=o.resultText,n=!0,[Nw(t,o.resultText)];if(o.handled)return null;let c=ZWt(s)??s,l=Sje(c);l&&(t=l);let u=[],d=Tt(c,"type");switch(d){case"system":return null;case"message":{let f=Tt(c,"role"),h=Tt(c,"text")||rZ(c.content);if(!h)break;f==="assistant"&&(n=!0,r=h,u.push(Nw(t,h)));break}case"completion":{let f=Tt(c,"finalText")||Tt(c,"result");f&&(!n||f!==r)&&(n=!0,r=f,u.push(Nw(t,f)));break}case"assistant_text_delta":{let f=Tt(c,"textDelta")||Tt(c,"text");f&&(n=!0,r+=f,u.push(Nw(t,f)));break}case"thinking_text_delta":{let f=Tt(c,"textDelta")||Tt(c,"text");if(f){let h=AKe(c,f,a);h&&(a=h.signature,u.push({sessionId:t,update:h.event}))}break}case"reasoning":{let f=Tt(c,"text");if(f){let h=AKe(c,f,a);h&&(a=h.signature,u.push({sessionId:t,update:h.event}))}break}case"assistant":{let f=Tt(c,"text")||rZ(Fs(c.message)?.content);f&&(n=!0,r=f,u.push(Nw(t,f)));break}case"tool_call":case"tool_call_delta":{let f=Fs(c.toolUse)??Fs(c.tool_use)??c,h=bje(f,e);h&&u.push({sessionId:t,update:h});break}case"tool_result":{let f=e7t(c,e);f&&u.push({sessionId:t,update:f});break}case"tool_progress_update":case"tool_progress":{let f=t7t(c);f&&u.push({sessionId:t,update:f});break}case"create_message":{for(let f of QWt(c,e)){if(f.sessionUpdate==="agent_message_chunk"){let h=f.content.type==="text"?f.content.text:"";if(n&&h===r)continue;n=!0,r=h}u.push({sessionId:t,update:f})}break}case"result":{if(c.is_error===!0||c.subtype==="failure"){u.push(GX(t,Bu([Rp(c.result),Rp(c.error),Rp(c.subtype)],c),!0));break}let f=Rp(c.result??c.text??c.error);f&&(n=!0,r=f,u.push(Nw(t,f)));break}case"error":{u.push(GX(t,Bu([Rp(c.message),Rp(c.error)],c),!1));break}default:if(d&&!KWt.has(d))return null}return u.length>0&&d!=="reasoning"&&d!=="thinking_text_delta"&&(a=void 0),u.length>0?u:null}}function AKe(e,t,n){let r=JX(e,"id")||JX(e,"messageId"),a=JX(e,"blockIndex"),i=`${Tt(e,"type")}:${r}:${a}:${t}`;return i===n?null:{signature:i,event:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:t}}}}function XWt(e){if(e.type!=="response")return{handled:!1};let t=Fs(e.result),n=Fs(e.error),r=Sje(t??e);if(n)return{handled:!0,sessionId:r,errorText:Rp(n.message??n)};let a=t?Tt(t,"finalText")||Tt(t,"result"):"";return{handled:!0,sessionId:r,resultText:a}}function ZWt(e){return e.method!=="droid.session_notification"?null:Fs(Fs(e.params)?.notification)}function QWt(e,t){let n=Fs(e.message);if(!n)return[];let r=[],a=n.content;if(Array.isArray(a))for(let i of a){let s=Fs(i);if(s&&s.type==="tool_use"){let o=bje(s,t);o&&r.push(o)}}if(n.role==="assistant"){let i=rZ(a);i&&r.push({sessionUpdate:"agent_message_chunk",content:{type:"text",text:i}})}return r}function bje(e,t){let n=Tt(e,"id")||Tt(e,"toolUseId")||Tt(e,"tool_use_id"),r=Tt(e,"name")||Tt(e,"toolName")||Tt(e,"tool_name")||"Tool";if(!n)return null;t.set(n,r);let a=Fs(e.input)??Fs(e.toolInput)??Fs(e.arguments)??Fs(e.parameters)??{};if(wje(r)==="todowrite"){let l=n7t(a);if(l)return l}let{title:i,kind:s,content:o,locations:c}=r7t(r,a);return{sessionUpdate:"tool_call",toolCallId:n,title:i,toolName:r,kind:s,status:"pending",rawInput:a,content:o,locations:c}}function e7t(e,t){let n=Tt(e,"toolUseId")||Tt(e,"tool_use_id")||Tt(e,"tool_id")||Tt(e,"id")||Tt(e,"toolId");if(!n)return null;let r=Tt(e,"toolName")||Tt(e,"tool_name")||t.get(n);return t.delete(n),{sessionUpdate:"tool_call_update",toolCallId:n,status:e.isError===!0||e.is_error===!0?"failed":"completed",title:r,content:uZ(e.content??e.result??e.value??e.error)}}function t7t(e){let t=Tt(e,"toolUseId")||Tt(e,"tool_use_id")||Tt(e,"tool_id")||Tt(e,"id")||Tt(e,"toolId");if(!t)return null;let n=Fs(e.update),r=Rp(e.content??n?.text??n?.status??n?.details);return{sessionUpdate:"tool_call_update",toolCallId:t,status:"in_progress",content:r?uZ(r):void 0}}function n7t(e){let t=e.todos;if(!Array.isArray(t))return null;let n=t.flatMap(r=>{let a=Fs(r);if(!a)return[];let i=Tt(a,"content"),s=i7t(Tt(a,"status")),o=a7t(Tt(a,"priority"));return i?[{content:i,status:s,priority:o}]:[]});return n.length>0?{sessionUpdate:"plan",entries:n}:null}function r7t(e,t){let n=YWt[wje(e)]||"other",r=Tt(t,"path")||Tt(t,"filePath")||Tt(t,"file_path")||Tt(t,"absolute_path"),a=Tt(t,"command"),i=Tt(t,"url"),s=r||a||i;return{title:s?`${e} ${s}`:e,kind:n,content:Object.keys(t).length>0?uZ(t):[],locations:r?[{path:r}]:[]}}function Sje(e){if(e)return Tt(e,"session_id")||Tt(e,"sessionId")}function Nw(e,t){return{sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:t}}}}function GX(e,t,n){return{sessionId:e,update:{sessionUpdate:"error",message:t,fatal:n}}}function rZ(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{let n=Fs(t);return n?Tt(n,"text")||Tt(n,"content"):""}).filter(Boolean).join(""):""}function uZ(e){let t=Rp(e);return t?[{type:"content",content:{type:"text",text:t}}]:[]}function Rp(e){if(typeof e=="string")return e;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}function _je(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fs(e){return _je(e)?e:null}function Tt(e,t){let n=e[t];return typeof n=="string"?n:""}function JX(e,t){let n=e[t];return typeof n=="string"||typeof n=="number"||typeof n=="boolean"?String(n):""}function wje(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function i7t(e){return e==="in_progress"||e==="completed"?e:"pending"}function a7t(e){return e==="high"||e==="low"?e:"medium"}var s7t={read_file:"read",read_many_files:"read",write_file:"edit",replace:"edit",edit_file:"edit",run_shell_command:"execute",shell:"execute",glob:"search",grep:"search",search_file_content:"search",list_directory:"search",brave_web_search:"fetch",web_search:"fetch",google_web_search:"fetch",web_fetch:"fetch",delegate_to_agent:"think",write_todos:"other",save_memory:"other",activate_skill:"other"};function o7t(){return function(i){let s;try{s=JSON.parse(i)}catch{return null}if(s._meta||s._prompt)return null;let o=s.session_id,c=[];switch(s.type){case"init":return null;case"result":{if(s.status!=="error")return null;c.push({sessionId:o,update:{sessionUpdate:"error",message:Bu([s.error?.message,s.error?.type,'gemini ended the run with result status "error" and no error text'],s.error??s),fatal:!0}});break}case"message":{let l=e(s);l&&c.push({sessionId:o,update:l});break}case"tool_use":{let l=t(s);l&&c.push({sessionId:o,update:l});break}case"tool_result":{let l=n(s);l&&c.push({sessionId:o,update:l});break}case"error":{let l=r(s);l&&c.push({sessionId:o,update:l});break}default:return null}return c.length>0?c:null};function e(i){let s=i.role,o=i.content;return o?s==="assistant"?{sessionUpdate:"agent_message_chunk",content:{type:"text",text:o}}:s==="user"?{sessionUpdate:"user_message_chunk",content:{type:"text",text:o}}:null:null}function t(i){let s=i.tool_id,o=i.tool_name,c=i.parameters||{},{title:l,kind:u,content:d,locations:f}=a(o,c);return{sessionUpdate:"tool_call",toolCallId:s,title:l,toolName:o,kind:u,status:"pending",rawInput:c,content:d,locations:f}}function n(i){let s=i.tool_id,o=i.status,c=i.output,l=i.error,u=[];return c&&typeof c=="string"&&c.length>0&&u.push({type:"content",content:{type:"text",text:o==="error"?`\`\`\`
682
682
  ${c}
683
683
  \`\`\``:c}}),l?.message&&!c&&u.push({type:"content",content:{type:"text",text:`\`\`\`
684
684
  ${l.message}
@@ -407,7 +407,7 @@ async def list_checkpoints(
407
407
  await store.close()
408
408
 
409
409
 
410
- __version__ = '0.0.52.dev897'
410
+ __version__ = '0.0.52.dev898'
411
411
 
412
412
  __all__ = [
413
413
  # Main classes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evolve-sdk
3
- Version: 0.0.52.dev897
3
+ Version: 0.0.52.dev898
4
4
  Summary: Pythonic SDK for multi-agent orchestration in E2B sandboxes
5
5
  Author-email: "Swarmlink, Inc." <brandomagnani@evolvingmachines.ai>
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "evolve-sdk"
7
- version = "0.0.52.dev897"
7
+ version = "0.0.52.dev898"
8
8
  description = "Pythonic SDK for multi-agent orchestration in E2B sandboxes"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"