@checksum-ai/runtime 5.1.0-beta.1 → 5.2.0
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/.env +1 -1
- package/checksum-progress-reporter.js +4 -4
- package/cli.js +78 -80
- package/index.js +52 -54
- package/package.json +1 -1
- package/test-run-monitor.js +9 -9
package/.env
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
CHECKSUM_RUNTIME_BUILD_TIME=2026-09-
|
|
1
|
+
CHECKSUM_RUNTIME_BUILD_TIME=2026-09-11T14:37:52.756Z
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`);let n;for(;(n=
|
|
3
|
-
`),l=l.replace(/\\r/g,"\r")),t[i]=l}return t}o(pe,"parse");function de(e){e=e||{};let t=L(e);e.path=t;let r=u.configDotenv(e);if(!r.parsed){let a=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw a.code="MISSING_DATA",a}let n=O(e).split(","),i=n.length,l;for(let a=0;a<i;a++)try{let s=n[a].trim(),p=me(r,s);l=u.decrypt(p.ciphertext,p.key);break}catch(s){if(a+1>=i)throw s}return u.parse(l)}o(de,"_parseVault");function ue(e){console.error(`\u26A0 ${e}`)}o(ue,"_warn");function b(e){console.log(`\u2506 ${e}`)}o(b,"_debug");function F(e){console.log(`\u25C7 ${e}`)}o(F,"_log");function O(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}o(O,"_dotenvKey");function me(e,t){let r;try{r=new URL(t)}catch(s){if(s.code==="ERR_INVALID_URL"){let p=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw p.code="INVALID_DOTENV_KEY",p}throw s}let n=r.password;if(!n){let s=new Error("INVALID_DOTENV_KEY: Missing key part");throw s.code="INVALID_DOTENV_KEY",s}let i=r.searchParams.get("environment");if(!i){let s=new Error("INVALID_DOTENV_KEY: Missing environment part");throw s.code="INVALID_DOTENV_KEY",s}let l=`DOTENV_VAULT_${i.toUpperCase()}`,a=e.parsed[l];if(!a){let s=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${l} in your .env.vault file.`);throw s.code="NOT_FOUND_DOTENV_ENVIRONMENT",s}return{ciphertext:a,key:n}}o(me,"_instructions");function L(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)A.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=E.resolve(process.cwd(),".env.vault");return A.existsSync(t)?t:null}o(L,"_vaultPath");function P(e){return e[0]==="~"?E.join(oe.homedir(),e.slice(1)):e}o(P,"_resolveHome");function ge(e){let t=f(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),r=f(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!r)&&F("loading env from encrypted .env.vault");let n=u._parseVault(e),i=process.env;return e&&e.processEnv!=null&&(i=e.processEnv),u.populate(i,n,e),{parsed:n}}o(ge,"_configVault");function he(e){let t=E.resolve(process.cwd(),".env"),r="utf8",n=process.env;e&&e.processEnv!=null&&(n=e.processEnv);let i=f(n.DOTENV_CONFIG_DEBUG||e&&e.debug),l=f(n.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:i&&b("no encoding is specified (UTF-8 is used by default)");let a=[t];if(e&&e.path)if(!Array.isArray(e.path))a=[P(e.path)];else{a=[];for(let c of e.path)a.push(P(c))}let s,p={};for(let c of a)try{let m=u.parse(A.readFileSync(c,{encoding:r}));u.populate(p,m,e)}catch(m){i&&b(`failed to load ${c} ${m.message}`),s=m}let h=u.populate(n,p,e);if(i=f(n.DOTENV_CONFIG_DEBUG||i),l=f(n.DOTENV_CONFIG_QUIET||l),i||!l){let c=Object.keys(h).length,m=[];for(let C of a)try{let T=E.relative(process.cwd(),C);m.push(T)}catch(T){i&&b(`failed to load ${C} ${T.message}`),s=T}F(`injected env (${c}) from ${m.join(",")} ${le(`// tip: ${ie()}`)}`)}return s?{parsed:p,error:s}:{parsed:p}}o(he,"configDotenv");function fe(e){if(O(e).length===0)return u.configDotenv(e);let t=L(e);return t?u._configVault(e):(ue(`you set DOTENV_KEY but you are missing a .env.vault file at ${t}`),u.configDotenv(e))}o(fe,"config");function ye(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),l=n.subarray(-16);n=n.subarray(12,-16);try{let a=ae.createDecipheriv("aes-256-gcm",r,i);return a.setAuthTag(l),`${a.update(n)}${a.final()}`}catch(a){let s=a instanceof RangeError,p=a.message==="Invalid key length",h=a.message==="Unsupported state or unable to authenticate data";if(s||p){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(h){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw a}}o(ye,"decrypt");function be(e,t,r={}){let n=!!(r&&r.debug),i=!!(r&&r.override),l={};if(typeof t!="object"){let a=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw a.code="OBJECT_REQUIRED",a}for(let a of Object.keys(t))Object.prototype.hasOwnProperty.call(e,a)?(i===!0&&(e[a]=t[a],l[a]=t[a]),n&&b(i===!0?`"${a}" is already defined and WAS overwritten`:`"${a}" is already defined and was NOT overwritten`)):(e[a]=t[a],l[a]=t[a]);return l}o(be,"populate");var u={configDotenv:he,_configVault:ge,_parseVault:de,config:fe,decrypt:ye,parse:pe,populate:be};g.exports.configDotenv=u.configDotenv;g.exports._configVault=u._configVault;g.exports._parseVault=u._parseVault;g.exports.config=u.config;g.exports.decrypt=u.decrypt;g.exports.parse=u.parse;g.exports.populate=u.populate;g.exports=u});var $e={};te($e,{default:()=>x});module.exports=re($e);var z=require("path");var ln=require("@playwright/test");var vt=require("@playwright/test");var Et=require("@playwright/test");var yt=require("@playwright/test");var en=require("@playwright/test");var $t={openai_gpt_4_1:{model:"gpt-4.1-2025-04-14",type:"openai"},openai_gpt_4_1_mini:{model:"gpt-4.1-mini-2025-04-14",type:"openai"},openai_gpt_4_1_nano:{model:"gpt-4.1-nano-2025-04-14",type:"openai"},gemini_2_0_flash:{model:"gemini-2.0-flash",type:"gemini"},gemini_2_5_pro_exp:{model:"gemini-2.5-pro-exp-03-25",type:"gemini"},gemini_2_5_flash:{model:"gemini-2.5-flash",type:"gemini"},gemini_2_5_pro_preview_05_06:{model:"gemini-2.5-pro-preview-05-06",type:"gemini"},claude_sonnet_4:{model:"claude-sonnet-4@20250514",type:"anthropic-vertexai"},claude_sonnet_4_6:{model:"claude-sonnet-4-6",type:"anthropic-vertexai"},claude_sonnet_5:{model:"claude-sonnet-5",type:"anthropic-vertexai"},claude_opus_4_8:{model:"claude-opus-4-8",type:"anthropic-vertexai"},gemini_2_5_flash_lite:{model:"gemini-2.5-flash-lite",type:"gemini"},gemini_3_5_flash:{model:"gemini-3.5-flash",type:"gemini"},gemini_3_1_flash_lite:{model:"gemini-3.1-flash-lite",type:"gemini"}};var D=ne(N());D.default.config({path:[`${__dirname}/.env`,`${__dirname}/../../.env`]});var Me="claude_4",Te={gemini20flash:{name:"google-vertexai/gemini-2.0-flash",inputTokenLimit:8e5,provider:"gemini",temperature:0},gpt41:{name:"openai/gpt-4.1",inputTokenLimit:8e5,provider:"openai",temperature:0},gemini25flash:{name:"google-vertexai/gemini-2.5-flash",inputTokenLimit:8e5,provider:"gemini",temperature:.7},gemini25flash_lite:{name:"google-vertexai/gemini-2.5-flash-lite",inputTokenLimit:8e5,provider:"gemini",temperature:0},gpt4onano:{name:"openai/gpt-4o-nano",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt41nano:{name:"openai/gpt-4.1-nano",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt41mini:{name:"openai/gpt-4.1-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},o3mini:{name:"openai/o3-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},o4mini:{name:"openai/o4-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},gemini25pro:{name:"google-vertexai/gemini-2.5-pro-preview-05-06",inputTokenLimit:8e5,provider:"gemini",temperature:0},claude37sonnet:{name:"google-vertexai/claude-3-7-sonnet@20250219",inputTokenLimit:15e4,provider:"anthropic",temperature:0},claude4sonnet:{name:"google-vertexai/claude-sonnet-4@20250514",inputTokenLimit:15e4,provider:"anthropic",temperature:1},claudeSonnet46:{name:"google-vertexai/claude-sonnet-4-6",inputTokenLimit:15e4,provider:"anthropic",temperature:1,location:"global"},claudeSonnet5:{name:"google-vertexai/claude-sonnet-5",inputTokenLimit:15e4,provider:"anthropic",temperature:1,location:"global"},claudeOpus48:{name:"google-vertexai/claude-opus-4-8",inputTokenLimit:15e4,provider:"anthropic",temperature:1,location:"global"},gemini35flash:{name:"google-vertexai/gemini-3.5-flash",inputTokenLimit:8e5,provider:"gemini",temperature:0,location:"global"},gemini31flashLite:{name:"google-vertexai/gemini-3.1-flash-lite",inputTokenLimit:8e5,provider:"gemini",temperature:0,location:"global"},gpt4omini:{name:"openai/gpt-4o-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt5mini:{name:"openai/gpt-5-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt5nano:{name:"openai/gpt-5-nano",inputTokenLimit:8e5,provider:"openai",temperature:0}},Ee=o(()=>({nodeEnv:process.env.NODE_ENV??"production",selectedModel:{name:Me},models:Te,langsmith:{enabled:process.env.LANGSMITH_TRACING==="true",endpoint:process.env.LANGSMITH_ENDPOINT??"",apiKey:process.env.LANGSMITH_API_KEY??"",project:process.env.LANGSMITH_PROJECT??""}}),"make"),d=Ee(),Qt={claude_4:d.models.claude4sonnet,"claude_3.7":d.models.claude37sonnet,claude_sonnet_4_6:d.models.claudeSonnet46,claude_sonnet_5:d.models.claudeSonnet5,claude_opus_4_8:d.models.claudeOpus48,"gemini_2.5_pro":d.models.gemini25pro,"gemini_2.0_flash":d.models.gemini20flash,"gemini_2.5_flash_lite":d.models.gemini25flash_lite,"gemini_2.5_flash":d.models.gemini25flash,"gemini_3.5_flash":d.models.gemini35flash,"gemini_3.1_flash_lite":d.models.gemini31flashLite,gpt_4o_mini:d.models.gpt4omini,gpt_4o_nano:d.models.gpt4onano,gpt_41_nano:d.models.gpt41nano,gpt_5_mini:d.models.gpt5mini,gpt_5_nano:d.models.gpt5nano,gpt_41_mini:d.models.gpt41mini,gpt_41:d.models.gpt41,o4_mini:d.models.o4mini,o3_mini:d.models.o3mini};var w=o(e=>{if(e.error!=null)return"ERROR";let t=e.status_code;if(typeof t=="number"&&t>=500)return"ERROR";let r=e.exit_code;return typeof r=="number"&&r!==0?"ERROR":"INFO"},"severityFor");var S=require("fs");var U="\x1B[31m",_e="\x1B[33m",xe="\x1B[32m",Ae="\x1B[36m",Se="\x1B[2m",ve="\x1B[1m",M="\x1B[0m",Ie=o(()=>{let e=process.env.WIDE_EVENT_PRETTY;return e==="true"||e==="1"?!0:e==="false"||e==="0"?!1:process.stdout.isTTY?!0:process.env.APP_ENV==="local"},"shouldPretty"),Ce=new Set(["severity","message","kind","timestamp","_startedAtMs"]),Re=o(e=>{let t=new WeakSet;return JSON.stringify(e,(r,n)=>{if(typeof n=="bigint")return n.toString();if(typeof n=="object"&&n!==null){if(t.has(n))return"[Circular]";t.add(n)}return n})},"safeStringify"),ke=o(e=>e==="ERROR"||e==="CRITICAL"?U:e==="WARNING"?_e:xe,"colorForSeverity"),Pe=o(e=>{let t=String(e.severity??"INFO"),r=`${ke(t)}${t.padEnd(5)}${M}`,n=e.kind?`${Ae}${e.kind}${M}`:"",i=String(e.message??""),l=e.error&&typeof e.error=="object"?(()=>{let c=e.error;return` ${U}${c.type??"Error"}: ${c.message??""}${M}`})():"",a=["outcome","test_suite_run_id","status"],s=Object.entries(e).filter(([c,m])=>!Ce.has(c)&&m!=null&&c!=="error"&&typeof m!="object"),p=o(c=>{let m=a.indexOf(c);return m===-1?a.length:m},"rank"),h=s.sort(([c],[m])=>p(c)-p(m)).slice(0,8).map(([c,m])=>`${Se}${c}=${M}${m}`).join(" ");return[r,ve+n+M,i,h,l].filter(c=>c&&c.trim()!=="").join(" ")},"formatPretty"),Fe=o(e=>{let t=e.trace_id;if(typeof t!="string"||t==="")return e;let r=process.env.GCP_PROJECT_ID||process.env.GOOGLE_CLOUD_PROJECT;return r?{...e,"logging.googleapis.com/trace":`projects/${r}/traces/${t}`}:e},"withGcpTraceField"),H=o(e=>{let t=Ie()?Pe(e):Re(Fe(e));(0,S.writeSync)(1,t+`
|
|
1
|
+
"use strict";var J=Object.create;var y=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var o=(e,t)=>y(e,"name",{value:t,configurable:!0});var te=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},ne=(e,t)=>{for(var r in t)y(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of X(t))!ee.call(e,i)&&i!==r&&y(e,i,{get:()=>t[i],enumerable:!(n=Q(t,i))||n.enumerable});return e};var re=(e,t,r)=>(r=e!=null?J(Z(e)):{},R(t||!e||!e.__esModule?y(r,"default",{value:e,enumerable:!0}):r,e)),oe=e=>R(y({},"__esModule",{value:!0}),e);var L=te((Yt,g)=>{var A=require("fs"),E=require("path"),ae=require("os"),ie=require("crypto"),k=["\u25C8 encrypted .env [www.dotenvx.com]","\u25C8 secrets for agents [www.dotenvx.com]","\u2301 auth for agents [www.vestauth.com]","\u2318 custom filepath { path: '/custom/path/.env' }","\u2318 enable debugging { debug: true }","\u2318 override existing { override: true }","\u2318 suppress logs { quiet: true }","\u2318 multiple files { path: ['.env.local', '.env'] }"];function se(){return k[Math.floor(Math.random()*k.length)]}o(se,"_getRandomTip");function f(e){return typeof e=="string"?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}o(f,"parseBoolean");function le(){return process.stdout.isTTY}o(le,"supportsAnsi");function ce(e){return le()?`\x1B[2m${e}\x1B[0m`:e}o(ce,"dim");var pe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function de(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,`
|
|
2
|
+
`);let n;for(;(n=pe.exec(r))!=null;){let i=n[1],l=n[2]||"";l=l.trim();let a=l[0];l=l.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),a==='"'&&(l=l.replace(/\\n/g,`
|
|
3
|
+
`),l=l.replace(/\\r/g,"\r")),t[i]=l}return t}o(de,"parse");function ue(e){e=e||{};let t=N(e);e.path=t;let r=u.configDotenv(e);if(!r.parsed){let a=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw a.code="MISSING_DATA",a}let n=F(e).split(","),i=n.length,l;for(let a=0;a<i;a++)try{let s=n[a].trim(),p=ge(r,s);l=u.decrypt(p.ciphertext,p.key);break}catch(s){if(a+1>=i)throw s}return u.parse(l)}o(ue,"_parseVault");function me(e){console.error(`\u26A0 ${e}`)}o(me,"_warn");function b(e){console.log(`\u2506 ${e}`)}o(b,"_debug");function O(e){console.log(`\u25C7 ${e}`)}o(O,"_log");function F(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}o(F,"_dotenvKey");function ge(e,t){let r;try{r=new URL(t)}catch(s){if(s.code==="ERR_INVALID_URL"){let p=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw p.code="INVALID_DOTENV_KEY",p}throw s}let n=r.password;if(!n){let s=new Error("INVALID_DOTENV_KEY: Missing key part");throw s.code="INVALID_DOTENV_KEY",s}let i=r.searchParams.get("environment");if(!i){let s=new Error("INVALID_DOTENV_KEY: Missing environment part");throw s.code="INVALID_DOTENV_KEY",s}let l=`DOTENV_VAULT_${i.toUpperCase()}`,a=e.parsed[l];if(!a){let s=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${l} in your .env.vault file.`);throw s.code="NOT_FOUND_DOTENV_ENVIRONMENT",s}return{ciphertext:a,key:n}}o(ge,"_instructions");function N(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)A.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=E.resolve(process.cwd(),".env.vault");return A.existsSync(t)?t:null}o(N,"_vaultPath");function P(e){return e[0]==="~"?E.join(ae.homedir(),e.slice(1)):e}o(P,"_resolveHome");function he(e){let t=f(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),r=f(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!r)&&O("loading env from encrypted .env.vault");let n=u._parseVault(e),i=process.env;return e&&e.processEnv!=null&&(i=e.processEnv),u.populate(i,n,e),{parsed:n}}o(he,"_configVault");function fe(e){let t=E.resolve(process.cwd(),".env"),r="utf8",n=process.env;e&&e.processEnv!=null&&(n=e.processEnv);let i=f(n.DOTENV_CONFIG_DEBUG||e&&e.debug),l=f(n.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:i&&b("no encoding is specified (UTF-8 is used by default)");let a=[t];if(e&&e.path)if(!Array.isArray(e.path))a=[P(e.path)];else{a=[];for(let c of e.path)a.push(P(c))}let s,p={};for(let c of a)try{let m=u.parse(A.readFileSync(c,{encoding:r}));u.populate(p,m,e)}catch(m){i&&b(`failed to load ${c} ${m.message}`),s=m}let h=u.populate(n,p,e);if(i=f(n.DOTENV_CONFIG_DEBUG||i),l=f(n.DOTENV_CONFIG_QUIET||l),i||!l){let c=Object.keys(h).length,m=[];for(let C of a)try{let T=E.relative(process.cwd(),C);m.push(T)}catch(T){i&&b(`failed to load ${C} ${T.message}`),s=T}O(`injected env (${c}) from ${m.join(",")} ${ce(`// tip: ${se()}`)}`)}return s?{parsed:p,error:s}:{parsed:p}}o(fe,"configDotenv");function ye(e){if(F(e).length===0)return u.configDotenv(e);let t=N(e);return t?u._configVault(e):(me(`you set DOTENV_KEY but you are missing a .env.vault file at ${t}`),u.configDotenv(e))}o(ye,"config");function be(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),l=n.subarray(-16);n=n.subarray(12,-16);try{let a=ie.createDecipheriv("aes-256-gcm",r,i);return a.setAuthTag(l),`${a.update(n)}${a.final()}`}catch(a){let s=a instanceof RangeError,p=a.message==="Invalid key length",h=a.message==="Unsupported state or unable to authenticate data";if(s||p){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(h){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw a}}o(be,"decrypt");function Me(e,t,r={}){let n=!!(r&&r.debug),i=!!(r&&r.override),l={};if(typeof t!="object"){let a=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw a.code="OBJECT_REQUIRED",a}for(let a of Object.keys(t))Object.prototype.hasOwnProperty.call(e,a)?(i===!0&&(e[a]=t[a],l[a]=t[a]),n&&b(i===!0?`"${a}" is already defined and WAS overwritten`:`"${a}" is already defined and was NOT overwritten`)):(e[a]=t[a],l[a]=t[a]);return l}o(Me,"populate");var u={configDotenv:fe,_configVault:he,_parseVault:ue,config:ye,decrypt:be,parse:de,populate:Me};g.exports.configDotenv=u.configDotenv;g.exports._configVault=u._configVault;g.exports._parseVault=u._parseVault;g.exports.config=u.config;g.exports.decrypt=u.decrypt;g.exports.parse=u.parse;g.exports.populate=u.populate;g.exports=u});var Ke={};ne(Ke,{default:()=>x});module.exports=oe(Ke);var z=require("path"),q=require("fs");var cn=require("@playwright/test");var It=require("@playwright/test");var _t=require("@playwright/test");var bt=require("@playwright/test");var tn=require("@playwright/test");var Kt={openai_gpt_4_1:{model:"gpt-4.1-2025-04-14",type:"openai"},openai_gpt_4_1_mini:{model:"gpt-4.1-mini-2025-04-14",type:"openai"},openai_gpt_4_1_nano:{model:"gpt-4.1-nano-2025-04-14",type:"openai"},gemini_2_0_flash:{model:"gemini-2.0-flash",type:"gemini"},gemini_2_5_pro_exp:{model:"gemini-2.5-pro-exp-03-25",type:"gemini"},gemini_2_5_flash:{model:"gemini-2.5-flash",type:"gemini"},gemini_2_5_pro_preview_05_06:{model:"gemini-2.5-pro-preview-05-06",type:"gemini"},claude_sonnet_4:{model:"claude-sonnet-4@20250514",type:"anthropic-vertexai"},claude_sonnet_4_6:{model:"claude-sonnet-4-6",type:"anthropic-vertexai"},claude_sonnet_5:{model:"claude-sonnet-5",type:"anthropic-vertexai"},claude_opus_4_8:{model:"claude-opus-4-8",type:"anthropic-vertexai"},gemini_2_5_flash_lite:{model:"gemini-2.5-flash-lite",type:"gemini"},gemini_3_5_flash:{model:"gemini-3.5-flash",type:"gemini"},gemini_3_1_flash_lite:{model:"gemini-3.1-flash-lite",type:"gemini"}};var D=re(L());D.default.config({path:[`${__dirname}/.env`,`${__dirname}/../../.env`]});var Te="claude_4",Ee={gemini20flash:{name:"google-vertexai/gemini-2.0-flash",inputTokenLimit:8e5,provider:"gemini",temperature:0},gpt41:{name:"openai/gpt-4.1",inputTokenLimit:8e5,provider:"openai",temperature:0},gemini25flash:{name:"google-vertexai/gemini-2.5-flash",inputTokenLimit:8e5,provider:"gemini",temperature:.7},gemini25flash_lite:{name:"google-vertexai/gemini-2.5-flash-lite",inputTokenLimit:8e5,provider:"gemini",temperature:0},gpt4onano:{name:"openai/gpt-4o-nano",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt41nano:{name:"openai/gpt-4.1-nano",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt41mini:{name:"openai/gpt-4.1-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},o3mini:{name:"openai/o3-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},o4mini:{name:"openai/o4-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},gemini25pro:{name:"google-vertexai/gemini-2.5-pro-preview-05-06",inputTokenLimit:8e5,provider:"gemini",temperature:0},claude37sonnet:{name:"google-vertexai/claude-3-7-sonnet@20250219",inputTokenLimit:15e4,provider:"anthropic",temperature:0},claude4sonnet:{name:"google-vertexai/claude-sonnet-4@20250514",inputTokenLimit:15e4,provider:"anthropic",temperature:1},claudeSonnet46:{name:"google-vertexai/claude-sonnet-4-6",inputTokenLimit:15e4,provider:"anthropic",temperature:1,location:"global"},claudeSonnet5:{name:"google-vertexai/claude-sonnet-5",inputTokenLimit:15e4,provider:"anthropic",temperature:1,location:"global"},claudeOpus48:{name:"google-vertexai/claude-opus-4-8",inputTokenLimit:15e4,provider:"anthropic",temperature:1,location:"global"},gemini35flash:{name:"google-vertexai/gemini-3.5-flash",inputTokenLimit:8e5,provider:"gemini",temperature:0,location:"global"},gemini31flashLite:{name:"google-vertexai/gemini-3.1-flash-lite",inputTokenLimit:8e5,provider:"gemini",temperature:0,location:"global"},gpt4omini:{name:"openai/gpt-4o-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt5mini:{name:"openai/gpt-5-mini",inputTokenLimit:8e5,provider:"openai",temperature:0},gpt5nano:{name:"openai/gpt-5-nano",inputTokenLimit:8e5,provider:"openai",temperature:0}},_e=o(()=>({nodeEnv:process.env.NODE_ENV??"production",selectedModel:{name:Te},models:Ee,langsmith:{enabled:process.env.LANGSMITH_TRACING==="true",endpoint:process.env.LANGSMITH_ENDPOINT??"",apiKey:process.env.LANGSMITH_API_KEY??"",project:process.env.LANGSMITH_PROJECT??""}}),"make"),d=_e(),Xt={claude_4:d.models.claude4sonnet,"claude_3.7":d.models.claude37sonnet,claude_sonnet_4_6:d.models.claudeSonnet46,claude_sonnet_5:d.models.claudeSonnet5,claude_opus_4_8:d.models.claudeOpus48,"gemini_2.5_pro":d.models.gemini25pro,"gemini_2.0_flash":d.models.gemini20flash,"gemini_2.5_flash_lite":d.models.gemini25flash_lite,"gemini_2.5_flash":d.models.gemini25flash,"gemini_3.5_flash":d.models.gemini35flash,"gemini_3.1_flash_lite":d.models.gemini31flashLite,gpt_4o_mini:d.models.gpt4omini,gpt_4o_nano:d.models.gpt4onano,gpt_41_nano:d.models.gpt41nano,gpt_5_mini:d.models.gpt5mini,gpt_5_nano:d.models.gpt5nano,gpt_41_mini:d.models.gpt41mini,gpt_41:d.models.gpt41,o4_mini:d.models.o4mini,o3_mini:d.models.o3mini};var w=o(e=>{if(e.error!=null)return"ERROR";let t=e.status_code;if(typeof t=="number"&&t>=500)return"ERROR";let r=e.exit_code;return typeof r=="number"&&r!==0?"ERROR":"INFO"},"severityFor");var S=require("fs");var U="\x1B[31m",xe="\x1B[33m",Ae="\x1B[32m",Se="\x1B[36m",ve="\x1B[2m",Ie="\x1B[1m",M="\x1B[0m",Ce=o(()=>{let e=process.env.WIDE_EVENT_PRETTY;return e==="true"||e==="1"?!0:e==="false"||e==="0"?!1:process.stdout.isTTY?!0:process.env.APP_ENV==="local"},"shouldPretty"),Re=new Set(["severity","message","kind","timestamp","_startedAtMs"]),ke=o(e=>{let t=new WeakSet;return JSON.stringify(e,(r,n)=>{if(typeof n=="bigint")return n.toString();if(typeof n=="object"&&n!==null){if(t.has(n))return"[Circular]";t.add(n)}return n})},"safeStringify"),Pe=o(e=>e==="ERROR"||e==="CRITICAL"?U:e==="WARNING"?xe:Ae,"colorForSeverity"),Oe=o(e=>{let t=String(e.severity??"INFO"),r=`${Pe(t)}${t.padEnd(5)}${M}`,n=e.kind?`${Se}${e.kind}${M}`:"",i=String(e.message??""),l=e.error&&typeof e.error=="object"?(()=>{let c=e.error;return` ${U}${c.type??"Error"}: ${c.message??""}${M}`})():"",a=["outcome","test_suite_run_id","status"],s=Object.entries(e).filter(([c,m])=>!Re.has(c)&&m!=null&&c!=="error"&&typeof m!="object"),p=o(c=>{let m=a.indexOf(c);return m===-1?a.length:m},"rank"),h=s.sort(([c],[m])=>p(c)-p(m)).slice(0,8).map(([c,m])=>`${ve}${c}=${M}${m}`).join(" ");return[r,Ie+n+M,i,h,l].filter(c=>c&&c.trim()!=="").join(" ")},"formatPretty"),Fe=o(e=>{let t=e.trace_id;if(typeof t!="string"||t==="")return e;let r=process.env.GCP_PROJECT_ID||process.env.GOOGLE_CLOUD_PROJECT;return r?{...e,"logging.googleapis.com/trace":`projects/${r}/traces/${t}`}:e},"withGcpTraceField"),H=o(e=>{let t=Ce()?Oe(e):ke(Fe(e));(0,S.writeSync)(1,t+`
|
|
4
4
|
`)},"emitEvent");var G=o(e=>{(0,S.writeSync)(2,e.endsWith(`
|
|
5
5
|
`)?e:`${e}
|
|
6
|
-
`)},"writeStderrLine");var
|
|
6
|
+
`)},"writeStderrLine");var Ne=o(e=>{let t=e.kind??"event",r=e.outcome?` ${e.outcome}`:"",n=typeof e.duration_ms=="number"?` ${e.duration_ms}ms`:"";return`${t}${r}${n}`.trim()},"defaultMessage"),Le=o((e,t,r)=>{let n=Date.now(),i={timestamp:new Date().toISOString(),kind:e,...t},l=!1,a={set(s){return Object.assign(i,s),a},emit(s){l||(l=!0,s&&Object.assign(i,s),i.duration_ms===void 0&&(i.duration_ms=Date.now()-n),r(i))}};return a},"startHandle"),De=o((e={})=>{let t=e.decide??(()=>!0),r=e.deriveMessage??Ne,n=e.label??"[wide-event]",i=e.sink??(s=>H(s)),l=o(s=>{if(!t(s))return;let p={severity:w(s),message:s.message??r(s),...s};try{i(p)}catch(h){try{G(`${n} emit failed: ${String(h)}`)}catch{}}},"emit");return{emit:l,emitWideEvent:o((s,p={})=>{l({timestamp:new Date().toISOString(),kind:s,...p})},"emitWideEvent"),wideEvent:o((s,p={})=>Le(s,p,l),"wideEvent"),configureSink:o(s=>{i=s},"configureSink")}},"createWideEvents"),B=o(e=>e==="true"||e==="1","truthy"),V=o(()=>B(process.env.CHECKSUM_WIDE_EVENTS)||B(process.env.WIDE_EVENT_PRETTY),"wideEventsEnabled"),W=De({decide:o(()=>V(),"decide")}),we=W.configureSink;var v=o((e,t={})=>{W.emitWideEvent(e,t)},"emitWideEvent");async function $(e){await e.body?.cancel().catch(()=>{})}o($,"drainBody");var Ue="http://127.0.0.1";async function K(e,t){let r=t.fetchImpl??globalThis.fetch;try{let n=await r(`${Ue}:${t.port}/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(t.timeoutMs)});return await $(n),n.ok?!0:(t.onError?.(new Error(`monitor rejected message with status ${n.status}`)),!1)}catch(n){return t.onError?.(n),!1}}o(K,"postToMonitor");async function j(e,t){let r,n=new Promise(i=>{r=setTimeout(()=>i(!1),t),r.unref()});try{return await Promise.race([e.then(()=>!0).catch(()=>!0),n])}finally{r&&clearTimeout(r)}}o(j,"settleWithin");var _={uploadTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_TIMEOUT_MS",fallback:6e5,min:5e3,max:36e5},noProgressAbortMs:{env:"CHECKSUM_RUNTIME_UPLOAD_NO_PROGRESS_MS",fallback:6e4,min:5e3,max:6e5},assetDeadlineMs:{env:"CHECKSUM_RUNTIME_UPLOAD_ASSET_DEADLINE_MS",fallback:12e5,min:3e4,max:54e5},maxAttempts:{env:"CHECKSUM_RUNTIME_UPLOAD_MAX_ATTEMPTS",fallback:6,min:1,max:20},stallTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_STALL_TIMEOUT_MS",fallback:6e5,min:3e4,max:36e5},minProgressBytes:{env:"CHECKSUM_RUNTIME_UPLOAD_MIN_PROGRESS_BYTES",fallback:65536,min:1,max:67108864},finalizeBudgetMs:{env:"CHECKSUM_RUNTIME_UPLOAD_FINALIZE_BUDGET_MS",fallback:18e5,min:6e4,max:54e5},finalizeCeilingMs:{env:"CHECKSUM_RUNTIME_UPLOAD_FINALIZE_CEILING_MS",fallback:24e5,min:12e4,max:72e5},cliHardCapMs:{env:"CHECKSUM_RUNTIME_UPLOAD_CLI_HARD_CAP_MS",fallback:27e5,min:12e4,max:72e5},watchTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_WATCH_TIMEOUT_MS",fallback:12e4,min:5e3,max:18e5},ipcTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_IPC_TIMEOUT_MS",fallback:5e3,min:500,max:6e4},onEndFlushTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_ONEND_FLUSH_TIMEOUT_MS",fallback:5e3,min:500,max:6e4},resumableChunkBytes:{env:"CHECKSUM_RUNTIME_UPLOAD_RESUMABLE_CHUNK_BYTES",fallback:8388608,min:262144,max:268435456},connectTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_CONNECT_TIMEOUT_MS",fallback:1e4,min:1e3,max:6e4},headersTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_HEADERS_TIMEOUT_MS",fallback:3e5,min:5e3,max:18e5},bodyTimeoutMs:{env:"CHECKSUM_RUNTIME_UPLOAD_BODY_TIMEOUT_MS",fallback:3e5,min:5e3,max:18e5},maxConcurrentUploads:{env:"CHECKSUM_RUNTIME_UPLOAD_MAX_CONCURRENT",fallback:15,min:1,max:64}};function He(e,t,r,n){if(e===void 0||e.trim()==="")return t;let i=Number(e);return Number.isInteger(i)?Math.min(n,Math.max(r,i)):t}o(He,"clampEnvInt");var Ge=[["cliHardCapMs",["finalizeCeilingMs"],.9],["finalizeCeilingMs",["finalizeBudgetMs"],1],["finalizeBudgetMs",["stallTimeoutMs","assetDeadlineMs","watchTimeoutMs"],1],["assetDeadlineMs",["uploadTimeoutMs"],1],["uploadTimeoutMs",["noProgressAbortMs"],.5]];function Be(e){let t={...e},r=[];for(let[n,i,l]of Ge)for(let a of i){let s=Math.floor(t[n]*l);t[a]>s&&(r.push(`${_[a].env} (${t[a]}ms) exceeds its bound under ${_[n].env} (${t[n]}ms); using ${s}ms`),t[a]=s)}return{tunables:t,warnings:r}}o(Be,"coerceScopeHierarchy");function Ve(e){let t={};for(let r of Object.keys(_)){let n=_[r];t[r]=He(e[n.env],n.fallback,n.min,n.max)}return t.resumableChunkBytes=Math.max(1,Math.floor(t.resumableChunkBytes/262144))*262144,Be(t)}o(Ve,"resolveUploadTunablesDetailed");function I(e){return Ve(e).tunables}o(I,"resolveUploadTunables");var Ln=I({});var Y=2e3;function $e(e){switch(e){case"passed":return"passed";case"timedOut":return"timedOut";case"skipped":return"skipped";case"interrupted":return"interrupted";default:return"failed"}}o($e,"toProgressStatus");var x=class{constructor(){this.monitorPort=process.env.CHECKSUM_UPLOAD_AGENT_PORT;this.tunables=I(process.env);this.startedAt=Date.now();this.rootDir=process.cwd();this.testsById=new Map;this.lastFlushAt=0;this.sendChain=Promise.resolve()}static{o(this,"ChecksumProgressReporter")}printsToStdio(){return!1}onBegin(t,r){this.guard(()=>{t.rootDir&&(this.rootDir=t.rootDir,this.publishSpecAnchor(t.rootDir));for(let n of r.allTests?.()??[])this.register(n);this.flush(!0)})}onTestBegin(t,r){this.guard(()=>{let n=this.itemFor(t);n.status="running",n.startedAt=r.startTime?.getTime()??Date.now(),n.endedAt=null,n.durationMs=null,n.retry=r.retry??0,this.flush()})}onTestEnd(t,r){this.guard(()=>{let n=this.itemFor(t);n.status=$e(r.status),n.endedAt=Date.now(),n.durationMs=r.duration??null,n.retry=r.retry??n.retry,n.startedAt??=r.startTime?.getTime()??null,this.flush();let i=n.status==="passed"||n.status==="skipped";v("test_result",{test_suite_run_id:process.env.CHECKSUM_TEST_SUITE_ID,outcome:i?"success":"error",test_id:n.id,status:n.status,retry:n.retry,duration_ms:n.durationMs??void 0,title:n.title,file:n.file,project:n.project||void 0})})}async onEnd(){this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=void 0),await j(this.send(),this.tunables.onEndFlushTimeoutMs)}itemFor(t){return this.testsById.get(t.id)??this.register(t)}register(t){let r="";try{r=t.parent?.project?.()?.name??""}catch{}let n=t.location?.file??"";try{n&&(n=(0,z.relative)(this.rootDir,n))}catch{}let i={id:t.id,title:t.title??"",titlePath:this.titlePathOf(t),file:n,line:t.location?.line??0,project:r,status:"pending",startedAt:null,endedAt:null,durationMs:null,retry:0};return this.testsById.set(i.id,i),i}titlePathOf(t){try{return(t.titlePath?.()??[]).filter(r=>!!r)}catch{return t.title?[t.title]:[]}}snapshot(){return{schemaVersion:1,source:"playwright",startedAt:this.startedAt,updatedAt:Date.now(),tests:[...this.testsById.values()]}}flush(t=!1){if(!this.monitorPort)return;let r=Date.now()-this.lastFlushAt;if(t||r>=Y){this.lastFlushAt=Date.now(),this.send();return}this.flushTimer||(this.flushTimer=setTimeout(()=>{this.flushTimer=void 0,this.lastFlushAt=Date.now(),this.send()},Y-r))}send(){return this.monitorPort?(this.sendChain=this.sendChain.then(()=>this.postSnapshot()),this.sendChain):Promise.resolve()}async postSnapshot(){this.monitorPort&&await K({type:"runProgress",payload:this.snapshot()},{port:this.monitorPort,timeoutMs:this.tunables.ipcTimeoutMs})}publishSpecAnchor(t){let r=process.env.CHECKSUM_RUNTIME_SPEC_ANCHOR_PATH;if(r)try{(0,q.writeFileSync)(r,JSON.stringify({rootDir:t}),"utf-8")}catch{}}guard(t){try{t()}catch{}}};
|