@evolvingmachines/sdk 0.0.18 → 0.0.20
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.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var events=require('events'),tn=require('ajv'),At=require('zod-to-json-schema'),E=require('fs'),Y=require('path'),promises=require('fs/promises'),os=require('os'),crypto=require('crypto'),core=require('@composio/core'),zod=require('zod'),e2b=require('@evolvingmachines/e2b'),daytona=require('@evolvingmachines/daytona'),modal=require('@evolvingmachines/modal');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var tn__default=/*#__PURE__*/_interopDefault(tn);var At__default=/*#__PURE__*/_interopDefault(At);var E__namespace=/*#__PURE__*/_interopNamespace(E);var Y__namespace=/*#__PURE__*/_interopNamespace(Y);var kt={CLAUDE:"claude",CODEX:"codex",GEMINI:"gemini",QWEN:"qwen"},he={strict:{coerceTypes:false,removeAdditional:false,useDefaults:false,allErrors:true},loose:{coerceTypes:"array",removeAdditional:false,useDefaults:true,allErrors:true}};var ye={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",defaultModel:"opus",models:[{alias:"opus",modelId:"claude-opus-4-
|
|
1
|
+
'use strict';var events=require('events'),tn=require('ajv'),At=require('zod-to-json-schema'),E=require('fs'),Y=require('path'),promises=require('fs/promises'),os=require('os'),crypto=require('crypto'),core=require('@composio/core'),zod=require('zod'),e2b=require('@evolvingmachines/e2b'),daytona=require('@evolvingmachines/daytona'),modal=require('@evolvingmachines/modal');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var tn__default=/*#__PURE__*/_interopDefault(tn);var At__default=/*#__PURE__*/_interopDefault(At);var E__namespace=/*#__PURE__*/_interopNamespace(E);var Y__namespace=/*#__PURE__*/_interopNamespace(Y);var kt={CLAUDE:"claude",CODEX:"codex",GEMINI:"gemini",QWEN:"qwen"},he={strict:{coerceTypes:false,removeAdditional:false,useDefaults:false,allErrors:true},loose:{coerceTypes:"array",removeAdditional:false,useDefaults:true,allErrors:true}};var ye={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",defaultModel:"opus",models:[{alias:"opus",modelId:"claude-opus-4-6",description:"Complex reasoning, R&D, architecting"},{alias:"sonnet",modelId:"claude-sonnet-4-5-20250929",description:"Daily coding, features, tests"},{alias:"haiku",modelId:"claude-haiku-4-5-20251001",description:"Quick tasks, syntax correction"}],systemPromptFile:"CLAUDE.md",mcpConfig:{settingsDir:"~/.claude",filename:"settings.json",format:"json",projectConfig:true},availableBetas:{CONTEXT_1M:"context-1m-2025-08-07"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.claude/skills"},buildCommand:({prompt:c,model:e,isResume:n,betas:s})=>{let a=n?"--continue ":"",o=s?.length?`--betas ${s.join(",")} `:"";return `echo "${c}" | claude -p ${a}${o}--model ${e} --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.2",models:[{alias:"gpt-5.2",modelId:"gpt-5.2",description:"Base model"},{alias:"gpt-5.2-codex",modelId:"gpt-5.2-codex",description:"Code-optimized"},{alias:"gpt-5.1-codex-max",modelId:"gpt-5.1-codex-max",description:"Best reasoning (xhigh effort)"},{alias:"gpt-5.1-mini",modelId:"gpt-5.1-mini",description:"Smaller/faster"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.codex",filename:"config.toml",format:"toml"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.codex/skills"},setupCommand:`printf '%s\\n' "$OPENAI_API_KEY" | codex login --with-api-key`,buildCommand:({prompt:c,model:e,isResume:n,reasoningEffort:s})=>{let a=s?` -c model_reasoning_effort="${s}"`:"";return `printf '%s' "${c}" | codex exec --model ${e}${a} --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --json${n?" 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-flash-preview",models:[{alias:"gemini-3-pro-preview",modelId:"gemini-3-pro-preview",description:"Latest pro preview"},{alias:"gemini-3-flash-preview",modelId:"gemini-3-flash-preview",description:"Latest flash preview"},{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"},usePassthroughGateway:true,buildCommand:({prompt:c,model:e,isResume:n})=>`gemini "${c}" ${n?"--resume latest ":""}--model ${e} --yolo --output-format stream-json`},qwen:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"qwen3-coder-plus",models:[{alias:"qwen3-coder-plus",modelId:"qwen3-coder-plus",description:"Code generation, debugging"},{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",enableFlag:"--experimental-skills"},defaultBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",buildCommand:({prompt:c,model:e,isResume:n,isDirectMode:s,skills:a})=>{let o=n?"--continue ":"",i=a?.length?"--experimental-skills ":"",l=s||e.startsWith("dashscope/")?e:`dashscope/${e}`;return `qwen "${c}" ${o}${i}--auth-type openai --model ${l} --yolo --output-format stream-json`}}};function M(c){let e=ye[c];if(!e)throw new Error(`Unknown agent type: ${c}`);return e}function _t(c){return c in ye}function ve(c){return c.replace(/^~/,"/home/user")}function $(c){let e=M(c);return `${ve(e.mcpConfig.settingsDir)}/${e.mcpConfig.filename}`}function U(c){let e=M(c);return ve(e.mcpConfig.settingsDir)}function V(c){if(c instanceof Error){let e=c.message.toLowerCase();return e.includes("not found")||e.includes("enoent")||e.includes("no such file")||e.includes("does not exist")}return false}function xe(c,e){let n=[e.command,e.url].filter(Boolean);if(n.length===0)throw new Error(`MCP server "${c}" must specify command or url`);if(n.length>1)throw new Error(`MCP server "${c}" cannot specify both command and url`)}function be(c){for(let[e,n]of Object.entries(c))xe(e,n);}function Ce(c){return c.type?c.type:c.command?"stdio":"sse"}function Tt(c){let e=Ce(c);return {...c,type:e}}function Pt(c){let{type:e,url:n,...s}=c;return Ce(c)==="http"&&n?{httpUrl:n,...s}:n?{url:n,...s}:s}function Et(c){return {type:Ce(c),...c}}async function Be(c,e,n,s){be(n);let a=U(e),o=$(e);await c.files.makeDir(a);let i={};try{let r=await c.files.read(o);typeof r=="string"&&(i=JSON.parse(r));}catch(r){if(!V(r))throw r}let l=Object.fromEntries(Object.entries(n).map(([r,p])=>[r,s(p)]));await c.files.write(o,JSON.stringify({...i,mcpServers:l},null,2));}async function Q(c,e,n){be(n);let s=U("claude"),a=$("claude"),o=Object.fromEntries(Object.entries(n).map(([l,r])=>[l,Et(r)]));await c.files.write(`${e}/.mcp.json`,JSON.stringify({mcpServers:o},null,2)),await c.files.makeDir(s);let i={};try{let l=await c.files.read(a);typeof l=="string"&&(i=JSON.parse(l));}catch(l){if(!V(l))throw l}i.enableAllProjectMcpServers=true,await c.files.write(a,JSON.stringify(i,null,2));}async function X(c,e){await Be(c,"gemini",e,Tt);}async function ee(c,e){await Be(c,"qwen",e,Pt);}function T(c){return typeof c=="string"?`"${c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:Array.isArray(c)?`[${c.map(e=>T(e)).join(", ")}]`:typeof c=="object"&&c!==null?`{ ${Object.entries(c).map(([n,s])=>`${n} = ${T(s)}`).join(", ")} }`:typeof c=="boolean"?c?"true":"false":String(c)}async function te(c,e){for(let[r,p]of Object.entries(e))xe(r,p);let n=U("codex"),s=$("codex");await c.files.makeDir(n);let a="";try{let r=await c.files.read(s);typeof r=="string"&&(a=r);}catch(r){if(!V(r))throw r}let o=[],i=[];a.includes("experimental_use_rmcp_client")||(o.push("# Enable improved RMCP client (recommended)"),o.push("experimental_use_rmcp_client = true")),a.includes("[mcp_servers]")||i.push("[mcp_servers]","");for(let[r,p]of Object.entries(e)){if(a.includes(`[mcp_servers.${r}]`))continue;i.push(`[mcp_servers.${r}]`);let t=p.type??(p.command?"stdio":"http");if(t==="http"||t==="sse"||!!p.url){if(!p.url)throw new Error(`MCP server "${r}" is missing url for ${t} transport`);i.push(`url = ${T(p.url)}`),p.bearerTokenEnvVar&&i.push(`bearer_token_env_var = ${T(p.bearerTokenEnvVar)}`);let d=p.httpHeaders??p.headers;d&&Object.keys(d).length>0&&i.push(`http_headers = ${T(d)}`),p.envHttpHeaders&&Object.keys(p.envHttpHeaders).length>0&&i.push(`env_http_headers = ${T(p.envHttpHeaders)}`);}else i.push(`command = ${T(p.command)}`),p.args&&p.args.length>0&&i.push(`args = ${T(p.args)}`),p.cwd&&i.push(`cwd = ${T(p.cwd)}`);p.env&&Object.keys(p.env).length>0&&i.push(`env = ${T(p.env)}`),p.envVars&&p.envVars.length>0&&i.push(`env_vars = ${T(p.envVars)}`),i.push("");}let l=[a.trim(),o.join(`
|
|
2
2
|
`),i.join(`
|
|
3
3
|
`)].filter(r=>r.length>0);await c.files.write(s,l.join(`
|
|
4
4
|
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {EventEmitter}from'events';import tn from'ajv';import At from'zod-to-json-schema';import*as E from'fs';import*as Y from'path';import {join}from'path';import {mkdir,appendFile}from'fs/promises';import {homedir}from'os';import {randomBytes}from'crypto';import {Composio,AuthScheme}from'@composio/core';import {z as z$1}from'zod';export{E2BProvider}from'@evolvingmachines/e2b';export{DaytonaProvider}from'@evolvingmachines/daytona';export{ModalProvider}from'@evolvingmachines/modal';var kt={CLAUDE:"claude",CODEX:"codex",GEMINI:"gemini",QWEN:"qwen"},he={strict:{coerceTypes:false,removeAdditional:false,useDefaults:false,allErrors:true},loose:{coerceTypes:"array",removeAdditional:false,useDefaults:true,allErrors:true}};var ye={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",defaultModel:"opus",models:[{alias:"opus",modelId:"claude-opus-4-
|
|
1
|
+
import {EventEmitter}from'events';import tn from'ajv';import At from'zod-to-json-schema';import*as E from'fs';import*as Y from'path';import {join}from'path';import {mkdir,appendFile}from'fs/promises';import {homedir}from'os';import {randomBytes}from'crypto';import {Composio,AuthScheme}from'@composio/core';import {z as z$1}from'zod';export{E2BProvider}from'@evolvingmachines/e2b';export{DaytonaProvider}from'@evolvingmachines/daytona';export{ModalProvider}from'@evolvingmachines/modal';var kt={CLAUDE:"claude",CODEX:"codex",GEMINI:"gemini",QWEN:"qwen"},he={strict:{coerceTypes:false,removeAdditional:false,useDefaults:false,allErrors:true},loose:{coerceTypes:"array",removeAdditional:false,useDefaults:true,allErrors:true}};var ye={claude:{image:"evolve-all",apiKeyEnv:"ANTHROPIC_API_KEY",oauthEnv:"CLAUDE_CODE_OAUTH_TOKEN",baseUrlEnv:"ANTHROPIC_BASE_URL",defaultModel:"opus",models:[{alias:"opus",modelId:"claude-opus-4-6",description:"Complex reasoning, R&D, architecting"},{alias:"sonnet",modelId:"claude-sonnet-4-5-20250929",description:"Daily coding, features, tests"},{alias:"haiku",modelId:"claude-haiku-4-5-20251001",description:"Quick tasks, syntax correction"}],systemPromptFile:"CLAUDE.md",mcpConfig:{settingsDir:"~/.claude",filename:"settings.json",format:"json",projectConfig:true},availableBetas:{CONTEXT_1M:"context-1m-2025-08-07"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.claude/skills"},buildCommand:({prompt:c,model:e,isResume:n,betas:s})=>{let a=n?"--continue ":"",o=s?.length?`--betas ${s.join(",")} `:"";return `echo "${c}" | claude -p ${a}${o}--model ${e} --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.2",models:[{alias:"gpt-5.2",modelId:"gpt-5.2",description:"Base model"},{alias:"gpt-5.2-codex",modelId:"gpt-5.2-codex",description:"Code-optimized"},{alias:"gpt-5.1-codex-max",modelId:"gpt-5.1-codex-max",description:"Best reasoning (xhigh effort)"},{alias:"gpt-5.1-mini",modelId:"gpt-5.1-mini",description:"Smaller/faster"}],systemPromptFile:"AGENTS.md",mcpConfig:{settingsDir:"~/.codex",filename:"config.toml",format:"toml"},skillsConfig:{sourceDir:"/home/user/.evolve/skills",targetDir:"/home/user/.codex/skills"},setupCommand:`printf '%s\\n' "$OPENAI_API_KEY" | codex login --with-api-key`,buildCommand:({prompt:c,model:e,isResume:n,reasoningEffort:s})=>{let a=s?` -c model_reasoning_effort="${s}"`:"";return `printf '%s' "${c}" | codex exec --model ${e}${a} --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --json${n?" 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-flash-preview",models:[{alias:"gemini-3-pro-preview",modelId:"gemini-3-pro-preview",description:"Latest pro preview"},{alias:"gemini-3-flash-preview",modelId:"gemini-3-flash-preview",description:"Latest flash preview"},{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"},usePassthroughGateway:true,buildCommand:({prompt:c,model:e,isResume:n})=>`gemini "${c}" ${n?"--resume latest ":""}--model ${e} --yolo --output-format stream-json`},qwen:{image:"evolve-all",apiKeyEnv:"OPENAI_API_KEY",baseUrlEnv:"OPENAI_BASE_URL",defaultModel:"qwen3-coder-plus",models:[{alias:"qwen3-coder-plus",modelId:"qwen3-coder-plus",description:"Code generation, debugging"},{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",enableFlag:"--experimental-skills"},defaultBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",buildCommand:({prompt:c,model:e,isResume:n,isDirectMode:s,skills:a})=>{let o=n?"--continue ":"",i=a?.length?"--experimental-skills ":"",l=s||e.startsWith("dashscope/")?e:`dashscope/${e}`;return `qwen "${c}" ${o}${i}--auth-type openai --model ${l} --yolo --output-format stream-json`}}};function M(c){let e=ye[c];if(!e)throw new Error(`Unknown agent type: ${c}`);return e}function _t(c){return c in ye}function ve(c){return c.replace(/^~/,"/home/user")}function $(c){let e=M(c);return `${ve(e.mcpConfig.settingsDir)}/${e.mcpConfig.filename}`}function U(c){let e=M(c);return ve(e.mcpConfig.settingsDir)}function V(c){if(c instanceof Error){let e=c.message.toLowerCase();return e.includes("not found")||e.includes("enoent")||e.includes("no such file")||e.includes("does not exist")}return false}function xe(c,e){let n=[e.command,e.url].filter(Boolean);if(n.length===0)throw new Error(`MCP server "${c}" must specify command or url`);if(n.length>1)throw new Error(`MCP server "${c}" cannot specify both command and url`)}function be(c){for(let[e,n]of Object.entries(c))xe(e,n);}function Ce(c){return c.type?c.type:c.command?"stdio":"sse"}function Tt(c){let e=Ce(c);return {...c,type:e}}function Pt(c){let{type:e,url:n,...s}=c;return Ce(c)==="http"&&n?{httpUrl:n,...s}:n?{url:n,...s}:s}function Et(c){return {type:Ce(c),...c}}async function Be(c,e,n,s){be(n);let a=U(e),o=$(e);await c.files.makeDir(a);let i={};try{let r=await c.files.read(o);typeof r=="string"&&(i=JSON.parse(r));}catch(r){if(!V(r))throw r}let l=Object.fromEntries(Object.entries(n).map(([r,p])=>[r,s(p)]));await c.files.write(o,JSON.stringify({...i,mcpServers:l},null,2));}async function Q(c,e,n){be(n);let s=U("claude"),a=$("claude"),o=Object.fromEntries(Object.entries(n).map(([l,r])=>[l,Et(r)]));await c.files.write(`${e}/.mcp.json`,JSON.stringify({mcpServers:o},null,2)),await c.files.makeDir(s);let i={};try{let l=await c.files.read(a);typeof l=="string"&&(i=JSON.parse(l));}catch(l){if(!V(l))throw l}i.enableAllProjectMcpServers=true,await c.files.write(a,JSON.stringify(i,null,2));}async function X(c,e){await Be(c,"gemini",e,Tt);}async function ee(c,e){await Be(c,"qwen",e,Pt);}function T(c){return typeof c=="string"?`"${c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:Array.isArray(c)?`[${c.map(e=>T(e)).join(", ")}]`:typeof c=="object"&&c!==null?`{ ${Object.entries(c).map(([n,s])=>`${n} = ${T(s)}`).join(", ")} }`:typeof c=="boolean"?c?"true":"false":String(c)}async function te(c,e){for(let[r,p]of Object.entries(e))xe(r,p);let n=U("codex"),s=$("codex");await c.files.makeDir(n);let a="";try{let r=await c.files.read(s);typeof r=="string"&&(a=r);}catch(r){if(!V(r))throw r}let o=[],i=[];a.includes("experimental_use_rmcp_client")||(o.push("# Enable improved RMCP client (recommended)"),o.push("experimental_use_rmcp_client = true")),a.includes("[mcp_servers]")||i.push("[mcp_servers]","");for(let[r,p]of Object.entries(e)){if(a.includes(`[mcp_servers.${r}]`))continue;i.push(`[mcp_servers.${r}]`);let t=p.type??(p.command?"stdio":"http");if(t==="http"||t==="sse"||!!p.url){if(!p.url)throw new Error(`MCP server "${r}" is missing url for ${t} transport`);i.push(`url = ${T(p.url)}`),p.bearerTokenEnvVar&&i.push(`bearer_token_env_var = ${T(p.bearerTokenEnvVar)}`);let d=p.httpHeaders??p.headers;d&&Object.keys(d).length>0&&i.push(`http_headers = ${T(d)}`),p.envHttpHeaders&&Object.keys(p.envHttpHeaders).length>0&&i.push(`env_http_headers = ${T(p.envHttpHeaders)}`);}else i.push(`command = ${T(p.command)}`),p.args&&p.args.length>0&&i.push(`args = ${T(p.args)}`),p.cwd&&i.push(`cwd = ${T(p.cwd)}`);p.env&&Object.keys(p.env).length>0&&i.push(`env = ${T(p.env)}`),p.envVars&&p.envVars.length>0&&i.push(`env_vars = ${T(p.envVars)}`),i.push("");}let l=[a.trim(),o.join(`
|
|
2
2
|
`),i.join(`
|
|
3
3
|
`)].filter(r=>r.length>0);await c.files.write(s,l.join(`
|
|
4
4
|
|