@ranger-testing/ranger-cli 3.1.6 → 3.1.7-alpha.387730d-58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/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/package.json +2 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xfcde36,_0x24d057){const _0x4ae419=_0x45c0,_0x47b21c=_0xfcde36();while(!![]){try{const _0x5ef4d1=-parseInt(_0x4ae419(0x147))/0x1+-parseInt(_0x4ae419(0x14f))/0x2*(parseInt(_0x4ae419(0x18d))/0x3)+-parseInt(_0x4ae419(0x175))/0x4*(parseInt(_0x4ae419(0x17a))/0x5)+-parseInt(_0x4ae419(0x1bd))/0x6+-parseInt(_0x4ae419(0x19d))/0x7*(parseInt(_0x4ae419(0x161))/0x8)+-parseInt(_0x4ae419(0x172))/0x9*(parseInt(_0x4ae419(0x1af))/0xa)+parseInt(_0x4ae419(0x1ba))/0xb*(parseInt(_0x4ae419(0x132))/0xc);if(_0x5ef4d1===_0x24d057)break;else _0x47b21c['push'](_0x47b21c['shift']());}catch(_0x36248c){_0x47b21c['push'](_0x47b21c['shift']());}}}(_0x5f33,0x83f63));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(_0x397d85,_0x3bcc57=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x14d3b4=_0x45c0,_0x63bd87={'ZgCcX':function(_0x13c207,_0x1343e1){return _0x13c207>_0x1343e1;},'rrCyC':function(_0x837479,_0x1f4ef9){return _0x837479+_0x1f4ef9;},'UNhDo':_0x14d3b4(0x154)};return _0x63bd87['ZgCcX'](_0x397d85['length'],_0x3bcc57)?_0x63bd87['rrCyC'](_0x397d85[_0x14d3b4(0x173)](0x0,_0x3bcc57),_0x63bd87[_0x14d3b4(0x1aa)]):_0x397d85;}function buildCliArtifactPath(_0x59ccda,_0x105cb5){return join(_0x59ccda,_0x105cb5);}function toStepDisplayName(_0xd920f3){const _0x350dd9=_0x45c0,_0x446595={'YnnMj':function(_0x34d345,_0x2e0756){return _0x34d345(_0x2e0756);}},_0x24728=_0x446595['YnnMj'](basename,_0xd920f3)[_0x350dd9(0x13a)](/\.(?:png|ya?ml)$/i,'')[_0x350dd9(0x13a)](/^key_/i,'')[_0x350dd9(0x13a)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x24728,'isKeyStep':/^key_/i['test'](basename(_0xd920f3))};}function extractShellValue(_0x2c0d34){if(!_0x2c0d34)return null;return _0x2c0d34[0x1]??_0x2c0d34[0x2]??_0x2c0d34[0x3]??null;}function extractFilenameOption(_0x3f3d5f){const _0x4b9259=_0x45c0,_0x51228d={'KMsPn':function(_0x4b8b33,_0x3265f0){return _0x4b8b33(_0x3265f0);}};return _0x51228d['KMsPn'](extractShellValue,_0x3f3d5f[_0x4b9259(0x15e)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x56f0f7,_0x1ea8ec){const _0x515a0a=_0x45c0,_0x134784={'BjLwi':function(_0x4c7436,_0x72cc2){return _0x4c7436(_0x72cc2);}},_0x1ebf5c=_0x1ea8ec['replace'](/[.*+?^${}()|[\]\\]/g,_0x515a0a(0x14a));return _0x134784[_0x515a0a(0x14c)](extractShellValue,_0x56f0f7[_0x515a0a(0x15e)](new RegExp('(?:^|\x5cs)'+_0x1ebf5c+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x5f33(){const _0x3487c2=['open\x20browser','[playwright-cli]\x20','lmIpL','HWOFv','\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.','cwd','click','11PrQyNS','open','YgqZf','487638SkFDcb','iTtas','zNkql','env','keys','tool_call','canonicalFlow','**\x20(','`,\x20then\x20`','02_button-clicked.png','PostToolUseFailure','\x20tracing-start`\x0a3.\x20Run\x20`','58608708VQWfct','trace.trace.zip','oznsN','playwright_cli_video_stop','capture\x20snapshot','element','playwright_cli_close','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','replace','name','open\x20new\x20tab\x20','authorName','string','split','\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','kgvoS','vrHUW','stringify','\x20snapshot\x20--filename\x20','video-stop','trackPhaseEnd','894277dkLqVJ','en-US','MizIk','\x5c$&','tDWLf','BjLwi','tMbPQ','UnGcx','18zUAlia','qlwZv','select\x20tab\x20','\x20screenshot\x20--filename\x20','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','...','lPPvB','trackPhaseError','LhAyD','\x20tracing-start`,\x20then\x20`','tool_name','capture\x20snapshot\x20`','notes','XktTi','\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.','match','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','Reviewer','7186472bSThoM','`\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`','hook_event_name','commandArgs','check\x20','stop\x20video\x20recording','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','toLocaleDateString','PostToolUse','SptDQ','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','03_result-visible.png','\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.','press','bWqXv','playwright-cli','29835GTbWei','slice','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','8FdgFAR','\x20(on\x20element:\x20<','capture\x20screenshot','description','capture\x20key\x20step\x20`','1908820flDEIz','LZfIr','`\x0a9.\x20Run\x20`','[ranger-verification-agent]\x20','createdAt','stdout','\x20>\x20','snapshot','short','bMOrW','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','Ddsra','01_initial-state.png','tracing-stop','error','tab-select','select\x20tab','Abjbh','Bash','346614jlLgXV','unaddressedComments','ZglQe','trim','osBej','`:\x20\x22','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','hvTdi','close','sort','authorEmail','cKiTB','length','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','7fAPUnr','ptivI','push','oQCtG','test','`\x0a-\x20`snapshot\x20--filename\x20','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','03_learn-more.png','trace.zip','tool_input','`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20','start\x20tracing','RPMuS','UNhDo','\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','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','garLY','02_state.yml','2010nMeESt','run-code','02_learn-more.yml','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'];_0x5f33=function(){return _0x3487c2;};return _0x5f33();}function _0x45c0(_0x2ef7d9,_0x527234){_0x2ef7d9=_0x2ef7d9-0x131;const _0x5f3303=_0x5f33();let _0x45c071=_0x5f3303[_0x2ef7d9];return _0x45c071;}function formatCommandTarget(_0x2a297c){const _0x3c2333=_0x45c0,_0x1588be={'wpaqc':'target'};if(!_0x2a297c)return _0x1588be['wpaqc'];if(/^e\d+$/i[_0x3c2333(0x1a1)](_0x2a297c))return'ref\x20'+_0x2a297c;return JSON[_0x3c2333(0x143)](truncatePreview(_0x2a297c,0x78));}function formatPlaywrightCliLog(_0x5f5d9a,_0x363951){const _0x145921=_0x45c0,_0x393cba={'bTqjp':_0x145921(0x1bb),'QdWDf':_0x145921(0x1b3),'XktTi':'tracing-start','WKWup':'stop\x20tracing','SAKzE':_0x145921(0x145),'bWqXv':_0x145921(0x166),'KMuqZ':_0x145921(0x181),'EadLf':function(_0x38b300,_0x4eb041){return _0x38b300(_0x4eb041);},'HWOFv':_0x145921(0x136),'SptDQ':function(_0x5e28d3,_0x5b5234){return _0x5e28d3(_0x5b5234);},'ZglQe':_0x145921(0x177),'HKtVr':function(_0x46808d,_0x2808a9,_0xe51cc){return _0x46808d(_0x2808a9,_0xe51cc);},'kgvoS':function(_0x172cc4,_0x316ba1,_0x435bfa){return _0x172cc4(_0x316ba1,_0x435bfa);},'NdLbg':function(_0x3af7f2,_0x35cc16,_0x2a1e15){return _0x3af7f2(_0x35cc16,_0x2a1e15);}};switch(_0x363951){case _0x393cba['bTqjp']:{const _0xb33aa2=extractFirstCommandArgument(_0x5f5d9a,_0x363951);return _0xb33aa2?'open\x20'+_0xb33aa2:_0x393cba['QdWDf'];}case _0x393cba[_0x145921(0x15c)]:return _0x145921(0x1a8);case _0x145921(0x187):return _0x393cba['WKWup'];case'video-start':return'start\x20video\x20recording';case _0x393cba['SAKzE']:return _0x393cba[_0x145921(0x170)];case _0x393cba['KMuqZ']:{const _0x806d5=_0x393cba['EadLf'](extractFilenameOption,_0x5f5d9a);if(!_0x806d5)return _0x393cba[_0x145921(0x1b6)];const {name:_0x13421e}=_0x393cba[_0x145921(0x16a)](toStepDisplayName,_0x806d5);return _0x145921(0x15a)+_0x13421e+'`';}case'screenshot':{const _0x33d1aa=extractFilenameOption(_0x5f5d9a);if(!_0x33d1aa)return _0x393cba[_0x145921(0x18f)];const {name:_0x2e38b9,isKeyStep:_0x589911}=toStepDisplayName(_0x33d1aa);return _0x589911?_0x145921(0x179)+_0x2e38b9+'`':'capture\x20step\x20`'+_0x2e38b9+'`';}case _0x145921(0x1b9):return'click\x20'+formatCommandTarget(_0x393cba['HKtVr'](extractFirstCommandArgument,_0x5f5d9a,_0x363951));case'check':return _0x145921(0x165)+formatCommandTarget(extractFirstCommandArgument(_0x5f5d9a,_0x363951));case'fill':return'fill\x20'+formatCommandTarget(_0x393cba[_0x145921(0x141)](extractFirstCommandArgument,_0x5f5d9a,_0x363951));case _0x145921(0x16f):return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5f5d9a,_0x363951));case _0x145921(0x1b0):return'run\x20custom\x20Playwright\x20code';case'tab-new':{const _0x2e014c=_0x393cba['NdLbg'](extractFirstCommandArgument,_0x5f5d9a,_0x363951);return _0x2e014c?_0x145921(0x13c)+_0x2e014c:'open\x20new\x20tab';}case _0x145921(0x189):{const _0x350bfc=_0x393cba[_0x145921(0x141)](extractFirstCommandArgument,_0x5f5d9a,_0x363951);return _0x350bfc?_0x145921(0x151)+_0x350bfc:_0x145921(0x18a);}default:return _0x363951;}}function extractPlaywrightCliToolDescription(_0x4ca52d){const _0x3c981e=_0x45c0,_0x50c125={'OUqYJ':function(_0x418ebc,_0x15ac16){return _0x418ebc!==_0x15ac16;},'vrHUW':_0x3c981e(0x13e)},_0x494a29=_0x4ca52d['description'];if(_0x50c125['OUqYJ'](typeof _0x494a29,_0x50c125[_0x3c981e(0x142)]))return null;const _0x455de8=_0x494a29[_0x3c981e(0x190)]()[_0x3c981e(0x13a)](/\s+/g,'\x20');return _0x455de8[_0x3c981e(0x199)]>0x0?_0x455de8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x530256,_0x286b78,_0x28ba60){const _0x4de1d4=_0x45c0,_0x3179ae={'hvTdi':function(_0x5358bb,_0xddfed8,_0x291159){return _0x5358bb(_0xddfed8,_0x291159);},'BOBHJ':function(_0x4e1d23,_0x32323b){return _0x4e1d23(_0x32323b);}},_0x4eb5ec=_0x3179ae[_0x4de1d4(0x194)](formatPlaywrightCliLog,_0x286b78,_0x28ba60),_0x1e60cf=_0x3179ae['BOBHJ'](extractPlaywrightCliToolDescription,_0x530256);if(!_0x1e60cf)return _0x4de1d4(0x1b4)+_0x4eb5ec;if(process[_0x4de1d4(0x1c0)]['DEBUG'])return _0x4de1d4(0x17d)+_0x1e60cf+'\x20('+_0x4eb5ec+')';return'[ranger-verification-agent]\x20'+_0x1e60cf;}export function buildVerifyFeatureCliDebugPrompt(_0xd8d7b2,_0x4814e0){const _0x1869c0=_0x45c0,_0x3a9384={'UnGcx':function(_0x3e2b75,_0x29b636,_0x484308){return _0x3e2b75(_0x29b636,_0x484308);},'oznsN':'00_mozilla-homepage.yml','peBuo':_0x1869c0(0x1b1),'lPPvB':function(_0x35cf61,_0x144afc){return _0x35cf61(_0x144afc);}},_0x19dee9=_0x3a9384['UnGcx'](buildCliArtifactPath,_0x4814e0,_0x3a9384[_0x1869c0(0x134)]),_0x5bd217=buildCliArtifactPath(_0x4814e0,'01_mozilla-homepage.png'),_0x57ba6b=_0x3a9384[_0x1869c0(0x14e)](buildCliArtifactPath,_0x4814e0,_0x3a9384['peBuo']),_0x2dd142=buildCliArtifactPath(_0x4814e0,_0x1869c0(0x1a4)),_0xeabb87=quoteShellArg(_0x19dee9),_0xb7bb36=quoteShellArg(_0x5bd217),_0x2c1f52=_0x3a9384[_0x1869c0(0x155)](quoteShellArg,_0x57ba6b),_0x1e79e8=quoteShellArg(_0x2dd142);return _0x1869c0(0x174)+_0xd8d7b2+'\x0a\x0a1.\x20Run\x20`'+_0xd8d7b2+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0xd8d7b2+_0x1869c0(0x131)+_0xd8d7b2+_0x1869c0(0x1a3)+_0x4814e0+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0xd8d7b2+'\x20snapshot\x20--filename\x20'+_0xeabb87+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0xd8d7b2+_0x1869c0(0x152)+_0xb7bb36+_0x1869c0(0x1ac)+_0xd8d7b2+_0x1869c0(0x144)+_0x2c1f52+_0x1869c0(0x17c)+_0xd8d7b2+_0x1869c0(0x152)+_0x1e79e8+_0x1869c0(0x19b);}export function buildVerifyFeatureCliPrompt(_0x3e371d){const _0x4da270=_0x45c0,_0x408b00={'zcZYl':_0x4da270(0x160),'tMbPQ':_0x4da270(0x180),'mScDF':_0x4da270(0x137),'LZfIr':function(_0x51dbb1,_0xe9f5bc,_0x4e3c1e){return _0x51dbb1(_0xe9f5bc,_0x4e3c1e);},'NTqDN':'01_initial.yml','oQCtG':_0x4da270(0x1ae),'osBej':function(_0x2e7be1,_0x3f3a37,_0x4c73d2){return _0x2e7be1(_0x3f3a37,_0x4c73d2);},'RPMuS':_0x4da270(0x16d),'MizIk':'key_04_success-state.png'},{checklistItem:_0x1de427,itemFeedback:_0x356410,taskDescription:_0x3c496b,cliCommandPrefix:_0xe7bb70,cliArtifactDir:_0x424d7d,isCdpMode:_0x259afc,url:_0x1bb15c,cdpEndpoint:_0x3622d1,loginInstructions:_0x1a7c06}=_0x3e371d,_0x4b7fcf=_0x408b00['LZfIr'](buildCliArtifactPath,_0x424d7d,_0x408b00['NTqDN']),_0x3774c7=_0x408b00[_0x4da270(0x17b)](buildCliArtifactPath,_0x424d7d,_0x408b00[_0x4da270(0x1a0)]),_0x46b3a5=buildCliArtifactPath(_0x424d7d,'key_03_success-state.png'),_0x472fe4=_0x408b00[_0x4da270(0x17b)](buildCliArtifactPath,_0x424d7d,_0x4da270(0x186)),_0x30a95e=quoteShellArg(_0x4b7fcf),_0x9e3483=quoteShellArg(_0x3774c7),_0x454bc3=quoteShellArg(_0x46b3a5),_0x1aabfb=quoteShellArg(_0x472fe4),_0x12c355=_0x1de427['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1de427[_0x4da270(0x15b)]:'';let _0xaa4259='';if(_0x356410&&_0x356410['unaddressedComments']['length']>0x0){const _0x3870fa=_0x356410[_0x4da270(0x18e)]['map'](_0x5199b1=>{const _0x3c1e78=_0x4da270,_0x5b5398=new Date(_0x5199b1[_0x3c1e78(0x17e)])[_0x3c1e78(0x168)](_0x3c1e78(0x148),{'month':_0x3c1e78(0x182),'day':'numeric'}),_0x31104c=_0x5199b1[_0x3c1e78(0x13d)]||_0x5199b1[_0x3c1e78(0x197)]||_0x408b00['zcZYl'],_0x97d476=_0x5199b1['domRef']?_0x3c1e78(0x176)+(_0x5199b1['domRef']['selector']['split'](_0x408b00[_0x3c1e78(0x14d)])['pop']()?.[_0x3c1e78(0x13f)](':')[0x0]||_0x408b00['mScDF'])+'>\x20\x22'+(_0x5199b1['domRef']['textContent']||'')[_0x3c1e78(0x173)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5199b1['id']+']\x20**'+_0x31104c+_0x3c1e78(0x1c4)+_0x5b5398+'):\x20\x22'+_0x5199b1['content']+'\x22'+_0x97d476;})['join']('\x0a');_0xaa4259=_0x4da270(0x140)+_0x3870fa;}const _0x591c64=_0x356410?.[_0x4da270(0x1c3)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x356410['canonicalFlow']:'',_0x208b9c=_0x259afc?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x3622d1+_0x4da270(0x19a):_0x4da270(0x15f)+_0x1bb15c+'\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',_0x31c5a6=_0x1bb15c?quoteShellArg(_0x1bb15c):'',_0x26f9cd=_0x259afc?_0x4da270(0x16c)+_0xe7bb70+'\x20open`,\x20then\x20`'+_0xe7bb70+_0x4da270(0x158)+_0xe7bb70+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x424d7d+_0x4da270(0x139)+_0xe7bb70+'\x20snapshot\x20--filename\x20'+_0x30a95e+_0x4da270(0x162)+_0xe7bb70+_0x4da270(0x152)+_0x1aabfb+_0x4da270(0x19c)+_0xe7bb70+_0x4da270(0x1ab):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xe7bb70+'\x20open\x20'+_0x31c5a6+_0x4da270(0x1c5)+_0xe7bb70+'\x20tracing-start`,\x20then\x20`'+_0xe7bb70+_0x4da270(0x1b2)+_0x424d7d+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0xe7bb70+_0x4da270(0x144)+_0x30a95e+'`\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`'+_0xe7bb70+'\x20screenshot\x20--filename\x20'+_0x1aabfb+_0x4da270(0x167)+_0xe7bb70+'\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',_0x3ae165=_0x259afc?_0x4da270(0x15d):_0x4da270(0x16e),_0x260742=_0x1a7c06?_0x4da270(0x184)+_0x1a7c06+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x1de427[_0x4da270(0x178)]+_0x12c355+_0xaa4259+_0x591c64+_0x4da270(0x16b)+_0x3c496b+'\x0a\x0a'+_0x208b9c+_0x260742+'\x0a\x0a'+_0x26f9cd+_0x4da270(0x193)+_0xe7bb70+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x424d7d+_0x4da270(0x1a2)+_0x9e3483+_0x4da270(0x1a7)+_0x454bc3+_0x4da270(0x153)+_0x424d7d+_0x4da270(0x192)+_0x472fe4+'\x22,\x20\x22'+_0x408b00[_0x4da270(0x191)](buildCliArtifactPath,_0x424d7d,_0x4da270(0x1c6))+'\x22,\x20\x22'+buildCliArtifactPath(_0x424d7d,_0x408b00[_0x4da270(0x1a9)])+'\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'+_0x408b00[_0x4da270(0x17b)](buildCliArtifactPath,_0x424d7d,_0x408b00[_0x4da270(0x149)])+'\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'+_0x3ae165+_0x4da270(0x1b7);}export function summarizeVerifyFeatureCliCommandAvailability(_0x323664){const _0x40bfec=_0x45c0,_0x730145=[..._0x323664[_0x40bfec(0x1c1)]()]['sort']();let _0x5c2c17=0x0;for(const _0x3603d3 of _0x323664['values']()){_0x5c2c17+=_0x3603d3;}return{'cliCommandCount':_0x5c2c17,'cliCommandsSeen':_0x730145,'noCliCommandsCalled':_0x5c2c17===0x0};}export function createVerifyFeatureCliHooks(_0x5cbd4a){const _0x18e430=_0x45c0,_0xf875c={'Ddsra':function(_0x295c9f,_0x32239e){return _0x295c9f!==_0x32239e;},'iTtas':_0x18e430(0x169),'Abjbh':function(_0xe82769,_0x1e4e35){return _0xe82769+_0x1e4e35;},'zNkql':_0x18e430(0x1c2),'qlwZv':function(_0x5cba6e,_0x4bf688){return _0x5cba6e(_0x4bf688);},'garLY':function(_0x5da9b8,_0x5661a4){return _0x5da9b8!==_0x5661a4;},'FwoSJ':_0x18e430(0x181),'HzPzs':_0x18e430(0x1c7),'tDWLf':'Bash'},_0x4ed73e=new Map(),_0x4414c3=async _0x589c2c=>{const _0x50a324=_0x18e430;if(_0xf875c['Ddsra'](_0x589c2c[_0x50a324(0x163)],_0xf875c[_0x50a324(0x1be)]))return{};const _0x11feaf=_0x589c2c;if(_0xf875c[_0x50a324(0x185)](_0x11feaf[_0x50a324(0x159)],_0x50a324(0x18c)))return{};const _0x583419=_0x11feaf[_0x50a324(0x1a6)],_0x4e04c0=extractBashCommand(_0x583419);if(!_0x4e04c0)return{};const _0x550541=parsePlaywrightCliCommand(_0x4e04c0);if(!_0x550541)return{};return _0x4ed73e['set'](_0x550541,_0xf875c[_0x50a324(0x18b)](_0x4ed73e['get'](_0x550541)||0x0,0x1)),_0x5cbd4a['trackPhaseStart'](_0xf875c['zNkql'],{'transport':'playwright-cli','toolName':_0x550541}),_0x5cbd4a['trackPhaseEnd'](_0xf875c[_0x50a324(0x1bf)],{'transport':_0x50a324(0x171),'toolName':_0x550541,'bashCommandPreview':_0xf875c[_0x50a324(0x150)](truncatePreview,_0x4e04c0)}),_0xf875c[_0x50a324(0x1ad)](_0x550541,_0xf875c['FwoSJ'])&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x583419,_0x4e04c0,_0x550541)),{};},_0x7f27b0=async _0x312937=>{const _0x16ec32=_0x18e430;if(_0xf875c['Ddsra'](_0x312937[_0x16ec32(0x163)],_0xf875c['HzPzs']))return{};const _0x38277a=_0x312937;if(_0x38277a[_0x16ec32(0x159)]!=='Bash')return{};return await _0x5cbd4a[_0x16ec32(0x156)]('tool_failure',_0x38277a[_0x16ec32(0x188)],{'transport':_0x16ec32(0x171),'toolName':_0xf875c[_0x16ec32(0x14b)]}),{};};return{'postToolUseHook':_0x4414c3,'postToolUseFailureHook':_0x7f27b0,'commandCounts':_0x4ed73e};}async function runPlaywrightCliLifecycleCommand(_0x507643){const _0xcd6118=_0x45c0,{sessionId:_0x327d47,configPath:_0x35b1fd,commandArgs:_0x5dc001,env:_0x775a21,telemetry:_0x360f3,phase:_0x2a02c5,metadata:_0x6c4909,timeoutMs:_0x35fa61}=_0x507643;_0x360f3['trackPhaseStart'](_0x2a02c5,_0x6c4909);try{const _0x1f1787=await runPlaywrightCliCommand({'sessionId':_0x327d47,'configPath':_0x35b1fd,'commandArgs':_0x5dc001,'cwd':process[_0xcd6118(0x1b8)](),'env':_0x775a21,'timeoutMs':_0x35fa61??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x360f3[_0xcd6118(0x146)](_0x2a02c5,{..._0x6c4909,'subcommand':_0x1f1787['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x1f1787[_0xcd6118(0x17f)],0x7d0),'stderrPreview':truncatePreview(_0x1f1787['stderr'],0x7d0)});}catch(_0x3f2e09){await _0x360f3['trackPhaseError'](_0x2a02c5,_0x3f2e09,_0x6c4909);throw _0x3f2e09;}}export async function finalizeVerifyFeatureCliSession(_0x472eca){const _0x142ddb=_0x45c0,_0x5ab600={'CSSvc':_0x142ddb(0x135),'LhAyD':'session-recording.webm','cKiTB':_0x142ddb(0x195)},{telemetry:_0x57e3f6,sessionId:_0x54f1ef,configPath:_0x3fbe7d,cliArtifactDir:_0x226441,env:_0x10bd3c,transportMetadata:_0x5a8f5b}=_0x472eca,_0x17a893=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x5ab600['CSSvc'],'commandArgs':['video-stop','--filename='+buildCliArtifactPath(_0x226441,_0x5ab600[_0x142ddb(0x157)])]},{'phase':_0x142ddb(0x138),'commandArgs':[_0x5ab600[_0x142ddb(0x198)]]}];for(const _0x5aac76 of _0x17a893){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x54f1ef,'configPath':_0x3fbe7d,'commandArgs':[..._0x5aac76[_0x142ddb(0x164)]],'env':_0x10bd3c,'telemetry':_0x57e3f6,'phase':_0x5aac76['phase'],'metadata':_0x5a8f5b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x33bf14){const _0x41aba5=_0x45c0,_0x37884a={'ptivI':_0x41aba5(0x1a5),'YgqZf':_0x41aba5(0x133),'bMOrW':function(_0x438311,_0x40ec7d){return _0x438311(_0x40ec7d);}},_0xc10054=[_0x37884a[_0x41aba5(0x19e)],_0x37884a[_0x41aba5(0x1bc)]];for(const _0x27f11 of _0xc10054){const _0x2eefaf=join(_0x33bf14,_0x27f11);try{return{'buffer':await _0x37884a[_0x41aba5(0x183)](readFile,_0x2eefaf),'source':_0x2eefaf};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x55644c){const _0x46a5c5=_0x45c0,_0x33d1d8={'lmIpL':function(_0x10be10,_0x173614,_0x431779){return _0x10be10(_0x173614,_0x431779);},'iDLtD':function(_0x16e9af,_0x361651){return _0x16e9af===_0x361651;}},{cwd:_0x4de95b,cliArtifactDir:_0x366d06,startTime:_0x4dc262}=_0x55644c,_0x3c5b72=[];await _0x33d1d8[_0x46a5c5(0x1b5)](mkdir,_0x366d06,{'recursive':!![]});const _0x2234c7=await readdir(_0x4de95b,{'withFileTypes':!![]});for(const _0x2495dc of _0x2234c7){if(!_0x2495dc['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x46a5c5(0x1a1)](_0x2495dc[_0x46a5c5(0x13b)]))continue;const _0x508460=join(_0x4de95b,_0x2495dc[_0x46a5c5(0x13b)]),_0x166401=await stat(_0x508460);if(_0x166401['mtimeMs']+0x7d0<_0x4dc262)continue;const _0x82d6cf=buildCliArtifactPath(_0x366d06,_0x2495dc[_0x46a5c5(0x13b)]);if(_0x33d1d8['iDLtD'](_0x508460,_0x82d6cf))continue;await rename(_0x508460,_0x82d6cf),_0x3c5b72[_0x46a5c5(0x19f)](_0x2495dc[_0x46a5c5(0x13b)]);}return _0x3c5b72[_0x46a5c5(0x196)]();}
|
|
1
|
+
function _0x51cd(_0x9e9bc8,_0x47157d){_0x9e9bc8=_0x9e9bc8-0xc8;const _0x304ca4=_0x304c();let _0x51cdd0=_0x304ca4[_0x9e9bc8];return _0x51cdd0;}(function(_0x27c50b,_0x3d86fa){const _0x38d49e=_0x51cd,_0x1ad347=_0x27c50b();while(!![]){try{const _0xb3d450=parseInt(_0x38d49e(0xcc))/0x1*(parseInt(_0x38d49e(0x126))/0x2)+parseInt(_0x38d49e(0x11f))/0x3*(parseInt(_0x38d49e(0x137))/0x4)+-parseInt(_0x38d49e(0x132))/0x5+parseInt(_0x38d49e(0x13d))/0x6+parseInt(_0x38d49e(0x133))/0x7*(parseInt(_0x38d49e(0x14a))/0x8)+-parseInt(_0x38d49e(0xf4))/0x9+-parseInt(_0x38d49e(0xe5))/0xa;if(_0xb3d450===_0x3d86fa)break;else _0x1ad347['push'](_0x1ad347['shift']());}catch(_0x27c410){_0x1ad347['push'](_0x1ad347['shift']());}}}(_0x304c,0x6bb5d));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(_0x34c9f5,_0x363c60=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x4b82fa=_0x51cd,_0x52ef50={'FrfPN':function(_0x4ff47a,_0x3a6a23){return _0x4ff47a+_0x3a6a23;},'ctdkt':_0x4b82fa(0x148)};return _0x34c9f5[_0x4b82fa(0x116)]>_0x363c60?_0x52ef50[_0x4b82fa(0x128)](_0x34c9f5[_0x4b82fa(0x117)](0x0,_0x363c60),_0x52ef50['ctdkt']):_0x34c9f5;}function buildCliArtifactPath(_0x47e191,_0x3a2a21){return join(_0x47e191,_0x3a2a21);}function toStepDisplayName(_0x26dbb2){const _0x317dfb=_0x51cd,_0xb78084=basename(_0x26dbb2)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x317dfb(0x100)](/^key_/i,'')[_0x317dfb(0x100)](/^\d+_/,'')[_0x317dfb(0x100)](/-/g,'\x20');return{'name':_0xb78084,'isKeyStep':/^key_/i['test'](basename(_0x26dbb2))};}function extractShellValue(_0xbadf59){if(!_0xbadf59)return null;return _0xbadf59[0x1]??_0xbadf59[0x2]??_0xbadf59[0x3]??null;}function extractFilenameOption(_0xef4704){return extractShellValue(_0xef4704['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x542a4f,_0x2605dd){const _0x650046=_0x51cd,_0x112cbf={'ZPpGS':'\x5c$&','usuPo':function(_0x43457d,_0x5af699){return _0x43457d(_0x5af699);}},_0x1a0df7=_0x2605dd['replace'](/[.*+?^${}()|[\]\\]/g,_0x112cbf['ZPpGS']);return _0x112cbf[_0x650046(0x11d)](extractShellValue,_0x542a4f[_0x650046(0xff)](new RegExp(_0x650046(0x106)+_0x1a0df7+_0x650046(0xd7))));}function formatCommandTarget(_0x17b18){const _0x1d8dd9=_0x51cd;if(!_0x17b18)return _0x1d8dd9(0x140);if(/^e\d+$/i['test'](_0x17b18))return _0x1d8dd9(0xd9)+_0x17b18;return JSON[_0x1d8dd9(0xf0)](truncatePreview(_0x17b18,0x78));}function formatPlaywrightCliLog(_0xdc7d1e,_0x3f4f8c){const _0x4e4d22=_0x51cd,_0x2231b1={'Jhcrq':'open\x20browser','UhReB':'tracing-start','ulnQe':'video-start','chTQt':_0x4e4d22(0x120),'QBKxJ':'snapshot','mSHGe':'capture\x20snapshot','qQCHm':function(_0x19d03f,_0x329381){return _0x19d03f(_0x329381);},'GdkWx':function(_0x32b4b4,_0x590ac6){return _0x32b4b4(_0x590ac6);},'dQOcG':'capture\x20screenshot','tZIUt':function(_0x44601e,_0x1dfa33,_0x548cfa){return _0x44601e(_0x1dfa33,_0x548cfa);},'LdSvs':'fill','AEOlJ':_0x4e4d22(0xf5),'qDeGo':function(_0x39acc7,_0x547951){return _0x39acc7(_0x547951);},'cCrVJ':'run\x20custom\x20Playwright\x20code','SAVsC':'select\x20tab'};switch(_0x3f4f8c){case'open':{const _0x498cd9=extractFirstCommandArgument(_0xdc7d1e,_0x3f4f8c);return _0x498cd9?_0x4e4d22(0xe7)+_0x498cd9:_0x2231b1['Jhcrq'];}case _0x2231b1['UhReB']:return _0x4e4d22(0xef);case'tracing-stop':return'stop\x20tracing';case _0x2231b1['ulnQe']:return _0x4e4d22(0xcd);case _0x4e4d22(0x134):return _0x2231b1['chTQt'];case _0x2231b1['QBKxJ']:{const _0x583791=extractFilenameOption(_0xdc7d1e);if(!_0x583791)return _0x2231b1['mSHGe'];const {name:_0x2632c3}=_0x2231b1['qQCHm'](toStepDisplayName,_0x583791);return'capture\x20snapshot\x20`'+_0x2632c3+'`';}case _0x4e4d22(0xdf):{const _0x36d2c9=_0x2231b1['GdkWx'](extractFilenameOption,_0xdc7d1e);if(!_0x36d2c9)return _0x2231b1['dQOcG'];const {name:_0x900e1f,isKeyStep:_0x53d4c3}=toStepDisplayName(_0x36d2c9);return _0x53d4c3?_0x4e4d22(0x105)+_0x900e1f+'`':_0x4e4d22(0xe9)+_0x900e1f+'`';}case'click':return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0xdc7d1e,_0x3f4f8c));case _0x4e4d22(0xd5):return _0x4e4d22(0x12b)+formatCommandTarget(_0x2231b1[_0x4e4d22(0x119)](extractFirstCommandArgument,_0xdc7d1e,_0x3f4f8c));case _0x2231b1[_0x4e4d22(0x123)]:return _0x4e4d22(0xdb)+_0x2231b1[_0x4e4d22(0xe6)](formatCommandTarget,_0x2231b1[_0x4e4d22(0x119)](extractFirstCommandArgument,_0xdc7d1e,_0x3f4f8c));case _0x2231b1[_0x4e4d22(0xd8)]:return'press\x20'+_0x2231b1['qDeGo'](formatCommandTarget,_0x2231b1['tZIUt'](extractFirstCommandArgument,_0xdc7d1e,_0x3f4f8c));case _0x4e4d22(0xfe):return _0x2231b1[_0x4e4d22(0xe2)];case _0x4e4d22(0xfd):{const _0x441575=extractFirstCommandArgument(_0xdc7d1e,_0x3f4f8c);return _0x441575?'open\x20new\x20tab\x20'+_0x441575:_0x4e4d22(0x101);}case'tab-select':{const _0x1d75dd=extractFirstCommandArgument(_0xdc7d1e,_0x3f4f8c);return _0x1d75dd?'select\x20tab\x20'+_0x1d75dd:_0x2231b1['SAVsC'];}default:return _0x3f4f8c;}}function extractPlaywrightCliToolDescription(_0x16b088){const _0x41378c=_0x51cd,_0x153bcb={'YHVHU':function(_0x4a741f,_0x4022f9){return _0x4a741f>_0x4022f9;}},_0x4a1d6d=_0x16b088['description'];if(typeof _0x4a1d6d!==_0x41378c(0x12f))return null;const _0x2638be=_0x4a1d6d['trim']()[_0x41378c(0x100)](/\s+/g,'\x20');return _0x153bcb[_0x41378c(0xcb)](_0x2638be['length'],0x0)?_0x2638be:null;}export function formatPlaywrightCliConsoleLogMessage(_0x5f38ec,_0x5879bd,_0x4ae023){const _0x461428=_0x51cd,_0x5bb077={'iDfGH':function(_0x120570,_0x191a22,_0x2c1868){return _0x120570(_0x191a22,_0x2c1868);},'TYsXF':function(_0xc60aba,_0x5708d0){return _0xc60aba(_0x5708d0);}},_0x206cfb=_0x5bb077[_0x461428(0xe3)](formatPlaywrightCliLog,_0x5879bd,_0x4ae023),_0x19975a=_0x5bb077['TYsXF'](extractPlaywrightCliToolDescription,_0x5f38ec);if(!_0x19975a)return _0x461428(0x103)+_0x206cfb;if(process['env']['DEBUG'])return _0x461428(0x138)+_0x19975a+'\x20('+_0x206cfb+')';return'[ranger-verification-agent]\x20'+_0x19975a;}export function buildVerifyFeatureCliDebugPrompt(_0x12d0cf,_0xfd347e){const _0x244e42=_0x51cd,_0x25a2ae={'YjfII':_0x244e42(0x14c),'OKJmW':function(_0x2956e7,_0x103a62){return _0x2956e7(_0x103a62);}},_0x4de8c6=buildCliArtifactPath(_0xfd347e,'00_mozilla-homepage.yml'),_0x58d25b=buildCliArtifactPath(_0xfd347e,_0x25a2ae[_0x244e42(0x127)]),_0x363595=buildCliArtifactPath(_0xfd347e,_0x244e42(0xf9)),_0xd777b8=buildCliArtifactPath(_0xfd347e,_0x244e42(0x142)),_0x232fd6=quoteShellArg(_0x4de8c6),_0x20a9e=quoteShellArg(_0x58d25b),_0x3ad026=_0x25a2ae['OKJmW'](quoteShellArg,_0x363595),_0x3bf560=quoteShellArg(_0xd777b8);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x12d0cf+_0x244e42(0x146)+_0x12d0cf+_0x244e42(0x11e)+_0x12d0cf+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x12d0cf+_0x244e42(0x10d)+_0xfd347e+_0x244e42(0xf1)+_0x12d0cf+'\x20snapshot\x20--filename\x20'+_0x232fd6+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x12d0cf+_0x244e42(0x13f)+_0x20a9e+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x12d0cf+'\x20snapshot\x20--filename\x20'+_0x3ad026+_0x244e42(0xf8)+_0x12d0cf+'\x20screenshot\x20--filename\x20'+_0x3bf560+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x3db509){const _0x3653a9=_0x51cd,_0x2d6ad9={'RBwoN':_0x3653a9(0x14b),'bqepN':'numeric','YWCUD':_0x3653a9(0x108),'SLKZy':_0x3653a9(0x12a),'tZVhS':'01_initial.yml','qfZtV':function(_0x189796,_0x36cd7f,_0x2a2b24){return _0x189796(_0x36cd7f,_0x2a2b24);},'lcYbd':function(_0x49dd9b,_0x537ee7,_0x546661){return _0x49dd9b(_0x537ee7,_0x546661);},'DToYi':_0x3653a9(0x111),'aMRIr':function(_0x1e8dbb,_0x41f7c2){return _0x1e8dbb(_0x41f7c2);},'jApFH':function(_0x541054,_0x401e06){return _0x541054>_0x401e06;},'CBoYh':function(_0x45d82f,_0x43afd1,_0x45026a){return _0x45d82f(_0x43afd1,_0x45026a);},'CnNRT':function(_0x191173,_0x1e2b3f,_0x348763){return _0x191173(_0x1e2b3f,_0x348763);},'UROar':'03_result-visible.png'},{checklistItem:_0x154361,itemFeedback:_0x479a6b,taskDescription:_0x1fd58d,cliCommandPrefix:_0x4ac20b,cliArtifactDir:_0x4d794a,isCdpMode:_0x1f40f9,url:_0x5270fe,cdpEndpoint:_0x59adfe,loginInstructions:_0x352697}=_0x3db509,_0x481938=buildCliArtifactPath(_0x4d794a,_0x2d6ad9[_0x3653a9(0xed)]),_0x13dccf=_0x2d6ad9['qfZtV'](buildCliArtifactPath,_0x4d794a,'02_state.yml'),_0x46f122=buildCliArtifactPath(_0x4d794a,_0x3653a9(0x13e)),_0x167060=_0x2d6ad9[_0x3653a9(0x10b)](buildCliArtifactPath,_0x4d794a,_0x2d6ad9[_0x3653a9(0xc9)]),_0x3f66cf=quoteShellArg(_0x481938),_0x509319=_0x2d6ad9['aMRIr'](quoteShellArg,_0x13dccf),_0x13a126=quoteShellArg(_0x46f122),_0x996eae=_0x2d6ad9['aMRIr'](quoteShellArg,_0x167060),_0x41c4d4=_0x154361['notes']?_0x3653a9(0x135)+_0x154361['notes']:'';let _0x3d51be='';if(_0x479a6b&&_0x2d6ad9[_0x3653a9(0xdd)](_0x479a6b['unaddressedComments']['length'],0x0)){const _0x4d18ee=_0x479a6b[_0x3653a9(0xdc)]['map'](_0x13ffb7=>{const _0x520479=_0x3653a9,_0x453ab2=new Date(_0x13ffb7['createdAt'])[_0x520479(0xe4)](_0x2d6ad9['RBwoN'],{'month':'short','day':_0x2d6ad9[_0x520479(0xd3)]}),_0x191049=_0x13ffb7['authorName']||_0x13ffb7['authorEmail']||_0x2d6ad9['YWCUD'],_0x4d7f55=_0x13ffb7['domRef']?'\x20(on\x20element:\x20<'+(_0x13ffb7[_0x520479(0xde)]['selector']['split'](_0x2d6ad9['SLKZy'])[_0x520479(0xeb)]()?.[_0x520479(0xda)](':')[0x0]||'element')+_0x520479(0xfb)+(_0x13ffb7[_0x520479(0xde)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x13ffb7['id']+']\x20**'+_0x191049+_0x520479(0x145)+_0x453ab2+'):\x20\x22'+_0x13ffb7[_0x520479(0xd6)]+'\x22'+_0x4d7f55;})['join']('\x0a');_0x3d51be=_0x3653a9(0xca)+_0x4d18ee;}const _0x7b7d65=_0x479a6b?.[_0x3653a9(0xc8)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x479a6b['canonicalFlow']:'',_0x5bde57=_0x1f40f9?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x59adfe+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x5270fe+_0x3653a9(0x104),_0x218a17=_0x5270fe?_0x2d6ad9['aMRIr'](quoteShellArg,_0x5270fe):'',_0x1c9c4b=_0x1f40f9?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4ac20b+'\x20open`,\x20then\x20`'+_0x4ac20b+_0x3653a9(0x10f)+_0x4ac20b+_0x3653a9(0x12c)+_0x4d794a+_0x3653a9(0x124)+_0x4ac20b+'\x20snapshot\x20--filename\x20'+_0x3f66cf+'`\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`'+_0x4ac20b+'\x20screenshot\x20--filename\x20'+_0x996eae+_0x3653a9(0x115)+_0x4ac20b+_0x3653a9(0xf6):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4ac20b+'\x20open\x20'+_0x218a17+'`,\x20then\x20`'+_0x4ac20b+'\x20tracing-start`,\x20then\x20`'+_0x4ac20b+_0x3653a9(0x12c)+_0x4d794a+_0x3653a9(0x124)+_0x4ac20b+_0x3653a9(0x11a)+_0x3f66cf+'`\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`'+_0x4ac20b+_0x3653a9(0x13f)+_0x996eae+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x4ac20b+'\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',_0x21634c=_0x1f40f9?_0x3653a9(0xee):_0x3653a9(0x141),_0x353b44=_0x352697?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x352697+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x3653a9(0x114)+_0x154361['description']+_0x41c4d4+_0x3d51be+_0x7b7d65+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x1fd58d+'\x0a\x0a'+_0x5bde57+_0x353b44+'\x0a\x0a'+_0x1c9c4b+_0x3653a9(0xce)+_0x4ac20b+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x4d794a+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x509319+'`\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'+_0x13a126+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x4d794a+_0x3653a9(0x109)+_0x167060+'\x22,\x20\x22'+_0x2d6ad9[_0x3653a9(0x12e)](buildCliArtifactPath,_0x4d794a,_0x3653a9(0xfc))+'\x22,\x20\x22'+_0x2d6ad9['CnNRT'](buildCliArtifactPath,_0x4d794a,_0x2d6ad9['UROar'])+_0x3653a9(0xec)+buildCliArtifactPath(_0x4d794a,'key_04_success-state.png')+'\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'+_0x21634c+'\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(_0x3da793){const _0x713b36=_0x51cd,_0x71cd26={'rnApi':function(_0x56a245,_0x496091){return _0x56a245===_0x496091;}},_0x103752=[..._0x3da793[_0x713b36(0xf7)]()][_0x713b36(0x13b)]();let _0x33a5d6=0x0;for(const _0x571c8e of _0x3da793['values']()){_0x33a5d6+=_0x571c8e;}return{'cliCommandCount':_0x33a5d6,'cliCommandsSeen':_0x103752,'noCliCommandsCalled':_0x71cd26[_0x713b36(0x136)](_0x33a5d6,0x0)};}export function createVerifyFeatureCliHooks(_0x21558e){const _0x1d0654=_0x51cd,_0x50ea8c={'VjIre':function(_0x5e9d43,_0x3eba93){return _0x5e9d43!==_0x3eba93;},'ZsJQw':function(_0x4f5107,_0x4e57e3){return _0x4f5107(_0x4e57e3);},'qPHpD':_0x1d0654(0xf2),'Utuxf':_0x1d0654(0xd4),'OosNn':function(_0x42be25,_0x2ad142){return _0x42be25!==_0x2ad142;},'NGICr':_0x1d0654(0x125),'WDkvC':function(_0x2ac823,_0x27d422,_0x226068,_0xd3dd83){return _0x2ac823(_0x27d422,_0x226068,_0xd3dd83);},'grJHd':_0x1d0654(0x13c),'wZLzq':function(_0x482048,_0x4d1367){return _0x482048!==_0x4d1367;},'rRvUF':_0x1d0654(0x11b),'nYIvL':'tool_failure'},_0x13827f=new Map(),_0x53a11d=async _0x3aa09d=>{const _0x3c87da=_0x1d0654;if(_0x50ea8c[_0x3c87da(0xe0)](_0x3aa09d[_0x3c87da(0x147)],'PostToolUse'))return{};const _0xeca8d6=_0x3aa09d;if(_0xeca8d6[_0x3c87da(0x143)]!=='Bash')return{};const _0x34000d=_0xeca8d6[_0x3c87da(0x139)],_0x53c072=extractBashCommand(_0x34000d);if(!_0x53c072)return{};const _0x1a091a=_0x50ea8c[_0x3c87da(0xd2)](parsePlaywrightCliCommand,_0x53c072);if(!_0x1a091a)return{};return _0x13827f[_0x3c87da(0x131)](_0x1a091a,(_0x13827f[_0x3c87da(0xea)](_0x1a091a)||0x0)+0x1),_0x21558e['trackPhaseStart'](_0x50ea8c['qPHpD'],{'transport':_0x3c87da(0xd4),'toolName':_0x1a091a}),_0x21558e[_0x3c87da(0x149)](_0x3c87da(0xf2),{'transport':_0x50ea8c['Utuxf'],'toolName':_0x1a091a,'bashCommandPreview':_0x50ea8c[_0x3c87da(0xd2)](truncatePreview,_0x53c072)}),_0x50ea8c[_0x3c87da(0xe8)](_0x1a091a,_0x50ea8c['NGICr'])&&console[_0x3c87da(0x113)](_0x50ea8c['WDkvC'](formatPlaywrightCliConsoleLogMessage,_0x34000d,_0x53c072,_0x1a091a)),{};},_0x3c5a46=async _0x56c1c2=>{const _0x4a4237=_0x1d0654;if(_0x50ea8c[_0x4a4237(0xe8)](_0x56c1c2[_0x4a4237(0x147)],_0x50ea8c[_0x4a4237(0x144)]))return{};const _0x5d47da=_0x56c1c2;if(_0x50ea8c[_0x4a4237(0x110)](_0x5d47da['tool_name'],_0x50ea8c[_0x4a4237(0xf3)]))return{};return await _0x21558e[_0x4a4237(0x130)](_0x50ea8c['nYIvL'],_0x5d47da[_0x4a4237(0x118)],{'transport':_0x4a4237(0xd4),'toolName':'Bash'}),{};};return{'postToolUseHook':_0x53a11d,'postToolUseFailureHook':_0x3c5a46,'commandCounts':_0x13827f};}async function runPlaywrightCliLifecycleCommand(_0x3d1110){const _0x1cc7a9=_0x51cd,_0x4d4b56={'CRcaI':function(_0x3b8186,_0x3d334d){return _0x3b8186(_0x3d334d);},'skWyi':function(_0x58ee58,_0x681b78){return _0x58ee58??_0x681b78;}},{sessionId:_0x18f733,configPath:_0xf688ef,commandArgs:_0x480119,env:_0x2f74f8,telemetry:_0x107545,phase:_0x20e713,metadata:_0x5121bb,timeoutMs:_0x309774}=_0x3d1110;_0x107545['trackPhaseStart'](_0x20e713,_0x5121bb);try{const _0x1d3083=await _0x4d4b56['CRcaI'](runPlaywrightCliCommand,{'sessionId':_0x18f733,'configPath':_0xf688ef,'commandArgs':_0x480119,'cwd':process[_0x1cc7a9(0xfa)](),'env':_0x2f74f8,'timeoutMs':_0x4d4b56[_0x1cc7a9(0xd1)](_0x309774,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x107545[_0x1cc7a9(0x149)](_0x20e713,{..._0x5121bb,'subcommand':_0x1d3083[_0x1cc7a9(0x10c)][_0x1cc7a9(0x107)],'stdoutPreview':truncatePreview(_0x1d3083[_0x1cc7a9(0x11c)],0x7d0),'stderrPreview':truncatePreview(_0x1d3083['stderr'],0x7d0)});}catch(_0x136544){await _0x107545['trackPhaseError'](_0x20e713,_0x136544,_0x5121bb);throw _0x136544;}}export async function finalizeVerifyFeatureCliSession(_0x1c7fd5){const _0x18f3a5=_0x51cd,_0x2223c0={'xwBVV':'playwright_cli_tracing_stop','lenNE':_0x18f3a5(0xe1),'BSoSf':function(_0x28672f,_0x547c0f){return _0x28672f(_0x547c0f);}},{telemetry:_0x3e09ba,sessionId:_0x4498a4,configPath:_0x57931d,cliArtifactDir:_0x4e1c4e,env:_0x457613,transportMetadata:_0x4505b7}=_0x1c7fd5,_0x1a78be=[{'phase':_0x2223c0['xwBVV'],'commandArgs':[_0x2223c0[_0x18f3a5(0xd0)]]},{'phase':_0x18f3a5(0x10e),'commandArgs':['video-stop','--filename='+buildCliArtifactPath(_0x4e1c4e,'session-recording.webm')]},{'phase':_0x18f3a5(0x129),'commandArgs':['close']}];for(const _0x559ae9 of _0x1a78be){try{await _0x2223c0['BSoSf'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x4498a4,'configPath':_0x57931d,'commandArgs':[..._0x559ae9['commandArgs']],'env':_0x457613,'telemetry':_0x3e09ba,'phase':_0x559ae9[_0x18f3a5(0x102)],'metadata':_0x4505b7});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x421c90){const _0x3d5e43=_0x51cd,_0x3666f1={'CunWP':'trace.trace.zip','ORJiw':function(_0x357dc9,_0x482041,_0x556fe6){return _0x357dc9(_0x482041,_0x556fe6);}},_0x121b11=[_0x3d5e43(0x13a),_0x3666f1['CunWP']];for(const _0x1383f6 of _0x121b11){const _0x39beb6=_0x3666f1[_0x3d5e43(0xcf)](join,_0x421c90,_0x1383f6);try{return{'buffer':await readFile(_0x39beb6),'source':_0x39beb6};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x5e7de0){const _0x152155=_0x51cd,_0x419ad6={'ArwjP':function(_0x56da90,_0x2dab24,_0x3c8519){return _0x56da90(_0x2dab24,_0x3c8519);},'Dcwcg':function(_0x266878,_0x6666d9,_0x5ed845){return _0x266878(_0x6666d9,_0x5ed845);},'XWRCW':function(_0x4fb1af,_0x3f9c0){return _0x4fb1af+_0x3f9c0;},'eXVcl':function(_0x24beb7,_0x4c0de5){return _0x24beb7===_0x4c0de5;},'QgfOA':function(_0x5937a4,_0x430921,_0x1fefa2){return _0x5937a4(_0x430921,_0x1fefa2);}},{cwd:_0x4f6c19,cliArtifactDir:_0x543d73,startTime:_0x5979d9}=_0x5e7de0,_0x1bd3f6=[];await mkdir(_0x543d73,{'recursive':!![]});const _0x53c473=await _0x419ad6['ArwjP'](readdir,_0x4f6c19,{'withFileTypes':!![]});for(const _0x435017 of _0x53c473){if(!_0x435017['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x152155(0x112)](_0x435017[_0x152155(0x121)]))continue;const _0xeb0ae8=_0x419ad6['Dcwcg'](join,_0x4f6c19,_0x435017[_0x152155(0x121)]),_0x1a3b47=await stat(_0xeb0ae8);if(_0x419ad6[_0x152155(0x12d)](_0x1a3b47['mtimeMs'],0x7d0)<_0x5979d9)continue;const _0x1312b5=buildCliArtifactPath(_0x543d73,_0x435017[_0x152155(0x121)]);if(_0x419ad6['eXVcl'](_0xeb0ae8,_0x1312b5))continue;await _0x419ad6[_0x152155(0x122)](rename,_0xeb0ae8,_0x1312b5),_0x1bd3f6[_0x152155(0x10a)](_0x435017['name']);}return _0x1bd3f6[_0x152155(0x13b)]();}function _0x304c(){const _0x81cb64=['phase','[playwright-cli]\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','capture\x20key\x20step\x20`','(?:^|\x5cs)','subcommand','Reviewer','`:\x20\x22','push','lcYbd','invocation','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','playwright_cli_video_stop','\x20tracing-start`,\x20then\x20`','wZLzq','01_initial-state.png','test','log','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','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','length','slice','error','tZIUt','\x20snapshot\x20--filename\x20','Bash','stdout','usuPo','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','93BfJikp','stop\x20video\x20recording','name','QgfOA','LdSvs','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','snapshot','1284404EbvlDk','YjfII','FrfPN','playwright_cli_close','\x20>\x20','check\x20','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','XWRCW','CBoYh','string','trackPhaseError','set','3081290guFelS','7lUDevE','video-stop','\x0a\x0a##\x20Additional\x20Notes\x0a','rnApi','29512SMYYtI','[ranger-verification-agent]\x20','tool_input','trace.zip','sort','PostToolUseFailure','4638660spTQCC','key_03_success-state.png','\x20screenshot\x20--filename\x20','target','\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.','03_learn-more.png','tool_name','grJHd','**\x20(','\x0a\x0a1.\x20Run\x20`','hook_event_name','...','trackPhaseEnd','2328744hXpDEZ','en-US','01_mozilla-homepage.png','canonicalFlow','DToYi','\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','YHVHU','1ctRvrQ','start\x20video\x20recording','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','ORJiw','lenNE','skWyi','ZsJQw','bqepN','playwright-cli','check','content','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','AEOlJ','ref\x20','split','fill\x20','unaddressedComments','jApFH','domRef','screenshot','VjIre','tracing-stop','cCrVJ','iDfGH','toLocaleDateString','8499880fXbapq','qQCHm','open\x20','OosNn','capture\x20step\x20`','get','pop','\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','tZVhS','\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.','start\x20tracing','stringify','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','tool_call','rRvUF','249264QrdiGG','press','\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','keys','`\x0a9.\x20Run\x20`','02_learn-more.yml','cwd','>\x20\x22','02_button-clicked.png','tab-new','run-code','match','replace','open\x20new\x20tab'];_0x304c=function(){return _0x81cb64;};return _0x304c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2ddea3=_0x31f3;(function(_0x29e3f4,_0x4b65a2){const _0x19b2bc=_0x31f3,_0x3d89f8=_0x29e3f4();while(!![]){try{const _0x3c237c=parseInt(_0x19b2bc(0xe1))/0x1*(parseInt(_0x19b2bc(0x16b))/0x2)+parseInt(_0x19b2bc(0x128))/0x3*(parseInt(_0x19b2bc(0xbf))/0x4)+parseInt(_0x19b2bc(0xa4))/0x5*(-parseInt(_0x19b2bc(0x10e))/0x6)+-parseInt(_0x19b2bc(0x94))/0x7*(-parseInt(_0x19b2bc(0xee))/0x8)+-parseInt(_0x19b2bc(0xfc))/0x9+parseInt(_0x19b2bc(0x90))/0xa+-parseInt(_0x19b2bc(0xcf))/0xb;if(_0x3c237c===_0x4b65a2)break;else _0x3d89f8['push'](_0x3d89f8['shift']());}catch(_0x951a1c){_0x3d89f8['push'](_0x3d89f8['shift']());}}}(_0x483e,0x7620f));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';function _0x483e(){const _0x4a75ac=['PreToolUse','\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','rTMkZ','stopScreencast','args','captureTraceSample','execute','key_03_success-state.png','):\x20\x22','tool_name','SBepb','pop','5991732aygrzh','frame-','unaddressedComments','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','stopTraceSampling','tracing','screenshot','PostToolUse','`.\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`','context','sort','`\x0a-\x20`','nova-artifacts.zip','getFrameDir','json','\x20>\x20','goto','EeAak','1181604acdfFa','description','verify','params','session\x20create','FdYRF','stop','ms-playwright','nova_act_artifact_recording_stop','nova_act_session_report','wqKSD','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','kPnzg','01_initial-state.png','nova_act_session_close','traceSampleCount','mtimeMs','CDnTX','isFile','jpeg','\x0a\x0a##\x20Additional\x20Notes\x0a','ZggGf','verify\x20page\x20condition','commandArgs','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','MekTF','320232FeDEkl','NIOha','03_final-state.png','wNRVC','Bash','browser_pid','nova_act_final_screenshot','--report','nova_act_final_snapshot','set','short','traceSampleTimer','ACJKR','.act_cli','session-recording.webm','notes','textContent','match','invocation','canonicalFlow','sessionId','-pix_fmt','mrxph','Koxkg','wait-for','ask','push','novaOptions','readSessionMetadataWithRetry','keys','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','OSTeD','tklXx','Caches','startsWith','rTUBF','VnwFf','nOxPZ','Mmpth','Library','Xipoh','tracingStarted','join','navigate\x20browser','send','UUIPs','HRkkU','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','slice','test','export\x20Nova\x20session','\x20snapshot\x20--output\x20','element','xjnbq','frameSession','trim','authorEmail','nova-report','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','startScreencast','mysDo','browser','frameCount','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','EBOhH','IeSaL','snapshot','2WZZTVc','qHYtw','Page.startScreencast','01_initial.yml','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','2570450ezPGGJ','hook_event_name','name','tagName','4879798PcbssN','traceSampleInFlight','zTjEw','transportMetadata','ipgCo','\x20screenshot\x20--output\x20','body','from','Page.screencastFrame','phase','nzMoU','screencastStarted','PostToolUseFailure','final-state.yaml','-c:v','pnHDj','10wbaUqJ','Reviewer','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','OvUCV','trace.zip','nclFb','startTraceSampling','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','frameWrites','finally','IYRHz','numeric','yuv420p','kjPZV','tPOyS','telemetry','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','nova_act_session_export','padStart','.cache','TzPMs','tLJed','nova-act-cli','trackPhaseEnd','ZAEPO','bBaEf','cliArtifactDir','4VJAXLy','startAttempted','capture\x20snapshot\x20`','trackPhaseError','CSEex','nova_act_artifact_recording','nBdEA','tVSIl','--output','values','newCDPSession','filter','ukUIm','map','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','LQISO','2423575RUKdXn','Page.stopScreencast','xSmdb','trackPhaseStart','nova-user-data/*','ask\x20page\x20question','GhqUL','xEYGP','error','replace','\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','domRef','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','dSyIv','00_initial-state.yml','YEStU','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','702893gJGjYj','fnUyE','catch','--output-dir','subcommand','ffmpeg','tool_input','GrRvx','nova-session-export.json','\x20(on\x20element:\x20<','parse','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','pHGsh','8DvyYWY','lSKgh'];_0x483e=function(){return _0x4a75ac;};return _0x483e();}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',_0x2ddea3(0xf6),_0x2ddea3(0x110),'ask',_0x2ddea3(0x10c),_0x2ddea3(0x140),_0x2ddea3(0x16a),_0x2ddea3(0x102)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x1704e6,_0x4e0454){return join(_0x1704e6,_0x4e0454);}export class NovaActArtifactRecorder{['params'];[_0x2ddea3(0x165)]=null;[_0x2ddea3(0x105)]=null;[_0x2ddea3(0x15e)]=null;[_0x2ddea3(0xac)]=[];[_0x2ddea3(0x166)]=0x0;['traceSampleCount']=0x0;[_0x2ddea3(0x133)]=null;[_0x2ddea3(0x95)]=null;[_0x2ddea3(0x151)]=![];[_0x2ddea3(0x9f)]=![];[_0x2ddea3(0xc0)]=![];['stopped']=![];constructor(_0x3a4f76){this['params']=_0x3a4f76;}async['start'](){const _0x5b7430=_0x2ddea3,_0x5bd413={'rTMkZ':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','UUIPs':'nova_act_artifact_recording'};if(this[_0x5b7430(0xc0)])return;this[_0x5b7430(0xc0)]=!![];const _0x482c73=await this[_0x5b7430(0x144)](),_0x23e60e=_0x482c73['cdp_endpoint'];if(!_0x23e60e)throw new Error(_0x5b7430(0xcd)+this[_0x5b7430(0x111)][_0x5b7430(0x143)]['sessionId']);await mkdir(this[_0x5b7430(0x111)][_0x5b7430(0xbe)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x23e60e,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x5b7430(0x165)]['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x5bd413[_0x5b7430(0xf2)]);await this['context']['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x5b7430(0xaa)](),await this['startScreencast'](),this['params']['telemetry']['trackPhaseStart'](_0x5bd413['UUIPs'],{...this[_0x5b7430(0x111)][_0x5b7430(0x97)],'cdpEndpoint':_0x23e60e,'browserPid':_0x482c73[_0x5b7430(0x12d)],'sessionState':_0x482c73['state']}),this['params']['telemetry'][_0x5b7430(0xbb)](_0x5bd413[_0x5b7430(0x155)],{...this[_0x5b7430(0x111)]['transportMetadata'],'tracingStarted':this[_0x5b7430(0x151)],'screencastStarted':this['screencastStarted']});}async[_0x2ddea3(0x114)](){const _0x3c2d57=_0x2ddea3,_0x3ed632={'zTjEw':_0x3c2d57(0x116)};if(this['stopped'])return;this['stopped']=!![];const _0x4ccd0e={...this['params']['transportMetadata'],'frameCount':this[_0x3c2d57(0x166)],'traceSampleCount':this[_0x3c2d57(0x11d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x3c2d57(0x9f)]};this['params'][_0x3c2d57(0xb3)]['trackPhaseStart'](_0x3ed632['zTjEw'],_0x4ccd0e);try{await this[_0x3c2d57(0x100)](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x3c2d57(0xac)]);this['context']&&this['tracingStarted']&&await this['context'][_0x3c2d57(0x101)]['stop']({'path':buildCliArtifactPath(this['params']['cliArtifactDir'],'trace.zip')});const _0x5c5b29=await this['encodeScreencastVideo']();this['params'][_0x3c2d57(0xb3)][_0x3c2d57(0xbb)](_0x3ed632[_0x3c2d57(0x96)],{..._0x4ccd0e,'videoPath':_0x5c5b29});}catch(_0x57459a){await this['params'][_0x3c2d57(0xb3)][_0x3c2d57(0xc2)](_0x3c2d57(0x116),_0x57459a,_0x4ccd0e);}finally{await this[_0x3c2d57(0x165)]?.['close']()[_0x3c2d57(0xe3)](()=>undefined),this[_0x3c2d57(0x165)]=null,this[_0x3c2d57(0x105)]=null,this[_0x3c2d57(0x15e)]=null;}}async[_0x2ddea3(0x144)](){const _0xaa9e62=_0x2ddea3,_0x140def={'cOXOU':_0xaa9e62(0x135),'LbIYM':_0xaa9e62(0x165),'FOYJQ':function(_0x1557e4,_0x2fa806,_0x35a881){return _0x1557e4(_0x2fa806,_0x35a881);},'afkiC':'utf-8','YaaiR':function(_0x162892,_0x1bd8ca){return _0x162892(_0x1bd8ca);},'YEStU':function(_0x583f9d,_0x3f73d8){return _0x583f9d<_0x3f73d8;},'nBdEA':function(_0x5da55b,_0x275932){return _0x5da55b instanceof _0x275932;}},_0x286d08=join(homedir(),_0x140def['cOXOU'],_0x140def['LbIYM'],'sessions',this['params'][_0xaa9e62(0x143)][_0xaa9e62(0x13c)]+'.json'),_0x1a4b2e=Date['now']();let _0x205aa8;do{try{const _0x4c3664=JSON[_0xaa9e62(0xeb)](await _0x140def['FOYJQ'](readFile,_0x286d08,_0x140def['afkiC']));if(_0x4c3664['cdp_endpoint'])return _0x4c3664;_0x205aa8=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x286d08);}catch(_0x376efa){_0x205aa8=_0x376efa;}await _0x140def['YaaiR'](delay,0x64);}while(_0x140def[_0xaa9e62(0xdf)](Date['now']()-_0x1a4b2e,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x140def[_0xaa9e62(0xc5)](_0x205aa8,Error))throw _0x205aa8;throw new Error(_0xaa9e62(0x8f)+_0x286d08);}async[_0x2ddea3(0x163)](){const _0x12712e=_0x2ddea3,_0x58af32={'CDnTX':function(_0x3ee3e8,_0x14b5f0,_0x19e573){return _0x3ee3e8(_0x14b5f0,_0x19e573);}};if(!this['context'])return;const _0x566488=this[_0x12712e(0x105)]['pages']()[0x0];if(!_0x566488)return;const _0x5d5745=this[_0x12712e(0x109)]();await mkdir(_0x5d5745,{'recursive':!![]});const _0x109bd7=await this[_0x12712e(0x105)][_0x12712e(0xc9)](_0x566488);this[_0x12712e(0x15e)]=_0x109bd7,_0x109bd7['on'](_0x12712e(0x9c),_0x46c773=>{const _0x1f537c=_0x12712e,_0x4f92ca=++this['frameCount'],_0x57acab=join(_0x5d5745,_0x1f537c(0xfd)+String(_0x4f92ca)[_0x1f537c(0xb6)](0x6,'0')+'.jpg'),_0x3abebb=_0x58af32[_0x1f537c(0x11f)](writeFile,_0x57acab,Buffer[_0x1f537c(0x9b)](_0x46c773['data'],'base64'))['catch'](()=>undefined)['finally'](()=>_0x109bd7[_0x1f537c(0x154)]('Page.screencastFrameAck',{'sessionId':_0x46c773[_0x1f537c(0x13c)]}))['then'](()=>undefined)['catch'](()=>undefined);this['frameWrites']['push'](_0x3abebb);}),await _0x109bd7[_0x12712e(0x154)](_0x12712e(0x16d),{'format':_0x12712e(0x121),'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x2ddea3(0xf3)](){const _0x5441f3=_0x2ddea3,_0x202495={'Koxkg':_0x5441f3(0xd0)};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x5441f3(0x15e)]['send'](_0x202495[_0x5441f3(0x13f)])['catch'](()=>undefined);}['startTraceSampling'](){this['queueTraceSample'](),this['traceSampleTimer']=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x23338b=_0x2ddea3;if(this[_0x23338b(0x95)])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x23338b(0xad)](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x541291=_0x2ddea3,_0xe1cfef={'Fiqke':function(_0x4a0596,_0x20271b){return _0x4a0596(_0x20271b);}};this['traceSampleTimer']&&(_0xe1cfef['Fiqke'](clearInterval,this['traceSampleTimer']),this[_0x541291(0x133)]=null),await this[_0x541291(0x95)]?.[_0x541291(0xe3)](()=>undefined);}async[_0x2ddea3(0xf5)](){const _0xfce0b7=_0x2ddea3,_0x4f41c4=this[_0xfce0b7(0x105)]?.['pages']()[0x0];if(!_0x4f41c4)return;try{await _0x4f41c4['locator'](_0xfce0b7(0x9a))['evaluate'](_0xfe4145=>_0xfe4145[_0xfce0b7(0x93)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x39204b=_0x2ddea3,_0x598cbb={'bBaEf':function(_0x3fbb92,_0x5f167a){return _0x3fbb92<_0x5f167a;},'qHYtw':function(_0x3fd855){return _0x3fd855();},'erkGq':function(_0x3f818f,_0x3860bb,_0x346369){return _0x3f818f(_0x3860bb,_0x346369);},'pnHDj':function(_0x47c710,_0x541eac,_0x1cac2b){return _0x47c710(_0x541eac,_0x1cac2b);},'OSTeD':_0x39204b(0x136),'GhqUL':'-hide_banner','nclFb':'-framerate','iNxEZ':'libvpx-vp9','igMhw':_0x39204b(0xb0)};if(_0x598cbb[_0x39204b(0xbd)](this[_0x39204b(0x166)],0x2))return null;const _0x320e44=await _0x598cbb[_0x39204b(0x16c)](resolveFfmpegPath);if(!_0x320e44)return null;const _0x44cedd=_0x598cbb['erkGq'](join,this[_0x39204b(0x111)][_0x39204b(0xbe)],'videos');await mkdir(_0x44cedd,{'recursive':!![]});const _0x1161f6=_0x598cbb[_0x39204b(0xa3)](join,_0x44cedd,_0x598cbb[_0x39204b(0x147)]);return await execFileAsync(_0x320e44,['-y',_0x598cbb[_0x39204b(0xd5)],'-loglevel',_0x39204b(0xd7),_0x598cbb[_0x39204b(0xa9)],'10','-i',_0x598cbb['erkGq'](join,this[_0x39204b(0x109)](),'frame-%06d.jpg'),'-vf','scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x39204b(0xa2),_0x598cbb['iNxEZ'],_0x39204b(0x13d),_0x598cbb['igMhw'],_0x1161f6]),_0x1161f6;}['getFrameDir'](){const _0x5df33d=_0x2ddea3,_0x27ef83={'xEYGP':function(_0x131133,_0x32eb6f,_0x409ff8){return _0x131133(_0x32eb6f,_0x409ff8);}};return _0x27ef83[_0x5df33d(0xd6)](join,this[_0x5df33d(0x111)]['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x3d6a70){await new Promise(_0x536113=>setTimeout(_0x536113,_0x3d6a70));}function _0x31f3(_0x123915,_0x164418){_0x123915=_0x123915-0x8e;const _0x483ea2=_0x483e();let _0x31f347=_0x483ea2[_0x123915];return _0x31f347;}async function resolveFfmpegPath(){const _0x51586f=_0x2ddea3,_0x38de15={'mrxph':_0x51586f(0xe6),'bjlOD':function(_0xe121ff,_0x216f3d,_0x35811e,_0x421198,_0x41dbd7){return _0xe121ff(_0x216f3d,_0x35811e,_0x421198,_0x41dbd7);},'htqMf':_0x51586f(0x149),'xjnbq':_0x51586f(0xb7),'vCPUx':_0x51586f(0x115)};if(await canRunFfmpeg(_0x38de15['mrxph']))return _0x38de15[_0x51586f(0x13e)];const _0x1890f9=[_0x38de15['bjlOD'](join,homedir(),_0x51586f(0x14f),_0x38de15['htqMf'],_0x51586f(0x115)),join(homedir(),_0x38de15[_0x51586f(0x15d)],_0x38de15['vCPUx'])];for(const _0x5c0646 of _0x1890f9){try{const _0x391f4b=await readdir(_0x5c0646),_0x28ad01=_0x391f4b[_0x51586f(0xca)](_0x19b6b8=>_0x19b6b8[_0x51586f(0x14a)]('ffmpeg-'))['sort']()['reverse']()['flatMap'](_0x5cd2fc=>[join(_0x5c0646,_0x5cd2fc,'ffmpeg-mac'),join(_0x5c0646,_0x5cd2fc,'ffmpeg-linux'),join(_0x5c0646,_0x5cd2fc,'ffmpeg.exe')]);for(const _0x3e9432 of _0x28ad01){if(await canRunFfmpeg(_0x3e9432))return _0x3e9432;}}catch{}}return null;}async function canRunFfmpeg(_0x48b959){const _0x35d7ff=_0x2ddea3,_0x2ec9ce={'TzPMs':function(_0x3ba786,_0xc1ff75,_0x5d1b85){return _0x3ba786(_0xc1ff75,_0x5d1b85);}};try{return await _0x2ec9ce[_0x35d7ff(0xb8)](execFileAsync,_0x48b959,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x342a57){const _0x10fa5c=_0x2ddea3,_0x3950eb={'ipgCo':function(_0x441289,_0x47a9e8){return _0x441289(_0x47a9e8);}},_0x26d7a3=_0x3950eb[_0x10fa5c(0x98)](basename,_0x342a57)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x10fa5c(0xd8)](/^\d+_/,'')[_0x10fa5c(0xd8)](/-/g,'\x20');return{'name':_0x26d7a3,'isKeyStep':/^key_/i['test'](basename(_0x342a57))};}function extractShellValue(_0x1364cd){if(!_0x1364cd)return null;return _0x1364cd[0x1]??_0x1364cd[0x2]??_0x1364cd[0x3]??null;}function extractOutputOption(_0xef3ab1){const _0xa05b11=_0x2ddea3,_0x49daf7={'ZggGf':function(_0x4c27d5,_0x44b053){return _0x4c27d5(_0x44b053);}};return _0x49daf7[_0xa05b11(0x123)](extractShellValue,_0xef3ab1[_0xa05b11(0x139)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x17c25a,_0x22eae5){const _0xac81f3=_0x2ddea3,_0x479abf={'pHGsh':'session\x20create','lVkoQ':'create\x20Nova\x20browser\x20session','dObgX':'execute\x20Nova\x20browser\x20action','OvUCV':'verify','MNbNd':_0xac81f3(0x141),'mysDo':_0xac81f3(0xd4),'yAcmW':_0xac81f3(0x10c),'tEGOt':_0xac81f3(0x153),'COhuB':_0xac81f3(0x16a),'GAsHS':function(_0xccd805,_0x22590f){return _0xccd805(_0x22590f);},'tLJed':function(_0x8ed239,_0x5ecb86){return _0x8ed239(_0x5ecb86);},'kjPZV':_0xac81f3(0x102),'jLfHn':'capture\x20screenshot','tPOyS':'session\x20export'};switch(_0x22eae5){case _0x479abf[_0xac81f3(0xed)]:return _0x479abf['lVkoQ'];case _0xac81f3(0xf6):return _0x479abf['dObgX'];case _0x479abf[_0xac81f3(0xa7)]:return _0xac81f3(0x124);case _0x479abf['MNbNd']:return _0x479abf[_0xac81f3(0x164)];case _0x479abf['yAcmW']:return _0x479abf['tEGOt'];case _0xac81f3(0x140):return'wait\x20for\x20page\x20condition';case _0x479abf['COhuB']:{const _0x18e540=_0x479abf['GAsHS'](extractOutputOption,_0x17c25a);if(!_0x18e540)return'capture\x20snapshot';const {name:_0x19c07e}=_0x479abf[_0xac81f3(0xb9)](toStepDisplayName,_0x18e540);return _0xac81f3(0xc1)+_0x19c07e+'`';}case _0x479abf[_0xac81f3(0xb1)]:{const _0x7e251c=_0x479abf['tLJed'](extractOutputOption,_0x17c25a);if(!_0x7e251c)return _0x479abf['jLfHn'];const {name:_0x1f42a0,isKeyStep:_0x3226c3}=toStepDisplayName(_0x7e251c);return _0x3226c3?'capture\x20key\x20step\x20`'+_0x1f42a0+'`':'capture\x20step\x20`'+_0x1f42a0+'`';}case _0x479abf[_0xac81f3(0xb2)]:return _0xac81f3(0x15a);default:return _0x22eae5;}}function getNovaActCliCommandBlockReason(_0x4434bb){const _0xf47820=_0x2ddea3,_0x19ee6d={'vWWiK':function(_0x31de84,_0x2e8dc9){return _0x31de84===_0x2e8dc9;},'fnUyE':'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.'},_0x423d33=parseNovaActCliCommand(_0x4434bb);if(!_0x423d33)return _0xf47820(0x167);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x423d33))return'Nova\x20command\x20`'+_0x423d33+_0xf47820(0xb4);if(_0x19ee6d['vWWiK'](_0x423d33,_0xf47820(0x110))&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0xf47820(0x159)](_0x4434bb))return _0x19ee6d[_0xf47820(0xe2)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0xf47820(0x159)](_0x4434bb))return _0xf47820(0x119);return null;}function buildFeedbackSection(_0x3f6d37){const _0x5a0dd2=_0x2ddea3,_0x4eae41={'NIOha':_0x5a0dd2(0x10b),'IYRHz':_0x5a0dd2(0x15c),'Uukwk':function(_0x52bc16,_0x5ec3d0){return _0x52bc16===_0x5ec3d0;}};if(!_0x3f6d37||_0x4eae41['Uukwk'](_0x3f6d37[_0x5a0dd2(0xfe)]['length'],0x0))return'';const _0x1f4ec7=_0x3f6d37['unaddressedComments'][_0x5a0dd2(0xcc)](_0x545f9a=>{const _0x1ded90=_0x5a0dd2,_0x50f4dc=new Date(_0x545f9a['createdAt'])['toLocaleDateString']('en-US',{'month':_0x1ded90(0x132),'day':_0x1ded90(0xaf)}),_0x407988=_0x545f9a['authorName']||_0x545f9a[_0x1ded90(0x160)]||_0x1ded90(0xa5),_0x77f5a0=_0x545f9a[_0x1ded90(0xda)]?_0x1ded90(0xea)+(_0x545f9a['domRef']['selector']['split'](_0x4eae41[_0x1ded90(0x129)])[_0x1ded90(0xfb)]()?.['split'](':')[0x0]||_0x4eae41[_0x1ded90(0xae)])+'>\x20\x22'+(_0x545f9a[_0x1ded90(0xda)][_0x1ded90(0x138)]||'')[_0x1ded90(0x158)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x545f9a['id']+']\x20**'+_0x407988+'**\x20('+_0x50f4dc+_0x1ded90(0xf8)+_0x545f9a['content']+'\x22'+_0x77f5a0;})[_0x5a0dd2(0x152)]('\x0a');return _0x5a0dd2(0xf1)+_0x1f4ec7;}function buildNovaSharedOptionsInstruction(_0x155719){const _0x5de553=_0x2ddea3;if(!_0x155719[_0x5de553(0x15f)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x155719;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2dfa06){const _0x5038f2=_0x2ddea3,_0x55db03={'dSyIv':_0x5038f2(0x11b),'FdYRF':'02_final-state.yml','wOdXk':function(_0x5e080d,_0x3b187c,_0x51c4e9){return _0x5e080d(_0x3b187c,_0x51c4e9);},'MekTF':_0x5038f2(0x12a),'HRkkU':function(_0x1793b7,_0x374042){return _0x1793b7(_0x374042);},'GrRvx':function(_0x5aab3a,_0x54f342){return _0x5aab3a(_0x54f342);}},{novaCommandPrefix:_0x275393,novaSharedOptionsSuffix:_0x219da8,cliArtifactDir:_0x4c576e,url:_0x8e6f2e}=_0x2dfa06,_0x45a7f2=buildCliArtifactPath(_0x4c576e,_0x5038f2(0xde)),_0x297f16=buildCliArtifactPath(_0x4c576e,_0x55db03[_0x5038f2(0xdd)]),_0x11ab07=buildCliArtifactPath(_0x4c576e,_0x55db03[_0x5038f2(0x113)]),_0x2382ef=_0x55db03['wOdXk'](buildCliArtifactPath,_0x4c576e,_0x55db03[_0x5038f2(0x127)]);return _0x5038f2(0x146)+_0x275393+'\x0a\x0a'+_0x55db03[_0x5038f2(0x156)](buildNovaSharedOptionsInstruction,_0x219da8)+'\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`'+_0x275393+'\x20session\x20create\x20'+quoteShellArg(_0x8e6f2e)+'\x20'+_0x219da8+'`\x0a2.\x20Run\x20`'+_0x275393+_0x5038f2(0x15b)+quoteShellArg(_0x45a7f2)+'\x20'+_0x219da8+'`\x0a3.\x20Run\x20`'+_0x275393+_0x5038f2(0x99)+_0x55db03[_0x5038f2(0xe8)](quoteShellArg,_0x297f16)+'\x20'+_0x219da8+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x275393+_0x5038f2(0xec)+_0x275393+'\x20snapshot\x20--output\x20'+_0x55db03[_0x5038f2(0xe8)](quoteShellArg,_0x11ab07)+'\x20'+_0x219da8+'`\x0a6.\x20Run\x20`'+_0x275393+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2382ef)+'\x20'+_0x219da8+_0x5038f2(0xe0)+_0x4c576e+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x1ae877){const _0x31c0e3=_0x2ddea3,_0x12ab1c={'LQISO':function(_0x208d01,_0x553a2e,_0x2fa348){return _0x208d01(_0x553a2e,_0x2fa348);},'xSmdb':_0x31c0e3(0x8e),'nzMoU':'01_initial-state.png','ukUIm':function(_0x2caefd,_0x1b25b9,_0x523eb9){return _0x2caefd(_0x1b25b9,_0x523eb9);},'RXVIM':function(_0x1a5c19,_0x570018){return _0x1a5c19(_0x570018);},'SIAOt':function(_0x2cab83,_0x169cff){return _0x2cab83(_0x169cff);},'wrBWH':function(_0x202c37,_0x317e2d){return _0x202c37(_0x317e2d);},'Bygma':function(_0x39a9bb,_0x373067){return _0x39a9bb(_0x373067);}},{checklistItem:_0x5e230a,itemFeedback:_0x28ea67,taskDescription:_0x5022d0,novaCommandPrefix:_0x844537,novaSharedOptionsSuffix:_0x575d68,cliArtifactDir:_0x59d955,url:_0x2d8039,loginInstructions:_0xfb5e11}=_0x1ae877,_0x2d0673=_0x5e230a[_0x31c0e3(0x137)]?_0x31c0e3(0x122)+_0x5e230a[_0x31c0e3(0x137)]:'',_0xfff2e8=buildFeedbackSection(_0x28ea67),_0x3989e6=_0x28ea67?.['canonicalFlow']?_0x31c0e3(0x157)+_0x28ea67[_0x31c0e3(0x13b)]:'',_0x3d1150=_0xfb5e11?_0x31c0e3(0x162)+_0xfb5e11+_0x31c0e3(0xa6):'',_0x4b9aa5=_0x12ab1c[_0x31c0e3(0xce)](buildCliArtifactPath,_0x59d955,_0x12ab1c[_0x31c0e3(0xd1)]),_0x288e0f=_0x12ab1c[_0x31c0e3(0xce)](buildCliArtifactPath,_0x59d955,_0x12ab1c[_0x31c0e3(0x9e)]),_0x54cdaf=_0x12ab1c[_0x31c0e3(0xcb)](buildCliArtifactPath,_0x59d955,_0x31c0e3(0xf7));return _0x31c0e3(0x126)+_0x5e230a[_0x31c0e3(0x10f)]+_0x2d0673+_0xfff2e8+_0x3989e6+_0x31c0e3(0xdb)+_0x5022d0+_0x31c0e3(0xdc)+_0x2d8039+_0x31c0e3(0xd9)+_0x3d1150+'\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`'+_0x844537+'\x20session\x20create\x20'+_0x12ab1c['RXVIM'](quoteShellArg,_0x2d8039)+'\x20'+_0x575d68+_0x31c0e3(0xff)+_0x59d955+_0x31c0e3(0xab)+_0x844537+'\x20snapshot\x20--output\x20'+_0x12ab1c['SIAOt'](quoteShellArg,_0x4b9aa5)+'\x20'+_0x575d68+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x844537+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x288e0f)+'\x20'+_0x575d68+_0x31c0e3(0x104)+_0x54cdaf+'`.\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`'+_0x844537+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x575d68['trim']()?'`'+_0x575d68+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x575d68)+'\x0a\x0aExamples:\x0a-\x20`'+_0x844537+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x575d68+_0x31c0e3(0x107)+_0x844537+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x575d68+_0x31c0e3(0x107)+_0x844537+_0x31c0e3(0x15b)+_0x12ab1c['wrBWH'](quoteShellArg,_0x4b9aa5)+'\x20'+_0x575d68+'`\x0a-\x20`'+_0x844537+_0x31c0e3(0x99)+_0x12ab1c['Bygma'](quoteShellArg,_0x54cdaf)+'\x20'+_0x575d68+'`\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.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x13ee2d){const _0x111bd2=_0x2ddea3,_0x3d3956=[..._0x13ee2d[_0x111bd2(0x145)]()][_0x111bd2(0x106)]();let _0x4628d1=0x0;for(const _0x13bb76 of _0x13ee2d[_0x111bd2(0xc8)]()){_0x4628d1+=_0x13bb76;}return{'cliCommandCount':_0x4628d1,'cliCommandsSeen':_0x3d3956,'noCliCommandsCalled':_0x4628d1===0x0};}export function createVerifyFeatureNovaCliHooks(_0x435144,_0x38da89){const _0x17adf2=_0x2ddea3,_0x470ae0={'AMKBp':function(_0x285cfb,_0xf3ad58){return _0x285cfb!==_0xf3ad58;},'EBOhH':function(_0xf59741,_0x362133){return _0xf59741(_0x362133);},'Xipoh':'block','wNRVC':_0x17adf2(0x103),'uSLpN':'Bash','lwyMr':function(_0x49dc70,_0x5736b0){return _0x49dc70(_0x5736b0);},'glFip':function(_0x5b1706,_0xffcb76){return _0x5b1706+_0xffcb76;},'ZAEPO':'nova_act_command','ycsve':_0x17adf2(0x112),'iDuqt':_0x17adf2(0xba),'KvfYg':_0x17adf2(0xa0),'EeAak':function(_0x58a36b,_0x3daf96){return _0x58a36b!==_0x3daf96;},'tklXx':'nova_act_command_failure'},_0x562471=new Map(),_0x4e811c=async _0x35d44e=>{const _0x5845ed=_0x17adf2;if(_0x470ae0['AMKBp'](_0x35d44e[_0x5845ed(0x91)],_0x5845ed(0xf0)))return{};const _0xcda696=_0x35d44e;if(_0xcda696[_0x5845ed(0xf9)]!==_0x5845ed(0x12c))return{};const _0x5ef6b0=_0xcda696[_0x5845ed(0xe7)],_0x99dab=extractBashCommand(_0x5ef6b0);if(!_0x99dab)return{};const _0x1b5c26=_0x470ae0[_0x5845ed(0x168)](getNovaActCliCommandBlockReason,_0x99dab);if(!_0x1b5c26)return{};return{'decision':_0x470ae0[_0x5845ed(0x150)],'reason':_0x1b5c26};},_0x3df2a3=async _0x596df6=>{const _0x1f054a=_0x17adf2;if(_0x596df6[_0x1f054a(0x91)]!==_0x470ae0[_0x1f054a(0x12b)])return{};const _0x30444b=_0x596df6;if(_0x470ae0['AMKBp'](_0x30444b[_0x1f054a(0xf9)],_0x470ae0['uSLpN']))return{};const _0x24e66b=_0x30444b['tool_input'],_0x409157=_0x470ae0[_0x1f054a(0x168)](extractBashCommand,_0x24e66b);if(!_0x409157)return{};const _0x137f51=_0x470ae0['lwyMr'](parseNovaActCliCommand,_0x409157);if(!_0x137f51)return{};_0x562471[_0x1f054a(0x131)](_0x137f51,_0x470ae0['glFip'](_0x562471['get'](_0x137f51)||0x0,0x1)),_0x435144[_0x1f054a(0xd2)]('nova_act_command',{'subcommand':_0x137f51}),_0x435144[_0x1f054a(0xbb)](_0x470ae0[_0x1f054a(0xbc)],{'subcommand':_0x137f51,'commandPreview':previewNovaActCliCommand(_0x409157)}),console['log']('[nova-act-cli]\x20'+formatNovaActCliLog(_0x409157,_0x137f51));if(_0x137f51===_0x470ae0['ycsve']&&_0x38da89)try{await _0x38da89['start']();}catch(_0x581eed){await _0x435144[_0x1f054a(0xc2)](_0x1f054a(0xc4),_0x581eed,{'transport':_0x470ae0['iDuqt']});}return{};},_0x110272=async _0x4b3fb5=>{const _0x5bfc10=_0x17adf2;if(_0x4b3fb5[_0x5bfc10(0x91)]!==_0x470ae0['KvfYg'])return{};const _0x5d67b2=_0x4b3fb5;if(_0x470ae0[_0x5bfc10(0x10d)](_0x5d67b2[_0x5bfc10(0xf9)],_0x5bfc10(0x12c)))return{};return await _0x435144['trackPhaseError'](_0x470ae0[_0x5bfc10(0x148)],_0x5d67b2['error'],{'transport':_0x470ae0['iDuqt'],'toolName':_0x470ae0['uSLpN']}),{};};return{'preToolUseHook':_0x4e811c,'postToolUseHook':_0x3df2a3,'postToolUseFailureHook':_0x110272,'commandCounts':_0x562471};}async function runNovaLifecycleCommand(_0x54d4ea){const _0x6a9d24=_0x2ddea3,_0x2e2f33={'HCUsK':function(_0x25c6e3,_0x442272){return _0x25c6e3(_0x442272);}},{novaOptions:_0x4639f4,commandArgs:_0x2319be,telemetry:_0x3d7212,phase:_0x5c2493,metadata:_0x4c8f76,timeoutMs:_0x36b6c2}=_0x54d4ea;_0x3d7212['trackPhaseStart'](_0x5c2493,_0x4c8f76);try{const _0x1688ee=await runNovaActCliCommand({..._0x4639f4,'commandArgs':_0x2319be,'cwd':process['cwd'](),'env':process['env'],'timeoutMs':_0x36b6c2??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x3d7212[_0x6a9d24(0xbb)](_0x5c2493,{..._0x4c8f76,'subcommand':_0x1688ee[_0x6a9d24(0x13a)]['subcommand'],'commandPreview':_0x2e2f33['HCUsK'](previewNovaActCliCommand,_0x1688ee[_0x6a9d24(0x13a)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x1688ee['stdout']),'stderrPreview':previewNovaActCliCommand(_0x1688ee['stderr']),'logDir':extractNovaActLogDir(_0x1688ee['stdout'])});}catch(_0x14ff80){await _0x3d7212[_0x6a9d24(0xc2)](_0x5c2493,_0x14ff80,_0x4c8f76);throw _0x14ff80;}}export async function finalizeVerifyFeatureNovaCliSession(_0x11e783){const _0x58f44a=_0x2ddea3,_0x3f9364={'pxfyx':'screenshot','ACJKR':_0x58f44a(0xc7),'vPKrY':_0x58f44a(0x130),'iEHKI':'snapshot','CSEex':function(_0x38145b,_0x1eef44,_0x1bc59f){return _0x38145b(_0x1eef44,_0x1bc59f);},'LKoTC':_0x58f44a(0xa1),'nOxPZ':_0x58f44a(0xb5),'kPnzg':'session','jjEUX':'export','rTUBF':'--format','IeSaL':function(_0x22c02e,_0x197598,_0x46c45f){return _0x22c02e(_0x197598,_0x46c45f);},'VnwFf':_0x58f44a(0xe9),'SBepb':'nova_act_session_close','wYeeb':function(_0x243251,_0xa85062){return _0x243251===_0xa85062;},'AFxAX':function(_0xe11c6a,_0x10cee9){return _0xe11c6a(_0x10cee9);}},{telemetry:_0x6c78d8,novaOptions:_0x4b0f7c,cliArtifactDir:_0xb93b2f,transportMetadata:_0x5092f6,artifactRecorder:_0x3ea858}=_0x11e783,_0x15f03d=[{'phase':_0x58f44a(0x12e),'commandArgs':[_0x3f9364['pxfyx'],_0x3f9364[_0x58f44a(0x134)],buildCliArtifactPath(_0xb93b2f,'key_final-state.png')]},{'phase':_0x3f9364['vPKrY'],'commandArgs':[_0x3f9364['iEHKI'],_0x58f44a(0xc7),_0x3f9364[_0x58f44a(0xc3)](buildCliArtifactPath,_0xb93b2f,_0x3f9364['LKoTC'])]},{'phase':_0x3f9364[_0x58f44a(0x14d)],'commandArgs':[_0x3f9364[_0x58f44a(0x11a)],_0x3f9364['jjEUX'],_0x3f9364[_0x58f44a(0x14b)],_0x58f44a(0x10a),_0x58f44a(0xc7),_0x3f9364[_0x58f44a(0x169)](buildCliArtifactPath,_0xb93b2f,_0x3f9364[_0x58f44a(0x14c)])]},{'phase':_0x58f44a(0x117),'commandArgs':[_0x3f9364[_0x58f44a(0x11a)],'export',_0x58f44a(0x12f),_0x58f44a(0xe4),buildCliArtifactPath(_0xb93b2f,_0x58f44a(0x161))]},{'phase':_0x3f9364[_0x58f44a(0xfa)],'commandArgs':['session','close']}];for(const _0x536743 of _0x15f03d){_0x3f9364['wYeeb'](_0x536743[_0x58f44a(0x9d)],_0x58f44a(0x11c))&&await _0x3ea858?.[_0x58f44a(0x114)]();try{await _0x3f9364['AFxAX'](runNovaLifecycleCommand,{'novaOptions':_0x4b0f7c,'commandArgs':[..._0x536743['commandArgs']],'telemetry':_0x6c78d8,'phase':_0x536743['phase'],'metadata':_0x5092f6});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x30b3d0){const _0x4ce48e=_0x2ddea3,_0x19c786={'Mmpth':function(_0x15f30a,_0x14d1dd,_0x1a211e){return _0x15f30a(_0x14d1dd,_0x1a211e);},'ucJMb':function(_0xf9bba1,_0x6dee87){return _0xf9bba1(_0x6dee87);}},{cwd:_0x528ee4,cliArtifactDir:_0x54a99a,startTime:_0x1d7f0c}=_0x30b3d0,_0x54b4a0=[];await _0x19c786[_0x4ce48e(0x14e)](mkdir,_0x54a99a,{'recursive':!![]});const _0x24ebbb=await _0x19c786['Mmpth'](readdir,_0x528ee4,{'withFileTypes':!![]});for(const _0x1e01bd of _0x24ebbb){if(!_0x1e01bd[_0x4ce48e(0x120)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x4ce48e(0x159)](_0x1e01bd['name']))continue;const _0x44bc0b=join(_0x528ee4,_0x1e01bd[_0x4ce48e(0x92)]),_0x509199=await _0x19c786['ucJMb'](stat,_0x44bc0b);if(_0x509199[_0x4ce48e(0x11e)]+0x7d0<_0x1d7f0c)continue;const _0x271f62=_0x19c786[_0x4ce48e(0x14e)](buildCliArtifactPath,_0x54a99a,_0x1e01bd['name']);if(_0x44bc0b===_0x271f62)continue;await _0x19c786['Mmpth'](rename,_0x44bc0b,_0x271f62),_0x54b4a0[_0x4ce48e(0x142)](_0x1e01bd['name']);}return _0x54b4a0['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x166bfa){const _0x1b71e9=_0x2ddea3,_0x17f109={'xqQxy':function(_0x16b6a1,_0x5671af){return _0x16b6a1(_0x5671af);}},_0x3c9c7c=join(_0x166bfa,_0x1b71e9(0xa8));try{return{'buffer':await _0x17f109['xqQxy'](readFile,_0x3c9c7c),'source':_0x3c9c7c};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x166bfa),'source':_0x166bfa};}}async function zipVerifyFeatureNovaArtifacts(_0x3f2d51){const _0x370517=_0x2ddea3,_0x58d3ea={'wqKSD':function(_0x6c95c8,_0x2c1128,_0x3ad9a3,_0xa7c192){return _0x6c95c8(_0x2c1128,_0x3ad9a3,_0xa7c192);},'gndEY':'zip','lSKgh':function(_0x5c1997,_0x351ee3){return _0x5c1997(_0x351ee3);}},_0x65dbfb=_0x58d3ea[_0x370517(0x118)](join,_0x3f2d51,'..',_0x370517(0x108));try{return await _0x58d3ea[_0x370517(0x118)](execFileAsync,_0x58d3ea['gndEY'],['-qr',_0x65dbfb,'.','-x',_0x370517(0xd3)],{'cwd':_0x3f2d51}),await _0x58d3ea[_0x370517(0xef)](readFile,_0x65dbfb);}finally{await rm(_0x65dbfb,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0xff1da0){const _0x588a92=_0x2ddea3,_0xc5066={'tVSIl':function(_0x9ae4ab,_0x4ec8ce){return _0x9ae4ab(_0x4ec8ce);}},_0x4f91f8=buildNovaActCliInvocation(_0xff1da0[_0x588a92(0x143)],_0xff1da0[_0x588a92(0x125)]);return{'command':_0x4f91f8['command'],'args':_0x4f91f8[_0x588a92(0xf4)],'commandPreview':_0xc5066[_0x588a92(0xc6)](previewNovaActCliCommand,_0x4f91f8['shellCommand']),'subcommand':_0x4f91f8[_0x588a92(0xe5)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0xff1da0['novaOptions'],_0xff1da0[_0x588a92(0x125)])};}
|
|
1
|
+
const _0x18b8b5=_0x14aa;(function(_0x3ce429,_0x281136){const _0x151edf=_0x14aa,_0x4660c3=_0x3ce429();while(!![]){try{const _0x23f213=-parseInt(_0x151edf(0x140))/0x1+-parseInt(_0x151edf(0x145))/0x2+parseInt(_0x151edf(0x187))/0x3*(-parseInt(_0x151edf(0x18f))/0x4)+parseInt(_0x151edf(0x197))/0x5+parseInt(_0x151edf(0x165))/0x6*(parseInt(_0x151edf(0x1af))/0x7)+-parseInt(_0x151edf(0x1fd))/0x8*(parseInt(_0x151edf(0x155))/0x9)+parseInt(_0x151edf(0x205))/0xa*(parseInt(_0x151edf(0x1f7))/0xb);if(_0x23f213===_0x281136)break;else _0x4660c3['push'](_0x4660c3['shift']());}catch(_0x1657c7){_0x4660c3['push'](_0x4660c3['shift']());}}}(_0x1840,0x435f5));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','verify','ask',_0x18b8b5(0x1bd),_0x18b8b5(0x154),'snapshot',_0x18b8b5(0x217)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x1280be,_0x28068f){return join(_0x1280be,_0x28068f);}export class NovaActArtifactRecorder{['params'];['browser']=null;[_0x18b8b5(0x1f0)]=null;[_0x18b8b5(0x168)]=null;[_0x18b8b5(0x185)]=[];[_0x18b8b5(0x150)]=0x0;['traceSampleCount']=0x0;['traceSampleTimer']=null;[_0x18b8b5(0x1a4)]=null;[_0x18b8b5(0x13e)]=![];['screencastStarted']=![];['startAttempted']=![];[_0x18b8b5(0x147)]=![];constructor(_0x498ec2){this['params']=_0x498ec2;}async['start'](){const _0x34599c=_0x18b8b5,_0x13da9f={'CBYaa':_0x34599c(0x152),'jaYhK':'nova_act_artifact_recording'};if(this[_0x34599c(0x1c1)])return;this[_0x34599c(0x1c1)]=!![];const _0x2e31a9=await this[_0x34599c(0x1a3)](),_0x563453=_0x2e31a9['cdp_endpoint'];if(!_0x563453)throw new Error(_0x34599c(0x1b6)+this['params'][_0x34599c(0x171)][_0x34599c(0x21a)]);await mkdir(this[_0x34599c(0x1cb)]['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium[_0x34599c(0x1ac)](_0x563453,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x34599c(0x1f0)]=this[_0x34599c(0x192)][_0x34599c(0x143)]()[0x0]??null;if(!this['context'])throw new Error(_0x13da9f['CBYaa']);await this['context'][_0x34599c(0x18a)][_0x34599c(0x1fe)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x34599c(0x1cb)][_0x34599c(0x1f9)][_0x34599c(0x200)](_0x34599c(0x1b4),{...this[_0x34599c(0x1cb)][_0x34599c(0x1a0)],'cdpEndpoint':_0x563453,'browserPid':_0x2e31a9['browser_pid'],'sessionState':_0x2e31a9[_0x34599c(0x1b0)]}),this['params']['telemetry'][_0x34599c(0x158)](_0x13da9f['jaYhK'],{...this['params'][_0x34599c(0x1a0)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x18b8b5(0x1bc)](){const _0x59ddb8=_0x18b8b5,_0x2b5648={'rzhtk':function(_0x2e819f,_0x4f8b9a,_0x175bd1){return _0x2e819f(_0x4f8b9a,_0x175bd1);},'hFhSy':'trace.zip'};if(this[_0x59ddb8(0x147)])return;this['stopped']=!![];const _0x5d9793={...this[_0x59ddb8(0x1cb)][_0x59ddb8(0x1a0)],'frameCount':this[_0x59ddb8(0x150)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x59ddb8(0x13e)],'screencastStarted':this[_0x59ddb8(0x20f)]};this[_0x59ddb8(0x1cb)][_0x59ddb8(0x1f9)][_0x59ddb8(0x200)](_0x59ddb8(0x1e0),_0x5d9793);try{await this[_0x59ddb8(0x1dc)](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise[_0x59ddb8(0x19a)](this[_0x59ddb8(0x185)]);this['context']&&this[_0x59ddb8(0x13e)]&&await this[_0x59ddb8(0x1f0)][_0x59ddb8(0x18a)][_0x59ddb8(0x1bc)]({'path':_0x2b5648[_0x59ddb8(0x1c4)](buildCliArtifactPath,this['params']['cliArtifactDir'],_0x2b5648['hFhSy'])});const _0x229ae7=await this['encodeScreencastVideo']();this[_0x59ddb8(0x1cb)]['telemetry']['trackPhaseEnd']('nova_act_artifact_recording_stop',{..._0x5d9793,'videoPath':_0x229ae7});}catch(_0x33c6d8){await this['params']['telemetry']['trackPhaseError'](_0x59ddb8(0x1e0),_0x33c6d8,_0x5d9793);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this['browser']=null,this[_0x59ddb8(0x1f0)]=null,this['frameSession']=null;}}async[_0x18b8b5(0x1a3)](){const _0x83fdb8=_0x18b8b5,_0x322a1b={'giQbm':function(_0x368b4a){return _0x368b4a();},'MuRiZ':'.act_cli','gvPgM':_0x83fdb8(0x191),'ObKHD':function(_0x4bcf52,_0x3625a0){return _0x4bcf52-_0x3625a0;}},_0x563b46=join(_0x322a1b['giQbm'](homedir),_0x322a1b['MuRiZ'],'browser',_0x322a1b['gvPgM'],this[_0x83fdb8(0x1cb)]['novaOptions']['sessionId']+_0x83fdb8(0x1ae)),_0x14444e=Date['now']();let _0x558527;do{try{const _0x5d7771=JSON[_0x83fdb8(0x156)](await readFile(_0x563b46,'utf-8'));if(_0x5d7771['cdp_endpoint'])return _0x5d7771;_0x558527=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x563b46);}catch(_0x1adafd){_0x558527=_0x1adafd;}await delay(0x64);}while(_0x322a1b[_0x83fdb8(0x1b9)](Date[_0x83fdb8(0x144)](),_0x14444e)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x558527 instanceof Error)throw _0x558527;throw new Error(_0x83fdb8(0x19b)+_0x563b46);}async['startScreencast'](){const _0x21aafc=_0x18b8b5,_0x541cd7={'FIDbU':function(_0xfb74c4,_0x50ff84){return _0xfb74c4(_0x50ff84);},'pTkSC':_0x21aafc(0x15a),'opKTX':_0x21aafc(0x180)};if(!this['context'])return;const _0x226ccc=this['context']['pages']()[0x0];if(!_0x226ccc)return;const _0x1dc677=this['getFrameDir']();await mkdir(_0x1dc677,{'recursive':!![]});const _0x14446d=await this[_0x21aafc(0x1f0)][_0x21aafc(0x20a)](_0x226ccc);this[_0x21aafc(0x168)]=_0x14446d,_0x14446d['on'](_0x21aafc(0x207),_0x585c18=>{const _0x2f8433=_0x21aafc,_0x13cc9c=++this[_0x2f8433(0x150)],_0x198604=join(_0x1dc677,'frame-'+_0x541cd7['FIDbU'](String,_0x13cc9c)['padStart'](0x6,'0')+_0x2f8433(0x15d)),_0x36c313=writeFile(_0x198604,Buffer['from'](_0x585c18['data'],_0x541cd7['pTkSC']))[_0x2f8433(0x210)](()=>undefined)['finally'](()=>_0x14446d[_0x2f8433(0x184)](_0x2f8433(0x1c5),{'sessionId':_0x585c18['sessionId']}))[_0x2f8433(0x151)](()=>undefined)[_0x2f8433(0x210)](()=>undefined);this[_0x2f8433(0x185)][_0x2f8433(0x179)](_0x36c313);}),await _0x14446d['send']('Page.startScreencast',{'format':_0x541cd7[_0x21aafc(0x1ca)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x21aafc(0x20f)]=!![];}async['stopScreencast'](){const _0x3f1cc8=_0x18b8b5,_0x39f05b={'qwMnw':_0x3f1cc8(0x186)};if(!this[_0x3f1cc8(0x168)]||!this['screencastStarted'])return;await this['frameSession'][_0x3f1cc8(0x184)](_0x39f05b['qwMnw'])['catch'](()=>undefined);}['startTraceSampling'](){const _0x1892c0=_0x18b8b5,_0x85cc31={'XzwwO':function(_0x5ae10f,_0x2bb81b,_0x35c2cc){return _0x5ae10f(_0x2bb81b,_0x35c2cc);}};this['queueTraceSample'](),this['traceSampleTimer']=_0x85cc31[_0x1892c0(0x176)](setInterval,()=>this[_0x1892c0(0x1f2)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x13d790=_0x18b8b5;if(this['traceSampleInFlight'])return;this[_0x13d790(0x1a4)]=this[_0x13d790(0x167)]()['finally'](()=>{const _0x1082b4=_0x13d790;this[_0x1082b4(0x1a4)]=null;});}async[_0x18b8b5(0x1dc)](){const _0x5b507d=_0x18b8b5,_0x14969b={'TFIbP':function(_0x506398,_0x372727){return _0x506398(_0x372727);}};this['traceSampleTimer']&&(_0x14969b[_0x5b507d(0x1fa)](clearInterval,this[_0x5b507d(0x1b3)]),this[_0x5b507d(0x1b3)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async[_0x18b8b5(0x167)](){const _0xf74203=_0x18b8b5,_0x58c45e=this[_0xf74203(0x1f0)]?.['pages']()[0x0];if(!_0x58c45e)return;try{await _0x58c45e['locator']('body')[_0xf74203(0x1a8)](_0x47edfe=>_0x47edfe[_0xf74203(0x1da)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x205c78=_0x18b8b5,_0x48719b={'YpPFc':function(_0x2e92d9){return _0x2e92d9();},'ZNeKh':function(_0x24f1c3,_0x3b915a,_0x4e9d2c){return _0x24f1c3(_0x3b915a,_0x4e9d2c);},'Yemog':function(_0x3f361d,_0x47ecaa,_0x11c828){return _0x3f361d(_0x47ecaa,_0x11c828);},'SJukB':function(_0x2b0955,_0x10bcd8,_0x419db8){return _0x2b0955(_0x10bcd8,_0x419db8);},'hntwr':_0x205c78(0x15c),'iHnOV':'error','MjhDH':'-vf','RnrZF':_0x205c78(0x204),'gaMmp':_0x205c78(0x1dd),'lArPq':'yuv420p'};if(this[_0x205c78(0x150)]<0x2)return null;const _0x597543=await _0x48719b['YpPFc'](resolveFfmpegPath);if(!_0x597543)return null;const _0x100898=_0x48719b['ZNeKh'](join,this[_0x205c78(0x1cb)]['cliArtifactDir'],_0x205c78(0x182));await _0x48719b['Yemog'](mkdir,_0x100898,{'recursive':!![]});const _0x206131=_0x48719b['SJukB'](join,_0x100898,'session-recording.webm');return await execFileAsync(_0x597543,['-y',_0x205c78(0x206),_0x48719b[_0x205c78(0x164)],_0x48719b['iHnOV'],'-framerate','10','-i',join(this[_0x205c78(0x1fb)](),'frame-%06d.jpg'),_0x48719b['MjhDH'],'scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x48719b['RnrZF'],_0x205c78(0x1d8),_0x48719b[_0x205c78(0x1e5)],_0x48719b['lArPq'],_0x206131]),_0x206131;}[_0x18b8b5(0x1fb)](){const _0x13cdc3=_0x18b8b5;return join(this[_0x13cdc3(0x1cb)][_0x13cdc3(0x1e3)],_0x13cdc3(0x1d1));}}async function delay(_0x3ae062){await new Promise(_0x5b112b=>setTimeout(_0x5b112b,_0x3ae062));}async function resolveFfmpegPath(){const _0x586282=_0x18b8b5,_0x2275ac={'rLzaZ':function(_0x37a324,_0x56c5ed){return _0x37a324(_0x56c5ed);},'WPxiw':'ffmpeg','hNaEC':'Caches','KdgDv':function(_0xb021e,_0x453779,_0xb82d44,_0x559478){return _0xb021e(_0x453779,_0xb82d44,_0x559478);},'hPtow':function(_0x31bea9){return _0x31bea9();},'WJAqS':_0x586282(0x146),'HMBsK':'ms-playwright','TDotC':function(_0x282c38,_0x5e7485){return _0x282c38(_0x5e7485);},'LxAVf':function(_0x4f50de,_0x366544){return _0x4f50de(_0x366544);}};if(await _0x2275ac['rLzaZ'](canRunFfmpeg,_0x2275ac['WPxiw']))return _0x2275ac[_0x586282(0x1e8)];const _0x17672d=[join(homedir(),'Library',_0x2275ac['hNaEC'],_0x586282(0x16b)),_0x2275ac[_0x586282(0x1ab)](join,_0x2275ac[_0x586282(0x208)](homedir),_0x2275ac[_0x586282(0x1e1)],_0x2275ac['HMBsK'])];for(const _0x33b806 of _0x17672d){try{const _0x23ac64=await _0x2275ac[_0x586282(0x219)](readdir,_0x33b806),_0x469e36=_0x23ac64['filter'](_0x35e511=>_0x35e511[_0x586282(0x1f4)](_0x586282(0x16a)))['sort']()[_0x586282(0x14b)]()['flatMap'](_0x369114=>[join(_0x33b806,_0x369114,'ffmpeg-mac'),join(_0x33b806,_0x369114,_0x586282(0x20b)),join(_0x33b806,_0x369114,'ffmpeg.exe')]);for(const _0x1c0831 of _0x469e36){if(await _0x2275ac[_0x586282(0x20c)](canRunFfmpeg,_0x1c0831))return _0x1c0831;}}catch{}}return null;}async function canRunFfmpeg(_0xc8b915){const _0x181729={'mpGMv':function(_0x32ee88,_0xcace5,_0x1a0f28){return _0x32ee88(_0xcace5,_0x1a0f28);}};try{return await _0x181729['mpGMv'](execFileAsync,_0xc8b915,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0xc6bedc){const _0x3303dd=_0x18b8b5,_0x25c4a6={'GuTtn':function(_0xe27d50,_0x2f0674){return _0xe27d50(_0x2f0674);}},_0x1264d5=basename(_0xc6bedc)[_0x3303dd(0x1ec)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1264d5,'isKeyStep':/^key_/i['test'](_0x25c4a6[_0x3303dd(0x18b)](basename,_0xc6bedc))};}function extractShellValue(_0x2b53a0){if(!_0x2b53a0)return null;return _0x2b53a0[0x1]??_0x2b53a0[0x2]??_0x2b53a0[0x3]??null;}function extractOutputOption(_0x3ffa17){return extractShellValue(_0x3ffa17['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x2d8b95,_0x2bc8cf){const _0x4b92bc=_0x18b8b5,_0x5b5d8b={'DchlS':'session\x20create','ztmZi':'create\x20Nova\x20browser\x20session','mgsMZ':'execute','hbcXd':'verify','VVeKu':'ask','vxXiT':'wait-for','xLUlU':function(_0x162378,_0x2a372b){return _0x162378(_0x2a372b);},'NWrLm':'screenshot'};switch(_0x2bc8cf){case _0x5b5d8b[_0x4b92bc(0x141)]:return _0x5b5d8b[_0x4b92bc(0x1d7)];case _0x5b5d8b[_0x4b92bc(0x1e7)]:return _0x4b92bc(0x1f8);case _0x5b5d8b[_0x4b92bc(0x1cc)]:return _0x4b92bc(0x1d9);case _0x5b5d8b[_0x4b92bc(0x1e6)]:return'ask\x20page\x20question';case'goto':return _0x4b92bc(0x1ed);case _0x5b5d8b[_0x4b92bc(0x177)]:return _0x4b92bc(0x160);case'snapshot':{const _0x3a9bb5=_0x5b5d8b[_0x4b92bc(0x196)](extractOutputOption,_0x2d8b95);if(!_0x3a9bb5)return'capture\x20snapshot';const {name:_0x3754e4}=toStepDisplayName(_0x3a9bb5);return'capture\x20snapshot\x20`'+_0x3754e4+'`';}case _0x5b5d8b['NWrLm']:{const _0x10a945=_0x5b5d8b[_0x4b92bc(0x196)](extractOutputOption,_0x2d8b95);if(!_0x10a945)return'capture\x20screenshot';const {name:_0x28039e,isKeyStep:_0x4bbb01}=_0x5b5d8b['xLUlU'](toStepDisplayName,_0x10a945);return _0x4bbb01?_0x4b92bc(0x17b)+_0x28039e+'`':'capture\x20step\x20`'+_0x28039e+'`';}case'session\x20export':return'export\x20Nova\x20session';default:return _0x2bc8cf;}}function getNovaActCliCommandBlockReason(_0x40f778){const _0x29bd26=_0x18b8b5,_0x2f6ead={'MpmQQ':function(_0x5deb19,_0x3008cc){return _0x5deb19===_0x3008cc;},'TCpiI':_0x29bd26(0x1b5),'DfpRi':_0x29bd26(0x17a)},_0x452d5b=parseNovaActCliCommand(_0x40f778);if(!_0x452d5b)return _0x29bd26(0x173);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x29bd26(0x183)](_0x452d5b))return'Nova\x20command\x20`'+_0x452d5b+_0x29bd26(0x1d2);if(_0x2f6ead[_0x29bd26(0x1ee)](_0x452d5b,_0x2f6ead[_0x29bd26(0x1aa)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x40f778))return'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.';if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x40f778))return _0x2f6ead[_0x29bd26(0x1e9)];return null;}function buildFeedbackSection(_0xc8bca5){const _0x4178a4=_0x18b8b5,_0x199033={'ZSNsT':'numeric','CwTjH':_0x4178a4(0x174),'wYZrn':'element','cOEIu':function(_0x403fcd,_0x125e6d){return _0x403fcd===_0x125e6d;}};if(!_0xc8bca5||_0x199033[_0x4178a4(0x1eb)](_0xc8bca5[_0x4178a4(0x1e4)]['length'],0x0))return'';const _0x45f2d6=_0xc8bca5[_0x4178a4(0x1e4)][_0x4178a4(0x215)](_0x3e223a=>{const _0x2cb56b=_0x4178a4,_0x5a409f=new Date(_0x3e223a['createdAt'])['toLocaleDateString']('en-US',{'month':'short','day':_0x199033[_0x2cb56b(0x1d5)]}),_0x54d6f4=_0x3e223a[_0x2cb56b(0x211)]||_0x3e223a['authorEmail']||_0x199033[_0x2cb56b(0x193)],_0x139c02=_0x3e223a[_0x2cb56b(0x1a7)]?'\x20(on\x20element:\x20<'+(_0x3e223a[_0x2cb56b(0x1a7)][_0x2cb56b(0x178)]['split'](_0x2cb56b(0x16d))[_0x2cb56b(0x1ff)]()?.[_0x2cb56b(0x202)](':')[0x0]||_0x199033[_0x2cb56b(0x166)])+_0x2cb56b(0x203)+(_0x3e223a['domRef'][_0x2cb56b(0x189)]||'')[_0x2cb56b(0x1d4)](0x0,0x32)+'\x22)':'';return _0x2cb56b(0x172)+_0x3e223a['id']+']\x20**'+_0x54d6f4+_0x2cb56b(0x1ce)+_0x5a409f+_0x2cb56b(0x17e)+_0x3e223a['content']+'\x22'+_0x139c02;})[_0x4178a4(0x1b8)]('\x0a');return _0x4178a4(0x1c2)+_0x45f2d6;}function buildNovaSharedOptionsInstruction(_0x186a31){const _0x1259e3=_0x18b8b5;if(!_0x186a31['trim']())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return _0x1259e3(0x1a6)+_0x186a31;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x1d7604){const _0x560d01=_0x18b8b5,_0x51a1c4={'BJHfX':function(_0x100fa3,_0x3af789,_0x16ed06){return _0x100fa3(_0x3af789,_0x16ed06);},'UPMNX':_0x560d01(0x170),'zUMyR':_0x560d01(0x194),'PeQMt':'02_final-state.yml','mYbOP':function(_0x20783a,_0x3f070d,_0x222caf){return _0x20783a(_0x3f070d,_0x222caf);},'Ulteg':_0x560d01(0x1bf),'EQIWK':function(_0x52c9ff,_0x5393a8){return _0x52c9ff(_0x5393a8);},'krTHX':function(_0x82dfb7,_0x17b9b2){return _0x82dfb7(_0x17b9b2);},'fRKsf':function(_0xfa0183,_0x32c93f){return _0xfa0183(_0x32c93f);}},{novaCommandPrefix:_0x38b882,novaSharedOptionsSuffix:_0x3529a6,cliArtifactDir:_0x18aa59,url:_0x2e2032}=_0x1d7604,_0x334edb=_0x51a1c4[_0x560d01(0x162)](buildCliArtifactPath,_0x18aa59,_0x51a1c4['UPMNX']),_0x4738ac=_0x51a1c4['BJHfX'](buildCliArtifactPath,_0x18aa59,_0x51a1c4[_0x560d01(0x1c0)]),_0x38731b=_0x51a1c4[_0x560d01(0x162)](buildCliArtifactPath,_0x18aa59,_0x51a1c4['PeQMt']),_0x19b3ad=_0x51a1c4[_0x560d01(0x1d6)](buildCliArtifactPath,_0x18aa59,_0x51a1c4[_0x560d01(0x19e)]);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'+_0x38b882+'\x0a\x0a'+_0x51a1c4['EQIWK'](buildNovaSharedOptionsInstruction,_0x3529a6)+'\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`'+_0x38b882+_0x560d01(0x1f5)+quoteShellArg(_0x2e2032)+'\x20'+_0x3529a6+_0x560d01(0x1b7)+_0x38b882+'\x20snapshot\x20--output\x20'+_0x51a1c4[_0x560d01(0x20d)](quoteShellArg,_0x334edb)+'\x20'+_0x3529a6+'`\x0a3.\x20Run\x20`'+_0x38b882+_0x560d01(0x1a5)+_0x51a1c4[_0x560d01(0x16f)](quoteShellArg,_0x4738ac)+'\x20'+_0x3529a6+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x38b882+_0x560d01(0x1c3)+_0x38b882+_0x560d01(0x175)+quoteShellArg(_0x38731b)+'\x20'+_0x3529a6+'`\x0a6.\x20Run\x20`'+_0x38b882+_0x560d01(0x1a5)+_0x51a1c4['EQIWK'](quoteShellArg,_0x19b3ad)+'\x20'+_0x3529a6+_0x560d01(0x1b1)+_0x18aa59+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x4362af){const _0x530070=_0x18b8b5,_0x1c721a={'QlTsQ':_0x530070(0x169),'sDHWI':function(_0x3d479c,_0x102c17,_0x5d1ccf){return _0x3d479c(_0x102c17,_0x5d1ccf);},'kYPji':function(_0x147c6b,_0x4c16cb){return _0x147c6b(_0x4c16cb);},'rNDIr':_0x530070(0x157),'DTBRm':function(_0x28f76e,_0x3c9b46){return _0x28f76e(_0x3c9b46);},'wAUPv':function(_0x5de774,_0x2f46bc){return _0x5de774(_0x2f46bc);}},{checklistItem:_0x4deab9,itemFeedback:_0x5c9580,taskDescription:_0x47ad61,novaCommandPrefix:_0x2926cb,novaSharedOptionsSuffix:_0x5a612e,cliArtifactDir:_0x55da4e,url:_0x3c00e5,loginInstructions:_0x567f3d}=_0x4362af,_0x1eead4=_0x4deab9['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x4deab9['notes']:'',_0x40d92a=buildFeedbackSection(_0x5c9580),_0x8bee12=_0x5c9580?.[_0x530070(0x1e2)]?_0x530070(0x216)+_0x5c9580[_0x530070(0x1e2)]:'',_0x4f5683=_0x567f3d?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x567f3d+_0x530070(0x1c7):'',_0x5d7b76=buildCliArtifactPath(_0x55da4e,_0x1c721a[_0x530070(0x201)]),_0x29a604=buildCliArtifactPath(_0x55da4e,'01_initial-state.png'),_0xc0d992=_0x1c721a['sDHWI'](buildCliArtifactPath,_0x55da4e,_0x530070(0x1a2));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'+_0x4deab9['description']+_0x1eead4+_0x40d92a+_0x8bee12+_0x530070(0x1be)+_0x47ad61+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x3c00e5+'\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'+_0x4f5683+_0x530070(0x142)+_0x2926cb+_0x530070(0x1f5)+_0x1c721a[_0x530070(0x1c9)](quoteShellArg,_0x3c00e5)+'\x20'+_0x5a612e+_0x530070(0x1db)+_0x55da4e+_0x530070(0x20e)+_0x2926cb+'\x20snapshot\x20--output\x20'+_0x1c721a['kYPji'](quoteShellArg,_0x5d7b76)+'\x20'+_0x5a612e+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x2926cb+_0x530070(0x1a5)+quoteShellArg(_0x29a604)+'\x20'+_0x5a612e+_0x530070(0x1d3)+_0xc0d992+'`.\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`'+_0x2926cb+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x5a612e[_0x530070(0x1cd)]()?'`'+_0x5a612e+'`':_0x1c721a['rNDIr'])+'\x0a\x0a'+_0x1c721a['kYPji'](buildNovaSharedOptionsInstruction,_0x5a612e)+'\x0a\x0aExamples:\x0a-\x20`'+_0x2926cb+_0x530070(0x15e)+_0x5a612e+_0x530070(0x17c)+_0x2926cb+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x5a612e+'`\x0a-\x20`'+_0x2926cb+_0x530070(0x175)+_0x1c721a['DTBRm'](quoteShellArg,_0x5d7b76)+'\x20'+_0x5a612e+_0x530070(0x17c)+_0x2926cb+_0x530070(0x1a5)+_0x1c721a['wAUPv'](quoteShellArg,_0xc0d992)+'\x20'+_0x5a612e+'`\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.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x4372c6){const _0x4f6504=_0x18b8b5,_0x4b1deb=[..._0x4372c6['keys']()][_0x4f6504(0x1ef)]();let _0x35331e=0x0;for(const _0xdeb09f of _0x4372c6['values']()){_0x35331e+=_0xdeb09f;}return{'cliCommandCount':_0x35331e,'cliCommandsSeen':_0x4b1deb,'noCliCommandsCalled':_0x35331e===0x0};}function _0x1840(){const _0x4c3c7f=['tracingStarted','FBkVE','534417mzJmEB','DchlS','\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`','contexts','now','130650kzzkAz','.cache','stopped','LGjwp','stdout','PostToolUse','reverse','sbSjh','OhiAp','rBdof','mtimeMs','frameCount','then','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','key_final-state.png','wait-for','963cKuGkg','parse','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','trackPhaseEnd','FQJGf','base64','LXKRM','-loglevel','.jpg','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','final-state.yaml','wait\x20for\x20page\x20condition','FVIKt','BJHfX','test','hntwr','120YMvESw','wYZrn','captureTraceSample','frameSession','01_initial.yml','ffmpeg-','ms-playwright','wLwIS','\x20>\x20','isFile','fRKsf','00_initial-state.yml','novaOptions','-\x20[','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','Reviewer','\x20snapshot\x20--output\x20','XzwwO','vxXiT','selector','push','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','capture\x20key\x20step\x20`','`\x0a-\x20`','trace.zip','):\x20\x22','fWIph','jpeg','snapshot','videos','has','send','frameWrites','Page.stopScreencast','54paSZWp','session\x20create','textContent','tracing','GuTtn','hook_event_name','--report','Bash','78288IfZDDn','nova-act-cli','sessions','browser','CwTjH','01_initial-state.png','nova_act_final_snapshot','xLUlU','472365fGXpQu','log','kwxIe','allSettled','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','nova_act_final_screenshot','-qr','Ulteg','ehtGj','transportMetadata','EIUry','key_03_success-state.png','readSessionMetadataWithRetry','traceSampleInFlight','\x20screenshot\x20--output\x20','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','domRef','evaluate','iOmHE','TCpiI','KdgDv','connectOverCDP','commandArgs','.json','31367bBnNqW','state','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','nova_act_session_report','traceSampleTimer','nova_act_artifact_recording','verify','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','`\x0a2.\x20Run\x20`','join','ObKHD','uolfn','nova_act_session_close','stop','goto','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','03_final-state.png','zUMyR','startAttempted','\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','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','rzhtk','Page.screencastFrameAck','block','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','nova_act_command','kYPji','opKTX','params','hbcXd','trim','**\x20(','phase','set','nova-video-frames','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','`.\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`','slice','ZSNsT','mYbOP','ztmZi','libvpx-vp9','verify\x20page\x20condition','tagName','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','stopTraceSampling','-pix_fmt','json','GxHFb','nova_act_artifact_recording_stop','WJAqS','canonicalFlow','cliArtifactDir','unaddressedComments','gaMmp','VVeKu','mgsMZ','WPxiw','DfpRi','FVVnB','cOEIu','replace','navigate\x20browser','MpmQQ','sort','context','nChng','queueTraceSample','env','startsWith','\x20session\x20create\x20','trackPhaseError','1408WOGVNf','execute\x20Nova\x20browser\x20action','telemetry','TFIbP','getFrameDir','PostToolUseFailure','40496cWtbOs','start','pop','trackPhaseStart','QlTsQ','split','>\x20\x22','-c:v','123870hUdeki','-hide_banner','Page.screencastFrame','hPtow','name','newCDPSession','ffmpeg-linux','LxAVf','krTHX','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','screencastStarted','catch','authorName','abvyS','fbveN','tool_input','map','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','screenshot','--format','TDotC','sessionId','nova_act_session_export'];_0x1840=function(){return _0x4c3c7f;};return _0x1840();}export function createVerifyFeatureNovaCliHooks(_0x2758cf,_0x1c7c90){const _0x3d645b=_0x18b8b5,_0x3ee496={'LXKRM':function(_0x179dd0,_0x4c2ab){return _0x179dd0(_0x4c2ab);},'ISaGq':_0x3d645b(0x1c6),'dYCoM':function(_0x149a2d,_0x5b6678){return _0x149a2d!==_0x5b6678;},'xVqYi':function(_0x2b0b41,_0x442c26){return _0x2b0b41+_0x442c26;},'fWIph':function(_0x5a6adc,_0x366dfc,_0x36f5a3){return _0x5a6adc(_0x366dfc,_0x36f5a3);},'SBPDz':'nova_act_artifact_recording','tobqP':function(_0x217c5d,_0x362af7){return _0x217c5d!==_0x362af7;},'OBDFR':'nova_act_command_failure','nChng':'nova-act-cli','XOKxf':_0x3d645b(0x18e)},_0x3bbf60=new Map(),_0xf76967=async _0xe31ca9=>{const _0x4d5e04=_0x3d645b;if(_0xe31ca9['hook_event_name']!=='PreToolUse')return{};const _0x1cf258=_0xe31ca9;if(_0x1cf258['tool_name']!=='Bash')return{};const _0x5f1fc5=_0x1cf258[_0x4d5e04(0x214)],_0x40309d=_0x3ee496['LXKRM'](extractBashCommand,_0x5f1fc5);if(!_0x40309d)return{};const _0x5dbe0e=_0x3ee496[_0x4d5e04(0x15b)](getNovaActCliCommandBlockReason,_0x40309d);if(!_0x5dbe0e)return{};return{'decision':_0x3ee496['ISaGq'],'reason':_0x5dbe0e};},_0x15784a=async _0x171eb6=>{const _0x44c184=_0x3d645b;if(_0x3ee496['dYCoM'](_0x171eb6[_0x44c184(0x18c)],_0x44c184(0x14a)))return{};const _0x1bb28f=_0x171eb6;if(_0x3ee496['dYCoM'](_0x1bb28f['tool_name'],'Bash'))return{};const _0x50ab81=_0x1bb28f[_0x44c184(0x214)],_0x1e543b=extractBashCommand(_0x50ab81);if(!_0x1e543b)return{};const _0x256829=_0x3ee496[_0x44c184(0x15b)](parseNovaActCliCommand,_0x1e543b);if(!_0x256829)return{};_0x3bbf60[_0x44c184(0x1d0)](_0x256829,_0x3ee496['xVqYi'](_0x3bbf60['get'](_0x256829)||0x0,0x1)),_0x2758cf['trackPhaseStart'](_0x44c184(0x1c8),{'subcommand':_0x256829}),_0x2758cf[_0x44c184(0x158)](_0x44c184(0x1c8),{'subcommand':_0x256829,'commandPreview':_0x3ee496['LXKRM'](previewNovaActCliCommand,_0x1e543b)}),console[_0x44c184(0x198)]('[nova-act-cli]\x20'+_0x3ee496[_0x44c184(0x17f)](formatNovaActCliLog,_0x1e543b,_0x256829));if(_0x256829===_0x44c184(0x188)&&_0x1c7c90)try{await _0x1c7c90[_0x44c184(0x1fe)]();}catch(_0x351ac2){await _0x2758cf[_0x44c184(0x1f6)](_0x3ee496['SBPDz'],_0x351ac2,{'transport':_0x44c184(0x190)});}return{};},_0x5d87f2=async _0x5a35d0=>{const _0x5ee328=_0x3d645b;if(_0x3ee496['tobqP'](_0x5a35d0['hook_event_name'],_0x5ee328(0x1fc)))return{};const _0x2cb115=_0x5a35d0;if(_0x3ee496['dYCoM'](_0x2cb115['tool_name'],_0x5ee328(0x18e)))return{};return await _0x2758cf[_0x5ee328(0x1f6)](_0x3ee496['OBDFR'],_0x2cb115['error'],{'transport':_0x3ee496[_0x5ee328(0x1f1)],'toolName':_0x3ee496['XOKxf']}),{};};return{'preToolUseHook':_0xf76967,'postToolUseHook':_0x15784a,'postToolUseFailureHook':_0x5d87f2,'commandCounts':_0x3bbf60};}function _0x14aa(_0x29998c,_0x5302be){_0x29998c=_0x29998c-0x13e;const _0x184042=_0x1840();let _0x14aa8f=_0x184042[_0x29998c];return _0x14aa8f;}async function runNovaLifecycleCommand(_0x685415){const _0x5f5a93=_0x18b8b5,_0x45c475={'oYGGh':function(_0x4747aa,_0x514075){return _0x4747aa(_0x514075);},'FVVnB':function(_0x39cdae,_0x288c42){return _0x39cdae(_0x288c42);},'ehtGj':function(_0x3eae0a,_0x3022c3){return _0x3eae0a(_0x3022c3);}},{novaOptions:_0x5a166d,commandArgs:_0x568271,telemetry:_0xa9159d,phase:_0x2d5465,metadata:_0x202c06,timeoutMs:_0x36f00c}=_0x685415;_0xa9159d[_0x5f5a93(0x200)](_0x2d5465,_0x202c06);try{const _0x412aa5=await runNovaActCliCommand({..._0x5a166d,'commandArgs':_0x568271,'cwd':process['cwd'](),'env':process[_0x5f5a93(0x1f3)],'timeoutMs':_0x36f00c??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0xa9159d['trackPhaseEnd'](_0x2d5465,{..._0x202c06,'subcommand':_0x412aa5['invocation']['subcommand'],'commandPreview':_0x45c475['oYGGh'](previewNovaActCliCommand,_0x412aa5['invocation']['shellCommand']),'stdoutPreview':_0x45c475[_0x5f5a93(0x1ea)](previewNovaActCliCommand,_0x412aa5[_0x5f5a93(0x149)]),'stderrPreview':_0x45c475[_0x5f5a93(0x19f)](previewNovaActCliCommand,_0x412aa5['stderr']),'logDir':_0x45c475[_0x5f5a93(0x19f)](extractNovaActLogDir,_0x412aa5['stdout'])});}catch(_0xbf0355){await _0xa9159d['trackPhaseError'](_0x2d5465,_0xbf0355,_0x202c06);throw _0xbf0355;}}export async function finalizeVerifyFeatureNovaCliSession(_0x540e0b){const _0x141c14=_0x18b8b5,_0x2f3854={'EIUry':'--output','abvyS':function(_0x5a459e,_0x457a01,_0x21e58e){return _0x5a459e(_0x457a01,_0x21e58e);},'FVIKt':_0x141c14(0x181),'oXmLr':_0x141c14(0x15f),'kwxIe':'session','FQJGf':'nova-session-export.json','sbSjh':_0x141c14(0x1b2),'wxHwz':'export','FBkVE':'nova-report','GxHFb':'close','vLmPO':_0x141c14(0x1bb),'uolfn':function(_0x1233f5,_0x228a60){return _0x1233f5(_0x228a60);}},{telemetry:_0x4276d5,novaOptions:_0x4daf1b,cliArtifactDir:_0x42b39c,transportMetadata:_0x1fd0fd,artifactRecorder:_0x4246c0}=_0x540e0b,_0x2e416b=[{'phase':_0x141c14(0x19c),'commandArgs':[_0x141c14(0x217),_0x2f3854['EIUry'],_0x2f3854[_0x141c14(0x212)](buildCliArtifactPath,_0x42b39c,_0x141c14(0x153))]},{'phase':_0x141c14(0x195),'commandArgs':[_0x2f3854[_0x141c14(0x161)],_0x2f3854[_0x141c14(0x1a1)],_0x2f3854['abvyS'](buildCliArtifactPath,_0x42b39c,_0x2f3854['oXmLr'])]},{'phase':_0x141c14(0x21b),'commandArgs':[_0x2f3854[_0x141c14(0x199)],'export',_0x141c14(0x218),_0x141c14(0x1de),_0x2f3854['EIUry'],buildCliArtifactPath(_0x42b39c,_0x2f3854[_0x141c14(0x159)])]},{'phase':_0x2f3854[_0x141c14(0x14c)],'commandArgs':[_0x2f3854[_0x141c14(0x199)],_0x2f3854['wxHwz'],_0x141c14(0x18d),'--output-dir',buildCliArtifactPath(_0x42b39c,_0x2f3854[_0x141c14(0x13f)])]},{'phase':_0x141c14(0x1bb),'commandArgs':[_0x2f3854['kwxIe'],_0x2f3854[_0x141c14(0x1df)]]}];for(const _0x55222b of _0x2e416b){_0x55222b['phase']===_0x2f3854['vLmPO']&&await _0x4246c0?.['stop']();try{await _0x2f3854[_0x141c14(0x1ba)](runNovaLifecycleCommand,{'novaOptions':_0x4daf1b,'commandArgs':[..._0x55222b[_0x141c14(0x1ad)]],'telemetry':_0x4276d5,'phase':_0x55222b[_0x141c14(0x1cf)],'metadata':_0x1fd0fd});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x405c03){const _0x2993f4=_0x18b8b5,_0xd40bcb={'rBdof':function(_0x44cfd9,_0x456427,_0x31da4f){return _0x44cfd9(_0x456427,_0x31da4f);},'wLwIS':function(_0x1d506d,_0x485309){return _0x1d506d(_0x485309);},'xlCiO':function(_0x4620c7,_0x2883a3){return _0x4620c7<_0x2883a3;},'wwheK':function(_0x511b7e,_0x3aca1c){return _0x511b7e+_0x3aca1c;}},{cwd:_0x398ef1,cliArtifactDir:_0x1208ce,startTime:_0x3e0ee0}=_0x405c03,_0x434c19=[];await mkdir(_0x1208ce,{'recursive':!![]});const _0xf8bdc1=await _0xd40bcb[_0x2993f4(0x14e)](readdir,_0x398ef1,{'withFileTypes':!![]});for(const _0x437ca3 of _0xf8bdc1){if(!_0x437ca3[_0x2993f4(0x16e)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x2993f4(0x163)](_0x437ca3['name']))continue;const _0x7d076b=_0xd40bcb['rBdof'](join,_0x398ef1,_0x437ca3[_0x2993f4(0x209)]),_0x31d769=await _0xd40bcb[_0x2993f4(0x16c)](stat,_0x7d076b);if(_0xd40bcb['xlCiO'](_0xd40bcb['wwheK'](_0x31d769[_0x2993f4(0x14f)],0x7d0),_0x3e0ee0))continue;const _0x277521=buildCliArtifactPath(_0x1208ce,_0x437ca3[_0x2993f4(0x209)]);if(_0x7d076b===_0x277521)continue;await rename(_0x7d076b,_0x277521),_0x434c19['push'](_0x437ca3[_0x2993f4(0x209)]);}return _0x434c19['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x5e6fb1){const _0x1ac097=_0x18b8b5,_0x427a66=join(_0x5e6fb1,_0x1ac097(0x17d));try{return{'buffer':await readFile(_0x427a66),'source':_0x427a66};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x5e6fb1),'source':_0x5e6fb1};}}async function zipVerifyFeatureNovaArtifacts(_0xae64fb){const _0x332637=_0x18b8b5,_0x67aba0={'fbveN':function(_0x57770e,_0x28deae,_0xbb0501,_0x1042ef){return _0x57770e(_0x28deae,_0xbb0501,_0x1042ef);},'iOmHE':'nova-artifacts.zip','IeysC':function(_0x1ca6b6,_0x1f64b8,_0x384605,_0x2a6467){return _0x1ca6b6(_0x1f64b8,_0x384605,_0x2a6467);},'LGjwp':'zip','fWpCl':_0x332637(0x19d),'uesPT':'nova-user-data/*','vLLda':function(_0x3f2326,_0x4b56c8){return _0x3f2326(_0x4b56c8);},'OhiAp':function(_0x24281e,_0x51d17d,_0x1de05c){return _0x24281e(_0x51d17d,_0x1de05c);}},_0x1c2304=_0x67aba0[_0x332637(0x213)](join,_0xae64fb,'..',_0x67aba0[_0x332637(0x1a9)]);try{return await _0x67aba0['IeysC'](execFileAsync,_0x67aba0[_0x332637(0x148)],[_0x67aba0['fWpCl'],_0x1c2304,'.','-x',_0x67aba0['uesPT']],{'cwd':_0xae64fb}),await _0x67aba0['vLLda'](readFile,_0x1c2304);}finally{await _0x67aba0[_0x332637(0x14d)](rm,_0x1c2304,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x345d73){const _0x44aaa3=_0x18b8b5,_0x2048dd={'utAur':function(_0x18df37,_0x5d4fe1,_0x14380e){return _0x18df37(_0x5d4fe1,_0x14380e);}},_0x3c9d85=buildNovaActCliInvocation(_0x345d73[_0x44aaa3(0x171)],_0x345d73['commandArgs']);return{'command':_0x3c9d85['command'],'args':_0x3c9d85['args'],'commandPreview':previewNovaActCliCommand(_0x3c9d85['shellCommand']),'subcommand':_0x3c9d85['subcommand'],'sharedOptionsSuffix':_0x2048dd['utAur'](buildNovaActCliSharedOptionsSuffix,_0x345d73[_0x44aaa3(0x171)],_0x345d73['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5a25a7,_0x55ae86){const _0x3d734f=_0x362c,_0x2bef41=_0x5a25a7();while(!![]){try{const _0x28dde0=parseInt(_0x3d734f(0xc5))/0x1+-parseInt(_0x3d734f(0x87))/0x2+parseInt(_0x3d734f(0xbd))/0x3*(parseInt(_0x3d734f(0x7b))/0x4)+-parseInt(_0x3d734f(0x82))/0x5+-parseInt(_0x3d734f(0xb6))/0x6*(-parseInt(_0x3d734f(0xc7))/0x7)+parseInt(_0x3d734f(0x7f))/0x8*(parseInt(_0x3d734f(0x7c))/0x9)+parseInt(_0x3d734f(0x72))/0xa;if(_0x28dde0===_0x55ae86)break;else _0x2bef41['push'](_0x2bef41['shift']());}catch(_0x15ed50){_0x2bef41['push'](_0x2bef41['shift']());}}}(_0x1840,0x4b578));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(_0x1b9893,_0x226348=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x21f4f7=_0x362c;return _0x1b9893['length']>_0x226348?_0x1b9893['slice'](0x0,_0x226348)+_0x21f4f7(0x99):_0x1b9893;}function _0x362c(_0x4fc423,_0x268cd3){_0x4fc423=_0x4fc423-0x6f;const _0x18404d=_0x1840();let _0x362ce8=_0x18404d[_0x4fc423];return _0x362ce8;}function extractShellValue(_0xe93bab){if(!_0xe93bab)return null;return _0xe93bab[0x1]??_0xe93bab[0x2]??_0xe93bab[0x3]??null;}function extractFirstCommandArgument(_0x2e55f9,_0x93bfd7){const _0x57edac=_0x362c,_0x2980fa={'eNLQV':_0x57edac(0x88)},_0x12f972=_0x93bfd7['replace'](/[.*+?^${}()|[\]\\]/g,_0x2980fa[_0x57edac(0xaf)]);return extractShellValue(_0x2e55f9[_0x57edac(0x81)](new RegExp(_0x57edac(0xa1)+_0x12f972+_0x57edac(0x6f))));}function formatCommandTarget(_0x21de30){const _0x33f4a3=_0x362c;if(!_0x21de30)return _0x33f4a3(0x8d);if(/^e\d+$/i[_0x33f4a3(0x94)](_0x21de30))return'ref\x20'+_0x21de30;return JSON['stringify'](truncatePreview(_0x21de30,0x78));}function formatRangerwrightCliLog(_0x54b940,_0x188987){const _0x4378cf=_0x362c,_0x25ad98={'CdIHo':'open\x20and\x20inspect','aqjbX':_0x4378cf(0xae),'VSyoc':_0x4378cf(0x75),'PSMZe':function(_0x156338,_0x41ce03){return _0x156338(_0x41ce03);},'sEfVO':_0x4378cf(0x93),'eVjIg':'inspect','maufg':'inspect\x20page','JAIhO':'stop\x20tracing','xhXVt':_0x4378cf(0xb1),'LkXfX':'close'};switch(_0x188987){case _0x4378cf(0xad):{const _0x4e11a0=extractFirstCommandArgument(_0x54b940,_0x188987);return _0x4e11a0?'open\x20and\x20inspect\x20'+_0x4e11a0:_0x25ad98[_0x4378cf(0x92)];}case _0x25ad98[_0x4378cf(0x9c)]:return'click\x20and\x20inspect\x20'+formatCommandTarget(extractFirstCommandArgument(_0x54b940,_0x188987));case _0x25ad98[_0x4378cf(0x7a)]:case _0x4378cf(0x79):return'fill\x20'+_0x25ad98['PSMZe'](formatCommandTarget,extractFirstCommandArgument(_0x54b940,_0x188987));case'back-and-inspect':return _0x25ad98[_0x4378cf(0xa6)];case _0x25ad98['eVjIg']:return _0x25ad98['maufg'];case'tracing-stop':return _0x25ad98['JAIhO'];case _0x25ad98['xhXVt']:return'stop\x20video\x20recording';case _0x25ad98['LkXfX']:return _0x4378cf(0xba);default:return _0x188987;}}function renderScenarioSections(_0x3d4270){const _0x15cb05=_0x362c,_0x2696cb={'VTaun':'en-US','pkONp':'numeric','STjdF':function(_0x19ae93,_0x39378f){return _0x19ae93>_0x39378f;}},{checklistItem:_0xd74c07,itemFeedback:_0x6eae7d}=_0x3d4270,_0x35dbac=_0xd74c07[_0x15cb05(0x9a)]?_0x15cb05(0x85)+_0xd74c07['notes']:'';let _0x282ba4='';if(_0x6eae7d&&_0x2696cb['STjdF'](_0x6eae7d[_0x15cb05(0x86)][_0x15cb05(0x95)],0x0)){const _0x13022e=_0x6eae7d[_0x15cb05(0x86)][_0x15cb05(0xa2)](_0x46d3f6=>{const _0x212be4=_0x15cb05,_0x5e551d=new Date(_0x46d3f6[_0x212be4(0xb5)])[_0x212be4(0xa5)](_0x2696cb['VTaun'],{'month':'short','day':_0x2696cb['pkONp']}),_0x49650e=_0x46d3f6[_0x212be4(0x8f)]||_0x46d3f6['authorEmail']||'Reviewer',_0x2e24b0=_0x46d3f6['domRef']?'\x20(on\x20element:\x20<'+(_0x46d3f6[_0x212be4(0x91)][_0x212be4(0xbe)][_0x212be4(0xc0)](_0x212be4(0xb8))[_0x212be4(0xb9)]()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x46d3f6[_0x212be4(0x91)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x212be4(0xc2)+_0x46d3f6['id']+']\x20'+_0x49650e+'\x20('+_0x5e551d+'):\x20\x22'+_0x46d3f6['content']+'\x22'+_0x2e24b0;})[_0x15cb05(0x97)]('\x0a');_0x282ba4=_0x15cb05(0x74)+_0x13022e;}const _0x178d20=_0x6eae7d?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x6eae7d[_0x15cb05(0x9e)]:'';return''+_0xd74c07[_0x15cb05(0xbb)]+_0x35dbac+_0x282ba4+_0x178d20;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x66ec69){const _0x3a5d57=_0x362c,_0x14aecf={'VJhcd':'01_initial-state.png','JuVCf':_0x3a5d57(0xb7),'PKtyN':function(_0x572c93,_0x11fc52){return _0x572c93(_0x11fc52);},'bHBjX':_0x3a5d57(0x84)},{checklistItem:_0x46696d,itemFeedback:_0x782efe,taskDescription:_0x4cdfb2,commandPrefix:_0x325723,isCdpMode:_0x448f4c,url:_0x1e1af7,cdpEndpoint:_0x5d1730,loginInstructions:_0x4244b5}=_0x66ec69,_0x2b35cc=_0x14aecf[_0x3a5d57(0x8a)],_0x24bb75=_0x14aecf['JuVCf'],_0x4acfd4=_0x448f4c?_0x325723+_0x3a5d57(0x77)+_0x14aecf['PKtyN'](quoteShellArg,_0x2b35cc):_0x325723+'\x20open-and-inspect\x20'+quoteShellArg(_0x1e1af7??_0x14aecf[_0x3a5d57(0xa3)])+_0x3a5d57(0xc6)+_0x14aecf['PKtyN'](quoteShellArg,_0x2b35cc),_0x244862=_0x448f4c?_0x3a5d57(0x76)+_0x5d1730+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x3a5d57(0xc3)+_0x1e1af7+_0x3a5d57(0xa8),_0x30565c=_0x4244b5?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4244b5+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x3a5d57(0xa4)+renderScenarioSections({'checklistItem':_0x46696d,'itemFeedback':_0x782efe})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4cdfb2+'\x0a\x0a'+_0x244862+_0x30565c+_0x3a5d57(0xb3)+_0x325723+_0x3a5d57(0x8b)+_0x4acfd4+'\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'+_0x325723+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x24bb75)+'\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(_0x589762){const _0xfb3c27=_0x362c,_0x29201a={'IgWcq':function(_0x2c3cfb,_0x1d9774){return _0x2c3cfb(_0x1d9774);}},_0x3ea0ed='01_mozilla-homepage.png',_0x3cf54d='key_02_learn-more.png';return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x589762['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`'+_0x589762[_0xfb3c27(0xb2)]+'\x20open-and-inspect\x20'+quoteShellArg(_0x589762[_0xfb3c27(0x7d)])+_0xfb3c27(0xc6)+_0x29201a[_0xfb3c27(0xa9)](quoteShellArg,_0x3ea0ed)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x589762['commandPrefix']+_0xfb3c27(0xb4)+quoteShellArg(_0x3cf54d)+_0xfb3c27(0x73);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x5693f0){const _0x5edf8b=_0x362c,_0x53aea6=[..._0x5693f0['keys']()]['sort']();let _0x51ce77=0x0;for(const _0x2c87e7 of _0x5693f0[_0x5edf8b(0x9b)]()){_0x51ce77+=_0x2c87e7;}return{'cliCommandCount':_0x51ce77,'cliCommandsSeen':_0x53aea6,'noCliCommandsCalled':_0x51ce77===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x398316){const _0x4bcb93=_0x362c,_0xf6ed22={'yIuSD':function(_0x266a8c,_0x69a0af){return _0x266a8c!==_0x69a0af;},'iTLaK':'Bash','WPtSE':function(_0x58391d,_0x36a036){return _0x58391d+_0x36a036;},'miVkY':_0x4bcb93(0xab),'jeeeO':function(_0x13d4f4,_0x4779d3){return _0x13d4f4(_0x4779d3);},'jHlhT':function(_0x102d35,_0x3ea6c4,_0x3aba23){return _0x102d35(_0x3ea6c4,_0x3aba23);},'nZdAk':function(_0x5355b6,_0x55ec9c){return _0x5355b6!==_0x55ec9c;},'AHdoR':_0x4bcb93(0xaa),'VJNDu':'rangerwright-cli'},_0x1139c5=new Map(),_0x4ab573=async _0x27d4f2=>{const _0x2a4023=_0x4bcb93;if(_0x27d4f2[_0x2a4023(0xbc)]!=='PostToolUse')return{};const _0x581d65=_0x27d4f2;if(_0xf6ed22['yIuSD'](_0x581d65[_0x2a4023(0xa7)],_0xf6ed22[_0x2a4023(0x8e)]))return{};const _0x52310b=_0x581d65['tool_input'],_0x3bbb8c=extractBashCommand(_0x52310b);if(!_0x3bbb8c)return{};const _0x8f6790=parseRangerwrightCliCommand(_0x3bbb8c);if(!_0x8f6790)return{};return _0x1139c5[_0x2a4023(0x98)](_0x8f6790,_0xf6ed22[_0x2a4023(0x71)](_0x1139c5[_0x2a4023(0xc4)](_0x8f6790)||0x0,0x1)),_0x398316[_0x2a4023(0x9f)](_0xf6ed22['miVkY'],{'subcommand':_0x8f6790}),_0x398316[_0x2a4023(0x9d)]('rangerwright_cli_command',{'subcommand':_0x8f6790,'commandPreview':_0xf6ed22[_0x2a4023(0x83)](truncatePreview,_0x3bbb8c)}),console['log'](_0x2a4023(0x96)+_0xf6ed22[_0x2a4023(0x8c)](formatRangerwrightCliLog,_0x3bbb8c,_0x8f6790)),{};},_0x34c00b=async _0x316d94=>{const _0x11cb8d=_0x4bcb93;if(_0x316d94[_0x11cb8d(0xbc)]!==_0x11cb8d(0x89))return{};const _0x477d0a=_0x316d94;if(_0xf6ed22['nZdAk'](_0x477d0a['tool_name'],_0xf6ed22['iTLaK']))return{};return await _0x398316['trackPhaseError'](_0xf6ed22['AHdoR'],_0x477d0a['error'],{'transport':_0xf6ed22['VJNDu'],'toolName':_0xf6ed22[_0x11cb8d(0x8e)]}),{};};return{'postToolUseHook':_0x4ab573,'postToolUseFailureHook':_0x34c00b,'commandCounts':_0x1139c5};}async function runRangerwrightLifecycleCommand(_0xc73541){const _0x1ac73c=_0x362c,_0x56f0e4={'hfyCy':function(_0x3c0f44,_0x2eb5a9){return _0x3c0f44??_0x2eb5a9;}},{options:_0x1124d1,commandArgs:_0x492599,env:_0xe711f0,telemetry:_0x319aea,phase:_0x55d006,metadata:_0x12eb33,timeoutMs:_0x5b5c71}=_0xc73541;_0x319aea[_0x1ac73c(0x9f)](_0x55d006,_0x12eb33);try{const _0x3ff3b8=await runRangerwrightCliCommand({..._0x1124d1,'commandArgs':_0x492599,'cwd':process['cwd'](),'env':_0xe711f0,'timeoutMs':_0x56f0e4['hfyCy'](_0x5b5c71,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x319aea['trackPhaseEnd'](_0x55d006,{..._0x12eb33,'subcommand':_0x3ff3b8[_0x1ac73c(0xb0)][_0x1ac73c(0x80)],'stdoutPreview':truncatePreview(_0x3ff3b8[_0x1ac73c(0xac)],0x7d0),'stderrPreview':truncatePreview(_0x3ff3b8[_0x1ac73c(0x90)],0x7d0)});}catch(_0x354c02){await _0x319aea['trackPhaseError'](_0x55d006,_0x354c02,_0x12eb33);throw _0x354c02;}}function _0x1840(){const _0x5c3f36=['aqjbX','trackPhaseEnd','canonicalFlow','trackPhaseStart','okfzJ','(?:^|\x5cs)','map','bHBjX','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','toLocaleDateString','sEfVO','tool_name','\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.','IgWcq','rangerwright_cli_command_failure','rangerwright_cli_command','stdout','open-and-inspect','click-and-inspect','eNLQV','invocation','video-stop','commandPrefix','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','createdAt','4134psqlmh','key_99_final-state.png','\x20>\x20','pop','close\x20browser\x20session','description','hook_event_name','141jhOLxE','selector','rangerwright_cli_close','split','commandArgs','-\x20[','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','get','314511ebtYqD','\x20--screenshot-path\x20','3199iCXRfz','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','ynjtK','WPtSE','3601660XdOyvt','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','fill','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','\x20inspect\x20--screenshot-path\x20','rangerwright_cli_video_stop','fill-and-inspect','VSyoc','24044ZwQiuk','90qxYUca','url','rangerwright_cli_tracing_stop','70792iVnNHV','subcommand','match','2541285iYMubR','jeeeO','about:blank','\x0a\x0a##\x20Additional\x20Notes\x0a','unaddressedComments','1087400iBDCRr','\x5c$&','PostToolUseFailure','VJhcd','\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','jHlhT','target','iTLaK','authorName','stderr','domRef','CdIHo','go\x20back\x20and\x20inspect','test','length','[rangerwright-cli]\x20','join','set','...','notes','values'];_0x1840=function(){return _0x5c3f36;};return _0x1840();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x2b568a){const _0x4383e4=_0x362c,_0x4373c3={'ynjtK':_0x4383e4(0x78),'okfzJ':_0x4383e4(0xb1),'xzXfa':function(_0x45f651,_0x371e8f){return _0x45f651(_0x371e8f);}},{telemetry:_0x33fadc,rangerwrightOptions:_0x4d0390,env:_0x21e0dd,transportMetadata:_0x5bedab}=_0x2b568a,_0xc5f469=[{'phase':_0x4383e4(0x7e),'commandArgs':['tracing-stop']},{'phase':_0x4373c3[_0x4383e4(0x70)],'commandArgs':[_0x4373c3[_0x4383e4(0xa0)]]},{'phase':_0x4383e4(0xbf),'commandArgs':['close']}];for(const _0xb94daa of _0xc5f469){try{await _0x4373c3['xzXfa'](runRangerwrightLifecycleCommand,{'options':_0x4d0390,'commandArgs':[..._0xb94daa[_0x4383e4(0xc1)]],'env':_0x21e0dd,'telemetry':_0x33fadc,'phase':_0xb94daa['phase'],'metadata':_0x5bedab});}catch{}}}
|
|
1
|
+
(function(_0x16ca94,_0x2c81e7){const _0x2f7027=_0x1eb2,_0x5e068c=_0x16ca94();while(!![]){try{const _0x59931a=-parseInt(_0x2f7027(0x1d1))/0x1+-parseInt(_0x2f7027(0x1ab))/0x2+parseInt(_0x2f7027(0x194))/0x3*(parseInt(_0x2f7027(0x1ac))/0x4)+-parseInt(_0x2f7027(0x1a5))/0x5*(-parseInt(_0x2f7027(0x1b2))/0x6)+-parseInt(_0x2f7027(0x1ea))/0x7+-parseInt(_0x2f7027(0x1e5))/0x8*(-parseInt(_0x2f7027(0x1e2))/0x9)+-parseInt(_0x2f7027(0x1d9))/0xa;if(_0x59931a===_0x2c81e7)break;else _0x5e068c['push'](_0x5e068c['shift']());}catch(_0x26e8a6){_0x5e068c['push'](_0x5e068c['shift']());}}}(_0x5c77,0x21ccc));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';function _0x1eb2(_0x4a0130,_0x1682d2){_0x4a0130=_0x4a0130-0x193;const _0x5c77c2=_0x5c77();let _0x1eb295=_0x5c77c2[_0x4a0130];return _0x1eb295;}const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x136ba8,_0x5b18f6=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x291c41=_0x1eb2,_0x1b4e03={'jQAQH':function(_0x6b877b,_0x398383){return _0x6b877b>_0x398383;}};return _0x1b4e03[_0x291c41(0x1a6)](_0x136ba8['length'],_0x5b18f6)?_0x136ba8[_0x291c41(0x1d4)](0x0,_0x5b18f6)+_0x291c41(0x1db):_0x136ba8;}function extractShellValue(_0x7002a6){if(!_0x7002a6)return null;return _0x7002a6[0x1]??_0x7002a6[0x2]??_0x7002a6[0x3]??null;}function extractFirstCommandArgument(_0xa25042,_0x32f965){const _0x4d1b1c=_0x1eb2,_0x575888={'CsFYG':_0x4d1b1c(0x1de)},_0x44a6fe=_0x32f965[_0x4d1b1c(0x1c6)](/[.*+?^${}()|[\]\\]/g,_0x575888['CsFYG']);return extractShellValue(_0xa25042[_0x4d1b1c(0x198)](new RegExp('(?:^|\x5cs)'+_0x44a6fe+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x33bb1c){const _0x2720db=_0x1eb2,_0x1bf1f9={'DGShQ':'target','iaIpT':function(_0x2935ae,_0x4c430a,_0xda271e){return _0x2935ae(_0x4c430a,_0xda271e);}};if(!_0x33bb1c)return _0x1bf1f9['DGShQ'];if(/^e\d+$/i['test'](_0x33bb1c))return'ref\x20'+_0x33bb1c;return JSON[_0x2720db(0x19a)](_0x1bf1f9[_0x2720db(0x1ad)](truncatePreview,_0x33bb1c,0x78));}function formatRangerwrightCliLog(_0x35b420,_0x397e69){const _0x329ea9=_0x1eb2,_0x1e29e1={'zdghs':function(_0x38b195,_0x10b493,_0x2a1002){return _0x38b195(_0x10b493,_0x2a1002);},'OaNJa':_0x329ea9(0x1a1),'MLFqp':function(_0x58555e,_0x27ab2b){return _0x58555e(_0x27ab2b);},'bWnLR':'fill-and-inspect','AAtqr':_0x329ea9(0x1bd),'iklQi':'close\x20browser\x20session'};switch(_0x397e69){case'open-and-inspect':{const _0x2e2391=_0x1e29e1['zdghs'](extractFirstCommandArgument,_0x35b420,_0x397e69);return _0x2e2391?'open\x20and\x20inspect\x20'+_0x2e2391:_0x329ea9(0x1df);}case _0x1e29e1['OaNJa']:return'click\x20and\x20inspect\x20'+_0x1e29e1['MLFqp'](formatCommandTarget,extractFirstCommandArgument(_0x35b420,_0x397e69));case _0x329ea9(0x1c0):case _0x1e29e1['bWnLR']:return'fill\x20'+formatCommandTarget(_0x1e29e1['zdghs'](extractFirstCommandArgument,_0x35b420,_0x397e69));case _0x329ea9(0x1e7):return _0x329ea9(0x1e1);case'inspect':return'inspect\x20page';case _0x329ea9(0x1cc):return _0x329ea9(0x1e0);case _0x1e29e1[_0x329ea9(0x1a8)]:return _0x329ea9(0x1b3);case _0x329ea9(0x1e9):return _0x1e29e1['iklQi'];default:return _0x397e69;}}function renderScenarioSections(_0x4daf58){const _0x257088=_0x1eb2,_0x44a63a={'JbQTu':'element'},{checklistItem:_0x38fc46,itemFeedback:_0x18a21a}=_0x4daf58,_0x2d7eb6=_0x38fc46[_0x257088(0x1c3)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x38fc46[_0x257088(0x1c3)]:'';let _0x2d1c65='';if(_0x18a21a&&_0x18a21a['unaddressedComments']['length']>0x0){const _0x45bdc0=_0x18a21a[_0x257088(0x1d2)][_0x257088(0x1b8)](_0x26b029=>{const _0x1cf144=_0x257088,_0xd0af3b=new Date(_0x26b029['createdAt'])[_0x1cf144(0x1d0)]('en-US',{'month':_0x1cf144(0x193),'day':'numeric'}),_0x4b5db7=_0x26b029['authorName']||_0x26b029[_0x1cf144(0x1cb)]||_0x1cf144(0x1b1),_0xa04dae=_0x26b029['domRef']?_0x1cf144(0x1da)+(_0x26b029['domRef']['selector']['split']('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x44a63a[_0x1cf144(0x1b9)])+'>\x20\x22'+(_0x26b029['domRef'][_0x1cf144(0x19b)]||'')[_0x1cf144(0x1d4)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x26b029['id']+']\x20'+_0x4b5db7+'\x20('+_0xd0af3b+'):\x20\x22'+_0x26b029[_0x1cf144(0x1d6)]+'\x22'+_0xa04dae;})[_0x257088(0x1a4)]('\x0a');_0x2d1c65=_0x257088(0x1e3)+_0x45bdc0;}const _0x14b041=_0x18a21a?.[_0x257088(0x1a3)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x18a21a['canonicalFlow']:'';return''+_0x38fc46[_0x257088(0x1c8)]+_0x2d7eb6+_0x2d1c65+_0x14b041;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x28f807){const _0x5bdc2f=_0x1eb2,_0x17e287={'mokld':_0x5bdc2f(0x1e6),'xBoUP':function(_0x45243e,_0x3e552c){return _0x45243e(_0x3e552c);}},{checklistItem:_0x20fed9,itemFeedback:_0x1b7e32,taskDescription:_0x4f8b81,commandPrefix:_0xa66994,isCdpMode:_0x3ff0a9,url:_0x533679,cdpEndpoint:_0x1eff07,loginInstructions:_0xea9ab6}=_0x28f807,_0x31bdec=_0x17e287[_0x5bdc2f(0x1af)],_0x26029b='key_99_final-state.png',_0x552238=_0x3ff0a9?_0xa66994+_0x5bdc2f(0x1be)+_0x17e287['xBoUP'](quoteShellArg,_0x31bdec):_0xa66994+_0x5bdc2f(0x19d)+_0x17e287[_0x5bdc2f(0x1bf)](quoteShellArg,_0x533679??_0x5bdc2f(0x1b5))+_0x5bdc2f(0x1ba)+quoteShellArg(_0x31bdec),_0x37267f=_0x3ff0a9?_0x5bdc2f(0x1c9)+_0x1eff07+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x5bdc2f(0x1c2)+_0x533679+'\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.',_0x4276e7=_0xea9ab6?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0xea9ab6+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x5bdc2f(0x19c)+renderScenarioSections({'checklistItem':_0x20fed9,'itemFeedback':_0x1b7e32})+_0x5bdc2f(0x1b4)+_0x4f8b81+'\x0a\x0a'+_0x37267f+_0x4276e7+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0xa66994+'\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'+_0x552238+_0x5bdc2f(0x195)+_0xa66994+_0x5bdc2f(0x196)+quoteShellArg(_0x26029b)+_0x5bdc2f(0x1bb);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x1384c2){const _0x17dc77=_0x1eb2,_0x23b5e9={'cxTFv':'01_mozilla-homepage.png','Tiwsj':'key_02_learn-more.png','RlwZF':function(_0x1f8914,_0x2f011a){return _0x1f8914(_0x2f011a);}},_0x256611=_0x23b5e9['cxTFv'],_0x20d03b=_0x23b5e9[_0x17dc77(0x1d8)];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x1384c2[_0x17dc77(0x1ca)]+'\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`'+_0x1384c2['commandPrefix']+_0x17dc77(0x19d)+quoteShellArg(_0x1384c2[_0x17dc77(0x19e)])+'\x20--screenshot-path\x20'+_0x23b5e9[_0x17dc77(0x1a2)](quoteShellArg,_0x256611)+_0x17dc77(0x1a0)+_0x1384c2['commandPrefix']+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+_0x23b5e9['RlwZF'](quoteShellArg,_0x20d03b)+_0x17dc77(0x1d7);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x34c7a3){const _0x5c1cf7=_0x1eb2,_0x277122=[..._0x34c7a3[_0x5c1cf7(0x1c1)]()][_0x5c1cf7(0x1dd)]();let _0x1cb2b0=0x0;for(const _0x39a4f7 of _0x34c7a3['values']()){_0x1cb2b0+=_0x39a4f7;}return{'cliCommandCount':_0x1cb2b0,'cliCommandsSeen':_0x277122,'noCliCommandsCalled':_0x1cb2b0===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x5d9cb9){const _0x59c99f=_0x1eb2,_0x47dbf1={'lFtaf':function(_0x514260,_0x2a332a){return _0x514260!==_0x2a332a;},'rjMGI':function(_0x1b0675,_0x3780c4){return _0x1b0675!==_0x3780c4;},'uYDEN':function(_0x3b3169,_0x29b27a){return _0x3b3169(_0x29b27a);},'ITsQc':function(_0x2c13bc,_0x2e0cb4){return _0x2c13bc!==_0x2e0cb4;},'UXUwY':_0x59c99f(0x1dc),'JqZcY':'Bash','RMXnY':'rangerwright-cli'},_0x3e7016=new Map(),_0x5a2783=async _0x2b4537=>{const _0x129807=_0x59c99f;if(_0x47dbf1['lFtaf'](_0x2b4537['hook_event_name'],'PostToolUse'))return{};const _0x58a84f=_0x2b4537;if(_0x47dbf1['rjMGI'](_0x58a84f['tool_name'],_0x129807(0x1aa)))return{};const _0x2339c8=_0x58a84f[_0x129807(0x1e4)],_0x388f48=extractBashCommand(_0x2339c8);if(!_0x388f48)return{};const _0x50fa3e=parseRangerwrightCliCommand(_0x388f48);if(!_0x50fa3e)return{};return _0x3e7016['set'](_0x50fa3e,(_0x3e7016[_0x129807(0x1b6)](_0x50fa3e)||0x0)+0x1),_0x5d9cb9[_0x129807(0x1a7)](_0x129807(0x1c4),{'subcommand':_0x50fa3e}),_0x5d9cb9['trackPhaseEnd'](_0x129807(0x1c4),{'subcommand':_0x50fa3e,'commandPreview':_0x47dbf1[_0x129807(0x1d3)](truncatePreview,_0x388f48)}),console[_0x129807(0x1cf)](_0x129807(0x1ce)+formatRangerwrightCliLog(_0x388f48,_0x50fa3e)),{};},_0x1d561d=async _0x2e6887=>{const _0x4af54e=_0x59c99f;if(_0x47dbf1[_0x4af54e(0x19f)](_0x2e6887[_0x4af54e(0x1e8)],_0x47dbf1[_0x4af54e(0x1c7)]))return{};const _0x520f41=_0x2e6887;if(_0x520f41['tool_name']!==_0x47dbf1['JqZcY'])return{};return await _0x5d9cb9[_0x4af54e(0x1b7)](_0x4af54e(0x1bc),_0x520f41['error'],{'transport':_0x47dbf1[_0x4af54e(0x1c5)],'toolName':_0x4af54e(0x1aa)}),{};};return{'postToolUseHook':_0x5a2783,'postToolUseFailureHook':_0x1d561d,'commandCounts':_0x3e7016};}async function runRangerwrightLifecycleCommand(_0x5a1241){const _0x3abd80=_0x1eb2,_0x6370c0={'FUWrU':function(_0x18b6c0,_0x401b89){return _0x18b6c0??_0x401b89;}},{options:_0x479ceb,commandArgs:_0x506549,env:_0x56e7f0,telemetry:_0x15ac86,phase:_0x3404b4,metadata:_0x9519b1,timeoutMs:_0x2b2902}=_0x5a1241;_0x15ac86['trackPhaseStart'](_0x3404b4,_0x9519b1);try{const _0x1a9954=await runRangerwrightCliCommand({..._0x479ceb,'commandArgs':_0x506549,'cwd':process['cwd'](),'env':_0x56e7f0,'timeoutMs':_0x6370c0[_0x3abd80(0x199)](_0x2b2902,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x15ac86[_0x3abd80(0x1b0)](_0x3404b4,{..._0x9519b1,'subcommand':_0x1a9954['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x1a9954['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x1a9954[_0x3abd80(0x1d5)],0x7d0)});}catch(_0x251cec){await _0x15ac86[_0x3abd80(0x1b7)](_0x3404b4,_0x251cec,_0x9519b1);throw _0x251cec;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x37f299){const _0x50225b=_0x1eb2,_0x4c9aa2={'QcmFW':'rangerwright_cli_tracing_stop','bdiuC':'rangerwright_cli_video_stop','osCAF':_0x50225b(0x1cd),'ATTFa':function(_0x45e7c9,_0x3f013b){return _0x45e7c9(_0x3f013b);}},{telemetry:_0x822e2,rangerwrightOptions:_0x14bfce,env:_0x33db4e,transportMetadata:_0x27ce2f}=_0x37f299,_0x505721=[{'phase':_0x4c9aa2['QcmFW'],'commandArgs':['tracing-stop']},{'phase':_0x4c9aa2['bdiuC'],'commandArgs':[_0x50225b(0x1bd)]},{'phase':_0x4c9aa2[_0x50225b(0x1a9)],'commandArgs':[_0x50225b(0x1e9)]}];for(const _0x35363a of _0x505721){try{await _0x4c9aa2['ATTFa'](runRangerwrightLifecycleCommand,{'options':_0x14bfce,'commandArgs':[..._0x35363a[_0x50225b(0x1ae)]],'env':_0x33db4e,'telemetry':_0x822e2,'phase':_0x35363a[_0x50225b(0x197)],'metadata':_0x27ce2f});}catch{}}}function _0x5c77(){const _0x393abb=['Bash','206618ztNeDT','4XIpkFr','iaIpT','commandArgs','mokld','trackPhaseEnd','Reviewer','6yxCUkv','stop\x20video\x20recording','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','about:blank','get','trackPhaseError','map','JbQTu','\x20--screenshot-path\x20','\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.','rangerwright_cli_command_failure','video-stop','\x20inspect\x20--screenshot-path\x20','xBoUP','fill','keys','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','notes','rangerwright_cli_command','RMXnY','replace','UXUwY','description','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','commandPrefix','authorEmail','tracing-stop','rangerwright_cli_close','[rangerwright-cli]\x20','log','toLocaleDateString','96670ntXtYA','unaddressedComments','uYDEN','slice','stderr','content','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','Tiwsj','851070aKWIRi','\x20(on\x20element:\x20<','...','PostToolUseFailure','sort','\x5c$&','open\x20and\x20inspect','stop\x20tracing','go\x20back\x20and\x20inspect','72zLMSMD','\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','tool_input','256456jCBwNZ','01_initial-state.png','back-and-inspect','hook_event_name','close','804181ooNYhZ','short','181509JbEyFr','\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','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','phase','match','FUWrU','stringify','textContent','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','\x20open-and-inspect\x20','url','ITsQc','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','click-and-inspect','RlwZF','canonicalFlow','join','1107270dtgtaz','jQAQH','trackPhaseStart','AAtqr','osCAF'];_0x5c77=function(){return _0x393abb;};return _0x5c77();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7-alpha.387730d-58",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dev": "tsx src/cli.ts",
|
|
14
14
|
"check-playwright-version": "node scripts/check-playwright-version.cjs",
|
|
15
15
|
"postinstall": "node scripts/postinstall.js",
|
|
16
|
-
"test": "
|
|
16
|
+
"test": "cd ../.. && TEST_ENVIRONMENT=true tsx --import ./tests/node-runner/setup.ts --test --test-concurrency=1 ./tests/node-runner/cli/*.test.cjs"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"build",
|
|
@@ -32,13 +32,10 @@
|
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/inquirer": "^9.0.7",
|
|
35
|
-
"@types/jest": "^29.5.0",
|
|
36
35
|
"@types/node": "^22.0.0",
|
|
37
36
|
"@types/ws": "^8.18.1",
|
|
38
37
|
"@types/yargs": "^17.0.32",
|
|
39
|
-
"jest": "^29.7.0",
|
|
40
38
|
"javascript-obfuscator": "^4.1.1",
|
|
41
|
-
"ts-jest": "^29.1.0",
|
|
42
39
|
"tsx": "^4.20.6",
|
|
43
40
|
"typescript": "^5.0.0"
|
|
44
41
|
},
|