@checksum-ai/runtime 2.0.24 → 3.0.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/cli.js +1 -1
- package/index.js +4 -4
- package/package.json +2 -2
- package/pw-report-template.html +1 -1
- package/scripts/playwright_patches/1.59.0.js +502 -0
- package/test-run-monitor.js +98 -98
- package/vtg-pw-bridge-runner.js +5 -5
package/.env
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
CHECKSUM_RUNTIME_BUILD_TIME=2026-04-
|
|
1
|
+
CHECKSUM_RUNTIME_BUILD_TIME=2026-04-15T13:30:06.238Z
|
package/cli.js
CHANGED
|
@@ -600,7 +600,7 @@ ${r.format(i)}`.trim())}};e(IEr,"MockAgent");var kEr=IEr;Hon.exports=kEr});var P
|
|
|
600
600
|
${f}`;break;case"retry":Kpn(f)&&(i[l]=f);break;case"id":Ypn(f)&&(i[l]=f);break;case"event":f.length>0&&(i[l]=f);break}}processEvent(r){r.retry&&Kpn(r.retry)&&(this.state.reconnectionTime=parseInt(r.retry,10)),r.id!==void 0&&Ypn(r.id)&&(this.state.lastEventId=r.id),r.data!==void 0&&this.push({type:r.event||"message",options:{data:r.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};e(d6r,"EventSourceStream");var f6r=d6r;Xpn.exports={EventSourceStream:f6r}});var ofn=Gr((Zva,sfn)=>{"use strict";var{pipeline:wSi}=require("stream"),{fetching:TSi}=Xnt(),{makeRequest:kSi}=GLe(),{webidl:Xq}=SL(),{EventSourceStream:ISi}=Zpn(),{parseMIMEType:FSi}=Bte(),{createFastMessageEvent:PSi}=_5t(),{isNetworkError:efn}=Gnt(),{kEnumerableProperty:Pwe}=xA(),{environmentSettingsObject:tfn}=JK(),rfn=!1,nfn=3e3,oit=0,ifn=1,cit=2,NSi="anonymous",BSi="use-credentials",qB,mMe,uit,Wte,Nwe,lit,pit,Yfe,pCe,_6r,m6r,k5t=class k5t extends EventTarget{constructor(i,s={}){super();wl(this,pCe);wl(this,qB,{open:null,error:null,message:null});wl(this,mMe);wl(this,uit,!1);wl(this,Wte,oit);wl(this,Nwe,null);wl(this,lit,null);wl(this,pit);wl(this,Yfe);Xq.util.markAsUncloneable(this);let l="EventSource constructor";Xq.argumentLengthCheck(arguments,1,l),rfn||(rfn=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),i=Xq.converters.USVString(i),s=Xq.converters.EventSourceInitDict(s,l,"eventSourceInitDict"),du(this,pit,s.node.dispatcher||s.dispatcher),du(this,Yfe,{lastEventId:"",reconnectionTime:s.node.reconnectionTime});let f=tfn,_;try{_=new URL(i,f.settingsObject.baseUrl),_r(this,Yfe).origin=_.origin}catch(S){throw new DOMException(S,"SyntaxError")}du(this,mMe,_.href);let b=NSi;s.withCredentials===!0&&(b=BSi,du(this,uit,!0));let E={redirect:"follow",keepalive:!0,mode:"cors",credentials:b==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};E.client=tfn.settingsObject,E.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],E.cache="no-store",E.initiator="other",E.urlList=[new URL(_r(this,mMe))],du(this,Nwe,kSi(E)),_m(this,pCe,_6r).call(this)}get readyState(){return _r(this,Wte)}get url(){return _r(this,mMe)}get withCredentials(){return _r(this,uit)}close(){Xq.brandCheck(this,k5t),_r(this,Wte)!==cit&&(du(this,Wte,cit),_r(this,lit).abort(),du(this,Nwe,null))}get onopen(){return _r(this,qB).open}set onopen(i){_r(this,qB).open&&this.removeEventListener("open",_r(this,qB).open);let s=Xq.converters.EventHandlerNonNull(i);s!==null?(this.addEventListener("open",s),_r(this,qB).open=i):_r(this,qB).open=null}get onmessage(){return _r(this,qB).message}set onmessage(i){_r(this,qB).message&&this.removeEventListener("message",_r(this,qB).message);let s=Xq.converters.EventHandlerNonNull(i);s!==null?(this.addEventListener("message",s),_r(this,qB).message=i):_r(this,qB).message=null}get onerror(){return _r(this,qB).error}set onerror(i){_r(this,qB).error&&this.removeEventListener("error",_r(this,qB).error);let s=Xq.converters.EventHandlerNonNull(i);s!==null?(this.addEventListener("error",s),_r(this,qB).error=i):_r(this,qB).error=null}};qB=new WeakMap,mMe=new WeakMap,uit=new WeakMap,Wte=new WeakMap,Nwe=new WeakMap,lit=new WeakMap,pit=new WeakMap,Yfe=new WeakMap,pCe=new WeakSet,_6r=e(function(){if(_r(this,Wte)===cit)return;du(this,Wte,oit);let i={request:_r(this,Nwe),dispatcher:_r(this,pit)},s=e(l=>{if(!efn(l))return _m(this,pCe,m6r).call(this)},"processEventSourceEndOfBody");i.processResponseEndOfBody=s,i.processResponse=l=>{if(efn(l))if(l.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{_m(this,pCe,m6r).call(this);return}let f=l.headersList.get("content-type",!0),_=f!==null?FSi(f):"failure",b=_!=="failure"&&_.essence==="text/event-stream";if(l.status!==200||b===!1){this.close(),this.dispatchEvent(new Event("error"));return}du(this,Wte,ifn),this.dispatchEvent(new Event("open")),_r(this,Yfe).origin=l.urlList[l.urlList.length-1].origin;let E=new ISi({eventSourceSettings:_r(this,Yfe),push:e(S=>{this.dispatchEvent(PSi(S.type,S.options))},"push")});wSi(l.body.stream,E,S=>{(S==null?void 0:S.aborted)===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},du(this,lit,TSi(i))},"#connect"),m6r=e(function(){var i;_r(this,Wte)!==cit&&(du(this,Wte,oit),this.dispatchEvent(new Event("error")),(i=setTimeout(()=>{_r(this,Wte)===oit&&(_r(this,Yfe).lastEventId.length&&_r(this,Nwe).headersList.set("last-event-id",_r(this,Yfe).lastEventId,!0),_m(this,pCe,_6r).call(this))},_r(this,Yfe).reconnectionTime))==null||i.unref())},"#reconnect"),e(k5t,"EventSource");var hMe=k5t,afn={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:oit,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:ifn,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:cit,writable:!1}};Object.defineProperties(hMe,afn);Object.defineProperties(hMe.prototype,afn);Object.defineProperties(hMe.prototype,{close:Pwe,onerror:Pwe,onmessage:Pwe,onopen:Pwe,readyState:Pwe,url:Pwe,withCredentials:Pwe});Xq.converters.EventSourceInitDict=Xq.dictionaryConverter([{key:"withCredentials",converter:Xq.converters.boolean,defaultValue:e(()=>!1,"defaultValue")},{key:"dispatcher",converter:Xq.converters.any},{key:"node",converter:Xq.dictionaryConverter([{key:"reconnectionTime",converter:Xq.converters["unsigned long"],defaultValue:e(()=>nfn,"defaultValue")},{key:"dispatcher",converter:Xq.converters.any}]),defaultValue:e(()=>({}),"defaultValue")}]);sfn.exports={EventSource:hMe,defaultReconnectionTime:nfn}});var dfn=Gr((tAa,z1)=>{"use strict";var OSi=NEe(),ufn=XRe(),RSi=G8e(),LSi=Tan(),MSi=Pan(),jSi=X8e(),USi=Zxr(),QSi=dbr(),qSi=sbr(),$Si=xsn(),VSi=wsn(),JSi=Isn(),lfn=Zv(),F5t=xA(),{InvalidArgumentError:I5t}=lfn,gMe=uon(),zSi=Q8e(),HSi=mEr(),{MockCallHistory:WSi,MockCallHistoryLog:GSi}=AEr(),KSi=FEr(),YSi=DEr(),XSi=_cn(),ZSi=Gbr(),e3i=_Tt(),{getGlobalDispatcher:pfn,setGlobalDispatcher:t3i}=ITt(),r3i=TLe(),n3i=VEr();Object.assign(ufn.prototype,gMe);z1.exports.Dispatcher=ufn;z1.exports.Client=OSi;z1.exports.Pool=RSi;z1.exports.BalancedPool=LSi;z1.exports.RoundRobinPool=MSi;z1.exports.Agent=jSi;z1.exports.Dispatcher1Wrapper=USi;z1.exports.ProxyAgent=QSi;z1.exports.Socks5ProxyAgent=qSi;z1.exports.EnvHttpProxyAgent=$Si;z1.exports.RetryAgent=VSi;z1.exports.H2CClient=JSi;z1.exports.RetryHandler=e3i;z1.exports.DecoratorHandler=r3i;z1.exports.RedirectHandler=n3i;z1.exports.interceptors={redirect:Scn(),responseError:Tcn(),retry:Icn(),dump:Ncn(),dns:jcn(),cache:iun(),decompress:dun(),deduplicate:Aun()};z1.exports.cacheStores={MemoryCacheStore:oCr()};var i3i=Cun();z1.exports.cacheStores.SqliteCacheStore=i3i;z1.exports.buildConnector=zSi;z1.exports.errors=lfn;z1.exports.util={parseHeaders:F5t.parseHeaders,headerNameToString:F5t.headerNameToString};function fit(n){return(r,i,s)=>{if(typeof i=="function"&&(s=i,i=null),!r||typeof r!="string"&&typeof r!="object"&&!(r instanceof URL))throw new I5t("invalid url");if(i!=null&&typeof i!="object")throw new I5t("invalid opts");if(i&&i.path!=null){if(typeof i.path!="string")throw new I5t("invalid opts.path");let _=i.path;i.path.startsWith("/")||(_=`/${_}`),r=new URL(F5t.parseOrigin(r).origin+_)}else i||(i=typeof r=="object"?r:{}),r=F5t.parseURL(r);let{agent:l,dispatcher:f=pfn()}=i;if(l)throw new I5t("unsupported opts.agent. Did you mean opts.client?");return n.call(f,{...i,origin:r.origin,path:r.search?`${r.pathname}${r.search}`:r.pathname,method:i.method||(i.body?"PUT":"GET")},s)}}e(fit,"makeDispatcher");z1.exports.setGlobalDispatcher=t3i;z1.exports.getGlobalDispatcher=pfn;var a3i=Xnt().fetch,cfn=typeof __filename<"u"?__filename:void 0;function ffn(n,r){if(!n||typeof n!="object")return;let i=typeof n.stack=="string"?n.stack:"",s=r.replace(/\\/g,"/");if(i&&(i.includes(r)||i.includes(s)))return;let l={};if(Error.captureStackTrace(l,ffn),!l.stack)return;let f=l.stack.split(`
|
|
601
601
|
`).slice(1).join(`
|
|
602
602
|
`);n.stack=i?`${i}
|
|
603
|
-
${f}`:l.stack}e(ffn,"appendFetchStackTrace");z1.exports.fetch=e(function(r,i=void 0){return a3i(r,i).catch(s=>{throw cfn?ffn(s,cfn):s&&typeof s=="object"&&Error.captureStackTrace(s,z1.exports.fetch),s})},"fetch");z1.exports.Headers=gwe().Headers;z1.exports.Response=Gnt().Response;z1.exports.Request=GLe().Request;z1.exports.FormData=jwt().FormData;var{setGlobalOrigin:s3i,getGlobalOrigin:o3i}=kAr();z1.exports.setGlobalOrigin=s3i;z1.exports.getGlobalOrigin=o3i;var{CacheStorage:c3i}=Rln(),{kConstruct:u3i}=w4();z1.exports.caches=new c3i(u3i);var{deleteCookie:l3i,getCookies:p3i,getSetCookies:f3i,setCookie:d3i,parseCookie:_3i}=Gln();z1.exports.deleteCookie=l3i;z1.exports.getCookies=p3i;z1.exports.getSetCookies=f3i;z1.exports.setCookie=d3i;z1.exports.parseCookie=_3i;var{parseMIMEType:m3i,serializeAMimeType:h3i}=Bte();z1.exports.parseMIMEType=m3i;z1.exports.serializeAMimeType=h3i;var{CloseEvent:g3i,ErrorEvent:y3i,MessageEvent:v3i}=_5t(),{WebSocket:A3i,ping:x3i}=Bpn();z1.exports.WebSocket=A3i;z1.exports.CloseEvent=g3i;z1.exports.ErrorEvent=y3i;z1.exports.MessageEvent=v3i;z1.exports.ping=x3i;z1.exports.WebSocketStream=Hpn().WebSocketStream;z1.exports.WebSocketError=a6r().WebSocketError;z1.exports.request=fit(gMe.request);z1.exports.stream=fit(gMe.stream);z1.exports.pipeline=fit(gMe.pipeline);z1.exports.connect=fit(gMe.connect);z1.exports.upgrade=fit(gMe.upgrade);z1.exports.MockClient=HSi;z1.exports.MockCallHistory=WSi;z1.exports.MockCallHistoryLog=GSi;z1.exports.MockPool=YSi;z1.exports.MockAgent=KSi;z1.exports.SnapshotAgent=XSi;z1.exports.mockErrors=ZSi;var{EventSource:b3i}=ofn();z1.exports.EventSource=b3i;function E3i(){globalThis.fetch=z1.exports.fetch,globalThis.Headers=z1.exports.Headers,globalThis.Response=z1.exports.Response,globalThis.Request=z1.exports.Request,globalThis.FormData=z1.exports.FormData,globalThis.WebSocket=z1.exports.WebSocket,globalThis.CloseEvent=z1.exports.CloseEvent,globalThis.ErrorEvent=z1.exports.ErrorEvent,globalThis.MessageEvent=z1.exports.MessageEvent,globalThis.EventSource=z1.exports.EventSource}e(E3i,"install");z1.exports.install=E3i});var dit,h6r,_it,_fn=Ws(()=>{"use strict";l6();dit=require("perf_hooks"),h6r=class h6r{constructor(r={}){this.options=r;this.priorityQueue=[];this.nonPriorityQueue=[];this.isRunning=!1;this.taskIndex=0;this.timeRunningTasks=0;this.timeGoingBack=0;this.tasksExecuted=0}enqueue(r){let i=this.taskIndex++,s={...r,index:i,queuedAt:dit.performance.now()};if(r.priority)this.priorityQueue.push(s);else if(this.options.sortByTimestamp){let l=this.nonPriorityQueue.findIndex(f=>f.timestamp>r.timestamp);l===-1?this.nonPriorityQueue.push(s):this.nonPriorityQueue.splice(l,0,s)}else this.nonPriorityQueue.push(s);return i}popTask(){return this.priorityQueue.length>0?this.priorityQueue.shift():this.nonPriorityQueue.shift()}async runTasks(r){if(!this.isRunning){this.isRunning=!0;try{for(;this.getQueueLength()>0;){let i=this.popTask();if(!i)break;let s=dit.performance.now();try{if(this.options.logPerformance){let f=dit.performance.now()-i.queuedAt;Xv.info(`Running task, timestamp: ${i.timestamp} \x1B[36m${i.name}\x1B[0m, index: ${i.index}, was pending for ${f}ms`)}await r(i);let l=dit.performance.now()-s;this.timeRunningTasks+=l,this.options.logPerformance&&Xv.info("Finished running task, took",l,"ms.","Queue lengths:",`priority=${this.priorityQueue.length}`,`non-priority=${this.nonPriorityQueue.length}`),this.tasksExecuted++}catch(l){Xv.error("Task execution error:",l)}}}finally{this.isRunning=!1,this.getQueueLength()>0&&this.options.logPerformance&&Xv.info("Accumulated time running tasks:",this.timeRunningTasks,"ms, from which time spent going back:",this.timeGoingBack)}}}getTasksAtTimestamp(r){return[...this.priorityQueue.filter(i=>i.timestamp===r),...this.nonPriorityQueue.filter(i=>i.timestamp===r)]}removeTasksAtTimestamp(r){this.priorityQueue=this.priorityQueue.filter(i=>i.timestamp!==r),this.nonPriorityQueue=this.nonPriorityQueue.filter(i=>i.timestamp!==r)}getQueueLength(){return this.priorityQueue.length+this.nonPriorityQueue.length}setTimeGoingBack(r){this.timeGoingBack=r}};e(h6r,"TaskTimeMachineQueue");_it=h6r});var mfn,hit,mit,g6r,yMe,P5t=Ws(()=>{"use strict";mfn=require("@playwright/test");_rn();US();l6();DOe();hit=e_(dfn());_fn();mit=require("perf_hooks"),g6r=class g6r{constructor(r,i,s={headless:!0,logPerformance:!1,timestampBatchingEnabled:!1,sortByTimestamp:!1,taskTimeout:24e4,debugPort:void 0,frameMsgBrokerRegisterName:void 0}){this.frameMsgBroker=r;this.injectedScriptManager=i;this.options=s;this.currentTimestamp=0;this.currentBeforeTimestamp=!1;this.currentChecksumId="0";this.timeGoingBack=0;this.pagesWithCorsInterception=new Set;this.reducedHTMLCache={};this.getReducedHTMLWithRetries=e(async(r,{retriesLeft:i=3,retryWaitMS:s=1e3}={})=>{try{let{reducedHTML:l,currentChecksumId:f}=await r.evaluate(async _=>{var b,E;return(E=(b=window==null?void 0:window.checksum)==null?void 0:b.testGenerator)==null?void 0:E.reduceHTML({},_)},{stopFlashingElementsDetection:!0,assignChecksumIdsToAllElements:!0,initialChecksumId:this.currentChecksumId,fromTimeMachine:!0,invalidateCache:!0});return this.currentChecksumId=f,{reducedHTML:l}}catch(l){if(i>0)return await nD(s),this.getReducedHTMLWithRetries(r,{retriesLeft:i-1,retryWaitMS:s});throw l}},"getReducedHTMLWithRetries");if(this.taskQueue=new _it({sortByTimestamp:s.sortByTimestamp,logPerformance:s.logPerformance}),s.webProxy){let{username:l,password:f,server:_}=s.webProxy;l&&f?this.webProxyAgent=new hit.ProxyAgent({uri:`http://${l}:${f}@${_.replace("http://","")}`}):this.webProxyAgent=new hit.ProxyAgent({uri:_})}}getPage(){return this.timeMachineFrame.page()}getFrame(){return this.timeMachineFrame}async prepare(r,i,s){this.recordingFrame=r,await this.frameMsgBroker.register("live",r),i?this.timeMachineFrame=i:this.timeMachineFrame=await this.prepareBrowserContextAndFrame(),await this.preventCrossOriginErrors(this.timeMachineFrame),this.options.frameMsgBrokerRegisterName&&await this.frameMsgBroker.register(this.options.frameMsgBrokerRegisterName,this.timeMachineFrame),s&&s(this.timeMachineFrame),await this.injectedScriptManager.addTrackedFrame(this.timeMachineFrame),this.timeMachineFrame.page().on("framenavigated",async l=>{await this.injectedScriptManager.onFrameNavigated(l)}),this.subscribeToRrwebEvents(),this.taskQueue=new _it({sortByTimestamp:this.options.sortByTimestamp,logPerformance:this.options.logPerformance}),await this.start()}async preventCrossOriginErrors(r){try{let i=r.page(),s=Zw(i);if(this.pagesWithCorsInterception.has(s))return;this.pagesWithCorsInterception.add(s),await i.route(/^https?:\/\/(?!(?:localhost|127\.0\.0\.1|::1)).*/,async(l,f)=>{var E;let b=l.request().url();try{let S=this.webProxyAgent?{dispatcher:this.webProxyAgent}:{},T=await(0,hit.fetch)(b,S),B=T.status,N={};T.headers.forEach((ue,me)=>N[me]=ue),N["access-control-allow-origin"]="*";let j=parseInt(T.headers.get("content-length")||"0",10),Q=25*1024*1024;if(j>Q)return l.continue();if(!T.body){await l.fulfill({status:B,headers:N});return}let oe=await T.arrayBuffer(),fe=Buffer.from(oe);await l.fulfill({status:B,headers:N,body:fe})}catch(S){return(E=S.cause)==null||E.code,l.continue()}})}catch{}}async start(){await this.timeMachineFrame.evaluate(async()=>{window.checksum.timeMachine.start({firstEventTimestamp:Date.now()})})}setBrowserContext(r){this.timeMachineBrowserContext=r}async executeTask(r,i=void 0,{name:s,beforeTimestamp:l=!1,priority:f=!1}={}){return new Promise((_,b)=>{let E=e(async({shouldGoBack:S,shouldBatch:T}={shouldGoBack:!0,shouldBatch:this.options.timestampBatchingEnabled})=>{if(this.timeMachineFrame.isDetached()&&b(),S){let j=mit.performance.now();await this.goBack(i,l),this.timeGoingBack+=mit.performance.now()-j,this.taskQueue.setTimeGoingBack(this.timeGoingBack)}let B=e(j=>async()=>{try{let Q=mit.performance.now(),z=await S4(j(this.timeMachineFrame),this.options.taskTimeout,()=>`Task execution timeout - ${s}, took ${mit.performance.now()-Q}ms with timeout of ${this.options.taskTimeout}ms`);_(z)}catch(Q){Xv.error("Task execution error:",Q.message),b(Q)}},"makeSafeRunTask"),N=[B(r)];if(this.taskQueue.getQueueLength()>0&&T){let j=this.taskQueue.getTasksAtTimestamp(i);N.push(...j.map(({task:Q})=>B(()=>Q({shouldGoBack:!1,shouldBatch:!1})))),this.taskQueue.removeTasksAtTimestamp(i),N.length&&console.log(`Batching to task "${s}" ${N.length-1} more tasks`)}for(let j of N)await j()},"taskWrapper");this.taskQueue.enqueue({name:s,task:E,timestamp:l?i-1:i,priority:f}),this.runTasks()})}executeReducedHTMLTask(r,{priority:i=!1}={}){if(this.reducedHTMLCache[r]){let s=new wrt(this.reducedHTMLCache[r]);return Promise.resolve(s.getRrwebIdsReducedDomString())}return this.executeTask(async s=>{let l="",f=await this.getReducedHTMLWithRetries(s);return l=f==null?void 0:f.reducedHTML,l&&(this.reducedHTMLCache[r]=l),new wrt(l).getRrwebIdsReducedDomString()},r,{name:"getReducedHTMLForTimestamp",priority:i})}goBack(r,i=!1){return this.currentBeforeTimestamp===i&&this.currentTimestamp===r?Promise.resolve():(this.currentTimestamp=r,this.currentBeforeTimestamp=i,this.timeMachineFrame.evaluate(({timestamp:s,beforeTimestamp:l})=>s===void 0?window.checksum.timeMachine.goLive():window.checksum.timeMachine.goBack(s,{beforeTimestamp:l}),{timestamp:r,beforeTimestamp:i}))}goLive(){return this.timeMachineFrame.evaluate(()=>window.checksum.timeMachine.goLive())}async runTasks(){await this.taskQueue.runTasks(async r=>{await r.task()})}async rrwebEventHandler(r){let i=JSON.stringify(r);try{await this.timeMachineFrame.evaluate(function(s){let l=JSON.parse(s);return window.checksum.timeMachine.handleEvents(l)},i)}catch{}return r=null,i}async makeBrowserContext(){let r=[];this.options.debugPort&&r.push(`--remote-debugging-port=${this.options.debugPort}`);let i=await mfn.chromium.launch({devtools:!1,headless:this.options.headless,args:r});return this.timeMachineBrowserContext=await i.newContext({bypassCSP:!0}),this.timeMachineBrowserContext}async makeFrame(){return(await this.timeMachineBrowserContext.newPage()).mainFrame()}async prepareBrowserContextAndFrame(){return this.timeMachineBrowserContext||await this.makeBrowserContext(),this.makeFrame()}subscribeToRrwebEvents(){let r="rrweb";this.frameMsgBroker.subscribeToChannel(r,this.timeMachineFrame,{originFrame:this.recordingFrame,handler:this.rrwebEventHandler.bind(this)}),this.timeMachineFrame.page().on("close",()=>this.frameMsgBroker.unsubscribeFromChannel(r,this.timeMachineFrame))}async toggleTimeMachineHandleEvents(r){try{await this.timeMachineFrame.evaluate(i=>window.checksum.timeMachine.setShouldHandleEvents(i),r)}catch{}}};e(g6r,"ChecksumTimeMachine");yMe=g6r});var y6r,git,hfn,gfn,yfn,vfn,C3i,v6r,N5t,Afn=Ws(()=>{"use strict";P5t();y6r=require("@playwright/test"),git=e_(require("fs")),hfn=e_(require("fs/promises")),gfn=e_(require("readline")),yfn=e_(require("path")),vfn=e_(WDt());Gz();q3();C3i=1e3,v6r=class v6r extends yMe{constructor(i,s,l={headless:!0,logPerformance:!1,timestampBatchingEnabled:!1,sortByTimestamp:!1,taskTimeout:24e4,debugPort:void 0,frameMsgBrokerRegisterName:void 0,recordRRwebEventsToFile:!1,recordRRwebEventsToFilePath:"events.json"}){super(i,s,l);this.options=l;this.rrwebEventsBuffer="";this.didPostProcessRRwebEvents=!1;this.postProcessRRwebEvents=(0,vfn.debounce)(async()=>{return;try{let s=git.default.createReadStream(this.options.recordRRwebEventsToFilePath),l=gfn.default.createInterface({input:s,crlfDelay:1/0});for await(let f of l)if(f.trim()!=="")try{let _=JSON.parse(f);Array.isArray(_)?i.push(..._):i.push(_)}catch(_){Xy(`Failed to parse line: ${f}`,_)}git.default.writeFileSync(this.options.recordRRwebEventsToFilePath.replace(/([^\/]+)$/,"postprocessed.$1"),JSON.stringify(i)),this.didPostProcessRRwebEvents=!0}catch(s){Xy("Error post-processing RRweb events",s)}},100,{leading:!0,trailing:!0});if(this.options.recordRRwebEventsToFile){let f=this.options.recordRRwebEventsToFilePath,_=yfn.default.dirname(f);git.default.mkdirSync(_,{recursive:!0}),git.default.writeFileSync(f,"")}}setTimeMachineBrowserContext(i){this.timeMachineBrowserContext=i}getTimeMachineBrowserContext(){return this.timeMachineBrowserContext}async makeBrowserContext(){y6r.chromium._checksumInternal=!0;let i=await y6r.chromium.launch({devtools:!1,headless:this.options.headless,args:$h.useRemoteDebugging.enabled?["--remote-debugging-port=4444"]:[]});return i._checksumInternal=!0,this.timeMachineBrowserContext=await i.newContext({bypassCSP:!0}),this.timeMachineBrowserContext._checksumInternal=!0,this.timeMachineBrowserContext.tracing.startChunk=async()=>{},this.timeMachineBrowserContext.tracing.stop(),this.timeMachineBrowserContext.tracing.stop=async()=>{},this.timeMachineBrowserContext.tracing.stopChunk=async()=>{},this.timeMachineBrowserContext}async makeFrame(){let i=await this.timeMachineBrowserContext.newPage();i._checksumInternal=!0;let s=i.mainFrame();return s._checksumInternal=!0,s}async rrwebEventHandler(i){let s=await super.rrwebEventHandler(i);if(this.options.recordRRwebEventsToFile){if(this.rrwebEventsBuffer+=s+`
|
|
603
|
+
${f}`:l.stack}e(ffn,"appendFetchStackTrace");z1.exports.fetch=e(function(r,i=void 0){return a3i(r,i).catch(s=>{throw cfn?ffn(s,cfn):s&&typeof s=="object"&&Error.captureStackTrace(s,z1.exports.fetch),s})},"fetch");z1.exports.Headers=gwe().Headers;z1.exports.Response=Gnt().Response;z1.exports.Request=GLe().Request;z1.exports.FormData=jwt().FormData;var{setGlobalOrigin:s3i,getGlobalOrigin:o3i}=kAr();z1.exports.setGlobalOrigin=s3i;z1.exports.getGlobalOrigin=o3i;var{CacheStorage:c3i}=Rln(),{kConstruct:u3i}=w4();z1.exports.caches=new c3i(u3i);var{deleteCookie:l3i,getCookies:p3i,getSetCookies:f3i,setCookie:d3i,parseCookie:_3i}=Gln();z1.exports.deleteCookie=l3i;z1.exports.getCookies=p3i;z1.exports.getSetCookies=f3i;z1.exports.setCookie=d3i;z1.exports.parseCookie=_3i;var{parseMIMEType:m3i,serializeAMimeType:h3i}=Bte();z1.exports.parseMIMEType=m3i;z1.exports.serializeAMimeType=h3i;var{CloseEvent:g3i,ErrorEvent:y3i,MessageEvent:v3i}=_5t(),{WebSocket:A3i,ping:x3i}=Bpn();z1.exports.WebSocket=A3i;z1.exports.CloseEvent=g3i;z1.exports.ErrorEvent=y3i;z1.exports.MessageEvent=v3i;z1.exports.ping=x3i;z1.exports.WebSocketStream=Hpn().WebSocketStream;z1.exports.WebSocketError=a6r().WebSocketError;z1.exports.request=fit(gMe.request);z1.exports.stream=fit(gMe.stream);z1.exports.pipeline=fit(gMe.pipeline);z1.exports.connect=fit(gMe.connect);z1.exports.upgrade=fit(gMe.upgrade);z1.exports.MockClient=HSi;z1.exports.MockCallHistory=WSi;z1.exports.MockCallHistoryLog=GSi;z1.exports.MockPool=YSi;z1.exports.MockAgent=KSi;z1.exports.SnapshotAgent=XSi;z1.exports.mockErrors=ZSi;var{EventSource:b3i}=ofn();z1.exports.EventSource=b3i;function E3i(){globalThis.fetch=z1.exports.fetch,globalThis.Headers=z1.exports.Headers,globalThis.Response=z1.exports.Response,globalThis.Request=z1.exports.Request,globalThis.FormData=z1.exports.FormData,globalThis.WebSocket=z1.exports.WebSocket,globalThis.CloseEvent=z1.exports.CloseEvent,globalThis.ErrorEvent=z1.exports.ErrorEvent,globalThis.MessageEvent=z1.exports.MessageEvent,globalThis.EventSource=z1.exports.EventSource}e(E3i,"install");z1.exports.install=E3i});var dit,h6r,_it,_fn=Ws(()=>{"use strict";l6();dit=require("perf_hooks"),h6r=class h6r{constructor(r={}){this.options=r;this.priorityQueue=[];this.nonPriorityQueue=[];this.isRunning=!1;this.taskIndex=0;this.timeRunningTasks=0;this.timeGoingBack=0;this.tasksExecuted=0}enqueue(r){let i=this.taskIndex++,s={...r,index:i,queuedAt:dit.performance.now()};if(r.priority)this.priorityQueue.push(s);else if(this.options.sortByTimestamp){let l=this.nonPriorityQueue.findIndex(f=>f.timestamp>r.timestamp);l===-1?this.nonPriorityQueue.push(s):this.nonPriorityQueue.splice(l,0,s)}else this.nonPriorityQueue.push(s);return i}popTask(){return this.priorityQueue.length>0?this.priorityQueue.shift():this.nonPriorityQueue.shift()}async runTasks(r){if(!this.isRunning){this.isRunning=!0;try{for(;this.getQueueLength()>0;){let i=this.popTask();if(!i)break;let s=dit.performance.now();try{if(this.options.logPerformance){let f=dit.performance.now()-i.queuedAt;Xv.info(`Running task, timestamp: ${i.timestamp} \x1B[36m${i.name}\x1B[0m, index: ${i.index}, was pending for ${f}ms`)}await r(i);let l=dit.performance.now()-s;this.timeRunningTasks+=l,this.options.logPerformance&&Xv.info("Finished running task, took",l,"ms.","Queue lengths:",`priority=${this.priorityQueue.length}`,`non-priority=${this.nonPriorityQueue.length}`),this.tasksExecuted++}catch(l){Xv.error("Task execution error:",l)}}}finally{this.isRunning=!1,this.getQueueLength()>0&&this.options.logPerformance&&Xv.info("Accumulated time running tasks:",this.timeRunningTasks,"ms, from which time spent going back:",this.timeGoingBack)}}}getTasksAtTimestamp(r){return[...this.priorityQueue.filter(i=>i.timestamp===r),...this.nonPriorityQueue.filter(i=>i.timestamp===r)]}removeTasksAtTimestamp(r){this.priorityQueue=this.priorityQueue.filter(i=>i.timestamp!==r),this.nonPriorityQueue=this.nonPriorityQueue.filter(i=>i.timestamp!==r)}getQueueLength(){return this.priorityQueue.length+this.nonPriorityQueue.length}setTimeGoingBack(r){this.timeGoingBack=r}};e(h6r,"TaskTimeMachineQueue");_it=h6r});var mfn,hit,mit,g6r,yMe,P5t=Ws(()=>{"use strict";mfn=require("@playwright/test");_rn();US();l6();DOe();hit=e_(dfn());_fn();mit=require("perf_hooks"),g6r=class g6r{constructor(r,i,s={headless:!0,logPerformance:!1,timestampBatchingEnabled:!1,sortByTimestamp:!1,taskTimeout:24e4,debugPort:void 0,frameMsgBrokerRegisterName:void 0}){this.frameMsgBroker=r;this.injectedScriptManager=i;this.options=s;this.currentTimestamp=0;this.currentBeforeTimestamp=!1;this.currentChecksumId="0";this.timeGoingBack=0;this.pagesWithCorsInterception=new Set;this.reducedHTMLCache={};this.getReducedHTMLWithRetries=e(async(r,{retriesLeft:i=3,retryWaitMS:s=1e3}={})=>{try{let{reducedHTML:l,currentChecksumId:f}=await r.evaluate(async _=>{var b,E;return(E=(b=window==null?void 0:window.checksum)==null?void 0:b.testGenerator)==null?void 0:E.reduceHTML({},_)},{stopFlashingElementsDetection:!0,assignChecksumIdsToAllElements:!0,initialChecksumId:this.currentChecksumId,fromTimeMachine:!0,invalidateCache:!0});return this.currentChecksumId=f,{reducedHTML:l}}catch(l){if(i>0)return await nD(s),this.getReducedHTMLWithRetries(r,{retriesLeft:i-1,retryWaitMS:s});throw l}},"getReducedHTMLWithRetries");if(this.taskQueue=new _it({sortByTimestamp:s.sortByTimestamp,logPerformance:s.logPerformance}),s.webProxy){let{username:l,password:f,server:_}=s.webProxy;l&&f?this.webProxyAgent=new hit.ProxyAgent({uri:`http://${l}:${f}@${_.replace("http://","")}`}):this.webProxyAgent=new hit.ProxyAgent({uri:_})}}getPage(){return this.timeMachineFrame.page()}getFrame(){return this.timeMachineFrame}async prepare(r,i,s){this.recordingFrame=r,await this.frameMsgBroker.register("live",r),i?this.timeMachineFrame=i:this.timeMachineFrame=await this.prepareBrowserContextAndFrame(),await this.preventCrossOriginErrors(this.timeMachineFrame),this.options.frameMsgBrokerRegisterName&&await this.frameMsgBroker.register(this.options.frameMsgBrokerRegisterName,this.timeMachineFrame),s&&s(this.timeMachineFrame),await this.injectedScriptManager.addTrackedFrame(this.timeMachineFrame),this.timeMachineFrame.page().on("framenavigated",async l=>{await this.injectedScriptManager.onFrameNavigated(l)}),this.subscribeToRrwebEvents(),this.taskQueue=new _it({sortByTimestamp:this.options.sortByTimestamp,logPerformance:this.options.logPerformance}),await this.start()}async preventCrossOriginErrors(r){try{let i=r.page(),s=Zw(i);if(this.pagesWithCorsInterception.has(s))return;this.pagesWithCorsInterception.add(s),await i.route(/^https?:\/\/(?!(?:localhost|127\.0\.0\.1|::1)).*/,async(l,f)=>{var E;let b=l.request().url();try{let S=this.webProxyAgent?{dispatcher:this.webProxyAgent}:{},T=await(0,hit.fetch)(b,S),B=T.status,N={};T.headers.forEach((ue,me)=>N[me]=ue),N["access-control-allow-origin"]="*";let j=parseInt(T.headers.get("content-length")||"0",10),Q=25*1024*1024;if(j>Q)return l.continue();if(!T.body){await l.fulfill({status:B,headers:N});return}let oe=await T.arrayBuffer(),fe=Buffer.from(oe);await l.fulfill({status:B,headers:N,body:fe})}catch(S){return(E=S.cause)==null||E.code,l.continue()}})}catch{}}async start(){await this.timeMachineFrame.evaluate(async()=>{window.checksum.timeMachine.start({firstEventTimestamp:Date.now()})})}setBrowserContext(r){this.timeMachineBrowserContext=r}async executeTask(r,i=void 0,{name:s,beforeTimestamp:l=!1,priority:f=!1}={}){return new Promise((_,b)=>{let E=e(async({shouldGoBack:S,shouldBatch:T}={shouldGoBack:!0,shouldBatch:this.options.timestampBatchingEnabled})=>{if(this.timeMachineFrame.isDetached()&&b(),S){let j=mit.performance.now();await this.goBack(i,l),this.timeGoingBack+=mit.performance.now()-j,this.taskQueue.setTimeGoingBack(this.timeGoingBack)}let B=e(j=>async()=>{try{let Q=mit.performance.now(),z=await S4(j(this.timeMachineFrame),this.options.taskTimeout,()=>`Task execution timeout - ${s}, took ${mit.performance.now()-Q}ms with timeout of ${this.options.taskTimeout}ms`);_(z)}catch(Q){Xv.error("Task execution error:",Q.message),b(Q)}},"makeSafeRunTask"),N=[B(r)];if(this.taskQueue.getQueueLength()>0&&T){let j=this.taskQueue.getTasksAtTimestamp(i);N.push(...j.map(({task:Q})=>B(()=>Q({shouldGoBack:!1,shouldBatch:!1})))),this.taskQueue.removeTasksAtTimestamp(i),N.length&&console.log(`Batching to task "${s}" ${N.length-1} more tasks`)}for(let j of N)await j()},"taskWrapper");this.taskQueue.enqueue({name:s,task:E,timestamp:l?i-1:i,priority:f}),this.runTasks()})}executeReducedHTMLTask(r,{priority:i=!1}={}){if(this.reducedHTMLCache[r]){let s=new wrt(this.reducedHTMLCache[r]);return Promise.resolve(s.getRrwebIdsReducedDomString())}return this.executeTask(async s=>{let l="",f=await this.getReducedHTMLWithRetries(s);return l=f==null?void 0:f.reducedHTML,l&&(this.reducedHTMLCache[r]=l),new wrt(l).getRrwebIdsReducedDomString()},r,{name:"getReducedHTMLForTimestamp",priority:i})}goBack(r,i=!1){return this.currentBeforeTimestamp===i&&this.currentTimestamp===r?Promise.resolve():(this.currentTimestamp=r,this.currentBeforeTimestamp=i,this.timeMachineFrame.evaluate(({timestamp:s,beforeTimestamp:l})=>s===void 0?window.checksum.timeMachine.goLive():window.checksum.timeMachine.goBack(s,{beforeTimestamp:l}),{timestamp:r,beforeTimestamp:i}))}goLive(){return this.timeMachineFrame.evaluate(()=>window.checksum.timeMachine.goLive())}async runTasks(){await this.taskQueue.runTasks(async r=>{await r.task()})}async rrwebEventHandler(r){let i=JSON.stringify(r);try{await this.timeMachineFrame.evaluate(function(s){let l=JSON.parse(s);return window.checksum.timeMachine.handleEvents(l)},i)}catch{}return r=null,i}async makeBrowserContext(){let r=[];this.options.debugPort&&r.push(`--remote-debugging-port=${this.options.debugPort}`);let i=await mfn.chromium.launch({headless:this.options.headless,args:r});return this.timeMachineBrowserContext=await i.newContext({bypassCSP:!0}),this.timeMachineBrowserContext}async makeFrame(){return(await this.timeMachineBrowserContext.newPage()).mainFrame()}async prepareBrowserContextAndFrame(){return this.timeMachineBrowserContext||await this.makeBrowserContext(),this.makeFrame()}subscribeToRrwebEvents(){let r="rrweb";this.frameMsgBroker.subscribeToChannel(r,this.timeMachineFrame,{originFrame:this.recordingFrame,handler:this.rrwebEventHandler.bind(this)}),this.timeMachineFrame.page().on("close",()=>this.frameMsgBroker.unsubscribeFromChannel(r,this.timeMachineFrame))}async toggleTimeMachineHandleEvents(r){try{await this.timeMachineFrame.evaluate(i=>window.checksum.timeMachine.setShouldHandleEvents(i),r)}catch{}}};e(g6r,"ChecksumTimeMachine");yMe=g6r});var y6r,git,hfn,gfn,yfn,vfn,C3i,v6r,N5t,Afn=Ws(()=>{"use strict";P5t();y6r=require("@playwright/test"),git=e_(require("fs")),hfn=e_(require("fs/promises")),gfn=e_(require("readline")),yfn=e_(require("path")),vfn=e_(WDt());Gz();q3();C3i=1e3,v6r=class v6r extends yMe{constructor(i,s,l={headless:!0,logPerformance:!1,timestampBatchingEnabled:!1,sortByTimestamp:!1,taskTimeout:24e4,debugPort:void 0,frameMsgBrokerRegisterName:void 0,recordRRwebEventsToFile:!1,recordRRwebEventsToFilePath:"events.json"}){super(i,s,l);this.options=l;this.rrwebEventsBuffer="";this.didPostProcessRRwebEvents=!1;this.postProcessRRwebEvents=(0,vfn.debounce)(async()=>{return;try{let s=git.default.createReadStream(this.options.recordRRwebEventsToFilePath),l=gfn.default.createInterface({input:s,crlfDelay:1/0});for await(let f of l)if(f.trim()!=="")try{let _=JSON.parse(f);Array.isArray(_)?i.push(..._):i.push(_)}catch(_){Xy(`Failed to parse line: ${f}`,_)}git.default.writeFileSync(this.options.recordRRwebEventsToFilePath.replace(/([^\/]+)$/,"postprocessed.$1"),JSON.stringify(i)),this.didPostProcessRRwebEvents=!0}catch(s){Xy("Error post-processing RRweb events",s)}},100,{leading:!0,trailing:!0});if(this.options.recordRRwebEventsToFile){let f=this.options.recordRRwebEventsToFilePath,_=yfn.default.dirname(f);git.default.mkdirSync(_,{recursive:!0}),git.default.writeFileSync(f,"")}}setTimeMachineBrowserContext(i){this.timeMachineBrowserContext=i}getTimeMachineBrowserContext(){return this.timeMachineBrowserContext}async makeBrowserContext(){y6r.chromium._checksumInternal=!0;let i=await y6r.chromium.launch({headless:this.options.headless,args:$h.useRemoteDebugging.enabled?["--remote-debugging-port=4444"]:[]});return i._checksumInternal=!0,this.timeMachineBrowserContext=await i.newContext({bypassCSP:!0}),this.timeMachineBrowserContext._checksumInternal=!0,this.timeMachineBrowserContext.tracing.startChunk=async()=>{},this.timeMachineBrowserContext.tracing.stop(),this.timeMachineBrowserContext.tracing.stop=async()=>{},this.timeMachineBrowserContext.tracing.stopChunk=async()=>{},this.timeMachineBrowserContext}async makeFrame(){let i=await this.timeMachineBrowserContext.newPage();i._checksumInternal=!0;let s=i.mainFrame();return s._checksumInternal=!0,s}async rrwebEventHandler(i){let s=await super.rrwebEventHandler(i);if(this.options.recordRRwebEventsToFile){if(this.rrwebEventsBuffer+=s+`
|
|
604
604
|
`,this.rrwebEventsBuffer.length>C3i){let l=this.rrwebEventsBuffer;this.rrwebEventsBuffer="",this.flushRRwebEventsToFile(l)}return s}}async flushRRwebEventsToFile(i){if(this.options.recordRRwebEventsToFile){i??(i=this.rrwebEventsBuffer);try{await hfn.default.appendFile(this.options.recordRRwebEventsToFilePath,i)}catch(s){Xy(s)}}}getRRwebFilePath(){return this.options.recordRRwebEventsToFilePath}};e(v6r,"RuntimeTimeMachine");N5t=v6r});var xfn,x6r,vMe,A6r,b6r=Ws(()=>{"use strict";US();OK();Gz();xfn=!1,x6r=class x6r{constructor(r,i,s){this.frame=r;this.base=i;this.getAnalytics=s;this.LOCATORS_TIMEOUT=xfn?9999999:5e3;this.HANDLES_TIMEOUT=xfn?9999999:5e3;this.HANDLES_INTERVAL=300;this.locatorsChain=[];this.base||(this.base=this.frame)}setBase(r){this.base=r}setAnalytics(r){this.getAnalytics=r}init(...r){return this.sanitizeArgs(...r),new Proxy(this,{get:e((i,s)=>s==="setBase"?function(...l){this.setBase(l[0])}.bind(this):s==="setAnalytics"?function(...l){this.setAnalytics(l[0])}.bind(this):this.handleLocatorChain(i,s),"get")})}getLocatorSelector(r){if(r)return r._selector}sanitizeArgs(...r){if(r.length===1&&typeof r[0]=="object"){if(!r[0].anchors||typeof r[0].anchors!="function")throw new Error("Invalid compound selector format. Object must contain anchors property with a method value");this.anchorLocatorMethod=r[0].anchors,this.targetLocatorMethod=r[0].target;return}if(typeof r[0]!="function")throw new Error("Invalid compound selector format. First argument must be an object or a function");if(this.anchorLocatorMethod=r[0],r.length===2){if(typeof r[1]!="function")throw new Error("Invalid compound selector format. Second argument must be a function");this.targetLocatorMethod=r[1]}}async resolveLocator(){if(this.resolvedLocator)return this.resolvedLocator;Xy("Waiting for locators..");let r=this.getLocatorsFromMethods();if(r.find(b=>!("_selector"in b)))throw new Error("Can't resolve at least one locator, make sure anchors and target are valid locators or strings");try{await Promise.all(r.map(async b=>S4(b.first().waitFor({bypassChecksum:!0}),this.LOCATORS_TIMEOUT,"Waiting for compound selector locators timeout")))}catch(b){throw new Error(`Error while waiting for locators - ${b.message}`)}let i=await S4(this.getElementHandles(r),this.HANDLES_TIMEOUT);Xy(`Resolved to ${A6r(i)} elements from ${r.length} locators`);let s=this.getLocatorSelector(this.getLocatorsFromMethods(!1,!0,this.frame)[0]),l=await this.frame.evaluate(async({handles:b,targetSelector:E})=>window.checksum.testGenerator.getCompoundSelector().select(b,E),{handles:i,targetSelector:s});if(!l||l.length===0)throw new Error("Could not generate selectors from handles");Xy(`Resolved compound selector to ${l.length} selectors`);let f=this.getBase(),_=f.locator(l[0]);return l.slice(1,50).forEach(b=>{_=_.or(f.locator(b))}),this.locatorsChain.length&&this.locatorsChain.forEach(({name:b,args:E})=>{_=_[b](...E)}),Xy(`Compound locator selector: ${this.getLocatorSelector(_)}`),this.resolvedLocator=_,_}handleLocatorChain(r,i){if(typeof i=="symbol")return;if(i==="constructor")return e(function(..._){return this[i](..._)},"Locator");if(i==="toString")return()=>this.toString();let s=e(()=>new Proxy(r,{get:e((f,_)=>f.handleLocatorChain(f,_),"get")}),"createLocatorProxy");return i==="valueOf"?e(function(){return s()},"Locator"):i==="then"?(f,_)=>{this.resolveLocator().then(b=>f(b)).catch(_)}:Object.values([...Object.values(Zpe),...Object.values(EOe)]).includes(i)?e(function(..._){return r.locatorsChain.push({name:i,args:_}),s()},"Locator"):e(async function(..._){return this.handleAction(i,_)},"Locator").bind(this)}async handleAction(r,i){var s,l;try{if(typeof r=="symbol")return;if(!this.anchorLocatorMethod)throw new Error("Compound selection is missing anchor locators");let f=await this.resolveLocator();return this.frame.executeLocatorAction?await this.frame.executeLocatorAction(f,r,i):await f[r](...i)}catch(f){throw Xy(`Failed to execute compound selection action: ${f}`),(l=(s=this.getAnalytics)==null?void 0:s.call(this))==null||l.compoundSelectionFailure({error:f.toString(),selector:this.toString()}),f}}async getElementHandles(r){Xy("Resolving compound selector elements");let i,s,l,f,_,b=e(()=>{_=2},"resetSameHandlesCount");do i=s,s=[],await Promise.all(r.map(async E=>{let S=await E.elementHandles({bypassChecksum:!0});if(S.length===0)throw new Error(`No elements found for locator: ${this.getLocatorSelector(E)}`);s.push(S)})),l=A6r(s),f=i?A6r(i):0,Xy(`Handles itteration, previous: ${i?f:"-"}, current: ${l}`),f!==l&&b(),await nD(this.HANDLES_INTERVAL);while(!i||f!==l||--_>0);return s}getLocatorsFromMethods(r=!0,i=!0,s=this.getBase()){return(r?this.anchorLocatorMethod(s):[]).concat(i&&this.targetLocatorMethod?[this.targetLocatorMethod(s)]:[]).map(l=>typeof l=="string"?s.getByText(l):l)}getBase(){return this.base}toString(){var r;return`CompoundSelection(${this.resolvedLocator?this.getLocatorSelector(this.resolvedLocator):`${this.anchorLocatorMethod.toString()}, ${(r=this.targetLocatorMethod)==null?void 0:r.toString()})`})`}};e(x6r,"CompoundSelectorLocator");vMe=x6r,A6r=e(n=>n.reduce((r,i)=>r+i.length,0),"countHandleElements")});var E6r,bfn,D3i,C6r,yit,D6r=Ws(()=>{"use strict";E6r=require("path");US();DOe();bfn=require("fs"),D3i=!0,C6r=class C6r{constructor(r){this.options=r;this.navigatingFrames={};this.trackedFramesGuid=[];this.frameNavigationPromises={};this.onFrameNavigated=e(async r=>{let i=Zw(r);if(this.trackedFramesGuid.includes(i))return this.frameNavigationPromises[i]=new Promise(async s=>{await this.loadScript(r),s()}),this.frameNavigationPromises[i]},"onFrameNavigated");this.loadScript=e(async(r,{retriesLeft:i=3,retryWaitMS:s=2e3,useWrapper:l=!0}={})=>{var E,S;if(l&&this.scriptLoadWrapper)return this.scriptLoadWrapper(()=>this.loadScript(r,{retriesLeft:i,retryWaitMS:s,useWrapper:!1}),r);if(!this.addScriptTagOptions){this.log.warn("[InjectedScriptManager] addScriptTagOptions not set, skipping loadScript");return}if(this.isFrameClosed(r))return;let f=!1;try{f=this.scriptLoadCheck?await((E=this.scriptLoadCheck)==null?void 0:E.call(this,r)):!1}catch{}if(f||this.isFrameClosed(r))return;this.options.scriptAddWait&&(this.log.log(`Waiting ${this.options.scriptAddWait}[ms] before adding script...`),await nD(this.options.scriptAddWait),this.log.log("Done waiting before adding script"));try{await r.addScriptTag(await this.makeInjectedScriptOptionsForAddScriptTag())}catch(T){if(i>0)return this.log.warn(`[InjectedScriptManager] Failed to add script to frame ${Zw(r)}, trying again in ${s/1e3} seconds, ${i-1} retries left.`,T.message),await nD(s),this.loadScript(r,{retriesLeft:i-1,retryWaitMS:s,useWrapper:l});throw T}let _=Zw(r),b=Date.now().toString(36)+Math.random().toString(36).substr(2);if(this.navigatingFrames[_]=b,this.options.scriptInitWait&&(this.log.log(`Waiting ${this.options.scriptInitWait}[ms] before onScriptLoad...`),await nD(this.options.scriptInitWait),this.log.log("Done waiting before onScriptLoad")),!this.isFrameClosed(r)){if(this.navigatingFrames[_]&&this.navigatingFrames[_]!==b)return this.log.log("Page navigated again, waiting on new promise..."),this.frameNavigationPromises[_];try{await((S=this.scriptLoadCallback)==null?void 0:S.call(this,r))}catch(T){this.log.error("[WebDriver] onScriptLoad error",T)}}},"loadScript");this.log=new Proxy(console,{get:e((r,i)=>(...s)=>{if(!this.options.silenceLogs)return r[i].apply(r,s)},"get")});this.addScriptTagOptions=this.makeFrameInjectedScriptOptions()}setScriptLoadCallback(r){return this.scriptLoadCallback=r,this}setScriptLoadCheck(r){return this.scriptLoadCheck=r,this}setScriptLoadWrapper(r){return this.scriptLoadWrapper=r,this}async addTrackedFrame(r,i=!0){let s="mainFrame"in r?r.mainFrame():r,l=Zw(s);if(this.trackedFramesGuid.includes(l)||this.trackedFramesGuid.push(l),i)return this.onFrameNavigated(s)}getNavigationPromise(r){if(!r){this.log.warn("[InjectedScriptManager] getNavigationPromise called with undefined argument");return}let i=typeof r=="string"?r:"mainFrame"in r?Zw(r.mainFrame()):Zw(r);return this.frameNavigationPromises[i]}makeFrameInjectedScriptOptions(){switch(this.options.scriptSource){case"file":return this.options.scriptFile?{path:this.options.isScriptFileAbsolute?this.options.scriptFile:(0,E6r.join)(process.cwd(),this.options.scriptFile)}:void 0;case"url":return this.options.scriptURL?{url:this.options.scriptURL}:void 0;default:return}}async makeInjectedScriptOptionsForAddScriptTag(){if(this.options.scriptSource==="url"&&this.addScriptTagOptions.url&&D3i){let i=await(await fetch(this.addScriptTagOptions.url)).text(),s=(0,E6r.join)(process.cwd(),"checksumlib.js");return(0,bfn.writeFileSync)(s,i),{path:s}}return this.addScriptTagOptions}isFrameClosed(r){return r.isDetached()||r.page().isClosed()}};e(C6r,"InjectedScriptManager");yit=C6r});var Efn=Ws(()=>{"use strict"});var k6r,B5t,I6r,S6r,F6r,w6r,P6r,T6r,R5t,O5t,Cfn=Ws(()=>{"use strict";US();Efn();k6r=class k6r{constructor(r){this.options=r}async handleError(r,i,s){let l=`Error in ${i} action during ${r} execution: ${s.message}`;throw new Error(l)}async guardedExecute(){try{return await(this.options.timeout!=null?S4(this.execute(),this.options.timeout,"Execution timeout"):this.execute())}catch(r){return this.handleError(this.options.method,this.constructor.name,r)}}};e(k6r,"Action");B5t=k6r,I6r=class I6r extends B5t{async execute(){return this.options.method in this.options.locator?this.options.locator[this.options.method](...this.options.args):this.options.locator}};e(I6r,"PlaywrightAction");S6r=I6r,F6r=class F6r extends B5t{constructor(i,s){super(i);this.pageInteractor=s}};e(F6r,"APIAction");w6r=F6r,P6r=class P6r extends w6r{constructor(r,i){super(r,i.pageInteractor)}async execute(){try{let{locator:r,args:i}=this.options,[s,l]=i,f=await r.screenshot({timeout:3e4}),b=(await this.pageInteractor.getTextDetection(f)).getRectangleByTextAndSizeRanking(s,l);if(!b)throw new Error("No matching text found");await r.click({position:b.center})}catch(r){throw new Error(`Error in canvas click action: ${r.message}`)}}};e(P6r,"CanvasClickAction");T6r=P6r,R5t=class R5t{static createAction(r,i){return r.method in this.customActionMap?new this.customActionMap[r.method]({...r,timeout:15e3},i):new S6r(r)}};e(R5t,"ActionFactory"),R5t.customActionMap={canvasClick:T6r};O5t=R5t});var M5t,L5t,Dfn=Ws(()=>{"use strict";OK();Gz();b6r();Cfn();Emr();M5t=class M5t{constructor(r,i,s,l,f,_,b){this.frame=r;this.checksumPage=i;this.isReplMode=s;this.config=l;this.injectedScriptManager=f;this.getPageInteractor=_;this.onExecutionError=b;this.locatorStack=[];this.setFrameProxy(),this.checksumClient=new eRe({apiURL:this.config.apiURL,apiKey:this.config.apiKey})}static init(r,i,s,l,f,_,b=!1){return new M5t(r,i,b,_,s,l,f).proxy}setFrameProxy(){this.proxy=new Proxy(this,{get:e(function(i,s){return i.handleFrameMethod(s)},"get")})}handleFrameMethod(r){if(typeof r!="symbol")return typeof this[r]=="function"?r==="constructor"?this[r]:this[r].bind(this):[...Object.values(Zpe),...Object.values(EOe)].includes(r)?(this.pushToLocatorStack([{type:r,base:this.frame}]),e(function(s,l){try{return this.executeLocator(s,l)}catch(f){throw this.popLocatorChain(),f}},"Locator").bind(this)):this.frame[r]}page(){return this.checksumPage}compoundSelection(...r){var i;try{let s=this.locatorStack.length?(i=this.getCurrentLocatorInChain())==null?void 0:i.base:this.proxy;return new vMe(this.proxy,s).init(...r)}catch{throw new Error("Failed generating compound selector")}}async wrapInternalSteps(r,i=this.frame){try{return i._checksumInternal=!0,await r()}finally{i._checksumInternal=!1}}get navigationPromise(){return this.injectedScriptManager.getNavigationPromise(this.frame)}pushToLocatorStack(r){this.locatorStack.push(r)}getCurrentLocatorChain(){return this.locatorStack.length||this.locatorStack.push([]),this.locatorStack[this.locatorStack.length-1]}popLocatorChain(){return this.locatorStack.pop()}getCurrentLocatorInChain(){let r=this.getCurrentLocatorChain();return r==null?void 0:r[r.length-1]}getLocator(r,i){let s=this.getCurrentLocatorInChain();return s.base[s.type](r,i)}executeLocator(r,i){try{Xy(`
|
|
605
605
|
Executing locator ${this.getCurrentLocatorInChain().type} with ${typeof r=="string"?`selector ${r}`:"locator"}`);try{r&&typeof r=="object"&&"has"in r&&this.popLocatorChain()}catch{}let s=this.getLocator(r,i);return new Proxy(s,{get:e((l,f)=>this.getLocatorMethod(s,l,f),"get")})}catch(s){Xy("Failed to locate",s)}}getLocatorMethod(r,i,s){return s==="then"?this.handleThen(r,i,s):s==="catch"?this.handleCatch(r,i):s==="finally"?this.handleFinally(r,i):s==="constructor"?e(function(...f){return this.popLocatorChain(),i.constructor(...f)},"Locator"):s in i&&typeof i[s]!="function"||s===Symbol.toPrimitive||s in Object||s==="evaluate"?(this.popLocatorChain(),i[s]):s==="compoundSelection"?function(...l){let f=this.compoundSelection(...l);return f.setBase(r),f}.bind(this):[...Object.values(Zpe),...Object.values(EOe)].includes(s)?["or","and"].includes(s)?(Xy("'Or' and 'And' locator are not supported, will execute normally"),this.popLocatorChain(),i[s]):(this.getCurrentLocatorChain().push({type:s,base:r}),e(function(...f){return this.executeLocator(f[0],f[1])},"Locator").bind(this)):s==="page"?()=>(this.popLocatorChain(),this.proxy.page()):e(async function(...f){let _=await this.executeLocatorAction(r,s,f);return this.popLocatorChain(),_},"Locator").bind(this)}async executeLocatorAction(r,i,s){var E;if(s&&Array.from(s).some(S=>(S==null?void 0:S.bypassChecksum)===!0))return r[i](...s);let l=r._selector;Xy("Executing",i,l);let f=i==="_expect"?"assertion":"action",_=((E=this.config.options)==null?void 0:E.consecutiveActionDelay)??100;_>0&&f==="action"&&this.lastLocatorActionType==="action"&&(Xy("Adding minimal wait between consecutive actions..."),await new Promise(S=>setTimeout(S,_))),this.lastLocatorActionType=f,Xy("Running initial locator...");let b;try{return this.navigationPromise&&await this.navigationPromise,await this.wrapInternalSteps(async()=>{try{Xy("[executeLocatorAction] waitForFunction"),await this.frame.waitForFunction(()=>!!window.checksum,{timeout:5e3})}catch{Xy("[executeLocatorAction] checksum libs not loaded")}}),await O5t.createAction({locator:r,method:i,args:s,timeout:this.getLocatorActionTimeout(f,i,s)},{api:this.checksumClient,pageInteractor:this.getPageInteractor()}).guardedExecute();b=new Error("Locator action error")}catch(S){Xy("Failed initial execution. Exception:",S.message),b=S}if(f==="action"&&this.onExecutionError)return this.onExecutionError({error:b,locator:r,method:i,args:s},this.frame);throw b}setExpectConfiguration(r=void 0){this.expectConfiguration=r}getLocatorActionTimeout(r,i,s=[]){var l;if(this.isReplMode)return null;try{if(r==="assertion"){let b=this.getAssertionTimeout(s);return Xy(`Assertion timeout set to ${b}`),b}let f=["fill","dragTo"].includes(i)?1:0,_=(l=s[f])==null?void 0:l.timeout;return isNaN(_)?3e4:_}catch{return 3e4}}getAssertionTimeout(r=[]){var l,f,_,b,E;let i=(l=r[1])==null?void 0:l.timeout;if(i!==void 0)return i;if(((f=this.expectConfiguration)==null?void 0:f.timeout)!==void 0)return(_=this.expectConfiguration)==null?void 0:_.timeout;let s=(E=(b=this.testInfo._projectInternal)==null?void 0:b.expect)==null?void 0:E.timeout;return s!==void 0?s:3e4}handleThen(r,i,s){return(l,f)=>Promise.resolve(r).then(_=>{let b=l?l(_):_;return b instanceof Promise?b:this.getLocatorMethod(b,i,s)},_=>{if(f)return f(_);throw _})}handleCatch(r,i){return s=>Promise.resolve(r).catch(l=>{if(s)return s(l);throw l})}handleFinally(r,i){return s=>Promise.resolve(r).finally(s)}};e(M5t,"ChecksumFrame");L5t=M5t});var Sfn,j5t,vit,N6r=Ws(()=>{"use strict";Sfn=e_(require("path"));OK();u1e();b6r();D6r();Dfn();Gz();q3();j5t=class j5t{constructor(r,i,s,l,f,_){this.page=r;this.config=s;this.getPageInteractor=l;this.injectedScriptManager=f;this._frames={};this.isVTG=!!process.env.CHECKSUM_VTG_TEST_FILE_RUN_CONFIG;this._isChecksumPage=!0;var b,E;this._context=i,this.setPageProxy(),this.injectedScriptManager||(this.injectedScriptManager=new yit({scriptFile:$h.checksumScript.path,scriptSource:$h.checksumScript.source,scriptURL:$h.checksumScript.url,isScriptFileAbsolute:!0,silenceLogs:!$h.isDevMode,scriptInitWait:(b=s==null?void 0:s.options)==null?void 0:b.browserScriptInitWait,scriptAddWait:(E=s==null?void 0:s.options)==null?void 0:E.browserScriptAddWait})),this.registerPageEvents(),this.page.frames().forEach(S=>this.registerFrame(S)),_&&(this.variableStore=_.variableStore)}static makePage(r,i,s,l){let f=wfn();return new j5t(r,l,f,()=>i,s,void 0).proxy}async registerFrame(r){var l;let i=this.getFrameGuid(r);if(r===this.page.mainFrame()&&(this.mainFrameGuid=i),this._frames[i])return;let s=L5t.init(r,this.proxy,this.injectedScriptManager,this.getPageInteractor,(l=this.onExecutionError)==null?void 0:l.bind(this),this.config);this._frames[i]=s}async onExecutionError(r){throw r.error}getFrameGuid(r){return r._guid}getPageGuid(r){return r._guid}registerPageEvents(){this.page.on("frameattached",async r=>{this.registerFrame(r)})}setPageProxy(){this.proxy=new Proxy(this,{get:e(function(i,s){return i.getPageMethod(s)},"get")})}getPageMethod(r){if(typeof this[r]=="function")return r==="constructor"?this[r]:this[r].bind(this);switch(r){case"pageInteractor":return this.getPageInteractor();case"variableStore":return this.variableStore;case"_isChecksumPage":return this._isChecksumPage}return Object.values(Zpe).includes(r)?e(function(s,l){try{return this.mainFrame()[r](s,l)}catch(f){throw f}},"Page").bind(this):this.page[r]}mainFrame(){var r;return(r=this._frames)==null?void 0:r[this.mainFrameGuid]}frames(){return Object.values(this._frames)}context(){return this._context}getPage(r){return this._context.getPage(r)}getFrame(r){if(!this.page.frames().find(s=>this.getFrameGuid(s)===r))throw new Error(`Frame with guid ${r} not found`);return this._frames[r]}async waitForDialog(r){try{return this.getPageInteractor().waitForDialog(!0,r)}catch(i){throw new Error(`Failed to handle native dialog: ${i}`)}}async reauthenticate(r){try{await this.getPageInteractor().reauthenticate(r,this.proxy)}catch(i){throw new Error(`Failed to reauthenticate: ${i}`)}}resolveAssetsFolder(r){return r.map(i=>Sfn.join(Ket(dte()),i))}compoundSelection(...r){try{return new vMe(this.mainFrame()).init(...r)}catch{throw new Error("Failed generating compound selector")}}get navigationPromise(){return this.injectedScriptManager.getNavigationPromise(this.page)}setExpectConfiguration(r=void 0){this.expectConfiguration=r,Object.values(this._frames).forEach(i=>i.setExpectConfiguration(r))}};e(j5t,"ChecksumPage");vit=j5t});var Tfn,RC,LC=Ws(()=>{Tfn=Object.defineProperty,RC=e((n,r)=>{let i={};for(var s in n)Tfn(i,s,{get:n[s],enumerable:!0});return r||Tfn(i,Symbol.toStringTag,{value:"Module"}),i},"__exportAll")});function Bwe(n){return!!(n&&typeof n=="object"&&"type"in n&&n.type==="tool_call")}function kfn(n){return!!(n&&typeof n=="object"&&"toolCall"in n&&n.toolCall!=null&&typeof n.toolCall=="object"&&"id"in n.toolCall&&typeof n.toolCall.id=="string")}var AMe,Ait,U5t=Ws(()=>{e(Bwe,"_isToolCall");e(kfn,"_configHasToolCallId");Ait=(AMe=class extends Error{output;constructor(r,i){super(r),this.output=i}},e(AMe,"ToolInputParsingException"),AMe)});var Ffn=Gr((dxa,Ifn)=>{"use strict";Ifn.exports=function(n,r){if(typeof n!="string")throw new TypeError("Expected a string");return r=typeof r>"u"?"_":r,n.replace(/([a-z\d])([A-Z])/g,"$1"+r+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+r+"$2").toLowerCase()}});var Mfn=Gr((_xa,B6r)=>{"use strict";var S3i=/[\p{Lu}]/u,w3i=/[\p{Ll}]/u,Pfn=/^[\p{Lu}](?![\p{Lu}])/gu,Ofn=/([\p{Alpha}\p{N}_]|$)/u,Rfn=/[_.\- ]+/,T3i=new RegExp("^"+Rfn.source),Nfn=new RegExp(Rfn.source+Ofn.source,"gu"),Bfn=new RegExp("\\d+"+Ofn.source,"gu"),k3i=e((n,r,i)=>{let s=!1,l=!1,f=!1;for(let _=0;_<n.length;_++){let b=n[_];s&&S3i.test(b)?(n=n.slice(0,_)+"-"+n.slice(_),s=!1,f=l,l=!0,_++):l&&f&&w3i.test(b)?(n=n.slice(0,_-1)+"-"+n.slice(_-1),f=l,l=!1,s=!0):(s=r(b)===b&&i(b)!==b,f=l,l=i(b)===b&&r(b)!==b)}return n},"preserveCamelCase"),I3i=e((n,r)=>(Pfn.lastIndex=0,n.replace(Pfn,i=>r(i))),"preserveConsecutiveUppercase"),F3i=e((n,r)=>(Nfn.lastIndex=0,Bfn.lastIndex=0,n.replace(Nfn,(i,s)=>r(s)).replace(Bfn,i=>r(i))),"postProcess"),Lfn=e((n,r)=>{if(!(typeof n=="string"||Array.isArray(n)))throw new TypeError("Expected the input to be `string | string[]`");if(r={pascalCase:!1,preserveConsecutiveUppercase:!1,...r},Array.isArray(n)?n=n.map(f=>f.trim()).filter(f=>f.length).join("-"):n=n.trim(),n.length===0)return"";let i=r.locale===!1?f=>f.toLowerCase():f=>f.toLocaleLowerCase(r.locale),s=r.locale===!1?f=>f.toUpperCase():f=>f.toLocaleUpperCase(r.locale);return n.length===1?r.pascalCase?s(n):i(n):(n!==i(n)&&(n=k3i(n,i,s)),n=n.replace(T3i,""),r.preserveConsecutiveUppercase?n=I3i(n,i):n=i(n),r.pascalCase&&(n=s(n.charAt(0))+n.slice(1)),F3i(n,s))},"camelCase");B6r.exports=Lfn;B6r.exports.default=Lfn});function Ufn(n,r){return(r==null?void 0:r[n])||(0,jfn.default)(n)}function Qfn(n,r,i){let s={};for(let l in n)Object.hasOwn(n,l)&&(s[r(l,i)]=n[l]);return s}var jfn,P3i,qfn=Ws(()=>{jfn=e_(Ffn(),1),P3i=e_(Mfn(),1);e(Ufn,"keyToJson");e(Qfn,"mapKeys")});function B3i(n){return"lc"in n||Object.keys(n).length===1&&"__lc_escaped__"in n}function O3i(n){return{[N3i]:n}}function R3i(n){return n!==null&&typeof n=="object"&&"lc_serializable"in n&&typeof n.toJSON=="function"}function L3i(n){var i;let r;return n!==null&&typeof n=="object"?"lc_id"in n&&Array.isArray(n.lc_id)?r=n.lc_id:r=[((i=n.constructor)==null?void 0:i.name)??"Object"]:r=[typeof n],{lc:1,type:"not_implemented",id:r}}function Q5t(n,r=new WeakSet){if(n!==null&&typeof n=="object"&&!Array.isArray(n)){if(r.has(n))return L3i(n);if(R3i(n))return n;r.add(n);let i=n;if(B3i(i))return r.delete(n),O3i(i);let s={};for(let[l,f]of Object.entries(i))s[l]=Q5t(f,r);return r.delete(n),s}return Array.isArray(n)?n.map(i=>Q5t(i,r)):n}var N3i,$fn=Ws(()=>{N3i="__lc_escaped__";e(B3i,"needsEscaping");e(O3i,"escapeObject");e(R3i,"isSerializableLike");e(L3i,"createNotImplemented");e(Q5t,"escapeIfNeeded")});function Vfn(n){return Array.isArray(n)?[...n]:{...n}}function M3i(n,r){let i=Vfn(n);for(let[s,l]of Object.entries(r)){let[f,..._]=s.split(".").reverse(),b=i;for(let E of _.reverse()){if(b[E]===void 0)break;b[E]=Vfn(b[E]),b=b[E]}b[f]!==void 0&&(b[f]={lc:1,type:"secret",id:[l]})}return i}function O6r(n){let r=Object.getPrototypeOf(n);return typeof n.lc_name=="function"&&(typeof r.lc_name!="function"||n.lc_name()!==r.lc_name())?n.lc_name():n.name}var Owe,fCe,xit=Ws(()=>{LC();qfn();$fn();e(Vfn,"shallowCopy");e(M3i,"replaceSecrets");e(O6r,"get_lc_unique_name");fCe=(Owe=class{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,O6r(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(r,...i){this.lc_serializable_keys!==void 0?this.lc_kwargs=Object.fromEntries(Object.entries(r||{}).filter(([s])=>{var l;return(l=this.lc_serializable_keys)==null?void 0:l.includes(s)})):this.lc_kwargs=r??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof Owe||typeof this.lc_kwargs!="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let r={},i={},s=Object.keys(this.lc_kwargs).reduce((b,E)=>(b[E]=E in this?this[E]:this.lc_kwargs[E],b),{});for(let b=Object.getPrototypeOf(this);b;b=Object.getPrototypeOf(b))Object.assign(r,Reflect.get(b,"lc_aliases",this)),Object.assign(i,Reflect.get(b,"lc_secrets",this)),Object.assign(s,Reflect.get(b,"lc_attributes",this));Object.keys(i).forEach(b=>{let E=this,S=s,[T,...B]=b.split(".").reverse();for(let N of B.reverse()){if(!(N in E)||E[N]===void 0)return;(!(N in S)||S[N]===void 0)&&(typeof E[N]=="object"&&E[N]!=null?S[N]={}:Array.isArray(E[N])&&(S[N]=[])),E=E[N],S=S[N]}T in E&&E[T]!==void 0&&(S[T]=S[T]||E[T])});let l={},f=new WeakSet;f.add(this);for(let[b,E]of Object.entries(s))l[b]=Q5t(E,f);let _=Qfn(Object.keys(i).length?M3i(l,i):l,Ufn,r);return{lc:1,type:"constructor",id:this.lc_id,kwargs:_}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}},e(Owe,"Serializable"),Owe)});function Rwe(n){return typeof n=="object"&&n!==null&&"type"in n&&typeof n.type=="string"&&"source_type"in n&&(n.source_type==="url"||n.source_type==="base64"||n.source_type==="text"||n.source_type==="id")}function q5t(n){return Rwe(n)&&n.source_type==="url"&&"url"in n&&typeof n.url=="string"}function $5t(n){return Rwe(n)&&n.source_type==="base64"&&"data"in n&&typeof n.data=="string"}function R6r(n){return Rwe(n)&&n.source_type==="id"&&"id"in n&&typeof n.id=="string"}function V5t({dataUrl:n,asTypedArray:r=!1}){let i=n.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),s;if(i){s=i[1].toLowerCase();let l=r?Uint8Array.from(atob(i[2]),f=>f.charCodeAt(0)):i[2];return{mime_type:s,data:l}}}var bit=Ws(()=>{e(Rwe,"isDataContentBlock");e(q5t,"isURLContentBlock");e($5t,"isBase64ContentBlock");e(R6r,"isIDContentBlock");e(V5t,"parseBase64DataUrl")});function B1(n,r){return py(n)&&n.type===r}function py(n){return typeof n=="object"&&n!==null}function LP(n){return Array.isArray(n)}function M_(n){return typeof n=="string"}function aY(n){return typeof n=="number"}function J5t(n){return n instanceof Uint8Array}function L6r(n){try{return JSON.parse(n)}catch{return}}var sY,Gte=Ws(()=>{e(B1,"_isContentBlock");e(py,"_isObject");e(LP,"_isArray");e(M_,"_isString");e(aY,"_isNumber");e(J5t,"_isBytesArray");e(L6r,"safeParseJson");sY=e(n=>n(),"iife")});function j3i(n){if(n.type==="char_location"&&M_(n.document_title)&&aY(n.start_char_index)&&aY(n.end_char_index)&&M_(n.cited_text)){let{document_title:r,start_char_index:i,end_char_index:s,cited_text:l,...f}=n;return{...f,type:"citation",source:"char",title:r??void 0,startIndex:i,endIndex:s,citedText:l}}if(n.type==="page_location"&&M_(n.document_title)&&aY(n.start_page_number)&&aY(n.end_page_number)&&M_(n.cited_text)){let{document_title:r,start_page_number:i,end_page_number:s,cited_text:l,...f}=n;return{...f,type:"citation",source:"page",title:r??void 0,startIndex:i,endIndex:s,citedText:l}}if(n.type==="content_block_location"&&M_(n.document_title)&&aY(n.start_block_index)&&aY(n.end_block_index)&&M_(n.cited_text)){let{document_title:r,start_block_index:i,end_block_index:s,cited_text:l,...f}=n;return{...f,type:"citation",source:"block",title:r??void 0,startIndex:i,endIndex:s,citedText:l}}if(n.type==="web_search_result_location"&&M_(n.url)&&M_(n.title)&&M_(n.encrypted_index)&&M_(n.cited_text)){let{url:r,title:i,encrypted_index:s,cited_text:l,...f}=n;return{...f,type:"citation",source:"url",url:r,title:i,startIndex:Number(s),endIndex:Number(s),citedText:l}}if(n.type==="search_result_location"&&M_(n.source)&&M_(n.title)&&aY(n.start_block_index)&&aY(n.end_block_index)&&M_(n.cited_text)){let{source:r,title:i,start_block_index:s,end_block_index:l,cited_text:f,..._}=n;return{..._,type:"citation",source:"search",url:r,title:i??void 0,startIndex:s,endIndex:l,citedText:f}}}function zfn(n){if(B1(n,"document")&&py(n.source)&&"type"in n.source){if(n.source.type==="base64"&&M_(n.source.media_type)&&M_(n.source.data))return{type:"file",mimeType:n.source.media_type,data:n.source.data};if(n.source.type==="url"&&M_(n.source.url))return{type:"file",url:n.source.url};if(n.source.type==="file"&&M_(n.source.file_id))return{type:"file",fileId:n.source.file_id};if(n.source.type==="text"&&M_(n.source.data))return{type:"file",mimeType:String(n.source.media_type??"text/plain"),data:n.source.data}}else if(B1(n,"image")&&py(n.source)&&"type"in n.source){if(n.source.type==="base64"&&M_(n.source.media_type)&&M_(n.source.data))return{type:"image",mimeType:n.source.media_type,data:n.source.data};if(n.source.type==="url"&&M_(n.source.url))return{type:"image",url:n.source.url};if(n.source.type==="file"&&M_(n.source.file_id))return{type:"image",fileId:n.source.file_id}}}function Hfn(n){function*r(){for(let i of n){let s=zfn(i);s?yield s:yield i}}return e(r,"iterateContent"),Array.from(r())}function Jfn(n){function*r(){var s;let i=typeof n.content=="string"?[{type:"text",text:n.content}]:n.content;for(let l of i){if(B1(l,"text")&&M_(l.text)){let{text:f,citations:_,...b}=l;if(LP(_)&&_.length){let E=_.reduce((S,T)=>{let B=j3i(T);return B?[...S,B]:S},[]);yield{...b,type:"text",text:f,annotations:E};continue}else{yield{...b,type:"text",text:f};continue}}else if(B1(l,"thinking")&&M_(l.thinking)){let{thinking:f,signature:_,...b}=l;yield{...b,type:"reasoning",reasoning:f,signature:_};continue}else if(B1(l,"redacted_thinking")){yield{type:"non_standard",value:l};continue}else if(B1(l,"tool_use")&&M_(l.name)&&M_(l.id)){yield{type:"tool_call",id:l.id,name:l.name,args:l.input};continue}else if(B1(l,"input_json_delta")){if(U3i(n)&&((s=n.tool_call_chunks)!=null&&s.length)){let f=n.tool_call_chunks[0];yield{type:"tool_call_chunk",id:f.id,name:f.name,args:f.args,index:f.index};continue}}else if(B1(l,"server_tool_use")&&M_(l.name)&&M_(l.id)){let{name:f,id:_}=l;if(f==="web_search"){yield{id:_,type:"server_tool_call",name:"web_search",args:{query:sY(()=>{if(typeof l.input=="string")return l.input;if(py(l.input)&&M_(l.input.query))return l.input.query;if(M_(l.partial_json)){let b=L6r(l.partial_json);if(b!=null&&b.query)return b.query}return""})}};continue}else if(l.name==="code_execution"){yield{id:_,type:"server_tool_call",name:"code_execution",args:{code:sY(()=>{if(typeof l.input=="string")return l.input;if(py(l.input)&&M_(l.input.code))return l.input.code;if(M_(l.partial_json)){let b=L6r(l.partial_json);if(b!=null&&b.code)return b.code}return""})}};continue}}else if(B1(l,"web_search_tool_result")&&M_(l.tool_use_id)&&LP(l.content)){let{content:f,tool_use_id:_}=l;yield{type:"server_tool_call_result",name:"web_search",toolCallId:_,status:"success",output:{urls:f.reduce((b,E)=>B1(E,"web_search_result")?[...b,E.url]:b,[])}};continue}else if(B1(l,"code_execution_tool_result")&&M_(l.tool_use_id)&&py(l.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:l.tool_use_id,status:"success",output:l.content};continue}else if(B1(l,"mcp_tool_use")){yield{id:l.id,type:"server_tool_call",name:"mcp_tool_use",args:l.input};continue}else if(B1(l,"mcp_tool_result")&&M_(l.tool_use_id)&&py(l.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:l.tool_use_id,status:"success",output:l.content};continue}else if(B1(l,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:l.input};continue}else if(B1(l,"search_result")){yield{id:l.id,type:"non_standard",value:l};continue}else if(B1(l,"tool_result")){yield{id:l.id,type:"non_standard",value:l};continue}else{let f=zfn(l);if(f){yield f;continue}}yield{type:"non_standard",value:l}}}return e(r,"iterateContent"),Array.from(r())}function U3i(n){return typeof(n==null?void 0:n._getType)=="function"&&typeof n.concat=="function"&&n._getType()==="ai"}var Wfn,M6r=Ws(()=>{Gte();e(j3i,"convertAnthropicAnnotation");e(zfn,"convertToV1FromAnthropicContentBlock");e(Hfn,"convertToV1FromAnthropicInput");e(Jfn,"convertToV1FromAnthropicMessage");Wfn={translateContent:Jfn,translateContentChunk:Jfn};e(U3i,"_isAIMessageChunk")});function Q3i(n){return q5t(n)?{type:n.type,mimeType:n.mime_type,url:n.url,metadata:n.metadata}:$5t(n)?{type:n.type,mimeType:n.mime_type??"application/octet-stream",data:n.data,metadata:n.metadata}:R6r(n)?{type:n.type,mimeType:n.mime_type,fileId:n.id,metadata:n.metadata}:n}function Gfn(n){return n.map(Q3i)}function Kfn(n){return!!(B1(n,"image_url")&&py(n.image_url)||B1(n,"input_audio")&&py(n.input_audio)||B1(n,"file")&&py(n.file))}function Yfn(n){if(B1(n,"image_url")&&py(n.image_url)&&M_(n.image_url.url)){let r=V5t({dataUrl:n.image_url.url});return r?{type:"image",mimeType:r.mime_type,data:r.data}:{type:"image",url:n.image_url.url}}else{if(B1(n,"input_audio")&&py(n.input_audio)&&M_(n.input_audio.data)&&M_(n.input_audio.format))return{type:"audio",data:n.input_audio.data,mimeType:`audio/${n.input_audio.format}`};if(B1(n,"file")&&py(n.file)&&M_(n.file.data)){let r=V5t({dataUrl:n.file.data});if(r)return{type:"file",data:r.data,mimeType:r.mime_type};if(M_(n.file.file_id))return{type:"file",fileId:n.file.file_id}}}return n}var j6r=Ws(()=>{bit();Gte();e(Q3i,"convertToV1FromDataContentBlock");e(Gfn,"convertToV1FromDataContent");e(Kfn,"isOpenAIDataBlock");e(Yfn,"convertToV1FromOpenAIDataBlock")});function q3i(n){let r=[];typeof n.content=="string"?n.content.length>0&&r.push({type:"text",text:n.content}):r.push(...z5t(n.content));for(let i of n.tool_calls??[])r.push({type:"tool_call",id:i.id,name:i.name,args:i.args});return r}function $3i(n){let r=[];typeof n.content=="string"?n.content.length>0&&r.push({type:"text",text:n.content}):r.push(...z5t(n.content));for(let i of n.tool_calls??[])r.push({type:"tool_call",id:i.id,name:i.name,args:i.args});return r}function z5t(n){let r=[];for(let i of n)Kfn(i)?r.push(Yfn(i)):r.push(i);return r}function V3i(n){if(n.type==="url_citation"){let{url:r,title:i,start_index:s,end_index:l}=n;return{type:"citation",url:r,title:i,startIndex:s,endIndex:l}}if(n.type==="file_citation"){let{file_id:r,filename:i,index:s}=n;return{type:"citation",title:i,startIndex:s,endIndex:s,fileId:r}}return n}function Xfn(n){function*r(){var s;py((s=n.additional_kwargs)==null?void 0:s.reasoning)&&LP(n.additional_kwargs.reasoning.summary)&&(yield{type:"reasoning",reasoning:n.additional_kwargs.reasoning.summary.reduce((l,f)=>py(f)&&M_(f.text)?`${l}${f.text}`:l,"")});let i=typeof n.content=="string"?[{type:"text",text:n.content}]:n.content;for(let l of i)if(B1(l,"text")){let{text:f,annotations:_,phase:b,extras:E,...S}=l,T=py(E)?{...E}:{};M_(b)&&(T.phase=b);let B=Object.keys(T).length>0?{extras:T}:{};Array.isArray(_)?yield{...S,...B,type:"text",text:String(f),annotations:_.map(V3i)}:yield{...S,...B,type:"text",text:String(f)}}for(let l of n.tool_calls??[])yield{type:"tool_call",id:l.id,name:l.name,args:l.args};if(py(n.additional_kwargs)&&LP(n.additional_kwargs.tool_outputs))for(let l of n.additional_kwargs.tool_outputs){if(B1(l,"web_search_call")){let f={};if(py(l.action)&&M_(l.action.query)&&(f.query=l.action.query),yield{id:l.id,type:"server_tool_call",name:"web_search",args:f},l.status==="completed"||l.status==="failed"){let _={};py(l.action)&&(_.action=l.action),yield{type:"server_tool_call_result",toolCallId:M_(l.id)?l.id:"",status:l.status==="completed"?"success":"error",output:_}}continue}else if(B1(l,"file_search_call")){yield{id:l.id,type:"server_tool_call",name:"file_search",args:{queries:LP(l.queries)?l.queries:[]}},(l.status==="completed"||l.status==="failed")&&(yield{type:"server_tool_call_result",toolCallId:M_(l.id)?l.id:"",status:l.status==="completed"?"success":"error",output:LP(l.results)?{results:l.results}:{}});continue}else if(B1(l,"computer_call")){yield{type:"non_standard",value:l};continue}else if(B1(l,"code_interpreter_call")){if(M_(l.code)&&(yield{id:l.id,type:"server_tool_call",name:"code_interpreter",args:{code:l.code}}),LP(l.outputs)){let f=sY(()=>{if(l.status!=="in_progress"){if(l.status==="completed")return 0;if(l.status==="incomplete")return 127;if(l.status!=="interpreting"&&l.status==="failed")return 1}});for(let _ of l.outputs)if(B1(_,"logs")){yield{type:"server_tool_call_result",toolCallId:l.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:f??0,stderr:[0,void 0].includes(f)?void 0:String(_.logs),stdout:[0,void 0].includes(f)?String(_.logs):void 0}};continue}}continue}else if(B1(l,"mcp_call")){yield{id:l.id,type:"server_tool_call",name:"mcp_call",args:l.input};continue}else if(B1(l,"mcp_list_tools")){yield{id:l.id,type:"server_tool_call",name:"mcp_list_tools",args:l.input};continue}else if(B1(l,"mcp_approval_request")){yield{type:"non_standard",value:l};continue}else if(B1(l,"tool_search_call")){let f={};py(l.arguments)&&Object.assign(f,l.arguments);let _={};M_(l.execution)&&(_.execution=l.execution),M_(l.status)&&(_.status=l.status),M_(l.call_id)&&(_.call_id=l.call_id),yield{id:M_(l.id)?l.id:"",type:"server_tool_call",name:"tool_search",args:f,...Object.keys(_).length>0?{extras:_}:{}};continue}else if(B1(l,"tool_search_output")){let f={name:"tool_search"};M_(l.execution)&&(f.execution=l.execution),yield{type:"server_tool_call_result",toolCallId:M_(l.id)?l.id:"",status:l.status==="completed"?"success":l.status==="failed"?"error":"success",output:{tools:LP(l.tools)?l.tools:[]},extras:f};continue}else if(B1(l,"image_generation_call")){M_(l.result)&&(yield{type:"image",mimeType:"image/png",data:l.result,id:M_(l.id)?l.id:void 0,metadata:{status:M_(l.status)?l.status:void 0}}),yield{type:"non_standard",value:l};continue}py(l)&&(yield{type:"non_standard",value:l})}}return e(r,"iterateContent"),Array.from(r())}function J3i(n){function*r(){yield*Xfn(n);for(let i of n.tool_call_chunks??[])yield{type:"tool_call_chunk",id:i.id,name:i.name,args:i.args}}return e(r,"iterateContent"),Array.from(r())}var Zfn,U6r=Ws(()=>{Gte();j6r();e(q3i,"convertToV1FromChatCompletions");e($3i,"convertToV1FromChatCompletionsChunk");e(z5t,"convertToV1FromChatCompletionsInput");e(V3i,"convertResponsesAnnotation");e(Xfn,"convertToV1FromResponses");e(J3i,"convertToV1FromResponsesChunk");Zfn={translateContent:e(n=>typeof n.content=="string"?q3i(n):Xfn(n),"translateContent"),translateContentChunk:e(n=>typeof n.content=="string"?$3i(n):J3i(n),"translateContentChunk")}});function Q6r(n){return typeof n=="object"&&n!==null&&"type"in n&&"content"in n&&(typeof n.content=="string"||Array.isArray(n.content))}var q6r=Ws(()=>{e(Q6r,"isMessage")});function e0n(n,r="pretty"){return r==="pretty"?z3i(n):JSON.stringify(n)}function z3i(n){let r=[],i=` ${n.type.charAt(0).toUpperCase()+n.type.slice(1)} Message `,s=Math.floor((80-i.length)/2),l="=".repeat(s),f=i.length%2===0?l:`${l}=`;if(r.push(`${l}${i}${f}`),n.type==="ai"){let _=n;if(_.tool_calls&&_.tool_calls.length>0){r.push("Tool Calls:");for(let b of _.tool_calls){r.push(` ${b.name} (${b.id})`),r.push(` Call ID: ${b.id}`),r.push(" Args:");for(let[E,S]of Object.entries(b.args))r.push(` ${E}: ${typeof S=="object"?JSON.stringify(S):S}`)}}}if(n.type==="tool"){let _=n;_.name&&r.push(`Name: ${_.name}`)}return typeof n.content=="string"&&n.content.trim()&&(r.length>1&&r.push(""),r.push(n.content)),r.join(`
|
|
606
606
|
`)}var t0n=Ws(()=>{e(e0n,"convertToFormattedString");e(z3i,"convertToPrettyString")});function r0n(n){return Array.isArray(n)?n:typeof n=="string"?n===""?[]:[{type:"text",text:n}]:n==null?[]:[n]}function dCe(n,r){if(typeof n=="string")return n===""?r:typeof r=="string"?n+r:Array.isArray(r)&&r.length===0?n:Array.isArray(r)&&r.some(i=>Rwe(i))?[{type:"text",source_type:"text",text:n},...r]:[{type:"text",text:n},...r];if(Array.isArray(r)){let i=r0n(n);return bMe(i,r)??[...i,...r]}else return r===""?n:Array.isArray(n)&&n.some(i=>Rwe(i))?[...n,{type:"file",source_type:"text",text:r}]:[...r0n(n),{type:"text",text:r}]}function H3i(n,r){function i(s,l){if(typeof s!="object"||s===null||s===void 0)return s;if(l>=r)return Array.isArray(s)?"[Array]":"[Object]";if(Array.isArray(s))return s.map(_=>i(_,l+1));let f={};for(let _ of Object.keys(s))f[_]=i(s[_],l+1);return f}return e(i,"helper"),JSON.stringify(i(n,0),null,2)}function Kte(n,r,i){let s=(i==null?void 0:i.ignoreKeys)??a0n;if(n==null&&r==null)return;if(n==null||r==null)return n??r;let l={...n};for(let[f,_]of Object.entries(r))if(l[f]==null)l[f]=_;else{if(_==null)continue;if(typeof l[f]!=typeof _||Array.isArray(l[f])!==Array.isArray(_))throw new Error(`field[${f}] already exists in the message chunk, but with a different type.`);if(typeof l[f]=="string"){if(f==="type")continue;if(["id","name","output_version","model_provider"].includes(f))_&&(l[f]=_);else{if(s.includes(f))continue;l[f]+=_}}else if(typeof l[f]=="number"){if(s.includes(f))continue;l[f]=l[f]+_}else if(typeof l[f]=="object"&&!Array.isArray(l[f]))l[f]=Kte(l[f],_,i);else if(Array.isArray(l[f]))l[f]=bMe(l[f],_,i);else{if(l[f]===_)continue;console.warn(`field[${f}] already exists in this message chunk and value has unsupported type.`)}}return l}function W3i(n){return typeof n=="number"||typeof n=="string"}function n0n(n){return typeof n!="object"||n===null||!("index"in n)?!1:W3i(n.index)}function i0n(n){if(typeof n!="object"||n===null||!("id"in n))return!1;let r=n.id;return r!=null&&r!==""}function G3i(n,r){let i=n0n(r),s=i0n(r);return!i&&!s?-1:n.findIndex(l=>{let f=n0n(l),_=i0n(l);return i&&f?l.index!==r.index?!1:_&&s?l.id===r.id:!0:!i&&!f&&s&&_?l.id===r.id:!1})}function bMe(n,r,i){if(!(n==null&&r==null)){if(n==null||r==null)return n||r;{let s=[...n];for(let l of r){let f=G3i(s,l);if(f!==-1)s[f]=Kte(s[f],l,i);else{if(typeof l=="object"&&l!==null&&"text"in l&&l.text==="")continue;s.push(l)}}return s}}}var $6r,xMe,eoe,a0n,Lwe,_Ce,Zq=Ws(()=>{xit();bit();M6r();j6r();U6r();q6r();t0n();$6r=Symbol.for("langchain.message");e(r0n,"contentBlocksFromNonStringFirst");e(dCe,"mergeContent");e(H3i,"stringifyWithDepthLimit");eoe=(xMe=class extends fCe{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[$6r]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor(r){let i=typeof r=="string"||Array.isArray(r)?{content:r}:r;i.additional_kwargs||(i.additional_kwargs={}),i.response_metadata||(i.response_metadata={}),super(i),this.name=i.name,i.content===void 0&&i.contentBlocks!==void 0?(this.content=i.contentBlocks,this.response_metadata={output_version:"v1",...i.response_metadata}):i.content!==void 0?(this.content=i.content??[],this.response_metadata=i.response_metadata):(this.content=[],this.response_metadata=i.response_metadata),this.additional_kwargs=i.additional_kwargs,this.id=i.id}get text(){return typeof this.content=="string"?this.content:Array.isArray(this.content)?this.content.map(r=>typeof r=="string"?r:r.type==="text"?r.text:"").join(""):""}get contentBlocks(){let r=typeof this.content=="string"?[{type:"text",text:this.content}]:this.content;return[Gfn,z5t,Hfn].reduce((i,s)=>s(i),r)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance(r){return typeof r=="object"&&r!==null&&$6r in r&&r[$6r]===!0&&Q6r(r)}_updateId(r){this.id=r,this.lc_kwargs.id=r}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")](r){if(r===null)return this;let i=H3i(this._printableFields,Math.max(4,r));return`${this.constructor.lc_name()} ${i}`}toFormattedString(r="pretty"){return e0n(this,r)}},e(xMe,"BaseMessage"),xMe),a0n=["index","created","timestamp"];e(Kte,"_mergeDicts");e(W3i,"isMergeableIndex");e(n0n,"hasMergeableIndex");e(i0n,"hasMergeableId");e(G3i,"_findMergeTarget");e(bMe,"_mergeLists");_Ce=(Lwe=class extends eoe{static isInstance(r){if(!super.isInstance(r))return!1;let i=Object.getPrototypeOf(r);for(;i!==null;){if(i===Lwe.prototype)return!0;i=Object.getPrototypeOf(i)}return!1}},e(Lwe,"BaseMessageChunk"),Lwe)});function V6r(n){return n!=null&&typeof n=="object"&&"lc_direct_tool_output"in n&&n.lc_direct_tool_output===!0}function J6r(n){let r=[],i=[];for(let s of n)if(s.function){let l=s.function.name;try{let f=JSON.parse(s.function.arguments);r.push({name:l||"",args:f||{},id:s.id})}catch{i.push({name:l,args:s.function.arguments,id:s.id,error:"Malformed args."})}}else continue;return[r,i]}var EMe,CMe,DMe=Ws(()=>{LC();Zq();e(V6r,"isDirectToolOutput");CMe=(EMe=class extends eoe{static lc_name(){return"ToolMessage"}get lc_aliases(){return{tool_call_id:"tool_call_id"}}lc_direct_tool_output=!0;type="tool";status;tool_call_id;metadata;artifact;constructor(r,i,s){let l=typeof r=="string"||Array.isArray(r)?{content:r,name:s,tool_call_id:i}:r;super(l),this.tool_call_id=l.tool_call_id,this.artifact=l.artifact,this.status=l.status,this.metadata=l.metadata}static isInstance(r){return super.isInstance(r)&&r.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},e(EMe,"ToolMessage"),EMe);e(J6r,"defaultToolCallParser")});function s0n(n){let r=Symbol.for(n);return{brand(i,s){let l=s?Symbol.for(`${n}.${s}`):r,_=class _ extends i{[l]=!0;constructor(...E){super(...E)}static isInstance(E){return typeof E=="object"&&E!==null&&l in E&&E[l]===!0}};e(_,"_Branded");let f=_;return Object.defineProperty(f,"name",{value:i.name}),f},sub(i){return s0n(`${n}.${i}`)},isInstance(i){return typeof i=="object"&&i!==null&&r in i&&i[r]===!0}}}var o0n,c0n=Ws(()=>{e(s0n,"createNamespace");o0n=s0n("langchain")});var z6r,SMe,u0n,wMe,X3i,Mwe,oba,H5t=Ws(()=>{LC();c0n();z6r=o0n.sub("error"),u0n=(SMe=class extends z6r.brand(Error){name="LangChainError";constructor(r){super(r),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},e(SMe,"LangChainError"),SMe),X3i=(wMe=class extends z6r.brand(u0n,"model-abort"){name="ModelAbortError";partialOutput;constructor(r,i){super(r),this.partialOutput=i}},e(wMe,"ModelAbortError"),wMe),oba=(Mwe=class extends z6r.brand(u0n,"context-overflow"){name="ContextOverflowError";cause;constructor(r){super(r??"Input exceeded the model's context window.")}static fromError(r){let i=new Mwe(r.message);return i.cause=r,i}},e(Mwe,"ContextOverflowError"),Mwe)});function Z3i(n){try{return JSON.parse(n)}catch{}let r=n.trim();if(r.length===0)throw new Error("Unexpected end of JSON input");let i=0;function s(){for(;i<r.length&&/\s/.test(r[i]);)i+=1}e(s,"skipWhitespace");function l(){if(r[i]!=='"')throw new Error(`Expected '"' at position ${i}, got '${r[i]}'`);i+=1;let T="",B=!1;for(;i<r.length;){let N=r[i];if(B){if(N==="n")T+=`
|