Lines 278-318javascript
278 // parse top-level await or return. Those programs retain the prior async
279 // block behavior; a syntax failure occurs before any user code executes.
280 if (!statementList || !(error instanceof SyntaxError)) throw error;
281 program = new Function('"use strict"; return (async () => {' + code + "\n})();");
282 value = await program();
284 const output = render(value);
285 return logs.length === 0 ? output : value === undefined ? logs.join("\n") : logs.join("\n") + "
287 function install(name, value) { Object.defineProperty(globalThis, name, { value, configurable: false, enumerable: false, writable: false }); }
288 install("browser", browser); install("context", context); install("page", page);
289 install("state", state); install("browserState", state);
290 install("a11y", a11y); install("view", view); install("routeFulfill", routeFulfill); install("console", replConsole);
291 install("__araHandsRepl", Object.freeze({ version, evaluate }));
293`.trim(),_Q=String.raw`
295 const bridge = globalThis.__araHandsRepl;
296 if (!bridge || typeof bridge.evaluate !== "function") throw new Error("Reason Hands browser bridge is not installed");
297 return await bridge.evaluate(typeof input === "string" ? input : input && input.code);
299`.trim();import{Buffer as e0}from"buffer";import{randomUUID as K3}from"crypto";class EQ extends Error{code;constructor($){super($==="hands_repl_private_profile_attribute_denied"?"Private browser attribute read denied.":$);this.code=$;this.name="HandsReplBrowserDispatcherError"}}var RQ=new Set(["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__","constructor","prototype"]),xQ=/^hands_[A-Za-z0-9_-]{8,128}$/,W3=2048,SQ=32,wQ=1e4,B3=new Set(["href","src","alt","title","role","aria-label","aria-expanded","aria-checked","aria-selected","aria-disabled","placeholder ...
300`):U;Y({status:W.statusCode??502,headers:V,body:Buffer.concat(L)})})}),G=setTimeout(()=>K.destroy(Error("hands_browser_fetch_timeout")),z1);K.once("close"
301`)}function l9($){try{s3($)}catch{}}async function QZ($){if($.managedBrowser&&$.driverModuleDirectory!==void 0)throw Error("hands_browser_ambiguous_driver_configuration");let Q=$.launch||$.targetContext?null:$.managedBrowser?await g8($.managedBrowser,{executablePath:$.browserExecutablePath}):await Q9({executablePath:$.browserExecutablePath,driverModuleDirectory:$.driverModuleDirectory});if(Q?.status==="unavailable")throw Error(`hands_browser_${Q.reason}`);let Z=Q?.status==="resolved"?Q.executablePath:$.browserExecutablePath;if(!Z||!T9(Z))throw Error("hands_browser_unavailable");let X=$.launch? ...
302Viewing ${K0} (${B0.sourceWidth}x${B0.sourceHeight} source, sent at ${B0.width}x${B0.height}, ${Math.round(s0.length/1024)}KB).`}if(q0>640
303${l}`}catch{return`${p}
304Screen capture unavailable.`}}return p})(),w,d=new Promise((p,e)=>{w=setTimeout(()=>e(Error("REPL evaluation timed out after 105 seconds")),X1)});try{return await Promise.race([O,d])}catch(p){if(p instanceof Error&&p.message.includes("timed out"))O.catch(()=>{return}),await f.resetEvaluator(C).catch(()=>{return});throw p}finally{if(w)clearTimeout(w)}},q=Promise.resolve(),b=new Set,g=new Set;l9($.socketPath);let A=y0.createServer((M)=>{b.add(M),M.once("close",()=>{b.delete(M),g.delete(M)}),M.setEncoding("utf8");let C="",x=!1;M.on("data",(f)=>{if(x)return;if(C+=f,C.length>Z1){x=!0,X9(M,{ok:!1,er ...
305`);if(R===-1)return;x=!0;let S=C.slice(0,R);if($.onControl)try{let O=JSON.parse
306`}catch{return!1}}var j1=/^(\/.+)-sidechat-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/;function YZ($){let Q=j1.exec($.replace(/\/+$/,""));return Q?`${Q[1]}/repo`:null}import{randomUUID as U7}from"crypto";import{spawn as H7,spawnSync as M7}from"child_process";import{accessSync as j7,chmodSync as I9,closeSync as N7,constants as K9,fchmodSync as C7,fstatSync as T7,openSync as q7,copyFileSync as D7,existsSync as Z$,lstatSync as i,statSync as l0,mkdtempSync as O7,mkdirSync as F9,realpathSync as c,renameSync as Q8,rmSync as I7,writeFileSync as Z8}from"fs";import{homedir as _7,tm ...
307const { writeSync } = require("node:fs");
308const { createRequire } = require("node:module");
309const { join } = require("node:path");
310const { createInterface } = require("node:readline");
311const { formatWithOptions, inspect } = require("node:util");
312const vm = require("node:vm");
314const timeoutMs = ${t8};
315const maxLogChars = 524288;
316let activeOutput = [];
317let activeOutputChars = 0;
318function appendOutput(value) {
Long lines were clipped for display.