@ranger-testing/ranger-cli 3.0.1-alpha.bb18058-34 → 3.0.1-alpha.ebe0997-35
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/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x293c0d,_0x49a92d){const _0x236244=_0x39eb,_0x519bc5=_0x293c0d();while(!![]){try{const _0x26ec08=parseInt(_0x236244(0x173))/0x1+-parseInt(_0x236244(0xf9))/0x2*(parseInt(_0x236244(0x139))/0x3)+-parseInt(_0x236244(0x12f))/0x4+-parseInt(_0x236244(0x10e))/0x5*(parseInt(_0x236244(0x128))/0x6)+parseInt(_0x236244(0x104))/0x7+-parseInt(_0x236244(0x166))/0x8*(-parseInt(_0x236244(0x14f))/0x9)+-parseInt(_0x236244(0x135))/0xa*(-parseInt(_0x236244(0x153))/0xb);if(_0x26ec08===_0x49a92d)break;else _0x519bc5['push'](_0x519bc5['shift']());}catch(_0x40f55c){_0x519bc5['push'](_0x519bc5['shift']());}}}(_0x4da6,0x694e5));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x2cff93,_0x5c8003=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x33434f=_0x39eb,_0x4af5b5={'rUQhx':function(_0x59b259,_0x54b68d){return _0x59b259>_0x54b68d;},'FUJZf':_0x33434f(0x121)};return _0x4af5b5['rUQhx'](_0x2cff93[_0x33434f(0x119)],_0x5c8003)?_0x2cff93['slice'](0x0,_0x5c8003)+_0x4af5b5[_0x33434f(0x17e)]:_0x2cff93;}function _0x4da6(){const _0x54cca9=['[ranger-verification-agent]\x20','split','fill\x20','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','LBOhj','01_initial.yml','02_learn-more.yml','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','NhQLb','eoqnS','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','sort','canonicalFlow','start\x20tracing','invocation','CWIoQ','WSCKM','359658bNkTbp','error','HcPyt','hook_event_name','1511026AJmaUK','domRef','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','subcommand','name','pKbGJ','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','Ntlxo','LMfFE','XlKmv','yYeke','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','rQHem','\x0a\x0a1.\x20Run\x20`','HQGlk','string','test','check\x20','72yyXFft','SoziG','pop','notes','open\x20browser','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','\x20screenshot\x20--filename\x20','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','XGaUf','oinOM','replace','match','BnKlg','845675kaJpGj','yvCWP','\x22,\x20\x22','values','fWOcO','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','open\x20new\x20tab','dOWrB','03_learn-more.png','textContent','`:\x20\x22','FUJZf','authorName','tool_input','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','stdout','start\x20video\x20recording','kSAGn','tracing-start','check','playwright-cli','DEBUG','8eFhStO','video-start','IDFjh','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','trace.trace.zip','02_button-clicked.png','trackPhaseEnd','screenshot','\x20open`,\x20then\x20`','VBWYn','set','1601523kuohnI','playwright_cli_close','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','capture\x20snapshot\x20`','TFCxo','isFile','video-stop','\x20tracing-start`\x0a3.\x20Run\x20`','run\x20custom\x20Playwright\x20code','Reviewer','355RtyAwc','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','description','03_result-visible.png','\x20snapshot\x20--filename\x20','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','trackPhaseStart','element','capture\x20step\x20`','run-code','key_04_success-state.png','length','session-recording.webm','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','NSalO','ryhxn','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','tool_call','TEvTd','...','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','snapshot','Bash','open\x20','mCMyk','authorEmail','23514GZvCGh','bPFde','selector','TASlA','ZDbRQ','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22','jzvDJ','1879592XhFMcX','slice','target','PostToolUseFailure','\x20tracing-start`,\x20then\x20`','zbTGb','10BqJuRQ','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','rgcLI','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','294006NfpBWq','trackPhaseError','xWrwG','vWbNy','stderr'];_0x4da6=function(){return _0x54cca9;};return _0x4da6();}function buildCliArtifactPath(_0x2871fc,_0x4a5658){const _0x5b1001=_0x39eb,_0x2016cb={'LMfFE':function(_0x593529,_0x435328,_0x3c2715){return _0x593529(_0x435328,_0x3c2715);}};return _0x2016cb[_0x5b1001(0x15c)](join,_0x2871fc,_0x4a5658);}function toStepDisplayName(_0x25d26a){const _0x1fef23=_0x39eb,_0x2b9793={'ZDbRQ':function(_0x1dafff,_0x3de226){return _0x1dafff(_0x3de226);}},_0x44ba7a=_0x2b9793['ZDbRQ'](basename,_0x25d26a)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x1fef23(0x170)](/^key_/i,'')['replace'](/^\d+_/,'')[_0x1fef23(0x170)](/-/g,'\x20');return{'name':_0x44ba7a,'isKeyStep':/^key_/i[_0x1fef23(0x164)](_0x2b9793[_0x1fef23(0x12c)](basename,_0x25d26a))};}function extractShellValue(_0x20707e){if(!_0x20707e)return null;return _0x20707e[0x1]??_0x20707e[0x2]??_0x20707e[0x3]??null;}function extractFilenameOption(_0x24a4b9){const _0x439b9b=_0x39eb;return extractShellValue(_0x24a4b9[_0x439b9b(0x171)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1f143a,_0x282423){const _0x1deaf4=_0x39eb,_0xaed611=_0x282423[_0x1deaf4(0x170)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x1f143a['match'](new RegExp('(?:^|\x5cs)'+_0xaed611+_0x1deaf4(0x141))));}function formatCommandTarget(_0x2ceeee){const _0x14c50b=_0x39eb,_0x3ae81a={'lxwoR':_0x14c50b(0x131)};if(!_0x2ceeee)return _0x3ae81a['lxwoR'];if(/^e\d+$/i[_0x14c50b(0x164)](_0x2ceeee))return'ref\x20'+_0x2ceeee;return JSON['stringify'](truncatePreview(_0x2ceeee,0x78));}function formatPlaywrightCliLog(_0x5d1553,_0x4b3983){const _0x3e3ca0=_0x39eb,_0x110f20={'jzvDJ':function(_0x9903d5,_0x3fa891,_0x215719){return _0x9903d5(_0x3fa891,_0x215719);},'xWrwG':_0x3e3ca0(0xf5),'yYeke':'tracing-stop','vWbNy':'stop\x20tracing','LBOhj':_0x3e3ca0(0xf3),'peigd':_0x3e3ca0(0x10a),'IDFjh':function(_0x5a97d3,_0x335522){return _0x5a97d3(_0x335522);},'ryhxn':'capture\x20snapshot','TASlA':_0x3e3ca0(0x100),'omMKm':function(_0x285e01,_0x6265cc){return _0x285e01(_0x6265cc);},'zbTGb':_0x3e3ca0(0xf6),'ArmAO':function(_0x466364,_0x3531d8){return _0x466364(_0x3531d8);},'jBHod':function(_0x5f2310,_0x4f4f05,_0x50f614){return _0x5f2310(_0x4f4f05,_0x50f614);},'XlKmv':'press','WSCKM':function(_0x10dbca,_0xc80ee3,_0x2c8d2e){return _0x10dbca(_0xc80ee3,_0x2c8d2e);},'MmnhN':_0x3e3ca0(0x117),'BnKlg':_0x3e3ca0(0x10c),'ZEXho':'tab-new','pJCTI':function(_0xc42a9e,_0x145fc7,_0x2d590d){return _0xc42a9e(_0x145fc7,_0x2d590d);},'cGatu':'tab-select'};switch(_0x4b3983){case'open':{const _0x5a764d=_0x110f20['jzvDJ'](extractFirstCommandArgument,_0x5d1553,_0x4b3983);return _0x5a764d?_0x3e3ca0(0x125)+_0x5a764d:_0x3e3ca0(0x16a);}case _0x110f20[_0x3e3ca0(0x13b)]:return _0x3e3ca0(0x14b);case _0x110f20[_0x3e3ca0(0x15e)]:return _0x110f20[_0x3e3ca0(0x13c)];case _0x3e3ca0(0xfa):return _0x110f20[_0x3e3ca0(0x142)];case _0x110f20['peigd']:return'stop\x20video\x20recording';case _0x3e3ca0(0x123):{const _0x245de2=_0x110f20['IDFjh'](extractFilenameOption,_0x5d1553);if(!_0x245de2)return _0x110f20[_0x3e3ca0(0x11d)];const {name:_0x1503ca}=_0x110f20[_0x3e3ca0(0xfb)](toStepDisplayName,_0x245de2);return _0x3e3ca0(0x107)+_0x1503ca+'`';}case _0x110f20[_0x3e3ca0(0x12b)]:{const _0x25ea7a=extractFilenameOption(_0x5d1553);if(!_0x25ea7a)return'capture\x20screenshot';const {name:_0x215b7c,isKeyStep:_0x1cfe0a}=_0x110f20['omMKm'](toStepDisplayName,_0x25ea7a);return _0x1cfe0a?'capture\x20key\x20step\x20`'+_0x215b7c+'`':_0x3e3ca0(0x116)+_0x215b7c+'`';}case'click':return'click\x20'+_0x110f20['IDFjh'](formatCommandTarget,_0x110f20['jzvDJ'](extractFirstCommandArgument,_0x5d1553,_0x4b3983));case _0x110f20[_0x3e3ca0(0x134)]:return _0x3e3ca0(0x165)+formatCommandTarget(_0x110f20[_0x3e3ca0(0x12e)](extractFirstCommandArgument,_0x5d1553,_0x4b3983));case'fill':return _0x3e3ca0(0x140)+_0x110f20['ArmAO'](formatCommandTarget,_0x110f20['jBHod'](extractFirstCommandArgument,_0x5d1553,_0x4b3983));case _0x110f20[_0x3e3ca0(0x15d)]:return'press\x20'+formatCommandTarget(_0x110f20[_0x3e3ca0(0x14e)](extractFirstCommandArgument,_0x5d1553,_0x4b3983));case _0x110f20['MmnhN']:return _0x110f20[_0x3e3ca0(0x172)];case _0x110f20['ZEXho']:{const _0x5eebce=_0x110f20['pJCTI'](extractFirstCommandArgument,_0x5d1553,_0x4b3983);return _0x5eebce?'open\x20new\x20tab\x20'+_0x5eebce:_0x3e3ca0(0x179);}case _0x110f20['cGatu']:{const _0x20cad4=extractFirstCommandArgument(_0x5d1553,_0x4b3983);return _0x20cad4?'select\x20tab\x20'+_0x20cad4:'select\x20tab';}default:return _0x4b3983;}}function extractPlaywrightCliToolDescription(_0x4025c8){const _0x3bb06a=_0x39eb,_0x52dfa8={'dOWrB':function(_0x399c1c,_0x52fe98){return _0x399c1c!==_0x52fe98;},'yvCWP':_0x3bb06a(0x163),'IumLB':function(_0x396eaf,_0x591003){return _0x396eaf>_0x591003;}},_0x201701=_0x4025c8[_0x3bb06a(0x110)];if(_0x52dfa8[_0x3bb06a(0x17a)](typeof _0x201701,_0x52dfa8[_0x3bb06a(0x174)]))return null;const _0x4c6432=_0x201701['trim']()[_0x3bb06a(0x170)](/\s+/g,'\x20');return _0x52dfa8['IumLB'](_0x4c6432['length'],0x0)?_0x4c6432:null;}export function formatPlaywrightCliConsoleLogMessage(_0x2f1e5b,_0x423647,_0x27c56d){const _0xf74e06=_0x39eb,_0x44596b={'NhQLb':function(_0x411c37,_0xdafcb4,_0x192f2e){return _0x411c37(_0xdafcb4,_0x192f2e);}},_0x4a1fe5=_0x44596b[_0xf74e06(0x146)](formatPlaywrightCliLog,_0x423647,_0x27c56d),_0x4e6047=extractPlaywrightCliToolDescription(_0x2f1e5b);if(!_0x4e6047)return'[playwright-cli]\x20'+_0x4a1fe5;if(process['env'][_0xf74e06(0xf8)])return _0xf74e06(0x13e)+_0x4e6047+'\x20('+_0x4a1fe5+')';return _0xf74e06(0x13e)+_0x4e6047;}export function buildVerifyFeatureCliDebugPrompt(_0x168681,_0x5c1b51){const _0x585ff5=_0x39eb,_0x6c3434={'TFCxo':'01_mozilla-homepage.png','ohLcN':_0x585ff5(0x144),'fWOcO':function(_0x193497,_0x216805){return _0x193497(_0x216805);}},_0x1f4842=buildCliArtifactPath(_0x5c1b51,'00_mozilla-homepage.yml'),_0x1fae5f=buildCliArtifactPath(_0x5c1b51,_0x6c3434[_0x585ff5(0x108)]),_0x113e2f=buildCliArtifactPath(_0x5c1b51,_0x6c3434['ohLcN']),_0x437670=buildCliArtifactPath(_0x5c1b51,_0x585ff5(0x17b)),_0x4d6fcc=quoteShellArg(_0x1f4842),_0x22aea4=quoteShellArg(_0x1fae5f),_0x3effa4=_0x6c3434[_0x585ff5(0x177)](quoteShellArg,_0x113e2f),_0x21e886=quoteShellArg(_0x437670);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x168681+_0x585ff5(0x161)+_0x168681+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x168681+_0x585ff5(0x10b)+_0x168681+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5c1b51+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x168681+'\x20snapshot\x20--filename\x20'+_0x4d6fcc+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x168681+_0x585ff5(0x16c)+_0x22aea4+_0x585ff5(0xfc)+_0x168681+_0x585ff5(0x112)+_0x3effa4+'`\x0a9.\x20Run\x20`'+_0x168681+'\x20screenshot\x20--filename\x20'+_0x21e886+_0x585ff5(0x15a);}export function buildVerifyFeatureCliPrompt(_0x16edbc){const _0x1283d1=_0x39eb,_0x326ae5={'DydsN':'en-US','BQykz':'short','Ntlxo':_0x1283d1(0x10d),'uXayv':'\x20>\x20','ZeEnT':_0x1283d1(0x143),'CWIoQ':'02_state.yml','xazGX':'01_initial-state.png','VBWYn':function(_0x422bbd,_0x1bd21b){return _0x422bbd(_0x1bd21b);},'nNlZX':function(_0x56c9b3,_0x472a3d){return _0x56c9b3(_0x472a3d);},'kTkFN':function(_0x318327,_0x211ac0){return _0x318327>_0x211ac0;},'WxRmU':function(_0x219820,_0x5c0d80){return _0x219820(_0x5c0d80);},'oinOM':function(_0xb15354,_0x330c25,_0x5256fb){return _0xb15354(_0x330c25,_0x5256fb);},'QgZXF':_0x1283d1(0x111),'iJOIM':function(_0x513cee,_0x45f3b7,_0x47c2fa){return _0x513cee(_0x45f3b7,_0x47c2fa);},'udwrQ':_0x1283d1(0x118)},{checklistItem:_0x4aef4a,itemFeedback:_0x276fef,taskDescription:_0x27dc9b,cliCommandPrefix:_0x238834,cliArtifactDir:_0x5e04ef,isCdpMode:_0x4106c6,url:_0x5b65ea,cdpEndpoint:_0x25600f,loginInstructions:_0x273a3c}=_0x16edbc,_0x3c6f9f=buildCliArtifactPath(_0x5e04ef,_0x326ae5['ZeEnT']),_0x42b36d=buildCliArtifactPath(_0x5e04ef,_0x326ae5[_0x1283d1(0x14d)]),_0x3ea6a1=buildCliArtifactPath(_0x5e04ef,'key_03_success-state.png'),_0xab449=buildCliArtifactPath(_0x5e04ef,_0x326ae5['xazGX']),_0x557fdd=quoteShellArg(_0x3c6f9f),_0x534b03=_0x326ae5[_0x1283d1(0x102)](quoteShellArg,_0x42b36d),_0x1d2dff=quoteShellArg(_0x3ea6a1),_0x4918e1=_0x326ae5['nNlZX'](quoteShellArg,_0xab449),_0x59338b=_0x4aef4a[_0x1283d1(0x169)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x4aef4a['notes']:'';let _0x1d66f4='';if(_0x276fef&&_0x326ae5['kTkFN'](_0x276fef['unaddressedComments'][_0x1283d1(0x119)],0x0)){const _0x3db395=_0x276fef['unaddressedComments']['map'](_0x50df17=>{const _0x4693dd=_0x1283d1,_0x2c1242=new Date(_0x50df17['createdAt'])['toLocaleDateString'](_0x326ae5['DydsN'],{'month':_0x326ae5['BQykz'],'day':'numeric'}),_0x55b7cc=_0x50df17[_0x4693dd(0xef)]||_0x50df17[_0x4693dd(0x127)]||_0x326ae5[_0x4693dd(0x15b)],_0x260ae7=_0x50df17[_0x4693dd(0x154)]?'\x20(on\x20element:\x20<'+(_0x50df17[_0x4693dd(0x154)][_0x4693dd(0x12a)][_0x4693dd(0x13f)](_0x326ae5['uXayv'])[_0x4693dd(0x168)]()?.['split'](':')[0x0]||_0x4693dd(0x115))+'>\x20\x22'+(_0x50df17[_0x4693dd(0x154)][_0x4693dd(0x17c)]||'')[_0x4693dd(0x130)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x50df17['id']+']\x20**'+_0x55b7cc+'**\x20('+_0x2c1242+'):\x20\x22'+_0x50df17['content']+'\x22'+_0x260ae7;})['join']('\x0a');_0x1d66f4='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a'+_0x3db395;}const _0x3efdc6=_0x276fef?.[_0x1283d1(0x14a)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x276fef['canonicalFlow']:'',_0x25bab5=_0x4106c6?_0x1283d1(0x11b)+_0x25600f+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x1283d1(0xf1)+_0x5b65ea+_0x1283d1(0x16b),_0x2f4821=_0x5b65ea?_0x326ae5['WxRmU'](quoteShellArg,_0x5b65ea):'',_0x5d1d86=_0x4106c6?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x238834+_0x1283d1(0x101)+_0x238834+'\x20tracing-start`,\x20then\x20`'+_0x238834+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5e04ef+_0x1283d1(0x11e)+_0x238834+'\x20snapshot\x20--filename\x20'+_0x557fdd+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0x238834+_0x1283d1(0x16c)+_0x4918e1+_0x1283d1(0x113)+_0x238834+_0x1283d1(0x159):_0x1283d1(0x138)+_0x238834+'\x20open\x20'+_0x2f4821+'`,\x20then\x20`'+_0x238834+_0x1283d1(0x133)+_0x238834+_0x1283d1(0x155)+_0x5e04ef+_0x1283d1(0x11e)+_0x238834+'\x20snapshot\x20--filename\x20'+_0x557fdd+_0x1283d1(0x106)+_0x238834+'\x20screenshot\x20--filename\x20'+_0x4918e1+_0x1283d1(0x15f)+_0x238834+_0x1283d1(0x136),_0x388263=_0x4106c6?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':_0x1283d1(0x10f),_0x37cd64=_0x273a3c?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x273a3c+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x1283d1(0x122)+_0x4aef4a['description']+_0x59338b+_0x1d66f4+_0x3efdc6+_0x1283d1(0x178)+_0x27dc9b+'\x0a\x0a'+_0x25bab5+_0x37cd64+'\x0a\x0a'+_0x5d1d86+_0x1283d1(0x145)+_0x238834+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x5e04ef+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x534b03+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x1d2dff+_0x1283d1(0x16d)+_0x5e04ef+_0x1283d1(0x17d)+_0xab449+_0x1283d1(0x175)+_0x326ae5[_0x1283d1(0x16f)](buildCliArtifactPath,_0x5e04ef,_0x1283d1(0xfe))+_0x1283d1(0x175)+buildCliArtifactPath(_0x5e04ef,_0x326ae5['QgZXF'])+_0x1283d1(0x12d)+_0x326ae5['iJOIM'](buildCliArtifactPath,_0x5e04ef,_0x326ae5['udwrQ'])+_0x1283d1(0x148)+_0x388263+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x16d869){const _0xff31d0=_0x39eb,_0x33bbc1=[..._0x16d869['keys']()]['sort']();let _0x4aa65a=0x0;for(const _0x516066 of _0x16d869[_0xff31d0(0x176)]()){_0x4aa65a+=_0x516066;}return{'cliCommandCount':_0x4aa65a,'cliCommandsSeen':_0x33bbc1,'noCliCommandsCalled':_0x4aa65a===0x0};}export function createVerifyFeatureCliHooks(_0x2e5364){const _0x342ca=_0x39eb,_0x578ad3={'pKbGJ':_0x342ca(0x124),'XGaUf':function(_0x5347f4,_0x25a21d){return _0x5347f4(_0x25a21d);},'mCMyk':function(_0xb70ac3,_0x1dc642){return _0xb70ac3+_0x1dc642;},'NSalO':_0x342ca(0xf7),'VIBkP':'tool_call','GKMSK':function(_0x379905,_0x1356f8){return _0x379905(_0x1356f8);},'QKQhr':function(_0x43fe45,_0x12875a){return _0x43fe45!==_0x12875a;},'eoqnS':_0x342ca(0x123),'rQHem':function(_0x282d59,_0x57c690,_0x3b8ad7,_0x30a743){return _0x282d59(_0x57c690,_0x3b8ad7,_0x30a743);},'rlsxQ':function(_0x593bb1,_0xa7a375){return _0x593bb1!==_0xa7a375;},'uXXca':_0x342ca(0x132),'ptegP':'tool_failure'},_0x395a7c=new Map(),_0x1bd6d7=async _0x16ff92=>{const _0x24cffc=_0x342ca;if(_0x16ff92[_0x24cffc(0x152)]!=='PostToolUse')return{};const _0x11b3e0=_0x16ff92;if(_0x11b3e0['tool_name']!==_0x578ad3['pKbGJ'])return{};const _0x5c1a0d=_0x11b3e0[_0x24cffc(0xf0)],_0x3b6ca1=extractBashCommand(_0x5c1a0d);if(!_0x3b6ca1)return{};const _0x55792d=_0x578ad3[_0x24cffc(0x16e)](parsePlaywrightCliCommand,_0x3b6ca1);if(!_0x55792d)return{};return _0x395a7c[_0x24cffc(0x103)](_0x55792d,_0x578ad3[_0x24cffc(0x126)](_0x395a7c['get'](_0x55792d)||0x0,0x1)),_0x2e5364[_0x24cffc(0x114)](_0x24cffc(0x11f),{'transport':_0x578ad3[_0x24cffc(0x11c)],'toolName':_0x55792d}),_0x2e5364['trackPhaseEnd'](_0x578ad3['VIBkP'],{'transport':_0x578ad3[_0x24cffc(0x11c)],'toolName':_0x55792d,'bashCommandPreview':_0x578ad3['GKMSK'](truncatePreview,_0x3b6ca1)}),_0x578ad3['QKQhr'](_0x55792d,_0x578ad3[_0x24cffc(0x147)])&&console['log'](_0x578ad3[_0x24cffc(0x160)](formatPlaywrightCliConsoleLogMessage,_0x5c1a0d,_0x3b6ca1,_0x55792d)),{};},_0x40b4fd=async _0x122ecc=>{const _0x411602=_0x342ca;if(_0x578ad3['rlsxQ'](_0x122ecc[_0x411602(0x152)],_0x578ad3['uXXca']))return{};const _0x3e548b=_0x122ecc;if(_0x578ad3['rlsxQ'](_0x3e548b['tool_name'],_0x578ad3[_0x411602(0x158)]))return{};return await _0x2e5364[_0x411602(0x13a)](_0x578ad3['ptegP'],_0x3e548b[_0x411602(0x150)],{'transport':_0x411602(0xf7),'toolName':_0x578ad3[_0x411602(0x158)]}),{};};return{'postToolUseHook':_0x1bd6d7,'postToolUseFailureHook':_0x40b4fd,'commandCounts':_0x395a7c};}async function runPlaywrightCliLifecycleCommand(_0x52eb9b){const _0x265dd0=_0x39eb,_0x4fc642={'HQGlk':function(_0x14f0c4,_0x102cec){return _0x14f0c4??_0x102cec;},'kSAGn':function(_0x5772f8,_0x3d9895,_0x3aa1ca){return _0x5772f8(_0x3d9895,_0x3aa1ca);}},{sessionId:_0x34ae0f,configPath:_0x179ba8,commandArgs:_0x3c505a,env:_0x482a92,telemetry:_0x5a4baa,phase:_0x2a8bdd,metadata:_0x318453,timeoutMs:_0x1a9438}=_0x52eb9b;_0x5a4baa[_0x265dd0(0x114)](_0x2a8bdd,_0x318453);try{const _0x18cf36=await runPlaywrightCliCommand({'sessionId':_0x34ae0f,'configPath':_0x179ba8,'commandArgs':_0x3c505a,'cwd':process['cwd'](),'env':_0x482a92,'timeoutMs':_0x4fc642[_0x265dd0(0x162)](_0x1a9438,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x5a4baa[_0x265dd0(0xff)](_0x2a8bdd,{..._0x318453,'subcommand':_0x18cf36[_0x265dd0(0x14c)][_0x265dd0(0x156)],'stdoutPreview':_0x4fc642[_0x265dd0(0xf4)](truncatePreview,_0x18cf36[_0x265dd0(0xf2)],0x7d0),'stderrPreview':truncatePreview(_0x18cf36[_0x265dd0(0x13d)],0x7d0)});}catch(_0x23ecd4){await _0x5a4baa[_0x265dd0(0x13a)](_0x2a8bdd,_0x23ecd4,_0x318453);throw _0x23ecd4;}}export async function finalizeVerifyFeatureCliSession(_0x371693){const _0x1f01c8=_0x39eb,_0x11777f={'SoziG':'tracing-stop','XpHfw':'video-stop','ZknvO':function(_0x4badb8,_0x5ac494,_0x8452b0){return _0x4badb8(_0x5ac494,_0x8452b0);},'yLKnR':_0x1f01c8(0x11a),'hpSub':_0x1f01c8(0x105),'TEvTd':'close','rgcLI':function(_0x299f01,_0x4e0d99){return _0x299f01(_0x4e0d99);}},{telemetry:_0x2688d8,sessionId:_0x587c6a,configPath:_0x5c5fac,cliArtifactDir:_0x32cff6,env:_0x245406,transportMetadata:_0x1a3afb}=_0x371693,_0x510a1b=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0x11777f[_0x1f01c8(0x167)]]},{'phase':'playwright_cli_video_stop','commandArgs':[_0x11777f['XpHfw'],'--filename='+_0x11777f['ZknvO'](buildCliArtifactPath,_0x32cff6,_0x11777f['yLKnR'])]},{'phase':_0x11777f['hpSub'],'commandArgs':[_0x11777f[_0x1f01c8(0x120)]]}];for(const _0x40f3c9 of _0x510a1b){try{await _0x11777f[_0x1f01c8(0x137)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x587c6a,'configPath':_0x5c5fac,'commandArgs':[..._0x40f3c9['commandArgs']],'env':_0x245406,'telemetry':_0x2688d8,'phase':_0x40f3c9['phase'],'metadata':_0x1a3afb});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x860fc8){const _0x155009=_0x39eb,_0x26fd1a={'HcPyt':'trace.zip','jDMTu':function(_0x79474c,_0x44e51b){return _0x79474c(_0x44e51b);}},_0x291690=[_0x26fd1a[_0x155009(0x151)],_0x155009(0xfd)];for(const _0x472585 of _0x291690){const _0x562f9b=join(_0x860fc8,_0x472585);try{return{'buffer':await _0x26fd1a['jDMTu'](readFile,_0x562f9b),'source':_0x562f9b};}catch{}}return null;}function _0x39eb(_0x495465,_0x53573b){_0x495465=_0x495465-0xef;const _0x4da6e8=_0x4da6();let _0x39eb5c=_0x4da6e8[_0x495465];return _0x39eb5c;}export async function rehomeVerifyFeatureCliArtifacts(_0x45cdc4){const _0x1a43ee=_0x39eb,_0x47dbc7={'bPFde':function(_0x1ece59,_0x40ce50,_0x3a5ce5){return _0x1ece59(_0x40ce50,_0x3a5ce5);}},{cwd:_0x6f62af,cliArtifactDir:_0x59eaa5,startTime:_0x1ffdf5}=_0x45cdc4,_0x3c2050=[];await _0x47dbc7['bPFde'](mkdir,_0x59eaa5,{'recursive':!![]});const _0xb5ce1c=await _0x47dbc7['bPFde'](readdir,_0x6f62af,{'withFileTypes':!![]});for(const _0x594007 of _0xb5ce1c){if(!_0x594007[_0x1a43ee(0x109)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x594007[_0x1a43ee(0x157)]))continue;const _0x9bfbc0=join(_0x6f62af,_0x594007['name']),_0x4ac8bc=await stat(_0x9bfbc0);if(_0x4ac8bc['mtimeMs']+0x7d0<_0x1ffdf5)continue;const _0xd63dc3=_0x47dbc7[_0x1a43ee(0x129)](buildCliArtifactPath,_0x59eaa5,_0x594007['name']);if(_0x9bfbc0===_0xd63dc3)continue;await rename(_0x9bfbc0,_0xd63dc3),_0x3c2050['push'](_0x594007[_0x1a43ee(0x157)]);}return _0x3c2050[_0x1a43ee(0x149)]();}
|
|
1
|
+
(function(_0x34cd3a,_0x13ff22){const _0x1bb155=_0x5dfd,_0xd98209=_0x34cd3a();while(!![]){try{const _0x92201c=-parseInt(_0x1bb155(0xd0))/0x1+-parseInt(_0x1bb155(0xba))/0x2+-parseInt(_0x1bb155(0x86))/0x3*(parseInt(_0x1bb155(0xa1))/0x4)+parseInt(_0x1bb155(0xf3))/0x5*(parseInt(_0x1bb155(0xdd))/0x6)+-parseInt(_0x1bb155(0xad))/0x7+-parseInt(_0x1bb155(0x8a))/0x8*(parseInt(_0x1bb155(0xc8))/0x9)+-parseInt(_0x1bb155(0xf2))/0xa*(-parseInt(_0x1bb155(0xdc))/0xb);if(_0x92201c===_0x13ff22)break;else _0xd98209['push'](_0xd98209['shift']());}catch(_0x51ad86){_0xd98209['push'](_0xd98209['shift']());}}}(_0xa6e1,0xe0b04));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';function _0xa6e1(){const _0x3234f0=['click','MNriN','length','cwd','split','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','replace','VQxIM','dNQzP','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','target','11920TrOUxL','2780605CYLreT','check','\x20snapshot\x20--filename\x20','fRZCH','\x5c$&','match','...','open\x20new\x20tab\x20','commandArgs','(?:^|\x5cs)','slice','stop\x20video\x20recording','pop','snQxp','WBuTf','tool_input','`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20','string','MaODL','EsJfT','tracing-stop','Bash','WAxtp','short','jfzyQ','CbhKt','open\x20new\x20tab','open\x20browser','PostToolUseFailure','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','3YErduY','02_learn-more.yml','playwright-cli','numeric','8YLJlAr','KGmJQ','press\x20','\x20screenshot\x20--filename\x20','tool_name','toLocaleDateString','njxeu','rwQuH','ZzzMm','LwYxC','open\x20','bbaxw','hmaRE','cSwtA','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22','GAgWg','\x20(on\x20element:\x20<','screenshot','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','wESkS','trackPhaseEnd','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','3780884MswvBP','set','FRGYL','unaddressedComments','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','select\x20tab','run\x20custom\x20Playwright\x20code','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','TGGUk','stringify','notes','hook_event_name','7917168QRAsnV','`\x0a-\x20`snapshot\x20--filename\x20','qhStw','textContent','PostToolUse','RJSbm','close','EkMPx','hNSxz','join','authorName','judHA','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','2685428vCxqZo','snapshot','log','SPSYb','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','domRef','values','selector','VGOgm','trackPhaseError','`\x0a9.\x20Run\x20`','vhtvK','02_button-clicked.png','test','14120226mDoyta','01_initial-state.png','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','yYtoS','capture\x20key\x20step\x20`','RNLuN','\x22,\x20\x22','1048421wpWHTB','video-stop','fill\x20','fill','03_result-visible.png','playwright_cli_tracing_stop','ZPqNe','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','>\x20\x22','tab-select','tool_call','capture\x20step\x20`','53933XqiMul','12JPIQKX','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','stdout','description','sort','\x20tracing-start`\x0a3.\x20Run\x20`','name','ref\x20','arrfW','\x20tracing-start`,\x20then\x20`'];_0xa6e1=function(){return _0x3234f0;};return _0xa6e1();}import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x113380,_0x3739c9=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x297aab=_0x5dfd,_0x4c7e9d={'yomIu':function(_0x2f99e0,_0x33809d){return _0x2f99e0+_0x33809d;},'VQxIM':_0x297aab(0xf9)};return _0x113380[_0x297aab(0xe9)]>_0x3739c9?_0x4c7e9d['yomIu'](_0x113380[_0x297aab(0x72)](0x0,_0x3739c9),_0x4c7e9d[_0x297aab(0xee)]):_0x113380;}function _0x5dfd(_0x3588f6,_0x541d75){_0x3588f6=_0x3588f6-0x6f;const _0xa6e171=_0xa6e1();let _0x5dfdae=_0xa6e171[_0x3588f6];return _0x5dfdae;}function buildCliArtifactPath(_0x324f9f,_0x1e832b){const _0x312c77={'ZegnF':function(_0x564df6,_0x38a6fe,_0x524e1c){return _0x564df6(_0x38a6fe,_0x524e1c);}};return _0x312c77['ZegnF'](join,_0x324f9f,_0x1e832b);}function toStepDisplayName(_0x11d412){const _0x251e62=_0x5dfd,_0x11c7a0=basename(_0x11d412)[_0x251e62(0xed)](/\.(?:png|ya?ml)$/i,'')[_0x251e62(0xed)](/^key_/i,'')[_0x251e62(0xed)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x11c7a0,'isKeyStep':/^key_/i[_0x251e62(0xc7)](basename(_0x11d412))};}function extractShellValue(_0x112a79){if(!_0x112a79)return null;return _0x112a79[0x1]??_0x112a79[0x2]??_0x112a79[0x3]??null;}function extractFilenameOption(_0x14b245){const _0x1b2908=_0x5dfd,_0x4a7e42={'RHLtC':function(_0x1d20b6,_0x5982f4){return _0x1d20b6(_0x5982f4);}};return _0x4a7e42['RHLtC'](extractShellValue,_0x14b245[_0x1b2908(0xf8)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0xfcde8f,_0xb895a1){const _0x4cd4fe=_0x5dfd,_0x3dbef5={'AgXqE':_0x4cd4fe(0xf7)},_0x1f03e5=_0xb895a1['replace'](/[.*+?^${}()|[\]\\]/g,_0x3dbef5['AgXqE']);return extractShellValue(_0xfcde8f[_0x4cd4fe(0xf8)](new RegExp(_0x4cd4fe(0x71)+_0x1f03e5+_0x4cd4fe(0xec))));}function formatCommandTarget(_0x4cf2f8){const _0x154e1e=_0x5dfd;if(!_0x4cf2f8)return _0x154e1e(0xf1);if(/^e\d+$/i['test'](_0x4cf2f8))return _0x154e1e(0xe4)+_0x4cf2f8;return JSON[_0x154e1e(0xaa)](truncatePreview(_0x4cf2f8,0x78));}function formatPlaywrightCliLog(_0x398722,_0x2ce1e2){const _0x224c9f=_0x5dfd,_0x4ee871={'wMnuc':'open','WAxtp':function(_0x3e25a1,_0x5e748e,_0x392613){return _0x3e25a1(_0x5e748e,_0x392613);},'vhtvK':'video-start','RNLuN':_0x224c9f(0xd1),'SPSYb':function(_0x54c8f8,_0x1a9f07){return _0x54c8f8(_0x1a9f07);},'IOxum':'capture\x20snapshot','RjjiT':_0x224c9f(0x9c),'judHA':'capture\x20screenshot','CpccZ':_0x224c9f(0xf4),'WBuTf':function(_0x33c349,_0x4c6e5c,_0x36aa61){return _0x33c349(_0x4c6e5c,_0x36aa61);},'DoDpR':_0x224c9f(0xd3),'EnFMG':function(_0x12ebdc,_0x34b204){return _0x12ebdc(_0x34b204);},'jfzyQ':function(_0x3dab80,_0x569bbf,_0x423d18){return _0x3dab80(_0x569bbf,_0x423d18);},'EJwje':'run-code','lSCER':_0x224c9f(0xa7),'EkMPx':'tab-new','OMWtV':function(_0x2aa850,_0x58c3f7,_0x57f060){return _0x2aa850(_0x58c3f7,_0x57f060);},'lbvCu':_0x224c9f(0x82)};switch(_0x2ce1e2){case _0x4ee871['wMnuc']:{const _0xd0ea6b=_0x4ee871[_0x224c9f(0x7e)](extractFirstCommandArgument,_0x398722,_0x2ce1e2);return _0xd0ea6b?_0x224c9f(0x94)+_0xd0ea6b:_0x224c9f(0x83);}case'tracing-start':return'start\x20tracing';case _0x224c9f(0x7c):return'stop\x20tracing';case _0x4ee871[_0x224c9f(0xc5)]:return'start\x20video\x20recording';case _0x4ee871[_0x224c9f(0xce)]:return _0x224c9f(0x73);case'snapshot':{const _0xc1802f=_0x4ee871[_0x224c9f(0xbd)](extractFilenameOption,_0x398722);if(!_0xc1802f)return _0x4ee871['IOxum'];const {name:_0x2c89f1}=toStepDisplayName(_0xc1802f);return'capture\x20snapshot\x20`'+_0x2c89f1+'`';}case _0x4ee871['RjjiT']:{const _0x1c0f9c=extractFilenameOption(_0x398722);if(!_0x1c0f9c)return _0x4ee871[_0x224c9f(0xb8)];const {name:_0x5b1ef0,isKeyStep:_0x3fdec5}=toStepDisplayName(_0x1c0f9c);return _0x3fdec5?_0x224c9f(0xcd)+_0x5b1ef0+'`':_0x224c9f(0xdb)+_0x5b1ef0+'`';}case _0x224c9f(0xe7):return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x398722,_0x2ce1e2));case _0x4ee871['CpccZ']:return'check\x20'+formatCommandTarget(_0x4ee871[_0x224c9f(0x76)](extractFirstCommandArgument,_0x398722,_0x2ce1e2));case _0x4ee871['DoDpR']:return _0x224c9f(0xd2)+_0x4ee871[_0x224c9f(0xbd)](formatCommandTarget,extractFirstCommandArgument(_0x398722,_0x2ce1e2));case'press':return _0x224c9f(0x8c)+_0x4ee871['EnFMG'](formatCommandTarget,_0x4ee871[_0x224c9f(0x80)](extractFirstCommandArgument,_0x398722,_0x2ce1e2));case _0x4ee871['EJwje']:return _0x4ee871['lSCER'];case _0x4ee871[_0x224c9f(0xb4)]:{const _0x1054a1=_0x4ee871['OMWtV'](extractFirstCommandArgument,_0x398722,_0x2ce1e2);return _0x1054a1?_0x224c9f(0x6f)+_0x1054a1:_0x4ee871['lbvCu'];}case _0x224c9f(0xd9):{const _0x31619a=_0x4ee871['WBuTf'](extractFirstCommandArgument,_0x398722,_0x2ce1e2);return _0x31619a?'select\x20tab\x20'+_0x31619a:_0x224c9f(0xa6);}default:return _0x2ce1e2;}}function extractPlaywrightCliToolDescription(_0x132f33){const _0x3b1eff=_0x5dfd,_0x16b8b8={'eZlRq':function(_0x1446b8,_0x365738){return _0x1446b8>_0x365738;}},_0x7e518d=_0x132f33[_0x3b1eff(0xe0)];if(typeof _0x7e518d!==_0x3b1eff(0x79))return null;const _0x3ae385=_0x7e518d['trim']()['replace'](/\s+/g,'\x20');return _0x16b8b8['eZlRq'](_0x3ae385[_0x3b1eff(0xe9)],0x0)?_0x3ae385:null;}export function formatPlaywrightCliConsoleLogMessage(_0x39f4a3,_0x507bf6,_0x9b6f60){const _0x3f413b=formatPlaywrightCliLog(_0x507bf6,_0x9b6f60),_0xa2b083=extractPlaywrightCliToolDescription(_0x39f4a3);if(!_0xa2b083)return'[playwright-cli]\x20'+_0x3f413b;if(process['env']['DEBUG'])return'[ranger-verification-agent]\x20'+_0xa2b083+'\x20('+_0x3f413b+')';return'[ranger-verification-agent]\x20'+_0xa2b083;}export function buildVerifyFeatureCliDebugPrompt(_0x5725d8,_0xb56983){const _0x16b603=_0x5dfd,_0x3ba1d4={'hkQCa':function(_0x6ff850,_0x54ba84,_0x2eeaa5){return _0x6ff850(_0x54ba84,_0x2eeaa5);},'arrfW':'00_mozilla-homepage.yml','FtHvM':function(_0x3bd3a2,_0x5ab828,_0x467c62){return _0x3bd3a2(_0x5ab828,_0x467c62);},'ZzzMm':'01_mozilla-homepage.png','RJSbm':function(_0x26fefe,_0x1a561f,_0x20ee05){return _0x26fefe(_0x1a561f,_0x20ee05);},'dNQzP':_0x16b603(0x87),'njxeu':'03_learn-more.png'},_0x26b4ad=_0x3ba1d4['hkQCa'](buildCliArtifactPath,_0xb56983,_0x3ba1d4[_0x16b603(0xe5)]),_0x133647=_0x3ba1d4['FtHvM'](buildCliArtifactPath,_0xb56983,_0x3ba1d4[_0x16b603(0x92)]),_0x12ac45=_0x3ba1d4[_0x16b603(0xb2)](buildCliArtifactPath,_0xb56983,_0x3ba1d4[_0x16b603(0xef)]),_0x1ead6b=buildCliArtifactPath(_0xb56983,_0x3ba1d4[_0x16b603(0x90)]),_0x3122f6=quoteShellArg(_0x26b4ad),_0x52e3b6=quoteShellArg(_0x133647),_0x36e7e1=quoteShellArg(_0x12ac45),_0x3fdfb2=quoteShellArg(_0x1ead6b);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x5725d8+'\x0a\x0a1.\x20Run\x20`'+_0x5725d8+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x5725d8+_0x16b603(0xe2)+_0x5725d8+_0x16b603(0xa8)+_0xb56983+_0x16b603(0xd7)+_0x5725d8+_0x16b603(0xf5)+_0x3122f6+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x5725d8+_0x16b603(0x8d)+_0x52e3b6+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x5725d8+'\x20snapshot\x20--filename\x20'+_0x36e7e1+_0x16b603(0xc4)+_0x5725d8+_0x16b603(0x8d)+_0x3fdfb2+_0x16b603(0xb9);}export function buildVerifyFeatureCliPrompt(_0x46e0d2){const _0x63f710=_0x5dfd,_0xa0ca1={'LwYxC':_0x63f710(0x7f),'XlgGL':'Reviewer','knlVR':'\x20>\x20','VGOgm':'element','xoycC':'01_initial.yml','MaODL':'02_state.yml','CbhKt':function(_0x4f61dc,_0xde40c9,_0xcdf510){return _0x4f61dc(_0xde40c9,_0xcdf510);},'hmaRE':_0x63f710(0xc9),'TGGUk':function(_0x2627c9,_0x5af7e8){return _0x2627c9(_0x5af7e8);},'mTFHT':function(_0x143354,_0x9d113b,_0xb68fd4){return _0x143354(_0x9d113b,_0xb68fd4);},'ILVup':function(_0x59be00,_0x1de383,_0x1861ac){return _0x59be00(_0x1de383,_0x1861ac);},'GuaRb':'key_04_success-state.png'},{checklistItem:_0x33dd3e,itemFeedback:_0x40d478,taskDescription:_0x3a95c5,cliCommandPrefix:_0x19d0aa,cliArtifactDir:_0x2bd847,isCdpMode:_0x37d055,url:_0x399df2,cdpEndpoint:_0xb80222,loginInstructions:_0x5b43ad}=_0x46e0d2,_0x7d8990=buildCliArtifactPath(_0x2bd847,_0xa0ca1['xoycC']),_0x3491fc=buildCliArtifactPath(_0x2bd847,_0xa0ca1[_0x63f710(0x7a)]),_0x493958=_0xa0ca1[_0x63f710(0x81)](buildCliArtifactPath,_0x2bd847,'key_03_success-state.png'),_0x4320fa=buildCliArtifactPath(_0x2bd847,_0xa0ca1[_0x63f710(0x96)]),_0xa9347=quoteShellArg(_0x7d8990),_0x762f9b=_0xa0ca1[_0x63f710(0xa9)](quoteShellArg,_0x3491fc),_0x3a4c51=quoteShellArg(_0x493958),_0x19f985=quoteShellArg(_0x4320fa),_0x13c581=_0x33dd3e[_0x63f710(0xab)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x33dd3e['notes']:'';let _0x321c37='';if(_0x40d478&&_0x40d478['unaddressedComments']['length']>0x0){const _0x2cf1a9=_0x40d478[_0x63f710(0xa4)]['map'](_0x504ed7=>{const _0x595345=_0x63f710,_0x416324=new Date(_0x504ed7['createdAt'])[_0x595345(0x8f)]('en-US',{'month':_0xa0ca1[_0x595345(0x93)],'day':_0x595345(0x89)}),_0x20cfaf=_0x504ed7[_0x595345(0xb7)]||_0x504ed7['authorEmail']||_0xa0ca1['XlgGL'],_0x53ac79=_0x504ed7[_0x595345(0xbf)]?_0x595345(0x9b)+(_0x504ed7[_0x595345(0xbf)][_0x595345(0xc1)][_0x595345(0xeb)](_0xa0ca1['knlVR'])[_0x595345(0x74)]()?.['split'](':')[0x0]||_0xa0ca1[_0x595345(0xc2)])+_0x595345(0xd8)+(_0x504ed7[_0x595345(0xbf)][_0x595345(0xb0)]||'')[_0x595345(0x72)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x504ed7['id']+']\x20**'+_0x20cfaf+'**\x20('+_0x416324+'):\x20\x22'+_0x504ed7['content']+'\x22'+_0x53ac79;})[_0x63f710(0xb6)]('\x0a');_0x321c37='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a'+_0x2cf1a9;}const _0x1205fe=_0x40d478?.['canonicalFlow']?_0x63f710(0x85)+_0x40d478['canonicalFlow']:'',_0x188d89=_0x37d055?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0xb80222+_0x63f710(0x9d):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x399df2+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification',_0x22c834=_0x399df2?quoteShellArg(_0x399df2):'',_0x50ca4e=_0x37d055?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x19d0aa+'\x20open`,\x20then\x20`'+_0x19d0aa+_0x63f710(0xe6)+_0x19d0aa+_0x63f710(0x98)+_0x2bd847+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x19d0aa+_0x63f710(0xf5)+_0xa9347+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0x19d0aa+_0x63f710(0x8d)+_0x19f985+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x19d0aa+_0x63f710(0xbe):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x19d0aa+'\x20open\x20'+_0x22c834+'`,\x20then\x20`'+_0x19d0aa+'\x20tracing-start`,\x20then\x20`'+_0x19d0aa+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2bd847+_0x63f710(0xcb)+_0x19d0aa+'\x20snapshot\x20--filename\x20'+_0xa9347+_0x63f710(0xa5)+_0x19d0aa+_0x63f710(0x8d)+_0x19f985+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x19d0aa+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x4a8b9d=_0x37d055?_0x63f710(0xca):_0x63f710(0xa0),_0x125295=_0x5b43ad?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x5b43ad+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x33dd3e[_0x63f710(0xe0)]+_0x13c581+_0x321c37+_0x1205fe+_0x63f710(0xde)+_0x3a95c5+'\x0a\x0a'+_0x188d89+_0x125295+'\x0a\x0a'+_0x50ca4e+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x19d0aa+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x2bd847+_0x63f710(0xae)+_0x762f9b+_0x63f710(0x78)+_0x3a4c51+_0x63f710(0xf0)+_0x2bd847+'`:\x20\x22'+_0x4320fa+_0x63f710(0xcf)+_0xa0ca1['mTFHT'](buildCliArtifactPath,_0x2bd847,_0x63f710(0xc6))+'\x22,\x20\x22'+_0xa0ca1['ILVup'](buildCliArtifactPath,_0x2bd847,_0x63f710(0xd4))+_0x63f710(0x99)+buildCliArtifactPath(_0x2bd847,_0xa0ca1['GuaRb'])+'\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a'+_0x4a8b9d+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x2fde49){const _0x5df881=_0x5dfd,_0x4caefe={'wESkS':function(_0x2b319a,_0x172d9b){return _0x2b319a===_0x172d9b;}},_0x411056=[..._0x2fde49['keys']()][_0x5df881(0xe1)]();let _0x449d89=0x0;for(const _0x5c7006 of _0x2fde49[_0x5df881(0xc0)]()){_0x449d89+=_0x5c7006;}return{'cliCommandCount':_0x449d89,'cliCommandsSeen':_0x411056,'noCliCommandsCalled':_0x4caefe[_0x5df881(0x9e)](_0x449d89,0x0)};}export function createVerifyFeatureCliHooks(_0x20b507){const _0x45a0aa=_0x5dfd,_0x4d635a={'bbaxw':function(_0x2bd623,_0x53f8c6){return _0x2bd623!==_0x53f8c6;},'FRGYL':_0x45a0aa(0x7d),'snQxp':function(_0x2905b4,_0x2fb177){return _0x2905b4(_0x2fb177);},'jNcTG':function(_0x3fc3d8,_0x22df33){return _0x3fc3d8+_0x22df33;},'GAgWg':_0x45a0aa(0xda),'yYtoS':_0x45a0aa(0x88),'nmYaQ':function(_0x5c5cb1,_0x55627d){return _0x5c5cb1(_0x55627d);},'fRZCH':function(_0x16e821,_0x250948){return _0x16e821!==_0x250948;},'XdOtM':_0x45a0aa(0xbb),'hwNKD':function(_0x275d4e,_0x2c77d5,_0x2daaac,_0x580456){return _0x275d4e(_0x2c77d5,_0x2daaac,_0x580456);},'SjUNc':'tool_failure'},_0x2de71b=new Map(),_0x165e1b=async _0x650ea7=>{const _0x50be66=_0x45a0aa;if(_0x4d635a[_0x50be66(0x95)](_0x650ea7['hook_event_name'],_0x50be66(0xb1)))return{};const _0x1f7739=_0x650ea7;if(_0x1f7739[_0x50be66(0x8e)]!==_0x4d635a[_0x50be66(0xa3)])return{};const _0xa50a3f=_0x1f7739[_0x50be66(0x77)],_0x226a3d=extractBashCommand(_0xa50a3f);if(!_0x226a3d)return{};const _0xddf0fa=_0x4d635a[_0x50be66(0x75)](parsePlaywrightCliCommand,_0x226a3d);if(!_0xddf0fa)return{};return _0x2de71b[_0x50be66(0xa2)](_0xddf0fa,_0x4d635a['jNcTG'](_0x2de71b['get'](_0xddf0fa)||0x0,0x1)),_0x20b507['trackPhaseStart'](_0x4d635a[_0x50be66(0x9a)],{'transport':_0x4d635a[_0x50be66(0xcc)],'toolName':_0xddf0fa}),_0x20b507[_0x50be66(0x9f)](_0x4d635a[_0x50be66(0x9a)],{'transport':_0x4d635a['yYtoS'],'toolName':_0xddf0fa,'bashCommandPreview':_0x4d635a['nmYaQ'](truncatePreview,_0x226a3d)}),_0x4d635a[_0x50be66(0xf6)](_0xddf0fa,_0x4d635a['XdOtM'])&&console[_0x50be66(0xbc)](_0x4d635a['hwNKD'](formatPlaywrightCliConsoleLogMessage,_0xa50a3f,_0x226a3d,_0xddf0fa)),{};},_0x7a9ec7=async _0x5bd90c=>{const _0x2ff959=_0x45a0aa;if(_0x4d635a['fRZCH'](_0x5bd90c[_0x2ff959(0xac)],_0x2ff959(0x84)))return{};const _0x448562=_0x5bd90c;if(_0x448562['tool_name']!=='Bash')return{};return await _0x20b507[_0x2ff959(0xc3)](_0x4d635a['SjUNc'],_0x448562['error'],{'transport':_0x2ff959(0x88),'toolName':_0x4d635a[_0x2ff959(0xa3)]}),{};};return{'postToolUseHook':_0x165e1b,'postToolUseFailureHook':_0x7a9ec7,'commandCounts':_0x2de71b};}async function runPlaywrightCliLifecycleCommand(_0x49eda6){const _0x22894f=_0x5dfd,_0x8edfdc={'MNriN':function(_0x26603b,_0x15ec49){return _0x26603b(_0x15ec49);},'zwdfP':function(_0x413b5c,_0x2b978d){return _0x413b5c??_0x2b978d;},'EsJfT':function(_0x209473,_0x534726,_0x12dc22){return _0x209473(_0x534726,_0x12dc22);}},{sessionId:_0x350d61,configPath:_0x4ff859,commandArgs:_0x173115,env:_0x19ac2c,telemetry:_0x6926e6,phase:_0x16bd9c,metadata:_0x4a6f0c,timeoutMs:_0x4aab8d}=_0x49eda6;_0x6926e6['trackPhaseStart'](_0x16bd9c,_0x4a6f0c);try{const _0x5f5b83=await _0x8edfdc[_0x22894f(0xe8)](runPlaywrightCliCommand,{'sessionId':_0x350d61,'configPath':_0x4ff859,'commandArgs':_0x173115,'cwd':process[_0x22894f(0xea)](),'env':_0x19ac2c,'timeoutMs':_0x8edfdc['zwdfP'](_0x4aab8d,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x6926e6[_0x22894f(0x9f)](_0x16bd9c,{..._0x4a6f0c,'subcommand':_0x5f5b83['invocation']['subcommand'],'stdoutPreview':_0x8edfdc[_0x22894f(0x7b)](truncatePreview,_0x5f5b83[_0x22894f(0xdf)],0x7d0),'stderrPreview':truncatePreview(_0x5f5b83['stderr'],0x7d0)});}catch(_0x569c92){await _0x6926e6['trackPhaseError'](_0x16bd9c,_0x569c92,_0x4a6f0c);throw _0x569c92;}}export async function finalizeVerifyFeatureCliSession(_0x3e8ffa){const _0x2acdc1=_0x5dfd,_0x2604c8={'qhStw':_0x2acdc1(0xd5),'euRux':'playwright_cli_video_stop','jFNNr':_0x2acdc1(0xd1),'BGUcU':'session-recording.webm','ZPqNe':'playwright_cli_close','nadwe':function(_0x3e7b66,_0x4214d1){return _0x3e7b66(_0x4214d1);}},{telemetry:_0x114a34,sessionId:_0x369adf,configPath:_0x295de0,cliArtifactDir:_0x1c16e8,env:_0x5cbc1e,transportMetadata:_0x190ffc}=_0x3e8ffa,_0x3340ed=[{'phase':_0x2604c8[_0x2acdc1(0xaf)],'commandArgs':[_0x2acdc1(0x7c)]},{'phase':_0x2604c8['euRux'],'commandArgs':[_0x2604c8['jFNNr'],'--filename='+buildCliArtifactPath(_0x1c16e8,_0x2604c8['BGUcU'])]},{'phase':_0x2604c8[_0x2acdc1(0xd6)],'commandArgs':[_0x2acdc1(0xb3)]}];for(const _0x5d57b9 of _0x3340ed){try{await _0x2604c8['nadwe'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x369adf,'configPath':_0x295de0,'commandArgs':[..._0x5d57b9[_0x2acdc1(0x70)]],'env':_0x5cbc1e,'telemetry':_0x114a34,'phase':_0x5d57b9['phase'],'metadata':_0x190ffc});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0xfe28c7){const _0x35494b=_0x5dfd,_0x1c175b={'cSwtA':'trace.zip','hNSxz':function(_0x14cc35,_0x5a11bd,_0x53ce29){return _0x14cc35(_0x5a11bd,_0x53ce29);}},_0x1a3e7a=[_0x1c175b[_0x35494b(0x97)],'trace.trace.zip'];for(const _0x39a80e of _0x1a3e7a){const _0x94ceb0=_0x1c175b[_0x35494b(0xb5)](join,_0xfe28c7,_0x39a80e);try{return{'buffer':await readFile(_0x94ceb0),'source':_0x94ceb0};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x5a16b6){const _0x2c80c3=_0x5dfd,_0x5d102c={'KGmJQ':function(_0x23550f,_0x149fc0,_0x1e4192){return _0x23550f(_0x149fc0,_0x1e4192);},'uTlec':function(_0x560574,_0x5f4b28){return _0x560574(_0x5f4b28);},'rwQuH':function(_0x5abca3,_0x4a39bc){return _0x5abca3+_0x4a39bc;}},{cwd:_0x522f75,cliArtifactDir:_0x108d10,startTime:_0x40643f}=_0x5a16b6,_0x6ae494=[];await mkdir(_0x108d10,{'recursive':!![]});const _0x2e14b2=await _0x5d102c[_0x2c80c3(0x8b)](readdir,_0x522f75,{'withFileTypes':!![]});for(const _0x3f23b0 of _0x2e14b2){if(!_0x3f23b0['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x3f23b0[_0x2c80c3(0xe3)]))continue;const _0x12fd44=_0x5d102c[_0x2c80c3(0x8b)](join,_0x522f75,_0x3f23b0[_0x2c80c3(0xe3)]),_0x264b0d=await _0x5d102c['uTlec'](stat,_0x12fd44);if(_0x5d102c[_0x2c80c3(0x91)](_0x264b0d['mtimeMs'],0x7d0)<_0x40643f)continue;const _0x35db9c=buildCliArtifactPath(_0x108d10,_0x3f23b0['name']);if(_0x12fd44===_0x35db9c)continue;await _0x5d102c['KGmJQ'](rename,_0x12fd44,_0x35db9c),_0x6ae494['push'](_0x3f23b0[_0x2c80c3(0xe3)]);}return _0x6ae494['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2b57a8=_0x8e0a;(function(_0xea0e42,_0x252315){const _0x2a7e89=_0x8e0a,_0x569e73=_0xea0e42();while(!![]){try{const _0xcf1ad6=-parseInt(_0x2a7e89(0x1e6))/0x1+parseInt(_0x2a7e89(0x27b))/0x2+parseInt(_0x2a7e89(0x28c))/0x3+parseInt(_0x2a7e89(0x22c))/0x4+-parseInt(_0x2a7e89(0x207))/0x5+parseInt(_0x2a7e89(0x27a))/0x6*(-parseInt(_0x2a7e89(0x237))/0x7)+parseInt(_0x2a7e89(0x210))/0x8*(parseInt(_0x2a7e89(0x1e2))/0x9);if(_0xcf1ad6===_0x252315)break;else _0x569e73['push'](_0x569e73['shift']());}catch(_0x43ade5){_0x569e73['push'](_0x569e73['shift']());}}}(_0x2fd1,0xa1336));import{execFile}from'child_process';function _0x8e0a(_0x3acda2,_0x3d61fd){_0x3acda2=_0x3acda2-0x1d8;const _0x2fd1d3=_0x2fd1();let _0x8e0a88=_0x2fd1d3[_0x3acda2];return _0x8e0a88;}import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create',_0x2b57a8(0x29f),_0x2b57a8(0x1e9),'ask',_0x2b57a8(0x297),_0x2b57a8(0x1f7),_0x2b57a8(0x21b),'screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x22f4ad,_0x1a56bc){return join(_0x22f4ad,_0x1a56bc);}export class NovaActArtifactRecorder{['params'];[_0x2b57a8(0x1ea)]=null;[_0x2b57a8(0x257)]=null;['frameSession']=null;['frameWrites']=[];[_0x2b57a8(0x283)]=0x0;[_0x2b57a8(0x26c)]=0x0;[_0x2b57a8(0x288)]=null;[_0x2b57a8(0x22f)]=null;['tracingStarted']=![];['screencastStarted']=![];['startAttempted']=![];[_0x2b57a8(0x250)]=![];constructor(_0x4a87d5){const _0x709768=_0x2b57a8;this[_0x709768(0x270)]=_0x4a87d5;}async['start'](){const _0x9a22ee=_0x2b57a8,_0x4a53b9={'fXmUp':function(_0x34af44,_0x2a09b8,_0xc119a3){return _0x34af44(_0x2a09b8,_0xc119a3);},'qrvZh':_0x9a22ee(0x275)};if(this[_0x9a22ee(0x1e3)])return;this['startAttempted']=!![];const _0x655aaf=await this['readSessionMetadataWithRetry'](),_0x37d9f2=_0x655aaf[_0x9a22ee(0x1ff)];if(!_0x37d9f2)throw new Error(_0x9a22ee(0x1e0)+this['params']['novaOptions']['sessionId']);await _0x4a53b9[_0x9a22ee(0x1d8)](mkdir,this[_0x9a22ee(0x270)][_0x9a22ee(0x214)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x37d9f2,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x9a22ee(0x216)]()[0x0]??null;if(!this[_0x9a22ee(0x257)])throw new Error(_0x4a53b9[_0x9a22ee(0x279)]);await this[_0x9a22ee(0x257)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this[_0x9a22ee(0x1f4)](),this['params']['telemetry']['trackPhaseStart']('nova_act_artifact_recording',{...this['params'][_0x9a22ee(0x25f)],'cdpEndpoint':_0x37d9f2,'browserPid':_0x655aaf[_0x9a22ee(0x24f)],'sessionState':_0x655aaf['state']}),this['params']['telemetry'][_0x9a22ee(0x296)](_0x9a22ee(0x1fe),{...this[_0x9a22ee(0x270)][_0x9a22ee(0x25f)],'tracingStarted':this[_0x9a22ee(0x20b)],'screencastStarted':this[_0x9a22ee(0x211)]});}async[_0x2b57a8(0x1f0)](){const _0x59bb77=_0x2b57a8,_0x100765={'dYMdn':'nova_act_artifact_recording_stop'};if(this[_0x59bb77(0x250)])return;this['stopped']=!![];const _0x395e67={...this[_0x59bb77(0x270)][_0x59bb77(0x25f)],'frameCount':this['frameCount'],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x59bb77(0x211)]};this[_0x59bb77(0x270)][_0x59bb77(0x28a)]['trackPhaseStart'](_0x59bb77(0x255),_0x395e67);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this[_0x59bb77(0x29b)](),await Promise[_0x59bb77(0x23c)](this['frameWrites']);this['context']&&this[_0x59bb77(0x20b)]&&await this['context'][_0x59bb77(0x247)]['stop']({'path':buildCliArtifactPath(this[_0x59bb77(0x270)]['cliArtifactDir'],_0x59bb77(0x285))});const _0xeac0b8=await this[_0x59bb77(0x21f)]();this['params'][_0x59bb77(0x28a)]['trackPhaseEnd'](_0x100765[_0x59bb77(0x225)],{..._0x395e67,'videoPath':_0xeac0b8});}catch(_0x16da59){await this['params'][_0x59bb77(0x28a)]['trackPhaseError'](_0x100765[_0x59bb77(0x225)],_0x16da59,_0x395e67);}finally{await this['browser']?.[_0x59bb77(0x23d)]()['catch'](()=>undefined),this[_0x59bb77(0x1ea)]=null,this[_0x59bb77(0x257)]=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x277437=_0x2b57a8,_0x2c7dd6={'dtBNZ':function(_0x4787a8,_0x41a7a0,_0x5c2d2e,_0x4513ab,_0x3408d2,_0x2eeac7){return _0x4787a8(_0x41a7a0,_0x5c2d2e,_0x4513ab,_0x3408d2,_0x2eeac7);},'AWCdn':'.act_cli','VJwDR':_0x277437(0x1ea),'ZfxnN':_0x277437(0x21c),'kTNnS':function(_0x3dab0b,_0x1f9dc2,_0x2659a5){return _0x3dab0b(_0x1f9dc2,_0x2659a5);},'hBtKd':function(_0x5cdb26,_0x56ff51){return _0x5cdb26 instanceof _0x56ff51;}},_0x4f783f=_0x2c7dd6[_0x277437(0x28b)](join,homedir(),_0x2c7dd6[_0x277437(0x287)],_0x2c7dd6['VJwDR'],_0x2c7dd6[_0x277437(0x2a4)],this[_0x277437(0x270)][_0x277437(0x204)]['sessionId']+_0x277437(0x281)),_0x4f4bf3=Date[_0x277437(0x1f5)]();let _0x83bf36;do{try{const _0x34d25d=JSON[_0x277437(0x22d)](await _0x2c7dd6['kTNnS'](readFile,_0x4f783f,'utf-8'));if(_0x34d25d[_0x277437(0x1ff)])return _0x34d25d;_0x83bf36=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x4f783f);}catch(_0x57445d){_0x83bf36=_0x57445d;}await delay(0x64);}while(Date[_0x277437(0x1f5)]()-_0x4f4bf3<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x2c7dd6['hBtKd'](_0x83bf36,Error))throw _0x83bf36;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x4f783f);}async[_0x2b57a8(0x1f4)](){const _0x3325b4=_0x2b57a8,_0xbe1533={'WMQWP':function(_0xc137e1,_0x2dc0a8,_0x488949){return _0xc137e1(_0x2dc0a8,_0x488949);},'EnIlg':function(_0x354bec,_0x105213){return _0x354bec(_0x105213);},'gcPXt':'base64','jjYoH':'Page.startScreencast'};if(!this['context'])return;const _0xa36525=this[_0x3325b4(0x257)][_0x3325b4(0x249)]()[0x0];if(!_0xa36525)return;const _0x3ea741=this['getFrameDir']();await mkdir(_0x3ea741,{'recursive':!![]});const _0x3539a2=await this[_0x3325b4(0x257)]['newCDPSession'](_0xa36525);this[_0x3325b4(0x224)]=_0x3539a2,_0x3539a2['on'](_0x3325b4(0x26e),_0x38f791=>{const _0x432dd6=_0x3325b4,_0x5da9f5=++this['frameCount'],_0x4ac9da=_0xbe1533['WMQWP'](join,_0x3ea741,'frame-'+_0xbe1533['EnIlg'](String,_0x5da9f5)['padStart'](0x6,'0')+'.jpg'),_0x116eaa=writeFile(_0x4ac9da,Buffer['from'](_0x38f791[_0x432dd6(0x239)],_0xbe1533['gcPXt']))[_0x432dd6(0x256)](()=>undefined)['finally'](()=>_0x3539a2['send']('Page.screencastFrameAck',{'sessionId':_0x38f791[_0x432dd6(0x209)]}))['then'](()=>undefined)[_0x432dd6(0x256)](()=>undefined);this[_0x432dd6(0x22b)]['push'](_0x116eaa);}),await _0x3539a2[_0x3325b4(0x27f)](_0xbe1533['jjYoH'],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x5f267e=_0x2b57a8,_0x127ab0={'mgNOx':'Page.stopScreencast'};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x5f267e(0x224)]['send'](_0x127ab0['mgNOx'])[_0x5f267e(0x256)](()=>undefined);}['startTraceSampling'](){const _0x32808d=_0x2b57a8,_0x4f498f={'TXXee':function(_0x276586,_0xbbe994,_0x5de7a7){return _0x276586(_0xbbe994,_0x5de7a7);}};this['queueTraceSample'](),this['traceSampleTimer']=_0x4f498f[_0x32808d(0x235)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x2b57a8(0x20a)](){const _0x11f1a5=_0x2b57a8;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this[_0x11f1a5(0x217)]()[_0x11f1a5(0x1eb)](()=>{this['traceSampleInFlight']=null;});}async[_0x2b57a8(0x200)](){const _0x16eb27=_0x2b57a8;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.[_0x16eb27(0x256)](()=>undefined);}async['captureTraceSample'](){const _0x4371eb=_0x2b57a8,_0x16c4f2=this[_0x4371eb(0x257)]?.[_0x4371eb(0x249)]()[0x0];if(!_0x16c4f2)return;try{await _0x16c4f2[_0x4371eb(0x28f)]('body')[_0x4371eb(0x231)](_0x5a7c8e=>_0x5a7c8e['tagName'],undefined,{'timeout':0x3e8}),this[_0x4371eb(0x26c)]++;}catch{}}async[_0x2b57a8(0x21f)](){const _0x11818c=_0x2b57a8,_0xb7e919={'QioFW':function(_0x5404e0){return _0x5404e0();},'oaNge':function(_0x4b5ade,_0x875db5,_0x12c116){return _0x4b5ade(_0x875db5,_0x12c116);},'WKjSW':'videos','cgRUL':function(_0x24b2c6,_0x507fcd,_0x3e90e3){return _0x24b2c6(_0x507fcd,_0x3e90e3);},'YnbJg':function(_0x23aed1,_0x2a3476,_0x3b257a){return _0x23aed1(_0x2a3476,_0x3b257a);},'msIPX':_0x11818c(0x219),'UpXIk':'error','JLbsh':'frame-%06d.jpg','OcabU':'scale=trunc(iw/2)*2:trunc(ih/2)*2','JlTIS':_0x11818c(0x206)};if(this['frameCount']<0x2)return null;const _0x741893=await _0xb7e919['QioFW'](resolveFfmpegPath);if(!_0x741893)return null;const _0x4cd024=_0xb7e919[_0x11818c(0x24e)](join,this[_0x11818c(0x270)][_0x11818c(0x214)],_0xb7e919['WKjSW']);await _0xb7e919[_0x11818c(0x260)](mkdir,_0x4cd024,{'recursive':!![]});const _0x5003b2=_0xb7e919['YnbJg'](join,_0x4cd024,_0xb7e919['msIPX']);return await _0xb7e919['oaNge'](execFileAsync,_0x741893,['-y',_0x11818c(0x295),_0x11818c(0x25c),_0xb7e919[_0x11818c(0x261)],_0x11818c(0x244),'10','-i',_0xb7e919[_0x11818c(0x260)](join,this[_0x11818c(0x1e1)](),_0xb7e919['JLbsh']),'-vf',_0xb7e919['OcabU'],'-c:v',_0xb7e919['JlTIS'],_0x11818c(0x246),'yuv420p',_0x5003b2]),_0x5003b2;}[_0x2b57a8(0x1e1)](){const _0x32dcac=_0x2b57a8,_0x2e4a83={'gLZOd':function(_0x2c9f9e,_0x650b8d,_0x58d72e){return _0x2c9f9e(_0x650b8d,_0x58d72e);},'gXXGr':'nova-video-frames'};return _0x2e4a83['gLZOd'](join,this['params'][_0x32dcac(0x214)],_0x2e4a83['gXXGr']);}}async function delay(_0x2ccb5a){await new Promise(_0x5f379d=>setTimeout(_0x5f379d,_0x2ccb5a));}async function resolveFfmpegPath(){const _0x5bb83c=_0x2b57a8,_0x42c5b9={'dexMp':function(_0xf9e365,_0x48debf){return _0xf9e365(_0x48debf);},'qoFKi':'ffmpeg','rbAKD':function(_0x14dc49,_0x4d9a14,_0x5ae883,_0x3e1712,_0x28178e){return _0x14dc49(_0x4d9a14,_0x5ae883,_0x3e1712,_0x28178e);},'svKdx':'Library','RADHA':'Caches','rFveV':_0x5bb83c(0x24b)};if(await _0x42c5b9['dexMp'](canRunFfmpeg,_0x5bb83c(0x2a3)))return _0x42c5b9['qoFKi'];const _0x50ead1=[_0x42c5b9[_0x5bb83c(0x215)](join,homedir(),_0x42c5b9['svKdx'],_0x42c5b9[_0x5bb83c(0x1df)],_0x42c5b9[_0x5bb83c(0x28d)]),join(homedir(),_0x5bb83c(0x23b),_0x42c5b9[_0x5bb83c(0x28d)])];for(const _0x42f3b0 of _0x50ead1){try{const _0x16da10=await _0x42c5b9['dexMp'](readdir,_0x42f3b0),_0x1a5c2e=_0x16da10['filter'](_0x6b889e=>_0x6b889e['startsWith']('ffmpeg-'))['sort']()['reverse']()[_0x5bb83c(0x1f2)](_0x8fadb9=>[join(_0x42f3b0,_0x8fadb9,'ffmpeg-mac'),join(_0x42f3b0,_0x8fadb9,_0x5bb83c(0x25d)),join(_0x42f3b0,_0x8fadb9,'ffmpeg.exe')]);for(const _0x485a76 of _0x1a5c2e){if(await canRunFfmpeg(_0x485a76))return _0x485a76;}}catch{}}return null;}async function canRunFfmpeg(_0x180570){const _0x50986a=_0x2b57a8,_0x4f48aa={'Wuizl':function(_0x57f2c8,_0x4545bf,_0x58fa73){return _0x57f2c8(_0x4545bf,_0x58fa73);},'OyKxA':'-version'};try{return await _0x4f48aa['Wuizl'](execFileAsync,_0x180570,[_0x4f48aa[_0x50986a(0x2a5)]]),!![];}catch{return![];}}function toStepDisplayName(_0x46531c){const _0x5ae731=_0x2b57a8,_0x12d6cc={'fGiIn':function(_0x3ced8d,_0x1d1dd9){return _0x3ced8d(_0x1d1dd9);}},_0x17e0c5=_0x12d6cc[_0x5ae731(0x1e7)](basename,_0x46531c)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x5ae731(0x1e4)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x17e0c5,'isKeyStep':/^key_/i['test'](_0x12d6cc['fGiIn'](basename,_0x46531c))};}function extractShellValue(_0x2ed629){if(!_0x2ed629)return null;return _0x2ed629[0x1]??_0x2ed629[0x2]??_0x2ed629[0x3]??null;}function extractOutputOption(_0x9e5b59){const _0x60b3c3=_0x2b57a8,_0x43e57f={'SoxFF':function(_0x237f1f,_0x410dfa){return _0x237f1f(_0x410dfa);}};return _0x43e57f[_0x60b3c3(0x243)](extractShellValue,_0x9e5b59['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x52fb17,_0x13bf18){const _0x32208c=_0x2b57a8,_0x42c6d9={'iZmXf':'verify\x20page\x20condition','pzrqd':_0x32208c(0x227),'QMNsh':'ask\x20page\x20question','wHpre':'goto','oUCni':'navigate\x20browser','qEtkc':'wait-for','qzGsa':_0x32208c(0x268),'FttSm':function(_0x4419d3,_0x1638bf){return _0x4419d3(_0x1638bf);},'bBDha':'capture\x20snapshot'};switch(_0x13bf18){case _0x32208c(0x25e):return _0x32208c(0x242);case _0x32208c(0x29f):return'execute\x20Nova\x20browser\x20action';case _0x32208c(0x1e9):return _0x42c6d9['iZmXf'];case _0x42c6d9[_0x32208c(0x276)]:return _0x42c6d9[_0x32208c(0x21d)];case _0x42c6d9['wHpre']:return _0x42c6d9['oUCni'];case _0x42c6d9['qEtkc']:return _0x42c6d9['qzGsa'];case'snapshot':{const _0x6ef5c4=_0x42c6d9['FttSm'](extractOutputOption,_0x52fb17);if(!_0x6ef5c4)return _0x42c6d9['bBDha'];const {name:_0x2365f0}=toStepDisplayName(_0x6ef5c4);return _0x32208c(0x274)+_0x2365f0+'`';}case'screenshot':{const _0x3ccf5b=extractOutputOption(_0x52fb17);if(!_0x3ccf5b)return _0x32208c(0x26a);const {name:_0x44045a,isKeyStep:_0x15061e}=toStepDisplayName(_0x3ccf5b);return _0x15061e?_0x32208c(0x233)+_0x44045a+'`':_0x32208c(0x254)+_0x44045a+'`';}case _0x32208c(0x245):return'export\x20Nova\x20session';default:return _0x13bf18;}}function getNovaActCliCommandBlockReason(_0xa5fdf7){const _0x587379=_0x2b57a8,_0x2685e6={'QLBtd':_0x587379(0x1e9)},_0x605676=parseNovaActCliCommand(_0xa5fdf7);if(!_0x605676)return _0x587379(0x226);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x605676))return _0x587379(0x265)+_0x605676+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x605676===_0x2685e6[_0x587379(0x253)]&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0xa5fdf7))return'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.';if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x587379(0x26b)](_0xa5fdf7))return _0x587379(0x263);return null;}function buildFeedbackSection(_0x50cd5e){const _0x5ee4bc=_0x2b57a8,_0x6b111e={'bMiOb':_0x5ee4bc(0x23a),'OzBJM':_0x5ee4bc(0x208),'TaTtd':_0x5ee4bc(0x25a),'CgpJJ':function(_0x35e617,_0x416d69){return _0x35e617===_0x416d69;}};if(!_0x50cd5e||_0x6b111e[_0x5ee4bc(0x1fb)](_0x50cd5e['unaddressedComments']['length'],0x0))return'';const _0x3a1105=_0x50cd5e['unaddressedComments']['map'](_0xe9e910=>{const _0x207c9f=_0x5ee4bc,_0x332582=new Date(_0xe9e910['createdAt'])['toLocaleDateString'](_0x6b111e['bMiOb'],{'month':'short','day':_0x207c9f(0x232)}),_0x5c37fd=_0xe9e910[_0x207c9f(0x1dd)]||_0xe9e910[_0x207c9f(0x291)]||_0x6b111e['OzBJM'],_0x2683b7=_0xe9e910['domRef']?_0x207c9f(0x21a)+(_0xe9e910[_0x207c9f(0x20c)][_0x207c9f(0x22a)][_0x207c9f(0x238)](_0x6b111e['TaTtd'])['pop']()?.['split'](':')[0x0]||_0x207c9f(0x27e))+_0x207c9f(0x1ec)+(_0xe9e910[_0x207c9f(0x20c)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0xe9e910['id']+_0x207c9f(0x241)+_0x5c37fd+_0x207c9f(0x1ef)+_0x332582+_0x207c9f(0x240)+_0xe9e910[_0x207c9f(0x24c)]+'\x22'+_0x2683b7;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x3a1105;}function _0x2fd1(){const _0x5e6a92=['execute','final-state.yaml','JwWzV','WQApH','ffmpeg','ZfxnN','OyKxA','fXmUp','hook_event_name','Bash','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','start','authorName','--output','RADHA','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','getFrameDir','81XwHYcU','startAttempted','replace','tJOUq','1051836MDksJf','fGiIn','GwTDV','verify','browser','finally','>\x20\x22','error','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','**\x20(','stop','commandArgs','flatMap','IhXnw','startScreencast','now','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','wait-for','fQAhi','nova-act-cli','eVSxT','CgpJJ','set','01_initial-state.png','nova_act_artifact_recording','cdp_endpoint','stopTraceSampling','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','args','phase','novaOptions','stdout','libvpx-vp9','6378800vuaSuJ','Reviewer','sessionId','queueTraceSample','tracingStarted','domRef','shellCommand','jhcid','zdKWM','1868464VAjjYa','screencastStarted','rHXsX','trackPhaseError','cliArtifactDir','rbAKD','contexts','captureTraceSample','subcommand','session-recording.webm','\x20(on\x20element:\x20<','snapshot','sessions','QMNsh','mtimeMs','encodeScreencastVideo','NQlXD','zip','screenshot','-qr','frameSession','dYMdn','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','ask','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','selector','frameWrites','4057712CNKYFq','parse','sort','traceSampleInFlight','block','evaluate','numeric','capture\x20key\x20step\x20`','The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.','TXXee','zfjDY','1564822JrrEPk','split','data','en-US','.cache','allSettled','close','session','export','):\x20\x22',']\x20**','create\x20Nova\x20browser\x20session','SoxFF','-framerate','session\x20export','-pix_fmt','tracing','`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','pages','qxLde','ms-playwright','content','\x20screenshot\x20--output\x20','oaNge','browser_pid','stopped','nova-report','\x20session\x20create\x20','QLBtd','capture\x20step\x20`','nova_act_artifact_recording_stop','catch','context','PostToolUseFailure','--output-dir','\x20>\x20','01_initial.yml','-loglevel','ffmpeg-linux','session\x20create','transportMetadata','cgRUL','UpXIk','`\x0a-\x20`','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','nova-user-data/*','Nova\x20command\x20`','canonicalFlow','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','wait\x20for\x20page\x20condition','cwd','capture\x20screenshot','test','traceSampleCount','name','Page.screencastFrame','push','params','You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','qCIAV','hzdAo','capture\x20snapshot\x20`','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','pzrqd','tool_input','--format','qrvZh','24QZiiPM','164200dcXubI','aczuj','TfCND','element','send','notes','.json','`\x0a6.\x20Run\x20`','frameCount','log','trace.zip','stderr','AWCdn','traceSampleTimer','trim','telemetry','dtBNZ','2050524ePShVJ','rFveV','lIhwx','locator','invocation','authorEmail','trackPhaseStart','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','command','-hide_banner','trackPhaseEnd','goto','00_initial-state.yml','IWoKl','nova_act_session_close','stopScreencast','fGfCN','Xwrcr','UgTyL'];_0x2fd1=function(){return _0x5e6a92;};return _0x2fd1();}function buildNovaSharedOptionsInstruction(_0x31d6c8){const _0x5712fa=_0x2b57a8;if(!_0x31d6c8[_0x5712fa(0x289)]())return _0x5712fa(0x234);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x31d6c8;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x5c415d){const _0x1ce952=_0x2b57a8,_0x5e736c={'Xwrcr':_0x1ce952(0x298),'BIkEb':function(_0x28d6f3,_0x3e0ec7,_0x3aa177){return _0x28d6f3(_0x3e0ec7,_0x3aa177);},'NQlXD':function(_0x55e81c,_0x5435aa,_0x27c6ad){return _0x55e81c(_0x5435aa,_0x27c6ad);},'hzdAo':'02_final-state.yml','aczuj':'03_final-state.png','fGfCN':function(_0x4b10a4,_0x15bc7b){return _0x4b10a4(_0x15bc7b);}},{novaCommandPrefix:_0x53bb50,novaSharedOptionsSuffix:_0x3a06d1,cliArtifactDir:_0x175ec0,url:_0x26d1e4}=_0x5c415d,_0x28a5d6=buildCliArtifactPath(_0x175ec0,_0x5e736c[_0x1ce952(0x29d)]),_0x3a905d=_0x5e736c['BIkEb'](buildCliArtifactPath,_0x175ec0,_0x1ce952(0x1fd)),_0x714f54=_0x5e736c['NQlXD'](buildCliArtifactPath,_0x175ec0,_0x5e736c[_0x1ce952(0x273)]),_0x49f28e=_0x5e736c[_0x1ce952(0x220)](buildCliArtifactPath,_0x175ec0,_0x5e736c[_0x1ce952(0x27c)]);return _0x1ce952(0x271)+_0x53bb50+'\x0a\x0a'+_0x5e736c['fGfCN'](buildNovaSharedOptionsInstruction,_0x3a06d1)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x53bb50+_0x1ce952(0x252)+quoteShellArg(_0x26d1e4)+'\x20'+_0x3a06d1+'`\x0a2.\x20Run\x20`'+_0x53bb50+'\x20snapshot\x20--output\x20'+_0x5e736c[_0x1ce952(0x29c)](quoteShellArg,_0x28a5d6)+'\x20'+_0x3a06d1+'`\x0a3.\x20Run\x20`'+_0x53bb50+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3a905d)+'\x20'+_0x3a06d1+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x53bb50+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x53bb50+'\x20snapshot\x20--output\x20'+_0x5e736c[_0x1ce952(0x29c)](quoteShellArg,_0x714f54)+'\x20'+_0x3a06d1+_0x1ce952(0x282)+_0x53bb50+'\x20screenshot\x20--output\x20'+_0x5e736c[_0x1ce952(0x29c)](quoteShellArg,_0x49f28e)+'\x20'+_0x3a06d1+_0x1ce952(0x201)+_0x175ec0+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x1a0d73){const _0x51aa68=_0x2b57a8,_0x516f32={'JwWzV':function(_0x1e55b1,_0x19047c,_0x1af95c){return _0x1e55b1(_0x19047c,_0x1af95c);},'fQAhi':_0x51aa68(0x25b),'IYYgU':'01_initial-state.png','bgTNe':'key_03_success-state.png','GwTDV':function(_0x3995be,_0x170353){return _0x3995be(_0x170353);},'TEbem':function(_0x209713,_0x561733){return _0x209713(_0x561733);}},{checklistItem:_0x347901,itemFeedback:_0x1d00f1,taskDescription:_0x5a0fd1,novaCommandPrefix:_0x2eed44,novaSharedOptionsSuffix:_0x514b00,cliArtifactDir:_0x21e0b4,url:_0x5736d6,loginInstructions:_0x42248f}=_0x1a0d73,_0x1aa7d8=_0x347901[_0x51aa68(0x280)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x347901[_0x51aa68(0x280)]:'',_0x23b575=buildFeedbackSection(_0x1d00f1),_0x5200ff=_0x1d00f1?.[_0x51aa68(0x266)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1d00f1[_0x51aa68(0x266)]:'',_0x2e4308=_0x42248f?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x42248f+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x5d9bd8=_0x516f32[_0x51aa68(0x2a1)](buildCliArtifactPath,_0x21e0b4,_0x516f32[_0x51aa68(0x1f8)]),_0x35ae38=buildCliArtifactPath(_0x21e0b4,_0x516f32['IYYgU']),_0x70cb5=buildCliArtifactPath(_0x21e0b4,_0x516f32['bgTNe']);return _0x51aa68(0x293)+_0x347901['description']+_0x1aa7d8+_0x23b575+_0x5200ff+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x5a0fd1+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x5736d6+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a'+_0x2e4308+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x2eed44+'\x20session\x20create\x20'+_0x516f32[_0x51aa68(0x1e8)](quoteShellArg,_0x5736d6)+'\x20'+_0x514b00+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x21e0b4+_0x51aa68(0x1f6)+_0x2eed44+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5d9bd8)+'\x20'+_0x514b00+_0x51aa68(0x267)+_0x2eed44+_0x51aa68(0x24d)+_0x516f32['TEbem'](quoteShellArg,_0x35ae38)+'\x20'+_0x514b00+'`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`'+_0x70cb5+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0x2eed44+_0x51aa68(0x228)+(_0x514b00['trim']()?'`'+_0x514b00+'`':_0x51aa68(0x1ee))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x514b00)+'\x0a\x0aExamples:\x0a-\x20`'+_0x2eed44+_0x51aa68(0x1db)+_0x514b00+'`\x0a-\x20`'+_0x2eed44+_0x51aa68(0x229)+_0x514b00+_0x51aa68(0x262)+_0x2eed44+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5d9bd8)+'\x20'+_0x514b00+_0x51aa68(0x262)+_0x2eed44+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x70cb5)+'\x20'+_0x514b00+_0x51aa68(0x248);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x26dcc3){const _0x11296f=_0x2b57a8,_0x4417b3={'rHXsX':function(_0x14bb72,_0xe72840){return _0x14bb72===_0xe72840;}},_0x160fc2=[..._0x26dcc3['keys']()]['sort']();let _0x56a558=0x0;for(const _0x10d962 of _0x26dcc3['values']()){_0x56a558+=_0x10d962;}return{'cliCommandCount':_0x56a558,'cliCommandsSeen':_0x160fc2,'noCliCommandsCalled':_0x4417b3[_0x11296f(0x212)](_0x56a558,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x29188b,_0xfedf2){const _0x22cdcb=_0x2b57a8,_0x3c23b5={'zkknN':function(_0x5ef035,_0x1aa061){return _0x5ef035!==_0x1aa061;},'CIgBu':function(_0x358dd1,_0x566d04){return _0x358dd1(_0x566d04);},'xZWIK':'PostToolUse','RVPIN':function(_0x51f01c,_0x21ac33){return _0x51f01c!==_0x21ac33;},'zfjDY':function(_0x577089,_0x3ed470){return _0x577089(_0x3ed470);},'qxLde':function(_0x4061a7,_0x147bfa){return _0x4061a7===_0x147bfa;},'mAzYJ':_0x22cdcb(0x1f9)},_0x167843=new Map(),_0x4aefa9=async _0x40010e=>{const _0x410ef3=_0x22cdcb;if(_0x3c23b5['zkknN'](_0x40010e['hook_event_name'],'PreToolUse'))return{};const _0x19705b=_0x40010e;if(_0x19705b['tool_name']!=='Bash')return{};const _0x4606dd=_0x19705b[_0x410ef3(0x277)],_0x301ed8=_0x3c23b5['CIgBu'](extractBashCommand,_0x4606dd);if(!_0x301ed8)return{};const _0x3fddf1=getNovaActCliCommandBlockReason(_0x301ed8);if(!_0x3fddf1)return{};return{'decision':_0x410ef3(0x230),'reason':_0x3fddf1};},_0x259b37=async _0x5073f6=>{const _0x4888e6=_0x22cdcb;if(_0x5073f6[_0x4888e6(0x1d9)]!==_0x3c23b5['xZWIK'])return{};const _0x101654=_0x5073f6;if(_0x3c23b5['RVPIN'](_0x101654['tool_name'],'Bash'))return{};const _0x244c44=_0x101654[_0x4888e6(0x277)],_0x2f2069=extractBashCommand(_0x244c44);if(!_0x2f2069)return{};const _0x1df6d4=parseNovaActCliCommand(_0x2f2069);if(!_0x1df6d4)return{};_0x167843[_0x4888e6(0x1fc)](_0x1df6d4,(_0x167843['get'](_0x1df6d4)||0x0)+0x1),_0x29188b[_0x4888e6(0x292)]('nova_act_command',{'subcommand':_0x1df6d4}),_0x29188b['trackPhaseEnd']('nova_act_command',{'subcommand':_0x1df6d4,'commandPreview':_0x3c23b5[_0x4888e6(0x236)](previewNovaActCliCommand,_0x2f2069)}),console[_0x4888e6(0x284)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x2f2069,_0x1df6d4));if(_0x3c23b5[_0x4888e6(0x24a)](_0x1df6d4,'session\x20create')&&_0xfedf2)try{await _0xfedf2[_0x4888e6(0x1dc)]();}catch(_0x24fd5b){await _0x29188b['trackPhaseError'](_0x4888e6(0x1fe),_0x24fd5b,{'transport':'nova-act-cli'});}return{};},_0x556fdd=async _0x362d8c=>{const _0x315be8=_0x22cdcb;if(_0x362d8c[_0x315be8(0x1d9)]!==_0x315be8(0x258))return{};const _0x4c1f60=_0x362d8c;if(_0x3c23b5['RVPIN'](_0x4c1f60['tool_name'],_0x315be8(0x1da)))return{};return await _0x29188b[_0x315be8(0x213)]('nova_act_command_failure',_0x4c1f60[_0x315be8(0x1ed)],{'transport':_0x3c23b5['mAzYJ'],'toolName':_0x315be8(0x1da)}),{};};return{'preToolUseHook':_0x4aefa9,'postToolUseHook':_0x259b37,'postToolUseFailureHook':_0x556fdd,'commandCounts':_0x167843};}async function runNovaLifecycleCommand(_0x572fb8){const _0xca3a47=_0x2b57a8,_0x12d11e={'WQApH':function(_0x314116,_0x3a5590){return _0x314116(_0x3a5590);},'nfaBA':function(_0x1846f0,_0x39fa79){return _0x1846f0(_0x39fa79);}},{novaOptions:_0x5b2f8a,commandArgs:_0x35e75e,telemetry:_0x11c6dc,phase:_0x31d42c,metadata:_0x4ff98d,timeoutMs:_0x3cd71d}=_0x572fb8;_0x11c6dc[_0xca3a47(0x292)](_0x31d42c,_0x4ff98d);try{const _0xbf4a44=await runNovaActCliCommand({..._0x5b2f8a,'commandArgs':_0x35e75e,'cwd':process[_0xca3a47(0x269)](),'env':process['env'],'timeoutMs':_0x3cd71d??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x11c6dc['trackPhaseEnd'](_0x31d42c,{..._0x4ff98d,'subcommand':_0xbf4a44[_0xca3a47(0x290)]['subcommand'],'commandPreview':_0x12d11e[_0xca3a47(0x2a2)](previewNovaActCliCommand,_0xbf4a44['invocation'][_0xca3a47(0x20d)]),'stdoutPreview':previewNovaActCliCommand(_0xbf4a44[_0xca3a47(0x205)]),'stderrPreview':_0x12d11e['nfaBA'](previewNovaActCliCommand,_0xbf4a44[_0xca3a47(0x286)]),'logDir':extractNovaActLogDir(_0xbf4a44[_0xca3a47(0x205)])});}catch(_0x5350ac){await _0x11c6dc[_0xca3a47(0x213)](_0x31d42c,_0x5350ac,_0x4ff98d);throw _0x5350ac;}}export async function finalizeVerifyFeatureNovaCliSession(_0x50ee68){const _0x471b3d=_0x2b57a8,_0x175457={'HoHAu':'nova_act_final_screenshot','jhcid':_0x471b3d(0x222),'iKetI':function(_0x193fd8,_0x330924,_0x1dbd20){return _0x193fd8(_0x330924,_0x1dbd20);},'tJOUq':'key_final-state.png','XVuAY':'nova_act_final_snapshot','FabcX':_0x471b3d(0x1de),'aOMnl':_0x471b3d(0x2a0),'eVSxT':_0x471b3d(0x23f),'ulUSy':_0x471b3d(0x278),'TfCND':'json','MaiAZ':'nova_act_session_report','CYZCD':_0x471b3d(0x259),'lIhwx':_0x471b3d(0x251),'nqmWF':_0x471b3d(0x23d),'mCbHu':function(_0x35d4fe,_0x16533d){return _0x35d4fe===_0x16533d;}},{telemetry:_0x63fdd2,novaOptions:_0x5e449c,cliArtifactDir:_0x12330d,transportMetadata:_0x18163e,artifactRecorder:_0x1805bf}=_0x50ee68,_0x2fe617=[{'phase':_0x175457['HoHAu'],'commandArgs':[_0x175457[_0x471b3d(0x20e)],_0x471b3d(0x1de),_0x175457['iKetI'](buildCliArtifactPath,_0x12330d,_0x175457[_0x471b3d(0x1e5)])]},{'phase':_0x175457['XVuAY'],'commandArgs':[_0x471b3d(0x21b),_0x175457['FabcX'],buildCliArtifactPath(_0x12330d,_0x175457['aOMnl'])]},{'phase':'nova_act_session_export','commandArgs':['session',_0x175457[_0x471b3d(0x1fa)],_0x175457['ulUSy'],_0x175457[_0x471b3d(0x27d)],_0x471b3d(0x1de),buildCliArtifactPath(_0x12330d,'nova-session-export.json')]},{'phase':_0x175457['MaiAZ'],'commandArgs':[_0x471b3d(0x23e),_0x175457['eVSxT'],'--report',_0x175457['CYZCD'],buildCliArtifactPath(_0x12330d,_0x175457[_0x471b3d(0x28e)])]},{'phase':_0x471b3d(0x29a),'commandArgs':[_0x471b3d(0x23e),_0x175457['nqmWF']]}];for(const _0x505b0f of _0x2fe617){_0x175457['mCbHu'](_0x505b0f[_0x471b3d(0x203)],'nova_act_session_close')&&await _0x1805bf?.[_0x471b3d(0x1f0)]();try{await runNovaLifecycleCommand({'novaOptions':_0x5e449c,'commandArgs':[..._0x505b0f[_0x471b3d(0x1f1)]],'telemetry':_0x63fdd2,'phase':_0x505b0f[_0x471b3d(0x203)],'metadata':_0x18163e});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3fd7b9){const _0x3475fa=_0x2b57a8,_0x310b76={'IWoKl':function(_0x8c866b,_0x3d5168,_0x280c81){return _0x8c866b(_0x3d5168,_0x280c81);},'UgTyL':function(_0x15a2c0,_0x330086,_0x315548){return _0x15a2c0(_0x330086,_0x315548);}},{cwd:_0x51e157,cliArtifactDir:_0x4bb019,startTime:_0x2c1f24}=_0x3fd7b9,_0x154f61=[];await mkdir(_0x4bb019,{'recursive':!![]});const _0x355528=await readdir(_0x51e157,{'withFileTypes':!![]});for(const _0x561512 of _0x355528){if(!_0x561512['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x561512['name']))continue;const _0x5aa464=_0x310b76[_0x3475fa(0x299)](join,_0x51e157,_0x561512[_0x3475fa(0x26d)]),_0x13daf7=await stat(_0x5aa464);if(_0x13daf7[_0x3475fa(0x21e)]+0x7d0<_0x2c1f24)continue;const _0x540627=_0x310b76[_0x3475fa(0x29e)](buildCliArtifactPath,_0x4bb019,_0x561512[_0x3475fa(0x26d)]);if(_0x5aa464===_0x540627)continue;await rename(_0x5aa464,_0x540627),_0x154f61[_0x3475fa(0x26f)](_0x561512['name']);}return _0x154f61[_0x3475fa(0x22e)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x3c22c1){const _0x42f713=_0x2b57a8,_0x149e59={'zdKWM':_0x42f713(0x285),'Swqfn':function(_0x1b46ae,_0x3146da){return _0x1b46ae(_0x3146da);}},_0x352e24=join(_0x3c22c1,_0x149e59[_0x42f713(0x20f)]);try{return{'buffer':await _0x149e59['Swqfn'](readFile,_0x352e24),'source':_0x352e24};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x3c22c1),'source':_0x3c22c1};}}async function zipVerifyFeatureNovaArtifacts(_0x2a77a8){const _0x247763=_0x2b57a8,_0x3cdb15={'qCIAV':function(_0x6f1696,_0x186180,_0x4758ac,_0x2e17ef){return _0x6f1696(_0x186180,_0x4758ac,_0x2e17ef);},'IhXnw':'nova-artifacts.zip','jwCft':_0x247763(0x221)},_0x361bfa=_0x3cdb15[_0x247763(0x272)](join,_0x2a77a8,'..',_0x3cdb15[_0x247763(0x1f3)]);try{return await execFileAsync(_0x3cdb15['jwCft'],[_0x247763(0x223),_0x361bfa,'.','-x',_0x247763(0x264)],{'cwd':_0x2a77a8}),await readFile(_0x361bfa);}finally{await rm(_0x361bfa,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x734a27){const _0xda3e58=_0x2b57a8,_0x18cd5c={'sPGXd':function(_0x4e1231,_0x4f47ed,_0x1d5ef2){return _0x4e1231(_0x4f47ed,_0x1d5ef2);},'ADVPz':function(_0x3521ae,_0xa45378,_0x117c74){return _0x3521ae(_0xa45378,_0x117c74);}},_0x589347=_0x18cd5c['sPGXd'](buildNovaActCliInvocation,_0x734a27[_0xda3e58(0x204)],_0x734a27['commandArgs']);return{'command':_0x589347[_0xda3e58(0x294)],'args':_0x589347[_0xda3e58(0x202)],'commandPreview':previewNovaActCliCommand(_0x589347['shellCommand']),'subcommand':_0x589347[_0xda3e58(0x218)],'sharedOptionsSuffix':_0x18cd5c['ADVPz'](buildNovaActCliSharedOptionsSuffix,_0x734a27['novaOptions'],_0x734a27[_0xda3e58(0x1f1)])};}
|
|
1
|
+
const _0x372294=_0x4aaf;(function(_0x349d1b,_0x2137ec){const _0x11568c=_0x4aaf,_0x1c53f9=_0x349d1b();while(!![]){try{const _0xe1eed7=-parseInt(_0x11568c(0xc9))/0x1+parseInt(_0x11568c(0x151))/0x2+-parseInt(_0x11568c(0x159))/0x3+parseInt(_0x11568c(0xf0))/0x4*(-parseInt(_0x11568c(0x111))/0x5)+-parseInt(_0x11568c(0x18a))/0x6+parseInt(_0x11568c(0x157))/0x7*(parseInt(_0x11568c(0x105))/0x8)+-parseInt(_0x11568c(0x155))/0x9*(-parseInt(_0x11568c(0x156))/0xa);if(_0xe1eed7===_0x2137ec)break;else _0x1c53f9['push'](_0x1c53f9['shift']());}catch(_0x44f7f3){_0x1c53f9['push'](_0x1c53f9['shift']());}}}(_0x4889,0x5fab0));function _0x4aaf(_0x282984,_0x249f4c){_0x282984=_0x282984-0xad;const _0x488993=_0x4889();let _0x4aaf94=_0x488993[_0x282984];return _0x4aaf94;}import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set([_0x372294(0x10f),_0x372294(0x17f),_0x372294(0x123),_0x372294(0x11c),_0x372294(0x13e),_0x372294(0xc2),'snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0xc6da5c,_0xe43c93){const _0x2b6916=_0x372294,_0x205ce={'xwhwh':function(_0x33ff1f,_0x5c63c0,_0xb750f2){return _0x33ff1f(_0x5c63c0,_0xb750f2);}};return _0x205ce[_0x2b6916(0x13b)](join,_0xc6da5c,_0xe43c93);}export class NovaActArtifactRecorder{['params'];[_0x372294(0xef)]=null;['context']=null;[_0x372294(0x148)]=null;['frameWrites']=[];[_0x372294(0x103)]=0x0;[_0x372294(0x17e)]=0x0;[_0x372294(0xb0)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];[_0x372294(0x138)]=![];['startAttempted']=![];['stopped']=![];constructor(_0x4cb32b){this['params']=_0x4cb32b;}async[_0x372294(0xb3)](){const _0x54e24a=_0x372294,_0x5e6ca8={'eEiZT':function(_0x4d2df6,_0x3fd14c,_0x202690){return _0x4d2df6(_0x3fd14c,_0x202690);},'lrriq':_0x54e24a(0xf6),'DCVmm':'nova_act_artifact_recording'};if(this['startAttempted'])return;this[_0x54e24a(0x17c)]=!![];const _0x1b11e3=await this[_0x54e24a(0x181)](),_0xa86be7=_0x1b11e3['cdp_endpoint'];if(!_0xa86be7)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x54e24a(0x102)][_0x54e24a(0x133)]['sessionId']);await _0x5e6ca8[_0x54e24a(0xe8)](mkdir,this[_0x54e24a(0x102)]['cliArtifactDir'],{'recursive':!![]}),this[_0x54e24a(0xef)]=await chromium['connectOverCDP'](_0xa86be7,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x54e24a(0x180)]=this[_0x54e24a(0xef)][_0x54e24a(0xd2)]()[0x0]??null;if(!this[_0x54e24a(0x180)])throw new Error(_0x5e6ca8['lrriq']);await this[_0x54e24a(0x180)][_0x54e24a(0xd7)][_0x54e24a(0xb3)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x54e24a(0x15b)](),await this['startScreencast'](),this['params'][_0x54e24a(0x134)][_0x54e24a(0x149)]('nova_act_artifact_recording',{...this['params'][_0x54e24a(0x161)],'cdpEndpoint':_0xa86be7,'browserPid':_0x1b11e3[_0x54e24a(0x188)],'sessionState':_0x1b11e3[_0x54e24a(0xca)]}),this['params']['telemetry']['trackPhaseEnd'](_0x5e6ca8[_0x54e24a(0x17a)],{...this['params'][_0x54e24a(0x161)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x54e24a(0x138)]});}async['stop'](){const _0x3e8c0d=_0x372294,_0x3a39b2={'bCZHb':function(_0x2e2f88,_0x19b6b7,_0x231d76){return _0x2e2f88(_0x19b6b7,_0x231d76);},'FFTIE':'trace.zip','sRZTB':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this[_0x3e8c0d(0xbd)]=!![];const _0x597c69={...this[_0x3e8c0d(0x102)][_0x3e8c0d(0x161)],'frameCount':this['frameCount'],'traceSampleCount':this[_0x3e8c0d(0x17e)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x3e8c0d(0x138)]};this[_0x3e8c0d(0x102)][_0x3e8c0d(0x134)][_0x3e8c0d(0x149)](_0x3e8c0d(0xed),_0x597c69);try{await this[_0x3e8c0d(0xfb)](),await this['captureTraceSample'](),await this[_0x3e8c0d(0x174)](),await Promise['allSettled'](this['frameWrites']);this[_0x3e8c0d(0x180)]&&this['tracingStarted']&&await this['context']['tracing'][_0x3e8c0d(0xba)]({'path':_0x3a39b2['bCZHb'](buildCliArtifactPath,this['params']['cliArtifactDir'],_0x3a39b2['FFTIE'])});const _0xfd4a17=await this['encodeScreencastVideo']();this[_0x3e8c0d(0x102)]['telemetry'][_0x3e8c0d(0x169)](_0x3a39b2['sRZTB'],{..._0x597c69,'videoPath':_0xfd4a17});}catch(_0x3f26fe){await this[_0x3e8c0d(0x102)]['telemetry'][_0x3e8c0d(0x140)](_0x3a39b2[_0x3e8c0d(0x16e)],_0x3f26fe,_0x597c69);}finally{await this['browser']?.[_0x3e8c0d(0xf9)]()[_0x3e8c0d(0xf4)](()=>undefined),this[_0x3e8c0d(0xef)]=null,this['context']=null,this['frameSession']=null;}}async[_0x372294(0x181)](){const _0x3b9af4=_0x372294,_0x5b8711={'ZYAyy':function(_0x1e6530,_0x231379,_0x3eaffb,_0x19060d,_0x5d242b,_0x1d2c5f){return _0x1e6530(_0x231379,_0x3eaffb,_0x19060d,_0x5d242b,_0x1d2c5f);},'OuCZy':'utf-8','CSjGc':function(_0xd6e7c8,_0x317283){return _0xd6e7c8(_0x317283);},'gBrjS':function(_0x439824,_0x4d19f1){return _0x439824-_0x4d19f1;}},_0x3454d8=_0x5b8711['ZYAyy'](join,homedir(),_0x3b9af4(0x11b),'browser',_0x3b9af4(0xf3),this['params'][_0x3b9af4(0x133)]['sessionId']+_0x3b9af4(0x132)),_0x425372=Date[_0x3b9af4(0xeb)]();let _0x39c182;do{try{const _0x5bbc67=JSON[_0x3b9af4(0xb1)](await readFile(_0x3454d8,_0x5b8711['OuCZy']));if(_0x5bbc67['cdp_endpoint'])return _0x5bbc67;_0x39c182=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x3454d8);}catch(_0x29936e){_0x39c182=_0x29936e;}await _0x5b8711['CSjGc'](delay,0x64);}while(_0x5b8711['gBrjS'](Date['now'](),_0x425372)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x39c182 instanceof Error)throw _0x39c182;throw new Error(_0x3b9af4(0x152)+_0x3454d8);}async['startScreencast'](){const _0x2d7f8e=_0x372294,_0x147dfc={'wIMQT':_0x2d7f8e(0x128),'MkfEx':'Page.startScreencast'};if(!this['context'])return;const _0x28d79d=this['context'][_0x2d7f8e(0xc0)]()[0x0];if(!_0x28d79d)return;const _0x2e927f=this['getFrameDir']();await mkdir(_0x2e927f,{'recursive':!![]});const _0x22c59=await this[_0x2d7f8e(0x180)][_0x2d7f8e(0x16d)](_0x28d79d);this['frameSession']=_0x22c59,_0x22c59['on'](_0x2d7f8e(0x16f),_0x18a0d6=>{const _0x29fd7e=_0x2d7f8e,_0x22fc65=++this['frameCount'],_0x55c291=join(_0x2e927f,'frame-'+String(_0x22fc65)[_0x29fd7e(0xc4)](0x6,'0')+'.jpg'),_0x23a872=writeFile(_0x55c291,Buffer[_0x29fd7e(0x121)](_0x18a0d6[_0x29fd7e(0x15d)],_0x147dfc[_0x29fd7e(0xf2)]))[_0x29fd7e(0xf4)](()=>undefined)['finally'](()=>_0x22c59[_0x29fd7e(0x142)]('Page.screencastFrameAck',{'sessionId':_0x18a0d6[_0x29fd7e(0xad)]}))['then'](()=>undefined)[_0x29fd7e(0xf4)](()=>undefined);this[_0x29fd7e(0xee)][_0x29fd7e(0xb6)](_0x23a872);}),await _0x22c59['send'](_0x147dfc['MkfEx'],{'format':_0x2d7f8e(0x101),'quality':0x4b,'everyNthFrame':0x6}),this[_0x2d7f8e(0x138)]=!![];}async['stopScreencast'](){const _0x4d5788=_0x372294;if(!this[_0x4d5788(0x148)]||!this[_0x4d5788(0x138)])return;await this['frameSession']['send'](_0x4d5788(0x104))[_0x4d5788(0xf4)](()=>undefined);}['startTraceSampling'](){const _0x6f5d09=_0x372294,_0x3f20be={'zEWYo':function(_0x273c0e,_0x5c10a4,_0x5462aa){return _0x273c0e(_0x5c10a4,_0x5462aa);}};this['queueTraceSample'](),this[_0x6f5d09(0xb0)]=_0x3f20be['zEWYo'](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x372294(0x179)](){const _0x59f269=_0x372294;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x59f269(0xc5)](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x1622a7=_0x372294;this[_0x1622a7(0xb0)]&&(clearInterval(this['traceSampleTimer']),this[_0x1622a7(0xb0)]=null),await this['traceSampleInFlight']?.[_0x1622a7(0xf4)](()=>undefined);}async[_0x372294(0x112)](){const _0x573ec8=_0x372294,_0x270d2c=this[_0x573ec8(0x180)]?.[_0x573ec8(0xc0)]()[0x0];if(!_0x270d2c)return;try{await _0x270d2c[_0x573ec8(0x12b)]('body')['evaluate'](_0x8d08b0=>_0x8d08b0['tagName'],undefined,{'timeout':0x3e8}),this[_0x573ec8(0x17e)]++;}catch{}}async['encodeScreencastVideo'](){const _0xf7b7b2=_0x372294,_0x45176c={'lcFhK':function(_0x3be985,_0x3ef861){return _0x3be985<_0x3ef861;},'tzpBo':function(_0x4185ed,_0x5420b7,_0x275ad6){return _0x4185ed(_0x5420b7,_0x275ad6);},'fFIYG':_0xf7b7b2(0x115),'DoHaX':_0xf7b7b2(0x12e),'SPpPq':function(_0xf3a1cf,_0x3fd349,_0x2cc00c){return _0xf3a1cf(_0x3fd349,_0x2cc00c);},'GNefn':'error','JmNsI':_0xf7b7b2(0xb2),'utJZZ':'frame-%06d.jpg','ilefm':'-vf','XkgvV':'libvpx-vp9'};if(_0x45176c['lcFhK'](this[_0xf7b7b2(0x103)],0x2))return null;const _0x5e3b77=await resolveFfmpegPath();if(!_0x5e3b77)return null;const _0x4fb7c3=_0x45176c['tzpBo'](join,this['params']['cliArtifactDir'],_0x45176c[_0xf7b7b2(0xc1)]);await mkdir(_0x4fb7c3,{'recursive':!![]});const _0xb0d504=_0x45176c[_0xf7b7b2(0x10d)](join,_0x4fb7c3,_0x45176c[_0xf7b7b2(0x147)]);return await _0x45176c['SPpPq'](execFileAsync,_0x5e3b77,['-y','-hide_banner',_0xf7b7b2(0xe7),_0x45176c['GNefn'],_0x45176c[_0xf7b7b2(0x131)],'10','-i',join(this[_0xf7b7b2(0x14c)](),_0x45176c['utJZZ']),_0x45176c[_0xf7b7b2(0x129)],_0xf7b7b2(0xe5),_0xf7b7b2(0x135),_0x45176c[_0xf7b7b2(0xf7)],_0xf7b7b2(0xff),_0xf7b7b2(0x160),_0xb0d504]),_0xb0d504;}[_0x372294(0x14c)](){const _0x3abb3f=_0x372294,_0x25e20e={'IITuF':_0x3abb3f(0x164)};return join(this['params'][_0x3abb3f(0xda)],_0x25e20e[_0x3abb3f(0x109)]);}}async function delay(_0x43f0ac){await new Promise(_0x3b04d3=>setTimeout(_0x3b04d3,_0x43f0ac));}async function resolveFfmpegPath(){const _0xea709e=_0x372294,_0x23e107={'cahUS':function(_0x5f2720,_0x5cbf84){return _0x5f2720(_0x5cbf84);},'PsCQs':_0xea709e(0x10a),'aNcZm':function(_0x1a5ac2,_0x38146b,_0x3aa7dd,_0x4007dd,_0x35065a){return _0x1a5ac2(_0x38146b,_0x3aa7dd,_0x4007dd,_0x35065a);},'JlGcO':_0xea709e(0x12c),'fBATx':_0xea709e(0x130),'Hddtl':function(_0x4c513c){return _0x4c513c();},'LIyOL':'.cache'};if(await _0x23e107[_0xea709e(0xf8)](canRunFfmpeg,_0x23e107['PsCQs']))return _0x23e107['PsCQs'];const _0x1f1dc6=[_0x23e107[_0xea709e(0x15f)](join,homedir(),_0xea709e(0x154),_0x23e107[_0xea709e(0x163)],_0x23e107['fBATx']),join(_0x23e107[_0xea709e(0x117)](homedir),_0x23e107[_0xea709e(0x15e)],'ms-playwright')];for(const _0x3b1f4c of _0x1f1dc6){try{const _0x140911=await readdir(_0x3b1f4c),_0x156b90=_0x140911[_0xea709e(0x141)](_0x120ff3=>_0x120ff3['startsWith']('ffmpeg-'))[_0xea709e(0xbf)]()['reverse']()['flatMap'](_0x28f5d1=>[join(_0x3b1f4c,_0x28f5d1,'ffmpeg-mac'),join(_0x3b1f4c,_0x28f5d1,_0xea709e(0xd6)),join(_0x3b1f4c,_0x28f5d1,_0xea709e(0x13a))]);for(const _0x3d81dc of _0x156b90){if(await _0x23e107['cahUS'](canRunFfmpeg,_0x3d81dc))return _0x3d81dc;}}catch{}}return null;}async function canRunFfmpeg(_0x2433ca){const _0xfc9e36=_0x372294,_0x399403={'jvInC':_0xfc9e36(0x15a)};try{return await execFileAsync(_0x2433ca,[_0x399403['jvInC']]),!![];}catch{return![];}}function toStepDisplayName(_0x405b1d){const _0x4e21b9=_0x372294,_0x25dd76={'lfuuX':function(_0xeaf185,_0x8e914e){return _0xeaf185(_0x8e914e);}},_0x3eb564=_0x25dd76[_0x4e21b9(0xcc)](basename,_0x405b1d)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x4e21b9(0x150)](/-/g,'\x20');return{'name':_0x3eb564,'isKeyStep':/^key_/i[_0x4e21b9(0xce)](_0x25dd76[_0x4e21b9(0xcc)](basename,_0x405b1d))};}function extractShellValue(_0x541a72){if(!_0x541a72)return null;return _0x541a72[0x1]??_0x541a72[0x2]??_0x541a72[0x3]??null;}function extractOutputOption(_0x5de4bd){const _0x345328=_0x372294;return extractShellValue(_0x5de4bd[_0x345328(0xb9)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x151794,_0x13764b){const _0x33dc15=_0x372294,_0x297a97={'DefoG':'execute','YyADr':_0x33dc15(0xb8),'nPpLi':'verify','CyQOo':'verify\x20page\x20condition','EaYec':_0x33dc15(0x11c),'uPufA':_0x33dc15(0x13e),'nAgua':_0x33dc15(0xcf),'GgaPv':function(_0x1688e7,_0x100990){return _0x1688e7(_0x100990);},'oabuG':'screenshot','bfwpS':'session\x20export'};switch(_0x13764b){case'session\x20create':return'create\x20Nova\x20browser\x20session';case _0x297a97['DefoG']:return _0x297a97[_0x33dc15(0xe1)];case _0x297a97['nPpLi']:return _0x297a97[_0x33dc15(0x108)];case _0x297a97[_0x33dc15(0xc6)]:return'ask\x20page\x20question';case _0x297a97[_0x33dc15(0xd3)]:return'navigate\x20browser';case'wait-for':return _0x297a97[_0x33dc15(0xf5)];case'snapshot':{const _0x1e2eb1=_0x297a97[_0x33dc15(0x178)](extractOutputOption,_0x151794);if(!_0x1e2eb1)return'capture\x20snapshot';const {name:_0x1ffaed}=toStepDisplayName(_0x1e2eb1);return _0x33dc15(0x13c)+_0x1ffaed+'`';}case _0x297a97[_0x33dc15(0x13f)]:{const _0x4619a0=extractOutputOption(_0x151794);if(!_0x4619a0)return _0x33dc15(0xde);const {name:_0x4482d3,isKeyStep:_0x2ac67a}=toStepDisplayName(_0x4619a0);return _0x2ac67a?'capture\x20key\x20step\x20`'+_0x4482d3+'`':_0x33dc15(0xe2)+_0x4482d3+'`';}case _0x297a97['bfwpS']:return _0x33dc15(0xea);default:return _0x13764b;}}function getNovaActCliCommandBlockReason(_0x42c3eb){const _0x2b15b2=_0x372294,_0x4b8809={'OdmZX':function(_0x72905a,_0x2ffa74){return _0x72905a(_0x2ffa74);},'nEPxY':function(_0x588162,_0x140fb7){return _0x588162===_0x140fb7;},'IOZIS':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','IMgbO':_0x2b15b2(0xbc)},_0x3d83c8=_0x4b8809['OdmZX'](parseNovaActCliCommand,_0x42c3eb);if(!_0x3d83c8)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x3d83c8))return'Nova\x20command\x20`'+_0x3d83c8+_0x2b15b2(0x14e);if(_0x4b8809[_0x2b15b2(0xae)](_0x3d83c8,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x2b15b2(0xce)](_0x42c3eb))return _0x4b8809['IOZIS'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x2b15b2(0xce)](_0x42c3eb))return _0x4b8809[_0x2b15b2(0xb4)];return null;}function buildFeedbackSection(_0x4eb5fa){const _0x213f6a=_0x372294,_0x18dcae={'fwcYT':'en-US','GjBqS':'short','HIhLe':_0x213f6a(0x124),'wQKUV':'element'};if(!_0x4eb5fa||_0x4eb5fa['unaddressedComments'][_0x213f6a(0xb5)]===0x0)return'';const _0xcfddef=_0x4eb5fa['unaddressedComments']['map'](_0x48cbeb=>{const _0x10671f=_0x213f6a,_0x126802=new Date(_0x48cbeb[_0x10671f(0x139)])[_0x10671f(0xe0)](_0x18dcae['fwcYT'],{'month':_0x18dcae[_0x10671f(0xd8)],'day':_0x18dcae['HIhLe']}),_0x49b6a9=_0x48cbeb[_0x10671f(0x175)]||_0x48cbeb[_0x10671f(0xbb)]||_0x10671f(0x17b),_0x39528d=_0x48cbeb['domRef']?_0x10671f(0xcb)+(_0x48cbeb['domRef']['selector']['split']('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x18dcae[_0x10671f(0xc7)])+_0x10671f(0x167)+(_0x48cbeb['domRef'][_0x10671f(0x187)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x10671f(0x116)+_0x48cbeb['id']+_0x10671f(0x10b)+_0x49b6a9+_0x10671f(0x166)+_0x126802+'):\x20\x22'+_0x48cbeb[_0x10671f(0x14d)]+'\x22'+_0x39528d;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0xcfddef;}function buildNovaSharedOptionsInstruction(_0x15ecdc){if(!_0x15ecdc['trim']())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x15ecdc;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2e50c6){const _0x11a789=_0x372294,_0x524edf={'irzwL':function(_0x14c731,_0x47d025,_0x4432ac){return _0x14c731(_0x47d025,_0x4432ac);},'TyYNR':_0x11a789(0x120),'JHhwF':function(_0x2d42a5,_0x5e17a7,_0x4a27ad){return _0x2d42a5(_0x5e17a7,_0x4a27ad);},'uLYKb':'03_final-state.png','ESyHN':function(_0x3ced27,_0x4dbb33){return _0x3ced27(_0x4dbb33);}},{novaCommandPrefix:_0x3491c6,novaSharedOptionsSuffix:_0x12e6c6,cliArtifactDir:_0x3c03b3,url:_0x392e28}=_0x2e50c6,_0x3225f9=_0x524edf[_0x11a789(0x126)](buildCliArtifactPath,_0x3c03b3,_0x524edf['TyYNR']),_0x21f2d1=_0x524edf['JHhwF'](buildCliArtifactPath,_0x3c03b3,'01_initial-state.png'),_0x14364b=_0x524edf['irzwL'](buildCliArtifactPath,_0x3c03b3,_0x11a789(0x122)),_0x319bad=buildCliArtifactPath(_0x3c03b3,_0x524edf['uLYKb']);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x3491c6+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x12e6c6)+_0x11a789(0xdc)+_0x3491c6+'\x20session\x20create\x20'+quoteShellArg(_0x392e28)+'\x20'+_0x12e6c6+'`\x0a2.\x20Run\x20`'+_0x3491c6+_0x11a789(0x144)+quoteShellArg(_0x3225f9)+'\x20'+_0x12e6c6+'`\x0a3.\x20Run\x20`'+_0x3491c6+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x21f2d1)+'\x20'+_0x12e6c6+_0x11a789(0xd9)+_0x3491c6+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x3491c6+'\x20snapshot\x20--output\x20'+_0x524edf['ESyHN'](quoteShellArg,_0x14364b)+'\x20'+_0x12e6c6+'`\x0a6.\x20Run\x20`'+_0x3491c6+_0x11a789(0x186)+_0x524edf['ESyHN'](quoteShellArg,_0x319bad)+'\x20'+_0x12e6c6+_0x11a789(0xdd)+_0x3c03b3+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x407e5a){const _0x6b1fc5=_0x372294,_0x3c125a={'gzGTd':function(_0x1844c4,_0x2db3d3,_0x1f6db3){return _0x1844c4(_0x2db3d3,_0x1f6db3);},'ARAnE':function(_0x44501,_0x5b52cb){return _0x44501(_0x5b52cb);}},{checklistItem:_0x1d191b,itemFeedback:_0x2cb725,taskDescription:_0x4a054b,novaCommandPrefix:_0x5e396b,novaSharedOptionsSuffix:_0x5f5194,cliArtifactDir:_0x39352e,url:_0x109cf3,loginInstructions:_0x4bb0d2}=_0x407e5a,_0x21d8b7=_0x1d191b['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1d191b[_0x6b1fc5(0xd0)]:'',_0x526d66=buildFeedbackSection(_0x2cb725),_0x152ffc=_0x2cb725?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x2cb725[_0x6b1fc5(0x177)]:'',_0x51dc7f=_0x4bb0d2?_0x6b1fc5(0x189)+_0x4bb0d2+_0x6b1fc5(0x165):'',_0x122ec9=_0x3c125a['gzGTd'](buildCliArtifactPath,_0x39352e,'01_initial.yml'),_0x5b365d=buildCliArtifactPath(_0x39352e,_0x6b1fc5(0xfe)),_0x307b20=_0x3c125a['gzGTd'](buildCliArtifactPath,_0x39352e,_0x6b1fc5(0x183));return _0x6b1fc5(0x143)+_0x1d191b[_0x6b1fc5(0x100)]+_0x21d8b7+_0x526d66+_0x152ffc+_0x6b1fc5(0x13d)+_0x4a054b+_0x6b1fc5(0xe3)+_0x109cf3+_0x6b1fc5(0xf1)+_0x51dc7f+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x5e396b+'\x20session\x20create\x20'+quoteShellArg(_0x109cf3)+'\x20'+_0x5f5194+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x39352e+_0x6b1fc5(0xbe)+_0x5e396b+_0x6b1fc5(0x144)+quoteShellArg(_0x122ec9)+'\x20'+_0x5f5194+_0x6b1fc5(0xfc)+_0x5e396b+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x5b365d)+'\x20'+_0x5f5194+_0x6b1fc5(0x136)+_0x307b20+_0x6b1fc5(0x127)+_0x5e396b+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x5f5194[_0x6b1fc5(0x185)]()?'`'+_0x5f5194+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x3c125a[_0x6b1fc5(0x16c)](buildNovaSharedOptionsInstruction,_0x5f5194)+'\x0a\x0aExamples:\x0a-\x20`'+_0x5e396b+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x5f5194+_0x6b1fc5(0x15c)+_0x5e396b+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x5f5194+_0x6b1fc5(0x15c)+_0x5e396b+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x122ec9)+'\x20'+_0x5f5194+_0x6b1fc5(0x15c)+_0x5e396b+_0x6b1fc5(0x186)+quoteShellArg(_0x307b20)+'\x20'+_0x5f5194+_0x6b1fc5(0x137);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x3418f6){const _0x25bbaa=_0x372294,_0x30e653={'JZddp':function(_0x1b88b4,_0x3b213){return _0x1b88b4===_0x3b213;}},_0x1e35ca=[..._0x3418f6[_0x25bbaa(0x146)]()][_0x25bbaa(0xbf)]();let _0x6e989b=0x0;for(const _0x31b7cf of _0x3418f6[_0x25bbaa(0x106)]()){_0x6e989b+=_0x31b7cf;}return{'cliCommandCount':_0x6e989b,'cliCommandsSeen':_0x1e35ca,'noCliCommandsCalled':_0x30e653['JZddp'](_0x6e989b,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x5c3eb4,_0x46e426){const _0x912171=_0x372294,_0x5e2a23={'HLsvI':function(_0x456420,_0x4d573d){return _0x456420!==_0x4d573d;},'sUNcC':function(_0x3fbbfe,_0x349add){return _0x3fbbfe(_0x349add);},'gJkES':function(_0x24b6b9,_0x4c1c6b){return _0x24b6b9!==_0x4c1c6b;},'ksJpA':_0x912171(0xb7),'KdLxE':function(_0x450d17,_0x3df197){return _0x450d17(_0x3df197);},'OelsK':_0x912171(0xe6),'DUZQx':function(_0x1fa518,_0x203f87){return _0x1fa518===_0x203f87;},'gabgx':'nova-act-cli','xfhdX':'PostToolUseFailure','syWlP':'nova_act_command_failure'},_0x28ed3c=new Map(),_0x146cbf=async _0x504727=>{const _0x4beb7a=_0x912171;if(_0x5e2a23[_0x4beb7a(0x12f)](_0x504727['hook_event_name'],'PreToolUse'))return{};const _0xaf3c19=_0x504727;if(_0xaf3c19[_0x4beb7a(0xd5)]!==_0x4beb7a(0x14b))return{};const _0x4ceaa0=_0xaf3c19['tool_input'],_0x2747c7=_0x5e2a23['sUNcC'](extractBashCommand,_0x4ceaa0);if(!_0x2747c7)return{};const _0x4ccd37=getNovaActCliCommandBlockReason(_0x2747c7);if(!_0x4ccd37)return{};return{'decision':'block','reason':_0x4ccd37};},_0x4b87c8=async _0x502210=>{const _0x2ece39=_0x912171;if(_0x5e2a23[_0x2ece39(0x17d)](_0x502210['hook_event_name'],_0x5e2a23['ksJpA']))return{};const _0x2d9fe0=_0x502210;if(_0x5e2a23['gJkES'](_0x2d9fe0['tool_name'],'Bash'))return{};const _0xd762cc=_0x2d9fe0['tool_input'],_0x44f0c6=_0x5e2a23['KdLxE'](extractBashCommand,_0xd762cc);if(!_0x44f0c6)return{};const _0x38f06a=_0x5e2a23['sUNcC'](parseNovaActCliCommand,_0x44f0c6);if(!_0x38f06a)return{};_0x28ed3c[_0x2ece39(0x110)](_0x38f06a,(_0x28ed3c[_0x2ece39(0x168)](_0x38f06a)||0x0)+0x1),_0x5c3eb4[_0x2ece39(0x149)]('nova_act_command',{'subcommand':_0x38f06a}),_0x5c3eb4['trackPhaseEnd'](_0x5e2a23['OelsK'],{'subcommand':_0x38f06a,'commandPreview':_0x5e2a23['KdLxE'](previewNovaActCliCommand,_0x44f0c6)}),console[_0x2ece39(0x11f)](_0x2ece39(0x107)+formatNovaActCliLog(_0x44f0c6,_0x38f06a));if(_0x5e2a23['DUZQx'](_0x38f06a,'session\x20create')&&_0x46e426)try{await _0x46e426['start']();}catch(_0x123bc3){await _0x5c3eb4['trackPhaseError']('nova_act_artifact_recording',_0x123bc3,{'transport':_0x5e2a23[_0x2ece39(0x118)]});}return{};},_0x56e6b9=async _0x39adb9=>{const _0x3ebeaf=_0x912171;if(_0x39adb9[_0x3ebeaf(0x11a)]!==_0x5e2a23[_0x3ebeaf(0x12a)])return{};const _0x49a2c9=_0x39adb9;if(_0x49a2c9[_0x3ebeaf(0xd5)]!=='Bash')return{};return await _0x5c3eb4[_0x3ebeaf(0x140)](_0x5e2a23['syWlP'],_0x49a2c9['error'],{'transport':_0x5e2a23['gabgx'],'toolName':_0x3ebeaf(0x14b)}),{};};return{'preToolUseHook':_0x146cbf,'postToolUseHook':_0x4b87c8,'postToolUseFailureHook':_0x56e6b9,'commandCounts':_0x28ed3c};}async function runNovaLifecycleCommand(_0x40d182){const _0x58e047=_0x372294,_0x37ad28={'NEOSl':function(_0x3ba654,_0x1cbb88){return _0x3ba654(_0x1cbb88);},'cJIzx':function(_0x5c6301,_0x273ef6){return _0x5c6301??_0x273ef6;}},{novaOptions:_0x19c833,commandArgs:_0x2ce5bf,telemetry:_0x5514c0,phase:_0x520eb5,metadata:_0x2434c3,timeoutMs:_0x1e9237}=_0x40d182;_0x5514c0[_0x58e047(0x149)](_0x520eb5,_0x2434c3);try{const _0x4a11b3=await _0x37ad28['NEOSl'](runNovaActCliCommand,{..._0x19c833,'commandArgs':_0x2ce5bf,'cwd':process[_0x58e047(0xfd)](),'env':process['env'],'timeoutMs':_0x37ad28[_0x58e047(0x11e)](_0x1e9237,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x5514c0[_0x58e047(0x169)](_0x520eb5,{..._0x2434c3,'subcommand':_0x4a11b3['invocation'][_0x58e047(0xd4)],'commandPreview':previewNovaActCliCommand(_0x4a11b3[_0x58e047(0x14a)]['shellCommand']),'stdoutPreview':_0x37ad28['NEOSl'](previewNovaActCliCommand,_0x4a11b3[_0x58e047(0x113)]),'stderrPreview':previewNovaActCliCommand(_0x4a11b3['stderr']),'logDir':_0x37ad28[_0x58e047(0x158)](extractNovaActLogDir,_0x4a11b3[_0x58e047(0x113)])});}catch(_0x3c2b36){await _0x5514c0[_0x58e047(0x140)](_0x520eb5,_0x3c2b36,_0x2434c3);throw _0x3c2b36;}}export async function finalizeVerifyFeatureNovaCliSession(_0x5b7844){const _0x4e2b48=_0x372294,_0x15ae40={'XxKcJ':'nova_act_final_screenshot','DiYHp':'--output','kqwYy':_0x4e2b48(0x172),'uIBRd':_0x4e2b48(0xe4),'tqNOo':'session','Klrli':function(_0x70cbcd,_0xa9b9d9,_0x3f258c){return _0x70cbcd(_0xa9b9d9,_0x3f258c);},'ShcXH':'nova_act_session_report','iCyFw':'--output-dir','dyPoE':_0x4e2b48(0x12d),'WXYeC':_0x4e2b48(0xf9),'AzwOP':function(_0x44b915,_0x277522){return _0x44b915===_0x277522;},'xnsOD':'nova_act_session_close','fudZq':function(_0x36aa43,_0x40a195){return _0x36aa43(_0x40a195);}},{telemetry:_0x555a43,novaOptions:_0x455822,cliArtifactDir:_0x474f75,transportMetadata:_0x31d3f5,artifactRecorder:_0x5a9fff}=_0x5b7844,_0x35b153=[{'phase':_0x15ae40[_0x4e2b48(0xc8)],'commandArgs':['screenshot',_0x4e2b48(0x145),buildCliArtifactPath(_0x474f75,'key_final-state.png')]},{'phase':'nova_act_final_snapshot','commandArgs':['snapshot',_0x15ae40['DiYHp'],buildCliArtifactPath(_0x474f75,_0x15ae40['kqwYy'])]},{'phase':_0x15ae40['uIBRd'],'commandArgs':[_0x15ae40[_0x4e2b48(0xfa)],'export',_0x4e2b48(0x173),_0x4e2b48(0xc3),'--output',_0x15ae40[_0x4e2b48(0xdf)](buildCliArtifactPath,_0x474f75,_0x4e2b48(0x16a))]},{'phase':_0x15ae40[_0x4e2b48(0xe9)],'commandArgs':[_0x15ae40['tqNOo'],'export',_0x4e2b48(0x16b),_0x15ae40[_0x4e2b48(0x170)],_0x15ae40[_0x4e2b48(0xdf)](buildCliArtifactPath,_0x474f75,_0x15ae40['dyPoE'])]},{'phase':_0x4e2b48(0x153),'commandArgs':['session',_0x15ae40[_0x4e2b48(0x171)]]}];for(const _0x10c3cf of _0x35b153){_0x15ae40[_0x4e2b48(0x14f)](_0x10c3cf[_0x4e2b48(0x11d)],_0x15ae40[_0x4e2b48(0xaf)])&&await _0x5a9fff?.['stop']();try{await _0x15ae40[_0x4e2b48(0x176)](runNovaLifecycleCommand,{'novaOptions':_0x455822,'commandArgs':[..._0x10c3cf[_0x4e2b48(0x10c)]],'telemetry':_0x555a43,'phase':_0x10c3cf['phase'],'metadata':_0x31d3f5});}catch{}}}function _0x4889(){const _0x403ec8=['IITuF','ffmpeg',']\x20**','commandArgs','tzpBo','mtimeMs','session\x20create','set','97795POgMJS','captureTraceSample','stdout','-qr','videos','-\x20[','Hddtl','gabgx','mPKab','hook_event_name','.act_cli','ask','phase','cJIzx','log','00_initial-state.yml','from','02_final-state.yml','verify','numeric','zip','irzwL','`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`','base64','ilefm','xfhdX','locator','Caches','nova-report','session-recording.webm','HLsvI','ms-playwright','JmNsI','.json','novaOptions','telemetry','-c:v','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','screencastStarted','createdAt','ffmpeg.exe','xwhwh','capture\x20snapshot\x20`','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','goto','oabuG','trackPhaseError','filter','send','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','\x20snapshot\x20--output\x20','--output','keys','DoHaX','frameSession','trackPhaseStart','invocation','Bash','getFrameDir','content','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','AzwOP','replace','289458ttJaQD','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','nova_act_session_close','Library','3184884AUBPUG','30XjpnxF','413XIMktX','NEOSl','1537791lCIvmh','-version','startTraceSampling','`\x0a-\x20`','data','LIyOL','aNcZm','yuv420p','transportMetadata','args','JlGcO','nova-video-frames','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','**\x20(','>\x20\x22','get','trackPhaseEnd','nova-session-export.json','--report','ARAnE','newCDPSession','sRZTB','Page.screencastFrame','iCyFw','WXYeC','final-state.yaml','--format','stopScreencast','authorName','fudZq','canonicalFlow','GgaPv','queueTraceSample','DCVmm','Reviewer','startAttempted','gJkES','traceSampleCount','execute','context','readSessionMetadataWithRetry','shellCommand','key_03_success-state.png','isFile','trim','\x20screenshot\x20--output\x20','textContent','browser_pid','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','1571892cSblsW','sessionId','nEPxY','xnsOD','traceSampleTimer','parse','-framerate','start','IMgbO','length','push','PostToolUse','execute\x20Nova\x20browser\x20action','match','stop','authorEmail','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','stopped','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','sort','pages','fFIYG','wait-for','json','padStart','finally','EaYec','wQKUV','XxKcJ','182132isLWNP','state','\x20(on\x20element:\x20<','lfuuX','nova-artifacts.zip','test','wait\x20for\x20page\x20condition','notes','ZkWyu','contexts','uPufA','subcommand','tool_name','ffmpeg-linux','tracing','GjBqS','`\x0a4.\x20Run\x20one\x20batched\x20`','cliArtifactDir','WvwCi','\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','capture\x20screenshot','Klrli','toLocaleDateString','YyADr','capture\x20step\x20`','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','nova_act_session_export','scale=trunc(iw/2)*2:trunc(ih/2)*2','nova_act_command','-loglevel','eEiZT','ShcXH','export\x20Nova\x20session','now','trace.zip','nova_act_artifact_recording_stop','frameWrites','browser','76PBKDnp','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','wIMQT','sessions','catch','nAgua','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','XkgvV','cahUS','close','tqNOo','stopTraceSampling','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','cwd','01_initial-state.png','-pix_fmt','description','jpeg','params','frameCount','Page.stopScreencast','69672DCKiqZ','values','[nova-act-cli]\x20','CyQOo'];_0x4889=function(){return _0x403ec8;};return _0x4889();}export async function harvestVerifyFeatureNovaCliArtifacts(_0x1dd054){const _0x51e51a=_0x372294,_0x31b099={'ZkWyu':function(_0x2709f9,_0x34f558,_0x4c2f84){return _0x2709f9(_0x34f558,_0x4c2f84);},'oyfhj':function(_0x215e9b,_0x34d972){return _0x215e9b(_0x34d972);},'KSfei':function(_0x4fe034,_0x40b77c){return _0x4fe034<_0x40b77c;},'iFShN':function(_0x25d06a,_0x1d180f){return _0x25d06a+_0x1d180f;},'mPKab':function(_0x534b06,_0x52ea09){return _0x534b06===_0x52ea09;}},{cwd:_0x3da5c2,cliArtifactDir:_0x323a94,startTime:_0x434cff}=_0x1dd054,_0x524625=[];await _0x31b099['ZkWyu'](mkdir,_0x323a94,{'recursive':!![]});const _0x423ace=await readdir(_0x3da5c2,{'withFileTypes':!![]});for(const _0x180293 of _0x423ace){if(!_0x180293[_0x51e51a(0x184)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x51e51a(0xce)](_0x180293['name']))continue;const _0x4ba257=_0x31b099[_0x51e51a(0xd1)](join,_0x3da5c2,_0x180293['name']),_0x2a8b87=await _0x31b099['oyfhj'](stat,_0x4ba257);if(_0x31b099['KSfei'](_0x31b099['iFShN'](_0x2a8b87[_0x51e51a(0x10e)],0x7d0),_0x434cff))continue;const _0x5f216f=buildCliArtifactPath(_0x323a94,_0x180293['name']);if(_0x31b099[_0x51e51a(0x119)](_0x4ba257,_0x5f216f))continue;await rename(_0x4ba257,_0x5f216f),_0x524625['push'](_0x180293['name']);}return _0x524625[_0x51e51a(0xbf)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x34d2f5){const _0x2ccacf=_0x372294,_0x579a01=join(_0x34d2f5,_0x2ccacf(0xec));try{return{'buffer':await readFile(_0x579a01),'source':_0x579a01};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x34d2f5),'source':_0x34d2f5};}}async function zipVerifyFeatureNovaArtifacts(_0x33c8e0){const _0x292a72=_0x372294,_0x3b5a89={'vSmpF':_0x292a72(0x125),'UbuTM':function(_0x426f0d,_0x666620){return _0x426f0d(_0x666620);}},_0x5bcb96=join(_0x33c8e0,'..',_0x292a72(0xcd));try{return await execFileAsync(_0x3b5a89['vSmpF'],[_0x292a72(0x114),_0x5bcb96,'.','-x','nova-user-data/*'],{'cwd':_0x33c8e0}),await _0x3b5a89['UbuTM'](readFile,_0x5bcb96);}finally{await rm(_0x5bcb96,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x438552){const _0x2fd3c7=_0x372294,_0x581ec6={'WvwCi':function(_0x53f477,_0x1a0aa8,_0xf8a733){return _0x53f477(_0x1a0aa8,_0xf8a733);}},_0x4a1400=_0x581ec6[_0x2fd3c7(0xdb)](buildNovaActCliInvocation,_0x438552[_0x2fd3c7(0x133)],_0x438552['commandArgs']);return{'command':_0x4a1400['command'],'args':_0x4a1400[_0x2fd3c7(0x162)],'commandPreview':previewNovaActCliCommand(_0x4a1400[_0x2fd3c7(0x182)]),'subcommand':_0x4a1400[_0x2fd3c7(0xd4)],'sharedOptionsSuffix':_0x581ec6['WvwCi'](buildNovaActCliSharedOptionsSuffix,_0x438552[_0x2fd3c7(0x133)],_0x438552['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1f1192,_0x4825f0){const _0x55d24e=_0x3b00,_0x3c471e=_0x1f1192();while(!![]){try{const _0x4683be=-parseInt(_0x55d24e(0x14f))/0x1*(parseInt(_0x55d24e(0x174))/0x2)+parseInt(_0x55d24e(0x154))/0x3*(parseInt(_0x55d24e(0x17a))/0x4)+-parseInt(_0x55d24e(0x147))/0x5+-parseInt(_0x55d24e(0x179))/0x6+parseInt(_0x55d24e(0x149))/0x7*(-parseInt(_0x55d24e(0x187))/0x8)+-parseInt(_0x55d24e(0x13a))/0x9+-parseInt(_0x55d24e(0x172))/0xa*(-parseInt(_0x55d24e(0x13b))/0xb);if(_0x4683be===_0x4825f0)break;else _0x3c471e['push'](_0x3c471e['shift']());}catch(_0x4bda7e){_0x3c471e['push'](_0x3c471e['shift']());}}}(_0x4301,0xd6e17));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function _0x3b00(_0x27c089,_0x16696a){_0x27c089=_0x27c089-0x131;const _0x4301a2=_0x4301();let _0x3b00d7=_0x4301a2[_0x27c089];return _0x3b00d7;}function truncatePreview(_0x25d569,_0x556114=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x3921eb=_0x3b00,_0x26545a={'dGsbw':function(_0x17a640,_0x2b0bfc){return _0x17a640>_0x2b0bfc;},'oUWSQ':'...'};return _0x26545a[_0x3921eb(0x182)](_0x25d569[_0x3921eb(0x148)],_0x556114)?_0x25d569['slice'](0x0,_0x556114)+_0x26545a[_0x3921eb(0x13e)]:_0x25d569;}function extractShellValue(_0x428e8c){if(!_0x428e8c)return null;return _0x428e8c[0x1]??_0x428e8c[0x2]??_0x428e8c[0x3]??null;}function extractFirstCommandArgument(_0x4304a8,_0x2d81a2){const _0x16c3c7=_0x3b00,_0x7de351={'Rtdfk':'\x5c$&','GXwUH':function(_0x2dfacb,_0x102cb7){return _0x2dfacb(_0x102cb7);}},_0x5649ef=_0x2d81a2[_0x16c3c7(0x15f)](/[.*+?^${}()|[\]\\]/g,_0x7de351['Rtdfk']);return _0x7de351[_0x16c3c7(0x188)](extractShellValue,_0x4304a8[_0x16c3c7(0x173)](new RegExp('(?:^|\x5cs)'+_0x5649ef+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x4301(){const _0x1660cb=['461lOrDVv','\x20inspect\x20--screenshot-path\x20','click-and-inspect','rangerwright_cli_tracing_stop','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','408042MPPdAX','EzlzT','\x20--screenshot-path\x20','rangerwright_cli_command_failure','wKmmC','close','fill-and-inspect','trackPhaseError','key_02_learn-more.png','BTnZT','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','replace','video-stop','set','uFzIo','stdout','about:blank','short','elKoa','fill','notes','inspect\x20page','fill\x20','split','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','values','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','VHmLN','numeric','20gBCKIu','match','6096WVkgGs','rangerwright_cli_close','authorEmail','tool_input','tracing-stop','1854750uiChYz','24IZjAbN','toLocaleDateString','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','description','subcommand','commandPrefix','\x20>\x20','dGsbw','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','\x20open-and-inspect\x20','canonicalFlow','log','1413808NFWYvu','GXwUH','get','join','BieVs','open\x20and\x20inspect','stop\x20tracing','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','iqwDe','oqJhh','Bash','open\x20and\x20inspect\x20','textContent','authorName','SCoPk','slice','rangerwright_cli_command','12871746ohDNfl','22468072AIFeBn','go\x20back\x20and\x20inspect','MJayB','oUWSQ','-\x20[','EOPMO','key_99_final-state.png','domRef','en-US','tool_name','jvXJU','trackPhaseEnd','3499320kuTndv','length','7HxdeoR','VXGiU','Reviewer','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','\x0a\x0a##\x20Additional\x20Notes\x0a'];_0x4301=function(){return _0x1660cb;};return _0x4301();}function formatCommandTarget(_0x2c82dd){const _0x433e83=_0x3b00,_0x138efc={'oqJhh':'target'};if(!_0x2c82dd)return _0x138efc[_0x433e83(0x132)];if(/^e\d+$/i['test'](_0x2c82dd))return'ref\x20'+_0x2c82dd;return JSON['stringify'](truncatePreview(_0x2c82dd,0x78));}function formatRangerwrightCliLog(_0x36fad3,_0x5d9cc8){const _0x4e24ec=_0x3b00,_0x22d677={'EOPMO':'open-and-inspect','HJMtk':_0x4e24ec(0x151),'kwICB':function(_0x2047d7,_0x18e584){return _0x2047d7(_0x18e584);},'uFzIo':function(_0x1e2910,_0x3a7571,_0x3183fa){return _0x1e2910(_0x3a7571,_0x3183fa);},'jvXJU':_0x4e24ec(0x15a),'vcOzl':'video-stop','YuWzY':'stop\x20video\x20recording'};switch(_0x5d9cc8){case _0x22d677[_0x4e24ec(0x140)]:{const _0x3fdd9e=extractFirstCommandArgument(_0x36fad3,_0x5d9cc8);return _0x3fdd9e?_0x4e24ec(0x134)+_0x3fdd9e:_0x4e24ec(0x18c);}case _0x22d677['HJMtk']:return'click\x20and\x20inspect\x20'+_0x22d677['kwICB'](formatCommandTarget,_0x22d677[_0x4e24ec(0x162)](extractFirstCommandArgument,_0x36fad3,_0x5d9cc8));case _0x4e24ec(0x167):case _0x22d677[_0x4e24ec(0x145)]:return _0x4e24ec(0x16a)+_0x22d677['kwICB'](formatCommandTarget,_0x22d677['uFzIo'](extractFirstCommandArgument,_0x36fad3,_0x5d9cc8));case'back-and-inspect':return _0x4e24ec(0x13c);case'inspect':return _0x4e24ec(0x169);case _0x4e24ec(0x178):return _0x4e24ec(0x18d);case _0x22d677['vcOzl']:return _0x22d677['YuWzY'];case'close':return'close\x20browser\x20session';default:return _0x5d9cc8;}}function renderScenarioSections(_0x151095){const _0xdd0d7c=_0x3b00,_0x1e900b={'wKmmC':_0xdd0d7c(0x143),'BTnZT':_0xdd0d7c(0x165),'VHmLN':_0xdd0d7c(0x171),'VbRBI':_0xdd0d7c(0x14b),'sACDv':_0xdd0d7c(0x181),'wGbNQ':'element'},{checklistItem:_0x4ee2f4,itemFeedback:_0x2f20b2}=_0x151095,_0x21ee01=_0x4ee2f4[_0xdd0d7c(0x168)]?_0xdd0d7c(0x14e)+_0x4ee2f4[_0xdd0d7c(0x168)]:'';let _0x105052='';if(_0x2f20b2&&_0x2f20b2['unaddressedComments'][_0xdd0d7c(0x148)]>0x0){const _0x2ca1c6=_0x2f20b2['unaddressedComments']['map'](_0x1f1ef3=>{const _0x233e6e=_0xdd0d7c,_0x367346=new Date(_0x1f1ef3['createdAt'])[_0x233e6e(0x17b)](_0x1e900b[_0x233e6e(0x158)],{'month':_0x1e900b[_0x233e6e(0x15d)],'day':_0x1e900b[_0x233e6e(0x170)]}),_0x435262=_0x1f1ef3[_0x233e6e(0x136)]||_0x1f1ef3[_0x233e6e(0x176)]||_0x1e900b['VbRBI'],_0x4d8ffc=_0x1f1ef3['domRef']?'\x20(on\x20element:\x20<'+(_0x1f1ef3['domRef']['selector']['split'](_0x1e900b['sACDv'])['pop']()?.[_0x233e6e(0x16b)](':')[0x0]||_0x1e900b['wGbNQ'])+'>\x20\x22'+(_0x1f1ef3[_0x233e6e(0x142)][_0x233e6e(0x135)]||'')[_0x233e6e(0x138)](0x0,0x32)+'\x22)':'';return _0x233e6e(0x13f)+_0x1f1ef3['id']+']\x20'+_0x435262+'\x20('+_0x367346+'):\x20\x22'+_0x1f1ef3['content']+'\x22'+_0x4d8ffc;})[_0xdd0d7c(0x18a)]('\x0a');_0x105052=_0xdd0d7c(0x16f)+_0x2ca1c6;}const _0x309437=_0x2f20b2?.[_0xdd0d7c(0x185)]?_0xdd0d7c(0x183)+_0x2f20b2[_0xdd0d7c(0x185)]:'';return''+_0x4ee2f4[_0xdd0d7c(0x17e)]+_0x21ee01+_0x105052+_0x309437;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x1d0ce8){const _0x550096=_0x3b00,_0x1a69c0={'gVrtz':_0x550096(0x141),'vwVgH':function(_0x438b99,_0x13713b){return _0x438b99(_0x13713b);},'elKoa':_0x550096(0x164)},{checklistItem:_0x4a140b,itemFeedback:_0x294160,taskDescription:_0x67d2ed,commandPrefix:_0x11d4c9,isCdpMode:_0x26b19b,url:_0x49caa8,cdpEndpoint:_0x84ac41,loginInstructions:_0x4b75b}=_0x1d0ce8,_0x559087='01_initial-state.png',_0x39cc85=_0x1a69c0['gVrtz'],_0x477a8f=_0x26b19b?_0x11d4c9+_0x550096(0x150)+_0x1a69c0['vwVgH'](quoteShellArg,_0x559087):_0x11d4c9+_0x550096(0x184)+quoteShellArg(_0x49caa8??_0x1a69c0[_0x550096(0x166)])+_0x550096(0x156)+quoteShellArg(_0x559087),_0x307c88=_0x26b19b?_0x550096(0x16c)+_0x84ac41+_0x550096(0x17c):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x49caa8+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.',_0x2a3452=_0x4b75b?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4b75b+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x550096(0x17d)+renderScenarioSections({'checklistItem':_0x4a140b,'itemFeedback':_0x294160})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x67d2ed+'\x0a\x0a'+_0x307c88+_0x2a3452+_0x550096(0x18e)+_0x11d4c9+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a'+_0x477a8f+_0x550096(0x153)+_0x11d4c9+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x39cc85)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0xa287b){const _0x43ec7e=_0x3b00,_0x322665={'iqwDe':'01_mozilla-homepage.png','BieVs':function(_0x4e6d80,_0x5937cb){return _0x4e6d80(_0x5937cb);}},_0x2bf6c5=_0x322665[_0x43ec7e(0x131)],_0x35a73c=_0x43ec7e(0x15c);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0xa287b['commandPrefix']+_0x43ec7e(0x15e)+_0xa287b[_0x43ec7e(0x180)]+_0x43ec7e(0x184)+_0x322665[_0x43ec7e(0x18b)](quoteShellArg,_0xa287b['url'])+_0x43ec7e(0x156)+quoteShellArg(_0x2bf6c5)+_0x43ec7e(0x14c)+_0xa287b[_0x43ec7e(0x180)]+_0x43ec7e(0x14d)+_0x322665[_0x43ec7e(0x18b)](quoteShellArg,_0x35a73c)+_0x43ec7e(0x16e);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0xb405e8){const _0xecf0a0=_0x3b00,_0x3da6ff=[..._0xb405e8['keys']()]['sort']();let _0x513427=0x0;for(const _0x5b74a4 of _0xb405e8[_0xecf0a0(0x16d)]()){_0x513427+=_0x5b74a4;}return{'cliCommandCount':_0x513427,'cliCommandsSeen':_0x3da6ff,'noCliCommandsCalled':_0x513427===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x4d0b88){const _0x27f96a=_0x3b00,_0x35f779={'Dywpq':function(_0x7ce63c,_0x46a2ee){return _0x7ce63c!==_0x46a2ee;},'ZHDBz':'PostToolUse','ZNOBq':function(_0x79cc4c,_0x15a758){return _0x79cc4c(_0x15a758);},'imeJC':_0x27f96a(0x139),'MJayB':function(_0x574223,_0x5edb24,_0x4792e9){return _0x574223(_0x5edb24,_0x4792e9);},'VXGiU':'PostToolUseFailure'},_0x13d670=new Map(),_0x5097f4=async _0x3fe0e0=>{const _0x35a093=_0x27f96a;if(_0x35f779['Dywpq'](_0x3fe0e0['hook_event_name'],_0x35f779['ZHDBz']))return{};const _0x500ba0=_0x3fe0e0;if(_0x500ba0[_0x35a093(0x144)]!=='Bash')return{};const _0x12e225=_0x500ba0[_0x35a093(0x177)],_0x57bfc8=_0x35f779['ZNOBq'](extractBashCommand,_0x12e225);if(!_0x57bfc8)return{};const _0x10d902=_0x35f779['ZNOBq'](parseRangerwrightCliCommand,_0x57bfc8);if(!_0x10d902)return{};return _0x13d670[_0x35a093(0x161)](_0x10d902,(_0x13d670[_0x35a093(0x189)](_0x10d902)||0x0)+0x1),_0x4d0b88['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0x10d902}),_0x4d0b88['trackPhaseEnd'](_0x35f779['imeJC'],{'subcommand':_0x10d902,'commandPreview':truncatePreview(_0x57bfc8)}),console[_0x35a093(0x186)]('[rangerwright-cli]\x20'+_0x35f779[_0x35a093(0x13d)](formatRangerwrightCliLog,_0x57bfc8,_0x10d902)),{};},_0x15082b=async _0x4dadf5=>{const _0x55a49e=_0x27f96a;if(_0x4dadf5['hook_event_name']!==_0x35f779[_0x55a49e(0x14a)])return{};const _0x15014a=_0x4dadf5;if(_0x15014a[_0x55a49e(0x144)]!==_0x55a49e(0x133))return{};return await _0x4d0b88[_0x55a49e(0x15b)](_0x55a49e(0x157),_0x15014a['error'],{'transport':'rangerwright-cli','toolName':'Bash'}),{};};return{'postToolUseHook':_0x5097f4,'postToolUseFailureHook':_0x15082b,'commandCounts':_0x13d670};}async function runRangerwrightLifecycleCommand(_0xead98f){const _0x2ce3cc=_0x3b00,_0x394da3={'EzlzT':function(_0x519238,_0x3a359b){return _0x519238(_0x3a359b);},'SCoPk':function(_0x2e51af,_0x1620b2,_0x429add){return _0x2e51af(_0x1620b2,_0x429add);}},{options:_0x5d3153,commandArgs:_0x3100cf,env:_0x1b611d,telemetry:_0xfb1293,phase:_0x1285f9,metadata:_0x39c08d,timeoutMs:_0x11cdb0}=_0xead98f;_0xfb1293['trackPhaseStart'](_0x1285f9,_0x39c08d);try{const _0x126463=await _0x394da3[_0x2ce3cc(0x155)](runRangerwrightCliCommand,{..._0x5d3153,'commandArgs':_0x3100cf,'cwd':process['cwd'](),'env':_0x1b611d,'timeoutMs':_0x11cdb0??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0xfb1293[_0x2ce3cc(0x146)](_0x1285f9,{..._0x39c08d,'subcommand':_0x126463['invocation'][_0x2ce3cc(0x17f)],'stdoutPreview':truncatePreview(_0x126463[_0x2ce3cc(0x163)],0x7d0),'stderrPreview':_0x394da3[_0x2ce3cc(0x137)](truncatePreview,_0x126463['stderr'],0x7d0)});}catch(_0xc9f90a){await _0xfb1293[_0x2ce3cc(0x15b)](_0x1285f9,_0xc9f90a,_0x39c08d);throw _0xc9f90a;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x3fd5da){const _0x36aa27=_0x3b00,_0x4e87cf={'FvwbI':_0x36aa27(0x178),'agwIO':function(_0x2ce392,_0x5e9393){return _0x2ce392(_0x5e9393);}},{telemetry:_0x3bd0ef,rangerwrightOptions:_0x21fa45,env:_0x374804,transportMetadata:_0x5ca57b}=_0x3fd5da,_0x8849ff=[{'phase':_0x36aa27(0x152),'commandArgs':[_0x4e87cf['FvwbI']]},{'phase':'rangerwright_cli_video_stop','commandArgs':[_0x36aa27(0x160)]},{'phase':_0x36aa27(0x175),'commandArgs':[_0x36aa27(0x159)]}];for(const _0x4d1c96 of _0x8849ff){try{await _0x4e87cf['agwIO'](runRangerwrightLifecycleCommand,{'options':_0x21fa45,'commandArgs':[..._0x4d1c96['commandArgs']],'env':_0x374804,'telemetry':_0x3bd0ef,'phase':_0x4d1c96['phase'],'metadata':_0x5ca57b});}catch{}}}
|
|
1
|
+
(function(_0x508dd0,_0x4da841){const _0x104deb=_0x4522,_0x278e7b=_0x508dd0();while(!![]){try{const _0x2aed14=-parseInt(_0x104deb(0xf4))/0x1*(parseInt(_0x104deb(0xa6))/0x2)+-parseInt(_0x104deb(0xe7))/0x3*(-parseInt(_0x104deb(0xad))/0x4)+parseInt(_0x104deb(0xe1))/0x5*(parseInt(_0x104deb(0xdb))/0x6)+-parseInt(_0x104deb(0xec))/0x7+parseInt(_0x104deb(0xca))/0x8+-parseInt(_0x104deb(0xd7))/0x9+parseInt(_0x104deb(0xf7))/0xa*(parseInt(_0x104deb(0xe5))/0xb);if(_0x2aed14===_0x4da841)break;else _0x278e7b['push'](_0x278e7b['shift']());}catch(_0x57005c){_0x278e7b['push'](_0x278e7b['shift']());}}}(_0x4db7,0x9aa0c));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';function _0x4db7(){const _0xc6318=['32847bBozPb','KvUsI','fill\x20','mTGFU','PostToolUse','425936PnhNzf','rangerwright_cli_command_failure','numeric','length','open\x20and\x20inspect\x20','authorName','trackPhaseStart','trackPhaseError','1248151wOOVHd','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','pop','1840UZgwhM','close','JiHNl','stringify','trackPhaseEnd','AMvyH','TSQLa','2UbKdJY','...','lRnlw','textContent','stderr','vlmUG','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','4yrtgYH','inspect\x20page','element','cwd','):\x20\x22','XqSco','selector','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','Reviewer','01_initial-state.png','createdAt','khdPj','NMzhn','rangerwright-cli','replace','TLNZM','open\x20and\x20inspect','target','\x20--screenshot-path\x20','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','split','log','slice','back-and-inspect','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','set','tool_name','inspect','unaddressedComments','5183832ATfJFY','click-and-inspect','go\x20back\x20and\x20inspect','video-stop','domRef','HhZCS','hook_event_name','stdout','kntUO','fill-and-inspect','LiAVC','>\x20\x22','[rangerwright-cli]\x20','10709136eiTQjX','01_mozilla-homepage.png','agCDc','\x20>\x20','114PcXnXy','AzzZB','\x5c$&','nFtBg','phase','toLocaleDateString','167005pZbUGc','tool_input','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','subcommand','109923VsFbaF','invocation'];_0x4db7=function(){return _0xc6318;};return _0x4db7();}import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x13a07d,_0x1886cf=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x287069=_0x4522,_0x9052={'XqSco':function(_0x3a546f,_0x81af4e){return _0x3a546f>_0x81af4e;},'JEBxo':_0x287069(0xa7)};return _0x9052[_0x287069(0xb2)](_0x13a07d[_0x287069(0xef)],_0x1886cf)?_0x13a07d['slice'](0x0,_0x1886cf)+_0x9052['JEBxo']:_0x13a07d;}function extractShellValue(_0x2645a7){if(!_0x2645a7)return null;return _0x2645a7[0x1]??_0x2645a7[0x2]??_0x2645a7[0x3]??null;}function extractFirstCommandArgument(_0x33307e,_0x311d75){const _0x2d6304=_0x4522,_0x568120={'AMvyH':_0x2d6304(0xdd),'AzzZB':function(_0x12e441,_0x2d0140){return _0x12e441(_0x2d0140);}},_0x3a27de=_0x311d75[_0x2d6304(0xbb)](/[.*+?^${}()|[\]\\]/g,_0x568120[_0x2d6304(0xa4)]);return _0x568120[_0x2d6304(0xdc)](extractShellValue,_0x33307e['match'](new RegExp('(?:^|\x5cs)'+_0x3a27de+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x390667){const _0x18846b=_0x4522;if(!_0x390667)return _0x18846b(0xbe);if(/^e\d+$/i['test'](_0x390667))return'ref\x20'+_0x390667;return JSON[_0x18846b(0xa2)](truncatePreview(_0x390667,0x78));}function formatRangerwrightCliLog(_0x3a0936,_0x28742d){const _0x5ae985=_0x4522,_0x1a1693={'nFtBg':'open-and-inspect','lRnlw':function(_0x50910c,_0x1e6451,_0x163d5d){return _0x50910c(_0x1e6451,_0x163d5d);},'OAloe':_0x5ae985(0xcb),'UFXHB':function(_0x65904f,_0x11f2b6){return _0x65904f(_0x11f2b6);},'IXlPU':_0x5ae985(0xd3),'HhZCS':_0x5ae985(0xae),'gWncy':'tracing-stop'};switch(_0x28742d){case _0x1a1693[_0x5ae985(0xde)]:{const _0x2554ee=_0x1a1693[_0x5ae985(0xa8)](extractFirstCommandArgument,_0x3a0936,_0x28742d);return _0x2554ee?_0x5ae985(0xf0)+_0x2554ee:_0x5ae985(0xbd);}case _0x1a1693['OAloe']:return'click\x20and\x20inspect\x20'+_0x1a1693['UFXHB'](formatCommandTarget,extractFirstCommandArgument(_0x3a0936,_0x28742d));case'fill':case _0x1a1693['IXlPU']:return _0x5ae985(0xe9)+formatCommandTarget(_0x1a1693[_0x5ae985(0xa8)](extractFirstCommandArgument,_0x3a0936,_0x28742d));case _0x5ae985(0xc4):return _0x5ae985(0xcc);case _0x5ae985(0xc8):return _0x1a1693[_0x5ae985(0xcf)];case _0x1a1693['gWncy']:return'stop\x20tracing';case'video-stop':return'stop\x20video\x20recording';case _0x5ae985(0xa0):return'close\x20browser\x20session';default:return _0x28742d;}}function renderScenarioSections(_0x482b4f){const _0x31ea56=_0x4522,_0x41d809={'kntUO':_0x31ea56(0xda),'UynBF':function(_0x1d3fa5,_0x3882f0){return _0x1d3fa5>_0x3882f0;}},{checklistItem:_0x1424f7,itemFeedback:_0xb3e152}=_0x482b4f,_0x44a309=_0x1424f7['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1424f7['notes']:'';let _0x3b2b0f='';if(_0xb3e152&&_0x41d809['UynBF'](_0xb3e152[_0x31ea56(0xc9)]['length'],0x0)){const _0x5d8555=_0xb3e152[_0x31ea56(0xc9)]['map'](_0x4a1333=>{const _0x469b7c=_0x31ea56,_0x17d792=new Date(_0x4a1333[_0x469b7c(0xb7)])[_0x469b7c(0xe0)]('en-US',{'month':'short','day':_0x469b7c(0xee)}),_0x4a58c6=_0x4a1333[_0x469b7c(0xf1)]||_0x4a1333['authorEmail']||_0x469b7c(0xb5),_0x5f1e70=_0x4a1333['domRef']?'\x20(on\x20element:\x20<'+(_0x4a1333[_0x469b7c(0xce)][_0x469b7c(0xb3)][_0x469b7c(0xc1)](_0x41d809[_0x469b7c(0xd2)])[_0x469b7c(0xf6)]()?.[_0x469b7c(0xc1)](':')[0x0]||_0x469b7c(0xaf))+_0x469b7c(0xd5)+(_0x4a1333[_0x469b7c(0xce)][_0x469b7c(0xa9)]||'')[_0x469b7c(0xc3)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4a1333['id']+']\x20'+_0x4a58c6+'\x20('+_0x17d792+_0x469b7c(0xb1)+_0x4a1333['content']+'\x22'+_0x5f1e70;})['join']('\x0a');_0x3b2b0f='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x5d8555;}const _0x1a7ea7=_0xb3e152?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0xb3e152['canonicalFlow']:'';return''+_0x1424f7['description']+_0x44a309+_0x3b2b0f+_0x1a7ea7;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x14cfd4){const _0x4bb5b1=_0x4522,_0x52ce9d={'KvUsI':_0x4bb5b1(0xb6),'qwSiC':'key_99_final-state.png','LiAVC':function(_0x307749,_0xb3fe53){return _0x307749(_0xb3fe53);},'joHeE':function(_0x1fa80d,_0x21d709){return _0x1fa80d??_0x21d709;},'NMzhn':'about:blank'},{checklistItem:_0x22a9e9,itemFeedback:_0x4d1275,taskDescription:_0x45f8d5,commandPrefix:_0x537a6f,isCdpMode:_0x571b62,url:_0x4f3708,cdpEndpoint:_0xe0e327,loginInstructions:_0x17abf7}=_0x14cfd4,_0x5c8cf6=_0x52ce9d[_0x4bb5b1(0xe8)],_0x2eef79=_0x52ce9d['qwSiC'],_0x2c23aa=_0x571b62?_0x537a6f+'\x20inspect\x20--screenshot-path\x20'+_0x52ce9d[_0x4bb5b1(0xd4)](quoteShellArg,_0x5c8cf6):_0x537a6f+'\x20open-and-inspect\x20'+quoteShellArg(_0x52ce9d['joHeE'](_0x4f3708,_0x52ce9d[_0x4bb5b1(0xb9)]))+_0x4bb5b1(0xbf)+quoteShellArg(_0x5c8cf6),_0x4f1f44=_0x571b62?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0xe0e327+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x4bb5b1(0xc0)+_0x4f3708+_0x4bb5b1(0xf5),_0x225de6=_0x17abf7?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x17abf7+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+renderScenarioSections({'checklistItem':_0x22a9e9,'itemFeedback':_0x4d1275})+_0x4bb5b1(0xac)+_0x45f8d5+'\x0a\x0a'+_0x4f1f44+_0x225de6+_0x4bb5b1(0xe3)+_0x537a6f+_0x4bb5b1(0xc5)+_0x2c23aa+'\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a'+_0x537a6f+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x2eef79)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x682a5a){const _0x119168=_0x4522,_0x18f1ed={'Guwth':function(_0x289f5c,_0x5d3c71){return _0x289f5c(_0x5d3c71);}},_0x37d4d4=_0x119168(0xd8),_0x55857e='key_02_learn-more.png';return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x682a5a['commandPrefix']+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`'+_0x682a5a['commandPrefix']+'\x20open-and-inspect\x20'+_0x18f1ed['Guwth'](quoteShellArg,_0x682a5a['url'])+_0x119168(0xbf)+quoteShellArg(_0x37d4d4)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x682a5a['commandPrefix']+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x55857e)+_0x119168(0xb4);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x4e8c36){const _0x56ce52=[..._0x4e8c36['keys']()]['sort']();let _0x3d2bcf=0x0;for(const _0x2965f6 of _0x4e8c36['values']()){_0x3d2bcf+=_0x2965f6;}return{'cliCommandCount':_0x3d2bcf,'cliCommandsSeen':_0x56ce52,'noCliCommandsCalled':_0x3d2bcf===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x142714){const _0x4e56d8={'TSQLa':function(_0x1a9d5c,_0x56f560){return _0x1a9d5c!==_0x56f560;},'DmkKQ':function(_0x45c359,_0x275220){return _0x45c359!==_0x275220;},'dHewP':'Bash','MVYes':function(_0x5689e4,_0x23c421){return _0x5689e4(_0x23c421);},'Gooul':function(_0x493661,_0x34859c,_0x9b3782){return _0x493661(_0x34859c,_0x9b3782);},'mTGFU':function(_0x229e66,_0x541517){return _0x229e66!==_0x541517;},'TLNZM':'PostToolUseFailure'},_0x3b9892=new Map(),_0x35406f=async _0x348d53=>{const _0x190a4a=_0x4522;if(_0x4e56d8[_0x190a4a(0xa5)](_0x348d53[_0x190a4a(0xd0)],_0x190a4a(0xeb)))return{};const _0x406c7f=_0x348d53;if(_0x4e56d8['DmkKQ'](_0x406c7f['tool_name'],_0x4e56d8['dHewP']))return{};const _0x2e2a59=_0x406c7f[_0x190a4a(0xe2)],_0x4d1df2=extractBashCommand(_0x2e2a59);if(!_0x4d1df2)return{};const _0x45976f=parseRangerwrightCliCommand(_0x4d1df2);if(!_0x45976f)return{};return _0x3b9892[_0x190a4a(0xc6)](_0x45976f,(_0x3b9892['get'](_0x45976f)||0x0)+0x1),_0x142714[_0x190a4a(0xf2)]('rangerwright_cli_command',{'subcommand':_0x45976f}),_0x142714['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x45976f,'commandPreview':_0x4e56d8['MVYes'](truncatePreview,_0x4d1df2)}),console[_0x190a4a(0xc2)](_0x190a4a(0xd6)+_0x4e56d8['Gooul'](formatRangerwrightCliLog,_0x4d1df2,_0x45976f)),{};},_0x40869a=async _0x213c01=>{const _0x3b3ae6=_0x4522;if(_0x4e56d8[_0x3b3ae6(0xea)](_0x213c01['hook_event_name'],_0x4e56d8[_0x3b3ae6(0xbc)]))return{};const _0xc31895=_0x213c01;if(_0xc31895[_0x3b3ae6(0xc7)]!=='Bash')return{};return await _0x142714[_0x3b3ae6(0xf3)](_0x3b3ae6(0xed),_0xc31895['error'],{'transport':_0x3b3ae6(0xba),'toolName':_0x4e56d8['dHewP']}),{};};return{'postToolUseHook':_0x35406f,'postToolUseFailureHook':_0x40869a,'commandCounts':_0x3b9892};}async function runRangerwrightLifecycleCommand(_0x46d415){const _0x39c9c7=_0x4522,_0x277510={'ktRFv':function(_0x48afe1,_0x5ebd84){return _0x48afe1??_0x5ebd84;},'vlmUG':function(_0x1ce070,_0x2611be,_0x27bdef){return _0x1ce070(_0x2611be,_0x27bdef);}},{options:_0x14d964,commandArgs:_0x52dda2,env:_0x30e001,telemetry:_0x362d0b,phase:_0x20144e,metadata:_0x415e09,timeoutMs:_0x46b117}=_0x46d415;_0x362d0b['trackPhaseStart'](_0x20144e,_0x415e09);try{const _0x4d32d4=await runRangerwrightCliCommand({..._0x14d964,'commandArgs':_0x52dda2,'cwd':process[_0x39c9c7(0xb0)](),'env':_0x30e001,'timeoutMs':_0x277510['ktRFv'](_0x46b117,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x362d0b[_0x39c9c7(0xa3)](_0x20144e,{..._0x415e09,'subcommand':_0x4d32d4[_0x39c9c7(0xe6)][_0x39c9c7(0xe4)],'stdoutPreview':_0x277510[_0x39c9c7(0xab)](truncatePreview,_0x4d32d4[_0x39c9c7(0xd1)],0x7d0),'stderrPreview':truncatePreview(_0x4d32d4[_0x39c9c7(0xaa)],0x7d0)});}catch(_0xd49113){await _0x362d0b[_0x39c9c7(0xf3)](_0x20144e,_0xd49113,_0x415e09);throw _0xd49113;}}function _0x4522(_0x33fdca,_0x44211f){_0x33fdca=_0x33fdca-0xa0;const _0x4db744=_0x4db7();let _0x452243=_0x4db744[_0x33fdca];return _0x452243;}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x294b85){const _0x5d5f80=_0x4522,_0x5d7c21={'CTJij':'tracing-stop','gpIPd':_0x5d5f80(0xcd),'JiHNl':'rangerwright_cli_close','khdPj':_0x5d5f80(0xa0),'agCDc':function(_0x8a0dea,_0x3c44cd){return _0x8a0dea(_0x3c44cd);}},{telemetry:_0x46b586,rangerwrightOptions:_0x189d54,env:_0x112b27,transportMetadata:_0x4db524}=_0x294b85,_0x37eed9=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':[_0x5d7c21['CTJij']]},{'phase':'rangerwright_cli_video_stop','commandArgs':[_0x5d7c21['gpIPd']]},{'phase':_0x5d7c21[_0x5d5f80(0xa1)],'commandArgs':[_0x5d7c21[_0x5d5f80(0xb8)]]}];for(const _0x329d2b of _0x37eed9){try{await _0x5d7c21[_0x5d5f80(0xd9)](runRangerwrightLifecycleCommand,{'options':_0x189d54,'commandArgs':[..._0x329d2b['commandArgs']],'env':_0x112b27,'telemetry':_0x46b586,'phase':_0x329d2b[_0x5d5f80(0xdf)],'metadata':_0x4db524});}catch{}}}
|