Lines 284-324javascript
284 // parse top-level await or return. Those programs retain the prior async
285 // block behavior; a syntax failure occurs before any user code executes.
286 if (!statementList || !(error instanceof SyntaxError)) throw error;
287 program = new Function('"use strict"; return (async () => {' + code + "\n})();");
288 value = await program();
290 const output = render(value);
291 return logs.length === 0 ? output : value === undefined ? logs.join("\n") : logs.join("\n") + "
293 function install(name, value) { Object.defineProperty(globalThis, name, { value, configurable: false, enumerable: false, writable: false }); }
294 install("browser", browser); install("context", context); install("page", page);
295 install("state", state); install("browserState", state);
296 install("a11y", a11y); install("view", view); install("routeFulfill", routeFulfill); install("console", replConsole);
297 install("__araHandsRepl", Object.freeze({ version, evaluate }));
299`.trim(),YQ=String.raw`
301 const bridge = globalThis.__araHandsRepl;
302 if (!bridge || typeof bridge.evaluate !== "function") throw new Error("Reason Hands browser bridge is not installed");
303 return await bridge.evaluate(typeof input === "string" ? input : input && input.code);
305`.trim();import{Buffer as z9}from"buffer";import{randomUUID as A1}from"crypto";class FQ extends Error{code;constructor($){super($==="hands_repl_private_profile_attribute_denied"?"Private browser attribute read denied.":$);this.code=$;this.name="HandsReplBrowserDispatcherError"}}var VQ=new Set(["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__","constructor","prototype"]),GQ=/^hands_[A-Za-z0-9_-]{8,128}$/,x1=2048,HQ=32,WQ=1e4,I1=new Set(["href","src","alt","title","role","aria-label","aria-expanded","aria-checked","aria-selected","aria-disabled","placeholder ...
306`):U;J({status:V.statusCode??502,headers:K,body:Buffer.concat(B)})})}),G=setTimeout(()=>F.destroy(Error("hands_browser_fetch_timeout")),D7);F.once
307`)}function F8($){try{K7($)}catch{}}async function fQ($){if($.managedBrowser&&$.driverModuleDirectory!==void 0)throw Error("hands_browser_ambiguous_driver_configuration");let Z=$.launch||$.targetContext?null:$.managedBrowser?await Y$($.managedBrowser,{executablePath:$.browserExecutablePath}):await F9({executablePath:$.browserExecutablePath,driverModuleDirectory:$.driverModuleDirectory});if(Z?.status==="unavailable")throw Error(`hands_browser_${Z.reason}`);let Q=Z?.status==="resolved"?Z.executablePath:$.browserExecutablePath;if(!Q||!k9(Q))throw Error("hands_browser_unavailable");let X=$.launch? ...
308Viewing ${B0} (${j0.sourceWidth}x${j0.sourceHeight} source, sent at ${j0.width}x${j0.height}, ${Math.round($9.length/1024)}KB).`}if(W0>
309${h}`}catch{return`${u}
310Screen capture unavailable.`}}return u})(),g,c=new Promise((u,r)=>{g=setTimeout(()=>r(Error("REPL evaluation timed out after 105 seconds")),q7)});try{return await Promise.race([_,c])}catch(u){if(u instanceof Error&&u.message.includes("timed out"))_.catch(()=>{return}),await w.resetEvaluator(M).catch(()=>{return});throw u}finally{if(g)clearTimeout(g)}},T=Promise.resolve(),S=new Set,y=new Set;F8($.socketPath);let E=n0.createServer((N)=>{S.add(N),N.once("close",()=>{S.delete(N),y.delete(N)}),N.setEncoding("utf8");let M="",D=!1;N.on("data",(w)=>{if(D)return;if(M+=w,M.length>j7){D=!0,H9(N,{ok:!1,er ...
311`);if(k===-1)return;D=!0;let m=M.slice(0,k);if($.onControl)try{let _=JSON.parse(m);if(typeof
312`}catch{return!1}}var b7=/^(\/.+)-sidechat-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/;function gQ($){let Z=b7.exec($.replace(/\/+$/,""));return Z?`${Z[1]}/repo`:null}import{randomUUID as R6}from"crypto";import{spawn as E6,spawnSync as S6}from"child_process";import{accessSync as w6,chmodSync as g9,closeSync as b6,constants as M9,fchmodSync as k6,fstatSync as f6,openSync as m6,copyFileSync as y6,existsSync as _$,lstatSync as o,statSync as e0,mkdtempSync as g6,mkdirSync as C9,realpathSync as s,renameSync as C8,rmSync as h6,writeFileSync as T8}from"fs";import{homedir as v6,tm ...
313const { writeSync } = require("node:fs");
314const { createRequire } = require("node:module");
315const { join } = require("node:path");
316const { createInterface } = require("node:readline");
317const { formatWithOptions, inspect } = require("node:util");
318const vm = require("node:vm");
320const timeoutMs = ${C$};
321const maxLogChars = 524288;
322let activeOutput = [];
323let activeOutputChars = 0;
324function appendOutput(value) {
Long lines were clipped for display.