@ranger-testing/ranger-cli 3.1.6 → 3.1.7-alpha.34400c2-56
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(_0x2a7d7f,_0x5e32e9){const _0x113e3a=_0x623a,_0x4c362a=_0x2a7d7f();while(!![]){try{const _0x453126=-parseInt(_0x113e3a(0x190))/0x1*(parseInt(_0x113e3a(0x1d8))/0x2)+-parseInt(_0x113e3a(0x1cb))/0x3+parseInt(_0x113e3a(0x204))/0x4+parseInt(_0x113e3a(0x197))/0x5+-parseInt(_0x113e3a(0x1b1))/0x6+parseInt(_0x113e3a(0x202))/0x7+-parseInt(_0x113e3a(0x203))/0x8*(parseInt(_0x113e3a(0x1e1))/0x9);if(_0x453126===_0x5e32e9)break;else _0x4c362a['push'](_0x4c362a['shift']());}catch(_0x461ed6){_0x4c362a['push'](_0x4c362a['shift']());}}}(_0x7411,0x937f8));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';function _0x623a(_0x28fdea,_0x18d2fd){_0x28fdea=_0x28fdea-0x18b;const _0x74115b=_0x7411();let _0x623afa=_0x74115b[_0x28fdea];return _0x623afa;}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(_0x42af6e,_0x2c8c3c=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1cbd75=_0x623a,_0x426d7d={'wTzVD':function(_0x3228e4,_0x40610d){return _0x3228e4+_0x40610d;}};return _0x42af6e[_0x1cbd75(0x1ec)]>_0x2c8c3c?_0x426d7d['wTzVD'](_0x42af6e['slice'](0x0,_0x2c8c3c),_0x1cbd75(0x1a5)):_0x42af6e;}function buildCliArtifactPath(_0x390d3d,_0xb5fd0f){return join(_0x390d3d,_0xb5fd0f);}function toStepDisplayName(_0x2a5f24){const _0x1ce147=basename(_0x2a5f24)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1ce147,'isKeyStep':/^key_/i['test'](basename(_0x2a5f24))};}function extractShellValue(_0x28dbbd){if(!_0x28dbbd)return null;return _0x28dbbd[0x1]??_0x28dbbd[0x2]??_0x28dbbd[0x3]??null;}function extractFilenameOption(_0x26029e){return extractShellValue(_0x26029e['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5a644a,_0x2be33c){const _0x13f72b=_0x623a,_0x823438=_0x2be33c['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x5a644a['match'](new RegExp(_0x13f72b(0x1bd)+_0x823438+_0x13f72b(0x1b4))));}function formatCommandTarget(_0x15776d){const _0x110088=_0x623a;if(!_0x15776d)return _0x110088(0x1d0);if(/^e\d+$/i['test'](_0x15776d))return'ref\x20'+_0x15776d;return JSON['stringify'](truncatePreview(_0x15776d,0x78));}function formatPlaywrightCliLog(_0x435591,_0x4403b2){const _0x5040a6=_0x623a,_0x3d145b={'ZViFV':_0x5040a6(0x214),'GhHZv':function(_0x535207,_0x5e4f4e,_0x5cbca6){return _0x535207(_0x5e4f4e,_0x5cbca6);},'kIFBl':_0x5040a6(0x200),'ihnnv':_0x5040a6(0x1f9),'UVwLZ':function(_0x201a8e,_0x1d40a3){return _0x201a8e(_0x1d40a3);},'YaPjS':'capture\x20snapshot','wTaTR':_0x5040a6(0x1f0),'pesZS':function(_0x3ac829,_0x86f6dd){return _0x3ac829(_0x86f6dd);},'PhZcq':'check','MhLRZ':_0x5040a6(0x1fb),'LKvSr':_0x5040a6(0x1ee),'keaLk':_0x5040a6(0x19a),'XXnRc':function(_0x26cf36,_0xccdec6,_0x42a7a1){return _0x26cf36(_0xccdec6,_0x42a7a1);},'NjuBR':'open\x20new\x20tab','QOWFN':_0x5040a6(0x1e8),'BhQIv':_0x5040a6(0x1b7)};switch(_0x4403b2){case _0x3d145b[_0x5040a6(0x1e3)]:{const _0x1857db=_0x3d145b['GhHZv'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x1857db?'open\x20'+_0x1857db:_0x5040a6(0x1e7);}case'tracing-start':return _0x3d145b[_0x5040a6(0x201)];case'tracing-stop':return'stop\x20tracing';case'video-start':return'start\x20video\x20recording';case _0x5040a6(0x1ab):return'stop\x20video\x20recording';case _0x3d145b[_0x5040a6(0x1c2)]:{const _0x350bd0=_0x3d145b['UVwLZ'](extractFilenameOption,_0x435591);if(!_0x350bd0)return _0x3d145b[_0x5040a6(0x1d5)];const {name:_0x225b90}=_0x3d145b[_0x5040a6(0x1c9)](toStepDisplayName,_0x350bd0);return'capture\x20snapshot\x20`'+_0x225b90+'`';}case _0x5040a6(0x19f):{const _0x60f7d8=extractFilenameOption(_0x435591);if(!_0x60f7d8)return _0x3d145b['wTaTR'];const {name:_0x3d63cd,isKeyStep:_0xa9b27b}=toStepDisplayName(_0x60f7d8);return _0xa9b27b?'capture\x20key\x20step\x20`'+_0x3d63cd+'`':_0x5040a6(0x20c)+_0x3d63cd+'`';}case _0x5040a6(0x1d4):return'click\x20'+_0x3d145b[_0x5040a6(0x1c6)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x208)]:return _0x5040a6(0x1f5)+_0x3d145b[_0x5040a6(0x1c9)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x5040a6(0x1d7):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b['MhLRZ']:return _0x5040a6(0x209)+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x1c3)]:return'run\x20custom\x20Playwright\x20code';case _0x3d145b[_0x5040a6(0x1f1)]:{const _0x491a3f=_0x3d145b['XXnRc'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x491a3f?_0x5040a6(0x1c4)+_0x491a3f:_0x3d145b['NjuBR'];}case _0x3d145b[_0x5040a6(0x19e)]:{const _0x2d7ede=extractFirstCommandArgument(_0x435591,_0x4403b2);return _0x2d7ede?'select\x20tab\x20'+_0x2d7ede:_0x3d145b[_0x5040a6(0x20e)];}default:return _0x4403b2;}}function extractPlaywrightCliToolDescription(_0x19ce5d){const _0x62b18=_0x623a,_0x3e4131={'czCPH':'string'},_0x59e1cb=_0x19ce5d['description'];if(typeof _0x59e1cb!==_0x3e4131['czCPH'])return null;const _0x17a7e8=_0x59e1cb['trim']()[_0x62b18(0x1ad)](/\s+/g,'\x20');return _0x17a7e8['length']>0x0?_0x17a7e8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4905ec,_0x964cc,_0x304585){const _0x3e7afd=_0x623a,_0x5f378f={'fdtPC':function(_0xe8c1e9,_0x570751,_0x415311){return _0xe8c1e9(_0x570751,_0x415311);}},_0x5be3f8=_0x5f378f[_0x3e7afd(0x20d)](formatPlaywrightCliLog,_0x964cc,_0x304585),_0x5a3557=extractPlaywrightCliToolDescription(_0x4905ec);if(!_0x5a3557)return _0x3e7afd(0x1b0)+_0x5be3f8;if(process[_0x3e7afd(0x1fa)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x5a3557+'\x20('+_0x5be3f8+')';return'[ranger-verification-agent]\x20'+_0x5a3557;}export function buildVerifyFeatureCliDebugPrompt(_0x48c853,_0x3d423a){const _0x261153=_0x623a,_0x200db3={'dPpBQ':function(_0x36788b,_0x323792,_0x124607){return _0x36788b(_0x323792,_0x124607);},'LjEZX':_0x261153(0x1c5),'jmPCR':function(_0x204a0c,_0x5890dc,_0x20f832){return _0x204a0c(_0x5890dc,_0x20f832);},'MOiEb':function(_0x52bb85,_0x191c20,_0xc6a535){return _0x52bb85(_0x191c20,_0xc6a535);},'PVaQo':function(_0x281bc9,_0x29abdf){return _0x281bc9(_0x29abdf);}},_0xa8b3ec=_0x200db3[_0x261153(0x1df)](buildCliArtifactPath,_0x3d423a,_0x200db3[_0x261153(0x1ed)]),_0x430ebc=buildCliArtifactPath(_0x3d423a,'01_mozilla-homepage.png'),_0x2aab05=_0x200db3[_0x261153(0x1b2)](buildCliArtifactPath,_0x3d423a,'02_learn-more.yml'),_0x18ea44=_0x200db3['MOiEb'](buildCliArtifactPath,_0x3d423a,'03_learn-more.png'),_0x3a7bae=quoteShellArg(_0xa8b3ec),_0x58af3d=quoteShellArg(_0x430ebc),_0x5c7001=_0x200db3['PVaQo'](quoteShellArg,_0x2aab05),_0x34e787=quoteShellArg(_0x18ea44);return _0x261153(0x1de)+_0x48c853+_0x261153(0x1cd)+_0x48c853+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x48c853+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x48c853+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3d423a+_0x261153(0x1f7)+_0x48c853+_0x261153(0x18d)+_0x3a7bae+_0x261153(0x194)+_0x48c853+_0x261153(0x1ef)+_0x58af3d+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x48c853+_0x261153(0x18d)+_0x5c7001+_0x261153(0x205)+_0x48c853+_0x261153(0x1ef)+_0x34e787+_0x261153(0x1a4);}export function buildVerifyFeatureCliPrompt(_0x11989b){const _0x630983=_0x623a,_0x4479d6={'AcgvV':'numeric','fhRYd':'Reviewer','EKsAh':_0x630983(0x1e2),'etVkb':_0x630983(0x1e5),'blPxZ':function(_0x49304e,_0x1e0f40,_0x17cf81){return _0x49304e(_0x1e0f40,_0x17cf81);},'JugLu':'02_state.yml','jhiZr':function(_0x3638c3,_0x4bb073){return _0x3638c3(_0x4bb073);},'Ecfra':function(_0x5a32e2,_0x37dc96){return _0x5a32e2(_0x37dc96);},'MQZcf':function(_0x51161a,_0x41f3e3){return _0x51161a>_0x41f3e3;},'DasUp':function(_0x19fc15,_0x352259,_0x25443d){return _0x19fc15(_0x352259,_0x25443d);},'XprJV':_0x630983(0x1dd),'qqnHM':function(_0x3d2803,_0x505025,_0x25cc6e){return _0x3d2803(_0x505025,_0x25cc6e);}},{checklistItem:_0x2f8eb5,itemFeedback:_0x23c9a8,taskDescription:_0x17eb57,cliCommandPrefix:_0x352712,cliArtifactDir:_0x21fcc6,isCdpMode:_0x98359,url:_0x450b11,cdpEndpoint:_0x465d4f,loginInstructions:_0xd6676}=_0x11989b,_0x342bf6=buildCliArtifactPath(_0x21fcc6,'01_initial.yml'),_0xa48f3f=_0x4479d6['blPxZ'](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x1ba)]),_0x162408=buildCliArtifactPath(_0x21fcc6,'key_03_success-state.png'),_0x8ab09d=_0x4479d6[_0x630983(0x19d)](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1f8)),_0x597101=_0x4479d6['jhiZr'](quoteShellArg,_0x342bf6),_0x5a2391=_0x4479d6[_0x630983(0x199)](quoteShellArg,_0xa48f3f),_0x1184b5=quoteShellArg(_0x162408),_0x53c8ab=_0x4479d6['Ecfra'](quoteShellArg,_0x8ab09d),_0x135646=_0x2f8eb5[_0x630983(0x1d9)]?_0x630983(0x1aa)+_0x2f8eb5[_0x630983(0x1d9)]:'';let _0x7770c6='';if(_0x23c9a8&&_0x4479d6['MQZcf'](_0x23c9a8['unaddressedComments']['length'],0x0)){const _0x591f9c=_0x23c9a8[_0x630983(0x1a7)][_0x630983(0x18f)](_0x1fb112=>{const _0x2e95b0=_0x630983,_0x501e0c=new Date(_0x1fb112[_0x2e95b0(0x1bb)])['toLocaleDateString']('en-US',{'month':'short','day':_0x4479d6['AcgvV']}),_0x1be17a=_0x1fb112['authorName']||_0x1fb112['authorEmail']||_0x4479d6['fhRYd'],_0xcfe17c=_0x1fb112[_0x2e95b0(0x1eb)]?_0x2e95b0(0x1f6)+(_0x1fb112['domRef']['selector']['split'](_0x4479d6['EKsAh'])[_0x2e95b0(0x20f)]()?.[_0x2e95b0(0x1d3)](':')[0x0]||_0x4479d6['etVkb'])+_0x2e95b0(0x1e6)+(_0x1fb112['domRef']['textContent']||'')[_0x2e95b0(0x1da)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1fb112['id']+']\x20**'+_0x1be17a+_0x2e95b0(0x1af)+_0x501e0c+_0x2e95b0(0x20b)+_0x1fb112[_0x2e95b0(0x1ea)]+'\x22'+_0xcfe17c;})['join']('\x0a');_0x7770c6=_0x630983(0x1b8)+_0x591f9c;}const _0x2e0e40=_0x23c9a8?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x23c9a8[_0x630983(0x1d6)]:'',_0x5512ea=_0x98359?_0x630983(0x1cf)+_0x465d4f+_0x630983(0x193):_0x630983(0x1bf)+_0x450b11+_0x630983(0x1bc),_0x23a28c=_0x450b11?_0x4479d6['jhiZr'](quoteShellArg,_0x450b11):'',_0x35ad23=_0x98359?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+_0x630983(0x1fe)+_0x352712+'\x20tracing-start`,\x20then\x20`'+_0x352712+_0x630983(0x1dc)+_0x21fcc6+_0x630983(0x1f2)+_0x352712+_0x630983(0x18d)+_0x597101+'`\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`'+_0x352712+_0x630983(0x1ef)+_0x53c8ab+_0x630983(0x1f4)+_0x352712+_0x630983(0x1be):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+'\x20open\x20'+_0x23a28c+'`,\x20then\x20`'+_0x352712+_0x630983(0x211)+_0x352712+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x21fcc6+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x352712+'\x20snapshot\x20--filename\x20'+_0x597101+'`\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`'+_0x352712+'\x20screenshot\x20--filename\x20'+_0x53c8ab+_0x630983(0x1a1)+_0x352712+'\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',_0x2adb53=_0x98359?'\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.':'\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.',_0x10110=_0xd6676?_0x630983(0x207)+_0xd6676+_0x630983(0x1a6):'';return _0x630983(0x195)+_0x2f8eb5['description']+_0x135646+_0x7770c6+_0x2e0e40+_0x630983(0x210)+_0x17eb57+'\x0a\x0a'+_0x5512ea+_0x10110+'\x0a\x0a'+_0x35ad23+_0x630983(0x20a)+_0x352712+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x21fcc6+_0x630983(0x1fc)+_0x5a2391+'`\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'+_0x1184b5+'`\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`'+_0x21fcc6+_0x630983(0x1a3)+_0x8ab09d+'\x22,\x20\x22'+_0x4479d6[_0x630983(0x1a9)](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x18e)])+'\x22,\x20\x22'+_0x4479d6['qqnHM'](buildCliArtifactPath,_0x21fcc6,'03_result-visible.png')+_0x630983(0x1ca)+_0x4479d6['DasUp'](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1b3))+_0x630983(0x198)+_0x2adb53+'\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(_0x573b0e){const _0x4e6cb2=_0x623a,_0x4ad67c={'irljC':function(_0x72bea4,_0x3414c5){return _0x72bea4===_0x3414c5;}},_0x247a19=[..._0x573b0e['keys']()]['sort']();let _0x591005=0x0;for(const _0x3eb78d of _0x573b0e[_0x4e6cb2(0x1d2)]()){_0x591005+=_0x3eb78d;}return{'cliCommandCount':_0x591005,'cliCommandsSeen':_0x247a19,'noCliCommandsCalled':_0x4ad67c[_0x4e6cb2(0x1e9)](_0x591005,0x0)};}export function createVerifyFeatureCliHooks(_0x55e384){const _0x4478cb=_0x623a,_0x10d9ee={'YwtPd':function(_0x315cdf,_0x5bee7){return _0x315cdf!==_0x5bee7;},'iVisG':_0x4478cb(0x215),'KOfIt':function(_0x9efb13,_0x30ba76){return _0x9efb13!==_0x30ba76;},'pJWeC':function(_0x148145,_0x43041d){return _0x148145(_0x43041d);},'XrRtt':function(_0x5b99c9,_0x47bee8){return _0x5b99c9+_0x47bee8;},'SSMXk':_0x4478cb(0x1d1),'wKPHG':'playwright-cli','LYiDT':function(_0x4148b6,_0x486adf,_0x268147,_0xd8b5da){return _0x4148b6(_0x486adf,_0x268147,_0xd8b5da);},'lZBwj':function(_0x4a8af1,_0xd9ca34){return _0x4a8af1!==_0xd9ca34;},'RtckG':'PostToolUseFailure'},_0x2aed29=new Map(),_0x5cb701=async _0x12d1de=>{const _0x48324e=_0x4478cb;if(_0x10d9ee[_0x48324e(0x206)](_0x12d1de['hook_event_name'],_0x10d9ee[_0x48324e(0x1c7)]))return{};const _0x473a07=_0x12d1de;if(_0x10d9ee[_0x48324e(0x1a2)](_0x473a07['tool_name'],'Bash'))return{};const _0x3bd5b1=_0x473a07['tool_input'],_0x1e997b=extractBashCommand(_0x3bd5b1);if(!_0x1e997b)return{};const _0x27c328=_0x10d9ee[_0x48324e(0x1db)](parsePlaywrightCliCommand,_0x1e997b);if(!_0x27c328)return{};return _0x2aed29['set'](_0x27c328,_0x10d9ee['XrRtt'](_0x2aed29[_0x48324e(0x1ae)](_0x27c328)||0x0,0x1)),_0x55e384[_0x48324e(0x1b9)](_0x10d9ee['SSMXk'],{'transport':'playwright-cli','toolName':_0x27c328}),_0x55e384['trackPhaseEnd'](_0x10d9ee['SSMXk'],{'transport':_0x10d9ee[_0x48324e(0x1b5)],'toolName':_0x27c328,'bashCommandPreview':truncatePreview(_0x1e997b)}),_0x10d9ee[_0x48324e(0x1a2)](_0x27c328,'snapshot')&&console[_0x48324e(0x196)](_0x10d9ee[_0x48324e(0x1b6)](formatPlaywrightCliConsoleLogMessage,_0x3bd5b1,_0x1e997b,_0x27c328)),{};},_0x4e4f7a=async _0x435b35=>{const _0x3c24e9=_0x4478cb;if(_0x10d9ee[_0x3c24e9(0x1c8)](_0x435b35['hook_event_name'],_0x10d9ee['RtckG']))return{};const _0x4c5703=_0x435b35;if(_0x4c5703[_0x3c24e9(0x1a0)]!==_0x3c24e9(0x1ff))return{};return await _0x55e384[_0x3c24e9(0x1cc)]('tool_failure',_0x4c5703[_0x3c24e9(0x18c)],{'transport':_0x10d9ee[_0x3c24e9(0x1b5)],'toolName':_0x3c24e9(0x1ff)}),{};};return{'postToolUseHook':_0x5cb701,'postToolUseFailureHook':_0x4e4f7a,'commandCounts':_0x2aed29};}function _0x7411(){const _0x23e28b=['notes','slice','pJWeC','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','02_button-clicked.png','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','dPpBQ','trackPhaseEnd','5411853omFApr','\x20>\x20','ZViFV','session-recording.webm','element','>\x20\x22','open\x20browser','tab-select','irljC','content','domRef','length','LjEZX','run-code','\x20screenshot\x20--filename\x20','capture\x20screenshot','keaLk','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','push','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','check\x20','\x20(on\x20element:\x20<','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','01_initial-state.png','snapshot','env','press','`\x0a-\x20`snapshot\x20--filename\x20','sort','\x20open`,\x20then\x20`','Bash','start\x20tracing','kIFBl','5409026wubnLE','8nnTrgE','3131628OVQUWp','`\x0a9.\x20Run\x20`','YwtPd','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','PhZcq','press\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','):\x20\x22','capture\x20step\x20`','fdtPC','BhQIv','pop','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x20tracing-start`,\x20then\x20`','trace.trace.zip','playwright_cli_tracing_stop','open','PostToolUse','commandArgs','error','\x20snapshot\x20--filename\x20','XprJV','map','1GAGvOV','LtpWL','isFile','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','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','log','5339705PcRuzh','\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','jhiZr','tab-new','rAhvx','name','blPxZ','QOWFN','screenshot','tool_name','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','KOfIt','`:\x20\x22','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','...','\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.','unaddressedComments','trace.zip','DasUp','\x0a\x0a##\x20Additional\x20Notes\x0a','video-stop','CXwLu','replace','get','**\x20(','[playwright-cli]\x20','4616232pnflLk','jmPCR','key_04_success-state.png','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','wKPHG','LYiDT','select\x20tab','\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','trackPhaseStart','JugLu','createdAt','\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','(?:^|\x5cs)','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','cwd','subcommand','ihnnv','LKvSr','open\x20new\x20tab\x20','00_mozilla-homepage.yml','pesZS','iVisG','lZBwj','UVwLZ','\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','986526QvxeDN','trackPhaseError','\x0a\x0a1.\x20Run\x20`','invocation','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','target','tool_call','values','split','click','YaPjS','canonicalFlow','fill','639766tZPXSf'];_0x7411=function(){return _0x23e28b;};return _0x7411();}async function runPlaywrightCliLifecycleCommand(_0x3f058b){const _0x5c3ba9=_0x623a,_0x378de0={'HARfK':function(_0x22b6d9,_0xe3713f){return _0x22b6d9(_0xe3713f);},'LaumD':function(_0x2c8770,_0x3e4ceb){return _0x2c8770??_0x3e4ceb;},'Jnpvx':function(_0x24ad97,_0x44e8d6,_0x4949ce){return _0x24ad97(_0x44e8d6,_0x4949ce);}},{sessionId:_0x31ba8b,configPath:_0x3ef113,commandArgs:_0x549a03,env:_0x5073c7,telemetry:_0x26551e,phase:_0x192a43,metadata:_0x2b6480,timeoutMs:_0x5d235c}=_0x3f058b;_0x26551e['trackPhaseStart'](_0x192a43,_0x2b6480);try{const _0x3ec8ac=await _0x378de0['HARfK'](runPlaywrightCliCommand,{'sessionId':_0x31ba8b,'configPath':_0x3ef113,'commandArgs':_0x549a03,'cwd':process[_0x5c3ba9(0x1c0)](),'env':_0x5073c7,'timeoutMs':_0x378de0['LaumD'](_0x5d235c,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x26551e[_0x5c3ba9(0x1e0)](_0x192a43,{..._0x2b6480,'subcommand':_0x3ec8ac[_0x5c3ba9(0x1ce)][_0x5c3ba9(0x1c1)],'stdoutPreview':_0x378de0['Jnpvx'](truncatePreview,_0x3ec8ac['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x3ec8ac['stderr'],0x7d0)});}catch(_0x46a92d){await _0x26551e[_0x5c3ba9(0x1cc)](_0x192a43,_0x46a92d,_0x2b6480);throw _0x46a92d;}}export async function finalizeVerifyFeatureCliSession(_0x256d09){const _0x2b7eda=_0x623a,_0x47e686={'CXwLu':_0x2b7eda(0x213),'LtpWL':'video-stop','yzdCU':'playwright_cli_close','GIFUq':'close'},{telemetry:_0x4a616e,sessionId:_0x5dead7,configPath:_0x5e233e,cliArtifactDir:_0x578850,env:_0x2c2742,transportMetadata:_0x4de42b}=_0x256d09,_0x41835f=[{'phase':_0x47e686[_0x2b7eda(0x1ac)],'commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':[_0x47e686[_0x2b7eda(0x191)],'--filename='+buildCliArtifactPath(_0x578850,_0x2b7eda(0x1e4))]},{'phase':_0x47e686['yzdCU'],'commandArgs':[_0x47e686['GIFUq']]}];for(const _0x217ca0 of _0x41835f){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x5dead7,'configPath':_0x5e233e,'commandArgs':[..._0x217ca0[_0x2b7eda(0x18b)]],'env':_0x2c2742,'telemetry':_0x4a616e,'phase':_0x217ca0['phase'],'metadata':_0x4de42b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x59fa15){const _0x42ecfe=_0x623a,_0x4ec48e={'xxVnP':_0x42ecfe(0x1a8),'IBhSy':function(_0x36051e,_0x5b9e8f,_0x3bd7fa){return _0x36051e(_0x5b9e8f,_0x3bd7fa);},'INDwg':function(_0x4fbe92,_0x481665){return _0x4fbe92(_0x481665);}},_0x43cd50=[_0x4ec48e['xxVnP'],_0x42ecfe(0x212)];for(const _0x44c1cb of _0x43cd50){const _0x4a3d61=_0x4ec48e['IBhSy'](join,_0x59fa15,_0x44c1cb);try{return{'buffer':await _0x4ec48e['INDwg'](readFile,_0x4a3d61),'source':_0x4a3d61};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x4c9981){const _0x21fb5e=_0x623a,_0x96f456={'fmNrd':function(_0x21245f,_0xdef52e,_0x5c7cd9){return _0x21245f(_0xdef52e,_0x5c7cd9);},'WtEOc':function(_0x579063,_0x54336f){return _0x579063(_0x54336f);},'rAhvx':function(_0x359ee6,_0x4b2c79){return _0x359ee6<_0x4b2c79;},'zAtzX':function(_0x3e70ec,_0xe2dc9){return _0x3e70ec+_0xe2dc9;},'RirIz':function(_0x533977,_0x29d45d){return _0x533977===_0x29d45d;}},{cwd:_0x6ebf49,cliArtifactDir:_0x3dcb3d,startTime:_0x541a3b}=_0x4c9981,_0x5e7b18=[];await _0x96f456['fmNrd'](mkdir,_0x3dcb3d,{'recursive':!![]});const _0x31bb9c=await readdir(_0x6ebf49,{'withFileTypes':!![]});for(const _0x3c7dcd of _0x31bb9c){if(!_0x3c7dcd[_0x21fb5e(0x192)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x3c7dcd['name']))continue;const _0x2e84d8=join(_0x6ebf49,_0x3c7dcd['name']),_0xb2fd53=await _0x96f456['WtEOc'](stat,_0x2e84d8);if(_0x96f456[_0x21fb5e(0x19b)](_0x96f456['zAtzX'](_0xb2fd53['mtimeMs'],0x7d0),_0x541a3b))continue;const _0x57c029=buildCliArtifactPath(_0x3dcb3d,_0x3c7dcd['name']);if(_0x96f456['RirIz'](_0x2e84d8,_0x57c029))continue;await rename(_0x2e84d8,_0x57c029),_0x5e7b18[_0x21fb5e(0x1f3)](_0x3c7dcd[_0x21fb5e(0x19c)]);}return _0x5e7b18[_0x21fb5e(0x1fd)]();}
|
|
@@ -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 _0x4a93a9=_0x2831;(function(_0x45d61d,_0x181101){const _0x2ae5ac=_0x2831,_0x148f11=_0x45d61d();while(!![]){try{const _0x3ffce0=-parseInt(_0x2ae5ac(0x25a))/0x1*(-parseInt(_0x2ae5ac(0x1ed))/0x2)+-parseInt(_0x2ae5ac(0x227))/0x3+-parseInt(_0x2ae5ac(0x202))/0x4*(parseInt(_0x2ae5ac(0x26b))/0x5)+-parseInt(_0x2ae5ac(0x1e6))/0x6*(parseInt(_0x2ae5ac(0x223))/0x7)+-parseInt(_0x2ae5ac(0x24c))/0x8*(parseInt(_0x2ae5ac(0x289))/0x9)+-parseInt(_0x2ae5ac(0x1c2))/0xa*(-parseInt(_0x2ae5ac(0x1cd))/0xb)+parseInt(_0x2ae5ac(0x231))/0xc*(parseInt(_0x2ae5ac(0x29d))/0xd);if(_0x3ffce0===_0x181101)break;else _0x148f11['push'](_0x148f11['shift']());}catch(_0x54c59e){_0x148f11['push'](_0x148f11['shift']());}}}(_0x559d,0x8aa67));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';function _0x2831(_0x4e699f,_0x373719){_0x4e699f=_0x4e699f-0x1bb;const _0x559d38=_0x559d();let _0x28314e=_0x559d38[_0x4e699f];return _0x28314e;}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([_0x4a93a9(0x225),_0x4a93a9(0x1e3),_0x4a93a9(0x25d),_0x4a93a9(0x20a),'goto',_0x4a93a9(0x280),'snapshot',_0x4a93a9(0x201)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4e3e35,_0x4bb2d6){return join(_0x4e3e35,_0x4bb2d6);}export class NovaActArtifactRecorder{['params'];[_0x4a93a9(0x29f)]=null;[_0x4a93a9(0x27c)]=null;[_0x4a93a9(0x29b)]=null;['frameWrites']=[];['frameCount']=0x0;[_0x4a93a9(0x269)]=0x0;['traceSampleTimer']=null;[_0x4a93a9(0x279)]=null;[_0x4a93a9(0x262)]=![];['screencastStarted']=![];['startAttempted']=![];[_0x4a93a9(0x285)]=![];constructor(_0x13ca4f){this['params']=_0x13ca4f;}async[_0x4a93a9(0x254)](){const _0x2fe0c0=_0x4a93a9,_0x402487={'sySEQ':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','lTXOh':_0x2fe0c0(0x1d1)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x2e015e=await this[_0x2fe0c0(0x246)](),_0x32b029=_0x2e015e['cdp_endpoint'];if(!_0x32b029)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x2fe0c0(0x268)]);await mkdir(this['params'][_0x2fe0c0(0x213)],{'recursive':!![]}),this['browser']=await chromium[_0x2fe0c0(0x1d6)](_0x32b029,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x2fe0c0(0x29f)]['contexts']()[0x0]??null;if(!this[_0x2fe0c0(0x27c)])throw new Error(_0x402487['sySEQ']);await this[_0x2fe0c0(0x27c)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x2fe0c0(0x262)]=!![],this[_0x2fe0c0(0x297)](),await this[_0x2fe0c0(0x283)](),this[_0x2fe0c0(0x240)]['telemetry']['trackPhaseStart'](_0x2fe0c0(0x1d1),{...this[_0x2fe0c0(0x240)][_0x2fe0c0(0x1d2)],'cdpEndpoint':_0x32b029,'browserPid':_0x2e015e['browser_pid'],'sessionState':_0x2e015e['state']}),this[_0x2fe0c0(0x240)][_0x2fe0c0(0x226)][_0x2fe0c0(0x1d3)](_0x402487[_0x2fe0c0(0x224)],{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x2fe0c0(0x1df)]});}async[_0x4a93a9(0x22c)](){const _0x384f76=_0x4a93a9;if(this[_0x384f76(0x285)])return;this['stopped']=!![];const _0x1aa844={...this['params'][_0x384f76(0x1d2)],'frameCount':this[_0x384f76(0x27b)],'traceSampleCount':this[_0x384f76(0x269)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x384f76(0x1df)]};this['params'][_0x384f76(0x226)]['trackPhaseStart']('nova_act_artifact_recording_stop',_0x1aa844);try{await this[_0x384f76(0x24b)](),await this['captureTraceSample'](),await this[_0x384f76(0x26e)](),await Promise[_0x384f76(0x1e7)](this['frameWrites']);this[_0x384f76(0x27c)]&&this[_0x384f76(0x262)]&&await this['context'][_0x384f76(0x1ca)][_0x384f76(0x22c)]({'path':buildCliArtifactPath(this[_0x384f76(0x240)]['cliArtifactDir'],'trace.zip')});const _0x24923e=await this['encodeScreencastVideo']();this['params'][_0x384f76(0x226)][_0x384f76(0x1d3)]('nova_act_artifact_recording_stop',{..._0x1aa844,'videoPath':_0x24923e});}catch(_0x537dd2){await this[_0x384f76(0x240)][_0x384f76(0x226)]['trackPhaseError']('nova_act_artifact_recording_stop',_0x537dd2,_0x1aa844);}finally{await this[_0x384f76(0x29f)]?.['close']()[_0x384f76(0x20b)](()=>undefined),this['browser']=null,this['context']=null,this[_0x384f76(0x29b)]=null;}}async[_0x4a93a9(0x246)](){const _0x2471cc=_0x4a93a9,_0x479fdb={'NzHYG':function(_0x32f50e,_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7){return _0x32f50e(_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7);},'VeCtr':function(_0x262540){return _0x262540();},'wCJLZ':'browser','Ronjb':'sessions','vDOgr':_0x2471cc(0x1c5),'MXXOy':function(_0x5f3ef8,_0x4f36b8){return _0x5f3ef8(_0x4f36b8);},'tOnEK':function(_0x4368a4,_0x51a252){return _0x4368a4-_0x51a252;},'ZFKBb':function(_0xc7f6bd,_0x387202){return _0xc7f6bd instanceof _0x387202;}},_0x513739=_0x479fdb[_0x2471cc(0x26c)](join,_0x479fdb[_0x2471cc(0x296)](homedir),_0x2471cc(0x1f9),_0x479fdb[_0x2471cc(0x281)],_0x479fdb['Ronjb'],this[_0x2471cc(0x240)][_0x2471cc(0x1f3)][_0x2471cc(0x268)]+_0x2471cc(0x1dd)),_0xc543ec=Date[_0x2471cc(0x28b)]();let _0x504e48;do{try{const _0x29728b=JSON['parse'](await readFile(_0x513739,_0x479fdb[_0x2471cc(0x253)]));if(_0x29728b['cdp_endpoint'])return _0x29728b;_0x504e48=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x513739);}catch(_0x38e7f6){_0x504e48=_0x38e7f6;}await _0x479fdb['MXXOy'](delay,0x64);}while(_0x479fdb[_0x2471cc(0x1e9)](Date[_0x2471cc(0x28b)](),_0xc543ec)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x479fdb['ZFKBb'](_0x504e48,Error))throw _0x504e48;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x513739);}async[_0x4a93a9(0x283)](){const _0x41f503=_0x4a93a9,_0x5de6b3={'uGymZ':_0x41f503(0x1c4),'QoeTy':_0x41f503(0x275),'EXcdB':_0x41f503(0x27f)};if(!this[_0x41f503(0x27c)])return;const _0x5a6409=this['context'][_0x41f503(0x1c6)]()[0x0];if(!_0x5a6409)return;const _0x507d3b=this[_0x41f503(0x1eb)]();await mkdir(_0x507d3b,{'recursive':!![]});const _0x3fa6bc=await this['context']['newCDPSession'](_0x5a6409);this['frameSession']=_0x3fa6bc,_0x3fa6bc['on'](_0x41f503(0x1c3),_0x2c244c=>{const _0x4ffbe2=_0x41f503,_0x4cde54=++this[_0x4ffbe2(0x27b)],_0x5a1644=join(_0x507d3b,'frame-'+String(_0x4cde54)['padStart'](0x6,'0')+'.jpg'),_0x151c5d=writeFile(_0x5a1644,Buffer['from'](_0x2c244c[_0x4ffbe2(0x21f)],_0x5de6b3['uGymZ']))[_0x4ffbe2(0x20b)](()=>undefined)[_0x4ffbe2(0x24a)](()=>_0x3fa6bc['send']('Page.screencastFrameAck',{'sessionId':_0x2c244c[_0x4ffbe2(0x268)]}))['then'](()=>undefined)[_0x4ffbe2(0x20b)](()=>undefined);this['frameWrites']['push'](_0x151c5d);}),await _0x3fa6bc[_0x41f503(0x266)](_0x5de6b3['QoeTy'],{'format':_0x5de6b3[_0x41f503(0x1e0)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x4a93a9(0x26e)](){const _0x46f52c=_0x4a93a9;if(!this[_0x46f52c(0x29b)]||!this[_0x46f52c(0x1df)])return;await this['frameSession']['send'](_0x46f52c(0x20f))[_0x46f52c(0x20b)](()=>undefined);}['startTraceSampling'](){const _0x1b5c11=_0x4a93a9,_0x4cfd35={'fbJpj':function(_0x4d64c,_0x2d2861,_0x3aba66){return _0x4d64c(_0x2d2861,_0x3aba66);}};this[_0x1b5c11(0x1f6)](),this['traceSampleTimer']=_0x4cfd35[_0x1b5c11(0x1bb)](setInterval,()=>this[_0x1b5c11(0x1f6)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x4df649=_0x4a93a9;if(this[_0x4df649(0x279)])return;this[_0x4df649(0x279)]=this[_0x4df649(0x1fe)]()['finally'](()=>{const _0x18d9e3=_0x4df649;this[_0x18d9e3(0x279)]=null;});}async[_0x4a93a9(0x24b)](){const _0x1b25f6=_0x4a93a9;this[_0x1b25f6(0x23d)]&&(clearInterval(this[_0x1b25f6(0x23d)]),this[_0x1b25f6(0x23d)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x29f61a=_0x4a93a9,_0x6a653b={'uNgel':_0x29f61a(0x1fc)},_0x66e1b=this['context']?.['pages']()[0x0];if(!_0x66e1b)return;try{await _0x66e1b[_0x29f61a(0x20c)](_0x6a653b[_0x29f61a(0x1ee)])[_0x29f61a(0x200)](_0x5d25b2=>_0x5d25b2[_0x29f61a(0x221)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x288a0f=_0x4a93a9,_0x5d92aa={'MZBnN':function(_0x436ed8){return _0x436ed8();},'HblKo':function(_0x15778a,_0x4d777d,_0x928cca){return _0x15778a(_0x4d777d,_0x928cca);},'usQAB':_0x288a0f(0x242),'NIMkN':'-hide_banner','jbJhp':'error','dPHLW':'frame-%06d.jpg','TEKFG':'-c:v','ECOmV':'libvpx-vp9'};if(this['frameCount']<0x2)return null;const _0x3d1cd3=await _0x5d92aa[_0x288a0f(0x1ce)](resolveFfmpegPath);if(!_0x3d1cd3)return null;const _0x19667a=_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x240)][_0x288a0f(0x213)],'videos');await _0x5d92aa[_0x288a0f(0x294)](mkdir,_0x19667a,{'recursive':!![]});const _0x44c34b=_0x5d92aa[_0x288a0f(0x294)](join,_0x19667a,_0x5d92aa['usQAB']);return await _0x5d92aa[_0x288a0f(0x294)](execFileAsync,_0x3d1cd3,['-y',_0x5d92aa[_0x288a0f(0x205)],_0x288a0f(0x21d),_0x5d92aa[_0x288a0f(0x28f)],_0x288a0f(0x28a),'10','-i',_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x1eb)](),_0x5d92aa[_0x288a0f(0x252)]),_0x288a0f(0x26f),_0x288a0f(0x236),_0x5d92aa[_0x288a0f(0x235)],_0x5d92aa[_0x288a0f(0x1f7)],_0x288a0f(0x28e),_0x288a0f(0x282),_0x44c34b]),_0x44c34b;}[_0x4a93a9(0x1eb)](){const _0x31ed9b=_0x4a93a9,_0x53b5f3={'dAoXk':function(_0x2dc19b,_0x45bd73,_0x517ce5){return _0x2dc19b(_0x45bd73,_0x517ce5);},'EDUvO':'nova-video-frames'};return _0x53b5f3['dAoXk'](join,this['params']['cliArtifactDir'],_0x53b5f3[_0x31ed9b(0x23b)]);}}async function delay(_0x45b99e){await new Promise(_0x12d329=>setTimeout(_0x12d329,_0x45b99e));}async function resolveFfmpegPath(){const _0x435a8b=_0x4a93a9,_0x40daed={'qAuSY':_0x435a8b(0x278),'KkXPL':function(_0x4bc989,_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50){return _0x4bc989(_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50);},'IoWDS':function(_0x2af638){return _0x2af638();},'tRlIw':'ms-playwright','lWeFy':function(_0x2b9957,_0x3e314b){return _0x2b9957(_0x3e314b);}};if(await canRunFfmpeg('ffmpeg'))return _0x40daed['qAuSY'];const _0x52d44b=[_0x40daed[_0x435a8b(0x24f)](join,_0x40daed['IoWDS'](homedir),'Library',_0x435a8b(0x295),_0x40daed['tRlIw']),join(_0x40daed[_0x435a8b(0x1dc)](homedir),_0x435a8b(0x263),_0x435a8b(0x215))];for(const _0x29578d of _0x52d44b){try{const _0x27662c=await readdir(_0x29578d),_0x4ae38d=_0x27662c[_0x435a8b(0x1e5)](_0x48769b=>_0x48769b['startsWith']('ffmpeg-'))[_0x435a8b(0x1ec)]()['reverse']()['flatMap'](_0x116dd6=>[join(_0x29578d,_0x116dd6,'ffmpeg-mac'),join(_0x29578d,_0x116dd6,_0x435a8b(0x20d)),join(_0x29578d,_0x116dd6,_0x435a8b(0x211))]);for(const _0x84e7cc of _0x4ae38d){if(await _0x40daed['lWeFy'](canRunFfmpeg,_0x84e7cc))return _0x84e7cc;}}catch{}}return null;}async function canRunFfmpeg(_0x47fd11){const _0xc30337=_0x4a93a9,_0x4a16f5={'nYLUW':function(_0x1a2ce4,_0x2101c6,_0x3d5965){return _0x1a2ce4(_0x2101c6,_0x3d5965);},'QWXoR':'-version'};try{return await _0x4a16f5[_0xc30337(0x1fa)](execFileAsync,_0x47fd11,[_0x4a16f5['QWXoR']]),!![];}catch{return![];}}function toStepDisplayName(_0x54e254){const _0x571a10=_0x4a93a9,_0x37da81=basename(_0x54e254)[_0x571a10(0x1d8)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x571a10(0x1d8)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x37da81,'isKeyStep':/^key_/i[_0x571a10(0x210)](basename(_0x54e254))};}function extractShellValue(_0x25d7b4){if(!_0x25d7b4)return null;return _0x25d7b4[0x1]??_0x25d7b4[0x2]??_0x25d7b4[0x3]??null;}function extractOutputOption(_0x52c3a2){const _0x39b581={'rAopA':function(_0x53b238,_0x4de293){return _0x53b238(_0x4de293);}};return _0x39b581['rAopA'](extractShellValue,_0x52c3a2['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x227e20,_0x54e25a){const _0x163b78=_0x4a93a9,_0x543a78={'dFzBW':_0x163b78(0x225),'lOENI':'create\x20Nova\x20browser\x20session','zWkpS':_0x163b78(0x25d),'OlBSe':_0x163b78(0x255),'NCnHU':_0x163b78(0x280),'qyHjQ':'wait\x20for\x20page\x20condition','lkVKX':'snapshot','qEiTM':function(_0x3a5a83,_0x57f818){return _0x3a5a83(_0x57f818);},'vRWjd':_0x163b78(0x201),'jKnKl':'export\x20Nova\x20session'};switch(_0x54e25a){case _0x543a78[_0x163b78(0x1bf)]:return _0x543a78[_0x163b78(0x29a)];case _0x163b78(0x1e3):return'execute\x20Nova\x20browser\x20action';case _0x543a78[_0x163b78(0x287)]:return _0x163b78(0x1c9);case'ask':return _0x163b78(0x247);case'goto':return _0x543a78[_0x163b78(0x24d)];case _0x543a78['NCnHU']:return _0x543a78[_0x163b78(0x27d)];case _0x543a78['lkVKX']:{const _0x5372c8=_0x543a78[_0x163b78(0x270)](extractOutputOption,_0x227e20);if(!_0x5372c8)return'capture\x20snapshot';const {name:_0x321c6a}=toStepDisplayName(_0x5372c8);return'capture\x20snapshot\x20`'+_0x321c6a+'`';}case _0x543a78['vRWjd']:{const _0x4601ab=_0x543a78['qEiTM'](extractOutputOption,_0x227e20);if(!_0x4601ab)return'capture\x20screenshot';const {name:_0x44f017,isKeyStep:_0x48da5e}=_0x543a78[_0x163b78(0x270)](toStepDisplayName,_0x4601ab);return _0x48da5e?'capture\x20key\x20step\x20`'+_0x44f017+'`':'capture\x20step\x20`'+_0x44f017+'`';}case'session\x20export':return _0x543a78['jKnKl'];default:return _0x54e25a;}}function getNovaActCliCommandBlockReason(_0x2ef727){const _0x3e4ee8=_0x4a93a9,_0x193139={'gTcPe':function(_0x3b0559,_0x21a13a){return _0x3b0559(_0x21a13a);},'EhisT':_0x3e4ee8(0x1d9),'frDCp':function(_0x2f6280,_0xd7636e){return _0x2f6280===_0xd7636e;},'FlFhE':'verify','FiCcQ':'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.','lkTEu':_0x3e4ee8(0x1bd)},_0x12e2ae=_0x193139[_0x3e4ee8(0x256)](parseNovaActCliCommand,_0x2ef727);if(!_0x12e2ae)return _0x193139[_0x3e4ee8(0x284)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x3e4ee8(0x23e)](_0x12e2ae))return _0x3e4ee8(0x232)+_0x12e2ae+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x193139['frDCp'](_0x12e2ae,_0x193139['FlFhE'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x1c8)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x272)];return null;}function buildFeedbackSection(_0x685364){const _0x3102ac=_0x4a93a9,_0x3a58f5={'zBreU':_0x3102ac(0x28d),'qtSCt':'short','tJzWt':_0x3102ac(0x1f2),'NINUe':function(_0x4a3c47,_0x3ed5c1){return _0x4a3c47===_0x3ed5c1;}};if(!_0x685364||_0x3a58f5['NINUe'](_0x685364['unaddressedComments']['length'],0x0))return'';const _0x3c4792=_0x685364[_0x3102ac(0x1e1)][_0x3102ac(0x273)](_0x1a4b05=>{const _0x1f3ad0=_0x3102ac,_0x2961af=new Date(_0x1a4b05['createdAt'])['toLocaleDateString'](_0x3a58f5[_0x1f3ad0(0x271)],{'month':_0x3a58f5['qtSCt'],'day':_0x1f3ad0(0x25f)}),_0x22faee=_0x1a4b05[_0x1f3ad0(0x1ef)]||_0x1a4b05[_0x1f3ad0(0x203)]||_0x1f3ad0(0x27a),_0x5b6b90=_0x1a4b05['domRef']?_0x1f3ad0(0x259)+(_0x1a4b05[_0x1f3ad0(0x23a)]['selector'][_0x1f3ad0(0x267)](_0x3a58f5[_0x1f3ad0(0x29e)])[_0x1f3ad0(0x1f5)]()?.['split'](':')[0x0]||'element')+_0x1f3ad0(0x1d5)+(_0x1a4b05['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1f3ad0(0x26d)+_0x1a4b05['id']+']\x20**'+_0x22faee+_0x1f3ad0(0x286)+_0x2961af+_0x1f3ad0(0x228)+_0x1a4b05[_0x1f3ad0(0x233)]+'\x22'+_0x5b6b90;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x3c4792;}function buildNovaSharedOptionsInstruction(_0x3e5dc4){const _0x7a102e=_0x4a93a9;if(!_0x3e5dc4[_0x7a102e(0x298)]())return _0x7a102e(0x1d4);return _0x7a102e(0x23c)+_0x3e5dc4;}function _0x559d(){const _0x348ced=['locator','ffmpeg-linux','values','Page.stopScreencast','test','ffmpeg.exe','GzyTw','cliArtifactDir','env','ms-playwright','01_initial-state.png','uLdji','shellCommand','\x20session\x20create\x20','\x20snapshot\x20--output\x20','RsvLN','session','-loglevel','PKLPx','data','subcommand','tagName','RWITC','35wdfahZ','lTXOh','session\x20create','telemetry','585501PkOwOF','):\x20\x22','tNITz','--report','`.\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`','stop','02_final-state.yml','trackPhaseStart','nova_act_session_close','--output','84zjLswe','Nova\x20command\x20`','content','Bash','TEKFG','scale=trunc(iw/2)*2:trunc(ih/2)*2','rtvZk','`\x0a-\x20`','set','domRef','EDUvO','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','traceSampleTimer','has','ZWceg','params','[nova-act-cli]\x20','session-recording.webm','tool_name','IZDar','nJXRq','readSessionMetadataWithRetry','ask\x20page\x20question','invocation','wHNmB','finally','stopTraceSampling','1144zETxwF','OlBSe','`\x0a6.\x20Run\x20`','KkXPL','stdout','MxOuD','dPHLW','vDOgr','start','navigate\x20browser','gTcPe','PostToolUse','qceMd','\x20(on\x20element:\x20<','15681pMExZo','nova-act-cli','PLTlh','verify','hRPAS','numeric','--format','name','tracingStarted','.cache','JSHqr','push','send','split','sessionId','traceSampleCount','nova_act_final_snapshot','5RnBXZE','NzHYG','-\x20[','stopScreencast','-vf','qEiTM','zBreU','lkTEu','map','phase','Page.startScreencast','export','zcilT','ffmpeg','traceSampleInFlight','Reviewer','frameCount','context','qyHjQ','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','jpeg','wait-for','wCJLZ','yuv420p','startScreencast','EhisT','stopped','**\x20(','zWkpS','xSKIh','56502lXslCt','-framerate','now','FVTat','en-US','-pix_fmt','jbJhp','\x0a\x0aExamples:\x0a-\x20`','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','TXTaH','wCpkB','HblKo','Caches','VeCtr','startTraceSampling','trim','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','lOENI','frameSession','notes','2606279wPVROo','tJzWt','browser','fbJpj','commandArgs','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','zip','dFzBW','isFile','nova-user-data/*','140BKxoaH','Page.screencastFrame','base64','utf-8','pages','\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`','FiCcQ','verify\x20page\x20condition','tracing','key_03_success-state.png','tool_input','154935XNRJRr','MZBnN','keys','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','nova_act_artifact_recording','transportMetadata','trackPhaseEnd','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.','>\x20\x22','connectOverCDP','canonicalFlow','replace','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','gWJnC','nova_act_command','IoWDS','.json','\x20screenshot\x20--output\x20','screencastStarted','EXcdB','unaddressedComments','spmdn','execute','nova_act_final_screenshot','filter','518436lFOSgp','allSettled','UJcyJ','tOnEK','snapshot','getFrameDir','sort','114ROgodw','uNgel','authorName','key_final-state.png','`.\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`','\x20>\x20','novaOptions','trace.zip','pop','queueTraceSample','ECOmV','hook_event_name','.act_cli','nYLUW','nova-artifacts.zip','body','\x0a\x0a##\x20Additional\x20Notes\x0a','captureTraceSample','`\x0a4.\x20Run\x20one\x20batched\x20`','evaluate','screenshot','1606104oQRdud','authorEmail','WKKYu','NIMkN','get','BXwFQ','trackPhaseError','`\x0a2.\x20Run\x20`','ask','catch'];_0x559d=function(){return _0x348ced;};return _0x559d();}export function buildVerifyFeatureNovaCliDebugPrompt(_0x231a2f){const _0x3add48=_0x4a93a9,_0x5319b7={'RsvLN':function(_0x575b70,_0x43fc36,_0x365bd5){return _0x575b70(_0x43fc36,_0x365bd5);},'nCpSK':'00_initial-state.yml','MxOuD':function(_0x34accf,_0x2aac9d,_0x4a134a){return _0x34accf(_0x2aac9d,_0x4a134a);},'gWJnC':_0x3add48(0x22d),'GzyTw':'03_final-state.png','RWITC':function(_0x3dadba,_0x59e9a7){return _0x3dadba(_0x59e9a7);}},{novaCommandPrefix:_0x38a377,novaSharedOptionsSuffix:_0x411c24,cliArtifactDir:_0xd14d50,url:_0x23f238}=_0x231a2f,_0x94a045=_0x5319b7[_0x3add48(0x21b)](buildCliArtifactPath,_0xd14d50,_0x5319b7['nCpSK']),_0x2c3df4=buildCliArtifactPath(_0xd14d50,'01_initial-state.png'),_0x450321=_0x5319b7[_0x3add48(0x251)](buildCliArtifactPath,_0xd14d50,_0x5319b7[_0x3add48(0x1da)]),_0x38e335=buildCliArtifactPath(_0xd14d50,_0x5319b7[_0x3add48(0x212)]);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'+_0x38a377+'\x0a\x0a'+_0x5319b7['RWITC'](buildNovaSharedOptionsInstruction,_0x411c24)+_0x3add48(0x1c7)+_0x38a377+'\x20session\x20create\x20'+quoteShellArg(_0x23f238)+'\x20'+_0x411c24+_0x3add48(0x209)+_0x38a377+_0x3add48(0x21a)+quoteShellArg(_0x94a045)+'\x20'+_0x411c24+'`\x0a3.\x20Run\x20`'+_0x38a377+_0x3add48(0x1de)+quoteShellArg(_0x2c3df4)+'\x20'+_0x411c24+_0x3add48(0x1ff)+_0x38a377+_0x3add48(0x299)+_0x38a377+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x450321)+'\x20'+_0x411c24+_0x3add48(0x24e)+_0x38a377+_0x3add48(0x1de)+_0x5319b7[_0x3add48(0x222)](quoteShellArg,_0x38e335)+'\x20'+_0x411c24+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0xd14d50+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x4c4a10){const _0x501713=_0x4a93a9,_0x593000={'FVTat':'01_initial.yml','sUwet':function(_0x2d7e20,_0x1f882e,_0x18b52a){return _0x2d7e20(_0x1f882e,_0x18b52a);},'MRIZg':_0x501713(0x216),'JmQkH':function(_0xa9ef81,_0x2dae83,_0x4699c7){return _0xa9ef81(_0x2dae83,_0x4699c7);},'RLSuk':_0x501713(0x1cb),'GCHqW':function(_0x2c784a,_0x3e11d3){return _0x2c784a(_0x3e11d3);}},{checklistItem:_0x557c46,itemFeedback:_0x13b2df,taskDescription:_0x135869,novaCommandPrefix:_0x162d22,novaSharedOptionsSuffix:_0x3b9a66,cliArtifactDir:_0x13dd95,url:_0x410f19,loginInstructions:_0x47cc72}=_0x4c4a10,_0x16181f=_0x557c46[_0x501713(0x29c)]?_0x501713(0x1fd)+_0x557c46['notes']:'',_0x421053=buildFeedbackSection(_0x13b2df),_0x5512a2=_0x13b2df?.[_0x501713(0x1d7)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x13b2df[_0x501713(0x1d7)]:'',_0x329391=_0x47cc72?_0x501713(0x27e)+_0x47cc72+_0x501713(0x1d0):'',_0x4e1d9d=buildCliArtifactPath(_0x13dd95,_0x593000[_0x501713(0x28c)]),_0x574ce7=_0x593000['sUwet'](buildCliArtifactPath,_0x13dd95,_0x593000['MRIZg']),_0x3c8894=_0x593000['JmQkH'](buildCliArtifactPath,_0x13dd95,_0x593000['RLSuk']);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'+_0x557c46['description']+_0x16181f+_0x421053+_0x5512a2+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x135869+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x410f19+'\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'+_0x329391+'\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`'+_0x162d22+_0x501713(0x219)+quoteShellArg(_0x410f19)+'\x20'+_0x3b9a66+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x13dd95+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x162d22+_0x501713(0x1de)+quoteShellArg(_0x574ce7)+'\x20'+_0x3b9a66+_0x501713(0x1f1)+_0x3c8894+_0x501713(0x22b)+_0x162d22+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x3b9a66[_0x501713(0x298)]()?'`'+_0x3b9a66+'`':_0x501713(0x291))+'\x0a\x0a'+_0x593000['GCHqW'](buildNovaSharedOptionsInstruction,_0x3b9a66)+_0x501713(0x290)+_0x162d22+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x3b9a66+_0x501713(0x238)+_0x162d22+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3c8894)+'\x20'+_0x3b9a66+'`\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(_0x4b6e31){const _0x577c3d=_0x4a93a9,_0x570926={'ezyiD':function(_0x49a003,_0x165026){return _0x49a003===_0x165026;}},_0x355fe6=[..._0x4b6e31[_0x577c3d(0x1cf)]()][_0x577c3d(0x1ec)]();let _0x34cb30=0x0;for(const _0x370f9a of _0x4b6e31[_0x577c3d(0x20e)]()){_0x34cb30+=_0x370f9a;}return{'cliCommandCount':_0x34cb30,'cliCommandsSeen':_0x355fe6,'noCliCommandsCalled':_0x570926['ezyiD'](_0x34cb30,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x3a6435,_0x380e70){const _0x36d6b9=_0x4a93a9,_0x3f6946={'BXwFQ':function(_0x392670,_0x42a92f){return _0x392670!==_0x42a92f;},'RnksF':function(_0x86f543,_0x5daf46){return _0x86f543(_0x5daf46);},'xSKIh':function(_0x247632,_0x2ec924){return _0x247632(_0x2ec924);},'wHNmB':_0x36d6b9(0x257),'IZDar':_0x36d6b9(0x234),'INIeI':function(_0x111a17,_0x3195d8){return _0x111a17+_0x3195d8;},'qceMd':function(_0x41a811,_0x3a5f43,_0x4254b5){return _0x41a811(_0x3a5f43,_0x4254b5);},'zCYTG':'session\x20create','ePFxA':'nova-act-cli'},_0x510bf6=new Map(),_0x4493b9=async _0x2bee43=>{const _0x4268d3=_0x36d6b9;if(_0x2bee43[_0x4268d3(0x1f8)]!=='PreToolUse')return{};const _0x580e09=_0x2bee43;if(_0x3f6946[_0x4268d3(0x207)](_0x580e09['tool_name'],'Bash'))return{};const _0x286d5f=_0x580e09['tool_input'],_0x4affc9=_0x3f6946['RnksF'](extractBashCommand,_0x286d5f);if(!_0x4affc9)return{};const _0x2c9e0b=_0x3f6946[_0x4268d3(0x288)](getNovaActCliCommandBlockReason,_0x4affc9);if(!_0x2c9e0b)return{};return{'decision':'block','reason':_0x2c9e0b};},_0x34fa0c=async _0x321627=>{const _0x3b8637=_0x36d6b9;if(_0x3f6946[_0x3b8637(0x207)](_0x321627[_0x3b8637(0x1f8)],_0x3f6946[_0x3b8637(0x249)]))return{};const _0x2e2e4e=_0x321627;if(_0x2e2e4e[_0x3b8637(0x243)]!==_0x3f6946[_0x3b8637(0x244)])return{};const _0x135215=_0x2e2e4e[_0x3b8637(0x1cc)],_0x3a5d3c=extractBashCommand(_0x135215);if(!_0x3a5d3c)return{};const _0x43c8f1=parseNovaActCliCommand(_0x3a5d3c);if(!_0x43c8f1)return{};_0x510bf6[_0x3b8637(0x239)](_0x43c8f1,_0x3f6946['INIeI'](_0x510bf6[_0x3b8637(0x206)](_0x43c8f1)||0x0,0x1)),_0x3a6435[_0x3b8637(0x22e)]('nova_act_command',{'subcommand':_0x43c8f1}),_0x3a6435['trackPhaseEnd'](_0x3b8637(0x1db),{'subcommand':_0x43c8f1,'commandPreview':previewNovaActCliCommand(_0x3a5d3c)}),console['log'](_0x3b8637(0x241)+_0x3f6946[_0x3b8637(0x258)](formatNovaActCliLog,_0x3a5d3c,_0x43c8f1));if(_0x43c8f1===_0x3f6946['zCYTG']&&_0x380e70)try{await _0x380e70[_0x3b8637(0x254)]();}catch(_0x10b8ae){await _0x3a6435['trackPhaseError']('nova_act_artifact_recording',_0x10b8ae,{'transport':_0x3b8637(0x25b)});}return{};},_0x3a9e84=async _0x9be7ad=>{const _0x2a1870=_0x36d6b9;if(_0x9be7ad['hook_event_name']!=='PostToolUseFailure')return{};const _0x191f61=_0x9be7ad;if(_0x3f6946[_0x2a1870(0x207)](_0x191f61[_0x2a1870(0x243)],_0x2a1870(0x234)))return{};return await _0x3a6435[_0x2a1870(0x208)]('nova_act_command_failure',_0x191f61['error'],{'transport':_0x3f6946['ePFxA'],'toolName':_0x3f6946[_0x2a1870(0x244)]}),{};};return{'preToolUseHook':_0x4493b9,'postToolUseHook':_0x34fa0c,'postToolUseFailureHook':_0x3a9e84,'commandCounts':_0x510bf6};}async function runNovaLifecycleCommand(_0x2740c0){const _0x3c6c91=_0x4a93a9,_0x454cda={'oJweD':function(_0x662de9,_0x5a42a3){return _0x662de9??_0x5a42a3;},'tNITz':function(_0x1e1d3e,_0x3a8320){return _0x1e1d3e(_0x3a8320);}},{novaOptions:_0x2fc613,commandArgs:_0x58413d,telemetry:_0x105d28,phase:_0x5d652b,metadata:_0x221240,timeoutMs:_0x160d89}=_0x2740c0;_0x105d28[_0x3c6c91(0x22e)](_0x5d652b,_0x221240);try{const _0x5b7662=await runNovaActCliCommand({..._0x2fc613,'commandArgs':_0x58413d,'cwd':process['cwd'](),'env':process[_0x3c6c91(0x214)],'timeoutMs':_0x454cda['oJweD'](_0x160d89,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x105d28['trackPhaseEnd'](_0x5d652b,{..._0x221240,'subcommand':_0x5b7662['invocation']['subcommand'],'commandPreview':previewNovaActCliCommand(_0x5b7662[_0x3c6c91(0x248)][_0x3c6c91(0x218)]),'stdoutPreview':_0x454cda[_0x3c6c91(0x229)](previewNovaActCliCommand,_0x5b7662[_0x3c6c91(0x250)]),'stderrPreview':previewNovaActCliCommand(_0x5b7662['stderr']),'logDir':extractNovaActLogDir(_0x5b7662[_0x3c6c91(0x250)])});}catch(_0x14a520){await _0x105d28[_0x3c6c91(0x208)](_0x5d652b,_0x14a520,_0x221240);throw _0x14a520;}}export async function finalizeVerifyFeatureNovaCliSession(_0x238717){const _0x266fff=_0x4a93a9,_0x1c07c8={'UJcyJ':_0x266fff(0x1e4),'JSHqr':_0x266fff(0x1f0),'uLdji':_0x266fff(0x1ea),'spmdn':_0x266fff(0x230),'ZWceg':function(_0x49d55e,_0xfa3a11,_0x1c3468){return _0x49d55e(_0xfa3a11,_0x1c3468);},'MEQBL':_0x266fff(0x21c),'nJXRq':_0x266fff(0x260),'NAigB':'nova_act_session_report','wCpkB':'export','WKKYu':_0x266fff(0x22a),'vDLHx':'nova-report','hRPAS':'close','xWPIA':_0x266fff(0x22f),'EnvNF':function(_0x11899d,_0x1b9028){return _0x11899d(_0x1b9028);}},{telemetry:_0x2d8ce2,novaOptions:_0x149fec,cliArtifactDir:_0x30b012,transportMetadata:_0x4fde5d,artifactRecorder:_0x1b653a}=_0x238717,_0x4fae22=[{'phase':_0x1c07c8[_0x266fff(0x1e8)],'commandArgs':[_0x266fff(0x201),'--output',buildCliArtifactPath(_0x30b012,_0x1c07c8[_0x266fff(0x264)])]},{'phase':_0x266fff(0x26a),'commandArgs':[_0x1c07c8[_0x266fff(0x217)],_0x1c07c8[_0x266fff(0x1e2)],_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':[_0x1c07c8['MEQBL'],_0x266fff(0x276),_0x1c07c8[_0x266fff(0x245)],'json',_0x1c07c8['spmdn'],buildCliArtifactPath(_0x30b012,'nova-session-export.json')]},{'phase':_0x1c07c8['NAigB'],'commandArgs':['session',_0x1c07c8[_0x266fff(0x293)],_0x1c07c8[_0x266fff(0x204)],'--output-dir',_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,_0x1c07c8['vDLHx'])]},{'phase':'nova_act_session_close','commandArgs':[_0x1c07c8['MEQBL'],_0x1c07c8[_0x266fff(0x25e)]]}];for(const _0x2a22af of _0x4fae22){_0x2a22af[_0x266fff(0x274)]===_0x1c07c8['xWPIA']&&await _0x1b653a?.[_0x266fff(0x22c)]();try{await _0x1c07c8['EnvNF'](runNovaLifecycleCommand,{'novaOptions':_0x149fec,'commandArgs':[..._0x2a22af['commandArgs']],'telemetry':_0x2d8ce2,'phase':_0x2a22af['phase'],'metadata':_0x4fde5d});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3ba5dc){const _0x567500=_0x4a93a9,_0x4dd14e={'nhtUF':function(_0x1a3566,_0x3310e5,_0x391c7d){return _0x1a3566(_0x3310e5,_0x391c7d);},'PKLPx':function(_0x56d82a,_0x2e5ede,_0x58e8f7){return _0x56d82a(_0x2e5ede,_0x58e8f7);},'ntsUD':function(_0x314777,_0x104d0b,_0x9d07ad){return _0x314777(_0x104d0b,_0x9d07ad);},'pnUFU':function(_0xfd489a,_0xe25e62){return _0xfd489a<_0xe25e62;},'TXTaH':function(_0x32bcfc,_0x4eaab6){return _0x32bcfc===_0x4eaab6;}},{cwd:_0x37db49,cliArtifactDir:_0x52a0b0,startTime:_0x16edbd}=_0x3ba5dc,_0x28f66b=[];await _0x4dd14e['nhtUF'](mkdir,_0x52a0b0,{'recursive':!![]});const _0x48bfd9=await _0x4dd14e[_0x567500(0x21e)](readdir,_0x37db49,{'withFileTypes':!![]});for(const _0x5519d7 of _0x48bfd9){if(!_0x5519d7[_0x567500(0x1c0)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x567500(0x210)](_0x5519d7[_0x567500(0x261)]))continue;const _0x55dbfd=_0x4dd14e['ntsUD'](join,_0x37db49,_0x5519d7[_0x567500(0x261)]),_0x26ceae=await stat(_0x55dbfd);if(_0x4dd14e['pnUFU'](_0x26ceae['mtimeMs']+0x7d0,_0x16edbd))continue;const _0x2b084e=buildCliArtifactPath(_0x52a0b0,_0x5519d7[_0x567500(0x261)]);if(_0x4dd14e[_0x567500(0x292)](_0x55dbfd,_0x2b084e))continue;await rename(_0x55dbfd,_0x2b084e),_0x28f66b[_0x567500(0x265)](_0x5519d7['name']);}return _0x28f66b[_0x567500(0x1ec)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x2bde99){const _0x2160a0=_0x4a93a9,_0x5ac870={'PLTlh':function(_0x3376ad,_0x564f62,_0x59cbd2){return _0x3376ad(_0x564f62,_0x59cbd2);},'PLkvq':function(_0x1aca3d,_0x232b7c){return _0x1aca3d(_0x232b7c);}},_0x304a91=_0x5ac870[_0x2160a0(0x25c)](join,_0x2bde99,_0x2160a0(0x1f4));try{return{'buffer':await readFile(_0x304a91),'source':_0x304a91};}catch{return{'buffer':await _0x5ac870['PLkvq'](zipVerifyFeatureNovaArtifacts,_0x2bde99),'source':_0x2bde99};}}async function zipVerifyFeatureNovaArtifacts(_0x5de0bb){const _0x50dccc=_0x4a93a9,_0x3e6553={'zcilT':function(_0x328cb6,_0x5ddf07,_0x3a21cb,_0x5c64ac){return _0x328cb6(_0x5ddf07,_0x3a21cb,_0x5c64ac);},'SZwsP':_0x50dccc(0x1be),'GNyqN':function(_0x470298,_0x4a587d){return _0x470298(_0x4a587d);},'MLmyt':function(_0x50cb90,_0x146986,_0x5d994f){return _0x50cb90(_0x146986,_0x5d994f);}},_0xea017c=_0x3e6553['zcilT'](join,_0x5de0bb,'..',_0x50dccc(0x1fb));try{return await _0x3e6553[_0x50dccc(0x277)](execFileAsync,_0x3e6553['SZwsP'],['-qr',_0xea017c,'.','-x',_0x50dccc(0x1c1)],{'cwd':_0x5de0bb}),await _0x3e6553['GNyqN'](readFile,_0xea017c);}finally{await _0x3e6553['MLmyt'](rm,_0xea017c,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x288b39){const _0x9de1f9=_0x4a93a9,_0x9b2362={'aHvRd':function(_0x38cd75,_0x4eab9d){return _0x38cd75(_0x4eab9d);},'rtvZk':function(_0x4e5420,_0xeeb270,_0x6fdf09){return _0x4e5420(_0xeeb270,_0x6fdf09);}},_0x3ddf55=buildNovaActCliInvocation(_0x288b39['novaOptions'],_0x288b39[_0x9de1f9(0x1bc)]);return{'command':_0x3ddf55['command'],'args':_0x3ddf55['args'],'commandPreview':_0x9b2362['aHvRd'](previewNovaActCliCommand,_0x3ddf55[_0x9de1f9(0x218)]),'subcommand':_0x3ddf55[_0x9de1f9(0x220)],'sharedOptionsSuffix':_0x9b2362[_0x9de1f9(0x237)](buildNovaActCliSharedOptionsSuffix,_0x288b39[_0x9de1f9(0x1f3)],_0x288b39['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(_0x45834f,_0x41f193){const _0x12d4cd=_0x49bf,_0x252ee7=_0x45834f();while(!![]){try{const _0x45da2d=parseInt(_0x12d4cd(0x13c))/0x1+parseInt(_0x12d4cd(0x191))/0x2+parseInt(_0x12d4cd(0x18b))/0x3*(-parseInt(_0x12d4cd(0x17a))/0x4)+parseInt(_0x12d4cd(0x13e))/0x5*(parseInt(_0x12d4cd(0x171))/0x6)+-parseInt(_0x12d4cd(0x15f))/0x7+parseInt(_0x12d4cd(0x181))/0x8*(-parseInt(_0x12d4cd(0x173))/0x9)+-parseInt(_0x12d4cd(0x152))/0xa*(-parseInt(_0x12d4cd(0x160))/0xb);if(_0x45da2d===_0x41f193)break;else _0x252ee7['push'](_0x252ee7['shift']());}catch(_0xd3c584){_0x252ee7['push'](_0x252ee7['shift']());}}}(_0x37d3,0x83cd7));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(_0xbddcc7,_0x2c78eb=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x159bd0=_0x49bf,_0x1e7080={'ZxVFa':function(_0x4d5a03,_0x3eddae){return _0x4d5a03+_0x3eddae;}};return _0xbddcc7['length']>_0x2c78eb?_0x1e7080[_0x159bd0(0x162)](_0xbddcc7[_0x159bd0(0x189)](0x0,_0x2c78eb),_0x159bd0(0x137)):_0xbddcc7;}function extractShellValue(_0x516b78){if(!_0x516b78)return null;return _0x516b78[0x1]??_0x516b78[0x2]??_0x516b78[0x3]??null;}function extractFirstCommandArgument(_0x2e6a82,_0x266c58){const _0x52c3ca=_0x49bf,_0x594f0c={'pYtny':'\x5c$&','odfHF':function(_0x5b4961,_0x17a0c3){return _0x5b4961(_0x17a0c3);}},_0x260c52=_0x266c58['replace'](/[.*+?^${}()|[\]\\]/g,_0x594f0c[_0x52c3ca(0x148)]);return _0x594f0c[_0x52c3ca(0x13b)](extractShellValue,_0x2e6a82[_0x52c3ca(0x14d)](new RegExp(_0x52c3ca(0x17d)+_0x260c52+_0x52c3ca(0x164))));}function formatCommandTarget(_0x2a0c9d){const _0x3e4f1a=_0x49bf,_0x4530f1={'sYdoa':function(_0x4c133c,_0x43527d,_0x446357){return _0x4c133c(_0x43527d,_0x446357);}};if(!_0x2a0c9d)return _0x3e4f1a(0x13a);if(/^e\d+$/i[_0x3e4f1a(0x16e)](_0x2a0c9d))return'ref\x20'+_0x2a0c9d;return JSON[_0x3e4f1a(0x175)](_0x4530f1[_0x3e4f1a(0x192)](truncatePreview,_0x2a0c9d,0x78));}function _0x49bf(_0x4a9c64,_0x1f09ad){_0x4a9c64=_0x4a9c64-0x135;const _0x37d3f6=_0x37d3();let _0x49bf3b=_0x37d3f6[_0x4a9c64];return _0x49bf3b;}function formatRangerwrightCliLog(_0x32cbfe,_0x369471){const _0x1c52bd=_0x49bf,_0x5baca3={'fazTR':_0x1c52bd(0x16f),'OaXEo':function(_0x287a38,_0x440819,_0x2dd8f9){return _0x287a38(_0x440819,_0x2dd8f9);},'NaKzx':'fill-and-inspect','qlsMD':'inspect','gTGeM':'inspect\x20page'};switch(_0x369471){case _0x5baca3['fazTR']:{const _0x334c09=extractFirstCommandArgument(_0x32cbfe,_0x369471);return _0x334c09?_0x1c52bd(0x158)+_0x334c09:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x5baca3[_0x1c52bd(0x161)](extractFirstCommandArgument,_0x32cbfe,_0x369471));case _0x1c52bd(0x167):case _0x5baca3['NaKzx']:return _0x1c52bd(0x18c)+formatCommandTarget(extractFirstCommandArgument(_0x32cbfe,_0x369471));case'back-and-inspect':return _0x1c52bd(0x15c);case _0x5baca3['qlsMD']:return _0x5baca3[_0x1c52bd(0x15a)];case'tracing-stop':return'stop\x20tracing';case _0x1c52bd(0x179):return'stop\x20video\x20recording';case _0x1c52bd(0x16c):return _0x1c52bd(0x151);default:return _0x369471;}}function renderScenarioSections(_0x1ada3c){const _0x278a6a=_0x49bf,_0x48dbf6={'xEnJx':_0x278a6a(0x14a),'NPQfB':_0x278a6a(0x144),'JuCRC':_0x278a6a(0x157)},{checklistItem:_0x20613d,itemFeedback:_0x428b52}=_0x1ada3c,_0x10e546=_0x20613d[_0x278a6a(0x15d)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x20613d[_0x278a6a(0x15d)]:'';let _0x1a4d38='';if(_0x428b52&&_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x17b)]>0x0){const _0x47fe9=_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x139)](_0x1972f8=>{const _0x301ce2=_0x278a6a,_0x2f65d9=new Date(_0x1972f8['createdAt'])[_0x301ce2(0x169)](_0x301ce2(0x16a),{'month':_0x48dbf6['xEnJx'],'day':_0x48dbf6['NPQfB']}),_0x2821b6=_0x1972f8[_0x301ce2(0x182)]||_0x1972f8['authorEmail']||_0x48dbf6[_0x301ce2(0x149)],_0x582d5b=_0x1972f8['domRef']?'\x20(on\x20element:\x20<'+(_0x1972f8[_0x301ce2(0x178)]['selector']['split']('\x20>\x20')[_0x301ce2(0x135)]()?.[_0x301ce2(0x18d)](':')[0x0]||'element')+_0x301ce2(0x145)+(_0x1972f8[_0x301ce2(0x178)]['textContent']||'')[_0x301ce2(0x189)](0x0,0x32)+'\x22)':'';return _0x301ce2(0x183)+_0x1972f8['id']+']\x20'+_0x2821b6+'\x20('+_0x2f65d9+_0x301ce2(0x16d)+_0x1972f8[_0x301ce2(0x184)]+'\x22'+_0x582d5b;})[_0x278a6a(0x172)]('\x0a');_0x1a4d38=_0x278a6a(0x150)+_0x47fe9;}const _0x3a687c=_0x428b52?.[_0x278a6a(0x180)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x428b52['canonicalFlow']:'';return''+_0x20613d['description']+_0x10e546+_0x1a4d38+_0x3a687c;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x3776ad){const _0x2a4156=_0x49bf,_0x1b8a75={'xYjTa':'01_initial-state.png','Vqbxn':_0x2a4156(0x15e),'gfzyo':function(_0x1f4727,_0x4792a6){return _0x1f4727(_0x4792a6);}},{checklistItem:_0x116e15,itemFeedback:_0x4ee5f7,taskDescription:_0x50270b,commandPrefix:_0x3df775,isCdpMode:_0x57cadb,url:_0x4f317e,cdpEndpoint:_0x8f8575,loginInstructions:_0x4b118e}=_0x3776ad,_0xaa2773=_0x1b8a75[_0x2a4156(0x18e)],_0x493d2a='key_99_final-state.png',_0x43db6e=_0x57cadb?_0x3df775+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0xaa2773):_0x3df775+_0x2a4156(0x187)+quoteShellArg(_0x4f317e??_0x1b8a75[_0x2a4156(0x155)])+_0x2a4156(0x177)+_0x1b8a75[_0x2a4156(0x14b)](quoteShellArg,_0xaa2773),_0x5375b5=_0x57cadb?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x8f8575+_0x2a4156(0x153):_0x2a4156(0x163)+_0x4f317e+_0x2a4156(0x154),_0x372801=_0x4b118e?_0x2a4156(0x141)+_0x4b118e+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2a4156(0x13d)+_0x1b8a75['gfzyo'](renderScenarioSections,{'checklistItem':_0x116e15,'itemFeedback':_0x4ee5f7})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x50270b+'\x0a\x0a'+_0x5375b5+_0x372801+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x3df775+_0x2a4156(0x166)+_0x43db6e+_0x2a4156(0x142)+_0x3df775+_0x2a4156(0x188)+_0x1b8a75['gfzyo'](quoteShellArg,_0x493d2a)+_0x2a4156(0x147);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2ae68a){const _0x4a98e6=_0x49bf,_0x24342b={'TmqpM':'01_mozilla-homepage.png','dLsPN':'key_02_learn-more.png'},_0x12e51d=_0x24342b['TmqpM'],_0x28934b=_0x24342b[_0x4a98e6(0x176)];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'+_0x2ae68a[_0x4a98e6(0x140)]+_0x4a98e6(0x168)+_0x2ae68a['commandPrefix']+_0x4a98e6(0x187)+quoteShellArg(_0x2ae68a[_0x4a98e6(0x17e)])+_0x4a98e6(0x177)+quoteShellArg(_0x12e51d)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x2ae68a['commandPrefix']+_0x4a98e6(0x193)+quoteShellArg(_0x28934b)+_0x4a98e6(0x138);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x56200a){const _0x37411d=[..._0x56200a['keys']()]['sort']();let _0x39adac=0x0;for(const _0xd1090f of _0x56200a['values']()){_0x39adac+=_0xd1090f;}return{'cliCommandCount':_0x39adac,'cliCommandsSeen':_0x37411d,'noCliCommandsCalled':_0x39adac===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x53473f){const _0x4ed534=_0x49bf,_0x5ed580={'vSsdn':function(_0x483a1f,_0x27d070){return _0x483a1f!==_0x27d070;},'DcNeT':function(_0x1eccf7,_0x1fb35c){return _0x1eccf7(_0x1fb35c);},'GrSbp':function(_0x54c840,_0x1ca2e4){return _0x54c840(_0x1ca2e4);},'hIGvY':function(_0x229031,_0xddd010){return _0x229031!==_0xddd010;},'VZQUR':_0x4ed534(0x15b),'fegOp':_0x4ed534(0x14c),'dAZKz':'rangerwright-cli','svTby':'Bash'},_0x602288=new Map(),_0x5a4189=async _0x3896e2=>{const _0x3d0f2f=_0x4ed534;if(_0x5ed580[_0x3d0f2f(0x156)](_0x3896e2[_0x3d0f2f(0x14f)],_0x3d0f2f(0x17c)))return{};const _0x37e9db=_0x3896e2;if(_0x37e9db['tool_name']!==_0x3d0f2f(0x18f))return{};const _0x332a64=_0x37e9db['tool_input'],_0x540ea7=_0x5ed580['DcNeT'](extractBashCommand,_0x332a64);if(!_0x540ea7)return{};const _0x53753f=_0x5ed580['GrSbp'](parseRangerwrightCliCommand,_0x540ea7);if(!_0x53753f)return{};return _0x602288['set'](_0x53753f,(_0x602288['get'](_0x53753f)||0x0)+0x1),_0x53473f[_0x3d0f2f(0x16b)](_0x3d0f2f(0x146),{'subcommand':_0x53753f}),_0x53473f['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x53753f,'commandPreview':truncatePreview(_0x540ea7)}),console[_0x3d0f2f(0x14e)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x540ea7,_0x53753f)),{};},_0x1555bc=async _0x7dd4f7=>{const _0x2acc16=_0x4ed534;if(_0x5ed580[_0x2acc16(0x165)](_0x7dd4f7[_0x2acc16(0x14f)],_0x5ed580['VZQUR']))return{};const _0x3921b8=_0x7dd4f7;if(_0x3921b8['tool_name']!==_0x2acc16(0x18f))return{};return await _0x53473f['trackPhaseError'](_0x5ed580['fegOp'],_0x3921b8[_0x2acc16(0x17f)],{'transport':_0x5ed580[_0x2acc16(0x186)],'toolName':_0x5ed580['svTby']}),{};};return{'postToolUseHook':_0x5a4189,'postToolUseFailureHook':_0x1555bc,'commandCounts':_0x602288};}async function runRangerwrightLifecycleCommand(_0x162ecf){const _0x5ecfe3=_0x49bf,_0x5934a7={'RHRgq':function(_0x2bad4a,_0x58b2aa){return _0x2bad4a??_0x58b2aa;},'AtZpd':function(_0x4c11ab,_0x57f5d1,_0x4e4be3){return _0x4c11ab(_0x57f5d1,_0x4e4be3);}},{options:_0x1f5d49,commandArgs:_0x2a7ab9,env:_0x7daf3,telemetry:_0x17e20b,phase:_0x72c867,metadata:_0x17ce2e,timeoutMs:_0xbdced8}=_0x162ecf;_0x17e20b['trackPhaseStart'](_0x72c867,_0x17ce2e);try{const _0x2afc28=await runRangerwrightCliCommand({..._0x1f5d49,'commandArgs':_0x2a7ab9,'cwd':process[_0x5ecfe3(0x136)](),'env':_0x7daf3,'timeoutMs':_0x5934a7[_0x5ecfe3(0x143)](_0xbdced8,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x17e20b[_0x5ecfe3(0x159)](_0x72c867,{..._0x17ce2e,'subcommand':_0x2afc28['invocation'][_0x5ecfe3(0x18a)],'stdoutPreview':truncatePreview(_0x2afc28['stdout'],0x7d0),'stderrPreview':_0x5934a7['AtZpd'](truncatePreview,_0x2afc28['stderr'],0x7d0)});}catch(_0x45ad9d){await _0x17e20b['trackPhaseError'](_0x72c867,_0x45ad9d,_0x17ce2e);throw _0x45ad9d;}}function _0x37d3(){const _0x300846=['2800ThwqLY','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','\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.','Vqbxn','vSsdn','Reviewer','open\x20and\x20inspect\x20','trackPhaseEnd','gTGeM','PostToolUseFailure','go\x20back\x20and\x20inspect','notes','about:blank','5281017EaTGNw','29271yCeDFR','OaXEo','ZxVFa','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','hIGvY','\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','fill','\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`','toLocaleDateString','en-US','trackPhaseStart','close','):\x20\x22','test','open-and-inspect','rangerwright_cli_close','462558AdbkAE','join','94113lPFXdz','dryTk','stringify','dLsPN','\x20--screenshot-path\x20','domRef','video-stop','36552fRNTqg','length','PostToolUse','(?:^|\x5cs)','url','error','canonicalFlow','808nhfhTS','authorName','-\x20[','content','unaddressedComments','dAZKz','\x20open-and-inspect\x20','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','slice','subcommand','18xvxfQl','fill\x20','split','xYjTa','Bash','phase','821254HhvBCu','sYdoa','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','pop','cwd','...','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','map','target','odfHF','709921NTYvZm','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','35yikDXJ','GkqHU','commandPrefix','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','\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','RHRgq','numeric','>\x20\x22','rangerwright_cli_command','\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.','pYtny','JuCRC','short','gfzyo','rangerwright_cli_command_failure','match','log','hook_event_name','\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','close\x20browser\x20session'];_0x37d3=function(){return _0x300846;};return _0x37d3();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x318ebf){const _0x3126e9=_0x49bf,_0x109db0={'GkqHU':_0x3126e9(0x170),'jHVvX':_0x3126e9(0x16c),'dryTk':function(_0x1fb6e0,_0x2b9b41){return _0x1fb6e0(_0x2b9b41);}},{telemetry:_0x29ae77,rangerwrightOptions:_0x14d3d9,env:_0x4ed4ae,transportMetadata:_0x548bb6}=_0x318ebf,_0xc8428a=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':_0x109db0[_0x3126e9(0x13f)],'commandArgs':[_0x109db0['jHVvX']]}];for(const _0x5cb309 of _0xc8428a){try{await _0x109db0[_0x3126e9(0x174)](runRangerwrightLifecycleCommand,{'options':_0x14d3d9,'commandArgs':[..._0x5cb309['commandArgs']],'env':_0x4ed4ae,'telemetry':_0x29ae77,'phase':_0x5cb309[_0x3126e9(0x190)],'metadata':_0x548bb6});}catch{}}}
|
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.34400c2-56",
|
|
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/native-node/setup.ts --test --test-concurrency=1 ./tests/native-node/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
|
},
|