@ranger-testing/ranger-cli 3.1.7-alpha.be2850d-64 → 3.1.7-alpha.e26cd28-63
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/actors.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/scenarioOriginCheck.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/tunnelClient.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/build/skills/ranger/SKILL.md +0 -8
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x28ec65,_0x2f7978){const _0x45cd62=_0x3790,_0x278990=_0x28ec65();while(!![]){try{const _0x32d06c=parseInt(_0x45cd62(0x100))/0x1+parseInt(_0x45cd62(0x129))/0x2*(parseInt(_0x45cd62(0xf3))/0x3)+-parseInt(_0x45cd62(0x137))/0x4+parseInt(_0x45cd62(0x141))/0x5+parseInt(_0x45cd62(0x11e))/0x6*(-parseInt(_0x45cd62(0x136))/0x7)+parseInt(_0x45cd62(0xda))/0x8*(-parseInt(_0x45cd62(0xcf))/0x9)+parseInt(_0x45cd62(0x132))/0xa;if(_0x32d06c===_0x2f7978)break;else _0x278990['push'](_0x278990['shift']());}catch(_0x1d983f){_0x278990['push'](_0x278990['shift']());}}}(_0x1431,0x27d31));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';function _0x1431(){const _0x3a097b=['\x20open`,\x20then\x20`','423bBwbMV','screenshot','Vdecv','vNuYP','EEcWe','\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',']\x20**','\x20snapshot\x20--filename\x20','pop','textContent','open\x20','31448XauiPg','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','\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','Bash','error','stderr','playwright-cli','capture\x20key\x20step\x20`','notes','map','open\x20browser','\x20/\x20','aXjod','BxzKb','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','ZbPDL','push','capture\x20step\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','playwright_cli_video_stop','log','vVMbP','\x0a\x0a##\x20Additional\x20Notes\x0a','the\x20primary\x20actor','capture\x20screenshot','69TVnpdS','`\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`','xUWGH','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','-\x20[','qBExu','Nyoow','QPEdO','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','trace.zip','TsAVL','254344qbGJdk','commandArgs','Reviewer','UKaxH','pROFE','DEBUG','name','03_result-visible.png','jRxhK','WyKAr','canonicalFlow','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','`\x20(e.g.\x20`','\x22,\x20\x22','02_learn-more.yml','WGSFP','trackPhaseError','\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','join','kdgTx','replace','start\x20video\x20recording','`:\x20\x22','stdout','artifactDir','capture\x20snapshot\x20`','\x20>\x20','snapshot','\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','mtimeMs','168372EprUYu','subcommand','\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a','open\x20new\x20tab','select\x20tab\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','>\x20\x22','tracing-stop','TYEMW','actorPrefixes','open','9908wqhInF','\x20open\x20','capture\x20snapshot','open\x20new\x20tab\x20','ijCVO','trace.trace.zip','[ranger-verification-agent]\x20','domRef','slice','2857640ZDJPNJ','match','session-recording.webm','env','21LbECEo','925096doGgcB','selector','get','set','`\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`','test','\x0a\x0a1.\x20Run\x20`','\x20tracing-start`,\x20then\x20`','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks','split','46440bbGbNe','stop\x20video\x20recording','sort','\x20(on\x20element:\x20<','description','\x20screenshot\x20--filename\x20','createdAt','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','video-start','HerhY','tool_name','/01_state.png`).','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','tool_call','trackPhaseStart','**\x20(','sUrDH','srUSL','close','trackPhaseEnd','--filename=','length','PostToolUse','unaddressedComments','toLocaleDateString','element','\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','prefix','\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-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\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.','(?:^|\x5cs)','phase'];_0x1431=function(){return _0x3a097b;};return _0x1431();}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 _0x3790(_0xe04b1a,_0x46cf02){_0xe04b1a=_0xe04b1a-0xc9;const _0x143187=_0x1431();let _0x379087=_0x143187[_0xe04b1a];return _0x379087;}function truncatePreview(_0x219667,_0xa10bad=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1062ed=_0x3790,_0x8d85c={'jRxhK':function(_0x34e1d0,_0x375a12){return _0x34e1d0>_0x375a12;},'CUGAH':function(_0x5c77d6,_0xf302bf){return _0x5c77d6+_0xf302bf;}};return _0x8d85c[_0x1062ed(0x108)](_0x219667['length'],_0xa10bad)?_0x8d85c['CUGAH'](_0x219667['slice'](0x0,_0xa10bad),'...'):_0x219667;}function buildCliArtifactPath(_0x593d02,_0x2ecc48){return join(_0x593d02,_0x2ecc48);}function toStepDisplayName(_0x4c3fce){const _0x59cb39=_0x3790,_0x2fb0f5=basename(_0x4c3fce)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x59cb39(0x114)](/^key_/i,'')[_0x59cb39(0x114)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x2fb0f5,'isKeyStep':/^key_/i[_0x59cb39(0x13c)](basename(_0x4c3fce))};}function extractShellValue(_0x21667d){if(!_0x21667d)return null;return _0x21667d[0x1]??_0x21667d[0x2]??_0x21667d[0x3]??null;}function extractFilenameOption(_0x5c3524){const _0x2adcbe=_0x3790;return extractShellValue(_0x5c3524[_0x2adcbe(0x133)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x30a255,_0x56f567){const _0x217a03=_0x3790,_0x29711d={'ZjPIT':'\x5c$&'},_0xd95e6b=_0x56f567[_0x217a03(0x114)](/[.*+?^${}()|[\]\\]/g,_0x29711d['ZjPIT']);return extractShellValue(_0x30a255[_0x217a03(0x133)](new RegExp(_0x217a03(0xcc)+_0xd95e6b+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x44ef0a){const _0x8e7f19=_0x3790;if(!_0x44ef0a)return'target';if(/^e\d+$/i[_0x8e7f19(0x13c)](_0x44ef0a))return'ref\x20'+_0x44ef0a;return JSON['stringify'](truncatePreview(_0x44ef0a,0x78));}function formatPlaywrightCliLog(_0x1207c6,_0x2fce51){const _0x291e0b=_0x3790,_0x402f57={'nrpOF':_0x291e0b(0xe4),'EWkMJ':'tracing-start','xUdFM':'start\x20tracing','kdgTx':_0x291e0b(0x125),'rhlWM':_0x291e0b(0x149),'Nyoow':'video-stop','FYRQS':function(_0x30fc4c,_0xe545a2){return _0x30fc4c(_0xe545a2);},'kkTkT':_0x291e0b(0x12b),'JMKPX':function(_0x24c095,_0x53ead0){return _0x24c095(_0x53ead0);},'srUSL':'check','lAlGH':function(_0x2372b8,_0xb2172d){return _0x2372b8(_0xb2172d);},'sYGDA':function(_0x773fc3,_0x1a124b){return _0x773fc3(_0x1a124b);},'ijCVO':function(_0x393b64,_0x51bc5f,_0x394fc2){return _0x393b64(_0x51bc5f,_0x394fc2);},'UKaxH':'press','fhkYq':'run-code','vVMbP':'run\x20custom\x20Playwright\x20code','zskVK':'select\x20tab'};switch(_0x2fce51){case _0x291e0b(0x128):{const _0x2f9c22=extractFirstCommandArgument(_0x1207c6,_0x2fce51);return _0x2f9c22?_0x291e0b(0xd9)+_0x2f9c22:_0x402f57['nrpOF'];}case _0x402f57['EWkMJ']:return _0x402f57['xUdFM'];case _0x402f57[_0x291e0b(0x113)]:return'stop\x20tracing';case _0x402f57['rhlWM']:return _0x291e0b(0x115);case _0x402f57[_0x291e0b(0xf9)]:return _0x291e0b(0x142);case'snapshot':{const _0x2f0d32=_0x402f57['FYRQS'](extractFilenameOption,_0x1207c6);if(!_0x2f0d32)return _0x402f57['kkTkT'];const {name:_0x273c7e}=toStepDisplayName(_0x2f0d32);return _0x291e0b(0x119)+_0x273c7e+'`';}case _0x291e0b(0xd0):{const _0x36719d=extractFilenameOption(_0x1207c6);if(!_0x36719d)return _0x291e0b(0xf2);const {name:_0xc6ca0e,isKeyStep:_0x37e2d4}=_0x402f57['JMKPX'](toStepDisplayName,_0x36719d);return _0x37e2d4?_0x291e0b(0xe1)+_0xc6ca0e+'`':_0x291e0b(0xeb)+_0xc6ca0e+'`';}case'click':return'click\x20'+_0x402f57['JMKPX'](formatCommandTarget,extractFirstCommandArgument(_0x1207c6,_0x2fce51));case _0x402f57[_0x291e0b(0x152)]:return'check\x20'+_0x402f57['lAlGH'](formatCommandTarget,extractFirstCommandArgument(_0x1207c6,_0x2fce51));case'fill':return'fill\x20'+_0x402f57['sYGDA'](formatCommandTarget,_0x402f57[_0x291e0b(0x12d)](extractFirstCommandArgument,_0x1207c6,_0x2fce51));case _0x402f57[_0x291e0b(0x103)]:return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x1207c6,_0x2fce51));case _0x402f57['fhkYq']:return _0x402f57[_0x291e0b(0xef)];case'tab-new':{const _0x7db7c5=_0x402f57['ijCVO'](extractFirstCommandArgument,_0x1207c6,_0x2fce51);return _0x7db7c5?_0x291e0b(0x12c)+_0x7db7c5:_0x291e0b(0x121);}case'tab-select':{const _0x3bb80f=extractFirstCommandArgument(_0x1207c6,_0x2fce51);return _0x3bb80f?_0x291e0b(0x122)+_0x3bb80f:_0x402f57['zskVK'];}default:return _0x2fce51;}}function extractPlaywrightCliToolDescription(_0x536f1a){const _0x5bf7a3=_0x3790,_0xfef4fa={'ssnYO':function(_0x4eb77a,_0xbf755e){return _0x4eb77a!==_0xbf755e;}},_0xccc4f8=_0x536f1a['description'];if(_0xfef4fa['ssnYO'](typeof _0xccc4f8,'string'))return null;const _0x24da89=_0xccc4f8['trim']()[_0x5bf7a3(0x114)](/\s+/g,'\x20');return _0x24da89['length']>0x0?_0x24da89:null;}export function formatPlaywrightCliConsoleLogMessage(_0x295a3f,_0x421282,_0xb80500){const _0x4d585f=_0x3790,_0x164e88=formatPlaywrightCliLog(_0x421282,_0xb80500),_0x228218=extractPlaywrightCliToolDescription(_0x295a3f);if(!_0x228218)return'[playwright-cli]\x20'+_0x164e88;if(process[_0x4d585f(0x135)][_0x4d585f(0x105)])return'[ranger-verification-agent]\x20'+_0x228218+'\x20('+_0x164e88+')';return _0x4d585f(0x12f)+_0x228218;}export function buildVerifyFeatureCliDebugPrompt(_0x1e6a02,_0x190e79){const _0x3eb22d=_0x3790,_0x854a96={'KQVlN':'00_mozilla-homepage.yml','rfILC':function(_0x43f8f4,_0x2f4cc3,_0x2750c0){return _0x43f8f4(_0x2f4cc3,_0x2750c0);},'dVQpp':'01_mozilla-homepage.png','HerhY':'03_learn-more.png','BHSPC':function(_0x8ba3e9,_0x255811){return _0x8ba3e9(_0x255811);},'pROFE':function(_0x3c36b8,_0x1074e4){return _0x3c36b8(_0x1074e4);},'WiMpg':function(_0x4450f0,_0x352d2e){return _0x4450f0(_0x352d2e);}},_0x12d2ea=buildCliArtifactPath(_0x190e79,_0x854a96['KQVlN']),_0x4b6c9b=_0x854a96['rfILC'](buildCliArtifactPath,_0x190e79,_0x854a96['dVQpp']),_0x2abede=buildCliArtifactPath(_0x190e79,_0x3eb22d(0x10e)),_0x14997e=_0x854a96['rfILC'](buildCliArtifactPath,_0x190e79,_0x854a96[_0x3eb22d(0x14a)]),_0x10cbcc=_0x854a96['BHSPC'](quoteShellArg,_0x12d2ea),_0x254b68=_0x854a96[_0x3eb22d(0x104)](quoteShellArg,_0x4b6c9b),_0x4f53ef=_0x854a96['WiMpg'](quoteShellArg,_0x2abede),_0x4ccc81=quoteShellArg(_0x14997e);return _0x3eb22d(0x148)+_0x1e6a02+_0x3eb22d(0x13d)+_0x1e6a02+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x1e6a02+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x1e6a02+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x190e79+_0x3eb22d(0xfd)+_0x1e6a02+'\x20snapshot\x20--filename\x20'+_0x10cbcc+_0x3eb22d(0xdb)+_0x1e6a02+'\x20screenshot\x20--filename\x20'+_0x254b68+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x1e6a02+_0x3eb22d(0xd6)+_0x4f53ef+'`\x0a9.\x20Run\x20`'+_0x1e6a02+_0x3eb22d(0x146)+_0x4ccc81+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x126b89){const _0x119032=_0x3790,_0x5389f8={'izEsS':'numeric','sUrDH':_0x119032(0x11a),'TsAVL':_0x119032(0x15a),'mwMma':'01_initial.yml','XBRZj':function(_0x243af2,_0x34f1d9,_0x1d16e2){return _0x243af2(_0x34f1d9,_0x1d16e2);},'HGkWS':function(_0x22d144,_0x245831){return _0x22d144>_0x245831;},'WGSFP':function(_0x4d410a,_0x729c8f){return _0x4d410a(_0x729c8f);},'vNuYP':_0x119032(0xe5),'DPXtk':function(_0x2cf893,_0x446de6,_0x552208){return _0x2cf893(_0x446de6,_0x552208);},'QPEdO':'02_button-clicked.png','rlyqN':_0x119032(0x107),'JjMeR':'key_04_success-state.png'},{checklistItem:_0x1d3e43,itemFeedback:_0x19ef0d,taskDescription:_0xfa11ca,cliCommandPrefix:_0xd1563c,cliArtifactDir:_0x1a341d,isCdpMode:_0x218b46,url:_0x3cb76d,cdpEndpoint:_0x266ef7,loginInstructions:_0x379dbf}=_0x126b89,_0x182946=buildCliArtifactPath(_0x1a341d,_0x5389f8['mwMma']),_0x488890=_0x5389f8['XBRZj'](buildCliArtifactPath,_0x1a341d,'02_state.yml'),_0x55a47e=buildCliArtifactPath(_0x1a341d,'key_03_success-state.png'),_0x5ee868=buildCliArtifactPath(_0x1a341d,'01_initial-state.png'),_0x51c29a=quoteShellArg(_0x182946),_0x48ac38=quoteShellArg(_0x488890),_0x3b8644=quoteShellArg(_0x55a47e),_0x3662a0=quoteShellArg(_0x5ee868),_0x2e0880=_0x1d3e43['notes']?_0x119032(0xf0)+_0x1d3e43[_0x119032(0xe2)]:'';let _0x450e1f='';if(_0x19ef0d&&_0x5389f8['HGkWS'](_0x19ef0d[_0x119032(0x158)][_0x119032(0x156)],0x0)){const _0x49c2e7=_0x19ef0d[_0x119032(0x158)][_0x119032(0xe3)](_0x24328c=>{const _0x1e7949=_0x119032,_0x5c54d6=new Date(_0x24328c[_0x1e7949(0x147)])[_0x1e7949(0x159)]('en-US',{'month':'short','day':_0x5389f8['izEsS']}),_0x164f70=_0x24328c['authorName']||_0x24328c['authorEmail']||_0x1e7949(0x102),_0x15a044=_0x24328c[_0x1e7949(0x130)]?_0x1e7949(0x144)+(_0x24328c['domRef'][_0x1e7949(0x138)][_0x1e7949(0x140)](_0x5389f8[_0x1e7949(0x151)])[_0x1e7949(0xd7)]()?.[_0x1e7949(0x140)](':')[0x0]||_0x5389f8[_0x1e7949(0xff)])+_0x1e7949(0x124)+(_0x24328c['domRef'][_0x1e7949(0xd8)]||'')[_0x1e7949(0x131)](0x0,0x32)+'\x22)':'';return _0x1e7949(0xf7)+_0x24328c['id']+_0x1e7949(0xd5)+_0x164f70+_0x1e7949(0x150)+_0x5c54d6+'):\x20\x22'+_0x24328c['content']+'\x22'+_0x15a044;})['join']('\x0a');_0x450e1f='\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'+_0x49c2e7;}const _0x45899f=_0x19ef0d?.['canonicalFlow']?_0x119032(0xfc)+_0x19ef0d[_0x119032(0x10a)]:'',_0x189c27=_0x218b46?_0x119032(0xfb)+_0x266ef7+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x119032(0xe8)+_0x3cb76d+_0x119032(0xdc),_0x1b8dfb=_0x3cb76d?_0x5389f8[_0x119032(0x10f)](quoteShellArg,_0x3cb76d):'',_0x344160=_0x218b46?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xd1563c+_0x119032(0xce)+_0xd1563c+'\x20tracing-start`,\x20then\x20`'+_0xd1563c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1a341d+_0x119032(0x10b)+_0xd1563c+_0x119032(0xd6)+_0x51c29a+_0x119032(0x13b)+_0xd1563c+_0x119032(0x146)+_0x3662a0+_0x119032(0xec)+_0xd1563c+'\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':'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xd1563c+_0x119032(0x12a)+_0x1b8dfb+'`,\x20then\x20`'+_0xd1563c+_0x119032(0x13e)+_0xd1563c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1a341d+_0x119032(0x10b)+_0xd1563c+_0x119032(0xd6)+_0x51c29a+_0x119032(0xf4)+_0xd1563c+'\x20screenshot\x20--filename\x20'+_0x3662a0+_0x119032(0x14d)+_0xd1563c+_0x119032(0x11c),_0x279e64=_0x218b46?'\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.':_0x119032(0xcb),_0x19b7af=_0x379dbf?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x379dbf+'\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.':'',_0x25351b=_0x126b89['actorPrefixes']&&_0x126b89['actorPrefixes']['length']>=0x2?_0x119032(0x120)+_0x126b89['actorPrefixes'][_0x119032(0xe3)](_0x195740=>'-\x20As\x20'+_0x195740['label']+',\x20…\x20\x20→\x20\x20`'+_0x195740['prefix']+'`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`'+_0x195740['artifactDir']+_0x119032(0x10c)+_0x195740[_0x119032(0xca)]+_0x119032(0x146)+_0x195740[_0x119032(0x118)]+_0x119032(0x14c))['join']('\x0a')+'\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20('+_0x126b89[_0x119032(0x127)]['map'](_0x178f37=>'\x22As\x20'+_0x178f37['label']+',\x20…\x22')[_0x119032(0x112)](_0x5389f8[_0x119032(0xd2)])+_0x119032(0xc9)+(_0x126b89['actorPrefixes'][0x0]?.['label']??_0x119032(0xf1))+_0x119032(0x15b):'';return _0x119032(0xf6)+_0x1d3e43[_0x119032(0x145)]+_0x2e0880+_0x450e1f+_0x45899f+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0xfa11ca+'\x0a\x0a'+_0x189c27+_0x19b7af+'\x0a\x0a'+_0x344160+_0x119032(0x123)+_0xd1563c+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x1a341d+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x48ac38+'`\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'+_0x3b8644+_0x119032(0x13f)+_0x25351b+'\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`'+_0x1a341d+_0x119032(0x116)+_0x5ee868+_0x119032(0x10d)+_0x5389f8['DPXtk'](buildCliArtifactPath,_0x1a341d,_0x5389f8[_0x119032(0xfa)])+'\x22,\x20\x22'+buildCliArtifactPath(_0x1a341d,_0x5389f8['rlyqN'])+_0x119032(0xd4)+buildCliArtifactPath(_0x1a341d,_0x5389f8['JjMeR'])+_0x119032(0x111)+_0x279e64+'\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(_0x547927){const _0x52d5f1=_0x3790,_0x444530={'vygFt':function(_0x5f27,_0x1ee979){return _0x5f27===_0x1ee979;}},_0x5e78d5=[..._0x547927['keys']()][_0x52d5f1(0x143)]();let _0x4910b3=0x0;for(const _0x5c67e2 of _0x547927['values']()){_0x4910b3+=_0x5c67e2;}return{'cliCommandCount':_0x4910b3,'cliCommandsSeen':_0x5e78d5,'noCliCommandsCalled':_0x444530['vygFt'](_0x4910b3,0x0)};}export function createVerifyFeatureCliHooks(_0x444027){const _0x4900da=_0x3790,_0x34d6fb={'WyKAr':_0x4900da(0x157),'LXDND':function(_0x3c3827,_0x102c5b){return _0x3c3827!==_0x102c5b;},'avFza':function(_0x3da577,_0x3799bf){return _0x3da577(_0x3799bf);},'KrGqo':function(_0x2d5eb8,_0xc06301){return _0x2d5eb8(_0xc06301);},'IaobA':_0x4900da(0x14e),'ZbPDL':_0x4900da(0x11b),'EEcWe':'PostToolUseFailure','xUWGH':function(_0x16de3a,_0x523677){return _0x16de3a!==_0x523677;},'aXjod':'tool_failure','YTYTF':_0x4900da(0xe0)},_0x401fa6=new Map(),_0xe6399d=async _0x1d2262=>{const _0x4f9ebb=_0x4900da;if(_0x1d2262['hook_event_name']!==_0x34d6fb[_0x4f9ebb(0x109)])return{};const _0x1990d0=_0x1d2262;if(_0x34d6fb['LXDND'](_0x1990d0['tool_name'],'Bash'))return{};const _0x3cd259=_0x1990d0['tool_input'],_0x2a515e=_0x34d6fb['avFza'](extractBashCommand,_0x3cd259);if(!_0x2a515e)return{};const _0x523358=_0x34d6fb['KrGqo'](parsePlaywrightCliCommand,_0x2a515e);if(!_0x523358)return{};return _0x401fa6[_0x4f9ebb(0x13a)](_0x523358,(_0x401fa6[_0x4f9ebb(0x139)](_0x523358)||0x0)+0x1),_0x444027['trackPhaseStart'](_0x34d6fb['IaobA'],{'transport':'playwright-cli','toolName':_0x523358}),_0x444027['trackPhaseEnd']('tool_call',{'transport':_0x4f9ebb(0xe0),'toolName':_0x523358,'bashCommandPreview':truncatePreview(_0x2a515e)}),_0x523358!==_0x34d6fb[_0x4f9ebb(0xe9)]&&console[_0x4f9ebb(0xee)](formatPlaywrightCliConsoleLogMessage(_0x3cd259,_0x2a515e,_0x523358)),{};},_0x32fc04=async _0x1ab955=>{const _0x5b5477=_0x4900da;if(_0x1ab955['hook_event_name']!==_0x34d6fb[_0x5b5477(0xd3)])return{};const _0x39e088=_0x1ab955;if(_0x34d6fb[_0x5b5477(0xf5)](_0x39e088[_0x5b5477(0x14b)],_0x5b5477(0xdd)))return{};return await _0x444027[_0x5b5477(0x110)](_0x34d6fb[_0x5b5477(0xe6)],_0x39e088[_0x5b5477(0xde)],{'transport':_0x34d6fb['YTYTF'],'toolName':'Bash'}),{};};return{'postToolUseHook':_0xe6399d,'postToolUseFailureHook':_0x32fc04,'commandCounts':_0x401fa6};}async function runPlaywrightCliLifecycleCommand(_0x5ee696){const _0x14f1f0=_0x3790,{sessionId:_0x3a7d6d,configPath:_0x18ed34,commandArgs:_0x1f0841,env:_0x8adbf9,telemetry:_0x1c5edf,phase:_0x4b08e9,metadata:_0x5a1fbd,timeoutMs:_0x245aa2}=_0x5ee696;_0x1c5edf[_0x14f1f0(0x14f)](_0x4b08e9,_0x5a1fbd);try{const _0x1ad13f=await runPlaywrightCliCommand({'sessionId':_0x3a7d6d,'configPath':_0x18ed34,'commandArgs':_0x1f0841,'cwd':process['cwd'](),'env':_0x8adbf9,'timeoutMs':_0x245aa2??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x1c5edf[_0x14f1f0(0x154)](_0x4b08e9,{..._0x5a1fbd,'subcommand':_0x1ad13f['invocation'][_0x14f1f0(0x11f)],'stdoutPreview':truncatePreview(_0x1ad13f[_0x14f1f0(0x117)],0x7d0),'stderrPreview':truncatePreview(_0x1ad13f[_0x14f1f0(0xdf)],0x7d0)});}catch(_0x32613f){await _0x1c5edf[_0x14f1f0(0x110)](_0x4b08e9,_0x32613f,_0x5a1fbd);throw _0x32613f;}}export async function finalizeVerifyFeatureCliSession(_0x553409){const _0x3bc88f=_0x3790,_0xbfb66e={'qBExu':'tracing-stop','Vdecv':'video-stop','bnMsd':function(_0x2fba81,_0x153cbd,_0x2ac50e){return _0x2fba81(_0x153cbd,_0x2ac50e);},'BepWU':'playwright_cli_close'},{telemetry:_0x541c78,sessionId:_0x53eef3,configPath:_0x38962c,cliArtifactDir:_0x39b9d2,env:_0x2dbc8b,transportMetadata:_0x1359fb}=_0x553409,_0x26ddfe=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0xbfb66e[_0x3bc88f(0xf8)]]},{'phase':_0x3bc88f(0xed),'commandArgs':[_0xbfb66e[_0x3bc88f(0xd1)],_0x3bc88f(0x155)+_0xbfb66e['bnMsd'](buildCliArtifactPath,_0x39b9d2,_0x3bc88f(0x134))]},{'phase':_0xbfb66e['BepWU'],'commandArgs':[_0x3bc88f(0x153)]}];for(const _0x4e921b of _0x26ddfe){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x53eef3,'configPath':_0x38962c,'commandArgs':[..._0x4e921b[_0x3bc88f(0x101)]],'env':_0x2dbc8b,'telemetry':_0x541c78,'phase':_0x4e921b[_0x3bc88f(0xcd)],'metadata':_0x1359fb});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x475f6f){const _0x23ef5a=_0x3790,_0x403e69={'AKxBG':function(_0x54b7c6,_0x20f9d9){return _0x54b7c6(_0x20f9d9);}},_0x4c7052=[_0x23ef5a(0xfe),_0x23ef5a(0x12e)];for(const _0x2eeb03 of _0x4c7052){const _0x647a16=join(_0x475f6f,_0x2eeb03);try{return{'buffer':await _0x403e69['AKxBG'](readFile,_0x647a16),'source':_0x647a16};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x8ec622){const _0x2ada9e=_0x3790,_0x50b00f={'BxzKb':function(_0x562e6b,_0x5aa17f,_0x107e63){return _0x562e6b(_0x5aa17f,_0x107e63);},'xWzRp':function(_0x457f40,_0x360518,_0xc5a66e){return _0x457f40(_0x360518,_0xc5a66e);},'rLqGn':function(_0xcfe14b,_0x36872f){return _0xcfe14b(_0x36872f);},'TYEMW':function(_0x4b49b5,_0x20eb72){return _0x4b49b5<_0x20eb72;},'geKVa':function(_0x27097d,_0x2174ff){return _0x27097d===_0x2174ff;},'mDtBR':function(_0x276b58,_0x1fbdad,_0x544b4e){return _0x276b58(_0x1fbdad,_0x544b4e);}},{cwd:_0x597e2f,cliArtifactDir:_0xc897a7,startTime:_0x3ecc1c}=_0x8ec622,_0x1ebd1a=[];await _0x50b00f['BxzKb'](mkdir,_0xc897a7,{'recursive':!![]});const _0x2e8087=await _0x50b00f[_0x2ada9e(0xe7)](readdir,_0x597e2f,{'withFileTypes':!![]});for(const _0x506e8c of _0x2e8087){if(!_0x506e8c['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x506e8c['name']))continue;const _0x52e9df=_0x50b00f['xWzRp'](join,_0x597e2f,_0x506e8c['name']),_0x324deb=await _0x50b00f['rLqGn'](stat,_0x52e9df);if(_0x50b00f[_0x2ada9e(0x126)](_0x324deb[_0x2ada9e(0x11d)]+0x7d0,_0x3ecc1c))continue;const _0x2bd85f=buildCliArtifactPath(_0xc897a7,_0x506e8c[_0x2ada9e(0x106)]);if(_0x50b00f['geKVa'](_0x52e9df,_0x2bd85f))continue;await _0x50b00f['mDtBR'](rename,_0x52e9df,_0x2bd85f),_0x1ebd1a[_0x2ada9e(0xea)](_0x506e8c[_0x2ada9e(0x106)]);}return _0x1ebd1a['sort']();}
|
|
1
|
+
(function(_0x353726,_0x269089){const _0x574628=_0x308d,_0x504c9c=_0x353726();while(!![]){try{const _0x56f7b0=-parseInt(_0x574628(0x1e7))/0x1*(parseInt(_0x574628(0x1da))/0x2)+parseInt(_0x574628(0x21a))/0x3*(-parseInt(_0x574628(0x238))/0x4)+parseInt(_0x574628(0x207))/0x5+-parseInt(_0x574628(0x1fd))/0x6+parseInt(_0x574628(0x232))/0x7*(-parseInt(_0x574628(0x24a))/0x8)+parseInt(_0x574628(0x23b))/0x9+parseInt(_0x574628(0x255))/0xa;if(_0x56f7b0===_0x269089)break;else _0x504c9c['push'](_0x504c9c['shift']());}catch(_0xb348c0){_0x504c9c['push'](_0x504c9c['shift']());}}}(_0x5e2c,0x53846));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(_0x3f75cc,_0x3bc8f9=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x360ad3=_0x308d,_0x211347={'dvPiv':function(_0x42b0c1,_0x2e9316){return _0x42b0c1>_0x2e9316;},'UjCVc':function(_0x4090b6,_0x3efc8a){return _0x4090b6+_0x3efc8a;},'XypzW':_0x360ad3(0x21b)};return _0x211347['dvPiv'](_0x3f75cc['length'],_0x3bc8f9)?_0x211347[_0x360ad3(0x1e0)](_0x3f75cc['slice'](0x0,_0x3bc8f9),_0x211347[_0x360ad3(0x248)]):_0x3f75cc;}function buildCliArtifactPath(_0x3e4753,_0x12943a){return join(_0x3e4753,_0x12943a);}function toStepDisplayName(_0x16a71b){const _0x7c58e0=_0x308d,_0x1d9114={'TvbBs':function(_0x2974c7,_0x2a8e8f){return _0x2974c7(_0x2a8e8f);}},_0x58179f=_0x1d9114['TvbBs'](basename,_0x16a71b)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x58179f,'isKeyStep':/^key_/i[_0x7c58e0(0x254)](basename(_0x16a71b))};}function extractShellValue(_0x5f4d92){if(!_0x5f4d92)return null;return _0x5f4d92[0x1]??_0x5f4d92[0x2]??_0x5f4d92[0x3]??null;}function extractFilenameOption(_0x40b347){const _0x466769=_0x308d;return extractShellValue(_0x40b347[_0x466769(0x24e)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x251de4,_0x1c2bce){const _0x5b2e6d=_0x308d,_0x287df8={'RuGQV':_0x5b2e6d(0x200)},_0x5bcf5d=_0x1c2bce['replace'](/[.*+?^${}()|[\]\\]/g,_0x287df8[_0x5b2e6d(0x1fe)]);return extractShellValue(_0x251de4['match'](new RegExp(_0x5b2e6d(0x209)+_0x5bcf5d+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x5e2c(){const _0x2acc26=['commandArgs','fFbqK','YPimV','\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','test','12398740qeMTPD','`\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`','DtxrK','trim','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`',']\x20**','mIOQf','playwright_cli_close','open','XcIEE','capture\x20key\x20step\x20`','stdout','PostToolUseFailure','snapshot','PhUHv','TKgjd','sort','\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-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\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.','invocation','rUSlQ','3610vNJuid','hook_event_name','\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.','video-stop','createdAt','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks','UjCVc','\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.','key_04_success-state.png','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','stop\x20video\x20recording','107AehVPP','split','canonicalFlow','playwright_cli_video_stop','\x20screenshot\x20--filename\x20','playwright-cli','\x20(on\x20element:\x20<','GpTlM','`\x0a9.\x20Run\x20`','join','env','YdgRQ','click\x20','capture\x20snapshot','01_mozilla-homepage.png','ref\x20','\x20snapshot\x20--filename\x20','tool_call','03_learn-more.png','short','**\x20(','VQYFL','3146556OYDaAO','RuGQV','oBxDt','\x5c$&','target','03_result-visible.png','HusCy','apzQC','>\x20\x22','kACBq','880150UTkOjO','length','(?:^|\x5cs)','\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','authorEmail','HGhcV','\x0a\x0a##\x20Additional\x20Notes\x0a','bNCNn','notes','capture\x20screenshot','label','\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20(',',\x20…\x22','element','log','nrQYq','KHyNi','-\x20As\x20','session-recording.webm','21toxGcA','...','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','tool_failure','PBpSa','eihdR','aGPqN','EJXNX','error','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','LzhtT','map','VapgJ','name','actorPrefixes','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','bEHDd','playwright_cli_tracing_stop','`\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`','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','select\x20tab\x20','mtimeMs','--filename=','hRHuk','14zhxuPk','en-US','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','02_button-clicked.png','PostToolUse','uMEYf','56276VciQeB','artifactDir','prefix','2824758MEJbHA','aNOGj','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','\x20open\x20','tool_name','tool_input','\x22,\x20\x22','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','-\x20[','\x20tracing-start`\x0a3.\x20Run\x20`','tab-new','Bash','BzQve','XypzW','tab-select','2286544jiuZbW','01_initial.yml','open\x20','trackPhaseStart','match','aXVrg'];_0x5e2c=function(){return _0x2acc26;};return _0x5e2c();}function _0x308d(_0x3c4329,_0x100de0){_0x3c4329=_0x3c4329-0x1d5;const _0x5e2c6e=_0x5e2c();let _0x308d45=_0x5e2c6e[_0x3c4329];return _0x308d45;}function formatCommandTarget(_0xad6522){const _0x332c2a=_0x308d,_0x9a5da0={'AOscf':function(_0x10c4dd,_0x3c4f2e,_0x287afb){return _0x10c4dd(_0x3c4f2e,_0x287afb);}};if(!_0xad6522)return _0x332c2a(0x201);if(/^e\d+$/i['test'](_0xad6522))return _0x332c2a(0x1f6)+_0xad6522;return JSON['stringify'](_0x9a5da0['AOscf'](truncatePreview,_0xad6522,0x78));}function formatPlaywrightCliLog(_0x5416af,_0x9da80c){const _0x4ba015=_0x308d,_0x3dbcb0={'XcIEE':function(_0x156704,_0x40da87,_0x487106){return _0x156704(_0x40da87,_0x487106);},'vAOan':'start\x20tracing','QSPiT':'tracing-stop','cWCsP':'screenshot','HGhcV':function(_0x106460,_0xc8d7f){return _0x106460(_0xc8d7f);},'eihdR':_0x4ba015(0x210),'EJXNX':'click','aGPqN':function(_0x21ebe7,_0x2c2742,_0x1fc21f){return _0x21ebe7(_0x2c2742,_0x1fc21f);},'HMGjy':'check','wylyq':'fill','mIOQf':_0x4ba015(0x245),'aNOGj':function(_0x253242,_0x2cabe5,_0x4be8df){return _0x253242(_0x2cabe5,_0x4be8df);}};switch(_0x9da80c){case _0x4ba015(0x25d):{const _0x1b4ac6=_0x3dbcb0[_0x4ba015(0x25e)](extractFirstCommandArgument,_0x5416af,_0x9da80c);return _0x1b4ac6?_0x4ba015(0x24c)+_0x1b4ac6:'open\x20browser';}case'tracing-start':return _0x3dbcb0['vAOan'];case _0x3dbcb0['QSPiT']:return'stop\x20tracing';case'video-start':return'start\x20video\x20recording';case'video-stop':return _0x4ba015(0x1e6);case _0x4ba015(0x262):{const _0x3f9de7=extractFilenameOption(_0x5416af);if(!_0x3f9de7)return _0x4ba015(0x1f4);const {name:_0x15cc9d}=toStepDisplayName(_0x3f9de7);return'capture\x20snapshot\x20`'+_0x15cc9d+'`';}case _0x3dbcb0['cWCsP']:{const _0x350830=_0x3dbcb0[_0x4ba015(0x20c)](extractFilenameOption,_0x5416af);if(!_0x350830)return _0x3dbcb0[_0x4ba015(0x21f)];const {name:_0x2ea801,isKeyStep:_0x39f1c8}=toStepDisplayName(_0x350830);return _0x39f1c8?_0x4ba015(0x25f)+_0x2ea801+'`':'capture\x20step\x20`'+_0x2ea801+'`';}case _0x3dbcb0[_0x4ba015(0x221)]:return _0x4ba015(0x1f3)+formatCommandTarget(_0x3dbcb0[_0x4ba015(0x220)](extractFirstCommandArgument,_0x5416af,_0x9da80c));case _0x3dbcb0['HMGjy']:return'check\x20'+formatCommandTarget(_0x3dbcb0['XcIEE'](extractFirstCommandArgument,_0x5416af,_0x9da80c));case _0x3dbcb0['wylyq']:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5416af,_0x9da80c));case'press':return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5416af,_0x9da80c));case'run-code':return'run\x20custom\x20Playwright\x20code';case _0x3dbcb0[_0x4ba015(0x25b)]:{const _0x19dd32=_0x3dbcb0[_0x4ba015(0x23c)](extractFirstCommandArgument,_0x5416af,_0x9da80c);return _0x19dd32?'open\x20new\x20tab\x20'+_0x19dd32:'open\x20new\x20tab';}case _0x4ba015(0x249):{const _0xb7f8b=extractFirstCommandArgument(_0x5416af,_0x9da80c);return _0xb7f8b?_0x4ba015(0x22e)+_0xb7f8b:'select\x20tab';}default:return _0x9da80c;}}function extractPlaywrightCliToolDescription(_0x5eb8e1){const _0x5cfefe=_0x308d,_0x3224ef={'bEHDd':function(_0x422052,_0x35def7){return _0x422052!==_0x35def7;}},_0x464fe6=_0x5eb8e1['description'];if(_0x3224ef[_0x5cfefe(0x22a)](typeof _0x464fe6,'string'))return null;const _0x372c15=_0x464fe6[_0x5cfefe(0x258)]()['replace'](/\s+/g,'\x20');return _0x372c15['length']>0x0?_0x372c15:null;}export function formatPlaywrightCliConsoleLogMessage(_0x1e8b0c,_0x376449,_0x4c8c1f){const _0x1818be=_0x308d,_0x271921={'xgRBW':function(_0x4aa58b,_0x133006){return _0x4aa58b(_0x133006);}},_0x6bcdab=formatPlaywrightCliLog(_0x376449,_0x4c8c1f),_0x3aa317=_0x271921['xgRBW'](extractPlaywrightCliToolDescription,_0x1e8b0c);if(!_0x3aa317)return'[playwright-cli]\x20'+_0x6bcdab;if(process[_0x1818be(0x1f1)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x3aa317+'\x20('+_0x6bcdab+')';return'[ranger-verification-agent]\x20'+_0x3aa317;}export function buildVerifyFeatureCliDebugPrompt(_0x2f9d71,_0x4dbb7f){const _0x167374=_0x308d,_0x2dd60d={'TYwkq':function(_0x5e1a0b,_0x407b29,_0x3054f6){return _0x5e1a0b(_0x407b29,_0x3054f6);},'ApXax':_0x167374(0x1f5),'fFbqK':_0x167374(0x1f9),'oBxDt':function(_0x5a5879,_0x4f65e2){return _0x5a5879(_0x4f65e2);}},_0x50b836=buildCliArtifactPath(_0x4dbb7f,'00_mozilla-homepage.yml'),_0x1ade27=_0x2dd60d['TYwkq'](buildCliArtifactPath,_0x4dbb7f,_0x2dd60d['ApXax']),_0x42d694=buildCliArtifactPath(_0x4dbb7f,'02_learn-more.yml'),_0x195157=buildCliArtifactPath(_0x4dbb7f,_0x2dd60d[_0x167374(0x251)]),_0x2173b4=_0x2dd60d['oBxDt'](quoteShellArg,_0x50b836),_0x1a98dd=_0x2dd60d['oBxDt'](quoteShellArg,_0x1ade27),_0x5b501d=_0x2dd60d[_0x167374(0x1ff)](quoteShellArg,_0x42d694),_0x186e13=quoteShellArg(_0x195157);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2f9d71+'\x0a\x0a1.\x20Run\x20`'+_0x2f9d71+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x2f9d71+_0x167374(0x244)+_0x2f9d71+_0x167374(0x242)+_0x4dbb7f+_0x167374(0x1e4)+_0x2f9d71+_0x167374(0x1f7)+_0x2173b4+_0x167374(0x1e3)+_0x2f9d71+'\x20screenshot\x20--filename\x20'+_0x1a98dd+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x2f9d71+'\x20snapshot\x20--filename\x20'+_0x5b501d+_0x167374(0x1ef)+_0x2f9d71+_0x167374(0x1eb)+_0x186e13+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x553dfc){const _0x510888=_0x308d,_0x298af0={'YPimV':_0x510888(0x1fa),'uMEYf':'\x20>\x20','aIqEp':_0x510888(0x214),'KHyNi':_0x510888(0x24b),'dlzcq':function(_0x40ecbc,_0x221668,_0x264185){return _0x40ecbc(_0x221668,_0x264185);},'LzhtT':'02_state.yml','jkVbI':function(_0x503835,_0x25c9b1,_0x4e1c20){return _0x503835(_0x25c9b1,_0x4e1c20);},'TKgjd':function(_0x3a0ba0,_0x2343b8){return _0x3a0ba0(_0x2343b8);},'DWpxl':function(_0x3148be,_0xee7377){return _0x3148be(_0xee7377);},'YdgRQ':function(_0x514d61,_0x340c21){return _0x514d61(_0x340c21);},'VapgJ':function(_0x1ea1b2,_0x11402c){return _0x1ea1b2>=_0x11402c;},'EaCZG':'\x20/\x20','XCEOw':'the\x20primary\x20actor','fgrEa':function(_0x4b9e47,_0x479550,_0x35bf3b){return _0x4b9e47(_0x479550,_0x35bf3b);},'GpTlM':_0x510888(0x1e2)},{checklistItem:_0x296954,itemFeedback:_0x3613e2,taskDescription:_0x5cdcb2,cliCommandPrefix:_0x2f9d06,cliArtifactDir:_0x11ea36,isCdpMode:_0x2055b0,url:_0x5a9e71,cdpEndpoint:_0x3019b2,loginInstructions:_0x51c389}=_0x553dfc,_0x151fa8=buildCliArtifactPath(_0x11ea36,_0x298af0[_0x510888(0x217)]),_0x5bac8a=_0x298af0['dlzcq'](buildCliArtifactPath,_0x11ea36,_0x298af0[_0x510888(0x224)]),_0x25275e=buildCliArtifactPath(_0x11ea36,'key_03_success-state.png'),_0x31065c=_0x298af0['jkVbI'](buildCliArtifactPath,_0x11ea36,'01_initial-state.png'),_0x418d2a=_0x298af0[_0x510888(0x1d5)](quoteShellArg,_0x151fa8),_0x1317cf=_0x298af0['DWpxl'](quoteShellArg,_0x5bac8a),_0x18168b=_0x298af0['DWpxl'](quoteShellArg,_0x25275e),_0x42b10a=_0x298af0['DWpxl'](quoteShellArg,_0x31065c),_0x283d03=_0x296954[_0x510888(0x20f)]?_0x510888(0x20d)+_0x296954['notes']:'';let _0x485e7a='';if(_0x3613e2&&_0x3613e2['unaddressedComments'][_0x510888(0x208)]>0x0){const _0x2ed452=_0x3613e2['unaddressedComments'][_0x510888(0x225)](_0x1b8b8c=>{const _0xd9fb57=_0x510888,_0x3386c0=new Date(_0x1b8b8c[_0xd9fb57(0x1de)])['toLocaleDateString'](_0xd9fb57(0x233),{'month':_0x298af0[_0xd9fb57(0x252)],'day':'numeric'}),_0x398f3f=_0x1b8b8c['authorName']||_0x1b8b8c[_0xd9fb57(0x20b)]||'Reviewer',_0x2a33d9=_0x1b8b8c['domRef']?_0xd9fb57(0x1ed)+(_0x1b8b8c['domRef']['selector'][_0xd9fb57(0x1e8)](_0x298af0[_0xd9fb57(0x237)])['pop']()?.['split'](':')[0x0]||_0x298af0['aIqEp'])+_0xd9fb57(0x205)+(_0x1b8b8c['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0xd9fb57(0x243)+_0x1b8b8c['id']+_0xd9fb57(0x25a)+_0x398f3f+_0xd9fb57(0x1fb)+_0x3386c0+'):\x20\x22'+_0x1b8b8c['content']+'\x22'+_0x2a33d9;})['join']('\x0a');_0x485e7a='\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'+_0x2ed452;}const _0x1deb61=_0x3613e2?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3613e2[_0x510888(0x1e9)]:'',_0x3601f1=_0x2055b0?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x3019b2+_0x510888(0x23d):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x5a9e71+'\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',_0x2efc08=_0x5a9e71?_0x298af0[_0x510888(0x1f2)](quoteShellArg,_0x5a9e71):'',_0x20717c=_0x2055b0?_0x510888(0x22d)+_0x2f9d06+'\x20open`,\x20then\x20`'+_0x2f9d06+'\x20tracing-start`,\x20then\x20`'+_0x2f9d06+_0x510888(0x21c)+_0x11ea36+_0x510888(0x229)+_0x2f9d06+'\x20snapshot\x20--filename\x20'+_0x418d2a+_0x510888(0x256)+_0x2f9d06+'\x20screenshot\x20--filename\x20'+_0x42b10a+_0x510888(0x259)+_0x2f9d06+_0x510888(0x20a):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x2f9d06+_0x510888(0x23e)+_0x2efc08+'`,\x20then\x20`'+_0x2f9d06+'\x20tracing-start`,\x20then\x20`'+_0x2f9d06+_0x510888(0x21c)+_0x11ea36+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x2f9d06+'\x20snapshot\x20--filename\x20'+_0x418d2a+_0x510888(0x22c)+_0x2f9d06+'\x20screenshot\x20--filename\x20'+_0x42b10a+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x2f9d06+_0x510888(0x253),_0x1c1881=_0x2055b0?'\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.':_0x510888(0x1d7),_0x243c92=_0x51c389?_0x510888(0x234)+_0x51c389+_0x510888(0x1e1):'',_0x22cacb=_0x553dfc['actorPrefixes']&&_0x298af0[_0x510888(0x226)](_0x553dfc[_0x510888(0x228)]['length'],0x2)?'\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a'+_0x553dfc['actorPrefixes']['map'](_0x3b40c5=>_0x510888(0x218)+_0x3b40c5['label']+',\x20…\x20\x20→\x20\x20`'+_0x3b40c5['prefix']+'`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`'+_0x3b40c5[_0x510888(0x239)]+'`\x20(e.g.\x20`'+_0x3b40c5[_0x510888(0x23a)]+'\x20screenshot\x20--filename\x20'+_0x3b40c5[_0x510888(0x239)]+'/01_state.png`).')[_0x510888(0x1f0)]('\x0a')+_0x510888(0x212)+_0x553dfc['actorPrefixes'][_0x510888(0x225)](_0x595b35=>'\x22As\x20'+_0x595b35[_0x510888(0x211)]+_0x510888(0x213))['join'](_0x298af0['EaCZG'])+_0x510888(0x1e5)+(_0x553dfc[_0x510888(0x228)][0x0]?.[_0x510888(0x211)]??_0x298af0['XCEOw'])+'\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.':'';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'+_0x296954['description']+_0x283d03+_0x485e7a+_0x1deb61+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x5cdcb2+'\x0a\x0a'+_0x3601f1+_0x243c92+'\x0a\x0a'+_0x20717c+_0x510888(0x223)+_0x2f9d06+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x11ea36+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x1317cf+'`\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'+_0x18168b+_0x510888(0x1df)+_0x22cacb+'\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`'+_0x11ea36+'`:\x20\x22'+_0x31065c+_0x510888(0x241)+buildCliArtifactPath(_0x11ea36,_0x510888(0x235))+'\x22,\x20\x22'+buildCliArtifactPath(_0x11ea36,_0x510888(0x202))+'\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'+_0x298af0['fgrEa'](buildCliArtifactPath,_0x11ea36,_0x298af0[_0x510888(0x1ee)])+'\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'+_0x1c1881+_0x510888(0x1dc);}export function summarizeVerifyFeatureCliCommandAvailability(_0x5a3b8a){const _0x536066=_0x308d,_0x495e10={'BzQve':function(_0x60a7ef,_0x2bea2a){return _0x60a7ef===_0x2bea2a;}},_0x4d30ce=[..._0x5a3b8a['keys']()][_0x536066(0x1d6)]();let _0x223263=0x0;for(const _0x403cd5 of _0x5a3b8a['values']()){_0x223263+=_0x403cd5;}return{'cliCommandCount':_0x223263,'cliCommandsSeen':_0x4d30ce,'noCliCommandsCalled':_0x495e10[_0x536066(0x247)](_0x223263,0x0)};}export function createVerifyFeatureCliHooks(_0x587ac3){const _0x173446=_0x308d,_0x5d6388={'nrQYq':_0x173446(0x236),'apzQC':function(_0x31d358,_0x1a83de){return _0x31d358!==_0x1a83de;},'hRHuk':function(_0x592c84,_0x193d7d){return _0x592c84(_0x193d7d);},'fQGRU':_0x173446(0x1f8),'VQYFL':function(_0x5b6a6c,_0x4afe1c,_0x437c89,_0x2f0076){return _0x5b6a6c(_0x4afe1c,_0x437c89,_0x2f0076);},'DtxrK':_0x173446(0x21d),'FDjaO':_0x173446(0x1ec)},_0x27cce0=new Map(),_0x366f14=async _0x3fe061=>{const _0x46e819=_0x173446;if(_0x3fe061[_0x46e819(0x1db)]!==_0x5d6388[_0x46e819(0x216)])return{};const _0x3dcc89=_0x3fe061;if(_0x5d6388['apzQC'](_0x3dcc89[_0x46e819(0x23f)],_0x46e819(0x246)))return{};const _0x378387=_0x3dcc89[_0x46e819(0x240)],_0x2798da=_0x5d6388[_0x46e819(0x231)](extractBashCommand,_0x378387);if(!_0x2798da)return{};const _0x46a6fc=_0x5d6388[_0x46e819(0x231)](parsePlaywrightCliCommand,_0x2798da);if(!_0x46a6fc)return{};return _0x27cce0['set'](_0x46a6fc,(_0x27cce0['get'](_0x46a6fc)||0x0)+0x1),_0x587ac3['trackPhaseStart'](_0x5d6388['fQGRU'],{'transport':'playwright-cli','toolName':_0x46a6fc}),_0x587ac3['trackPhaseEnd']('tool_call',{'transport':_0x46e819(0x1ec),'toolName':_0x46a6fc,'bashCommandPreview':_0x5d6388[_0x46e819(0x231)](truncatePreview,_0x2798da)}),_0x5d6388[_0x46e819(0x204)](_0x46a6fc,_0x46e819(0x262))&&console[_0x46e819(0x215)](_0x5d6388[_0x46e819(0x1fc)](formatPlaywrightCliConsoleLogMessage,_0x378387,_0x2798da,_0x46a6fc)),{};},_0x1b2cc2=async _0x15c304=>{const _0x3bdea1=_0x173446;if(_0x5d6388[_0x3bdea1(0x204)](_0x15c304[_0x3bdea1(0x1db)],_0x3bdea1(0x261)))return{};const _0x3c7b27=_0x15c304;if(_0x5d6388['apzQC'](_0x3c7b27['tool_name'],'Bash'))return{};return await _0x587ac3['trackPhaseError'](_0x5d6388[_0x3bdea1(0x257)],_0x3c7b27[_0x3bdea1(0x222)],{'transport':_0x5d6388['FDjaO'],'toolName':_0x3bdea1(0x246)}),{};};return{'postToolUseHook':_0x366f14,'postToolUseFailureHook':_0x1b2cc2,'commandCounts':_0x27cce0};}async function runPlaywrightCliLifecycleCommand(_0x3b5532){const _0x17832f=_0x308d,_0x18d215={'kACBq':function(_0x1285dd,_0x3f9101){return _0x1285dd??_0x3f9101;},'tfofC':function(_0x8aeab7,_0x1a22c9,_0x1bc841){return _0x8aeab7(_0x1a22c9,_0x1bc841);},'MVQhn':function(_0x275e90,_0x168704,_0x15b815){return _0x275e90(_0x168704,_0x15b815);}},{sessionId:_0x202f43,configPath:_0x5e14a4,commandArgs:_0x5b0137,env:_0x56b9f9,telemetry:_0x453a83,phase:_0x54200c,metadata:_0x1c09e4,timeoutMs:_0x453243}=_0x3b5532;_0x453a83[_0x17832f(0x24d)](_0x54200c,_0x1c09e4);try{const _0x47ac8a=await runPlaywrightCliCommand({'sessionId':_0x202f43,'configPath':_0x5e14a4,'commandArgs':_0x5b0137,'cwd':process['cwd'](),'env':_0x56b9f9,'timeoutMs':_0x18d215[_0x17832f(0x206)](_0x453243,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x453a83['trackPhaseEnd'](_0x54200c,{..._0x1c09e4,'subcommand':_0x47ac8a[_0x17832f(0x1d8)]['subcommand'],'stdoutPreview':_0x18d215['tfofC'](truncatePreview,_0x47ac8a[_0x17832f(0x260)],0x7d0),'stderrPreview':_0x18d215['MVQhn'](truncatePreview,_0x47ac8a['stderr'],0x7d0)});}catch(_0x52347d){await _0x453a83['trackPhaseError'](_0x54200c,_0x52347d,_0x1c09e4);throw _0x52347d;}}export async function finalizeVerifyFeatureCliSession(_0x475235){const _0x5897f2=_0x308d,_0x1d2b38={'TKspf':_0x5897f2(0x22b),'fKHIj':_0x5897f2(0x1ea),'HusCy':_0x5897f2(0x1dd),'FvFsG':_0x5897f2(0x25c),'IRaKu':'close'},{telemetry:_0x1f6209,sessionId:_0x4dbf33,configPath:_0x49d662,cliArtifactDir:_0x3e3a81,env:_0x19c5d3,transportMetadata:_0x3d08ca}=_0x475235,_0x196582=[{'phase':_0x1d2b38['TKspf'],'commandArgs':['tracing-stop']},{'phase':_0x1d2b38['fKHIj'],'commandArgs':[_0x1d2b38[_0x5897f2(0x203)],_0x5897f2(0x230)+buildCliArtifactPath(_0x3e3a81,_0x5897f2(0x219))]},{'phase':_0x1d2b38['FvFsG'],'commandArgs':[_0x1d2b38['IRaKu']]}];for(const _0x78396e of _0x196582){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x4dbf33,'configPath':_0x49d662,'commandArgs':[..._0x78396e[_0x5897f2(0x250)]],'env':_0x19c5d3,'telemetry':_0x1f6209,'phase':_0x78396e['phase'],'metadata':_0x3d08ca});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x304015){const _0x3fede1=_0x308d,_0x5aad1a={'bNCNn':'trace.zip','joUUF':function(_0x599e39,_0xb00c99,_0x386d92){return _0x599e39(_0xb00c99,_0x386d92);},'KUuwd':function(_0x21947b,_0x43869d){return _0x21947b(_0x43869d);}},_0x569180=[_0x5aad1a[_0x3fede1(0x20e)],'trace.trace.zip'];for(const _0x286558 of _0x569180){const _0x350146=_0x5aad1a['joUUF'](join,_0x304015,_0x286558);try{return{'buffer':await _0x5aad1a['KUuwd'](readFile,_0x350146),'source':_0x350146};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x595e2d){const _0x9d24a5=_0x308d,_0xea26d={'rUSlQ':function(_0x15b536,_0x3172a4,_0x34d64c){return _0x15b536(_0x3172a4,_0x34d64c);},'aXVrg':function(_0x4113b7,_0x5ee47a){return _0x4113b7<_0x5ee47a;},'PBpSa':function(_0x20f468,_0x8a6e80){return _0x20f468+_0x8a6e80;},'PhUHv':function(_0xac01c8,_0x243465){return _0xac01c8===_0x243465;}},{cwd:_0x3e7450,cliArtifactDir:_0x202e0d,startTime:_0x1caf96}=_0x595e2d,_0x53b55e=[];await _0xea26d[_0x9d24a5(0x1d9)](mkdir,_0x202e0d,{'recursive':!![]});const _0x19b03e=await _0xea26d[_0x9d24a5(0x1d9)](readdir,_0x3e7450,{'withFileTypes':!![]});for(const _0x5d4f72 of _0x19b03e){if(!_0x5d4f72['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x5d4f72['name']))continue;const _0x36febf=_0xea26d[_0x9d24a5(0x1d9)](join,_0x3e7450,_0x5d4f72['name']),_0x2239ad=await stat(_0x36febf);if(_0xea26d[_0x9d24a5(0x24f)](_0xea26d[_0x9d24a5(0x21e)](_0x2239ad[_0x9d24a5(0x22f)],0x7d0),_0x1caf96))continue;const _0x3925f4=buildCliArtifactPath(_0x202e0d,_0x5d4f72[_0x9d24a5(0x227)]);if(_0xea26d[_0x9d24a5(0x263)](_0x36febf,_0x3925f4))continue;await _0xea26d['rUSlQ'](rename,_0x36febf,_0x3925f4),_0x53b55e['push'](_0x5d4f72[_0x9d24a5(0x227)]);}return _0x53b55e['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x152c0a=_0x1c86;(function(_0x52680c,_0x184fc3){const _0x4999db=_0x1c86,_0x36446c=_0x52680c();while(!![]){try{const _0x5d1357=parseInt(_0x4999db(0x21c))/0x1*(-parseInt(_0x4999db(0x245))/0x2)+parseInt(_0x4999db(0x1ed))/0x3*(parseInt(_0x4999db(0x219))/0x4)+-parseInt(_0x4999db(0x26f))/0x5+parseInt(_0x4999db(0x20a))/0x6+-parseInt(_0x4999db(0x1d6))/0x7+-parseInt(_0x4999db(0x1cc))/0x8*(-parseInt(_0x4999db(0x1d1))/0x9)+parseInt(_0x4999db(0x224))/0xa;if(_0x5d1357===_0x184fc3)break;else _0x36446c['push'](_0x36446c['shift']());}catch(_0x598af5){_0x36446c['push'](_0x36446c['shift']());}}}(_0x37fb,0xd4781));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(['session\x20create','execute',_0x152c0a(0x284),'ask','goto',_0x152c0a(0x26d),_0x152c0a(0x1cb),_0x152c0a(0x29b)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x319a5b,_0xd512d0){return join(_0x319a5b,_0xd512d0);}export class NovaActArtifactRecorder{[_0x152c0a(0x20f)];[_0x152c0a(0x24c)]=null;[_0x152c0a(0x2a2)]=null;[_0x152c0a(0x246)]=null;[_0x152c0a(0x1d8)]=[];[_0x152c0a(0x270)]=0x0;[_0x152c0a(0x240)]=0x0;[_0x152c0a(0x238)]=null;['traceSampleInFlight']=null;[_0x152c0a(0x209)]=![];['screencastStarted']=![];[_0x152c0a(0x289)]=![];[_0x152c0a(0x229)]=![];constructor(_0x2696c1){this['params']=_0x2696c1;}async[_0x152c0a(0x25d)](){const _0x49a611=_0x152c0a,_0x443681={'HvUZN':_0x49a611(0x29f),'hUckE':'nova_act_artifact_recording'};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x381c6f=await this[_0x49a611(0x1fc)](),_0x4fe99e=_0x381c6f[_0x49a611(0x259)];if(!_0x4fe99e)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x49a611(0x298)]);await mkdir(this[_0x49a611(0x20f)][_0x49a611(0x24d)],{'recursive':!![]}),this[_0x49a611(0x24c)]=await chromium[_0x49a611(0x273)](_0x4fe99e,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x49a611(0x2a2)]=this['browser'][_0x49a611(0x27d)]()[0x0]??null;if(!this[_0x49a611(0x2a2)])throw new Error(_0x443681['HvUZN']);await this['context']['tracing'][_0x49a611(0x25d)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x49a611(0x209)]=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x49a611(0x20f)][_0x49a611(0x286)][_0x49a611(0x223)](_0x49a611(0x250),{...this[_0x49a611(0x20f)][_0x49a611(0x216)],'cdpEndpoint':_0x4fe99e,'browserPid':_0x381c6f['browser_pid'],'sessionState':_0x381c6f['state']}),this[_0x49a611(0x20f)]['telemetry'][_0x49a611(0x255)](_0x443681['hUckE'],{...this['params'][_0x49a611(0x216)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x49a611(0x1fa)]});}async[_0x152c0a(0x29e)](){const _0x1c1428=_0x152c0a,_0x223835={'oJXdi':function(_0x4d75c2,_0x2531fe,_0xba8cd2){return _0x4d75c2(_0x2531fe,_0xba8cd2);},'dsCLW':'trace.zip','MhVid':'nova_act_artifact_recording_stop'};if(this[_0x1c1428(0x229)])return;this['stopped']=!![];const _0x4021fd={...this['params']['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this[_0x1c1428(0x240)],'tracingStarted':this[_0x1c1428(0x209)],'screencastStarted':this[_0x1c1428(0x1fa)]};this['params']['telemetry'][_0x1c1428(0x223)](_0x1c1428(0x201),_0x4021fd);try{await this[_0x1c1428(0x225)](),await this[_0x1c1428(0x1da)](),await this['stopScreencast'](),await Promise['allSettled'](this['frameWrites']);this[_0x1c1428(0x2a2)]&&this[_0x1c1428(0x209)]&&await this['context'][_0x1c1428(0x204)]['stop']({'path':_0x223835[_0x1c1428(0x236)](buildCliArtifactPath,this['params'][_0x1c1428(0x24d)],_0x223835[_0x1c1428(0x1f9)])});const _0x114000=await this['encodeScreencastVideo']();this[_0x1c1428(0x20f)][_0x1c1428(0x286)]['trackPhaseEnd'](_0x223835['MhVid'],{..._0x4021fd,'videoPath':_0x114000});}catch(_0x51a42b){await this[_0x1c1428(0x20f)]['telemetry'][_0x1c1428(0x1dd)](_0x223835[_0x1c1428(0x252)],_0x51a42b,_0x4021fd);}finally{await this['browser']?.[_0x1c1428(0x264)]()[_0x1c1428(0x1d3)](()=>undefined),this[_0x1c1428(0x24c)]=null,this[_0x1c1428(0x2a2)]=null,this[_0x1c1428(0x246)]=null;}}async['readSessionMetadataWithRetry'](){const _0x2e7077=_0x152c0a,_0x2d7251={'ATwbE':function(_0x274471){return _0x274471();},'uazFW':_0x2e7077(0x248),'QiwoT':'browser','dnBEL':function(_0x28346e,_0x33b61b,_0x2b74da){return _0x28346e(_0x33b61b,_0x2b74da);},'aBiKr':_0x2e7077(0x1e8),'pNqzA':function(_0x479517,_0x4077e8){return _0x479517(_0x4077e8);},'AHcAQ':function(_0x37e6b8,_0x46f858){return _0x37e6b8 instanceof _0x46f858;}},_0x2aff0d=join(_0x2d7251[_0x2e7077(0x288)](homedir),_0x2d7251['uazFW'],_0x2d7251['QiwoT'],'sessions',this[_0x2e7077(0x20f)][_0x2e7077(0x25c)]['sessionId']+_0x2e7077(0x235)),_0x121a9d=Date[_0x2e7077(0x23d)]();let _0x303261;do{try{const _0x70d079=JSON['parse'](await _0x2d7251[_0x2e7077(0x1df)](readFile,_0x2aff0d,_0x2d7251[_0x2e7077(0x1e1)]));if(_0x70d079['cdp_endpoint'])return _0x70d079;_0x303261=new Error(_0x2e7077(0x244)+_0x2aff0d);}catch(_0x351f9a){_0x303261=_0x351f9a;}await _0x2d7251[_0x2e7077(0x271)](delay,0x64);}while(Date['now']()-_0x121a9d<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x2d7251[_0x2e7077(0x261)](_0x303261,Error))throw _0x303261;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x2aff0d);}async[_0x152c0a(0x25e)](){const _0xb662d0=_0x152c0a,_0x35b274={'tGYxS':function(_0x35d39e,_0x349dab,_0x13fb63){return _0x35d39e(_0x349dab,_0x13fb63);},'tPaJQ':function(_0x3fbce1,_0x457872){return _0x3fbce1(_0x457872);},'gePOq':_0xb662d0(0x1ce),'tPeXW':'jpeg'};if(!this[_0xb662d0(0x2a2)])return;const _0x2c7e45=this['context'][_0xb662d0(0x276)]()[0x0];if(!_0x2c7e45)return;const _0x50dbf9=this['getFrameDir']();await mkdir(_0x50dbf9,{'recursive':!![]});const _0x1e59bd=await this[_0xb662d0(0x2a2)]['newCDPSession'](_0x2c7e45);this['frameSession']=_0x1e59bd,_0x1e59bd['on']('Page.screencastFrame',_0x355307=>{const _0x4dc46e=_0xb662d0,_0x2dc3e4=++this[_0x4dc46e(0x270)],_0x391183=_0x35b274['tGYxS'](join,_0x50dbf9,'frame-'+_0x35b274['tPaJQ'](String,_0x2dc3e4)[_0x4dc46e(0x247)](0x6,'0')+'.jpg'),_0x356f49=writeFile(_0x391183,Buffer[_0x4dc46e(0x299)](_0x355307[_0x4dc46e(0x1e4)],_0x4dc46e(0x1e0)))[_0x4dc46e(0x1d3)](()=>undefined)[_0x4dc46e(0x287)](()=>_0x1e59bd[_0x4dc46e(0x279)](_0x4dc46e(0x200),{'sessionId':_0x355307['sessionId']}))[_0x4dc46e(0x237)](()=>undefined)[_0x4dc46e(0x1d3)](()=>undefined);this['frameWrites']['push'](_0x356f49);}),await _0x1e59bd['send'](_0x35b274[_0xb662d0(0x23f)],{'format':_0x35b274[_0xb662d0(0x297)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x152c0a(0x220)](){const _0x2bb031=_0x152c0a;if(!this['frameSession']||!this[_0x2bb031(0x1fa)])return;await this[_0x2bb031(0x246)][_0x2bb031(0x279)](_0x2bb031(0x1e5))['catch'](()=>undefined);}['startTraceSampling'](){const _0xa1cd53=_0x152c0a,_0x549032={'dzITV':function(_0x874670,_0x2b4e2f,_0x52814a){return _0x874670(_0x2b4e2f,_0x52814a);}};this['queueTraceSample'](),this[_0xa1cd53(0x238)]=_0x549032[_0xa1cd53(0x272)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x152c0a(0x280)](){const _0x507e65=_0x152c0a;if(this[_0x507e65(0x1cd)])return;this[_0x507e65(0x1cd)]=this[_0x507e65(0x1da)]()[_0x507e65(0x287)](()=>{const _0x10ceff=_0x507e65;this[_0x10ceff(0x1cd)]=null;});}async[_0x152c0a(0x225)](){const _0x1fc058=_0x152c0a,_0x1c1c00={'tUwXE':function(_0x375cea,_0x1bad21){return _0x375cea(_0x1bad21);}};this[_0x1fc058(0x238)]&&(_0x1c1c00[_0x1fc058(0x21d)](clearInterval,this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x1fc058(0x1cd)]?.[_0x1fc058(0x1d3)](()=>undefined);}async[_0x152c0a(0x1da)](){const _0x4d97e4=_0x152c0a,_0x53c2ac=this[_0x4d97e4(0x2a2)]?.[_0x4d97e4(0x276)]()[0x0];if(!_0x53c2ac)return;try{await _0x53c2ac[_0x4d97e4(0x1f4)]('body')['evaluate'](_0x5b94ac=>_0x5b94ac['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x152c0a(0x295)](){const _0x51888c=_0x152c0a,_0x369c3b={'HfdvQ':function(_0x2820b5,_0x226d3d,_0x29423c){return _0x2820b5(_0x226d3d,_0x29423c);},'SAXxm':'session-recording.webm','EvOZl':_0x51888c(0x221),'SXZCv':'error','PcwAt':'-framerate','VALzH':function(_0x373042,_0x59a6c8,_0x768dfc){return _0x373042(_0x59a6c8,_0x768dfc);},'vtKdR':_0x51888c(0x214)};if(this['frameCount']<0x2)return null;const _0x52269f=await resolveFfmpegPath();if(!_0x52269f)return null;const _0x4edace=_0x369c3b[_0x51888c(0x1fb)](join,this['params'][_0x51888c(0x24d)],_0x51888c(0x1f0));await _0x369c3b['HfdvQ'](mkdir,_0x4edace,{'recursive':!![]});const _0x1af081=join(_0x4edace,_0x369c3b['SAXxm']);return await _0x369c3b['HfdvQ'](execFileAsync,_0x52269f,['-y','-hide_banner',_0x369c3b[_0x51888c(0x1e2)],_0x369c3b['SXZCv'],_0x369c3b['PcwAt'],'10','-i',_0x369c3b[_0x51888c(0x290)](join,this['getFrameDir'](),_0x51888c(0x260)),'-vf',_0x51888c(0x2a5),_0x51888c(0x26e),_0x51888c(0x24f),'-pix_fmt',_0x369c3b[_0x51888c(0x217)],_0x1af081]),_0x1af081;}[_0x152c0a(0x21e)](){const _0x286ae9=_0x152c0a;return join(this[_0x286ae9(0x20f)][_0x286ae9(0x24d)],_0x286ae9(0x234));}}async function delay(_0xe8db91){await new Promise(_0x3cdff2=>setTimeout(_0x3cdff2,_0xe8db91));}function _0x37fb(){const _0x361557=['ytsER','00_initial-state.yml','params','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','yUkiu','env','\x0a\x0a##\x20Additional\x20Notes\x0a','yuv420p','nxKIc','transportMetadata','vtKdR','nova_act_session_report','3716RumLJF','CRgMl','pqkFL','1348973iXEojM','tUwXE','getFrameDir','`\x0a-\x20`','stopScreencast','-loglevel','cnesw','trackPhaseStart','13284780BLbRai','stopTraceSampling','iCsxQ','\x20>\x20','export','stopped','WOaJr','tool_input','RTiZw','CHLlD','\x20screenshot\x20--output\x20','length','ggswj','match','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','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.','nova-video-frames','.json','oJXdi','then','traceSampleTimer','commandArgs','wYGmn','trim','unaddressedComments','now','invocation','gePOq','traceSampleCount','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','auQPg','--output','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','2AUjrRG','frameSession','padStart','.act_cli','textContent','hook_event_name','short','browser','cliArtifactDir','`.\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`','libvpx-vp9','nova_act_artifact_recording','**\x20(','MhVid','\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','pCuLG','trackPhaseEnd','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','\x0a\x0aExamples:\x0a-\x20`','stderr','cdp_endpoint','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','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.','novaOptions','start','startScreencast','zADSu','frame-%06d.jpg','AHcAQ','rtuhz','Caches','close','bKeQP','xYwxh','authorName','Scmzm','KABhF','replace','nova-act-cli','02_final-state.yml','wait-for','-c:v','6060400QdDXSI','frameCount','pNqzA','dzITV','connectOverCDP','session','PostToolUse','pages','Ybbgw','json','send','ffmpeg.exe','nova-session-export.json','domRef','contexts','TzcZA','FExzK','queueTraceSample','`\x0a3.\x20Run\x20`','Bash','phase','verify','Bqroi','telemetry','finally','ATwbE','startAttempted','subcommand','lJOQh','01_initial.yml','ydrgn','\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`','lqQma','VALzH','-\x20[','key_final-state.png','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','goto','encodeScreencastVideo','dAWUw','tPeXW','sessionId','from','ffmpeg-linux','screenshot','block','--output-dir','stop','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','startsWith','stdout','context','keys','nova-report','scale=trunc(iw/2)*2:trunc(ih/2)*2','snapshot','837064fsMwmD','traceSampleInFlight','Page.startScreencast','Library','mksqK','72LXPwmW','createdAt','catch','\x20snapshot\x20--output\x20','giYKq','3475689FIIKrU','wVdZN','frameWrites','command','captureTraceSample','mbIdo','lfoal','trackPhaseError','pop','dnBEL','base64','aBiKr','EvOZl','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','data','Page.stopScreencast','en-US','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','utf-8','navigate\x20browser','nova_act_session_close','jckuj','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','2370QeMkFM','\x20session\x20create\x20','cwd','videos','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','nova_act_final_screenshot','get','locator','mtimeMs','test','execute','ask','dsCLW','screencastStarted','HfdvQ','readSessionMetadataWithRetry','ApXks','capture\x20snapshot\x20`','authorEmail','Page.screencastFrameAck','nova_act_artifact_recording_stop','notes','execute\x20Nova\x20browser\x20action','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.','flatMap','--format','UpYuW','tracingStarted','6170406EtqLdg','name','aSfvE'];_0x37fb=function(){return _0x361557;};return _0x37fb();}async function resolveFfmpegPath(){const _0x2e1801=_0x152c0a,_0x2e39f2={'DkodA':function(_0x283646,_0x45397c){return _0x283646(_0x45397c);},'BoLfd':function(_0xb2f8c1,_0x4a1e9b,_0x588760,_0x2f8a35,_0x1df007){return _0xb2f8c1(_0x4a1e9b,_0x588760,_0x2f8a35,_0x1df007);},'FExzK':function(_0x2a8643){return _0x2a8643();},'CAjgF':_0x2e1801(0x263),'lfoal':function(_0x1aed38,_0x38f7e3,_0x24a657,_0x126cc6){return _0x1aed38(_0x38f7e3,_0x24a657,_0x126cc6);},'pqkFL':'.cache'};if(await _0x2e39f2['DkodA'](canRunFfmpeg,'ffmpeg'))return'ffmpeg';const _0x5a66ed=[_0x2e39f2['BoLfd'](join,_0x2e39f2[_0x2e1801(0x27f)](homedir),_0x2e1801(0x1cf),_0x2e39f2['CAjgF'],'ms-playwright'),_0x2e39f2[_0x2e1801(0x1dc)](join,homedir(),_0x2e39f2[_0x2e1801(0x21b)],'ms-playwright')];for(const _0x56552b of _0x5a66ed){try{const _0x282774=await readdir(_0x56552b),_0x4e7484=_0x282774['filter'](_0xef01bf=>_0xef01bf[_0x2e1801(0x2a0)]('ffmpeg-'))['sort']()['reverse']()[_0x2e1801(0x206)](_0x189563=>[join(_0x56552b,_0x189563,'ffmpeg-mac'),join(_0x56552b,_0x189563,_0x2e1801(0x29a)),join(_0x56552b,_0x189563,_0x2e1801(0x27a))]);for(const _0xe7cfda of _0x4e7484){if(await canRunFfmpeg(_0xe7cfda))return _0xe7cfda;}}catch{}}return null;}async function canRunFfmpeg(_0x16c01b){const _0x396766=_0x152c0a,_0x4c67e4={'CHLlD':function(_0x5d427a,_0x2b89b1,_0x5c8823){return _0x5d427a(_0x2b89b1,_0x5c8823);}};try{return await _0x4c67e4[_0x396766(0x22d)](execFileAsync,_0x16c01b,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x2ca30a){const _0x49c8c3=_0x152c0a,_0x52dbf1=basename(_0x2ca30a)[_0x49c8c3(0x26a)](/\.(?:png|ya?ml)$/i,'')[_0x49c8c3(0x26a)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x52dbf1,'isKeyStep':/^key_/i['test'](basename(_0x2ca30a))};}function extractShellValue(_0xcde528){if(!_0xcde528)return null;return _0xcde528[0x1]??_0xcde528[0x2]??_0xcde528[0x3]??null;}function extractOutputOption(_0x51723d){const _0x58f7ef=_0x152c0a,_0x55d579={'lqQma':function(_0x3b8b50,_0x3e2f0c){return _0x3b8b50(_0x3e2f0c);}};return _0x55d579[_0x58f7ef(0x28f)](extractShellValue,_0x51723d[_0x58f7ef(0x231)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x1a9415,_0x11c21d){const _0x246176=_0x152c0a,_0x6c3571={'whyRC':_0x246176(0x1f7),'odmCS':'verify','MZMcc':'verify\x20page\x20condition','RTiZw':_0x246176(0x1f8),'ydrgn':'ask\x20page\x20question','Bqroi':_0x246176(0x1e9),'KABhF':function(_0x1f5128,_0x4341a3){return _0x1f5128(_0x4341a3);},'jckuj':'session\x20export','RNYUI':'export\x20Nova\x20session'};switch(_0x11c21d){case'session\x20create':return'create\x20Nova\x20browser\x20session';case _0x6c3571['whyRC']:return _0x246176(0x203);case _0x6c3571['odmCS']:return _0x6c3571['MZMcc'];case _0x6c3571[_0x246176(0x22c)]:return _0x6c3571[_0x246176(0x28d)];case _0x246176(0x294):return _0x6c3571[_0x246176(0x285)];case _0x246176(0x26d):return'wait\x20for\x20page\x20condition';case _0x246176(0x1cb):{const _0x1a2f5c=extractOutputOption(_0x1a9415);if(!_0x1a2f5c)return'capture\x20snapshot';const {name:_0x30f425}=toStepDisplayName(_0x1a2f5c);return _0x246176(0x1fe)+_0x30f425+'`';}case _0x246176(0x29b):{const _0x1f2184=extractOutputOption(_0x1a9415);if(!_0x1f2184)return'capture\x20screenshot';const {name:_0x3b84bb,isKeyStep:_0x3d5963}=_0x6c3571[_0x246176(0x269)](toStepDisplayName,_0x1f2184);return _0x3d5963?'capture\x20key\x20step\x20`'+_0x3b84bb+'`':'capture\x20step\x20`'+_0x3b84bb+'`';}case _0x6c3571[_0x246176(0x1eb)]:return _0x6c3571['RNYUI'];default:return _0x11c21d;}}function getNovaActCliCommandBlockReason(_0x360155){const _0x26badc=_0x152c0a,_0x44eb1a={'ibDHW':function(_0x17380a,_0x55845a){return _0x17380a(_0x55845a);},'ggpJg':function(_0x2b8250,_0x6204bd){return _0x2b8250===_0x6204bd;},'CRgMl':_0x26badc(0x25b)},_0x1186a0=_0x44eb1a['ibDHW'](parseNovaActCliCommand,_0x360155);if(!_0x1186a0)return _0x26badc(0x1e7);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x1186a0))return'Nova\x20command\x20`'+_0x1186a0+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x44eb1a['ggpJg'](_0x1186a0,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x360155))return _0x44eb1a[_0x26badc(0x21a)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x360155))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x1f43ff){const _0x2c11ee=_0x152c0a,_0x1d0025={'Hqaxf':_0x2c11ee(0x24b),'rtuhz':'numeric','cnesw':'Reviewer','jEoaY':_0x2c11ee(0x227),'WvXrw':function(_0x54fe44,_0x32db98){return _0x54fe44===_0x32db98;}};if(!_0x1f43ff||_0x1d0025['WvXrw'](_0x1f43ff[_0x2c11ee(0x23c)][_0x2c11ee(0x22f)],0x0))return'';const _0xe73395=_0x1f43ff[_0x2c11ee(0x23c)]['map'](_0x5e2a42=>{const _0x39ec73=_0x2c11ee,_0x433213=new Date(_0x5e2a42[_0x39ec73(0x1d2)])['toLocaleDateString'](_0x39ec73(0x1e6),{'month':_0x1d0025['Hqaxf'],'day':_0x1d0025[_0x39ec73(0x262)]}),_0x489034=_0x5e2a42[_0x39ec73(0x267)]||_0x5e2a42[_0x39ec73(0x1ff)]||_0x1d0025[_0x39ec73(0x222)],_0x297c4d=_0x5e2a42[_0x39ec73(0x27c)]?'\x20(on\x20element:\x20<'+(_0x5e2a42['domRef']['selector']['split'](_0x1d0025['jEoaY'])[_0x39ec73(0x1de)]()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x5e2a42[_0x39ec73(0x27c)][_0x39ec73(0x249)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x39ec73(0x291)+_0x5e2a42['id']+']\x20**'+_0x489034+_0x39ec73(0x251)+_0x433213+'):\x20\x22'+_0x5e2a42['content']+'\x22'+_0x297c4d;})['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'+_0xe73395;}function buildNovaSharedOptionsInstruction(_0x536fb3){const _0xefbae4=_0x152c0a;if(!_0x536fb3[_0xefbae4(0x23b)]())return _0xefbae4(0x233);return _0xefbae4(0x1ec)+_0x536fb3;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x3b40ba){const _0x5d753c=_0x152c0a,_0xf68b11={'WFFRp':function(_0x5c676b,_0x2e817f,_0x3632d7){return _0x5c676b(_0x2e817f,_0x3632d7);},'pCuLG':function(_0x276a6a,_0x56a543,_0x1461f8){return _0x276a6a(_0x56a543,_0x1461f8);},'SXIpb':function(_0x4841b0,_0x73b321,_0x580188){return _0x4841b0(_0x73b321,_0x580188);},'enpAN':function(_0x2e4a7f,_0x4e4c49){return _0x2e4a7f(_0x4e4c49);}},{novaCommandPrefix:_0x450e7,novaSharedOptionsSuffix:_0x134702,cliArtifactDir:_0x41e63c,url:_0x3b0fc7}=_0x3b40ba,_0x1f6773=buildCliArtifactPath(_0x41e63c,_0x5d753c(0x20e)),_0x52796e=_0xf68b11['WFFRp'](buildCliArtifactPath,_0x41e63c,'01_initial-state.png'),_0x1853d1=_0xf68b11[_0x5d753c(0x254)](buildCliArtifactPath,_0x41e63c,_0x5d753c(0x26c)),_0x35f7d1=_0xf68b11['SXIpb'](buildCliArtifactPath,_0x41e63c,'03_final-state.png');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'+_0x450e7+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x134702)+'\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`'+_0x450e7+'\x20session\x20create\x20'+_0xf68b11['enpAN'](quoteShellArg,_0x3b0fc7)+'\x20'+_0x134702+'`\x0a2.\x20Run\x20`'+_0x450e7+'\x20snapshot\x20--output\x20'+_0xf68b11['enpAN'](quoteShellArg,_0x1f6773)+'\x20'+_0x134702+_0x5d753c(0x281)+_0x450e7+_0x5d753c(0x22e)+_0xf68b11['enpAN'](quoteShellArg,_0x52796e)+'\x20'+_0x134702+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x450e7+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x450e7+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x1853d1)+'\x20'+_0x134702+'`\x0a6.\x20Run\x20`'+_0x450e7+_0x5d753c(0x22e)+quoteShellArg(_0x35f7d1)+'\x20'+_0x134702+_0x5d753c(0x1e3)+_0x41e63c+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x25feaa){const _0x4897ed=_0x152c0a,_0x4e112f={'mbIdo':function(_0x35a5ca,_0x2aa76d,_0x5a12a5){return _0x35a5ca(_0x2aa76d,_0x5a12a5);},'TzcZA':_0x4897ed(0x28c),'ugroy':'01_initial-state.png','Ybbgw':'key_03_success-state.png','Wewug':_0x4897ed(0x293),'giYKq':function(_0x52a39c,_0x2ea2e1){return _0x52a39c(_0x2ea2e1);}},{checklistItem:_0x464d6c,itemFeedback:_0x30bf0a,taskDescription:_0x44c478,novaCommandPrefix:_0x275750,novaSharedOptionsSuffix:_0x2376cc,cliArtifactDir:_0x48458c,url:_0x55dbae,loginInstructions:_0x40ebc0}=_0x25feaa,_0xff0bd=_0x464d6c['notes']?_0x4897ed(0x213)+_0x464d6c[_0x4897ed(0x202)]:'',_0x66b62f=buildFeedbackSection(_0x30bf0a),_0x2319e3=_0x30bf0a?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x30bf0a['canonicalFlow']:'',_0x36ed44=_0x40ebc0?_0x4897ed(0x210)+_0x40ebc0+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x2e5f82=_0x4e112f[_0x4897ed(0x1db)](buildCliArtifactPath,_0x48458c,_0x4e112f[_0x4897ed(0x27e)]),_0x749fcf=_0x4e112f[_0x4897ed(0x1db)](buildCliArtifactPath,_0x48458c,_0x4e112f['ugroy']),_0x36817b=_0x4e112f['mbIdo'](buildCliArtifactPath,_0x48458c,_0x4e112f[_0x4897ed(0x277)]);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'+_0x464d6c['description']+_0xff0bd+_0x66b62f+_0x2319e3+_0x4897ed(0x232)+_0x44c478+_0x4897ed(0x1f1)+_0x55dbae+_0x4897ed(0x253)+_0x36ed44+_0x4897ed(0x28e)+_0x275750+_0x4897ed(0x1ee)+quoteShellArg(_0x55dbae)+'\x20'+_0x2376cc+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x48458c+_0x4897ed(0x241)+_0x275750+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2e5f82)+'\x20'+_0x2376cc+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x275750+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x749fcf)+'\x20'+_0x2376cc+_0x4897ed(0x24e)+_0x36817b+'`.\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`'+_0x275750+_0x4897ed(0x25a)+(_0x2376cc['trim']()?'`'+_0x2376cc+'`':_0x4e112f['Wewug'])+'\x0a\x0a'+_0x4e112f[_0x4897ed(0x1d5)](buildNovaSharedOptionsInstruction,_0x2376cc)+_0x4897ed(0x257)+_0x275750+_0x4897ed(0x256)+_0x2376cc+_0x4897ed(0x21f)+_0x275750+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x2376cc+'`\x0a-\x20`'+_0x275750+_0x4897ed(0x1d4)+quoteShellArg(_0x2e5f82)+'\x20'+_0x2376cc+'`\x0a-\x20`'+_0x275750+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x36817b)+'\x20'+_0x2376cc+_0x4897ed(0x205);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x265529){const _0x593239=_0x152c0a,_0x5ca280={'ggswj':function(_0x1164d0,_0x483c3e){return _0x1164d0===_0x483c3e;}},_0x1760b7=[..._0x265529[_0x593239(0x2a3)]()]['sort']();let _0xae3309=0x0;for(const _0x547ce6 of _0x265529['values']()){_0xae3309+=_0x547ce6;}return{'cliCommandCount':_0xae3309,'cliCommandsSeen':_0x1760b7,'noCliCommandsCalled':_0x5ca280[_0x593239(0x230)](_0xae3309,0x0)};}export function createVerifyFeatureNovaCliHooks(_0xa01ca,_0x482424){const _0x40ec53=_0x152c0a,_0x57e8cb={'mksqK':function(_0x2abd62,_0xfafbc7){return _0x2abd62!==_0xfafbc7;},'wYGmn':'PreToolUse','bgIZV':'Bash','ApXks':function(_0x4a199c,_0x1c0947){return _0x4a199c(_0x1c0947);},'lhAia':_0x40ec53(0x29c),'EknWY':_0x40ec53(0x275),'lJOQh':function(_0x134d3a,_0x7bd9f0){return _0x134d3a!==_0x7bd9f0;},'wVdZN':function(_0x3b7d80,_0x1a1a8f){return _0x3b7d80(_0x1a1a8f);},'dAWUw':'nova_act_command','sFJjx':function(_0xf4cb26,_0x51bb9a,_0x36822f){return _0xf4cb26(_0x51bb9a,_0x36822f);},'vfixA':function(_0x4cf8dc,_0x4bb7c0){return _0x4cf8dc===_0x4bb7c0;},'bEdKZ':'session\x20create','aSfvE':'nova_act_artifact_recording','IyBbe':function(_0x152b7e,_0xbf20db){return _0x152b7e!==_0xbf20db;}},_0x1b7834=new Map(),_0x4652eb=async _0x5e4728=>{const _0x1f4d0e=_0x40ec53;if(_0x57e8cb['mksqK'](_0x5e4728['hook_event_name'],_0x57e8cb[_0x1f4d0e(0x23a)]))return{};const _0x1d99ae=_0x5e4728;if(_0x57e8cb[_0x1f4d0e(0x1d0)](_0x1d99ae['tool_name'],_0x57e8cb['bgIZV']))return{};const _0x371f7e=_0x1d99ae[_0x1f4d0e(0x22b)],_0x4a0ec7=_0x57e8cb[_0x1f4d0e(0x1fd)](extractBashCommand,_0x371f7e);if(!_0x4a0ec7)return{};const _0xc5c17d=getNovaActCliCommandBlockReason(_0x4a0ec7);if(!_0xc5c17d)return{};return{'decision':_0x57e8cb['lhAia'],'reason':_0xc5c17d};},_0x248c5d=async _0x220cca=>{const _0x14306b=_0x40ec53;if(_0x220cca[_0x14306b(0x24a)]!==_0x57e8cb['EknWY'])return{};const _0xb0ebde=_0x220cca;if(_0x57e8cb[_0x14306b(0x28b)](_0xb0ebde['tool_name'],'Bash'))return{};const _0x1fd632=_0xb0ebde[_0x14306b(0x22b)],_0x49c736=_0x57e8cb[_0x14306b(0x1d7)](extractBashCommand,_0x1fd632);if(!_0x49c736)return{};const _0x2099bc=parseNovaActCliCommand(_0x49c736);if(!_0x2099bc)return{};_0x1b7834['set'](_0x2099bc,(_0x1b7834[_0x14306b(0x1f3)](_0x2099bc)||0x0)+0x1),_0xa01ca['trackPhaseStart'](_0x57e8cb[_0x14306b(0x296)],{'subcommand':_0x2099bc}),_0xa01ca[_0x14306b(0x255)]('nova_act_command',{'subcommand':_0x2099bc,'commandPreview':previewNovaActCliCommand(_0x49c736)}),console['log']('[nova-act-cli]\x20'+_0x57e8cb['sFJjx'](formatNovaActCliLog,_0x49c736,_0x2099bc));if(_0x57e8cb['vfixA'](_0x2099bc,_0x57e8cb['bEdKZ'])&&_0x482424)try{await _0x482424['start']();}catch(_0x455b3c){await _0xa01ca[_0x14306b(0x1dd)](_0x57e8cb[_0x14306b(0x20c)],_0x455b3c,{'transport':'nova-act-cli'});}return{};},_0xc238d0=async _0x562a48=>{const _0x9b6c1d=_0x40ec53;if(_0x57e8cb['IyBbe'](_0x562a48[_0x9b6c1d(0x24a)],'PostToolUseFailure'))return{};const _0x3feeec=_0x562a48;if(_0x3feeec['tool_name']!=='Bash')return{};return await _0xa01ca[_0x9b6c1d(0x1dd)]('nova_act_command_failure',_0x3feeec['error'],{'transport':_0x9b6c1d(0x26b),'toolName':_0x9b6c1d(0x282)}),{};};return{'preToolUseHook':_0x4652eb,'postToolUseHook':_0x248c5d,'postToolUseFailureHook':_0xc238d0,'commandCounts':_0x1b7834};}async function runNovaLifecycleCommand(_0x29df9b){const _0x3da69d=_0x152c0a,_0x729132={'fdCrO':function(_0x4b4f73,_0x5c6bb5){return _0x4b4f73(_0x5c6bb5);},'oOuLC':function(_0x3574e6,_0x49c528){return _0x3574e6(_0x49c528);},'UpYuW':function(_0x130a49,_0x12a4dd){return _0x130a49(_0x12a4dd);}},{novaOptions:_0x523345,commandArgs:_0x598f23,telemetry:_0x9e0b21,phase:_0x1bce70,metadata:_0x27e675,timeoutMs:_0x549904}=_0x29df9b;_0x9e0b21['trackPhaseStart'](_0x1bce70,_0x27e675);try{const _0x48a30e=await runNovaActCliCommand({..._0x523345,'commandArgs':_0x598f23,'cwd':process[_0x3da69d(0x1ef)](),'env':process[_0x3da69d(0x212)],'timeoutMs':_0x549904??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x9e0b21['trackPhaseEnd'](_0x1bce70,{..._0x27e675,'subcommand':_0x48a30e['invocation'][_0x3da69d(0x28a)],'commandPreview':_0x729132['fdCrO'](previewNovaActCliCommand,_0x48a30e[_0x3da69d(0x23e)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x48a30e['stdout']),'stderrPreview':_0x729132['oOuLC'](previewNovaActCliCommand,_0x48a30e[_0x3da69d(0x258)]),'logDir':_0x729132[_0x3da69d(0x208)](extractNovaActLogDir,_0x48a30e[_0x3da69d(0x2a1)])});}catch(_0x13ab9d){await _0x9e0b21[_0x3da69d(0x1dd)](_0x1bce70,_0x13ab9d,_0x27e675);throw _0x13ab9d;}}function _0x1c86(_0xb90637,_0x658003){_0xb90637=_0xb90637-0x1cb;const _0x37fb2=_0x37fb();let _0x1c8661=_0x37fb2[_0xb90637];return _0x1c8661;}export async function finalizeVerifyFeatureNovaCliSession(_0x3c07a2){const _0x30f532=_0x152c0a,_0x46cc87={'NvVMf':'screenshot','Scmzm':_0x30f532(0x243),'haYUr':_0x30f532(0x292),'atAGe':_0x30f532(0x1cb),'zADSu':_0x30f532(0x228),'yUkiu':function(_0x5143c3,_0x5e5814,_0x495fa0){return _0x5143c3(_0x5e5814,_0x495fa0);},'Nhrso':_0x30f532(0x29d),'FQHTQ':_0x30f532(0x2a4),'xYwxh':_0x30f532(0x264)},{telemetry:_0x54a841,novaOptions:_0x3cc640,cliArtifactDir:_0xa738c5,transportMetadata:_0x2eafeb,artifactRecorder:_0x25d441}=_0x3c07a2,_0x4d8f26=[{'phase':_0x30f532(0x1f2),'commandArgs':[_0x46cc87['NvVMf'],_0x46cc87['Scmzm'],buildCliArtifactPath(_0xa738c5,_0x46cc87['haYUr'])]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x46cc87['atAGe'],_0x46cc87[_0x30f532(0x268)],buildCliArtifactPath(_0xa738c5,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':['session',_0x46cc87[_0x30f532(0x25f)],_0x30f532(0x207),_0x30f532(0x278),_0x46cc87['Scmzm'],_0x46cc87[_0x30f532(0x211)](buildCliArtifactPath,_0xa738c5,_0x30f532(0x27b))]},{'phase':_0x30f532(0x218),'commandArgs':[_0x30f532(0x274),_0x30f532(0x228),'--report',_0x46cc87['Nhrso'],buildCliArtifactPath(_0xa738c5,_0x46cc87['FQHTQ'])]},{'phase':_0x30f532(0x1ea),'commandArgs':['session',_0x46cc87[_0x30f532(0x266)]]}];for(const _0x5d0274 of _0x4d8f26){_0x5d0274['phase']==='nova_act_session_close'&&await _0x25d441?.[_0x30f532(0x29e)]();try{await runNovaLifecycleCommand({'novaOptions':_0x3cc640,'commandArgs':[..._0x5d0274['commandArgs']],'telemetry':_0x54a841,'phase':_0x5d0274[_0x30f532(0x283)],'metadata':_0x2eafeb});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3448bb){const _0x13f86b=_0x152c0a,_0x1e62ad={'bKeQP':function(_0x3628db,_0x5c10e2,_0x354223){return _0x3628db(_0x5c10e2,_0x354223);},'nxKIc':function(_0xefbcd8,_0x45700e){return _0xefbcd8(_0x45700e);},'WWYoN':function(_0x19c158,_0xf3e094){return _0x19c158+_0xf3e094;}},{cwd:_0x9a8dc4,cliArtifactDir:_0x465d31,startTime:_0x4abd7a}=_0x3448bb,_0x324362=[];await mkdir(_0x465d31,{'recursive':!![]});const _0x41f1bb=await readdir(_0x9a8dc4,{'withFileTypes':!![]});for(const _0x55c57d of _0x41f1bb){if(!_0x55c57d['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x13f86b(0x1f6)](_0x55c57d[_0x13f86b(0x20b)]))continue;const _0x233c9c=_0x1e62ad[_0x13f86b(0x265)](join,_0x9a8dc4,_0x55c57d['name']),_0x305b90=await _0x1e62ad[_0x13f86b(0x215)](stat,_0x233c9c);if(_0x1e62ad['WWYoN'](_0x305b90[_0x13f86b(0x1f5)],0x7d0)<_0x4abd7a)continue;const _0x4c3d59=_0x1e62ad['bKeQP'](buildCliArtifactPath,_0x465d31,_0x55c57d[_0x13f86b(0x20b)]);if(_0x233c9c===_0x4c3d59)continue;await rename(_0x233c9c,_0x4c3d59),_0x324362['push'](_0x55c57d['name']);}return _0x324362['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x37fc41){const _0x5a6a48={'mLYSz':'trace.zip','pZDaZ':function(_0x907c58,_0x91e3d0){return _0x907c58(_0x91e3d0);}},_0x5b8e30=join(_0x37fc41,_0x5a6a48['mLYSz']);try{return{'buffer':await readFile(_0x5b8e30),'source':_0x5b8e30};}catch{return{'buffer':await _0x5a6a48['pZDaZ'](zipVerifyFeatureNovaArtifacts,_0x37fc41),'source':_0x37fc41};}}async function zipVerifyFeatureNovaArtifacts(_0x35f748){const _0x35e899=_0x152c0a,_0x455758={'WOaJr':function(_0x46a67e,_0x53d0d6,_0x531007,_0x576eb3){return _0x46a67e(_0x53d0d6,_0x531007,_0x576eb3);},'iCsxQ':'-qr','ytsER':'nova-user-data/*','dVobV':function(_0x2cb614,_0x21e8a1){return _0x2cb614(_0x21e8a1);}},_0x257118=join(_0x35f748,'..','nova-artifacts.zip');try{return await _0x455758[_0x35e899(0x22a)](execFileAsync,'zip',[_0x455758[_0x35e899(0x226)],_0x257118,'.','-x',_0x455758[_0x35e899(0x20d)]],{'cwd':_0x35f748}),await _0x455758['dVobV'](readFile,_0x257118);}finally{await rm(_0x257118,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x467058){const _0x24a2ad=_0x152c0a,_0x43722c={'auQPg':function(_0x51d8c0,_0xdafcd1,_0x43cc5a){return _0x51d8c0(_0xdafcd1,_0x43cc5a);}},_0x176f6b=buildNovaActCliInvocation(_0x467058[_0x24a2ad(0x25c)],_0x467058[_0x24a2ad(0x239)]);return{'command':_0x176f6b[_0x24a2ad(0x1d9)],'args':_0x176f6b['args'],'commandPreview':previewNovaActCliCommand(_0x176f6b['shellCommand']),'subcommand':_0x176f6b[_0x24a2ad(0x28a)],'sharedOptionsSuffix':_0x43722c[_0x24a2ad(0x242)](buildNovaActCliSharedOptionsSuffix,_0x467058[_0x24a2ad(0x25c)],_0x467058['commandArgs'])};}
|
|
1
|
+
const _0x26d722=_0xe6e8;(function(_0x7d925d,_0x2e9109){const _0x4d9111=_0xe6e8,_0x19cdbe=_0x7d925d();while(!![]){try{const _0x5927bb=-parseInt(_0x4d9111(0x17f))/0x1*(-parseInt(_0x4d9111(0x1c6))/0x2)+parseInt(_0x4d9111(0x185))/0x3*(-parseInt(_0x4d9111(0x18c))/0x4)+parseInt(_0x4d9111(0x1b9))/0x5*(-parseInt(_0x4d9111(0x1e0))/0x6)+-parseInt(_0x4d9111(0x116))/0x7*(parseInt(_0x4d9111(0x19c))/0x8)+-parseInt(_0x4d9111(0x126))/0x9*(parseInt(_0x4d9111(0x1e1))/0xa)+parseInt(_0x4d9111(0x1bc))/0xb+parseInt(_0x4d9111(0x1a2))/0xc;if(_0x5927bb===_0x2e9109)break;else _0x19cdbe['push'](_0x19cdbe['shift']());}catch(_0x408e98){_0x19cdbe['push'](_0x19cdbe['shift']());}}}(_0x4ee9,0xb4084));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';function _0x4ee9(){const _0xc90ea4=['screencastStarted','-hide_banner','session\x20create','mPajH','fmquP','SFUfa','textContent','Caches','JTfWl','sort','push','UlMgx','args','nova_act_artifact_recording_stop','\x20snapshot\x20--output\x20','wait-for','key_final-state.png','ffmpeg-mac','params','\x20session\x20create\x20','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','Bash','awpOj','ZmJUm','get','tool_name','now','canonicalFlow','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','tracingStarted','lOzpD','eiBwU','76196tFwsPw','`.\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`','locator','NFvuX','pbANp','traceSampleInFlight','3kstqRp','mtimeMs','verify','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','execute','cSgek','ZwGqU','4360604svYspC','jdOxu','ask\x20page\x20question','screenshot','unaddressedComments','isFile','--output','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','ZzsCT','khrPI','nova-act-cli','snapshot','tEpJR','error','capture\x20screenshot','tool_input','2200TxisbG','kYZxV','TEWXc','sIPKf','nova-user-data/*','\x20screenshot\x20--output\x20','28257936bAvpFh','traceSampleTimer','reverse','ms-playwright','telemetry','trim','yTTzG','**\x20(','`\x0a-\x20`','nova-artifacts.zip','trackPhaseStart','--output-dir','BAMMN','Page.screencastFrameAck','eambJ','startScreencast','connectOverCDP','zip','seEnw','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','test','-version','navigate\x20browser','1865ZBFRSf','\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','invocation','11083171TEpsQP','qeIlU','XuNuJ','session-recording.webm','trackPhaseError','goto','RVsYR','name','Jlhkq','stop','28gKvBeU','start','xKhiT','block','context','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.','frame-','frameCount','browser','mZzdD','stdout','catch','keys','encodeScreencastVideo','NkVjL','set','[nova-act-cli]\x20','\x20(on\x20element:\x20<','EikZc','Library','nova_act_command','body','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','nova_act_final_snapshot','\x20>\x20','shellCommand','14754gHNqgf','3132190UMsPFh','execute\x20Nova\x20browser\x20action','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','PostToolUse','\x0a\x0a##\x20Additional\x20Notes\x0a','nova-session-export.json','frameWrites','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','dBPWs','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','content','oTuOU','hook_event_name','TcbLd','split','uzQkv','frameSession','utf-8','wjOrD','NaXKO','zoiYl','flatMap','command','`\x0a3.\x20Run\x20`','xDasR','00_initial-state.yml','values','26929VeSlWT','selector','log','msRiU','close','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','send','trackPhaseEnd','`.\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`','01_initial-state.png','startTraceSampling','getFrameDir','sRmTZ','nova_act_session_report','18PxASBA','ffmpeg.exe','PreToolUse','`\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.','kIoZL','replace','cliArtifactDir','-loglevel','queueTraceSample','Page.startScreencast','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','novaOptions','givwS','Page.stopScreencast','onwvC','Page.screencastFrame','nova_act_artifact_recording','.act_cli','startAttempted','.json','oMOmB','-framerate','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','domRef','\x0a\x0aExamples:\x0a-\x20`','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','.jpg','then','ffmpeg','readSessionMetadataWithRetry','ffmpeg-linux','parse','captureTraceSample','jpeg','filter','sessions','gWSwn','pages','toLocaleDateString','EOuDP','bmXIu','jLPSd','nova-video-frames','dtVjR','BwBJF','notes','trace.zip','stderr','wait\x20for\x20page\x20condition','short','element','export\x20Nova\x20session','subcommand','slKwb','commandArgs','description','stopped'];_0x4ee9=function(){return _0xc90ea4;};return _0x4ee9();}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([_0x26d722(0x161),_0x26d722(0x189),_0x26d722(0x187),'ask','goto',_0x26d722(0x16e),_0x26d722(0x197),_0x26d722(0x18f)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x588683,_0x14d8f0){return join(_0x588683,_0x14d8f0);}export class NovaActArtifactRecorder{[_0x26d722(0x171)];[_0x26d722(0x1ce)]=null;['context']=null;['frameSession']=null;['frameWrites']=[];[_0x26d722(0x1cd)]=0x0;['traceSampleCount']=0x0;[_0x26d722(0x1a3)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x26d722(0x138)]=![];['stopped']=![];constructor(_0x5383b8){const _0x5bdfa9=_0x26d722;this[_0x5bdfa9(0x171)]=_0x5383b8;}async[_0x26d722(0x1c7)](){const _0x32f10d=_0x26d722,_0x3e4e64={'ZmJUm':function(_0x69a31,_0x4a3771,_0x34a526){return _0x69a31(_0x4a3771,_0x34a526);}};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x160d86=await this[_0x32f10d(0x143)](),_0x251d9b=_0x160d86['cdp_endpoint'];if(!_0x251d9b)throw new Error(_0x32f10d(0x17b)+this['params'][_0x32f10d(0x131)]['sessionId']);await _0x3e4e64[_0x32f10d(0x176)](mkdir,this[_0x32f10d(0x171)]['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium[_0x32f10d(0x1b2)](_0x251d9b,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x32f10d(0x1ca)]=this['browser']['contexts']()[0x0]??null;if(!this[_0x32f10d(0x1ca)])throw new Error(_0x32f10d(0x188));await this[_0x32f10d(0x1ca)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x32f10d(0x122)](),await this[_0x32f10d(0x1b1)](),this[_0x32f10d(0x171)]['telemetry'][_0x32f10d(0x1ac)](_0x32f10d(0x136),{...this[_0x32f10d(0x171)]['transportMetadata'],'cdpEndpoint':_0x251d9b,'browserPid':_0x160d86['browser_pid'],'sessionState':_0x160d86['state']}),this['params']['telemetry']['trackPhaseEnd']('nova_act_artifact_recording',{...this[_0x32f10d(0x171)]['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x26d722(0x1c5)](){const _0x64605=_0x26d722,_0x2ba7de={'eIiSv':_0x64605(0x16c),'jdOxu':function(_0x14cc43,_0x52c142,_0x284ac9){return _0x14cc43(_0x52c142,_0x284ac9);}};if(this['stopped'])return;this[_0x64605(0x15e)]=!![];const _0x2e09e2={...this[_0x64605(0x171)]['transportMetadata'],'frameCount':this[_0x64605(0x1cd)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x64605(0x171)]['telemetry'][_0x64605(0x1ac)](_0x2ba7de['eIiSv'],_0x2e09e2);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x64605(0x1e7)]);this[_0x64605(0x1ca)]&&this[_0x64605(0x17c)]&&await this['context']['tracing'][_0x64605(0x1c5)]({'path':_0x2ba7de[_0x64605(0x18d)](buildCliArtifactPath,this[_0x64605(0x171)]['cliArtifactDir'],_0x64605(0x154))});const _0x53e038=await this['encodeScreencastVideo']();this['params'][_0x64605(0x1a6)]['trackPhaseEnd'](_0x64605(0x16c),{..._0x2e09e2,'videoPath':_0x53e038});}catch(_0x3adf80){await this['params']['telemetry']['trackPhaseError']('nova_act_artifact_recording_stop',_0x3adf80,_0x2e09e2);}finally{await this[_0x64605(0x1ce)]?.[_0x64605(0x11a)]()[_0x64605(0x1d1)](()=>undefined),this['browser']=null,this[_0x64605(0x1ca)]=null,this[_0x64605(0x10b)]=null;}}async['readSessionMetadataWithRetry'](){const _0x1a82f0=_0x26d722,_0x59ce3f={'BwBJF':_0x1a82f0(0x137),'oTuOU':_0x1a82f0(0x1ce),'QPDrF':_0x1a82f0(0x149),'TEWXc':_0x1a82f0(0x10c),'sRmTZ':function(_0x247f5a,_0xc3b7eb){return _0x247f5a<_0xc3b7eb;},'oMOmB':function(_0x2b4346,_0x2744b9){return _0x2b4346-_0x2744b9;},'UpCPb':function(_0x49461b,_0x201269){return _0x49461b instanceof _0x201269;}},_0x2d7494=join(homedir(),_0x59ce3f[_0x1a82f0(0x152)],_0x59ce3f[_0x1a82f0(0x1ec)],_0x59ce3f['QPDrF'],this[_0x1a82f0(0x171)][_0x1a82f0(0x131)]['sessionId']+_0x1a82f0(0x139)),_0x3585b8=Date[_0x1a82f0(0x179)]();let _0x2a467f;do{try{const _0x206d7c=JSON[_0x1a82f0(0x145)](await readFile(_0x2d7494,_0x59ce3f[_0x1a82f0(0x19e)]));if(_0x206d7c['cdp_endpoint'])return _0x206d7c;_0x2a467f=new Error(_0x1a82f0(0x1e3)+_0x2d7494);}catch(_0x40dde8){_0x2a467f=_0x40dde8;}await delay(0x64);}while(_0x59ce3f[_0x1a82f0(0x124)](_0x59ce3f[_0x1a82f0(0x13a)](Date['now'](),_0x3585b8),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x59ce3f['UpCPb'](_0x2a467f,Error))throw _0x2a467f;throw new Error(_0x1a82f0(0x1dc)+_0x2d7494);}async[_0x26d722(0x1b1)](){const _0x24c607=_0x26d722,_0x1e7773={'xlJyu':function(_0x4f7cc9,_0x12fcb9,_0x2db27b){return _0x4f7cc9(_0x12fcb9,_0x2db27b);},'wonUg':'base64','IMQrB':function(_0x2017a5,_0x2c002e,_0x3d5d73){return _0x2017a5(_0x2c002e,_0x3d5d73);},'bXUTG':_0x24c607(0x135),'JTfWl':_0x24c607(0x147)};if(!this['context'])return;const _0x183647=this['context'][_0x24c607(0x14b)]()[0x0];if(!_0x183647)return;const _0x2da176=this[_0x24c607(0x123)]();await _0x1e7773['IMQrB'](mkdir,_0x2da176,{'recursive':!![]});const _0x283a05=await this[_0x24c607(0x1ca)]['newCDPSession'](_0x183647);this['frameSession']=_0x283a05,_0x283a05['on'](_0x1e7773['bXUTG'],_0x14f4d7=>{const _0x2123f5=_0x24c607,_0x4f5ab9=++this['frameCount'],_0x38116e=_0x1e7773['xlJyu'](join,_0x2da176,_0x2123f5(0x1cc)+String(_0x4f5ab9)['padStart'](0x6,'0')+_0x2123f5(0x140)),_0x367db7=writeFile(_0x38116e,Buffer['from'](_0x14f4d7['data'],_0x1e7773['wonUg']))[_0x2123f5(0x1d1)](()=>undefined)['finally'](()=>_0x283a05['send'](_0x2123f5(0x1af),{'sessionId':_0x14f4d7['sessionId']}))[_0x2123f5(0x141)](()=>undefined)[_0x2123f5(0x1d1)](()=>undefined);this[_0x2123f5(0x1e7)][_0x2123f5(0x169)](_0x367db7);}),await _0x283a05[_0x24c607(0x11e)](_0x24c607(0x12f),{'format':_0x1e7773[_0x24c607(0x167)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x228a7a=_0x26d722,_0x3fed77={'vaPLH':_0x228a7a(0x133)};if(!this[_0x228a7a(0x10b)]||!this[_0x228a7a(0x15f)])return;await this['frameSession']['send'](_0x3fed77['vaPLH'])[_0x228a7a(0x1d1)](()=>undefined);}[_0x26d722(0x122)](){const _0x3ee08d=_0x26d722;this[_0x3ee08d(0x12e)](),this[_0x3ee08d(0x1a3)]=setInterval(()=>this[_0x3ee08d(0x12e)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x26d722(0x12e)](){const _0x1a81b3=_0x26d722;if(this['traceSampleInFlight'])return;this[_0x1a81b3(0x184)]=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x5edc09=_0x26d722;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this[_0x5edc09(0x1a3)]=null),await this[_0x5edc09(0x184)]?.['catch'](()=>undefined);}async[_0x26d722(0x146)](){const _0x15de66=_0x26d722,_0x2d66b6=this[_0x15de66(0x1ca)]?.[_0x15de66(0x14b)]()[0x0];if(!_0x2d66b6)return;try{await _0x2d66b6[_0x15de66(0x181)](_0x15de66(0x1db))['evaluate'](_0xd975f6=>_0xd975f6['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x26d722(0x1d3)](){const _0x57ca2a=_0x26d722,_0x16df39={'khrPI':function(_0x4cdece,_0x4f3e63){return _0x4cdece<_0x4f3e63;},'ZzsCT':function(_0x39cc5a){return _0x39cc5a();},'gKASj':function(_0x1944b9,_0x25b8b4,_0x414e6c){return _0x1944b9(_0x25b8b4,_0x414e6c);},'XKnuT':'videos','jLPSd':function(_0x2c7ded,_0x417d4,_0x2eeb6e){return _0x2c7ded(_0x417d4,_0x2eeb6e);},'EOuDP':_0x57ca2a(0x1bf),'RVsYR':function(_0x3f7c8f,_0xe1db83,_0x1d9858){return _0x3f7c8f(_0xe1db83,_0x1d9858);},'PBYMK':_0x57ca2a(0x160),'EultA':function(_0x5b21a2,_0x1efcd5,_0x2066fb){return _0x5b21a2(_0x1efcd5,_0x2066fb);},'seEnw':'frame-%06d.jpg','kYZxV':'-vf','Jlhkq':'scale=trunc(iw/2)*2:trunc(ih/2)*2'};if(_0x16df39[_0x57ca2a(0x195)](this['frameCount'],0x2))return null;const _0x491fab=await _0x16df39[_0x57ca2a(0x194)](resolveFfmpegPath);if(!_0x491fab)return null;const _0x102436=_0x16df39['gKASj'](join,this['params'][_0x57ca2a(0x12c)],_0x16df39['XKnuT']);await mkdir(_0x102436,{'recursive':!![]});const _0xcb0771=_0x16df39[_0x57ca2a(0x14f)](join,_0x102436,_0x16df39[_0x57ca2a(0x14d)]);return await _0x16df39[_0x57ca2a(0x1c2)](execFileAsync,_0x491fab,['-y',_0x16df39['PBYMK'],_0x57ca2a(0x12d),_0x57ca2a(0x199),_0x57ca2a(0x13b),'10','-i',_0x16df39['EultA'](join,this['getFrameDir'](),_0x16df39[_0x57ca2a(0x1b4)]),_0x16df39[_0x57ca2a(0x19d)],_0x16df39[_0x57ca2a(0x1c4)],'-c:v','libvpx-vp9','-pix_fmt','yuv420p',_0xcb0771]),_0xcb0771;}[_0x26d722(0x123)](){const _0x4947cb=_0x26d722;return join(this[_0x4947cb(0x171)][_0x4947cb(0x12c)],_0x4947cb(0x150));}}async function delay(_0x5daab3){await new Promise(_0x18a5ec=>setTimeout(_0x18a5ec,_0x5daab3));}async function resolveFfmpegPath(){const _0x55e111=_0x26d722,_0x5a7867={'svJHC':function(_0x3cff5c,_0x270943){return _0x3cff5c(_0x270943);},'kMNKa':_0x55e111(0x1d9),'IfNSp':'ms-playwright','boESL':function(_0x5da936,_0x3b1670,_0x4d6ef1,_0x80f9fc){return _0x5da936(_0x3b1670,_0x4d6ef1,_0x80f9fc);},'rBNMs':'.cache','sIPKf':function(_0x1906d5,_0x5227f2){return _0x1906d5(_0x5227f2);}};if(await _0x5a7867['svJHC'](canRunFfmpeg,'ffmpeg'))return _0x55e111(0x142);const _0x2a2d4b=[join(homedir(),_0x5a7867['kMNKa'],_0x55e111(0x166),_0x5a7867['IfNSp']),_0x5a7867['boESL'](join,homedir(),_0x5a7867['rBNMs'],_0x55e111(0x1a5))];for(const _0x29c9d8 of _0x2a2d4b){try{const _0x1d2dc6=await readdir(_0x29c9d8),_0xf03694=_0x1d2dc6[_0x55e111(0x148)](_0x54a6ec=>_0x54a6ec['startsWith']('ffmpeg-'))[_0x55e111(0x168)]()[_0x55e111(0x1a4)]()[_0x55e111(0x110)](_0x4e887f=>[join(_0x29c9d8,_0x4e887f,_0x55e111(0x170)),join(_0x29c9d8,_0x4e887f,_0x55e111(0x144)),join(_0x29c9d8,_0x4e887f,_0x55e111(0x127))]);for(const _0x33e8ae of _0xf03694){if(await _0x5a7867[_0x55e111(0x19f)](canRunFfmpeg,_0x33e8ae))return _0x33e8ae;}}catch{}}return null;}async function canRunFfmpeg(_0x5922af){const _0x22360b=_0x26d722;try{return await execFileAsync(_0x5922af,[_0x22360b(0x1b7)]),!![];}catch{return![];}}function _0xe6e8(_0x59de20,_0x3bf5fb){_0x59de20=_0x59de20-0x109;const _0x4ee919=_0x4ee9();let _0xe6e85d=_0x4ee919[_0x59de20];return _0xe6e85d;}function toStepDisplayName(_0x3fa306){const _0x141c27=_0x26d722,_0x12d600=basename(_0x3fa306)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x141c27(0x12b)](/^key_/i,'')['replace'](/^\d+_/,'')[_0x141c27(0x12b)](/-/g,'\x20');return{'name':_0x12d600,'isKeyStep':/^key_/i['test'](basename(_0x3fa306))};}function extractShellValue(_0x522e31){if(!_0x522e31)return null;return _0x522e31[0x1]??_0x522e31[0x2]??_0x522e31[0x3]??null;}function extractOutputOption(_0x459de6){const _0x31ea14=_0x26d722,_0x37b41b={'mZzdD':function(_0x5a0cc0,_0x5825a0){return _0x5a0cc0(_0x5825a0);}};return _0x37b41b[_0x31ea14(0x1cf)](extractShellValue,_0x459de6['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x33a823,_0x52de2e){const _0x4f6936=_0x26d722,_0x9b338={'NkVjL':'session\x20create','YvwtJ':'execute','wjOrD':_0x4f6936(0x1e2),'lkwid':_0x4f6936(0x187),'TwcDv':_0x4f6936(0x18e),'KWFGw':_0x4f6936(0x156),'NaXKO':_0x4f6936(0x197),'RnEXf':function(_0x20307b,_0x11811f){return _0x20307b(_0x11811f);},'awpOj':_0x4f6936(0x159)};switch(_0x52de2e){case _0x9b338[_0x4f6936(0x1d4)]:return'create\x20Nova\x20browser\x20session';case _0x9b338['YvwtJ']:return _0x9b338[_0x4f6936(0x10d)];case _0x9b338['lkwid']:return'verify\x20page\x20condition';case'ask':return _0x9b338['TwcDv'];case _0x4f6936(0x1c1):return _0x4f6936(0x1b8);case _0x4f6936(0x16e):return _0x9b338['KWFGw'];case _0x9b338[_0x4f6936(0x10e)]:{const _0x145f6a=_0x9b338['RnEXf'](extractOutputOption,_0x33a823);if(!_0x145f6a)return'capture\x20snapshot';const {name:_0x105618}=_0x9b338['RnEXf'](toStepDisplayName,_0x145f6a);return'capture\x20snapshot\x20`'+_0x105618+'`';}case'screenshot':{const _0x4a054a=_0x9b338['RnEXf'](extractOutputOption,_0x33a823);if(!_0x4a054a)return _0x4f6936(0x19a);const {name:_0x5319bf,isKeyStep:_0x54b480}=toStepDisplayName(_0x4a054a);return _0x54b480?'capture\x20key\x20step\x20`'+_0x5319bf+'`':'capture\x20step\x20`'+_0x5319bf+'`';}case'session\x20export':return _0x9b338[_0x4f6936(0x175)];default:return _0x52de2e;}}function getNovaActCliCommandBlockReason(_0x4df814){const _0x42f666=_0x26d722,_0x4ff0b7={'LjPFy':function(_0x50961f,_0x42511d){return _0x50961f(_0x42511d);},'mPajH':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','bFZYt':function(_0x26acef,_0x49f2c8){return _0x26acef===_0x49f2c8;},'NFvuX':_0x42f666(0x187),'hfZMN':_0x42f666(0x1cb),'uuHOu':'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.'},_0x101a14=_0x4ff0b7['LjPFy'](parseNovaActCliCommand,_0x4df814);if(!_0x101a14)return _0x4ff0b7[_0x42f666(0x162)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x101a14))return'Nova\x20command\x20`'+_0x101a14+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x4ff0b7['bFZYt'](_0x101a14,_0x4ff0b7[_0x42f666(0x182)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x42f666(0x1b6)](_0x4df814))return _0x4ff0b7['hfZMN'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x4df814))return _0x4ff0b7['uuHOu'];return null;}function buildFeedbackSection(_0x5b882d){const _0x5de8cc=_0x26d722,_0x3a7046={'bmXIu':'numeric','yTTzG':'Reviewer','fNdSE':function(_0x311b3a,_0x1ad5c8){return _0x311b3a===_0x1ad5c8;}};if(!_0x5b882d||_0x3a7046['fNdSE'](_0x5b882d[_0x5de8cc(0x190)]['length'],0x0))return'';const _0x17cd3d=_0x5b882d[_0x5de8cc(0x190)]['map'](_0x293fa8=>{const _0x26c7b0=_0x5de8cc,_0x13bd82=new Date(_0x293fa8['createdAt'])[_0x26c7b0(0x14c)]('en-US',{'month':_0x26c7b0(0x157),'day':_0x3a7046[_0x26c7b0(0x14e)]}),_0x14f425=_0x293fa8['authorName']||_0x293fa8['authorEmail']||_0x3a7046[_0x26c7b0(0x1a8)],_0x2a344d=_0x293fa8[_0x26c7b0(0x13d)]?_0x26c7b0(0x1d7)+(_0x293fa8['domRef'][_0x26c7b0(0x117)]['split'](_0x26c7b0(0x1de))['pop']()?.[_0x26c7b0(0x109)](':')[0x0]||_0x26c7b0(0x158))+'>\x20\x22'+(_0x293fa8['domRef'][_0x26c7b0(0x165)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x293fa8['id']+']\x20**'+_0x14f425+_0x26c7b0(0x1a9)+_0x13bd82+'):\x20\x22'+_0x293fa8[_0x26c7b0(0x1eb)]+'\x22'+_0x2a344d;})['join']('\x0a');return _0x5de8cc(0x1ba)+_0x17cd3d;}function buildNovaSharedOptionsInstruction(_0x199e39){const _0x362a44=_0x26d722;if(!_0x199e39[_0x362a44(0x1a7)]())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 _0x362a44(0x1b5)+_0x199e39;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x12e7a7){const _0x42a3c1=_0x26d722,_0x43a22b={'givwS':function(_0x251524,_0x9e1fb5,_0x54bc60){return _0x251524(_0x9e1fb5,_0x54bc60);},'EikZc':_0x42a3c1(0x114),'jwTjL':'02_final-state.yml','pbLrf':'03_final-state.png','XuNuJ':function(_0x198e8e,_0x1776db){return _0x198e8e(_0x1776db);},'pbANp':function(_0x5c737f,_0x4656f5){return _0x5c737f(_0x4656f5);},'BAMMN':function(_0x1ffb16,_0x561c4f){return _0x1ffb16(_0x561c4f);}},{novaCommandPrefix:_0x126f9d,novaSharedOptionsSuffix:_0x312944,cliArtifactDir:_0x1f47c5,url:_0x31455e}=_0x12e7a7,_0x2aad34=_0x43a22b['givwS'](buildCliArtifactPath,_0x1f47c5,_0x43a22b[_0x42a3c1(0x1d8)]),_0x23fa0e=_0x43a22b['givwS'](buildCliArtifactPath,_0x1f47c5,_0x42a3c1(0x121)),_0x44b1ff=_0x43a22b[_0x42a3c1(0x132)](buildCliArtifactPath,_0x1f47c5,_0x43a22b['jwTjL']),_0x12fdd3=buildCliArtifactPath(_0x1f47c5,_0x43a22b['pbLrf']);return _0x42a3c1(0x13c)+_0x126f9d+'\x0a\x0a'+_0x43a22b[_0x42a3c1(0x1be)](buildNovaSharedOptionsInstruction,_0x312944)+'\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`'+_0x126f9d+_0x42a3c1(0x172)+quoteShellArg(_0x31455e)+'\x20'+_0x312944+'`\x0a2.\x20Run\x20`'+_0x126f9d+_0x42a3c1(0x16d)+quoteShellArg(_0x2aad34)+'\x20'+_0x312944+_0x42a3c1(0x112)+_0x126f9d+'\x20screenshot\x20--output\x20'+_0x43a22b[_0x42a3c1(0x183)](quoteShellArg,_0x23fa0e)+'\x20'+_0x312944+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x126f9d+_0x42a3c1(0x11d)+_0x126f9d+'\x20snapshot\x20--output\x20'+_0x43a22b[_0x42a3c1(0x1ae)](quoteShellArg,_0x44b1ff)+'\x20'+_0x312944+'`\x0a6.\x20Run\x20`'+_0x126f9d+_0x42a3c1(0x1a1)+quoteShellArg(_0x12fdd3)+'\x20'+_0x312944+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x1f47c5+_0x42a3c1(0x173);}export function buildVerifyFeatureNovaCliPrompt(_0x102056){const _0x162325=_0x26d722,_0x4e4754={'QpNFS':'01_initial.yml','tEpJR':_0x162325(0x121),'fmquP':function(_0x435db4,_0xa38a54,_0x7498ed){return _0x435db4(_0xa38a54,_0x7498ed);},'gWSwn':function(_0x51b89a,_0x1a956d){return _0x51b89a(_0x1a956d);},'xDasR':_0x162325(0x193)},{checklistItem:_0x5b164b,itemFeedback:_0x1f0e9e,taskDescription:_0x333501,novaCommandPrefix:_0x219495,novaSharedOptionsSuffix:_0x369ba7,cliArtifactDir:_0x4e21b6,url:_0x38333f,loginInstructions:_0x59c198}=_0x102056,_0x4a1054=_0x5b164b[_0x162325(0x153)]?_0x162325(0x1e5)+_0x5b164b[_0x162325(0x153)]:'',_0x6b791d=buildFeedbackSection(_0x1f0e9e),_0x5f0e08=_0x1f0e9e?.[_0x162325(0x17a)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1f0e9e[_0x162325(0x17a)]:'',_0x344545=_0x59c198?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x59c198+_0x162325(0x130):'',_0x3d2d9f=buildCliArtifactPath(_0x4e21b6,_0x4e4754['QpNFS']),_0x55f124=buildCliArtifactPath(_0x4e21b6,_0x4e4754[_0x162325(0x198)]),_0x38e818=_0x4e4754[_0x162325(0x163)](buildCliArtifactPath,_0x4e21b6,'key_03_success-state.png');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'+_0x5b164b[_0x162325(0x15d)]+_0x4a1054+_0x6b791d+_0x5f0e08+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x333501+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x38333f+'\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'+_0x344545+'\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`'+_0x219495+_0x162325(0x172)+quoteShellArg(_0x38333f)+'\x20'+_0x369ba7+_0x162325(0x1e8)+_0x4e21b6+_0x162325(0x11c)+_0x219495+_0x162325(0x16d)+_0x4e4754[_0x162325(0x14a)](quoteShellArg,_0x3d2d9f)+'\x20'+_0x369ba7+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x219495+'\x20screenshot\x20--output\x20'+_0x4e4754['gWSwn'](quoteShellArg,_0x55f124)+'\x20'+_0x369ba7+_0x162325(0x120)+_0x38e818+_0x162325(0x180)+_0x219495+_0x162325(0x11b)+(_0x369ba7[_0x162325(0x1a7)]()?'`'+_0x369ba7+'`':_0x4e4754[_0x162325(0x113)])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x369ba7)+_0x162325(0x13e)+_0x219495+_0x162325(0x13f)+_0x369ba7+_0x162325(0x1aa)+_0x219495+_0x162325(0x1ea)+_0x369ba7+_0x162325(0x1aa)+_0x219495+'\x20snapshot\x20--output\x20'+_0x4e4754[_0x162325(0x14a)](quoteShellArg,_0x3d2d9f)+'\x20'+_0x369ba7+_0x162325(0x1aa)+_0x219495+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x38e818)+'\x20'+_0x369ba7+_0x162325(0x129);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x22b9df){const _0x9f7237=_0x26d722,_0x45ab98={'lMJYK':function(_0x40035a,_0x1009f6){return _0x40035a===_0x1009f6;}},_0x581373=[..._0x22b9df[_0x9f7237(0x1d2)]()]['sort']();let _0x398cc8=0x0;for(const _0x13dcfd of _0x22b9df[_0x9f7237(0x115)]()){_0x398cc8+=_0x13dcfd;}return{'cliCommandCount':_0x398cc8,'cliCommandsSeen':_0x581373,'noCliCommandsCalled':_0x45ab98['lMJYK'](_0x398cc8,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x2bc7e1,_0x3b2def){const _0x41fa75=_0x26d722,_0x45d6c0={'slKwb':_0x41fa75(0x128),'kIoZL':'Bash','xKhiT':function(_0x481701,_0x1181a0){return _0x481701(_0x1181a0);},'onwvC':function(_0x3e383b,_0x39f08e){return _0x3e383b(_0x39f08e);},'wLfiW':_0x41fa75(0x1e4),'cSgek':function(_0x21fb46,_0x50bee2){return _0x21fb46!==_0x50bee2;},'jEglt':function(_0x408c55,_0x7990a0){return _0x408c55(_0x7990a0);},'TcbLd':_0x41fa75(0x1da),'qeIlU':function(_0x5e0267,_0x152ede){return _0x5e0267===_0x152ede;},'dtVjR':_0x41fa75(0x161),'zoiYl':'nova_act_artifact_recording','oryet':'PostToolUseFailure','cpblU':'nova_act_command_failure','eiBwU':'nova-act-cli'},_0x888b7b=new Map(),_0x550402=async _0x50e10d=>{const _0x52b381=_0x41fa75;if(_0x50e10d[_0x52b381(0x1ed)]!==_0x45d6c0[_0x52b381(0x15b)])return{};const _0x523f17=_0x50e10d;if(_0x523f17[_0x52b381(0x178)]!==_0x45d6c0[_0x52b381(0x12a)])return{};const _0x30d2e6=_0x523f17['tool_input'],_0x54a238=_0x45d6c0[_0x52b381(0x1c8)](extractBashCommand,_0x30d2e6);if(!_0x54a238)return{};const _0x3a20f3=_0x45d6c0[_0x52b381(0x134)](getNovaActCliCommandBlockReason,_0x54a238);if(!_0x3a20f3)return{};return{'decision':_0x52b381(0x1c9),'reason':_0x3a20f3};},_0x54bf94=async _0x323557=>{const _0x548d6a=_0x41fa75;if(_0x323557['hook_event_name']!==_0x45d6c0['wLfiW'])return{};const _0x52ae4e=_0x323557;if(_0x45d6c0[_0x548d6a(0x18a)](_0x52ae4e[_0x548d6a(0x178)],_0x45d6c0['kIoZL']))return{};const _0x567dba=_0x52ae4e[_0x548d6a(0x19b)],_0x3db616=_0x45d6c0['jEglt'](extractBashCommand,_0x567dba);if(!_0x3db616)return{};const _0x20e3fa=parseNovaActCliCommand(_0x3db616);if(!_0x20e3fa)return{};_0x888b7b[_0x548d6a(0x1d5)](_0x20e3fa,(_0x888b7b[_0x548d6a(0x177)](_0x20e3fa)||0x0)+0x1),_0x2bc7e1[_0x548d6a(0x1ac)](_0x45d6c0[_0x548d6a(0x1ee)],{'subcommand':_0x20e3fa}),_0x2bc7e1['trackPhaseEnd'](_0x548d6a(0x1da),{'subcommand':_0x20e3fa,'commandPreview':previewNovaActCliCommand(_0x3db616)}),console[_0x548d6a(0x118)](_0x548d6a(0x1d6)+formatNovaActCliLog(_0x3db616,_0x20e3fa));if(_0x45d6c0[_0x548d6a(0x1bd)](_0x20e3fa,_0x45d6c0[_0x548d6a(0x151)])&&_0x3b2def)try{await _0x3b2def['start']();}catch(_0x41ffa7){await _0x2bc7e1['trackPhaseError'](_0x45d6c0[_0x548d6a(0x10f)],_0x41ffa7,{'transport':_0x548d6a(0x196)});}return{};},_0x328db6=async _0x3f8e62=>{const _0xea4414=_0x41fa75;if(_0x45d6c0['cSgek'](_0x3f8e62['hook_event_name'],_0x45d6c0['oryet']))return{};const _0x4b46f6=_0x3f8e62;if(_0x4b46f6[_0xea4414(0x178)]!=='Bash')return{};return await _0x2bc7e1['trackPhaseError'](_0x45d6c0['cpblU'],_0x4b46f6['error'],{'transport':_0x45d6c0[_0xea4414(0x17e)],'toolName':_0xea4414(0x174)}),{};};return{'preToolUseHook':_0x550402,'postToolUseHook':_0x54bf94,'postToolUseFailureHook':_0x328db6,'commandCounts':_0x888b7b};}async function runNovaLifecycleCommand(_0x4d311b){const _0x11581b=_0x26d722,_0xb9d48e={'msRiU':function(_0x3e9533,_0x39974f){return _0x3e9533(_0x39974f);},'lOzpD':function(_0xb3b43d,_0x351a21){return _0xb3b43d(_0x351a21);}},{novaOptions:_0x29a9df,commandArgs:_0x8c94c3,telemetry:_0x179608,phase:_0x50ef10,metadata:_0x3bc498,timeoutMs:_0xaf1435}=_0x4d311b;_0x179608[_0x11581b(0x1ac)](_0x50ef10,_0x3bc498);try{const _0x9754f3=await runNovaActCliCommand({..._0x29a9df,'commandArgs':_0x8c94c3,'cwd':process['cwd'](),'env':process['env'],'timeoutMs':_0xaf1435??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x179608[_0x11581b(0x11f)](_0x50ef10,{..._0x3bc498,'subcommand':_0x9754f3[_0x11581b(0x1bb)]['subcommand'],'commandPreview':_0xb9d48e[_0x11581b(0x119)](previewNovaActCliCommand,_0x9754f3[_0x11581b(0x1bb)][_0x11581b(0x1df)]),'stdoutPreview':_0xb9d48e['msRiU'](previewNovaActCliCommand,_0x9754f3[_0x11581b(0x1d0)]),'stderrPreview':_0xb9d48e[_0x11581b(0x17d)](previewNovaActCliCommand,_0x9754f3[_0x11581b(0x155)]),'logDir':_0xb9d48e[_0x11581b(0x119)](extractNovaActLogDir,_0x9754f3[_0x11581b(0x1d0)])});}catch(_0x270b6a){await _0x179608[_0x11581b(0x1c0)](_0x50ef10,_0x270b6a,_0x3bc498);throw _0x270b6a;}}export async function finalizeVerifyFeatureNovaCliSession(_0x38ab73){const _0x18d525=_0x26d722,_0x14b816={'mjdMd':'nova_act_final_screenshot','lEkwB':_0x18d525(0x192),'vhehz':function(_0x48b4be,_0x24edd2,_0x256c7b){return _0x48b4be(_0x24edd2,_0x256c7b);},'uCHMS':'final-state.yaml','ZwGqU':'--format','dgEPG':function(_0x1692c6,_0x1d5ac8,_0x206c69){return _0x1692c6(_0x1d5ac8,_0x206c69);},'Puysz':_0x18d525(0x1e6),'SFUfa':'session','eambJ':'export','cKszC':'nova_act_session_close','gSyMD':'close','fGMnq':function(_0x176f78,_0x15160e){return _0x176f78===_0x15160e;}},{telemetry:_0x26d4f4,novaOptions:_0x328313,cliArtifactDir:_0x24e5a7,transportMetadata:_0x3486fd,artifactRecorder:_0x104f82}=_0x38ab73,_0x580c35=[{'phase':_0x14b816['mjdMd'],'commandArgs':['screenshot',_0x18d525(0x192),buildCliArtifactPath(_0x24e5a7,_0x18d525(0x16f))]},{'phase':_0x18d525(0x1dd),'commandArgs':['snapshot',_0x14b816['lEkwB'],_0x14b816['vhehz'](buildCliArtifactPath,_0x24e5a7,_0x14b816['uCHMS'])]},{'phase':'nova_act_session_export','commandArgs':['session','export',_0x14b816[_0x18d525(0x18b)],'json','--output',_0x14b816['dgEPG'](buildCliArtifactPath,_0x24e5a7,_0x14b816['Puysz'])]},{'phase':_0x18d525(0x125),'commandArgs':[_0x14b816[_0x18d525(0x164)],_0x14b816[_0x18d525(0x1b0)],'--report',_0x18d525(0x1ad),buildCliArtifactPath(_0x24e5a7,'nova-report')]},{'phase':_0x14b816['cKszC'],'commandArgs':['session',_0x14b816['gSyMD']]}];for(const _0x1d1bac of _0x580c35){_0x14b816['fGMnq'](_0x1d1bac['phase'],'nova_act_session_close')&&await _0x104f82?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x328313,'commandArgs':[..._0x1d1bac[_0x18d525(0x15c)]],'telemetry':_0x26d4f4,'phase':_0x1d1bac['phase'],'metadata':_0x3486fd});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0xcfb1bb){const _0x1d61f8=_0x26d722,_0x49fd6a={'QYRLk':function(_0x74252a,_0x4d0dba,_0x33ce84){return _0x74252a(_0x4d0dba,_0x33ce84);},'dBPWs':function(_0x415e51,_0x563503,_0x3c60cd){return _0x415e51(_0x563503,_0x3c60cd);},'kJPZE':function(_0x2669a9,_0x46b0b1){return _0x2669a9(_0x46b0b1);},'UlMgx':function(_0x33c354,_0x354e88){return _0x33c354+_0x354e88;},'qkRqp':function(_0x18562a,_0x56398d,_0x38c1f8){return _0x18562a(_0x56398d,_0x38c1f8);}},{cwd:_0x408a05,cliArtifactDir:_0x53d220,startTime:_0x417fad}=_0xcfb1bb,_0x3faa13=[];await _0x49fd6a['QYRLk'](mkdir,_0x53d220,{'recursive':!![]});const _0x3aaea6=await _0x49fd6a[_0x1d61f8(0x1e9)](readdir,_0x408a05,{'withFileTypes':!![]});for(const _0x450c35 of _0x3aaea6){if(!_0x450c35[_0x1d61f8(0x191)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x450c35['name']))continue;const _0x2ef3d2=join(_0x408a05,_0x450c35[_0x1d61f8(0x1c3)]),_0x1e7bca=await _0x49fd6a['kJPZE'](stat,_0x2ef3d2);if(_0x49fd6a[_0x1d61f8(0x16a)](_0x1e7bca[_0x1d61f8(0x186)],0x7d0)<_0x417fad)continue;const _0x3b6f6f=buildCliArtifactPath(_0x53d220,_0x450c35['name']);if(_0x2ef3d2===_0x3b6f6f)continue;await _0x49fd6a['qkRqp'](rename,_0x2ef3d2,_0x3b6f6f),_0x3faa13['push'](_0x450c35['name']);}return _0x3faa13[_0x1d61f8(0x168)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x22bad3){const _0x130109={'XoZAs':function(_0x303b6a,_0x1ea85e){return _0x303b6a(_0x1ea85e);}},_0x31231f=join(_0x22bad3,'trace.zip');try{return{'buffer':await _0x130109['XoZAs'](readFile,_0x31231f),'source':_0x31231f};}catch{return{'buffer':await _0x130109['XoZAs'](zipVerifyFeatureNovaArtifacts,_0x22bad3),'source':_0x22bad3};}}async function zipVerifyFeatureNovaArtifacts(_0x53fb03){const _0xf35d24=_0x26d722,_0x4acb76={'uzQkv':function(_0x10a0e1,_0x33a36c,_0x4d8037,_0x31a051){return _0x10a0e1(_0x33a36c,_0x4d8037,_0x31a051);},'UszyE':_0xf35d24(0x1b3)},_0x5a6c84=_0x4acb76[_0xf35d24(0x10a)](join,_0x53fb03,'..',_0xf35d24(0x1ab));try{return await execFileAsync(_0x4acb76['UszyE'],['-qr',_0x5a6c84,'.','-x',_0xf35d24(0x1a0)],{'cwd':_0x53fb03}),await readFile(_0x5a6c84);}finally{await rm(_0x5a6c84,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x5391db){const _0x3bf362=_0x26d722,_0x4ea1cc=buildNovaActCliInvocation(_0x5391db[_0x3bf362(0x131)],_0x5391db[_0x3bf362(0x15c)]);return{'command':_0x4ea1cc[_0x3bf362(0x111)],'args':_0x4ea1cc[_0x3bf362(0x16b)],'commandPreview':previewNovaActCliCommand(_0x4ea1cc['shellCommand']),'subcommand':_0x4ea1cc[_0x3bf362(0x15a)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x5391db[_0x3bf362(0x131)],_0x5391db[_0x3bf362(0x15c)])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x242d24,_0x3c6450){const _0x4e4e2d=_0x39ca,_0x28d68b=_0x242d24();while(!![]){try{const _0x125a8a=-parseInt(_0x4e4e2d(0x1ff))/0x1*(parseInt(_0x4e4e2d(0x1f5))/0x2)+parseInt(_0x4e4e2d(0x222))/0x3*(parseInt(_0x4e4e2d(0x1c0))/0x4)+parseInt(_0x4e4e2d(0x210))/0x5+parseInt(_0x4e4e2d(0x1cb))/0x6+-parseInt(_0x4e4e2d(0x21e))/0x7+-parseInt(_0x4e4e2d(0x1c9))/0x8*(-parseInt(_0x4e4e2d(0x20d))/0x9)+-parseInt(_0x4e4e2d(0x1fb))/0xa;if(_0x125a8a===_0x3c6450)break;else _0x28d68b['push'](_0x28d68b['shift']());}catch(_0x236a3f){_0x28d68b['push'](_0x28d68b['shift']());}}}(_0x114c,0x792b0));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 truncatePreview(_0x382aeb,_0x58a991=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x469401=_0x39ca,_0x4c9886={'kASHU':function(_0x3d8f81,_0x296c37){return _0x3d8f81>_0x296c37;}};return _0x4c9886[_0x469401(0x1d4)](_0x382aeb['length'],_0x58a991)?_0x382aeb['slice'](0x0,_0x58a991)+'...':_0x382aeb;}function extractShellValue(_0x53ed86){if(!_0x53ed86)return null;return _0x53ed86[0x1]??_0x53ed86[0x2]??_0x53ed86[0x3]??null;}function extractFirstCommandArgument(_0x55ecd0,_0x1933c6){const _0x1ada46=_0x39ca,_0x43d80f=_0x1933c6['replace'](/[.*+?^${}()|[\]\\]/g,_0x1ada46(0x1db));return extractShellValue(_0x55ecd0['match'](new RegExp('(?:^|\x5cs)'+_0x43d80f+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x457a85){const _0xb68fba=_0x39ca,_0x58241a={'lUTxz':_0xb68fba(0x203),'OFxmR':function(_0x3abff9,_0x5c85d7,_0x52f891){return _0x3abff9(_0x5c85d7,_0x52f891);}};if(!_0x457a85)return _0x58241a['lUTxz'];if(/^e\d+$/i[_0xb68fba(0x1ca)](_0x457a85))return _0xb68fba(0x221)+_0x457a85;return JSON[_0xb68fba(0x1cf)](_0x58241a[_0xb68fba(0x1c8)](truncatePreview,_0x457a85,0x78));}function formatRangerwrightCliLog(_0xa6ea3c,_0x19999e){const _0xa4165f=_0x39ca,_0x49c1b3={'cHERt':function(_0x29a2cd,_0x1992d4,_0x442feb){return _0x29a2cd(_0x1992d4,_0x442feb);},'JQthK':_0xa4165f(0x1df),'ODKrE':function(_0xb51f31,_0x564df2){return _0xb51f31(_0x564df2);},'axLEk':_0xa4165f(0x212),'sdCPZ':'go\x20back\x20and\x20inspect','rFhsf':'inspect','EZOzm':_0xa4165f(0x1bf),'WIQSi':_0xa4165f(0x1ed)};switch(_0x19999e){case _0xa4165f(0x1f2):{const _0x4a5cae=extractFirstCommandArgument(_0xa6ea3c,_0x19999e);return _0x4a5cae?'open\x20and\x20inspect\x20'+_0x4a5cae:_0xa4165f(0x1dc);}case _0xa4165f(0x214):return _0xa4165f(0x205)+formatCommandTarget(_0x49c1b3[_0xa4165f(0x1e6)](extractFirstCommandArgument,_0xa6ea3c,_0x19999e));case'fill':case _0x49c1b3[_0xa4165f(0x1c3)]:return _0xa4165f(0x1cc)+_0x49c1b3[_0xa4165f(0x202)](formatCommandTarget,extractFirstCommandArgument(_0xa6ea3c,_0x19999e));case _0x49c1b3[_0xa4165f(0x20a)]:return _0x49c1b3['sdCPZ'];case _0x49c1b3['rFhsf']:return _0x49c1b3[_0xa4165f(0x207)];case _0xa4165f(0x206):return'stop\x20tracing';case _0xa4165f(0x1e7):return _0xa4165f(0x1d3);case _0x49c1b3[_0xa4165f(0x1e0)]:return _0xa4165f(0x1f4);default:return _0x19999e;}}function renderScenarioSections(_0x3786e2){const _0xeef77c=_0x39ca,_0x5907ae={'JAzwv':_0xeef77c(0x1c1),'IivWb':_0xeef77c(0x21a),'YyCCd':function(_0x10add9,_0x42552b){return _0x10add9>_0x42552b;}},{checklistItem:_0x32f350,itemFeedback:_0x5d76fb}=_0x3786e2,_0x4f47e9=_0x32f350[_0xeef77c(0x1fd)]?_0xeef77c(0x20b)+_0x32f350[_0xeef77c(0x1fd)]:'';let _0x430e7e='';if(_0x5d76fb&&_0x5907ae[_0xeef77c(0x1f8)](_0x5d76fb[_0xeef77c(0x200)]['length'],0x0)){const _0x2141cf=_0x5d76fb['unaddressedComments'][_0xeef77c(0x1d9)](_0x2daf94=>{const _0x1824b2=_0xeef77c,_0x2b5fa5=new Date(_0x2daf94['createdAt'])['toLocaleDateString']('en-US',{'month':_0x5907ae[_0x1824b2(0x213)],'day':'numeric'}),_0x218064=_0x2daf94['authorName']||_0x2daf94['authorEmail']||_0x5907ae['IivWb'],_0x42d827=_0x2daf94[_0x1824b2(0x1e3)]?_0x1824b2(0x1ef)+(_0x2daf94[_0x1824b2(0x1e3)]['selector']['split']('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x1824b2(0x1c6))+_0x1824b2(0x1be)+(_0x2daf94['domRef'][_0x1824b2(0x220)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1824b2(0x1dd)+_0x2daf94['id']+']\x20'+_0x218064+'\x20('+_0x2b5fa5+'):\x20\x22'+_0x2daf94['content']+'\x22'+_0x42d827;})[_0xeef77c(0x1e8)]('\x0a');_0x430e7e='\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'+_0x2141cf;}const _0x234c48=_0x5d76fb?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x5d76fb[_0xeef77c(0x1c4)]:'';return''+_0x32f350[_0xeef77c(0x216)]+_0x4f47e9+_0x430e7e+_0x234c48;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x35dbfd){const _0x31cdef=_0x39ca,_0x4d5546={'TcnFo':'01_initial-state.png','wzcNL':function(_0x43813a,_0xb3ea61){return _0x43813a(_0xb3ea61);},'fWxLm':'about:blank','ZHMFO':function(_0x28b07c,_0x5a75cc){return _0x28b07c(_0x5a75cc);}},{checklistItem:_0x3c873e,itemFeedback:_0x49f25d,taskDescription:_0x3f0928,commandPrefix:_0x252acf,isCdpMode:_0x3fd5d4,url:_0x382fd7,cdpEndpoint:_0x45fcb2,loginInstructions:_0x30568f}=_0x35dbfd,_0x3ea79a=_0x4d5546['TcnFo'],_0x1b76dc='key_99_final-state.png',_0x2314aa=_0x3fd5d4?_0x252acf+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x3ea79a):_0x252acf+_0x31cdef(0x1d8)+_0x4d5546[_0x31cdef(0x21c)](quoteShellArg,_0x382fd7??_0x4d5546['fWxLm'])+'\x20--screenshot-path\x20'+_0x4d5546[_0x31cdef(0x21c)](quoteShellArg,_0x3ea79a),_0x29b15f=_0x3fd5d4?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x45fcb2+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x382fd7+_0x31cdef(0x1d2),_0x423237=_0x30568f?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x30568f+'\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'+_0x4d5546['ZHMFO'](renderScenarioSections,{'checklistItem':_0x3c873e,'itemFeedback':_0x49f25d})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x3f0928+'\x0a\x0a'+_0x29b15f+_0x423237+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x252acf+_0x31cdef(0x1d1)+_0x2314aa+'\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'+_0x252acf+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+_0x4d5546[_0x31cdef(0x1f1)](quoteShellArg,_0x1b76dc)+'\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(_0x106713){const _0x2c4a42=_0x39ca,_0x1416f4={'szhQG':_0x2c4a42(0x1c5)},_0x2d9d64=_0x1416f4[_0x2c4a42(0x1f0)],_0x4341ab=_0x2c4a42(0x201);return _0x2c4a42(0x1f3)+_0x106713[_0x2c4a42(0x20f)]+_0x2c4a42(0x1f6)+_0x106713['commandPrefix']+'\x20open-and-inspect\x20'+quoteShellArg(_0x106713['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x2d9d64)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x106713[_0x2c4a42(0x20f)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x4341ab)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x48a105){const _0x3ddaff=_0x39ca,_0x6f738d={'QfLzk':function(_0x4cae8e,_0xd7737e){return _0x4cae8e(_0xd7737e);}};if(!_0x6f738d[_0x3ddaff(0x1c2)](parseRangerwrightCliCommand,_0x48a105))return[];const _0x1aaaf1=[],_0x23ef40=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x22fdf5 of _0x48a105[_0x3ddaff(0x1de)](_0x23ef40)){const _0x1ee2ae=_0x22fdf5[0x1]??_0x22fdf5[0x2]??_0x22fdf5[0x3]??'',_0x40a90f=_0x1ee2ae['startsWith']('./')?_0x1ee2ae['slice'](0x2):_0x1ee2ae;if(!_0x40a90f||_0x40a90f[_0x3ddaff(0x1f7)]('/'))continue;if(_0x40a90f[_0x3ddaff(0x1ea)]('/')[_0x3ddaff(0x211)](_0x86a521=>_0x86a521==='..'))continue;_0x1aaaf1['push'](_0x40a90f);}return _0x1aaaf1;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x1f4a76){const _0x1c2007=_0x39ca,_0x232c7b={'AOWhS':function(_0x56b89b,_0x3b6dac){return _0x56b89b===_0x3b6dac;}},_0x47b71f=[..._0x1f4a76[_0x1c2007(0x1fe)]()]['sort']();let _0x2a52ba=0x0;for(const _0x4c3369 of _0x1f4a76[_0x1c2007(0x1d5)]()){_0x2a52ba+=_0x4c3369;}return{'cliCommandCount':_0x2a52ba,'cliCommandsSeen':_0x47b71f,'noCliCommandsCalled':_0x232c7b['AOWhS'](_0x2a52ba,0x0)};}function _0x114c(){const _0x4546d0=['GvDWM','cHERt','video-stop','join','[rangerwright-cli]\x20','split','subcommand','set','close','LahTV','\x20(on\x20element:\x20<','szhQG','ZHMFO','open-and-inspect','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','close\x20browser\x20session','914CNjMSO','\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`','startsWith','YyCCd','OUuta','commandArgs','7079070isxewR','rangerwright-cli','notes','keys','1381aTSysI','unaddressedComments','key_02_learn-more.png','ODKrE','target','rangerwright_cli_video_stop','click\x20and\x20inspect\x20','tracing-stop','EZOzm','tool_name','rangerwright_cli_tracing_stop','axLEk','\x0a\x0a##\x20Additional\x20Notes\x0a','stderr','9SuLXcr','trackPhaseEnd','commandPrefix','4713305wPcFUJ','some','back-and-inspect','JAzwv','click-and-inspect','qTjJH','description','error','iqXqk','rangerwright_cli_command','Reviewer','PmOfb','wzcNL','VlMox','3109253ikShjc','trackPhaseStart','textContent','ref\x20','902397qvfMUx','>\x20\x22','inspect\x20page','8ucenta','short','QfLzk','JQthK','canonicalFlow','01_mozilla-homepage.png','element','iAPQg','OFxmR','2319704ozLepP','test','2671710eqwirX','fill\x20','MBvSO','Bash','stringify','trackPhaseError','\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','\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.','stop\x20video\x20recording','kASHU','values','cwd','PostToolUse','\x20open-and-inspect\x20','map','stdout','\x5c$&','open\x20and\x20inspect','-\x20[','matchAll','fill-and-inspect','WIQSi','sCxen','hook_event_name','domRef','rangerwright_cli_command_failure'];_0x114c=function(){return _0x4546d0;};return _0x114c();}export function createVerifyFeatureRangerwrightCliHooks(_0x4436b2){const _0x38907d=_0x39ca,_0x5ceb3f={'VlMox':function(_0x52846a,_0x57d87e){return _0x52846a!==_0x57d87e;},'GvDWM':'Bash','wwrUf':function(_0x21a44f,_0x57262e){return _0x21a44f+_0x57262e;},'iqXqk':_0x38907d(0x219),'MBvSO':function(_0x47dd07,_0x47c0a3){return _0x47dd07(_0x47c0a3);},'OUuta':function(_0x4ed774,_0x155a8a,_0x1e46d4){return _0x4ed774(_0x155a8a,_0x1e46d4);},'iAPQg':'PostToolUseFailure','sCxen':_0x38907d(0x1fc)},_0x3bf25f=new Map(),_0x709514=async _0x336a10=>{const _0x24d40e=_0x38907d;if(_0x336a10[_0x24d40e(0x1e2)]!==_0x24d40e(0x1d7))return{};const _0x205946=_0x336a10;if(_0x5ceb3f[_0x24d40e(0x21d)](_0x205946[_0x24d40e(0x208)],_0x5ceb3f[_0x24d40e(0x1e5)]))return{};const _0x19d6d9=_0x205946['tool_input'],_0x4cb4df=extractBashCommand(_0x19d6d9);if(!_0x4cb4df)return{};const _0x147df5=parseRangerwrightCliCommand(_0x4cb4df);if(!_0x147df5)return{};return _0x3bf25f[_0x24d40e(0x1ec)](_0x147df5,_0x5ceb3f['wwrUf'](_0x3bf25f['get'](_0x147df5)||0x0,0x1)),_0x4436b2['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0x147df5}),_0x4436b2['trackPhaseEnd'](_0x5ceb3f[_0x24d40e(0x218)],{'subcommand':_0x147df5,'commandPreview':_0x5ceb3f[_0x24d40e(0x1cd)](truncatePreview,_0x4cb4df)}),console['log'](_0x24d40e(0x1e9)+_0x5ceb3f[_0x24d40e(0x1f9)](formatRangerwrightCliLog,_0x4cb4df,_0x147df5)),{};},_0x46dbed=async _0x385a70=>{const _0xc98888=_0x38907d;if(_0x385a70[_0xc98888(0x1e2)]!==_0x5ceb3f[_0xc98888(0x1c7)])return{};const _0x483725=_0x385a70;if(_0x5ceb3f[_0xc98888(0x21d)](_0x483725[_0xc98888(0x208)],_0xc98888(0x1ce)))return{};return await _0x4436b2[_0xc98888(0x1d0)](_0xc98888(0x1e4),_0x483725[_0xc98888(0x217)],{'transport':_0x5ceb3f[_0xc98888(0x1e1)],'toolName':_0x5ceb3f[_0xc98888(0x1e5)]}),{};};return{'postToolUseHook':_0x709514,'postToolUseFailureHook':_0x46dbed,'commandCounts':_0x3bf25f};}function _0x39ca(_0x1dda14,_0x509a82){_0x1dda14=_0x1dda14-0x1be;const _0x114c2c=_0x114c();let _0x39cac3=_0x114c2c[_0x1dda14];return _0x39cac3;}async function runRangerwrightLifecycleCommand(_0x1d0386){const _0x4d334c=_0x39ca,_0x1af986={'LahTV':function(_0x48dacb,_0x9865e1,_0x16c392){return _0x48dacb(_0x9865e1,_0x16c392);},'ygAJk':function(_0x554ddd,_0x229266,_0x395165){return _0x554ddd(_0x229266,_0x395165);}},{options:_0xeb7be2,commandArgs:_0xe98cab,env:_0x3b827d,telemetry:_0x2f2631,phase:_0x315fa7,metadata:_0x28d685,timeoutMs:_0x28c52f}=_0x1d0386;_0x2f2631[_0x4d334c(0x21f)](_0x315fa7,_0x28d685);try{const _0xaf196d=await runRangerwrightCliCommand({..._0xeb7be2,'commandArgs':_0xe98cab,'cwd':process[_0x4d334c(0x1d6)](),'env':_0x3b827d,'timeoutMs':_0x28c52f??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x2f2631[_0x4d334c(0x20e)](_0x315fa7,{..._0x28d685,'subcommand':_0xaf196d['invocation'][_0x4d334c(0x1eb)],'stdoutPreview':_0x1af986[_0x4d334c(0x1ee)](truncatePreview,_0xaf196d[_0x4d334c(0x1da)],0x7d0),'stderrPreview':_0x1af986['ygAJk'](truncatePreview,_0xaf196d[_0x4d334c(0x20c)],0x7d0)});}catch(_0x25d8c7){await _0x2f2631[_0x4d334c(0x1d0)](_0x315fa7,_0x25d8c7,_0x28d685);throw _0x25d8c7;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x3cbdf1){const _0x336553=_0x39ca,_0x4921b9={'PmOfb':_0x336553(0x204),'qTjJH':_0x336553(0x1e7),'SFwcU':function(_0x14c0b6,_0x2de3e2){return _0x14c0b6(_0x2de3e2);}},{telemetry:_0x16be33,rangerwrightOptions:_0x21f507,env:_0x258f8d,transportMetadata:_0x5e5d52}=_0x3cbdf1,_0x475c6f=[{'phase':_0x336553(0x209),'commandArgs':['tracing-stop']},{'phase':_0x4921b9[_0x336553(0x21b)],'commandArgs':[_0x4921b9[_0x336553(0x215)]]},{'phase':'rangerwright_cli_close','commandArgs':[_0x336553(0x1ed)]}];for(const _0x3d5d12 of _0x475c6f){try{await _0x4921b9['SFwcU'](runRangerwrightLifecycleCommand,{'options':_0x21f507,'commandArgs':[..._0x3d5d12[_0x336553(0x1fa)]],'env':_0x258f8d,'telemetry':_0x16be33,'phase':_0x3d5d12['phase'],'metadata':_0x5e5d52});}catch{}}}
|
|
1
|
+
function _0x3cb2(_0x220d8d,_0x18a838){_0x220d8d=_0x220d8d-0x154;const _0xe910a8=_0xe910();let _0x3cb25e=_0xe910a8[_0x220d8d];return _0x3cb25e;}(function(_0x282992,_0x3a85db){const _0x4005a6=_0x3cb2,_0x3cd202=_0x282992();while(!![]){try{const _0x5f4d37=parseInt(_0x4005a6(0x1ad))/0x1+-parseInt(_0x4005a6(0x155))/0x2+parseInt(_0x4005a6(0x162))/0x3+-parseInt(_0x4005a6(0x169))/0x4*(-parseInt(_0x4005a6(0x184))/0x5)+-parseInt(_0x4005a6(0x168))/0x6+parseInt(_0x4005a6(0x1a5))/0x7+-parseInt(_0x4005a6(0x15f))/0x8;if(_0x5f4d37===_0x3a85db)break;else _0x3cd202['push'](_0x3cd202['shift']());}catch(_0x584a83){_0x3cd202['push'](_0x3cd202['shift']());}}}(_0xe910,0xd13ff));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 truncatePreview(_0x4ed94f,_0x3a1d42=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x396385=_0x3cb2;return _0x4ed94f[_0x396385(0x161)]>_0x3a1d42?_0x4ed94f['slice'](0x0,_0x3a1d42)+_0x396385(0x197):_0x4ed94f;}function extractShellValue(_0x47b52e){if(!_0x47b52e)return null;return _0x47b52e[0x1]??_0x47b52e[0x2]??_0x47b52e[0x3]??null;}function extractFirstCommandArgument(_0x387386,_0x4b0b65){const _0x9fee88=_0x3cb2,_0x4137ea=_0x4b0b65['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x387386['match'](new RegExp('(?:^|\x5cs)'+_0x4137ea+_0x9fee88(0x163))));}function _0xe910(){const _0x696877=['5480538npidbM','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','\x20>\x20','stop\x20video\x20recording','cZLia','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','HVeZX','\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.','1593490LuWClq','ZZPPk','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','fill','url','01_initial-state.png','close\x20browser\x20session','push','Reviewer','unaddressedComments','iwITL','CXmSy','matchAll','2517500WuQNRS','toLocaleDateString','selector','error','commandPrefix','close','rangerwright_cli_command','tool_input','values','map','18519232MjMbKX','inspect\x20page','length','4249158PNAwzs','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','key_99_final-state.png','vOQzp','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','target','5320380yEPyzo','3188nPzINc','fill-and-inspect','trackPhaseStart','VoIiK','rangerwright_cli_video_stop','subcommand','canonicalFlow','Etpxl','owkUM','split','numeric','stdout','BDeuv','keys','\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','xYSZq','NuVHN','XQoLv','OzYmA','short','01_mozilla-homepage.png','tjVSt','authorEmail','authorName','domRef','ebNZo','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','9565BExTdW','textContent','rangerwright_cli_close','log','createdAt','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','tracing-stop','mVRpO','click\x20and\x20inspect\x20','[rangerwright-cli]\x20','video-stop','\x20(on\x20element:\x20<','pwsFb','GmpNN','cRdFa','trackPhaseEnd','WqYYv','set','stop\x20tracing','...','\x20--screenshot-path\x20','rangerwright-cli','get','\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.','oQgYq','phase','hook_event_name','commandArgs','slice','\x20open-and-inspect\x20','ouqIP','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','vysGq'];_0xe910=function(){return _0x696877;};return _0xe910();}function formatCommandTarget(_0x5cf4ec){const _0x15b825=_0x3cb2,_0x4b1269={'XQoLv':_0x15b825(0x167),'VoIiK':function(_0x243217,_0x14fbfb,_0x312b87){return _0x243217(_0x14fbfb,_0x312b87);}};if(!_0x5cf4ec)return _0x4b1269[_0x15b825(0x17a)];if(/^e\d+$/i['test'](_0x5cf4ec))return'ref\x20'+_0x5cf4ec;return JSON['stringify'](_0x4b1269[_0x15b825(0x16c)](truncatePreview,_0x5cf4ec,0x78));}function formatRangerwrightCliLog(_0x19022f,_0x4e1e78){const _0x45b8a0=_0x3cb2,_0x1b8d26={'BDeuv':function(_0x5ee91b,_0x5d4cfa,_0x3a0ce7){return _0x5ee91b(_0x5d4cfa,_0x3a0ce7);},'CXmSy':'open\x20and\x20inspect','ApBhu':_0x45b8a0(0x1b0),'sokSd':function(_0x134947,_0x3dfc93){return _0x134947(_0x3dfc93);},'vysGq':function(_0x31df3c,_0x36315b,_0x4509ff){return _0x31df3c(_0x36315b,_0x4509ff);},'bdYzL':'back-and-inspect','NuVHN':'go\x20back\x20and\x20inspect','BTPca':'inspect','cRdFa':'video-stop','uWWNl':_0x45b8a0(0x1a8),'pwsFb':_0x45b8a0(0x15a)};switch(_0x4e1e78){case'open-and-inspect':{const _0x31a4e1=_0x1b8d26['BDeuv'](extractFirstCommandArgument,_0x19022f,_0x4e1e78);return _0x31a4e1?'open\x20and\x20inspect\x20'+_0x31a4e1:_0x1b8d26[_0x45b8a0(0x1b8)];}case'click-and-inspect':return _0x45b8a0(0x18c)+formatCommandTarget(_0x1b8d26[_0x45b8a0(0x175)](extractFirstCommandArgument,_0x19022f,_0x4e1e78));case _0x1b8d26['ApBhu']:case _0x45b8a0(0x16a):return'fill\x20'+_0x1b8d26['sokSd'](formatCommandTarget,_0x1b8d26[_0x45b8a0(0x1a4)](extractFirstCommandArgument,_0x19022f,_0x4e1e78));case _0x1b8d26['bdYzL']:return _0x1b8d26[_0x45b8a0(0x179)];case _0x1b8d26['BTPca']:return _0x45b8a0(0x160);case _0x45b8a0(0x18a):return _0x45b8a0(0x196);case _0x1b8d26[_0x45b8a0(0x192)]:return _0x1b8d26['uWWNl'];case _0x1b8d26[_0x45b8a0(0x190)]:return _0x45b8a0(0x1b3);default:return _0x4e1e78;}}function renderScenarioSections(_0x390feb){const _0x5df8af=_0x3cb2,_0x59c773={'hTBuo':'en-US','dSVkE':_0x5df8af(0x17c),'pgkRP':_0x5df8af(0x173),'OzYmA':_0x5df8af(0x1b5),'moxGx':'element'},{checklistItem:_0x53e739,itemFeedback:_0x4bd9cc}=_0x390feb,_0x13b672=_0x53e739['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x53e739['notes']:'';let _0x568896='';if(_0x4bd9cc&&_0x4bd9cc[_0x5df8af(0x1b6)]['length']>0x0){const _0x2d8779=_0x4bd9cc['unaddressedComments'][_0x5df8af(0x15e)](_0x114fc6=>{const _0x550046=_0x5df8af,_0x18d6db=new Date(_0x114fc6[_0x550046(0x188)])[_0x550046(0x156)](_0x59c773['hTBuo'],{'month':_0x59c773['dSVkE'],'day':_0x59c773['pgkRP']}),_0x3affb3=_0x114fc6[_0x550046(0x180)]||_0x114fc6[_0x550046(0x17f)]||_0x59c773[_0x550046(0x17b)],_0x992771=_0x114fc6[_0x550046(0x181)]?_0x550046(0x18f)+(_0x114fc6[_0x550046(0x181)][_0x550046(0x157)]['split'](_0x550046(0x1a7))['pop']()?.[_0x550046(0x172)](':')[0x0]||_0x59c773['moxGx'])+'>\x20\x22'+(_0x114fc6[_0x550046(0x181)][_0x550046(0x185)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x114fc6['id']+']\x20'+_0x3affb3+'\x20('+_0x18d6db+'):\x20\x22'+_0x114fc6['content']+'\x22'+_0x992771;})['join']('\x0a');_0x568896=_0x5df8af(0x177)+_0x2d8779;}const _0x399522=_0x4bd9cc?.[_0x5df8af(0x16f)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x4bd9cc[_0x5df8af(0x16f)]:'';return''+_0x53e739['description']+_0x13b672+_0x568896+_0x399522;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x45fe01){const _0x523a90=_0x3cb2,_0x37d8c0={'ebNZo':function(_0x5d5802,_0x2daab0){return _0x5d5802(_0x2daab0);},'ouqIP':function(_0x1135c7,_0x3c59f5){return _0x1135c7??_0x3c59f5;},'XXQmw':'about:blank'},{checklistItem:_0x56ab3d,itemFeedback:_0x57936b,taskDescription:_0x389d0f,commandPrefix:_0x4a26a5,isCdpMode:_0x37ca0f,url:_0x162478,cdpEndpoint:_0x12e187,loginInstructions:_0x5212e0}=_0x45fe01,_0x29156d=_0x523a90(0x1b2),_0x1653f9=_0x523a90(0x164),_0x457ef4=_0x37ca0f?_0x4a26a5+'\x20inspect\x20--screenshot-path\x20'+_0x37d8c0['ebNZo'](quoteShellArg,_0x29156d):_0x4a26a5+_0x523a90(0x1a1)+quoteShellArg(_0x37d8c0[_0x523a90(0x1a2)](_0x162478,_0x37d8c0['XXQmw']))+_0x523a90(0x198)+_0x37d8c0[_0x523a90(0x182)](quoteShellArg,_0x29156d),_0x8d8741=_0x37ca0f?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x12e187+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x523a90(0x189)+_0x162478+_0x523a90(0x1ac),_0x27b977=_0x5212e0?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x5212e0+_0x523a90(0x1a3):'';return _0x523a90(0x166)+renderScenarioSections({'checklistItem':_0x56ab3d,'itemFeedback':_0x57936b})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x389d0f+'\x0a\x0a'+_0x8d8741+_0x27b977+_0x523a90(0x1a6)+_0x4a26a5+'\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'+_0x457ef4+'\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'+_0x4a26a5+_0x523a90(0x183)+quoteShellArg(_0x1653f9)+_0x523a90(0x19b);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x1157dd){const _0x28aee6=_0x3cb2,_0x5e41fe={'kOVDu':function(_0x110627,_0x393832){return _0x110627(_0x393832);},'ZHrKl':function(_0x50a854,_0x3e49a0){return _0x50a854(_0x3e49a0);},'mVRpO':function(_0x1e0e6e,_0x52ec00){return _0x1e0e6e(_0x52ec00);}},_0x5c4718=_0x28aee6(0x17d),_0x28b126='key_02_learn-more.png';return _0x28aee6(0x1af)+_0x1157dd['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`'+_0x1157dd[_0x28aee6(0x159)]+_0x28aee6(0x1a1)+_0x5e41fe['kOVDu'](quoteShellArg,_0x1157dd[_0x28aee6(0x1b1)])+'\x20--screenshot-path\x20'+_0x5e41fe['ZHrKl'](quoteShellArg,_0x5c4718)+_0x28aee6(0x1aa)+_0x1157dd['commandPrefix']+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+_0x5e41fe[_0x28aee6(0x18b)](quoteShellArg,_0x28b126)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x54f862){const _0x31f00a=_0x3cb2;if(!parseRangerwrightCliCommand(_0x54f862))return[];const _0x517e02=[],_0x2f9825=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0xd7a74a of _0x54f862[_0x31f00a(0x154)](_0x2f9825)){const _0xa8c82e=_0xd7a74a[0x1]??_0xd7a74a[0x2]??_0xd7a74a[0x3]??'',_0x3823a0=_0xa8c82e['startsWith']('./')?_0xa8c82e[_0x31f00a(0x1a0)](0x2):_0xa8c82e;if(!_0x3823a0||_0x3823a0['startsWith']('/'))continue;if(_0x3823a0['split']('/')['some'](_0x5a5be1=>_0x5a5be1==='..'))continue;_0x517e02[_0x31f00a(0x1b4)](_0x3823a0);}return _0x517e02;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x321687){const _0x454ae1=_0x3cb2,_0x4e3032={'oQgYq':function(_0x2b4817,_0x567daa){return _0x2b4817===_0x567daa;}},_0x5053b8=[..._0x321687[_0x454ae1(0x176)]()]['sort']();let _0x515a34=0x0;for(const _0xfd5377 of _0x321687[_0x454ae1(0x15d)]()){_0x515a34+=_0xfd5377;}return{'cliCommandCount':_0x515a34,'cliCommandsSeen':_0x5053b8,'noCliCommandsCalled':_0x4e3032[_0x454ae1(0x19c)](_0x515a34,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0xd26fd7){const _0x161e4c={'HVeZX':function(_0x28f893,_0x3ff8c8){return _0x28f893!==_0x3ff8c8;},'ZZPPk':'PostToolUse','ANXpf':'Bash','tjVSt':function(_0x11e681,_0x2c7816){return _0x11e681(_0x2c7816);},'vOQzp':function(_0x16f195,_0x797f85){return _0x16f195+_0x797f85;},'LjbNU':'rangerwright_cli_command','WqYYv':'rangerwright_cli_command_failure'},_0x3d3954=new Map(),_0x56c8f7=async _0x4c9672=>{const _0x5722d3=_0x3cb2;if(_0x161e4c[_0x5722d3(0x1ab)](_0x4c9672[_0x5722d3(0x19e)],_0x161e4c[_0x5722d3(0x1ae)]))return{};const _0x38a85f=_0x4c9672;if(_0x38a85f['tool_name']!==_0x161e4c['ANXpf'])return{};const _0x207dee=_0x38a85f[_0x5722d3(0x15c)],_0x318825=_0x161e4c['tjVSt'](extractBashCommand,_0x207dee);if(!_0x318825)return{};const _0x3361b1=_0x161e4c[_0x5722d3(0x17e)](parseRangerwrightCliCommand,_0x318825);if(!_0x3361b1)return{};return _0x3d3954[_0x5722d3(0x195)](_0x3361b1,_0x161e4c[_0x5722d3(0x165)](_0x3d3954[_0x5722d3(0x19a)](_0x3361b1)||0x0,0x1)),_0xd26fd7[_0x5722d3(0x16b)](_0x161e4c['LjbNU'],{'subcommand':_0x3361b1}),_0xd26fd7[_0x5722d3(0x193)](_0x5722d3(0x15b),{'subcommand':_0x3361b1,'commandPreview':truncatePreview(_0x318825)}),console[_0x5722d3(0x187)](_0x5722d3(0x18d)+formatRangerwrightCliLog(_0x318825,_0x3361b1)),{};},_0x1c5f66=async _0x4acb8c=>{const _0x579023=_0x3cb2;if(_0x4acb8c['hook_event_name']!=='PostToolUseFailure')return{};const _0x216e7d=_0x4acb8c;if(_0x216e7d['tool_name']!=='Bash')return{};return await _0xd26fd7['trackPhaseError'](_0x161e4c[_0x579023(0x194)],_0x216e7d[_0x579023(0x158)],{'transport':_0x579023(0x199),'toolName':'Bash'}),{};};return{'postToolUseHook':_0x56c8f7,'postToolUseFailureHook':_0x1c5f66,'commandCounts':_0x3d3954};}async function runRangerwrightLifecycleCommand(_0x43e224){const _0x229b47=_0x3cb2,_0x2e4a9c={'iwITL':function(_0x5cf6fc,_0x7eeda8){return _0x5cf6fc(_0x7eeda8);},'xYSZq':function(_0x17f031,_0x2624e1,_0x29e0fb){return _0x17f031(_0x2624e1,_0x29e0fb);},'HNnWd':function(_0x3cb781,_0x5327cd,_0x55ddda){return _0x3cb781(_0x5327cd,_0x55ddda);}},{options:_0x535720,commandArgs:_0x16aab8,env:_0x2ef56d,telemetry:_0x4dd13b,phase:_0x5f199e,metadata:_0xf0fa29,timeoutMs:_0x5e0108}=_0x43e224;_0x4dd13b['trackPhaseStart'](_0x5f199e,_0xf0fa29);try{const _0x5e90f6=await _0x2e4a9c[_0x229b47(0x1b7)](runRangerwrightCliCommand,{..._0x535720,'commandArgs':_0x16aab8,'cwd':process['cwd'](),'env':_0x2ef56d,'timeoutMs':_0x5e0108??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x4dd13b[_0x229b47(0x193)](_0x5f199e,{..._0xf0fa29,'subcommand':_0x5e90f6['invocation'][_0x229b47(0x16e)],'stdoutPreview':_0x2e4a9c[_0x229b47(0x178)](truncatePreview,_0x5e90f6[_0x229b47(0x174)],0x7d0),'stderrPreview':_0x2e4a9c['HNnWd'](truncatePreview,_0x5e90f6['stderr'],0x7d0)});}catch(_0x1efdfc){await _0x4dd13b['trackPhaseError'](_0x5f199e,_0x1efdfc,_0xf0fa29);throw _0x1efdfc;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x586ce8){const _0x575b71=_0x3cb2,_0x56acbc={'Etpxl':'rangerwright_cli_tracing_stop','oMGdN':_0x575b71(0x16d),'GmpNN':_0x575b71(0x18e),'owkUM':_0x575b71(0x186),'cZLia':function(_0x372530,_0x14efef){return _0x372530(_0x14efef);}},{telemetry:_0x4fd47c,rangerwrightOptions:_0x353c06,env:_0x179aea,transportMetadata:_0xb59b8c}=_0x586ce8,_0x3d4cd4=[{'phase':_0x56acbc[_0x575b71(0x170)],'commandArgs':['tracing-stop']},{'phase':_0x56acbc['oMGdN'],'commandArgs':[_0x56acbc[_0x575b71(0x191)]]},{'phase':_0x56acbc[_0x575b71(0x171)],'commandArgs':['close']}];for(const _0x58eee7 of _0x3d4cd4){try{await _0x56acbc[_0x575b71(0x1a9)](runRangerwrightLifecycleCommand,{'options':_0x353c06,'commandArgs':[..._0x58eee7[_0x575b71(0x19f)]],'env':_0x179aea,'telemetry':_0x4fd47c,'phase':_0x58eee7[_0x575b71(0x19d)],'metadata':_0xb59b8c});}catch{}}}
|
|
@@ -230,14 +230,6 @@ When completing your work or ending the session, your final message to the user
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
# Graduating a feature review into a durable test
|
|
234
|
-
|
|
235
|
-
Feature reviews are your inner loop: they verify a change against the app you're running locally, for you, right now. They are not permanent tests, and they do not run for the rest of the team.
|
|
236
|
-
|
|
237
|
-
When a change is shipping and you want it protected going forward — a test that runs continuously across the team against your deployed environment — that's a Ranger **test** (testgen), created through the Ranger MCP, not the CLI. Testgen runs in Ranger's cloud against a deployed, reachable environment, so offer it **once the change is deployed**, not while it's only on localhost. If the testgen tools are available in this session, offer to set that up after the feature review is verified; otherwise point the user to them.
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
233
|
# Quick Reference
|
|
242
234
|
|
|
243
235
|
| Command | Purpose |
|