@ranger-testing/ranger-cli 3.1.7-alpha.be2850d-64 → 3.1.7-alpha.d64f22a-65

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.
Files changed (87) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/actors.js +1 -1
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -1
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -1
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/organizationEnvApi.js +1 -1
  61. package/build/commands/utils/playwrightCli.js +1 -1
  62. package/build/commands/utils/profileMessages.js +1 -1
  63. package/build/commands/utils/profileSetupBanner.js +1 -1
  64. package/build/commands/utils/projectsConfig.js +1 -1
  65. package/build/commands/utils/rangerConfig.js +1 -1
  66. package/build/commands/utils/rangerRoot.js +1 -1
  67. package/build/commands/utils/rangerwrightCli.js +1 -1
  68. package/build/commands/utils/resolveProfileContext.js +1 -1
  69. package/build/commands/utils/resolveProfileUrl.js +1 -1
  70. package/build/commands/utils/retry.js +1 -1
  71. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  72. package/build/commands/utils/sessionCache.js +1 -1
  73. package/build/commands/utils/settings.js +1 -1
  74. package/build/commands/utils/skillContent.js +1 -1
  75. package/build/commands/utils/skills.js +1 -1
  76. package/build/commands/utils/stitchWebmFiles.js +1 -1
  77. package/build/commands/utils/telemetry.js +1 -1
  78. package/build/commands/utils/tokenRefresh.js +1 -1
  79. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  80. package/build/commands/utils/tunnelClient.js +1 -1
  81. package/build/commands/utils/userApi.js +1 -1
  82. package/build/commands/utils/version.js +1 -1
  83. package/build/commands/verifyFeature.js +1 -1
  84. package/build/commands/verifyFeatureCli.js +1 -1
  85. package/build/commands/verifyFeatureNovaCli.js +1 -1
  86. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  87. package/package.json +14 -5
@@ -1 +1 @@
1
- (function(_0x28ec65,_0x2f7978){const _0x45cd62=_0x3790,_0x278990=_0x28ec65();while(!![]){try{const _0x32d06c=parseInt(_0x45cd62(0x100))/0x1+parseInt(_0x45cd62(0x129))/0x2*(parseInt(_0x45cd62(0xf3))/0x3)+-parseInt(_0x45cd62(0x137))/0x4+parseInt(_0x45cd62(0x141))/0x5+parseInt(_0x45cd62(0x11e))/0x6*(-parseInt(_0x45cd62(0x136))/0x7)+parseInt(_0x45cd62(0xda))/0x8*(-parseInt(_0x45cd62(0xcf))/0x9)+parseInt(_0x45cd62(0x132))/0xa;if(_0x32d06c===_0x2f7978)break;else _0x278990['push'](_0x278990['shift']());}catch(_0x1d983f){_0x278990['push'](_0x278990['shift']());}}}(_0x1431,0x27d31));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';function _0x1431(){const _0x3a097b=['\x20open`,\x20then\x20`','423bBwbMV','screenshot','Vdecv','vNuYP','EEcWe','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22',']\x20**','\x20snapshot\x20--filename\x20','pop','textContent','open\x20','31448XauiPg','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','Bash','error','stderr','playwright-cli','capture\x20key\x20step\x20`','notes','map','open\x20browser','\x20/\x20','aXjod','BxzKb','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','ZbPDL','push','capture\x20step\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','playwright_cli_video_stop','log','vVMbP','\x0a\x0a##\x20Additional\x20Notes\x0a','the\x20primary\x20actor','capture\x20screenshot','69TVnpdS','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','xUWGH','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','-\x20[','qBExu','Nyoow','QPEdO','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','trace.zip','TsAVL','254344qbGJdk','commandArgs','Reviewer','UKaxH','pROFE','DEBUG','name','03_result-visible.png','jRxhK','WyKAr','canonicalFlow','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','`\x20(e.g.\x20`','\x22,\x20\x22','02_learn-more.yml','WGSFP','trackPhaseError','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','join','kdgTx','replace','start\x20video\x20recording','`:\x20\x22','stdout','artifactDir','capture\x20snapshot\x20`','\x20>\x20','snapshot','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','mtimeMs','168372EprUYu','subcommand','\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a','open\x20new\x20tab','select\x20tab\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','>\x20\x22','tracing-stop','TYEMW','actorPrefixes','open','9908wqhInF','\x20open\x20','capture\x20snapshot','open\x20new\x20tab\x20','ijCVO','trace.trace.zip','[ranger-verification-agent]\x20','domRef','slice','2857640ZDJPNJ','match','session-recording.webm','env','21LbECEo','925096doGgcB','selector','get','set','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','test','\x0a\x0a1.\x20Run\x20`','\x20tracing-start`,\x20then\x20`','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks','split','46440bbGbNe','stop\x20video\x20recording','sort','\x20(on\x20element:\x20<','description','\x20screenshot\x20--filename\x20','createdAt','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','video-start','HerhY','tool_name','/01_state.png`).','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','tool_call','trackPhaseStart','**\x20(','sUrDH','srUSL','close','trackPhaseEnd','--filename=','length','PostToolUse','unaddressedComments','toLocaleDateString','element','\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','prefix','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','(?:^|\x5cs)','phase'];_0x1431=function(){return _0x3a097b;};return _0x1431();}import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function _0x3790(_0xe04b1a,_0x46cf02){_0xe04b1a=_0xe04b1a-0xc9;const _0x143187=_0x1431();let _0x379087=_0x143187[_0xe04b1a];return _0x379087;}function truncatePreview(_0x219667,_0xa10bad=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1062ed=_0x3790,_0x8d85c={'jRxhK':function(_0x34e1d0,_0x375a12){return _0x34e1d0>_0x375a12;},'CUGAH':function(_0x5c77d6,_0xf302bf){return _0x5c77d6+_0xf302bf;}};return _0x8d85c[_0x1062ed(0x108)](_0x219667['length'],_0xa10bad)?_0x8d85c['CUGAH'](_0x219667['slice'](0x0,_0xa10bad),'...'):_0x219667;}function buildCliArtifactPath(_0x593d02,_0x2ecc48){return join(_0x593d02,_0x2ecc48);}function toStepDisplayName(_0x4c3fce){const _0x59cb39=_0x3790,_0x2fb0f5=basename(_0x4c3fce)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x59cb39(0x114)](/^key_/i,'')[_0x59cb39(0x114)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x2fb0f5,'isKeyStep':/^key_/i[_0x59cb39(0x13c)](basename(_0x4c3fce))};}function extractShellValue(_0x21667d){if(!_0x21667d)return null;return _0x21667d[0x1]??_0x21667d[0x2]??_0x21667d[0x3]??null;}function extractFilenameOption(_0x5c3524){const _0x2adcbe=_0x3790;return extractShellValue(_0x5c3524[_0x2adcbe(0x133)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x30a255,_0x56f567){const _0x217a03=_0x3790,_0x29711d={'ZjPIT':'\x5c$&'},_0xd95e6b=_0x56f567[_0x217a03(0x114)](/[.*+?^${}()|[\]\\]/g,_0x29711d['ZjPIT']);return extractShellValue(_0x30a255[_0x217a03(0x133)](new RegExp(_0x217a03(0xcc)+_0xd95e6b+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x44ef0a){const _0x8e7f19=_0x3790;if(!_0x44ef0a)return'target';if(/^e\d+$/i[_0x8e7f19(0x13c)](_0x44ef0a))return'ref\x20'+_0x44ef0a;return JSON['stringify'](truncatePreview(_0x44ef0a,0x78));}function formatPlaywrightCliLog(_0x1207c6,_0x2fce51){const _0x291e0b=_0x3790,_0x402f57={'nrpOF':_0x291e0b(0xe4),'EWkMJ':'tracing-start','xUdFM':'start\x20tracing','kdgTx':_0x291e0b(0x125),'rhlWM':_0x291e0b(0x149),'Nyoow':'video-stop','FYRQS':function(_0x30fc4c,_0xe545a2){return _0x30fc4c(_0xe545a2);},'kkTkT':_0x291e0b(0x12b),'JMKPX':function(_0x24c095,_0x53ead0){return _0x24c095(_0x53ead0);},'srUSL':'check','lAlGH':function(_0x2372b8,_0xb2172d){return _0x2372b8(_0xb2172d);},'sYGDA':function(_0x773fc3,_0x1a124b){return _0x773fc3(_0x1a124b);},'ijCVO':function(_0x393b64,_0x51bc5f,_0x394fc2){return _0x393b64(_0x51bc5f,_0x394fc2);},'UKaxH':'press','fhkYq':'run-code','vVMbP':'run\x20custom\x20Playwright\x20code','zskVK':'select\x20tab'};switch(_0x2fce51){case _0x291e0b(0x128):{const _0x2f9c22=extractFirstCommandArgument(_0x1207c6,_0x2fce51);return _0x2f9c22?_0x291e0b(0xd9)+_0x2f9c22:_0x402f57['nrpOF'];}case _0x402f57['EWkMJ']:return _0x402f57['xUdFM'];case _0x402f57[_0x291e0b(0x113)]:return'stop\x20tracing';case _0x402f57['rhlWM']:return _0x291e0b(0x115);case _0x402f57[_0x291e0b(0xf9)]:return _0x291e0b(0x142);case'snapshot':{const _0x2f0d32=_0x402f57['FYRQS'](extractFilenameOption,_0x1207c6);if(!_0x2f0d32)return _0x402f57['kkTkT'];const {name:_0x273c7e}=toStepDisplayName(_0x2f0d32);return _0x291e0b(0x119)+_0x273c7e+'`';}case _0x291e0b(0xd0):{const _0x36719d=extractFilenameOption(_0x1207c6);if(!_0x36719d)return _0x291e0b(0xf2);const {name:_0xc6ca0e,isKeyStep:_0x37e2d4}=_0x402f57['JMKPX'](toStepDisplayName,_0x36719d);return _0x37e2d4?_0x291e0b(0xe1)+_0xc6ca0e+'`':_0x291e0b(0xeb)+_0xc6ca0e+'`';}case'click':return'click\x20'+_0x402f57['JMKPX'](formatCommandTarget,extractFirstCommandArgument(_0x1207c6,_0x2fce51));case _0x402f57[_0x291e0b(0x152)]:return'check\x20'+_0x402f57['lAlGH'](formatCommandTarget,extractFirstCommandArgument(_0x1207c6,_0x2fce51));case'fill':return'fill\x20'+_0x402f57['sYGDA'](formatCommandTarget,_0x402f57[_0x291e0b(0x12d)](extractFirstCommandArgument,_0x1207c6,_0x2fce51));case _0x402f57[_0x291e0b(0x103)]:return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x1207c6,_0x2fce51));case _0x402f57['fhkYq']:return _0x402f57[_0x291e0b(0xef)];case'tab-new':{const _0x7db7c5=_0x402f57['ijCVO'](extractFirstCommandArgument,_0x1207c6,_0x2fce51);return _0x7db7c5?_0x291e0b(0x12c)+_0x7db7c5:_0x291e0b(0x121);}case'tab-select':{const _0x3bb80f=extractFirstCommandArgument(_0x1207c6,_0x2fce51);return _0x3bb80f?_0x291e0b(0x122)+_0x3bb80f:_0x402f57['zskVK'];}default:return _0x2fce51;}}function extractPlaywrightCliToolDescription(_0x536f1a){const _0x5bf7a3=_0x3790,_0xfef4fa={'ssnYO':function(_0x4eb77a,_0xbf755e){return _0x4eb77a!==_0xbf755e;}},_0xccc4f8=_0x536f1a['description'];if(_0xfef4fa['ssnYO'](typeof _0xccc4f8,'string'))return null;const _0x24da89=_0xccc4f8['trim']()[_0x5bf7a3(0x114)](/\s+/g,'\x20');return _0x24da89['length']>0x0?_0x24da89:null;}export function formatPlaywrightCliConsoleLogMessage(_0x295a3f,_0x421282,_0xb80500){const _0x4d585f=_0x3790,_0x164e88=formatPlaywrightCliLog(_0x421282,_0xb80500),_0x228218=extractPlaywrightCliToolDescription(_0x295a3f);if(!_0x228218)return'[playwright-cli]\x20'+_0x164e88;if(process[_0x4d585f(0x135)][_0x4d585f(0x105)])return'[ranger-verification-agent]\x20'+_0x228218+'\x20('+_0x164e88+')';return _0x4d585f(0x12f)+_0x228218;}export function buildVerifyFeatureCliDebugPrompt(_0x1e6a02,_0x190e79){const _0x3eb22d=_0x3790,_0x854a96={'KQVlN':'00_mozilla-homepage.yml','rfILC':function(_0x43f8f4,_0x2f4cc3,_0x2750c0){return _0x43f8f4(_0x2f4cc3,_0x2750c0);},'dVQpp':'01_mozilla-homepage.png','HerhY':'03_learn-more.png','BHSPC':function(_0x8ba3e9,_0x255811){return _0x8ba3e9(_0x255811);},'pROFE':function(_0x3c36b8,_0x1074e4){return _0x3c36b8(_0x1074e4);},'WiMpg':function(_0x4450f0,_0x352d2e){return _0x4450f0(_0x352d2e);}},_0x12d2ea=buildCliArtifactPath(_0x190e79,_0x854a96['KQVlN']),_0x4b6c9b=_0x854a96['rfILC'](buildCliArtifactPath,_0x190e79,_0x854a96['dVQpp']),_0x2abede=buildCliArtifactPath(_0x190e79,_0x3eb22d(0x10e)),_0x14997e=_0x854a96['rfILC'](buildCliArtifactPath,_0x190e79,_0x854a96[_0x3eb22d(0x14a)]),_0x10cbcc=_0x854a96['BHSPC'](quoteShellArg,_0x12d2ea),_0x254b68=_0x854a96[_0x3eb22d(0x104)](quoteShellArg,_0x4b6c9b),_0x4f53ef=_0x854a96['WiMpg'](quoteShellArg,_0x2abede),_0x4ccc81=quoteShellArg(_0x14997e);return _0x3eb22d(0x148)+_0x1e6a02+_0x3eb22d(0x13d)+_0x1e6a02+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x1e6a02+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x1e6a02+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x190e79+_0x3eb22d(0xfd)+_0x1e6a02+'\x20snapshot\x20--filename\x20'+_0x10cbcc+_0x3eb22d(0xdb)+_0x1e6a02+'\x20screenshot\x20--filename\x20'+_0x254b68+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x1e6a02+_0x3eb22d(0xd6)+_0x4f53ef+'`\x0a9.\x20Run\x20`'+_0x1e6a02+_0x3eb22d(0x146)+_0x4ccc81+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x126b89){const _0x119032=_0x3790,_0x5389f8={'izEsS':'numeric','sUrDH':_0x119032(0x11a),'TsAVL':_0x119032(0x15a),'mwMma':'01_initial.yml','XBRZj':function(_0x243af2,_0x34f1d9,_0x1d16e2){return _0x243af2(_0x34f1d9,_0x1d16e2);},'HGkWS':function(_0x22d144,_0x245831){return _0x22d144>_0x245831;},'WGSFP':function(_0x4d410a,_0x729c8f){return _0x4d410a(_0x729c8f);},'vNuYP':_0x119032(0xe5),'DPXtk':function(_0x2cf893,_0x446de6,_0x552208){return _0x2cf893(_0x446de6,_0x552208);},'QPEdO':'02_button-clicked.png','rlyqN':_0x119032(0x107),'JjMeR':'key_04_success-state.png'},{checklistItem:_0x1d3e43,itemFeedback:_0x19ef0d,taskDescription:_0xfa11ca,cliCommandPrefix:_0xd1563c,cliArtifactDir:_0x1a341d,isCdpMode:_0x218b46,url:_0x3cb76d,cdpEndpoint:_0x266ef7,loginInstructions:_0x379dbf}=_0x126b89,_0x182946=buildCliArtifactPath(_0x1a341d,_0x5389f8['mwMma']),_0x488890=_0x5389f8['XBRZj'](buildCliArtifactPath,_0x1a341d,'02_state.yml'),_0x55a47e=buildCliArtifactPath(_0x1a341d,'key_03_success-state.png'),_0x5ee868=buildCliArtifactPath(_0x1a341d,'01_initial-state.png'),_0x51c29a=quoteShellArg(_0x182946),_0x48ac38=quoteShellArg(_0x488890),_0x3b8644=quoteShellArg(_0x55a47e),_0x3662a0=quoteShellArg(_0x5ee868),_0x2e0880=_0x1d3e43['notes']?_0x119032(0xf0)+_0x1d3e43[_0x119032(0xe2)]:'';let _0x450e1f='';if(_0x19ef0d&&_0x5389f8['HGkWS'](_0x19ef0d[_0x119032(0x158)][_0x119032(0x156)],0x0)){const _0x49c2e7=_0x19ef0d[_0x119032(0x158)][_0x119032(0xe3)](_0x24328c=>{const _0x1e7949=_0x119032,_0x5c54d6=new Date(_0x24328c[_0x1e7949(0x147)])[_0x1e7949(0x159)]('en-US',{'month':'short','day':_0x5389f8['izEsS']}),_0x164f70=_0x24328c['authorName']||_0x24328c['authorEmail']||_0x1e7949(0x102),_0x15a044=_0x24328c[_0x1e7949(0x130)]?_0x1e7949(0x144)+(_0x24328c['domRef'][_0x1e7949(0x138)][_0x1e7949(0x140)](_0x5389f8[_0x1e7949(0x151)])[_0x1e7949(0xd7)]()?.[_0x1e7949(0x140)](':')[0x0]||_0x5389f8[_0x1e7949(0xff)])+_0x1e7949(0x124)+(_0x24328c['domRef'][_0x1e7949(0xd8)]||'')[_0x1e7949(0x131)](0x0,0x32)+'\x22)':'';return _0x1e7949(0xf7)+_0x24328c['id']+_0x1e7949(0xd5)+_0x164f70+_0x1e7949(0x150)+_0x5c54d6+'):\x20\x22'+_0x24328c['content']+'\x22'+_0x15a044;})['join']('\x0a');_0x450e1f='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a'+_0x49c2e7;}const _0x45899f=_0x19ef0d?.['canonicalFlow']?_0x119032(0xfc)+_0x19ef0d[_0x119032(0x10a)]:'',_0x189c27=_0x218b46?_0x119032(0xfb)+_0x266ef7+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x119032(0xe8)+_0x3cb76d+_0x119032(0xdc),_0x1b8dfb=_0x3cb76d?_0x5389f8[_0x119032(0x10f)](quoteShellArg,_0x3cb76d):'',_0x344160=_0x218b46?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xd1563c+_0x119032(0xce)+_0xd1563c+'\x20tracing-start`,\x20then\x20`'+_0xd1563c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1a341d+_0x119032(0x10b)+_0xd1563c+_0x119032(0xd6)+_0x51c29a+_0x119032(0x13b)+_0xd1563c+_0x119032(0x146)+_0x3662a0+_0x119032(0xec)+_0xd1563c+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario':'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xd1563c+_0x119032(0x12a)+_0x1b8dfb+'`,\x20then\x20`'+_0xd1563c+_0x119032(0x13e)+_0xd1563c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1a341d+_0x119032(0x10b)+_0xd1563c+_0x119032(0xd6)+_0x51c29a+_0x119032(0xf4)+_0xd1563c+'\x20screenshot\x20--filename\x20'+_0x3662a0+_0x119032(0x14d)+_0xd1563c+_0x119032(0x11c),_0x279e64=_0x218b46?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':_0x119032(0xcb),_0x19b7af=_0x379dbf?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x379dbf+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x25351b=_0x126b89['actorPrefixes']&&_0x126b89['actorPrefixes']['length']>=0x2?_0x119032(0x120)+_0x126b89['actorPrefixes'][_0x119032(0xe3)](_0x195740=>'-\x20As\x20'+_0x195740['label']+',\x20…\x20\x20→\x20\x20`'+_0x195740['prefix']+'`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`'+_0x195740['artifactDir']+_0x119032(0x10c)+_0x195740[_0x119032(0xca)]+_0x119032(0x146)+_0x195740[_0x119032(0x118)]+_0x119032(0x14c))['join']('\x0a')+'\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20('+_0x126b89[_0x119032(0x127)]['map'](_0x178f37=>'\x22As\x20'+_0x178f37['label']+',\x20…\x22')[_0x119032(0x112)](_0x5389f8[_0x119032(0xd2)])+_0x119032(0xc9)+(_0x126b89['actorPrefixes'][0x0]?.['label']??_0x119032(0xf1))+_0x119032(0x15b):'';return _0x119032(0xf6)+_0x1d3e43[_0x119032(0x145)]+_0x2e0880+_0x450e1f+_0x45899f+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0xfa11ca+'\x0a\x0a'+_0x189c27+_0x19b7af+'\x0a\x0a'+_0x344160+_0x119032(0x123)+_0xd1563c+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x1a341d+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x48ac38+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x3b8644+_0x119032(0x13f)+_0x25351b+'\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x1a341d+_0x119032(0x116)+_0x5ee868+_0x119032(0x10d)+_0x5389f8['DPXtk'](buildCliArtifactPath,_0x1a341d,_0x5389f8[_0x119032(0xfa)])+'\x22,\x20\x22'+buildCliArtifactPath(_0x1a341d,_0x5389f8['rlyqN'])+_0x119032(0xd4)+buildCliArtifactPath(_0x1a341d,_0x5389f8['JjMeR'])+_0x119032(0x111)+_0x279e64+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x547927){const _0x52d5f1=_0x3790,_0x444530={'vygFt':function(_0x5f27,_0x1ee979){return _0x5f27===_0x1ee979;}},_0x5e78d5=[..._0x547927['keys']()][_0x52d5f1(0x143)]();let _0x4910b3=0x0;for(const _0x5c67e2 of _0x547927['values']()){_0x4910b3+=_0x5c67e2;}return{'cliCommandCount':_0x4910b3,'cliCommandsSeen':_0x5e78d5,'noCliCommandsCalled':_0x444530['vygFt'](_0x4910b3,0x0)};}export function createVerifyFeatureCliHooks(_0x444027){const _0x4900da=_0x3790,_0x34d6fb={'WyKAr':_0x4900da(0x157),'LXDND':function(_0x3c3827,_0x102c5b){return _0x3c3827!==_0x102c5b;},'avFza':function(_0x3da577,_0x3799bf){return _0x3da577(_0x3799bf);},'KrGqo':function(_0x2d5eb8,_0xc06301){return _0x2d5eb8(_0xc06301);},'IaobA':_0x4900da(0x14e),'ZbPDL':_0x4900da(0x11b),'EEcWe':'PostToolUseFailure','xUWGH':function(_0x16de3a,_0x523677){return _0x16de3a!==_0x523677;},'aXjod':'tool_failure','YTYTF':_0x4900da(0xe0)},_0x401fa6=new Map(),_0xe6399d=async _0x1d2262=>{const _0x4f9ebb=_0x4900da;if(_0x1d2262['hook_event_name']!==_0x34d6fb[_0x4f9ebb(0x109)])return{};const _0x1990d0=_0x1d2262;if(_0x34d6fb['LXDND'](_0x1990d0['tool_name'],'Bash'))return{};const _0x3cd259=_0x1990d0['tool_input'],_0x2a515e=_0x34d6fb['avFza'](extractBashCommand,_0x3cd259);if(!_0x2a515e)return{};const _0x523358=_0x34d6fb['KrGqo'](parsePlaywrightCliCommand,_0x2a515e);if(!_0x523358)return{};return _0x401fa6[_0x4f9ebb(0x13a)](_0x523358,(_0x401fa6[_0x4f9ebb(0x139)](_0x523358)||0x0)+0x1),_0x444027['trackPhaseStart'](_0x34d6fb['IaobA'],{'transport':'playwright-cli','toolName':_0x523358}),_0x444027['trackPhaseEnd']('tool_call',{'transport':_0x4f9ebb(0xe0),'toolName':_0x523358,'bashCommandPreview':truncatePreview(_0x2a515e)}),_0x523358!==_0x34d6fb[_0x4f9ebb(0xe9)]&&console[_0x4f9ebb(0xee)](formatPlaywrightCliConsoleLogMessage(_0x3cd259,_0x2a515e,_0x523358)),{};},_0x32fc04=async _0x1ab955=>{const _0x5b5477=_0x4900da;if(_0x1ab955['hook_event_name']!==_0x34d6fb[_0x5b5477(0xd3)])return{};const _0x39e088=_0x1ab955;if(_0x34d6fb[_0x5b5477(0xf5)](_0x39e088[_0x5b5477(0x14b)],_0x5b5477(0xdd)))return{};return await _0x444027[_0x5b5477(0x110)](_0x34d6fb[_0x5b5477(0xe6)],_0x39e088[_0x5b5477(0xde)],{'transport':_0x34d6fb['YTYTF'],'toolName':'Bash'}),{};};return{'postToolUseHook':_0xe6399d,'postToolUseFailureHook':_0x32fc04,'commandCounts':_0x401fa6};}async function runPlaywrightCliLifecycleCommand(_0x5ee696){const _0x14f1f0=_0x3790,{sessionId:_0x3a7d6d,configPath:_0x18ed34,commandArgs:_0x1f0841,env:_0x8adbf9,telemetry:_0x1c5edf,phase:_0x4b08e9,metadata:_0x5a1fbd,timeoutMs:_0x245aa2}=_0x5ee696;_0x1c5edf[_0x14f1f0(0x14f)](_0x4b08e9,_0x5a1fbd);try{const _0x1ad13f=await runPlaywrightCliCommand({'sessionId':_0x3a7d6d,'configPath':_0x18ed34,'commandArgs':_0x1f0841,'cwd':process['cwd'](),'env':_0x8adbf9,'timeoutMs':_0x245aa2??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x1c5edf[_0x14f1f0(0x154)](_0x4b08e9,{..._0x5a1fbd,'subcommand':_0x1ad13f['invocation'][_0x14f1f0(0x11f)],'stdoutPreview':truncatePreview(_0x1ad13f[_0x14f1f0(0x117)],0x7d0),'stderrPreview':truncatePreview(_0x1ad13f[_0x14f1f0(0xdf)],0x7d0)});}catch(_0x32613f){await _0x1c5edf[_0x14f1f0(0x110)](_0x4b08e9,_0x32613f,_0x5a1fbd);throw _0x32613f;}}export async function finalizeVerifyFeatureCliSession(_0x553409){const _0x3bc88f=_0x3790,_0xbfb66e={'qBExu':'tracing-stop','Vdecv':'video-stop','bnMsd':function(_0x2fba81,_0x153cbd,_0x2ac50e){return _0x2fba81(_0x153cbd,_0x2ac50e);},'BepWU':'playwright_cli_close'},{telemetry:_0x541c78,sessionId:_0x53eef3,configPath:_0x38962c,cliArtifactDir:_0x39b9d2,env:_0x2dbc8b,transportMetadata:_0x1359fb}=_0x553409,_0x26ddfe=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0xbfb66e[_0x3bc88f(0xf8)]]},{'phase':_0x3bc88f(0xed),'commandArgs':[_0xbfb66e[_0x3bc88f(0xd1)],_0x3bc88f(0x155)+_0xbfb66e['bnMsd'](buildCliArtifactPath,_0x39b9d2,_0x3bc88f(0x134))]},{'phase':_0xbfb66e['BepWU'],'commandArgs':[_0x3bc88f(0x153)]}];for(const _0x4e921b of _0x26ddfe){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x53eef3,'configPath':_0x38962c,'commandArgs':[..._0x4e921b[_0x3bc88f(0x101)]],'env':_0x2dbc8b,'telemetry':_0x541c78,'phase':_0x4e921b[_0x3bc88f(0xcd)],'metadata':_0x1359fb});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x475f6f){const _0x23ef5a=_0x3790,_0x403e69={'AKxBG':function(_0x54b7c6,_0x20f9d9){return _0x54b7c6(_0x20f9d9);}},_0x4c7052=[_0x23ef5a(0xfe),_0x23ef5a(0x12e)];for(const _0x2eeb03 of _0x4c7052){const _0x647a16=join(_0x475f6f,_0x2eeb03);try{return{'buffer':await _0x403e69['AKxBG'](readFile,_0x647a16),'source':_0x647a16};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x8ec622){const _0x2ada9e=_0x3790,_0x50b00f={'BxzKb':function(_0x562e6b,_0x5aa17f,_0x107e63){return _0x562e6b(_0x5aa17f,_0x107e63);},'xWzRp':function(_0x457f40,_0x360518,_0xc5a66e){return _0x457f40(_0x360518,_0xc5a66e);},'rLqGn':function(_0xcfe14b,_0x36872f){return _0xcfe14b(_0x36872f);},'TYEMW':function(_0x4b49b5,_0x20eb72){return _0x4b49b5<_0x20eb72;},'geKVa':function(_0x27097d,_0x2174ff){return _0x27097d===_0x2174ff;},'mDtBR':function(_0x276b58,_0x1fbdad,_0x544b4e){return _0x276b58(_0x1fbdad,_0x544b4e);}},{cwd:_0x597e2f,cliArtifactDir:_0xc897a7,startTime:_0x3ecc1c}=_0x8ec622,_0x1ebd1a=[];await _0x50b00f['BxzKb'](mkdir,_0xc897a7,{'recursive':!![]});const _0x2e8087=await _0x50b00f[_0x2ada9e(0xe7)](readdir,_0x597e2f,{'withFileTypes':!![]});for(const _0x506e8c of _0x2e8087){if(!_0x506e8c['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x506e8c['name']))continue;const _0x52e9df=_0x50b00f['xWzRp'](join,_0x597e2f,_0x506e8c['name']),_0x324deb=await _0x50b00f['rLqGn'](stat,_0x52e9df);if(_0x50b00f[_0x2ada9e(0x126)](_0x324deb[_0x2ada9e(0x11d)]+0x7d0,_0x3ecc1c))continue;const _0x2bd85f=buildCliArtifactPath(_0xc897a7,_0x506e8c[_0x2ada9e(0x106)]);if(_0x50b00f['geKVa'](_0x52e9df,_0x2bd85f))continue;await _0x50b00f['mDtBR'](rename,_0x52e9df,_0x2bd85f),_0x1ebd1a[_0x2ada9e(0xea)](_0x506e8c[_0x2ada9e(0x106)]);}return _0x1ebd1a['sort']();}
1
+ (function(_0x548a28,_0x45d51b){const _0x3991ff=_0x5eac,_0x97d46e=_0x548a28();while(!![]){try{const _0x4ce137=parseInt(_0x3991ff(0xcc))/0x1+parseInt(_0x3991ff(0xa5))/0x2*(parseInt(_0x3991ff(0x108))/0x3)+parseInt(_0x3991ff(0x9f))/0x4*(-parseInt(_0x3991ff(0x9c))/0x5)+parseInt(_0x3991ff(0xbb))/0x6*(parseInt(_0x3991ff(0x11c))/0x7)+-parseInt(_0x3991ff(0x122))/0x8*(parseInt(_0x3991ff(0x109))/0x9)+parseInt(_0x3991ff(0xb6))/0xa*(parseInt(_0x3991ff(0xe0))/0xb)+-parseInt(_0x3991ff(0xa7))/0xc;if(_0x4ce137===_0x45d51b)break;else _0x97d46e['push'](_0x97d46e['shift']());}catch(_0xcaf952){_0x97d46e['push'](_0x97d46e['shift']());}}}(_0x2845,0x44114));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(_0x2c0d45,_0xf3ad7a=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1e856b=_0x5eac,_0x35873a={'awNGn':function(_0x5d72b2,_0x10e04d){return _0x5d72b2>_0x10e04d;},'FXdJD':_0x1e856b(0x13a)};return _0x35873a['awNGn'](_0x2c0d45[_0x1e856b(0xc4)],_0xf3ad7a)?_0x2c0d45[_0x1e856b(0xee)](0x0,_0xf3ad7a)+_0x35873a[_0x1e856b(0xd9)]:_0x2c0d45;}function buildCliArtifactPath(_0x59e80c,_0x4cb045){const _0x1286a2=_0x5eac,_0x3f7da2={'jSCZS':function(_0xabce40,_0xad5571,_0x51767a){return _0xabce40(_0xad5571,_0x51767a);}};return _0x3f7da2[_0x1286a2(0xa9)](join,_0x59e80c,_0x4cb045);}function _0x2845(){const _0x8a368c=['bXtLv','test','7116PrvzKl','commandArgs','44364GDvRvz','label','jSCZS','\x20tracing-start`\x0a3.\x20Run\x20`','open\x20','\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','DoApY','(?:^|\x5cs)','MOwKw','UyYxb','invocation','select\x20tab','tool_input','tool_name','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','20HLGHjy','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','qHdcv','rZswF','\x22,\x20\x22','43572LdcWXW','run-code','select\x20tab\x20','numeric','playwright-cli','YSmWx','the\x20primary\x20actor','\x20snapshot\x20--filename\x20','qAAfM','length','\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','name','replace','notes','Bash','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','159905OjDDOO','01_initial.yml','video-start','PostToolUse','KPqAm','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','lfVeO','element','`,\x20then\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','\x0a\x0a##\x20Additional\x20Notes\x0a','fill\x20','**\x20(','FXdJD','keys','YVoXq','`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`','`\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`','GfNAd','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','2785343dojyNV','prefix','hook_event_name','unaddressedComments','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','\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','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','actorPrefixes','YoTwv','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','xfiBN','`\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','qJHjT','>\x20\x22','slice','YMwEo','`:\x20\x22','[playwright-cli]\x20','VYniz','run\x20custom\x20Playwright\x20code','\x5c$&','push','get','Khwes','\x20screenshot\x20--filename\x20','capture\x20snapshot\x20`','tab-select','01_initial-state.png','tracing-stop','THLKq','tool_call','domRef','capture\x20key\x20step\x20`','press','trackPhaseError','\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','open\x20browser','`\x0a9.\x20Run\x20`','playwright_cli_close','session-recording.webm','138FlVNhj','18hyPxOJ','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','gEozd','click\x20','\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20(','close','phase','fvnnB','\x20(on\x20element:\x20<','\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.','playwright_cli_tracing_stop','tool_failure','IFSmI','stringify','short','open\x20new\x20tab\x20','\x20/\x20','trackPhaseStart','`\x20(e.g.\x20`','56TYVzxQ','capture\x20snapshot','trim','match','\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','video-stop','1511080MsJcjb','Tqmgz','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','description','jrVgI','`\x0a-\x20`snapshot\x20--filename\x20','/01_state.png`).','ywXnC','capture\x20step\x20`','\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.','env','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','zBKXg','GzTDM','\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`','lhJoD','OMtqP','\x20open\x20','trackPhaseEnd','fill','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','-\x20[','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','sort','...','join','ZWqQz','key_04_success-state.png','kNWfY','2455oaxflj',',\x20…\x20\x20→\x20\x20`','key_03_success-state.png','1856FMktRg','selector','mlpaQ','stop\x20tracing'];_0x2845=function(){return _0x8a368c;};return _0x2845();}function toStepDisplayName(_0x3cc32a){const _0xc2456=_0x5eac,_0x124d27={'MlqSi':function(_0x3a6977,_0x20a237){return _0x3a6977(_0x20a237);},'GkmBQ':function(_0x5f4955,_0x2961c1){return _0x5f4955(_0x2961c1);}},_0x2f0ca6=_0x124d27['MlqSi'](basename,_0x3cc32a)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0xc2456(0xc8)](/^\d+_/,'')[_0xc2456(0xc8)](/-/g,'\x20');return{'name':_0x2f0ca6,'isKeyStep':/^key_/i[_0xc2456(0xa4)](_0x124d27['GkmBQ'](basename,_0x3cc32a))};}function extractShellValue(_0x32959f){if(!_0x32959f)return null;return _0x32959f[0x1]??_0x32959f[0x2]??_0x32959f[0x3]??null;}function extractFilenameOption(_0x3538b1){const _0x2f2d77=_0x5eac,_0x4e0c47={'gEozd':function(_0x18df1c,_0x391ae9){return _0x18df1c(_0x391ae9);}};return _0x4e0c47[_0x2f2d77(0x10b)](extractShellValue,_0x3538b1['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x2f8397,_0x44803a){const _0x18d57f=_0x5eac,_0x3bf641={'DoApY':function(_0x18038b,_0x1ff848){return _0x18038b(_0x1ff848);}},_0x297f7f=_0x44803a['replace'](/[.*+?^${}()|[\]\\]/g,_0x18d57f(0xf4));return _0x3bf641[_0x18d57f(0xad)](extractShellValue,_0x2f8397[_0x18d57f(0x11f)](new RegExp(_0x18d57f(0xae)+_0x297f7f+_0x18d57f(0xcb))));}function formatCommandTarget(_0xf69694){const _0x3131d5=_0x5eac,_0x4431eb={'LtoZV':'target','deBrx':function(_0x28cc06,_0x5ab6e5,_0x19d9be){return _0x28cc06(_0x5ab6e5,_0x19d9be);}};if(!_0xf69694)return _0x4431eb['LtoZV'];if(/^e\d+$/i['test'](_0xf69694))return'ref\x20'+_0xf69694;return JSON[_0x3131d5(0x116)](_0x4431eb['deBrx'](truncatePreview,_0xf69694,0x78));}function formatPlaywrightCliLog(_0x34c3f3,_0x5acaf7){const _0x438636=_0x5eac,_0x1e5ca6={'nrtQq':'open','Tqmgz':function(_0x5b4da9,_0xc9e13,_0x3941bf){return _0x5b4da9(_0xc9e13,_0x3941bf);},'fvnnB':_0x438636(0x104),'cnRCv':'tracing-start','Fqlsq':_0x438636(0xfc),'WYGzV':_0x438636(0xa2),'qAAfM':function(_0x241d5e,_0x2d48fd){return _0x241d5e(_0x2d48fd);},'sJItI':function(_0x183a14,_0x52a1af){return _0x183a14(_0x52a1af);},'emgUJ':'capture\x20screenshot','IeScc':function(_0x5cee2e,_0x2bfb02){return _0x5cee2e(_0x2bfb02);},'ZWqQz':function(_0x422325,_0x529596,_0x478616){return _0x422325(_0x529596,_0x478616);},'hsIuT':_0x438636(0x101),'Khwes':_0x438636(0xbc),'avwnX':'tab-new','KbcMK':'open\x20new\x20tab','xkbyk':_0x438636(0xfa),'bXtLv':_0x438636(0xb2)};switch(_0x5acaf7){case _0x1e5ca6['nrtQq']:{const _0x4bb1ce=_0x1e5ca6[_0x438636(0x123)](extractFirstCommandArgument,_0x34c3f3,_0x5acaf7);return _0x4bb1ce?_0x438636(0xab)+_0x4bb1ce:_0x1e5ca6[_0x438636(0x110)];}case _0x1e5ca6['cnRCv']:return'start\x20tracing';case _0x1e5ca6['Fqlsq']:return _0x1e5ca6['WYGzV'];case _0x438636(0xce):return'start\x20video\x20recording';case _0x438636(0x121):return'stop\x20video\x20recording';case'snapshot':{const _0x54d10f=extractFilenameOption(_0x34c3f3);if(!_0x54d10f)return _0x438636(0x11d);const {name:_0x3a94af}=_0x1e5ca6[_0x438636(0xc3)](toStepDisplayName,_0x54d10f);return _0x438636(0xf9)+_0x3a94af+'`';}case'screenshot':{const _0x522614=_0x1e5ca6['sJItI'](extractFilenameOption,_0x34c3f3);if(!_0x522614)return _0x1e5ca6['emgUJ'];const {name:_0x1669c0,isKeyStep:_0x493312}=_0x1e5ca6['IeScc'](toStepDisplayName,_0x522614);return _0x493312?_0x438636(0x100)+_0x1669c0+'`':_0x438636(0x12a)+_0x1669c0+'`';}case'click':return _0x438636(0x10c)+formatCommandTarget(extractFirstCommandArgument(_0x34c3f3,_0x5acaf7));case'check':return'check\x20'+formatCommandTarget(extractFirstCommandArgument(_0x34c3f3,_0x5acaf7));case _0x438636(0x135):return _0x438636(0xd7)+formatCommandTarget(_0x1e5ca6['ZWqQz'](extractFirstCommandArgument,_0x34c3f3,_0x5acaf7));case _0x1e5ca6['hsIuT']:return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x34c3f3,_0x5acaf7));case _0x1e5ca6[_0x438636(0xf7)]:return _0x438636(0xf3);case _0x1e5ca6['avwnX']:{const _0xf798ff=_0x1e5ca6[_0x438636(0x13c)](extractFirstCommandArgument,_0x34c3f3,_0x5acaf7);return _0xf798ff?_0x438636(0x118)+_0xf798ff:_0x1e5ca6['KbcMK'];}case _0x1e5ca6['xkbyk']:{const _0x5dcf8d=extractFirstCommandArgument(_0x34c3f3,_0x5acaf7);return _0x5dcf8d?_0x438636(0xbd)+_0x5dcf8d:_0x1e5ca6[_0x438636(0xa3)];}default:return _0x5acaf7;}}function extractPlaywrightCliToolDescription(_0x21de48){const _0x57c96c=_0x5eac,_0x458984={'VObmK':'string'},_0x4ff72a=_0x21de48[_0x57c96c(0x125)];if(typeof _0x4ff72a!==_0x458984['VObmK'])return null;const _0x2e3979=_0x4ff72a[_0x57c96c(0x11e)]()[_0x57c96c(0xc8)](/\s+/g,'\x20');return _0x2e3979[_0x57c96c(0xc4)]>0x0?_0x2e3979:null;}export function formatPlaywrightCliConsoleLogMessage(_0x3eb37c,_0x1f3023,_0x2f2002){const _0x1b21b5=_0x5eac,_0x1bccc3={'fSDmF':function(_0x4a14ea,_0x443dfb,_0x203aca){return _0x4a14ea(_0x443dfb,_0x203aca);},'qJHjT':function(_0x19d6e8,_0x1174ec){return _0x19d6e8(_0x1174ec);}},_0x5c8c2d=_0x1bccc3['fSDmF'](formatPlaywrightCliLog,_0x1f3023,_0x2f2002),_0x285ff0=_0x1bccc3[_0x1b21b5(0xec)](extractPlaywrightCliToolDescription,_0x3eb37c);if(!_0x285ff0)return _0x1b21b5(0xf1)+_0x5c8c2d;if(process[_0x1b21b5(0x12c)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x285ff0+'\x20('+_0x5c8c2d+')';return'[ranger-verification-agent]\x20'+_0x285ff0;}export function buildVerifyFeatureCliDebugPrompt(_0x2088d3,_0x4927bd){const _0x5a37e2=_0x5eac,_0x3276ff={'xQwFU':function(_0x2f54e0,_0x1e1cb3,_0x2e635c){return _0x2f54e0(_0x1e1cb3,_0x2e635c);},'zBKXg':function(_0x5b0738,_0x15e6e9){return _0x5b0738(_0x15e6e9);}},_0x792b9d=_0x3276ff['xQwFU'](buildCliArtifactPath,_0x4927bd,'00_mozilla-homepage.yml'),_0x3e969d=buildCliArtifactPath(_0x4927bd,'01_mozilla-homepage.png'),_0xeeb391=buildCliArtifactPath(_0x4927bd,'02_learn-more.yml'),_0x54a94b=buildCliArtifactPath(_0x4927bd,'03_learn-more.png'),_0x3913b8=_0x3276ff[_0x5a37e2(0x12e)](quoteShellArg,_0x792b9d),_0x2a28b7=_0x3276ff['zBKXg'](quoteShellArg,_0x3e969d),_0x52ce47=quoteShellArg(_0xeeb391),_0x5c5ac0=quoteShellArg(_0x54a94b);return _0x5a37e2(0xe6)+_0x2088d3+'\x0a\x0a1.\x20Run\x20`'+_0x2088d3+_0x5a37e2(0xdf)+_0x2088d3+_0x5a37e2(0xaa)+_0x2088d3+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4927bd+_0x5a37e2(0xd5)+_0x2088d3+'\x20snapshot\x20--filename\x20'+_0x3913b8+_0x5a37e2(0x124)+_0x2088d3+'\x20screenshot\x20--filename\x20'+_0x2a28b7+_0x5a37e2(0x138)+_0x2088d3+_0x5a37e2(0xc2)+_0x52ce47+_0x5a37e2(0x105)+_0x2088d3+'\x20screenshot\x20--filename\x20'+_0x5c5ac0+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x4bf414){const _0x49795a=_0x5eac,_0x54a5ed={'EMdAS':'\x20>\x20','MOwKw':_0x49795a(0xd3),'IFSmI':function(_0x2cc8e9,_0x4a7be1,_0xcd6df2){return _0x2cc8e9(_0x4a7be1,_0xcd6df2);},'UsonF':'02_state.yml','sjEXe':function(_0x8c72fa,_0x2ced3f,_0xc48e96){return _0x8c72fa(_0x2ced3f,_0xc48e96);},'nCcLm':function(_0x447fc7,_0x415d61){return _0x447fc7(_0x415d61);},'BUfBH':function(_0xbfb94e,_0x83803d){return _0xbfb94e(_0x83803d);},'xCpbk':'02_button-clicked.png','jrVgI':function(_0x18e653,_0x281ab8,_0x36e023){return _0x18e653(_0x281ab8,_0x36e023);},'THLKq':'03_result-visible.png','YVoXq':function(_0x3b7e1a,_0x187994,_0x1d81aa){return _0x3b7e1a(_0x187994,_0x1d81aa);}},{checklistItem:_0x62209d,itemFeedback:_0x353211,taskDescription:_0x20a612,cliCommandPrefix:_0x309c19,cliArtifactDir:_0x1c1465,isCdpMode:_0x4cc5ce,url:_0x7fe346,cdpEndpoint:_0x5a6cef,loginInstructions:_0x221766}=_0x4bf414,_0x228f9d=buildCliArtifactPath(_0x1c1465,_0x49795a(0xcd)),_0x2cad5e=_0x54a5ed['IFSmI'](buildCliArtifactPath,_0x1c1465,_0x54a5ed['UsonF']),_0x3a3a05=_0x54a5ed['sjEXe'](buildCliArtifactPath,_0x1c1465,_0x49795a(0x9e)),_0x57cb2f=_0x54a5ed[_0x49795a(0x115)](buildCliArtifactPath,_0x1c1465,_0x49795a(0xfb)),_0x5eb882=_0x54a5ed['nCcLm'](quoteShellArg,_0x228f9d),_0x67a4b6=quoteShellArg(_0x2cad5e),_0x284fd1=_0x54a5ed['BUfBH'](quoteShellArg,_0x3a3a05),_0x11c4af=quoteShellArg(_0x57cb2f),_0x668167=_0x62209d['notes']?_0x49795a(0xd6)+_0x62209d[_0x49795a(0xc9)]:'';let _0x275392='';if(_0x353211&&_0x353211['unaddressedComments']['length']>0x0){const _0x233523=_0x353211[_0x49795a(0xe3)]['map'](_0x3e45ce=>{const _0x3807a9=_0x49795a,_0x586478=new Date(_0x3e45ce['createdAt'])['toLocaleDateString']('en-US',{'month':_0x3807a9(0x117),'day':_0x3807a9(0xbe)}),_0x32e0c9=_0x3e45ce['authorName']||_0x3e45ce['authorEmail']||'Reviewer',_0x28d1b7=_0x3e45ce[_0x3807a9(0xff)]?_0x3807a9(0x111)+(_0x3e45ce[_0x3807a9(0xff)][_0x3807a9(0xa0)]['split'](_0x54a5ed['EMdAS'])['pop']()?.['split'](':')[0x0]||_0x54a5ed[_0x3807a9(0xaf)])+_0x3807a9(0xed)+(_0x3e45ce['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x3807a9(0x137)+_0x3e45ce['id']+']\x20**'+_0x32e0c9+_0x3807a9(0xd8)+_0x586478+'):\x20\x22'+_0x3e45ce['content']+'\x22'+_0x28d1b7;})['join']('\x0a');_0x275392=_0x49795a(0xe5)+_0x233523;}const _0x63b95e=_0x353211?.['canonicalFlow']?_0x49795a(0x12d)+_0x353211['canonicalFlow']:'',_0x1b2192=_0x4cc5ce?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5a6cef+_0x49795a(0xe4):_0x49795a(0xb5)+_0x7fe346+_0x49795a(0x103),_0xca5587=_0x7fe346?_0x54a5ed['BUfBH'](quoteShellArg,_0x7fe346):'',_0x414597=_0x4cc5ce?_0x49795a(0x10a)+_0x309c19+'\x20open`,\x20then\x20`'+_0x309c19+'\x20tracing-start`,\x20then\x20`'+_0x309c19+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1c1465+_0x49795a(0xd1)+_0x309c19+'\x20snapshot\x20--filename\x20'+_0x5eb882+_0x49795a(0xdd)+_0x309c19+'\x20screenshot\x20--filename\x20'+_0x11c4af+_0x49795a(0xe9)+_0x309c19+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario':'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x309c19+_0x49795a(0x133)+_0xca5587+_0x49795a(0xd4)+_0x309c19+'\x20tracing-start`,\x20then\x20`'+_0x309c19+_0x49795a(0xb7)+_0x1c1465+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x309c19+'\x20snapshot\x20--filename\x20'+_0x5eb882+'`\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`'+_0x309c19+_0x49795a(0xf8)+_0x11c4af+_0x49795a(0x136)+_0x309c19+'\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',_0x2733fd=_0x4cc5ce?'\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.',_0x5338e1=_0x221766?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x221766+_0x49795a(0x112):'',_0x363c02=_0x4bf414['actorPrefixes']&&_0x4bf414[_0x49795a(0xe7)][_0x49795a(0xc4)]>=0x2?'\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a'+_0x4bf414['actorPrefixes']['map'](_0x4d7d55=>'-\x20As\x20'+_0x4d7d55['label']+_0x49795a(0x9d)+_0x4d7d55[_0x49795a(0xe1)]+_0x49795a(0xdc)+_0x4d7d55['artifactDir']+_0x49795a(0x11b)+_0x4d7d55['prefix']+'\x20screenshot\x20--filename\x20'+_0x4d7d55['artifactDir']+_0x49795a(0x128))[_0x49795a(0x13b)]('\x0a')+_0x49795a(0x10d)+_0x4bf414[_0x49795a(0xe7)]['map'](_0x3123cc=>'\x22As\x20'+_0x3123cc[_0x49795a(0xa8)]+',\x20…\x22')[_0x49795a(0x13b)](_0x49795a(0x119))+_0x49795a(0xc6)+(_0x4bf414['actorPrefixes'][0x0]?.['label']??_0x49795a(0xc1))+_0x49795a(0xc5):'';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'+_0x62209d['description']+_0x668167+_0x275392+_0x63b95e+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x20a612+'\x0a\x0a'+_0x1b2192+_0x5338e1+'\x0a\x0a'+_0x414597+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x309c19+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x1c1465+_0x49795a(0x127)+_0x67a4b6+_0x49795a(0xeb)+_0x284fd1+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks'+_0x363c02+_0x49795a(0x130)+_0x1c1465+_0x49795a(0xf0)+_0x57cb2f+'\x22,\x20\x22'+buildCliArtifactPath(_0x1c1465,_0x54a5ed['xCpbk'])+_0x49795a(0xba)+_0x54a5ed[_0x49795a(0x126)](buildCliArtifactPath,_0x1c1465,_0x54a5ed[_0x49795a(0xfd)])+_0x49795a(0x120)+_0x54a5ed[_0x49795a(0xdb)](buildCliArtifactPath,_0x1c1465,_0x49795a(0x9a))+_0x49795a(0xac)+_0x2733fd+_0x49795a(0x12b);}function _0x5eac(_0x4d094d,_0x1adb76){_0x4d094d=_0x4d094d-0x9a;const _0x284576=_0x2845();let _0x5eac8f=_0x284576[_0x4d094d];return _0x5eac8f;}export function summarizeVerifyFeatureCliCommandAvailability(_0x589885){const _0x5568ea=_0x5eac,_0x5a6c95={'YMwEo':function(_0x4b0280,_0x3072ef){return _0x4b0280===_0x3072ef;}},_0x49a3cf=[..._0x589885[_0x5568ea(0xda)]()][_0x5568ea(0x139)]();let _0x2756cc=0x0;for(const _0x717161 of _0x589885['values']()){_0x2756cc+=_0x717161;}return{'cliCommandCount':_0x2756cc,'cliCommandsSeen':_0x49a3cf,'noCliCommandsCalled':_0x5a6c95[_0x5568ea(0xef)](_0x2756cc,0x0)};}export function createVerifyFeatureCliHooks(_0x1b73de){const _0xeee675=_0x5eac,_0x1b128b={'jCxjp':function(_0x43445e,_0x55e0f1){return _0x43445e!==_0x55e0f1;},'OMtqP':_0xeee675(0xcf),'GzTDM':function(_0x358d3c,_0x45f59b){return _0x358d3c+_0x45f59b;},'XEUTf':_0xeee675(0xfe),'GfNAd':_0xeee675(0xbf),'kNWfY':function(_0x58e166,_0x3183be){return _0x58e166!==_0x3183be;},'LgmwK':function(_0x1f26bd,_0x27549e,_0x14a800,_0x149f34){return _0x1f26bd(_0x27549e,_0x14a800,_0x149f34);},'mlpaQ':'PostToolUseFailure','KPqAm':function(_0x45e2cf,_0x134300){return _0x45e2cf!==_0x134300;},'UyYxb':_0xeee675(0x114)},_0x3b5884=new Map(),_0x18faf6=async _0x4474bc=>{const _0x219067=_0xeee675;if(_0x1b128b['jCxjp'](_0x4474bc[_0x219067(0xe2)],_0x1b128b[_0x219067(0x132)]))return{};const _0x49840f=_0x4474bc;if(_0x49840f[_0x219067(0xb4)]!=='Bash')return{};const _0x39a521=_0x49840f[_0x219067(0xb3)],_0x3a0aea=extractBashCommand(_0x39a521);if(!_0x3a0aea)return{};const _0x2b64bf=parsePlaywrightCliCommand(_0x3a0aea);if(!_0x2b64bf)return{};return _0x3b5884['set'](_0x2b64bf,_0x1b128b[_0x219067(0x12f)](_0x3b5884[_0x219067(0xf6)](_0x2b64bf)||0x0,0x1)),_0x1b73de['trackPhaseStart'](_0x1b128b['XEUTf'],{'transport':'playwright-cli','toolName':_0x2b64bf}),_0x1b73de[_0x219067(0x134)]('tool_call',{'transport':_0x1b128b[_0x219067(0xde)],'toolName':_0x2b64bf,'bashCommandPreview':truncatePreview(_0x3a0aea)}),_0x1b128b['kNWfY'](_0x2b64bf,'snapshot')&&console['log'](_0x1b128b['LgmwK'](formatPlaywrightCliConsoleLogMessage,_0x39a521,_0x3a0aea,_0x2b64bf)),{};},_0x205d33=async _0x526bde=>{const _0x3d6908=_0xeee675;if(_0x1b128b[_0x3d6908(0x9b)](_0x526bde[_0x3d6908(0xe2)],_0x1b128b[_0x3d6908(0xa1)]))return{};const _0x195ae0=_0x526bde;if(_0x1b128b[_0x3d6908(0xd0)](_0x195ae0['tool_name'],_0x3d6908(0xca)))return{};return await _0x1b73de['trackPhaseError'](_0x1b128b[_0x3d6908(0xb0)],_0x195ae0['error'],{'transport':'playwright-cli','toolName':_0x3d6908(0xca)}),{};};return{'postToolUseHook':_0x18faf6,'postToolUseFailureHook':_0x205d33,'commandCounts':_0x3b5884};}async function runPlaywrightCliLifecycleCommand(_0x21c673){const _0x2f8dce=_0x5eac,_0x5a3eba={'vmfIV':function(_0x1f9a1f,_0x1cb957){return _0x1f9a1f??_0x1cb957;},'VYniz':function(_0x5b6c4c,_0x51e29c,_0x2b0cdc){return _0x5b6c4c(_0x51e29c,_0x2b0cdc);}},{sessionId:_0x5f4443,configPath:_0x26428c,commandArgs:_0x1eb6ed,env:_0xa206f0,telemetry:_0x431a59,phase:_0x45038a,metadata:_0x2bbb79,timeoutMs:_0x5c7a8f}=_0x21c673;_0x431a59[_0x2f8dce(0x11a)](_0x45038a,_0x2bbb79);try{const _0x43d5e1=await runPlaywrightCliCommand({'sessionId':_0x5f4443,'configPath':_0x26428c,'commandArgs':_0x1eb6ed,'cwd':process['cwd'](),'env':_0xa206f0,'timeoutMs':_0x5a3eba['vmfIV'](_0x5c7a8f,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x431a59['trackPhaseEnd'](_0x45038a,{..._0x2bbb79,'subcommand':_0x43d5e1[_0x2f8dce(0xb1)]['subcommand'],'stdoutPreview':_0x5a3eba[_0x2f8dce(0xf2)](truncatePreview,_0x43d5e1['stdout'],0x7d0),'stderrPreview':_0x5a3eba['VYniz'](truncatePreview,_0x43d5e1['stderr'],0x7d0)});}catch(_0x48d30b){await _0x431a59[_0x2f8dce(0x102)](_0x45038a,_0x48d30b,_0x2bbb79);throw _0x48d30b;}}export async function finalizeVerifyFeatureCliSession(_0x1543c7){const _0x28b63d=_0x5eac,_0x3b6815={'ywXnC':'tracing-stop','YoTwv':'playwright_cli_video_stop','qHdcv':_0x28b63d(0x121),'rZswF':_0x28b63d(0x107)},{telemetry:_0x28ce67,sessionId:_0x24b6d3,configPath:_0xe6814c,cliArtifactDir:_0x255951,env:_0x2a6154,transportMetadata:_0x3d5d41}=_0x1543c7,_0xf3bfc9=[{'phase':_0x28b63d(0x113),'commandArgs':[_0x3b6815[_0x28b63d(0x129)]]},{'phase':_0x3b6815[_0x28b63d(0xe8)],'commandArgs':[_0x3b6815[_0x28b63d(0xb8)],'--filename='+buildCliArtifactPath(_0x255951,_0x3b6815[_0x28b63d(0xb9)])]},{'phase':_0x28b63d(0x106),'commandArgs':[_0x28b63d(0x10e)]}];for(const _0x45faa5 of _0xf3bfc9){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x24b6d3,'configPath':_0xe6814c,'commandArgs':[..._0x45faa5[_0x28b63d(0xa6)]],'env':_0x2a6154,'telemetry':_0x28ce67,'phase':_0x45faa5[_0x28b63d(0x10f)],'metadata':_0x3d5d41});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x1d92b5){const _0x1ceefc=_0x5eac,_0xc89b27={'lfVeO':'trace.zip','YSmWx':function(_0x4ba088,_0x520202){return _0x4ba088(_0x520202);}},_0x21274f=[_0xc89b27[_0x1ceefc(0xd2)],'trace.trace.zip'];for(const _0x3849c9 of _0x21274f){const _0x12a5b6=join(_0x1d92b5,_0x3849c9);try{return{'buffer':await _0xc89b27[_0x1ceefc(0xc0)](readFile,_0x12a5b6),'source':_0x12a5b6};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x393c1e){const _0x5a9e72=_0x5eac,_0xd19563={'lhJoD':function(_0x359653,_0x3055a7,_0xafdeb7){return _0x359653(_0x3055a7,_0xafdeb7);},'NmOHU':function(_0x116a86,_0x2f5b8e,_0x15c6ab){return _0x116a86(_0x2f5b8e,_0x15c6ab);},'xfiBN':function(_0x40e8d7,_0x5bf0cf){return _0x40e8d7(_0x5bf0cf);},'gVHIq':function(_0x598284,_0x923ac5){return _0x598284+_0x923ac5;},'eKeaO':function(_0x44a50a,_0x165495,_0x48ac03){return _0x44a50a(_0x165495,_0x48ac03);}},{cwd:_0x3da7b8,cliArtifactDir:_0x3b4c18,startTime:_0x51dd42}=_0x393c1e,_0x44d439=[];await _0xd19563[_0x5a9e72(0x131)](mkdir,_0x3b4c18,{'recursive':!![]});const _0x2d8d2c=await _0xd19563['NmOHU'](readdir,_0x3da7b8,{'withFileTypes':!![]});for(const _0x4f537a of _0x2d8d2c){if(!_0x4f537a['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x4f537a[_0x5a9e72(0xc7)]))continue;const _0x3280c0=join(_0x3da7b8,_0x4f537a[_0x5a9e72(0xc7)]),_0x5152a9=await _0xd19563[_0x5a9e72(0xea)](stat,_0x3280c0);if(_0xd19563['gVHIq'](_0x5152a9['mtimeMs'],0x7d0)<_0x51dd42)continue;const _0x67c709=buildCliArtifactPath(_0x3b4c18,_0x4f537a[_0x5a9e72(0xc7)]);if(_0x3280c0===_0x67c709)continue;await _0xd19563['eKeaO'](rename,_0x3280c0,_0x67c709),_0x44d439[_0x5a9e72(0xf5)](_0x4f537a[_0x5a9e72(0xc7)]);}return _0x44d439[_0x5a9e72(0x139)]();}
@@ -1 +1 @@
1
- const _0x152c0a=_0x1c86;(function(_0x52680c,_0x184fc3){const _0x4999db=_0x1c86,_0x36446c=_0x52680c();while(!![]){try{const _0x5d1357=parseInt(_0x4999db(0x21c))/0x1*(-parseInt(_0x4999db(0x245))/0x2)+parseInt(_0x4999db(0x1ed))/0x3*(parseInt(_0x4999db(0x219))/0x4)+-parseInt(_0x4999db(0x26f))/0x5+parseInt(_0x4999db(0x20a))/0x6+-parseInt(_0x4999db(0x1d6))/0x7+-parseInt(_0x4999db(0x1cc))/0x8*(-parseInt(_0x4999db(0x1d1))/0x9)+parseInt(_0x4999db(0x224))/0xa;if(_0x5d1357===_0x184fc3)break;else _0x36446c['push'](_0x36446c['shift']());}catch(_0x598af5){_0x36446c['push'](_0x36446c['shift']());}}}(_0x37fb,0xd4781));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create','execute',_0x152c0a(0x284),'ask','goto',_0x152c0a(0x26d),_0x152c0a(0x1cb),_0x152c0a(0x29b)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x319a5b,_0xd512d0){return join(_0x319a5b,_0xd512d0);}export class NovaActArtifactRecorder{[_0x152c0a(0x20f)];[_0x152c0a(0x24c)]=null;[_0x152c0a(0x2a2)]=null;[_0x152c0a(0x246)]=null;[_0x152c0a(0x1d8)]=[];[_0x152c0a(0x270)]=0x0;[_0x152c0a(0x240)]=0x0;[_0x152c0a(0x238)]=null;['traceSampleInFlight']=null;[_0x152c0a(0x209)]=![];['screencastStarted']=![];[_0x152c0a(0x289)]=![];[_0x152c0a(0x229)]=![];constructor(_0x2696c1){this['params']=_0x2696c1;}async[_0x152c0a(0x25d)](){const _0x49a611=_0x152c0a,_0x443681={'HvUZN':_0x49a611(0x29f),'hUckE':'nova_act_artifact_recording'};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x381c6f=await this[_0x49a611(0x1fc)](),_0x4fe99e=_0x381c6f[_0x49a611(0x259)];if(!_0x4fe99e)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x49a611(0x298)]);await mkdir(this[_0x49a611(0x20f)][_0x49a611(0x24d)],{'recursive':!![]}),this[_0x49a611(0x24c)]=await chromium[_0x49a611(0x273)](_0x4fe99e,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x49a611(0x2a2)]=this['browser'][_0x49a611(0x27d)]()[0x0]??null;if(!this[_0x49a611(0x2a2)])throw new Error(_0x443681['HvUZN']);await this['context']['tracing'][_0x49a611(0x25d)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x49a611(0x209)]=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x49a611(0x20f)][_0x49a611(0x286)][_0x49a611(0x223)](_0x49a611(0x250),{...this[_0x49a611(0x20f)][_0x49a611(0x216)],'cdpEndpoint':_0x4fe99e,'browserPid':_0x381c6f['browser_pid'],'sessionState':_0x381c6f['state']}),this[_0x49a611(0x20f)]['telemetry'][_0x49a611(0x255)](_0x443681['hUckE'],{...this['params'][_0x49a611(0x216)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x49a611(0x1fa)]});}async[_0x152c0a(0x29e)](){const _0x1c1428=_0x152c0a,_0x223835={'oJXdi':function(_0x4d75c2,_0x2531fe,_0xba8cd2){return _0x4d75c2(_0x2531fe,_0xba8cd2);},'dsCLW':'trace.zip','MhVid':'nova_act_artifact_recording_stop'};if(this[_0x1c1428(0x229)])return;this['stopped']=!![];const _0x4021fd={...this['params']['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this[_0x1c1428(0x240)],'tracingStarted':this[_0x1c1428(0x209)],'screencastStarted':this[_0x1c1428(0x1fa)]};this['params']['telemetry'][_0x1c1428(0x223)](_0x1c1428(0x201),_0x4021fd);try{await this[_0x1c1428(0x225)](),await this[_0x1c1428(0x1da)](),await this['stopScreencast'](),await Promise['allSettled'](this['frameWrites']);this[_0x1c1428(0x2a2)]&&this[_0x1c1428(0x209)]&&await this['context'][_0x1c1428(0x204)]['stop']({'path':_0x223835[_0x1c1428(0x236)](buildCliArtifactPath,this['params'][_0x1c1428(0x24d)],_0x223835[_0x1c1428(0x1f9)])});const _0x114000=await this['encodeScreencastVideo']();this[_0x1c1428(0x20f)][_0x1c1428(0x286)]['trackPhaseEnd'](_0x223835['MhVid'],{..._0x4021fd,'videoPath':_0x114000});}catch(_0x51a42b){await this[_0x1c1428(0x20f)]['telemetry'][_0x1c1428(0x1dd)](_0x223835[_0x1c1428(0x252)],_0x51a42b,_0x4021fd);}finally{await this['browser']?.[_0x1c1428(0x264)]()[_0x1c1428(0x1d3)](()=>undefined),this[_0x1c1428(0x24c)]=null,this[_0x1c1428(0x2a2)]=null,this[_0x1c1428(0x246)]=null;}}async['readSessionMetadataWithRetry'](){const _0x2e7077=_0x152c0a,_0x2d7251={'ATwbE':function(_0x274471){return _0x274471();},'uazFW':_0x2e7077(0x248),'QiwoT':'browser','dnBEL':function(_0x28346e,_0x33b61b,_0x2b74da){return _0x28346e(_0x33b61b,_0x2b74da);},'aBiKr':_0x2e7077(0x1e8),'pNqzA':function(_0x479517,_0x4077e8){return _0x479517(_0x4077e8);},'AHcAQ':function(_0x37e6b8,_0x46f858){return _0x37e6b8 instanceof _0x46f858;}},_0x2aff0d=join(_0x2d7251[_0x2e7077(0x288)](homedir),_0x2d7251['uazFW'],_0x2d7251['QiwoT'],'sessions',this[_0x2e7077(0x20f)][_0x2e7077(0x25c)]['sessionId']+_0x2e7077(0x235)),_0x121a9d=Date[_0x2e7077(0x23d)]();let _0x303261;do{try{const _0x70d079=JSON['parse'](await _0x2d7251[_0x2e7077(0x1df)](readFile,_0x2aff0d,_0x2d7251[_0x2e7077(0x1e1)]));if(_0x70d079['cdp_endpoint'])return _0x70d079;_0x303261=new Error(_0x2e7077(0x244)+_0x2aff0d);}catch(_0x351f9a){_0x303261=_0x351f9a;}await _0x2d7251[_0x2e7077(0x271)](delay,0x64);}while(Date['now']()-_0x121a9d<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x2d7251[_0x2e7077(0x261)](_0x303261,Error))throw _0x303261;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x2aff0d);}async[_0x152c0a(0x25e)](){const _0xb662d0=_0x152c0a,_0x35b274={'tGYxS':function(_0x35d39e,_0x349dab,_0x13fb63){return _0x35d39e(_0x349dab,_0x13fb63);},'tPaJQ':function(_0x3fbce1,_0x457872){return _0x3fbce1(_0x457872);},'gePOq':_0xb662d0(0x1ce),'tPeXW':'jpeg'};if(!this[_0xb662d0(0x2a2)])return;const _0x2c7e45=this['context'][_0xb662d0(0x276)]()[0x0];if(!_0x2c7e45)return;const _0x50dbf9=this['getFrameDir']();await mkdir(_0x50dbf9,{'recursive':!![]});const _0x1e59bd=await this[_0xb662d0(0x2a2)]['newCDPSession'](_0x2c7e45);this['frameSession']=_0x1e59bd,_0x1e59bd['on']('Page.screencastFrame',_0x355307=>{const _0x4dc46e=_0xb662d0,_0x2dc3e4=++this[_0x4dc46e(0x270)],_0x391183=_0x35b274['tGYxS'](join,_0x50dbf9,'frame-'+_0x35b274['tPaJQ'](String,_0x2dc3e4)[_0x4dc46e(0x247)](0x6,'0')+'.jpg'),_0x356f49=writeFile(_0x391183,Buffer[_0x4dc46e(0x299)](_0x355307[_0x4dc46e(0x1e4)],_0x4dc46e(0x1e0)))[_0x4dc46e(0x1d3)](()=>undefined)[_0x4dc46e(0x287)](()=>_0x1e59bd[_0x4dc46e(0x279)](_0x4dc46e(0x200),{'sessionId':_0x355307['sessionId']}))[_0x4dc46e(0x237)](()=>undefined)[_0x4dc46e(0x1d3)](()=>undefined);this['frameWrites']['push'](_0x356f49);}),await _0x1e59bd['send'](_0x35b274[_0xb662d0(0x23f)],{'format':_0x35b274[_0xb662d0(0x297)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x152c0a(0x220)](){const _0x2bb031=_0x152c0a;if(!this['frameSession']||!this[_0x2bb031(0x1fa)])return;await this[_0x2bb031(0x246)][_0x2bb031(0x279)](_0x2bb031(0x1e5))['catch'](()=>undefined);}['startTraceSampling'](){const _0xa1cd53=_0x152c0a,_0x549032={'dzITV':function(_0x874670,_0x2b4e2f,_0x52814a){return _0x874670(_0x2b4e2f,_0x52814a);}};this['queueTraceSample'](),this[_0xa1cd53(0x238)]=_0x549032[_0xa1cd53(0x272)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x152c0a(0x280)](){const _0x507e65=_0x152c0a;if(this[_0x507e65(0x1cd)])return;this[_0x507e65(0x1cd)]=this[_0x507e65(0x1da)]()[_0x507e65(0x287)](()=>{const _0x10ceff=_0x507e65;this[_0x10ceff(0x1cd)]=null;});}async[_0x152c0a(0x225)](){const _0x1fc058=_0x152c0a,_0x1c1c00={'tUwXE':function(_0x375cea,_0x1bad21){return _0x375cea(_0x1bad21);}};this[_0x1fc058(0x238)]&&(_0x1c1c00[_0x1fc058(0x21d)](clearInterval,this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x1fc058(0x1cd)]?.[_0x1fc058(0x1d3)](()=>undefined);}async[_0x152c0a(0x1da)](){const _0x4d97e4=_0x152c0a,_0x53c2ac=this[_0x4d97e4(0x2a2)]?.[_0x4d97e4(0x276)]()[0x0];if(!_0x53c2ac)return;try{await _0x53c2ac[_0x4d97e4(0x1f4)]('body')['evaluate'](_0x5b94ac=>_0x5b94ac['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x152c0a(0x295)](){const _0x51888c=_0x152c0a,_0x369c3b={'HfdvQ':function(_0x2820b5,_0x226d3d,_0x29423c){return _0x2820b5(_0x226d3d,_0x29423c);},'SAXxm':'session-recording.webm','EvOZl':_0x51888c(0x221),'SXZCv':'error','PcwAt':'-framerate','VALzH':function(_0x373042,_0x59a6c8,_0x768dfc){return _0x373042(_0x59a6c8,_0x768dfc);},'vtKdR':_0x51888c(0x214)};if(this['frameCount']<0x2)return null;const _0x52269f=await resolveFfmpegPath();if(!_0x52269f)return null;const _0x4edace=_0x369c3b[_0x51888c(0x1fb)](join,this['params'][_0x51888c(0x24d)],_0x51888c(0x1f0));await _0x369c3b['HfdvQ'](mkdir,_0x4edace,{'recursive':!![]});const _0x1af081=join(_0x4edace,_0x369c3b['SAXxm']);return await _0x369c3b['HfdvQ'](execFileAsync,_0x52269f,['-y','-hide_banner',_0x369c3b[_0x51888c(0x1e2)],_0x369c3b['SXZCv'],_0x369c3b['PcwAt'],'10','-i',_0x369c3b[_0x51888c(0x290)](join,this['getFrameDir'](),_0x51888c(0x260)),'-vf',_0x51888c(0x2a5),_0x51888c(0x26e),_0x51888c(0x24f),'-pix_fmt',_0x369c3b[_0x51888c(0x217)],_0x1af081]),_0x1af081;}[_0x152c0a(0x21e)](){const _0x286ae9=_0x152c0a;return join(this[_0x286ae9(0x20f)][_0x286ae9(0x24d)],_0x286ae9(0x234));}}async function delay(_0xe8db91){await new Promise(_0x3cdff2=>setTimeout(_0x3cdff2,_0xe8db91));}function _0x37fb(){const _0x361557=['ytsER','00_initial-state.yml','params','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','yUkiu','env','\x0a\x0a##\x20Additional\x20Notes\x0a','yuv420p','nxKIc','transportMetadata','vtKdR','nova_act_session_report','3716RumLJF','CRgMl','pqkFL','1348973iXEojM','tUwXE','getFrameDir','`\x0a-\x20`','stopScreencast','-loglevel','cnesw','trackPhaseStart','13284780BLbRai','stopTraceSampling','iCsxQ','\x20>\x20','export','stopped','WOaJr','tool_input','RTiZw','CHLlD','\x20screenshot\x20--output\x20','length','ggswj','match','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.','nova-video-frames','.json','oJXdi','then','traceSampleTimer','commandArgs','wYGmn','trim','unaddressedComments','now','invocation','gePOq','traceSampleCount','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','auQPg','--output','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','2AUjrRG','frameSession','padStart','.act_cli','textContent','hook_event_name','short','browser','cliArtifactDir','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','libvpx-vp9','nova_act_artifact_recording','**\x20(','MhVid','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','pCuLG','trackPhaseEnd','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','\x0a\x0aExamples:\x0a-\x20`','stderr','cdp_endpoint','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','novaOptions','start','startScreencast','zADSu','frame-%06d.jpg','AHcAQ','rtuhz','Caches','close','bKeQP','xYwxh','authorName','Scmzm','KABhF','replace','nova-act-cli','02_final-state.yml','wait-for','-c:v','6060400QdDXSI','frameCount','pNqzA','dzITV','connectOverCDP','session','PostToolUse','pages','Ybbgw','json','send','ffmpeg.exe','nova-session-export.json','domRef','contexts','TzcZA','FExzK','queueTraceSample','`\x0a3.\x20Run\x20`','Bash','phase','verify','Bqroi','telemetry','finally','ATwbE','startAttempted','subcommand','lJOQh','01_initial.yml','ydrgn','\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`','lqQma','VALzH','-\x20[','key_final-state.png','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','goto','encodeScreencastVideo','dAWUw','tPeXW','sessionId','from','ffmpeg-linux','screenshot','block','--output-dir','stop','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','startsWith','stdout','context','keys','nova-report','scale=trunc(iw/2)*2:trunc(ih/2)*2','snapshot','837064fsMwmD','traceSampleInFlight','Page.startScreencast','Library','mksqK','72LXPwmW','createdAt','catch','\x20snapshot\x20--output\x20','giYKq','3475689FIIKrU','wVdZN','frameWrites','command','captureTraceSample','mbIdo','lfoal','trackPhaseError','pop','dnBEL','base64','aBiKr','EvOZl','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','data','Page.stopScreencast','en-US','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','utf-8','navigate\x20browser','nova_act_session_close','jckuj','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','2370QeMkFM','\x20session\x20create\x20','cwd','videos','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','nova_act_final_screenshot','get','locator','mtimeMs','test','execute','ask','dsCLW','screencastStarted','HfdvQ','readSessionMetadataWithRetry','ApXks','capture\x20snapshot\x20`','authorEmail','Page.screencastFrameAck','nova_act_artifact_recording_stop','notes','execute\x20Nova\x20browser\x20action','tracing','`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','flatMap','--format','UpYuW','tracingStarted','6170406EtqLdg','name','aSfvE'];_0x37fb=function(){return _0x361557;};return _0x37fb();}async function resolveFfmpegPath(){const _0x2e1801=_0x152c0a,_0x2e39f2={'DkodA':function(_0x283646,_0x45397c){return _0x283646(_0x45397c);},'BoLfd':function(_0xb2f8c1,_0x4a1e9b,_0x588760,_0x2f8a35,_0x1df007){return _0xb2f8c1(_0x4a1e9b,_0x588760,_0x2f8a35,_0x1df007);},'FExzK':function(_0x2a8643){return _0x2a8643();},'CAjgF':_0x2e1801(0x263),'lfoal':function(_0x1aed38,_0x38f7e3,_0x24a657,_0x126cc6){return _0x1aed38(_0x38f7e3,_0x24a657,_0x126cc6);},'pqkFL':'.cache'};if(await _0x2e39f2['DkodA'](canRunFfmpeg,'ffmpeg'))return'ffmpeg';const _0x5a66ed=[_0x2e39f2['BoLfd'](join,_0x2e39f2[_0x2e1801(0x27f)](homedir),_0x2e1801(0x1cf),_0x2e39f2['CAjgF'],'ms-playwright'),_0x2e39f2[_0x2e1801(0x1dc)](join,homedir(),_0x2e39f2[_0x2e1801(0x21b)],'ms-playwright')];for(const _0x56552b of _0x5a66ed){try{const _0x282774=await readdir(_0x56552b),_0x4e7484=_0x282774['filter'](_0xef01bf=>_0xef01bf[_0x2e1801(0x2a0)]('ffmpeg-'))['sort']()['reverse']()[_0x2e1801(0x206)](_0x189563=>[join(_0x56552b,_0x189563,'ffmpeg-mac'),join(_0x56552b,_0x189563,_0x2e1801(0x29a)),join(_0x56552b,_0x189563,_0x2e1801(0x27a))]);for(const _0xe7cfda of _0x4e7484){if(await canRunFfmpeg(_0xe7cfda))return _0xe7cfda;}}catch{}}return null;}async function canRunFfmpeg(_0x16c01b){const _0x396766=_0x152c0a,_0x4c67e4={'CHLlD':function(_0x5d427a,_0x2b89b1,_0x5c8823){return _0x5d427a(_0x2b89b1,_0x5c8823);}};try{return await _0x4c67e4[_0x396766(0x22d)](execFileAsync,_0x16c01b,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x2ca30a){const _0x49c8c3=_0x152c0a,_0x52dbf1=basename(_0x2ca30a)[_0x49c8c3(0x26a)](/\.(?:png|ya?ml)$/i,'')[_0x49c8c3(0x26a)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x52dbf1,'isKeyStep':/^key_/i['test'](basename(_0x2ca30a))};}function extractShellValue(_0xcde528){if(!_0xcde528)return null;return _0xcde528[0x1]??_0xcde528[0x2]??_0xcde528[0x3]??null;}function extractOutputOption(_0x51723d){const _0x58f7ef=_0x152c0a,_0x55d579={'lqQma':function(_0x3b8b50,_0x3e2f0c){return _0x3b8b50(_0x3e2f0c);}};return _0x55d579[_0x58f7ef(0x28f)](extractShellValue,_0x51723d[_0x58f7ef(0x231)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x1a9415,_0x11c21d){const _0x246176=_0x152c0a,_0x6c3571={'whyRC':_0x246176(0x1f7),'odmCS':'verify','MZMcc':'verify\x20page\x20condition','RTiZw':_0x246176(0x1f8),'ydrgn':'ask\x20page\x20question','Bqroi':_0x246176(0x1e9),'KABhF':function(_0x1f5128,_0x4341a3){return _0x1f5128(_0x4341a3);},'jckuj':'session\x20export','RNYUI':'export\x20Nova\x20session'};switch(_0x11c21d){case'session\x20create':return'create\x20Nova\x20browser\x20session';case _0x6c3571['whyRC']:return _0x246176(0x203);case _0x6c3571['odmCS']:return _0x6c3571['MZMcc'];case _0x6c3571[_0x246176(0x22c)]:return _0x6c3571[_0x246176(0x28d)];case _0x246176(0x294):return _0x6c3571[_0x246176(0x285)];case _0x246176(0x26d):return'wait\x20for\x20page\x20condition';case _0x246176(0x1cb):{const _0x1a2f5c=extractOutputOption(_0x1a9415);if(!_0x1a2f5c)return'capture\x20snapshot';const {name:_0x30f425}=toStepDisplayName(_0x1a2f5c);return _0x246176(0x1fe)+_0x30f425+'`';}case _0x246176(0x29b):{const _0x1f2184=extractOutputOption(_0x1a9415);if(!_0x1f2184)return'capture\x20screenshot';const {name:_0x3b84bb,isKeyStep:_0x3d5963}=_0x6c3571[_0x246176(0x269)](toStepDisplayName,_0x1f2184);return _0x3d5963?'capture\x20key\x20step\x20`'+_0x3b84bb+'`':'capture\x20step\x20`'+_0x3b84bb+'`';}case _0x6c3571[_0x246176(0x1eb)]:return _0x6c3571['RNYUI'];default:return _0x11c21d;}}function getNovaActCliCommandBlockReason(_0x360155){const _0x26badc=_0x152c0a,_0x44eb1a={'ibDHW':function(_0x17380a,_0x55845a){return _0x17380a(_0x55845a);},'ggpJg':function(_0x2b8250,_0x6204bd){return _0x2b8250===_0x6204bd;},'CRgMl':_0x26badc(0x25b)},_0x1186a0=_0x44eb1a['ibDHW'](parseNovaActCliCommand,_0x360155);if(!_0x1186a0)return _0x26badc(0x1e7);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x1186a0))return'Nova\x20command\x20`'+_0x1186a0+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x44eb1a['ggpJg'](_0x1186a0,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x360155))return _0x44eb1a[_0x26badc(0x21a)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x360155))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x1f43ff){const _0x2c11ee=_0x152c0a,_0x1d0025={'Hqaxf':_0x2c11ee(0x24b),'rtuhz':'numeric','cnesw':'Reviewer','jEoaY':_0x2c11ee(0x227),'WvXrw':function(_0x54fe44,_0x32db98){return _0x54fe44===_0x32db98;}};if(!_0x1f43ff||_0x1d0025['WvXrw'](_0x1f43ff[_0x2c11ee(0x23c)][_0x2c11ee(0x22f)],0x0))return'';const _0xe73395=_0x1f43ff[_0x2c11ee(0x23c)]['map'](_0x5e2a42=>{const _0x39ec73=_0x2c11ee,_0x433213=new Date(_0x5e2a42[_0x39ec73(0x1d2)])['toLocaleDateString'](_0x39ec73(0x1e6),{'month':_0x1d0025['Hqaxf'],'day':_0x1d0025[_0x39ec73(0x262)]}),_0x489034=_0x5e2a42[_0x39ec73(0x267)]||_0x5e2a42[_0x39ec73(0x1ff)]||_0x1d0025[_0x39ec73(0x222)],_0x297c4d=_0x5e2a42[_0x39ec73(0x27c)]?'\x20(on\x20element:\x20<'+(_0x5e2a42['domRef']['selector']['split'](_0x1d0025['jEoaY'])[_0x39ec73(0x1de)]()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x5e2a42[_0x39ec73(0x27c)][_0x39ec73(0x249)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x39ec73(0x291)+_0x5e2a42['id']+']\x20**'+_0x489034+_0x39ec73(0x251)+_0x433213+'):\x20\x22'+_0x5e2a42['content']+'\x22'+_0x297c4d;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0xe73395;}function buildNovaSharedOptionsInstruction(_0x536fb3){const _0xefbae4=_0x152c0a;if(!_0x536fb3[_0xefbae4(0x23b)]())return _0xefbae4(0x233);return _0xefbae4(0x1ec)+_0x536fb3;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x3b40ba){const _0x5d753c=_0x152c0a,_0xf68b11={'WFFRp':function(_0x5c676b,_0x2e817f,_0x3632d7){return _0x5c676b(_0x2e817f,_0x3632d7);},'pCuLG':function(_0x276a6a,_0x56a543,_0x1461f8){return _0x276a6a(_0x56a543,_0x1461f8);},'SXIpb':function(_0x4841b0,_0x73b321,_0x580188){return _0x4841b0(_0x73b321,_0x580188);},'enpAN':function(_0x2e4a7f,_0x4e4c49){return _0x2e4a7f(_0x4e4c49);}},{novaCommandPrefix:_0x450e7,novaSharedOptionsSuffix:_0x134702,cliArtifactDir:_0x41e63c,url:_0x3b0fc7}=_0x3b40ba,_0x1f6773=buildCliArtifactPath(_0x41e63c,_0x5d753c(0x20e)),_0x52796e=_0xf68b11['WFFRp'](buildCliArtifactPath,_0x41e63c,'01_initial-state.png'),_0x1853d1=_0xf68b11[_0x5d753c(0x254)](buildCliArtifactPath,_0x41e63c,_0x5d753c(0x26c)),_0x35f7d1=_0xf68b11['SXIpb'](buildCliArtifactPath,_0x41e63c,'03_final-state.png');return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x450e7+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x134702)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x450e7+'\x20session\x20create\x20'+_0xf68b11['enpAN'](quoteShellArg,_0x3b0fc7)+'\x20'+_0x134702+'`\x0a2.\x20Run\x20`'+_0x450e7+'\x20snapshot\x20--output\x20'+_0xf68b11['enpAN'](quoteShellArg,_0x1f6773)+'\x20'+_0x134702+_0x5d753c(0x281)+_0x450e7+_0x5d753c(0x22e)+_0xf68b11['enpAN'](quoteShellArg,_0x52796e)+'\x20'+_0x134702+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x450e7+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x450e7+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x1853d1)+'\x20'+_0x134702+'`\x0a6.\x20Run\x20`'+_0x450e7+_0x5d753c(0x22e)+quoteShellArg(_0x35f7d1)+'\x20'+_0x134702+_0x5d753c(0x1e3)+_0x41e63c+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x25feaa){const _0x4897ed=_0x152c0a,_0x4e112f={'mbIdo':function(_0x35a5ca,_0x2aa76d,_0x5a12a5){return _0x35a5ca(_0x2aa76d,_0x5a12a5);},'TzcZA':_0x4897ed(0x28c),'ugroy':'01_initial-state.png','Ybbgw':'key_03_success-state.png','Wewug':_0x4897ed(0x293),'giYKq':function(_0x52a39c,_0x2ea2e1){return _0x52a39c(_0x2ea2e1);}},{checklistItem:_0x464d6c,itemFeedback:_0x30bf0a,taskDescription:_0x44c478,novaCommandPrefix:_0x275750,novaSharedOptionsSuffix:_0x2376cc,cliArtifactDir:_0x48458c,url:_0x55dbae,loginInstructions:_0x40ebc0}=_0x25feaa,_0xff0bd=_0x464d6c['notes']?_0x4897ed(0x213)+_0x464d6c[_0x4897ed(0x202)]:'',_0x66b62f=buildFeedbackSection(_0x30bf0a),_0x2319e3=_0x30bf0a?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x30bf0a['canonicalFlow']:'',_0x36ed44=_0x40ebc0?_0x4897ed(0x210)+_0x40ebc0+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x2e5f82=_0x4e112f[_0x4897ed(0x1db)](buildCliArtifactPath,_0x48458c,_0x4e112f[_0x4897ed(0x27e)]),_0x749fcf=_0x4e112f[_0x4897ed(0x1db)](buildCliArtifactPath,_0x48458c,_0x4e112f['ugroy']),_0x36817b=_0x4e112f['mbIdo'](buildCliArtifactPath,_0x48458c,_0x4e112f[_0x4897ed(0x277)]);return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x464d6c['description']+_0xff0bd+_0x66b62f+_0x2319e3+_0x4897ed(0x232)+_0x44c478+_0x4897ed(0x1f1)+_0x55dbae+_0x4897ed(0x253)+_0x36ed44+_0x4897ed(0x28e)+_0x275750+_0x4897ed(0x1ee)+quoteShellArg(_0x55dbae)+'\x20'+_0x2376cc+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x48458c+_0x4897ed(0x241)+_0x275750+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2e5f82)+'\x20'+_0x2376cc+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x275750+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x749fcf)+'\x20'+_0x2376cc+_0x4897ed(0x24e)+_0x36817b+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0x275750+_0x4897ed(0x25a)+(_0x2376cc['trim']()?'`'+_0x2376cc+'`':_0x4e112f['Wewug'])+'\x0a\x0a'+_0x4e112f[_0x4897ed(0x1d5)](buildNovaSharedOptionsInstruction,_0x2376cc)+_0x4897ed(0x257)+_0x275750+_0x4897ed(0x256)+_0x2376cc+_0x4897ed(0x21f)+_0x275750+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x2376cc+'`\x0a-\x20`'+_0x275750+_0x4897ed(0x1d4)+quoteShellArg(_0x2e5f82)+'\x20'+_0x2376cc+'`\x0a-\x20`'+_0x275750+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x36817b)+'\x20'+_0x2376cc+_0x4897ed(0x205);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x265529){const _0x593239=_0x152c0a,_0x5ca280={'ggswj':function(_0x1164d0,_0x483c3e){return _0x1164d0===_0x483c3e;}},_0x1760b7=[..._0x265529[_0x593239(0x2a3)]()]['sort']();let _0xae3309=0x0;for(const _0x547ce6 of _0x265529['values']()){_0xae3309+=_0x547ce6;}return{'cliCommandCount':_0xae3309,'cliCommandsSeen':_0x1760b7,'noCliCommandsCalled':_0x5ca280[_0x593239(0x230)](_0xae3309,0x0)};}export function createVerifyFeatureNovaCliHooks(_0xa01ca,_0x482424){const _0x40ec53=_0x152c0a,_0x57e8cb={'mksqK':function(_0x2abd62,_0xfafbc7){return _0x2abd62!==_0xfafbc7;},'wYGmn':'PreToolUse','bgIZV':'Bash','ApXks':function(_0x4a199c,_0x1c0947){return _0x4a199c(_0x1c0947);},'lhAia':_0x40ec53(0x29c),'EknWY':_0x40ec53(0x275),'lJOQh':function(_0x134d3a,_0x7bd9f0){return _0x134d3a!==_0x7bd9f0;},'wVdZN':function(_0x3b7d80,_0x1a1a8f){return _0x3b7d80(_0x1a1a8f);},'dAWUw':'nova_act_command','sFJjx':function(_0xf4cb26,_0x51bb9a,_0x36822f){return _0xf4cb26(_0x51bb9a,_0x36822f);},'vfixA':function(_0x4cf8dc,_0x4bb7c0){return _0x4cf8dc===_0x4bb7c0;},'bEdKZ':'session\x20create','aSfvE':'nova_act_artifact_recording','IyBbe':function(_0x152b7e,_0xbf20db){return _0x152b7e!==_0xbf20db;}},_0x1b7834=new Map(),_0x4652eb=async _0x5e4728=>{const _0x1f4d0e=_0x40ec53;if(_0x57e8cb['mksqK'](_0x5e4728['hook_event_name'],_0x57e8cb[_0x1f4d0e(0x23a)]))return{};const _0x1d99ae=_0x5e4728;if(_0x57e8cb[_0x1f4d0e(0x1d0)](_0x1d99ae['tool_name'],_0x57e8cb['bgIZV']))return{};const _0x371f7e=_0x1d99ae[_0x1f4d0e(0x22b)],_0x4a0ec7=_0x57e8cb[_0x1f4d0e(0x1fd)](extractBashCommand,_0x371f7e);if(!_0x4a0ec7)return{};const _0xc5c17d=getNovaActCliCommandBlockReason(_0x4a0ec7);if(!_0xc5c17d)return{};return{'decision':_0x57e8cb['lhAia'],'reason':_0xc5c17d};},_0x248c5d=async _0x220cca=>{const _0x14306b=_0x40ec53;if(_0x220cca[_0x14306b(0x24a)]!==_0x57e8cb['EknWY'])return{};const _0xb0ebde=_0x220cca;if(_0x57e8cb[_0x14306b(0x28b)](_0xb0ebde['tool_name'],'Bash'))return{};const _0x1fd632=_0xb0ebde[_0x14306b(0x22b)],_0x49c736=_0x57e8cb[_0x14306b(0x1d7)](extractBashCommand,_0x1fd632);if(!_0x49c736)return{};const _0x2099bc=parseNovaActCliCommand(_0x49c736);if(!_0x2099bc)return{};_0x1b7834['set'](_0x2099bc,(_0x1b7834[_0x14306b(0x1f3)](_0x2099bc)||0x0)+0x1),_0xa01ca['trackPhaseStart'](_0x57e8cb[_0x14306b(0x296)],{'subcommand':_0x2099bc}),_0xa01ca[_0x14306b(0x255)]('nova_act_command',{'subcommand':_0x2099bc,'commandPreview':previewNovaActCliCommand(_0x49c736)}),console['log']('[nova-act-cli]\x20'+_0x57e8cb['sFJjx'](formatNovaActCliLog,_0x49c736,_0x2099bc));if(_0x57e8cb['vfixA'](_0x2099bc,_0x57e8cb['bEdKZ'])&&_0x482424)try{await _0x482424['start']();}catch(_0x455b3c){await _0xa01ca[_0x14306b(0x1dd)](_0x57e8cb[_0x14306b(0x20c)],_0x455b3c,{'transport':'nova-act-cli'});}return{};},_0xc238d0=async _0x562a48=>{const _0x9b6c1d=_0x40ec53;if(_0x57e8cb['IyBbe'](_0x562a48[_0x9b6c1d(0x24a)],'PostToolUseFailure'))return{};const _0x3feeec=_0x562a48;if(_0x3feeec['tool_name']!=='Bash')return{};return await _0xa01ca[_0x9b6c1d(0x1dd)]('nova_act_command_failure',_0x3feeec['error'],{'transport':_0x9b6c1d(0x26b),'toolName':_0x9b6c1d(0x282)}),{};};return{'preToolUseHook':_0x4652eb,'postToolUseHook':_0x248c5d,'postToolUseFailureHook':_0xc238d0,'commandCounts':_0x1b7834};}async function runNovaLifecycleCommand(_0x29df9b){const _0x3da69d=_0x152c0a,_0x729132={'fdCrO':function(_0x4b4f73,_0x5c6bb5){return _0x4b4f73(_0x5c6bb5);},'oOuLC':function(_0x3574e6,_0x49c528){return _0x3574e6(_0x49c528);},'UpYuW':function(_0x130a49,_0x12a4dd){return _0x130a49(_0x12a4dd);}},{novaOptions:_0x523345,commandArgs:_0x598f23,telemetry:_0x9e0b21,phase:_0x1bce70,metadata:_0x27e675,timeoutMs:_0x549904}=_0x29df9b;_0x9e0b21['trackPhaseStart'](_0x1bce70,_0x27e675);try{const _0x48a30e=await runNovaActCliCommand({..._0x523345,'commandArgs':_0x598f23,'cwd':process[_0x3da69d(0x1ef)](),'env':process[_0x3da69d(0x212)],'timeoutMs':_0x549904??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x9e0b21['trackPhaseEnd'](_0x1bce70,{..._0x27e675,'subcommand':_0x48a30e['invocation'][_0x3da69d(0x28a)],'commandPreview':_0x729132['fdCrO'](previewNovaActCliCommand,_0x48a30e[_0x3da69d(0x23e)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x48a30e['stdout']),'stderrPreview':_0x729132['oOuLC'](previewNovaActCliCommand,_0x48a30e[_0x3da69d(0x258)]),'logDir':_0x729132[_0x3da69d(0x208)](extractNovaActLogDir,_0x48a30e[_0x3da69d(0x2a1)])});}catch(_0x13ab9d){await _0x9e0b21[_0x3da69d(0x1dd)](_0x1bce70,_0x13ab9d,_0x27e675);throw _0x13ab9d;}}function _0x1c86(_0xb90637,_0x658003){_0xb90637=_0xb90637-0x1cb;const _0x37fb2=_0x37fb();let _0x1c8661=_0x37fb2[_0xb90637];return _0x1c8661;}export async function finalizeVerifyFeatureNovaCliSession(_0x3c07a2){const _0x30f532=_0x152c0a,_0x46cc87={'NvVMf':'screenshot','Scmzm':_0x30f532(0x243),'haYUr':_0x30f532(0x292),'atAGe':_0x30f532(0x1cb),'zADSu':_0x30f532(0x228),'yUkiu':function(_0x5143c3,_0x5e5814,_0x495fa0){return _0x5143c3(_0x5e5814,_0x495fa0);},'Nhrso':_0x30f532(0x29d),'FQHTQ':_0x30f532(0x2a4),'xYwxh':_0x30f532(0x264)},{telemetry:_0x54a841,novaOptions:_0x3cc640,cliArtifactDir:_0xa738c5,transportMetadata:_0x2eafeb,artifactRecorder:_0x25d441}=_0x3c07a2,_0x4d8f26=[{'phase':_0x30f532(0x1f2),'commandArgs':[_0x46cc87['NvVMf'],_0x46cc87['Scmzm'],buildCliArtifactPath(_0xa738c5,_0x46cc87['haYUr'])]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x46cc87['atAGe'],_0x46cc87[_0x30f532(0x268)],buildCliArtifactPath(_0xa738c5,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':['session',_0x46cc87[_0x30f532(0x25f)],_0x30f532(0x207),_0x30f532(0x278),_0x46cc87['Scmzm'],_0x46cc87[_0x30f532(0x211)](buildCliArtifactPath,_0xa738c5,_0x30f532(0x27b))]},{'phase':_0x30f532(0x218),'commandArgs':[_0x30f532(0x274),_0x30f532(0x228),'--report',_0x46cc87['Nhrso'],buildCliArtifactPath(_0xa738c5,_0x46cc87['FQHTQ'])]},{'phase':_0x30f532(0x1ea),'commandArgs':['session',_0x46cc87[_0x30f532(0x266)]]}];for(const _0x5d0274 of _0x4d8f26){_0x5d0274['phase']==='nova_act_session_close'&&await _0x25d441?.[_0x30f532(0x29e)]();try{await runNovaLifecycleCommand({'novaOptions':_0x3cc640,'commandArgs':[..._0x5d0274['commandArgs']],'telemetry':_0x54a841,'phase':_0x5d0274[_0x30f532(0x283)],'metadata':_0x2eafeb});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3448bb){const _0x13f86b=_0x152c0a,_0x1e62ad={'bKeQP':function(_0x3628db,_0x5c10e2,_0x354223){return _0x3628db(_0x5c10e2,_0x354223);},'nxKIc':function(_0xefbcd8,_0x45700e){return _0xefbcd8(_0x45700e);},'WWYoN':function(_0x19c158,_0xf3e094){return _0x19c158+_0xf3e094;}},{cwd:_0x9a8dc4,cliArtifactDir:_0x465d31,startTime:_0x4abd7a}=_0x3448bb,_0x324362=[];await mkdir(_0x465d31,{'recursive':!![]});const _0x41f1bb=await readdir(_0x9a8dc4,{'withFileTypes':!![]});for(const _0x55c57d of _0x41f1bb){if(!_0x55c57d['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x13f86b(0x1f6)](_0x55c57d[_0x13f86b(0x20b)]))continue;const _0x233c9c=_0x1e62ad[_0x13f86b(0x265)](join,_0x9a8dc4,_0x55c57d['name']),_0x305b90=await _0x1e62ad[_0x13f86b(0x215)](stat,_0x233c9c);if(_0x1e62ad['WWYoN'](_0x305b90[_0x13f86b(0x1f5)],0x7d0)<_0x4abd7a)continue;const _0x4c3d59=_0x1e62ad['bKeQP'](buildCliArtifactPath,_0x465d31,_0x55c57d[_0x13f86b(0x20b)]);if(_0x233c9c===_0x4c3d59)continue;await rename(_0x233c9c,_0x4c3d59),_0x324362['push'](_0x55c57d['name']);}return _0x324362['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x37fc41){const _0x5a6a48={'mLYSz':'trace.zip','pZDaZ':function(_0x907c58,_0x91e3d0){return _0x907c58(_0x91e3d0);}},_0x5b8e30=join(_0x37fc41,_0x5a6a48['mLYSz']);try{return{'buffer':await readFile(_0x5b8e30),'source':_0x5b8e30};}catch{return{'buffer':await _0x5a6a48['pZDaZ'](zipVerifyFeatureNovaArtifacts,_0x37fc41),'source':_0x37fc41};}}async function zipVerifyFeatureNovaArtifacts(_0x35f748){const _0x35e899=_0x152c0a,_0x455758={'WOaJr':function(_0x46a67e,_0x53d0d6,_0x531007,_0x576eb3){return _0x46a67e(_0x53d0d6,_0x531007,_0x576eb3);},'iCsxQ':'-qr','ytsER':'nova-user-data/*','dVobV':function(_0x2cb614,_0x21e8a1){return _0x2cb614(_0x21e8a1);}},_0x257118=join(_0x35f748,'..','nova-artifacts.zip');try{return await _0x455758[_0x35e899(0x22a)](execFileAsync,'zip',[_0x455758[_0x35e899(0x226)],_0x257118,'.','-x',_0x455758[_0x35e899(0x20d)]],{'cwd':_0x35f748}),await _0x455758['dVobV'](readFile,_0x257118);}finally{await rm(_0x257118,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x467058){const _0x24a2ad=_0x152c0a,_0x43722c={'auQPg':function(_0x51d8c0,_0xdafcd1,_0x43cc5a){return _0x51d8c0(_0xdafcd1,_0x43cc5a);}},_0x176f6b=buildNovaActCliInvocation(_0x467058[_0x24a2ad(0x25c)],_0x467058[_0x24a2ad(0x239)]);return{'command':_0x176f6b[_0x24a2ad(0x1d9)],'args':_0x176f6b['args'],'commandPreview':previewNovaActCliCommand(_0x176f6b['shellCommand']),'subcommand':_0x176f6b[_0x24a2ad(0x28a)],'sharedOptionsSuffix':_0x43722c[_0x24a2ad(0x242)](buildNovaActCliSharedOptionsSuffix,_0x467058[_0x24a2ad(0x25c)],_0x467058['commandArgs'])};}
1
+ const _0x227a0c=_0x32b4;(function(_0x155bba,_0x1ffcec){const _0x4ddac7=_0x32b4,_0x32ed39=_0x155bba();while(!![]){try{const _0x1b9b18=-parseInt(_0x4ddac7(0x19b))/0x1*(-parseInt(_0x4ddac7(0x142))/0x2)+-parseInt(_0x4ddac7(0x1d5))/0x3*(-parseInt(_0x4ddac7(0x10a))/0x4)+parseInt(_0x4ddac7(0x15b))/0x5*(parseInt(_0x4ddac7(0x111))/0x6)+-parseInt(_0x4ddac7(0x1d1))/0x7+parseInt(_0x4ddac7(0x1aa))/0x8*(parseInt(_0x4ddac7(0x1b7))/0x9)+-parseInt(_0x4ddac7(0x11e))/0xa+-parseInt(_0x4ddac7(0x18d))/0xb*(parseInt(_0x4ddac7(0x129))/0xc);if(_0x1b9b18===_0x1ffcec)break;else _0x32ed39['push'](_0x32ed39['shift']());}catch(_0x1f4f43){_0x32ed39['push'](_0x32ed39['shift']());}}}(_0x4cd1,0xa3c90));function _0x32b4(_0xbfbe36,_0x13a36a){_0xbfbe36=_0xbfbe36-0xff;const _0x4cd1ae=_0x4cd1();let _0x32b476=_0x4cd1ae[_0xbfbe36];return _0x32b476;}import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create',_0x227a0c(0x1c3),'verify',_0x227a0c(0x161),_0x227a0c(0x189),'wait-for','snapshot',_0x227a0c(0x121)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x2b7363,_0x18c858){return join(_0x2b7363,_0x18c858);}export class NovaActArtifactRecorder{[_0x227a0c(0x19d)];['browser']=null;['context']=null;['frameSession']=null;[_0x227a0c(0x120)]=[];[_0x227a0c(0x168)]=0x0;[_0x227a0c(0x15e)]=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;[_0x227a0c(0x1da)]=![];[_0x227a0c(0x18e)]=![];[_0x227a0c(0x152)]=![];['stopped']=![];constructor(_0x23e92b){this['params']=_0x23e92b;}async[_0x227a0c(0x126)](){const _0xaf1e94=_0x227a0c,_0x45bb67={'msRMa':function(_0x7eb9d9,_0x26b516,_0x14c059){return _0x7eb9d9(_0x26b516,_0x14c059);},'GFUmw':_0xaf1e94(0x14e)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x3779f4=await this['readSessionMetadataWithRetry'](),_0x4dd257=_0x3779f4['cdp_endpoint'];if(!_0x4dd257)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0xaf1e94(0x19d)][_0xaf1e94(0x1c5)][_0xaf1e94(0x1bd)]);await _0x45bb67['msRMa'](mkdir,this[_0xaf1e94(0x19d)][_0xaf1e94(0x154)],{'recursive':!![]}),this[_0xaf1e94(0x1b3)]=await chromium[_0xaf1e94(0x186)](_0x4dd257,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0xaf1e94(0x1cc)]=this['browser']['contexts']()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this[_0xaf1e94(0x1cc)][_0xaf1e94(0x176)][_0xaf1e94(0x126)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0xaf1e94(0x196)](),await this['startScreencast'](),this[_0xaf1e94(0x19d)]['telemetry'][_0xaf1e94(0x1b9)](_0x45bb67[_0xaf1e94(0x167)],{...this[_0xaf1e94(0x19d)][_0xaf1e94(0x1ae)],'cdpEndpoint':_0x4dd257,'browserPid':_0x3779f4['browser_pid'],'sessionState':_0x3779f4['state']}),this['params'][_0xaf1e94(0x14c)][_0xaf1e94(0x199)]('nova_act_artifact_recording',{...this['params'][_0xaf1e94(0x1ae)],'tracingStarted':this[_0xaf1e94(0x1da)],'screencastStarted':this['screencastStarted']});}async[_0x227a0c(0x1a6)](){const _0x335e47=_0x227a0c,_0x785b50={'XaOfF':_0x335e47(0x1d0),'gvsDM':function(_0x193c47,_0x53b523,_0x13bd42){return _0x193c47(_0x53b523,_0x13bd42);}};if(this['stopped'])return;this[_0x335e47(0x182)]=!![];const _0x2c57b3={...this['params'][_0x335e47(0x1ae)],'frameCount':this['frameCount'],'traceSampleCount':this[_0x335e47(0x15e)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x335e47(0x18e)]};this['params'][_0x335e47(0x14c)]['trackPhaseStart'](_0x785b50[_0x335e47(0x135)],_0x2c57b3);try{await this[_0x335e47(0x14f)](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this['frameWrites']);this['context']&&this[_0x335e47(0x1da)]&&await this['context'][_0x335e47(0x176)]['stop']({'path':_0x785b50[_0x335e47(0x151)](buildCliArtifactPath,this[_0x335e47(0x19d)][_0x335e47(0x154)],_0x335e47(0x1b2))});const _0x3099c8=await this['encodeScreencastVideo']();this['params'][_0x335e47(0x14c)]['trackPhaseEnd'](_0x785b50[_0x335e47(0x135)],{..._0x2c57b3,'videoPath':_0x3099c8});}catch(_0x7be19a){await this[_0x335e47(0x19d)][_0x335e47(0x14c)]['trackPhaseError']('nova_act_artifact_recording_stop',_0x7be19a,_0x2c57b3);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this['browser']=null,this['context']=null,this[_0x335e47(0x11a)]=null;}}async['readSessionMetadataWithRetry'](){const _0x589424=_0x227a0c,_0x1259be={'kHyzp':function(_0x4df9fb,_0x111b20,_0x351994,_0x42f15a,_0x310b7e,_0x44a765){return _0x4df9fb(_0x111b20,_0x351994,_0x42f15a,_0x310b7e,_0x44a765);},'cYpAK':function(_0x46f30c,_0x532d93,_0x55240d){return _0x46f30c(_0x532d93,_0x55240d);},'jSbId':function(_0x50d568,_0x3d3f69){return _0x50d568 instanceof _0x3d3f69;}},_0x388c42=_0x1259be['kHyzp'](join,homedir(),'.act_cli','browser',_0x589424(0x155),this[_0x589424(0x19d)]['novaOptions'][_0x589424(0x1bd)]+'.json'),_0x2cfc6c=Date['now']();let _0x11772b;do{try{const _0x49013a=JSON[_0x589424(0x1bf)](await _0x1259be['cYpAK'](readFile,_0x388c42,'utf-8'));if(_0x49013a[_0x589424(0x19e)])return _0x49013a;_0x11772b=new Error(_0x589424(0x1d6)+_0x388c42);}catch(_0x1afbdf){_0x11772b=_0x1afbdf;}await delay(0x64);}while(Date[_0x589424(0x1d2)]()-_0x2cfc6c<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x1259be[_0x589424(0x163)](_0x11772b,Error))throw _0x11772b;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x388c42);}async['startScreencast'](){const _0x326d80=_0x227a0c,_0x3c8fed={'HHgHY':_0x326d80(0xff)};if(!this['context'])return;const _0x296a01=this[_0x326d80(0x1cc)][_0x326d80(0x1a3)]()[0x0];if(!_0x296a01)return;const _0x50e56b=this['getFrameDir']();await mkdir(_0x50e56b,{'recursive':!![]});const _0x52715b=await this['context']['newCDPSession'](_0x296a01);this[_0x326d80(0x11a)]=_0x52715b,_0x52715b['on']('Page.screencastFrame',_0x1b5d4e=>{const _0x1dfb62=_0x326d80,_0x3e1a31=++this['frameCount'],_0x21d350=join(_0x50e56b,'frame-'+String(_0x3e1a31)[_0x1dfb62(0x1cf)](0x6,'0')+_0x1dfb62(0x1b4)),_0x4af611=writeFile(_0x21d350,Buffer[_0x1dfb62(0x17f)](_0x1b5d4e[_0x1dfb62(0x16a)],_0x3c8fed[_0x1dfb62(0x114)]))[_0x1dfb62(0x15d)](()=>undefined)[_0x1dfb62(0x16b)](()=>_0x52715b[_0x1dfb62(0x1bb)]('Page.screencastFrameAck',{'sessionId':_0x1b5d4e['sessionId']}))[_0x1dfb62(0x12d)](()=>undefined)[_0x1dfb62(0x15d)](()=>undefined);this['frameWrites'][_0x1dfb62(0x118)](_0x4af611);}),await _0x52715b['send'](_0x326d80(0x169),{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this[_0x326d80(0x18e)]=!![];}async['stopScreencast'](){const _0x35ab01=_0x227a0c;if(!this['frameSession']||!this['screencastStarted'])return;await this['frameSession'][_0x35ab01(0x1bb)](_0x35ab01(0x183))[_0x35ab01(0x15d)](()=>undefined);}[_0x227a0c(0x196)](){const _0x35ddc4=_0x227a0c;this['queueTraceSample'](),this['traceSampleTimer']=setInterval(()=>this[_0x35ddc4(0x10f)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x2cc851=_0x227a0c;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this[_0x2cc851(0x17a)]()[_0x2cc851(0x16b)](()=>{const _0x113c12=_0x2cc851;this[_0x113c12(0x104)]=null;});}async[_0x227a0c(0x14f)](){const _0x32d452=_0x227a0c;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.[_0x32d452(0x15d)](()=>undefined);}async[_0x227a0c(0x17a)](){const _0x574c2f=_0x227a0c,_0x5f3362=this[_0x574c2f(0x1cc)]?.[_0x574c2f(0x1a3)]()[0x0];if(!_0x5f3362)return;try{await _0x5f3362['locator'](_0x574c2f(0x113))['evaluate'](_0x524346=>_0x524346[_0x574c2f(0x18f)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x1523aa=_0x227a0c,_0x46a24c={'IBLMP':function(_0x2e9461,_0x3bf2da){return _0x2e9461<_0x3bf2da;},'GWzBq':function(_0x48ceb8){return _0x48ceb8();},'rJodd':function(_0x395340,_0x5910d6,_0x42fa68){return _0x395340(_0x5910d6,_0x42fa68);},'lFukU':_0x1523aa(0x112),'EGkdN':'-hide_banner','VSXso':_0x1523aa(0x181),'YTqBA':_0x1523aa(0x194),'TVlxQ':'scale=trunc(iw/2)*2:trunc(ih/2)*2','INTWj':_0x1523aa(0x11b),'BfSoz':'libvpx-vp9','TqKEA':_0x1523aa(0x1a7)};if(_0x46a24c['IBLMP'](this['frameCount'],0x2))return null;const _0x1b4ecf=await _0x46a24c['GWzBq'](resolveFfmpegPath);if(!_0x1b4ecf)return null;const _0x4f47fe=_0x46a24c[_0x1523aa(0x133)](join,this['params'][_0x1523aa(0x154)],_0x1523aa(0x1ab));await mkdir(_0x4f47fe,{'recursive':!![]});const _0x49d775=_0x46a24c[_0x1523aa(0x133)](join,_0x4f47fe,_0x46a24c['lFukU']);return await execFileAsync(_0x1b4ecf,['-y',_0x46a24c[_0x1523aa(0x1bc)],'-loglevel','error',_0x46a24c['VSXso'],'10','-i',join(this['getFrameDir'](),_0x46a24c['YTqBA']),'-vf',_0x46a24c['TVlxQ'],_0x46a24c['INTWj'],_0x46a24c['BfSoz'],_0x46a24c['TqKEA'],'yuv420p',_0x49d775]),_0x49d775;}['getFrameDir'](){const _0xd45fa=_0x227a0c,_0xd69cbf={'PnqtS':function(_0x3c82a5,_0x3158ab,_0x39baa1){return _0x3c82a5(_0x3158ab,_0x39baa1);}};return _0xd69cbf['PnqtS'](join,this[_0xd45fa(0x19d)]['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x259721){await new Promise(_0x156c51=>setTimeout(_0x156c51,_0x259721));}async function resolveFfmpegPath(){const _0x33c6ed=_0x227a0c,_0x48247d={'boYnd':function(_0x3c2af0,_0x4d7fa9){return _0x3c2af0(_0x4d7fa9);},'GQEbU':function(_0x568999,_0x166188,_0x33407e,_0x524116,_0x3be5e5){return _0x568999(_0x166188,_0x33407e,_0x524116,_0x3be5e5);},'zBbzm':'Library','LzlIl':function(_0x320726,_0x2b3a08,_0x2548a6,_0x20c27a){return _0x320726(_0x2b3a08,_0x2548a6,_0x20c27a);},'UJQba':_0x33c6ed(0x18a)};if(await _0x48247d[_0x33c6ed(0x1be)](canRunFfmpeg,'ffmpeg'))return'ffmpeg';const _0x10478c=[_0x48247d[_0x33c6ed(0x13c)](join,homedir(),_0x48247d[_0x33c6ed(0x170)],'Caches',_0x33c6ed(0x18a)),_0x48247d[_0x33c6ed(0x10b)](join,homedir(),_0x33c6ed(0x19c),_0x48247d['UJQba'])];for(const _0x39088b of _0x10478c){try{const _0x329059=await readdir(_0x39088b),_0x335a73=_0x329059[_0x33c6ed(0x131)](_0x56dd2a=>_0x56dd2a[_0x33c6ed(0x1d3)]('ffmpeg-'))['sort']()['reverse']()['flatMap'](_0x49c4f8=>[join(_0x39088b,_0x49c4f8,'ffmpeg-mac'),join(_0x39088b,_0x49c4f8,'ffmpeg-linux'),join(_0x39088b,_0x49c4f8,_0x33c6ed(0x1a4))]);for(const _0xfdd82e of _0x335a73){if(await canRunFfmpeg(_0xfdd82e))return _0xfdd82e;}}catch{}}return null;}async function canRunFfmpeg(_0x1672c4){const _0x351bab=_0x227a0c,_0x47f75a={'CFxvP':_0x351bab(0x125)};try{return await execFileAsync(_0x1672c4,[_0x47f75a['CFxvP']]),!![];}catch{return![];}}function toStepDisplayName(_0x170990){const _0x1a7945=_0x227a0c,_0x96345d={'cHkrl':function(_0x3a671e,_0x38ae36){return _0x3a671e(_0x38ae36);},'DBGHK':function(_0x236d48,_0x2ade40){return _0x236d48(_0x2ade40);}},_0x405161=_0x96345d[_0x1a7945(0x14d)](basename,_0x170990)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x1a7945(0x191)](/^key_/i,'')[_0x1a7945(0x191)](/^\d+_/,'')[_0x1a7945(0x191)](/-/g,'\x20');return{'name':_0x405161,'isKeyStep':/^key_/i['test'](_0x96345d['DBGHK'](basename,_0x170990))};}function extractShellValue(_0x51ca12){if(!_0x51ca12)return null;return _0x51ca12[0x1]??_0x51ca12[0x2]??_0x51ca12[0x3]??null;}function extractOutputOption(_0x1bcb89){const _0x1a2501=_0x227a0c,_0x4d18c1={'mPsCP':function(_0x1cc4e3,_0x2933be){return _0x1cc4e3(_0x2933be);}};return _0x4d18c1[_0x1a2501(0x193)](extractShellValue,_0x1bcb89[_0x1a2501(0x1a2)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x2c78f0,_0x350c71){const _0x393136=_0x227a0c,_0x5b8b63={'eXeGt':_0x393136(0x14b),'TotBe':'verify','GNWGI':_0x393136(0x13e),'iHIZM':'ask','UhLqT':_0x393136(0x1c7),'dqaMP':_0x393136(0x164),'CefrE':_0x393136(0x159),'PUeCd':_0x393136(0x130),'miaRT':'capture\x20snapshot','javxy':'capture\x20screenshot','HaPYT':function(_0x9be7ee,_0x4b2538){return _0x9be7ee(_0x4b2538);},'vdvSx':_0x393136(0x147),'UIinO':'export\x20Nova\x20session'};switch(_0x350c71){case _0x393136(0x1c6):return'create\x20Nova\x20browser\x20session';case _0x393136(0x1c3):return _0x5b8b63[_0x393136(0x197)];case _0x5b8b63['TotBe']:return _0x5b8b63['GNWGI'];case _0x5b8b63['iHIZM']:return _0x5b8b63['UhLqT'];case'goto':return _0x5b8b63['dqaMP'];case _0x5b8b63['CefrE']:return'wait\x20for\x20page\x20condition';case _0x5b8b63[_0x393136(0x1d8)]:{const _0x468e21=extractOutputOption(_0x2c78f0);if(!_0x468e21)return _0x5b8b63['miaRT'];const {name:_0x1dec44}=toStepDisplayName(_0x468e21);return'capture\x20snapshot\x20`'+_0x1dec44+'`';}case'screenshot':{const _0x795a56=extractOutputOption(_0x2c78f0);if(!_0x795a56)return _0x5b8b63['javxy'];const {name:_0x1a3e59,isKeyStep:_0x472243}=_0x5b8b63['HaPYT'](toStepDisplayName,_0x795a56);return _0x472243?'capture\x20key\x20step\x20`'+_0x1a3e59+'`':_0x393136(0x17c)+_0x1a3e59+'`';}case _0x5b8b63[_0x393136(0x149)]:return _0x5b8b63[_0x393136(0x19a)];default:return _0x350c71;}}function getNovaActCliCommandBlockReason(_0x45527a){const _0x3a3d23=_0x227a0c,_0x40eacd={'DDfwN':function(_0x190f6d,_0x332d93){return _0x190f6d(_0x332d93);},'tNADQ':_0x3a3d23(0x1a8),'bFgQa':function(_0x14ab4a,_0x2c6b6f){return _0x14ab4a===_0x2c6b6f;},'FvHED':'verify','kzOyt':_0x3a3d23(0x10c)},_0x2657f6=_0x40eacd['DDfwN'](parseNovaActCliCommand,_0x45527a);if(!_0x2657f6)return _0x40eacd[_0x3a3d23(0x122)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x2657f6))return'Nova\x20command\x20`'+_0x2657f6+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x40eacd['bFgQa'](_0x2657f6,_0x40eacd['FvHED'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x3a3d23(0x117)](_0x45527a))return _0x3a3d23(0x13f);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x45527a))return _0x40eacd['kzOyt'];return null;}function buildFeedbackSection(_0x35e0b8){const _0xe72be1=_0x227a0c,_0x9f8c17={'KerrM':_0xe72be1(0x157),'HggzI':'short','wWaGY':'Reviewer','UwaTs':_0xe72be1(0x132),'CDPyz':'element'};if(!_0x35e0b8||_0x35e0b8[_0xe72be1(0x1cb)]['length']===0x0)return'';const _0xf2813=_0x35e0b8[_0xe72be1(0x1cb)][_0xe72be1(0x140)](_0x17446a=>{const _0x42f5da=_0xe72be1,_0x2da0ca=new Date(_0x17446a[_0x42f5da(0x1a5)])[_0x42f5da(0x1cd)](_0x9f8c17['KerrM'],{'month':_0x9f8c17['HggzI'],'day':'numeric'}),_0x509007=_0x17446a['authorName']||_0x17446a['authorEmail']||_0x9f8c17[_0x42f5da(0x148)],_0x11f71f=_0x17446a['domRef']?_0x42f5da(0x15c)+(_0x17446a[_0x42f5da(0x1a1)][_0x42f5da(0x119)]['split'](_0x9f8c17['UwaTs'])[_0x42f5da(0x195)]()?.['split'](':')[0x0]||_0x9f8c17[_0x42f5da(0x116)])+_0x42f5da(0x128)+(_0x17446a['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x42f5da(0x110)+_0x17446a['id']+_0x42f5da(0x16c)+_0x509007+'**\x20('+_0x2da0ca+'):\x20\x22'+_0x17446a['content']+'\x22'+_0x11f71f;})['join']('\x0a');return _0xe72be1(0x15f)+_0xf2813;}function buildNovaSharedOptionsInstruction(_0x1a24a4){if(!_0x1a24a4['trim']())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x1a24a4;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x15ca90){const _0x2fd933=_0x227a0c,_0xbd5691={'ZJlpY':function(_0x252d2e,_0x4888eb,_0x3ac05e){return _0x252d2e(_0x4888eb,_0x3ac05e);},'MuHQe':'00_initial-state.yml','KuGSG':'01_initial-state.png','SNDUz':function(_0x425067,_0x2c0631,_0x8eebc9){return _0x425067(_0x2c0631,_0x8eebc9);},'XCiDc':'02_final-state.yml','WVyNW':function(_0x57d6e5,_0x349ed5){return _0x57d6e5(_0x349ed5);},'qCNrj':function(_0x26af3e,_0x463fe2){return _0x26af3e(_0x463fe2);}},{novaCommandPrefix:_0x37d4d5,novaSharedOptionsSuffix:_0x508101,cliArtifactDir:_0x4012ec,url:_0x17c326}=_0x15ca90,_0x46a9a9=_0xbd5691[_0x2fd933(0x1a9)](buildCliArtifactPath,_0x4012ec,_0xbd5691['MuHQe']),_0x538a84=buildCliArtifactPath(_0x4012ec,_0xbd5691[_0x2fd933(0x17e)]),_0x388624=_0xbd5691[_0x2fd933(0x165)](buildCliArtifactPath,_0x4012ec,_0xbd5691[_0x2fd933(0x11c)]),_0x2671d0=_0xbd5691['SNDUz'](buildCliArtifactPath,_0x4012ec,'03_final-state.png');return _0x2fd933(0x141)+_0x37d4d5+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x508101)+_0x2fd933(0x1b0)+_0x37d4d5+'\x20session\x20create\x20'+_0xbd5691['WVyNW'](quoteShellArg,_0x17c326)+'\x20'+_0x508101+_0x2fd933(0x17d)+_0x37d4d5+_0x2fd933(0x15a)+quoteShellArg(_0x46a9a9)+'\x20'+_0x508101+'`\x0a3.\x20Run\x20`'+_0x37d4d5+'\x20screenshot\x20--output\x20'+_0xbd5691[_0x2fd933(0x138)](quoteShellArg,_0x538a84)+'\x20'+_0x508101+_0x2fd933(0x12a)+_0x37d4d5+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x37d4d5+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x388624)+'\x20'+_0x508101+'`\x0a6.\x20Run\x20`'+_0x37d4d5+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2671d0)+'\x20'+_0x508101+_0x2fd933(0x145)+_0x4012ec+_0x2fd933(0x1d9);}export function buildVerifyFeatureNovaCliPrompt(_0x44c66a){const _0x2b42b0=_0x227a0c,_0x1dd59f={'sBWGM':function(_0x5893dd,_0x351dd1,_0xd326d1){return _0x5893dd(_0x351dd1,_0xd326d1);},'IClHm':function(_0x55a4f7,_0x241eeb,_0x1dfefc){return _0x55a4f7(_0x241eeb,_0x1dfefc);},'RvPbh':'key_03_success-state.png','wQWxZ':function(_0x293b7e,_0x4d1414){return _0x293b7e(_0x4d1414);}},{checklistItem:_0xaf8c25,itemFeedback:_0xae6963,taskDescription:_0x1b7d0e,novaCommandPrefix:_0x328721,novaSharedOptionsSuffix:_0xebea68,cliArtifactDir:_0x4cb348,url:_0x2b5bd6,loginInstructions:_0x41412f}=_0x44c66a,_0x4497ae=_0xaf8c25[_0x2b42b0(0x136)]?_0x2b42b0(0x14a)+_0xaf8c25[_0x2b42b0(0x136)]:'',_0x431486=buildFeedbackSection(_0xae6963),_0x247e22=_0xae6963?.['canonicalFlow']?_0x2b42b0(0x13b)+_0xae6963[_0x2b42b0(0x150)]:'',_0x48e37e=_0x41412f?_0x2b42b0(0x158)+_0x41412f+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x47125a=_0x1dd59f[_0x2b42b0(0x12b)](buildCliArtifactPath,_0x4cb348,_0x2b42b0(0x185)),_0x28155f=buildCliArtifactPath(_0x4cb348,_0x2b42b0(0x115)),_0x37696b=_0x1dd59f[_0x2b42b0(0x13a)](buildCliArtifactPath,_0x4cb348,_0x1dd59f['RvPbh']);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'+_0xaf8c25['description']+_0x4497ae+_0x431486+_0x247e22+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x1b7d0e+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x2b5bd6+_0x2b42b0(0x146)+_0x48e37e+_0x2b42b0(0x1c1)+_0x328721+'\x20session\x20create\x20'+quoteShellArg(_0x2b5bd6)+'\x20'+_0xebea68+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4cb348+_0x2b42b0(0x1c2)+_0x328721+_0x2b42b0(0x15a)+quoteShellArg(_0x47125a)+'\x20'+_0xebea68+_0x2b42b0(0x184)+_0x328721+_0x2b42b0(0x175)+quoteShellArg(_0x28155f)+'\x20'+_0xebea68+'`.\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`'+_0x37696b+_0x2b42b0(0x1c0)+_0x328721+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0xebea68[_0x2b42b0(0x19f)]()?'`'+_0xebea68+'`':_0x2b42b0(0x100))+'\x0a\x0a'+_0x1dd59f[_0x2b42b0(0x137)](buildNovaSharedOptionsInstruction,_0xebea68)+_0x2b42b0(0x134)+_0x328721+_0x2b42b0(0x1af)+_0xebea68+'`\x0a-\x20`'+_0x328721+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0xebea68+'`\x0a-\x20`'+_0x328721+'\x20snapshot\x20--output\x20'+_0x1dd59f[_0x2b42b0(0x137)](quoteShellArg,_0x47125a)+'\x20'+_0xebea68+_0x2b42b0(0x17b)+_0x328721+'\x20screenshot\x20--output\x20'+_0x1dd59f['wQWxZ'](quoteShellArg,_0x37696b)+'\x20'+_0xebea68+'`\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(_0x1dbc1c){const _0x2e651c=_0x227a0c,_0x17df62={'RUodm':function(_0x149538,_0x10db95){return _0x149538===_0x10db95;}},_0x593691=[..._0x1dbc1c[_0x2e651c(0x1b8)]()]['sort']();let _0x5b4fa1=0x0;for(const _0x74f2c2 of _0x1dbc1c[_0x2e651c(0x1ac)]()){_0x5b4fa1+=_0x74f2c2;}return{'cliCommandCount':_0x5b4fa1,'cliCommandsSeen':_0x593691,'noCliCommandsCalled':_0x17df62['RUodm'](_0x5b4fa1,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x51cf43,_0x517479){const _0x583698=_0x227a0c,_0x3e797d={'GxnuV':function(_0x56c9fe,_0x145257){return _0x56c9fe!==_0x145257;},'qhKAJ':'PreToolUse','yLDkE':'block','mZmUM':function(_0x571215,_0x1f08d4){return _0x571215!==_0x1f08d4;},'XOtGu':'PostToolUse','kcVZc':'Bash','tZHAZ':_0x583698(0x179),'tESJV':function(_0x3e0806,_0xf53b57){return _0x3e0806===_0xf53b57;},'FRWXc':_0x583698(0x14e),'PmBYh':_0x583698(0x1b1),'Kpewt':'PostToolUseFailure','kFNTv':'nova_act_command_failure'},_0x2b4e95=new Map(),_0x185045=async _0x4e599f=>{const _0x295597=_0x583698;if(_0x3e797d['GxnuV'](_0x4e599f[_0x295597(0x106)],_0x3e797d['qhKAJ']))return{};const _0x32b594=_0x4e599f;if(_0x32b594[_0x295597(0x13d)]!==_0x295597(0x101))return{};const _0x3a5265=_0x32b594['tool_input'],_0x57feb0=extractBashCommand(_0x3a5265);if(!_0x57feb0)return{};const _0x45e8c9=getNovaActCliCommandBlockReason(_0x57feb0);if(!_0x45e8c9)return{};return{'decision':_0x3e797d['yLDkE'],'reason':_0x45e8c9};},_0x509675=async _0x3314b9=>{const _0x503028=_0x583698;if(_0x3e797d[_0x503028(0x139)](_0x3314b9['hook_event_name'],_0x3e797d[_0x503028(0x1b6)]))return{};const _0xbe352a=_0x3314b9;if(_0x3e797d['GxnuV'](_0xbe352a['tool_name'],_0x3e797d[_0x503028(0x10d)]))return{};const _0x3ff1d1=_0xbe352a['tool_input'],_0x1c75a3=extractBashCommand(_0x3ff1d1);if(!_0x1c75a3)return{};const _0x431005=parseNovaActCliCommand(_0x1c75a3);if(!_0x431005)return{};_0x2b4e95['set'](_0x431005,(_0x2b4e95[_0x503028(0x16d)](_0x431005)||0x0)+0x1),_0x51cf43['trackPhaseStart'](_0x3e797d[_0x503028(0x192)],{'subcommand':_0x431005}),_0x51cf43[_0x503028(0x199)](_0x3e797d[_0x503028(0x192)],{'subcommand':_0x431005,'commandPreview':previewNovaActCliCommand(_0x1c75a3)}),console[_0x503028(0x198)](_0x503028(0x105)+formatNovaActCliLog(_0x1c75a3,_0x431005));if(_0x3e797d[_0x503028(0x124)](_0x431005,_0x503028(0x1c6))&&_0x517479)try{await _0x517479['start']();}catch(_0x4b26fa){await _0x51cf43[_0x503028(0x10e)](_0x3e797d[_0x503028(0x12c)],_0x4b26fa,{'transport':_0x3e797d[_0x503028(0x11d)]});}return{};},_0x3f35aa=async _0x275044=>{const _0x187e09=_0x583698;if(_0x3e797d[_0x187e09(0x188)](_0x275044[_0x187e09(0x106)],_0x3e797d[_0x187e09(0x102)]))return{};const _0x387135=_0x275044;if(_0x387135['tool_name']!==_0x187e09(0x101))return{};return await _0x51cf43[_0x187e09(0x10e)](_0x3e797d[_0x187e09(0x123)],_0x387135[_0x187e09(0x16f)],{'transport':_0x3e797d['PmBYh'],'toolName':_0x187e09(0x101)}),{};};return{'preToolUseHook':_0x185045,'postToolUseHook':_0x509675,'postToolUseFailureHook':_0x3f35aa,'commandCounts':_0x2b4e95};}function _0x4cd1(){const _0x2d8e66=['pop','startTraceSampling','eXeGt','log','trackPhaseEnd','UIinO','5JjwNzL','.cache','params','cdp_endpoint','trim','ZYwUp','domRef','match','pages','ffmpeg.exe','createdAt','stop','-pix_fmt','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','ZJlpY','56bOyySN','videos','values','close','transportMetadata','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','\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`','nova-act-cli','trace.zip','browser','.jpg','env','XOtGu','1021653zleBaI','keys','trackPhaseStart','--output','send','EGkdN','sessionId','boYnd','parse','`.\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`','\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`','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','execute','eOXLi','novaOptions','session\x20create','ask\x20page\x20question','final-state.yaml','command','shellCommand','unaddressedComments','context','toLocaleDateString','QnWDK','padStart','nova_act_artifact_recording_stop','2371866qiHvVQ','now','startsWith','nova-user-data/*','3knDKkZ','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','nova_act_session_report','PUeCd','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','tracingStarted','TJCkK','base64','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','Bash','Kpewt','jBhtN','traceSampleInFlight','[nova-act-cli]\x20','hook_event_name','--output-dir','session','name','1229732bWHFTp','LzlIl','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','kcVZc','trackPhaseError','queueTraceSample','-\x20[','24FyhTrC','session-recording.webm','body','HHgHY','01_initial-state.png','CDPyz','test','push','selector','frameSession','-c:v','XCiDc','PmBYh','1424210pqbqrm','export','frameWrites','screenshot','tNADQ','kFNTv','tESJV','-version','start','RKrLM','>\x20\x22','127284uevlSx','`\x0a4.\x20Run\x20one\x20batched\x20`','sBWGM','FRWXc','then','MQGyL','XYILx','snapshot','filter','\x20>\x20','rJodd','\x0a\x0aExamples:\x0a-\x20`','XaOfF','notes','wQWxZ','qCNrj','mZmUM','IClHm','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','GQEbU','tool_name','verify\x20page\x20condition','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.','map','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','488972ocJQYw','nova-report','DbmOs','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','\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','session\x20export','wWaGY','vdvSx','\x0a\x0a##\x20Additional\x20Notes\x0a','execute\x20Nova\x20browser\x20action','telemetry','cHkrl','nova_act_artifact_recording','stopTraceSampling','canonicalFlow','gvsDM','startAttempted','nova_act_final_screenshot','cliArtifactDir','sessions','fXVdS','en-US','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','wait-for','\x20snapshot\x20--output\x20','510105qdHzbH','\x20(on\x20element:\x20<','catch','traceSampleCount','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','invocation','ask','--report','jSbId','navigate\x20browser','SNDUz','zip','GFUmw','frameCount','Page.startScreencast','data','finally',']\x20**','get','iGrEB','error','zBbzm','cwd','subcommand','fCOGJ','phase','\x20screenshot\x20--output\x20','tracing','OhPPY','fNrCU','nova_act_command','captureTraceSample','`\x0a-\x20`','capture\x20step\x20`','`\x0a2.\x20Run\x20`','KuGSG','from','kPdhv','-framerate','stopped','Page.stopScreencast','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','01_initial.yml','connectOverCDP','key_final-state.png','GxnuV','goto','ms-playwright','stdout','nova_act_session_close','1639FuXrcp','screencastStarted','tagName','json','replace','tZHAZ','mPsCP','frame-%06d.jpg'];_0x4cd1=function(){return _0x2d8e66;};return _0x4cd1();}async function runNovaLifecycleCommand(_0x2131b7){const _0x39e31f=_0x227a0c,_0x2c6011={'XYILx':function(_0x1acb2a,_0x3752b1){return _0x1acb2a(_0x3752b1);},'WQMcr':function(_0x35cd6d,_0x3afee1){return _0x35cd6d??_0x3afee1;},'QnWDK':function(_0xfcf2e1,_0x23da11){return _0xfcf2e1(_0x23da11);},'Hkkrt':function(_0x43edb6,_0x51fb88){return _0x43edb6(_0x51fb88);}},{novaOptions:_0x12edc8,commandArgs:_0x168a79,telemetry:_0x43fb36,phase:_0x423e41,metadata:_0x10ae16,timeoutMs:_0x2863cd}=_0x2131b7;_0x43fb36[_0x39e31f(0x1b9)](_0x423e41,_0x10ae16);try{const _0x1f3be7=await _0x2c6011[_0x39e31f(0x12f)](runNovaActCliCommand,{..._0x12edc8,'commandArgs':_0x168a79,'cwd':process[_0x39e31f(0x171)](),'env':process[_0x39e31f(0x1b5)],'timeoutMs':_0x2c6011['WQMcr'](_0x2863cd,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x43fb36['trackPhaseEnd'](_0x423e41,{..._0x10ae16,'subcommand':_0x1f3be7[_0x39e31f(0x160)]['subcommand'],'commandPreview':_0x2c6011[_0x39e31f(0x1ce)](previewNovaActCliCommand,_0x1f3be7['invocation']['shellCommand']),'stdoutPreview':_0x2c6011[_0x39e31f(0x12f)](previewNovaActCliCommand,_0x1f3be7['stdout']),'stderrPreview':_0x2c6011['Hkkrt'](previewNovaActCliCommand,_0x1f3be7['stderr']),'logDir':extractNovaActLogDir(_0x1f3be7[_0x39e31f(0x18b)])});}catch(_0x504c2a){await _0x43fb36[_0x39e31f(0x10e)](_0x423e41,_0x504c2a,_0x10ae16);throw _0x504c2a;}}export async function finalizeVerifyFeatureNovaCliSession(_0x6cfa7d){const _0xe0263e=_0x227a0c,_0x38cf22={'OhPPY':_0xe0263e(0x153),'ZYwUp':'--output','TJCkK':'session','fXVdS':_0xe0263e(0x11f),'IqzJX':_0xe0263e(0x162),'MQGyL':function(_0x5882ec,_0x43d06c,_0x2caf33){return _0x5882ec(_0x43d06c,_0x2caf33);},'YExhz':_0xe0263e(0x1ad),'DbmOs':function(_0x10c9c7,_0x35679e){return _0x10c9c7===_0x35679e;}},{telemetry:_0xeca73,novaOptions:_0x3b49ac,cliArtifactDir:_0x50bd90,transportMetadata:_0x943b92,artifactRecorder:_0x3293fc}=_0x6cfa7d,_0x3157f5=[{'phase':_0x38cf22[_0xe0263e(0x177)],'commandArgs':[_0xe0263e(0x121),_0xe0263e(0x1ba),buildCliArtifactPath(_0x50bd90,_0xe0263e(0x187))]},{'phase':'nova_act_final_snapshot','commandArgs':['snapshot',_0x38cf22[_0xe0263e(0x1a0)],buildCliArtifactPath(_0x50bd90,_0xe0263e(0x1c8))]},{'phase':'nova_act_session_export','commandArgs':['session',_0xe0263e(0x11f),'--format',_0xe0263e(0x190),'--output',buildCliArtifactPath(_0x50bd90,'nova-session-export.json')]},{'phase':_0xe0263e(0x1d7),'commandArgs':[_0x38cf22[_0xe0263e(0x1db)],_0x38cf22[_0xe0263e(0x156)],_0x38cf22['IqzJX'],_0xe0263e(0x107),_0x38cf22[_0xe0263e(0x12e)](buildCliArtifactPath,_0x50bd90,_0xe0263e(0x143))]},{'phase':'nova_act_session_close','commandArgs':[_0xe0263e(0x108),_0x38cf22['YExhz']]}];for(const _0x2a64d3 of _0x3157f5){_0x38cf22[_0xe0263e(0x144)](_0x2a64d3[_0xe0263e(0x174)],_0xe0263e(0x18c))&&await _0x3293fc?.[_0xe0263e(0x1a6)]();try{await runNovaLifecycleCommand({'novaOptions':_0x3b49ac,'commandArgs':[..._0x2a64d3['commandArgs']],'telemetry':_0xeca73,'phase':_0x2a64d3['phase'],'metadata':_0x943b92});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x1a3905){const _0x4c8410=_0x227a0c,_0x340b55={'fNrCU':function(_0x361407,_0x2d6ded,_0x293917){return _0x361407(_0x2d6ded,_0x293917);},'ZeKig':function(_0x26d94f,_0x2d211e,_0x444597){return _0x26d94f(_0x2d211e,_0x444597);},'VtOfW':function(_0x50d695,_0xa16f6c){return _0x50d695(_0xa16f6c);},'lcHvr':function(_0x15a23c,_0x4d21c0,_0x56f315){return _0x15a23c(_0x4d21c0,_0x56f315);}},{cwd:_0x5c947a,cliArtifactDir:_0x2cf23f,startTime:_0x1ee2fd}=_0x1a3905,_0x14a911=[];await _0x340b55[_0x4c8410(0x178)](mkdir,_0x2cf23f,{'recursive':!![]});const _0x5745ba=await readdir(_0x5c947a,{'withFileTypes':!![]});for(const _0x618e8d of _0x5745ba){if(!_0x618e8d['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x4c8410(0x117)](_0x618e8d['name']))continue;const _0x91f83=_0x340b55['ZeKig'](join,_0x5c947a,_0x618e8d['name']),_0x439f5d=await _0x340b55['VtOfW'](stat,_0x91f83);if(_0x439f5d['mtimeMs']+0x7d0<_0x1ee2fd)continue;const _0x50cf8b=_0x340b55['lcHvr'](buildCliArtifactPath,_0x2cf23f,_0x618e8d[_0x4c8410(0x109)]);if(_0x91f83===_0x50cf8b)continue;await rename(_0x91f83,_0x50cf8b),_0x14a911[_0x4c8410(0x118)](_0x618e8d['name']);}return _0x14a911['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x583f18){const _0x34483c=_0x227a0c,_0x2db5ee={'iGrEB':function(_0x1f314d,_0x181676,_0x438353){return _0x1f314d(_0x181676,_0x438353);},'fCOGJ':'trace.zip'},_0x12850f=_0x2db5ee[_0x34483c(0x16e)](join,_0x583f18,_0x2db5ee[_0x34483c(0x173)]);try{return{'buffer':await readFile(_0x12850f),'source':_0x12850f};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x583f18),'source':_0x583f18};}}async function zipVerifyFeatureNovaArtifacts(_0x286e8d){const _0x2f1840=_0x227a0c,_0x92373d={'yRsij':'nova-artifacts.zip','kPdhv':function(_0x103f2d,_0x1a6635,_0x540ecc,_0x12edd3){return _0x103f2d(_0x1a6635,_0x540ecc,_0x12edd3);},'eOXLi':_0x2f1840(0x166),'RKrLM':_0x2f1840(0x1d4)},_0x4f0e39=join(_0x286e8d,'..',_0x92373d['yRsij']);try{return await _0x92373d[_0x2f1840(0x180)](execFileAsync,_0x92373d[_0x2f1840(0x1c4)],['-qr',_0x4f0e39,'.','-x',_0x92373d[_0x2f1840(0x127)]],{'cwd':_0x286e8d}),await readFile(_0x4f0e39);}finally{await rm(_0x4f0e39,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x3ab493){const _0x2a87ec=_0x227a0c,_0x1c1ac4={'jBhtN':function(_0x248705,_0x50e8fc,_0x289556){return _0x248705(_0x50e8fc,_0x289556);},'jjXFq':function(_0xfb95ec,_0x46653e){return _0xfb95ec(_0x46653e);}},_0xf8b3d0=_0x1c1ac4[_0x2a87ec(0x103)](buildNovaActCliInvocation,_0x3ab493[_0x2a87ec(0x1c5)],_0x3ab493['commandArgs']);return{'command':_0xf8b3d0[_0x2a87ec(0x1c9)],'args':_0xf8b3d0['args'],'commandPreview':_0x1c1ac4['jjXFq'](previewNovaActCliCommand,_0xf8b3d0[_0x2a87ec(0x1ca)]),'subcommand':_0xf8b3d0[_0x2a87ec(0x172)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x3ab493['novaOptions'],_0x3ab493['commandArgs'])};}
@@ -1 +1 @@
1
- (function(_0x242d24,_0x3c6450){const _0x4e4e2d=_0x39ca,_0x28d68b=_0x242d24();while(!![]){try{const _0x125a8a=-parseInt(_0x4e4e2d(0x1ff))/0x1*(parseInt(_0x4e4e2d(0x1f5))/0x2)+parseInt(_0x4e4e2d(0x222))/0x3*(parseInt(_0x4e4e2d(0x1c0))/0x4)+parseInt(_0x4e4e2d(0x210))/0x5+parseInt(_0x4e4e2d(0x1cb))/0x6+-parseInt(_0x4e4e2d(0x21e))/0x7+-parseInt(_0x4e4e2d(0x1c9))/0x8*(-parseInt(_0x4e4e2d(0x20d))/0x9)+-parseInt(_0x4e4e2d(0x1fb))/0xa;if(_0x125a8a===_0x3c6450)break;else _0x28d68b['push'](_0x28d68b['shift']());}catch(_0x236a3f){_0x28d68b['push'](_0x28d68b['shift']());}}}(_0x114c,0x792b0));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x382aeb,_0x58a991=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x469401=_0x39ca,_0x4c9886={'kASHU':function(_0x3d8f81,_0x296c37){return _0x3d8f81>_0x296c37;}};return _0x4c9886[_0x469401(0x1d4)](_0x382aeb['length'],_0x58a991)?_0x382aeb['slice'](0x0,_0x58a991)+'...':_0x382aeb;}function extractShellValue(_0x53ed86){if(!_0x53ed86)return null;return _0x53ed86[0x1]??_0x53ed86[0x2]??_0x53ed86[0x3]??null;}function extractFirstCommandArgument(_0x55ecd0,_0x1933c6){const _0x1ada46=_0x39ca,_0x43d80f=_0x1933c6['replace'](/[.*+?^${}()|[\]\\]/g,_0x1ada46(0x1db));return extractShellValue(_0x55ecd0['match'](new RegExp('(?:^|\x5cs)'+_0x43d80f+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x457a85){const _0xb68fba=_0x39ca,_0x58241a={'lUTxz':_0xb68fba(0x203),'OFxmR':function(_0x3abff9,_0x5c85d7,_0x52f891){return _0x3abff9(_0x5c85d7,_0x52f891);}};if(!_0x457a85)return _0x58241a['lUTxz'];if(/^e\d+$/i[_0xb68fba(0x1ca)](_0x457a85))return _0xb68fba(0x221)+_0x457a85;return JSON[_0xb68fba(0x1cf)](_0x58241a[_0xb68fba(0x1c8)](truncatePreview,_0x457a85,0x78));}function formatRangerwrightCliLog(_0xa6ea3c,_0x19999e){const _0xa4165f=_0x39ca,_0x49c1b3={'cHERt':function(_0x29a2cd,_0x1992d4,_0x442feb){return _0x29a2cd(_0x1992d4,_0x442feb);},'JQthK':_0xa4165f(0x1df),'ODKrE':function(_0xb51f31,_0x564df2){return _0xb51f31(_0x564df2);},'axLEk':_0xa4165f(0x212),'sdCPZ':'go\x20back\x20and\x20inspect','rFhsf':'inspect','EZOzm':_0xa4165f(0x1bf),'WIQSi':_0xa4165f(0x1ed)};switch(_0x19999e){case _0xa4165f(0x1f2):{const _0x4a5cae=extractFirstCommandArgument(_0xa6ea3c,_0x19999e);return _0x4a5cae?'open\x20and\x20inspect\x20'+_0x4a5cae:_0xa4165f(0x1dc);}case _0xa4165f(0x214):return _0xa4165f(0x205)+formatCommandTarget(_0x49c1b3[_0xa4165f(0x1e6)](extractFirstCommandArgument,_0xa6ea3c,_0x19999e));case'fill':case _0x49c1b3[_0xa4165f(0x1c3)]:return _0xa4165f(0x1cc)+_0x49c1b3[_0xa4165f(0x202)](formatCommandTarget,extractFirstCommandArgument(_0xa6ea3c,_0x19999e));case _0x49c1b3[_0xa4165f(0x20a)]:return _0x49c1b3['sdCPZ'];case _0x49c1b3['rFhsf']:return _0x49c1b3[_0xa4165f(0x207)];case _0xa4165f(0x206):return'stop\x20tracing';case _0xa4165f(0x1e7):return _0xa4165f(0x1d3);case _0x49c1b3[_0xa4165f(0x1e0)]:return _0xa4165f(0x1f4);default:return _0x19999e;}}function renderScenarioSections(_0x3786e2){const _0xeef77c=_0x39ca,_0x5907ae={'JAzwv':_0xeef77c(0x1c1),'IivWb':_0xeef77c(0x21a),'YyCCd':function(_0x10add9,_0x42552b){return _0x10add9>_0x42552b;}},{checklistItem:_0x32f350,itemFeedback:_0x5d76fb}=_0x3786e2,_0x4f47e9=_0x32f350[_0xeef77c(0x1fd)]?_0xeef77c(0x20b)+_0x32f350[_0xeef77c(0x1fd)]:'';let _0x430e7e='';if(_0x5d76fb&&_0x5907ae[_0xeef77c(0x1f8)](_0x5d76fb[_0xeef77c(0x200)]['length'],0x0)){const _0x2141cf=_0x5d76fb['unaddressedComments'][_0xeef77c(0x1d9)](_0x2daf94=>{const _0x1824b2=_0xeef77c,_0x2b5fa5=new Date(_0x2daf94['createdAt'])['toLocaleDateString']('en-US',{'month':_0x5907ae[_0x1824b2(0x213)],'day':'numeric'}),_0x218064=_0x2daf94['authorName']||_0x2daf94['authorEmail']||_0x5907ae['IivWb'],_0x42d827=_0x2daf94[_0x1824b2(0x1e3)]?_0x1824b2(0x1ef)+(_0x2daf94[_0x1824b2(0x1e3)]['selector']['split']('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x1824b2(0x1c6))+_0x1824b2(0x1be)+(_0x2daf94['domRef'][_0x1824b2(0x220)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1824b2(0x1dd)+_0x2daf94['id']+']\x20'+_0x218064+'\x20('+_0x2b5fa5+'):\x20\x22'+_0x2daf94['content']+'\x22'+_0x42d827;})[_0xeef77c(0x1e8)]('\x0a');_0x430e7e='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x2141cf;}const _0x234c48=_0x5d76fb?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x5d76fb[_0xeef77c(0x1c4)]:'';return''+_0x32f350[_0xeef77c(0x216)]+_0x4f47e9+_0x430e7e+_0x234c48;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x35dbfd){const _0x31cdef=_0x39ca,_0x4d5546={'TcnFo':'01_initial-state.png','wzcNL':function(_0x43813a,_0xb3ea61){return _0x43813a(_0xb3ea61);},'fWxLm':'about:blank','ZHMFO':function(_0x28b07c,_0x5a75cc){return _0x28b07c(_0x5a75cc);}},{checklistItem:_0x3c873e,itemFeedback:_0x49f25d,taskDescription:_0x3f0928,commandPrefix:_0x252acf,isCdpMode:_0x3fd5d4,url:_0x382fd7,cdpEndpoint:_0x45fcb2,loginInstructions:_0x30568f}=_0x35dbfd,_0x3ea79a=_0x4d5546['TcnFo'],_0x1b76dc='key_99_final-state.png',_0x2314aa=_0x3fd5d4?_0x252acf+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x3ea79a):_0x252acf+_0x31cdef(0x1d8)+_0x4d5546[_0x31cdef(0x21c)](quoteShellArg,_0x382fd7??_0x4d5546['fWxLm'])+'\x20--screenshot-path\x20'+_0x4d5546[_0x31cdef(0x21c)](quoteShellArg,_0x3ea79a),_0x29b15f=_0x3fd5d4?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x45fcb2+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x382fd7+_0x31cdef(0x1d2),_0x423237=_0x30568f?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x30568f+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x4d5546['ZHMFO'](renderScenarioSections,{'checklistItem':_0x3c873e,'itemFeedback':_0x49f25d})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x3f0928+'\x0a\x0a'+_0x29b15f+_0x423237+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x252acf+_0x31cdef(0x1d1)+_0x2314aa+'\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a'+_0x252acf+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+_0x4d5546[_0x31cdef(0x1f1)](quoteShellArg,_0x1b76dc)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x106713){const _0x2c4a42=_0x39ca,_0x1416f4={'szhQG':_0x2c4a42(0x1c5)},_0x2d9d64=_0x1416f4[_0x2c4a42(0x1f0)],_0x4341ab=_0x2c4a42(0x201);return _0x2c4a42(0x1f3)+_0x106713[_0x2c4a42(0x20f)]+_0x2c4a42(0x1f6)+_0x106713['commandPrefix']+'\x20open-and-inspect\x20'+quoteShellArg(_0x106713['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x2d9d64)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x106713[_0x2c4a42(0x20f)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x4341ab)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x48a105){const _0x3ddaff=_0x39ca,_0x6f738d={'QfLzk':function(_0x4cae8e,_0xd7737e){return _0x4cae8e(_0xd7737e);}};if(!_0x6f738d[_0x3ddaff(0x1c2)](parseRangerwrightCliCommand,_0x48a105))return[];const _0x1aaaf1=[],_0x23ef40=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x22fdf5 of _0x48a105[_0x3ddaff(0x1de)](_0x23ef40)){const _0x1ee2ae=_0x22fdf5[0x1]??_0x22fdf5[0x2]??_0x22fdf5[0x3]??'',_0x40a90f=_0x1ee2ae['startsWith']('./')?_0x1ee2ae['slice'](0x2):_0x1ee2ae;if(!_0x40a90f||_0x40a90f[_0x3ddaff(0x1f7)]('/'))continue;if(_0x40a90f[_0x3ddaff(0x1ea)]('/')[_0x3ddaff(0x211)](_0x86a521=>_0x86a521==='..'))continue;_0x1aaaf1['push'](_0x40a90f);}return _0x1aaaf1;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x1f4a76){const _0x1c2007=_0x39ca,_0x232c7b={'AOWhS':function(_0x56b89b,_0x3b6dac){return _0x56b89b===_0x3b6dac;}},_0x47b71f=[..._0x1f4a76[_0x1c2007(0x1fe)]()]['sort']();let _0x2a52ba=0x0;for(const _0x4c3369 of _0x1f4a76[_0x1c2007(0x1d5)]()){_0x2a52ba+=_0x4c3369;}return{'cliCommandCount':_0x2a52ba,'cliCommandsSeen':_0x47b71f,'noCliCommandsCalled':_0x232c7b['AOWhS'](_0x2a52ba,0x0)};}function _0x114c(){const _0x4546d0=['GvDWM','cHERt','video-stop','join','[rangerwright-cli]\x20','split','subcommand','set','close','LahTV','\x20(on\x20element:\x20<','szhQG','ZHMFO','open-and-inspect','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','close\x20browser\x20session','914CNjMSO','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','startsWith','YyCCd','OUuta','commandArgs','7079070isxewR','rangerwright-cli','notes','keys','1381aTSysI','unaddressedComments','key_02_learn-more.png','ODKrE','target','rangerwright_cli_video_stop','click\x20and\x20inspect\x20','tracing-stop','EZOzm','tool_name','rangerwright_cli_tracing_stop','axLEk','\x0a\x0a##\x20Additional\x20Notes\x0a','stderr','9SuLXcr','trackPhaseEnd','commandPrefix','4713305wPcFUJ','some','back-and-inspect','JAzwv','click-and-inspect','qTjJH','description','error','iqXqk','rangerwright_cli_command','Reviewer','PmOfb','wzcNL','VlMox','3109253ikShjc','trackPhaseStart','textContent','ref\x20','902397qvfMUx','>\x20\x22','inspect\x20page','8ucenta','short','QfLzk','JQthK','canonicalFlow','01_mozilla-homepage.png','element','iAPQg','OFxmR','2319704ozLepP','test','2671710eqwirX','fill\x20','MBvSO','Bash','stringify','trackPhaseError','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','stop\x20video\x20recording','kASHU','values','cwd','PostToolUse','\x20open-and-inspect\x20','map','stdout','\x5c$&','open\x20and\x20inspect','-\x20[','matchAll','fill-and-inspect','WIQSi','sCxen','hook_event_name','domRef','rangerwright_cli_command_failure'];_0x114c=function(){return _0x4546d0;};return _0x114c();}export function createVerifyFeatureRangerwrightCliHooks(_0x4436b2){const _0x38907d=_0x39ca,_0x5ceb3f={'VlMox':function(_0x52846a,_0x57d87e){return _0x52846a!==_0x57d87e;},'GvDWM':'Bash','wwrUf':function(_0x21a44f,_0x57262e){return _0x21a44f+_0x57262e;},'iqXqk':_0x38907d(0x219),'MBvSO':function(_0x47dd07,_0x47c0a3){return _0x47dd07(_0x47c0a3);},'OUuta':function(_0x4ed774,_0x155a8a,_0x1e46d4){return _0x4ed774(_0x155a8a,_0x1e46d4);},'iAPQg':'PostToolUseFailure','sCxen':_0x38907d(0x1fc)},_0x3bf25f=new Map(),_0x709514=async _0x336a10=>{const _0x24d40e=_0x38907d;if(_0x336a10[_0x24d40e(0x1e2)]!==_0x24d40e(0x1d7))return{};const _0x205946=_0x336a10;if(_0x5ceb3f[_0x24d40e(0x21d)](_0x205946[_0x24d40e(0x208)],_0x5ceb3f[_0x24d40e(0x1e5)]))return{};const _0x19d6d9=_0x205946['tool_input'],_0x4cb4df=extractBashCommand(_0x19d6d9);if(!_0x4cb4df)return{};const _0x147df5=parseRangerwrightCliCommand(_0x4cb4df);if(!_0x147df5)return{};return _0x3bf25f[_0x24d40e(0x1ec)](_0x147df5,_0x5ceb3f['wwrUf'](_0x3bf25f['get'](_0x147df5)||0x0,0x1)),_0x4436b2['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0x147df5}),_0x4436b2['trackPhaseEnd'](_0x5ceb3f[_0x24d40e(0x218)],{'subcommand':_0x147df5,'commandPreview':_0x5ceb3f[_0x24d40e(0x1cd)](truncatePreview,_0x4cb4df)}),console['log'](_0x24d40e(0x1e9)+_0x5ceb3f[_0x24d40e(0x1f9)](formatRangerwrightCliLog,_0x4cb4df,_0x147df5)),{};},_0x46dbed=async _0x385a70=>{const _0xc98888=_0x38907d;if(_0x385a70[_0xc98888(0x1e2)]!==_0x5ceb3f[_0xc98888(0x1c7)])return{};const _0x483725=_0x385a70;if(_0x5ceb3f[_0xc98888(0x21d)](_0x483725[_0xc98888(0x208)],_0xc98888(0x1ce)))return{};return await _0x4436b2[_0xc98888(0x1d0)](_0xc98888(0x1e4),_0x483725[_0xc98888(0x217)],{'transport':_0x5ceb3f[_0xc98888(0x1e1)],'toolName':_0x5ceb3f[_0xc98888(0x1e5)]}),{};};return{'postToolUseHook':_0x709514,'postToolUseFailureHook':_0x46dbed,'commandCounts':_0x3bf25f};}function _0x39ca(_0x1dda14,_0x509a82){_0x1dda14=_0x1dda14-0x1be;const _0x114c2c=_0x114c();let _0x39cac3=_0x114c2c[_0x1dda14];return _0x39cac3;}async function runRangerwrightLifecycleCommand(_0x1d0386){const _0x4d334c=_0x39ca,_0x1af986={'LahTV':function(_0x48dacb,_0x9865e1,_0x16c392){return _0x48dacb(_0x9865e1,_0x16c392);},'ygAJk':function(_0x554ddd,_0x229266,_0x395165){return _0x554ddd(_0x229266,_0x395165);}},{options:_0xeb7be2,commandArgs:_0xe98cab,env:_0x3b827d,telemetry:_0x2f2631,phase:_0x315fa7,metadata:_0x28d685,timeoutMs:_0x28c52f}=_0x1d0386;_0x2f2631[_0x4d334c(0x21f)](_0x315fa7,_0x28d685);try{const _0xaf196d=await runRangerwrightCliCommand({..._0xeb7be2,'commandArgs':_0xe98cab,'cwd':process[_0x4d334c(0x1d6)](),'env':_0x3b827d,'timeoutMs':_0x28c52f??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x2f2631[_0x4d334c(0x20e)](_0x315fa7,{..._0x28d685,'subcommand':_0xaf196d['invocation'][_0x4d334c(0x1eb)],'stdoutPreview':_0x1af986[_0x4d334c(0x1ee)](truncatePreview,_0xaf196d[_0x4d334c(0x1da)],0x7d0),'stderrPreview':_0x1af986['ygAJk'](truncatePreview,_0xaf196d[_0x4d334c(0x20c)],0x7d0)});}catch(_0x25d8c7){await _0x2f2631[_0x4d334c(0x1d0)](_0x315fa7,_0x25d8c7,_0x28d685);throw _0x25d8c7;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x3cbdf1){const _0x336553=_0x39ca,_0x4921b9={'PmOfb':_0x336553(0x204),'qTjJH':_0x336553(0x1e7),'SFwcU':function(_0x14c0b6,_0x2de3e2){return _0x14c0b6(_0x2de3e2);}},{telemetry:_0x16be33,rangerwrightOptions:_0x21f507,env:_0x258f8d,transportMetadata:_0x5e5d52}=_0x3cbdf1,_0x475c6f=[{'phase':_0x336553(0x209),'commandArgs':['tracing-stop']},{'phase':_0x4921b9[_0x336553(0x21b)],'commandArgs':[_0x4921b9[_0x336553(0x215)]]},{'phase':'rangerwright_cli_close','commandArgs':[_0x336553(0x1ed)]}];for(const _0x3d5d12 of _0x475c6f){try{await _0x4921b9['SFwcU'](runRangerwrightLifecycleCommand,{'options':_0x21f507,'commandArgs':[..._0x3d5d12[_0x336553(0x1fa)]],'env':_0x258f8d,'telemetry':_0x16be33,'phase':_0x3d5d12['phase'],'metadata':_0x5e5d52});}catch{}}}
1
+ (function(_0x58fc0c,_0xec2d11){const _0xf9ace9=_0xc16f,_0x232a78=_0x58fc0c();while(!![]){try{const _0x4efdb3=parseInt(_0xf9ace9(0x95))/0x1+parseInt(_0xf9ace9(0x99))/0x2*(-parseInt(_0xf9ace9(0x93))/0x3)+-parseInt(_0xf9ace9(0xa6))/0x4+-parseInt(_0xf9ace9(0x91))/0x5*(parseInt(_0xf9ace9(0xbe))/0x6)+parseInt(_0xf9ace9(0x8b))/0x7*(parseInt(_0xf9ace9(0xa9))/0x8)+-parseInt(_0xf9ace9(0xc3))/0x9+parseInt(_0xf9ace9(0xc1))/0xa;if(_0x4efdb3===_0xec2d11)break;else _0x232a78['push'](_0x232a78['shift']());}catch(_0x846343){_0x232a78['push'](_0x232a78['shift']());}}}(_0x2379,0x306ef));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';function _0xc16f(_0x3387ce,_0x2fadd6){_0x3387ce=_0x3387ce-0x88;const _0x23791e=_0x2379();let _0xc16f34=_0x23791e[_0x3387ce];return _0xc16f34;}import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x14b0c8,_0x114977=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x405b39=_0xc16f,_0x42976b={'CXRda':function(_0x3cef2b,_0x32cd84){return _0x3cef2b>_0x32cd84;}};return _0x42976b['CXRda'](_0x14b0c8[_0x405b39(0xca)],_0x114977)?_0x14b0c8[_0x405b39(0x96)](0x0,_0x114977)+_0x405b39(0xb4):_0x14b0c8;}function extractShellValue(_0x2b6785){if(!_0x2b6785)return null;return _0x2b6785[0x1]??_0x2b6785[0x2]??_0x2b6785[0x3]??null;}function extractFirstCommandArgument(_0x5b0948,_0x338ebf){const _0x4935aa=_0xc16f,_0x31cbde={'pGerA':function(_0xa99bc1,_0x2d1a57){return _0xa99bc1(_0x2d1a57);}},_0x365518=_0x338ebf['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x31cbde['pGerA'](extractShellValue,_0x5b0948['match'](new RegExp('(?:^|\x5cs)'+_0x365518+_0x4935aa(0xcb))));}function formatCommandTarget(_0x4c70f4){const _0x21d465={'uytyQ':'target'};if(!_0x4c70f4)return _0x21d465['uytyQ'];if(/^e\d+$/i['test'](_0x4c70f4))return'ref\x20'+_0x4c70f4;return JSON['stringify'](truncatePreview(_0x4c70f4,0x78));}function formatRangerwrightCliLog(_0x4b6e55,_0x97cc05){const _0x42435=_0xc16f,_0x7f2a52={'DEoLO':'open-and-inspect','pWECG':function(_0x374639,_0x5bfeca,_0x3328b9){return _0x374639(_0x5bfeca,_0x3328b9);},'irYRE':'open\x20and\x20inspect','uPvsj':function(_0x9068bc,_0x5368ea){return _0x9068bc(_0x5368ea);},'eikca':_0x42435(0xcd),'ZTMxD':'inspect\x20page','AVzBo':'tracing-stop','nkZDv':'close\x20browser\x20session'};switch(_0x97cc05){case _0x7f2a52['DEoLO']:{const _0x3b0299=_0x7f2a52['pWECG'](extractFirstCommandArgument,_0x4b6e55,_0x97cc05);return _0x3b0299?_0x42435(0x8d)+_0x3b0299:_0x7f2a52['irYRE'];}case _0x42435(0xd0):return _0x42435(0xc9)+_0x7f2a52[_0x42435(0xd4)](formatCommandTarget,extractFirstCommandArgument(_0x4b6e55,_0x97cc05));case'fill':case _0x42435(0x92):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x4b6e55,_0x97cc05));case _0x7f2a52[_0x42435(0x97)]:return'go\x20back\x20and\x20inspect';case _0x42435(0xa1):return _0x7f2a52[_0x42435(0x8e)];case _0x7f2a52['AVzBo']:return _0x42435(0xaa);case'video-stop':return _0x42435(0xc8);case'close':return _0x7f2a52['nkZDv'];default:return _0x97cc05;}}function renderScenarioSections(_0x4a9290){const _0x205a83=_0xc16f,_0x343153={'cOVbU':'numeric','YqTrb':_0x205a83(0x9e),'KdejS':_0x205a83(0xd1),'ytGNf':'element','QZPNA':function(_0x436bf8,_0x5134bd){return _0x436bf8>_0x5134bd;}},{checklistItem:_0x25d1ae,itemFeedback:_0x2f75ba}=_0x4a9290,_0x22fb90=_0x25d1ae['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x25d1ae[_0x205a83(0x9b)]:'';let _0x321952='';if(_0x2f75ba&&_0x343153['QZPNA'](_0x2f75ba['unaddressedComments']['length'],0x0)){const _0xc2cdca=_0x2f75ba['unaddressedComments']['map'](_0x121277=>{const _0x16847f=_0x205a83,_0x16a4b2=new Date(_0x121277[_0x16847f(0xbf)])['toLocaleDateString']('en-US',{'month':_0x16847f(0xdc),'day':_0x343153[_0x16847f(0x9d)]}),_0x2a65e7=_0x121277[_0x16847f(0xae)]||_0x121277[_0x16847f(0x9f)]||_0x343153[_0x16847f(0x98)],_0x523d98=_0x121277[_0x16847f(0xde)]?_0x16847f(0xb5)+(_0x121277[_0x16847f(0xde)]['selector']['split'](_0x343153[_0x16847f(0x88)])['pop']()?.[_0x16847f(0xd6)](':')[0x0]||_0x343153['ytGNf'])+'>\x20\x22'+(_0x121277['domRef']['textContent']||'')[_0x16847f(0x96)](0x0,0x32)+'\x22)':'';return _0x16847f(0xc0)+_0x121277['id']+']\x20'+_0x2a65e7+'\x20('+_0x16a4b2+_0x16847f(0xd9)+_0x121277['content']+'\x22'+_0x523d98;})['join']('\x0a');_0x321952=_0x205a83(0x94)+_0xc2cdca;}const _0x345bea=_0x2f75ba?.['canonicalFlow']?_0x205a83(0xa4)+_0x2f75ba['canonicalFlow']:'';return''+_0x25d1ae[_0x205a83(0xb2)]+_0x22fb90+_0x321952+_0x345bea;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x257ca6){const _0x1e8e74=_0xc16f,_0x12b6ec={'YuVed':_0x1e8e74(0xb1),'lbmfS':function(_0x447288,_0x15129b){return _0x447288??_0x15129b;},'vqYPf':_0x1e8e74(0xc5),'nFZTS':function(_0x195d9a,_0x19cbb9){return _0x195d9a(_0x19cbb9);}},{checklistItem:_0xc6b35d,itemFeedback:_0xf71baf,taskDescription:_0x3eaf78,commandPrefix:_0x5209a7,isCdpMode:_0x1f5c3d,url:_0x44511f,cdpEndpoint:_0xd88b13,loginInstructions:_0x1fe9c4}=_0x257ca6,_0x356fd3='01_initial-state.png',_0x2b49f0=_0x12b6ec['YuVed'],_0x429523=_0x1f5c3d?_0x5209a7+_0x1e8e74(0xd3)+quoteShellArg(_0x356fd3):_0x5209a7+'\x20open-and-inspect\x20'+quoteShellArg(_0x12b6ec[_0x1e8e74(0xac)](_0x44511f,_0x12b6ec['vqYPf']))+'\x20--screenshot-path\x20'+quoteShellArg(_0x356fd3),_0x419a49=_0x1f5c3d?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0xd88b13+_0x1e8e74(0xa5):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x44511f+_0x1e8e74(0xb0),_0x489b57=_0x1fe9c4?_0x1e8e74(0xdd)+_0x1fe9c4+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x1e8e74(0x90)+renderScenarioSections({'checklistItem':_0xc6b35d,'itemFeedback':_0xf71baf})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x3eaf78+'\x0a\x0a'+_0x419a49+_0x489b57+_0x1e8e74(0xdb)+_0x5209a7+'\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'+_0x429523+'\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'+_0x5209a7+_0x1e8e74(0xab)+_0x12b6ec['nFZTS'](quoteShellArg,_0x2b49f0)+_0x1e8e74(0xbc);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x4c5ea1){const _0x376a49=_0xc16f,_0x26b9e0={'GPCGK':'01_mozilla-homepage.png','nVjHh':function(_0x443f3a,_0x220805){return _0x443f3a(_0x220805);},'pwKJe':function(_0x5c0170,_0xad41a){return _0x5c0170(_0xad41a);}},_0x110fa2=_0x26b9e0[_0x376a49(0xa3)],_0x331dae=_0x376a49(0x89);return _0x376a49(0xcc)+_0x4c5ea1['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`'+_0x4c5ea1[_0x376a49(0xa0)]+_0x376a49(0xcf)+_0x26b9e0['nVjHh'](quoteShellArg,_0x4c5ea1[_0x376a49(0xd5)])+_0x376a49(0xc7)+_0x26b9e0['pwKJe'](quoteShellArg,_0x110fa2)+_0x376a49(0x9c)+_0x4c5ea1['commandPrefix']+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x331dae)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x44dee4){const _0x19672b=_0xc16f,_0x1ff111={'dhswM':function(_0x2649e8,_0x563f20){return _0x2649e8(_0x563f20);}};if(!_0x1ff111[_0x19672b(0xb7)](parseRangerwrightCliCommand,_0x44dee4))return[];const _0x1dd537=[],_0x2c0c9a=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x30746e of _0x44dee4[_0x19672b(0xbb)](_0x2c0c9a)){const _0x2103c8=_0x30746e[0x1]??_0x30746e[0x2]??_0x30746e[0x3]??'',_0x5a1c2d=_0x2103c8['startsWith']('./')?_0x2103c8['slice'](0x2):_0x2103c8;if(!_0x5a1c2d||_0x5a1c2d[_0x19672b(0xb8)]('/'))continue;if(_0x5a1c2d['split']('/')[_0x19672b(0x8a)](_0x2e1091=>_0x2e1091==='..'))continue;_0x1dd537['push'](_0x5a1c2d);}return _0x1dd537;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x5b880a){const _0x170f72=_0xc16f,_0x2e0cd8={'wtiss':function(_0x239f19,_0x782952){return _0x239f19===_0x782952;}},_0x4ba078=[..._0x5b880a[_0x170f72(0xbd)]()][_0x170f72(0xaf)]();let _0x2a1c2b=0x0;for(const _0x244688 of _0x5b880a['values']()){_0x2a1c2b+=_0x244688;}return{'cliCommandCount':_0x2a1c2b,'cliCommandsSeen':_0x4ba078,'noCliCommandsCalled':_0x2e0cd8['wtiss'](_0x2a1c2b,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x2835a0){const _0x252d67=_0xc16f,_0x8e6940={'DLysA':'PostToolUse','vukiF':function(_0x4201ea,_0x48d5f6){return _0x4201ea!==_0x48d5f6;},'poEdt':_0x252d67(0xb3),'kLWQb':_0x252d67(0xda),'xZxIW':function(_0x7b7808,_0x195f65){return _0x7b7808(_0x195f65);},'FGTSA':function(_0x14fa48,_0x31681e,_0x2e4512){return _0x14fa48(_0x31681e,_0x2e4512);},'qtRGf':'PostToolUseFailure','CmqPv':_0x252d67(0xc2),'HScee':_0x252d67(0x8f)},_0x1cac42=new Map(),_0x57a283=async _0x5dfc0b=>{const _0x390c14=_0x252d67;if(_0x5dfc0b[_0x390c14(0xb6)]!==_0x8e6940['DLysA'])return{};const _0x2567b6=_0x5dfc0b;if(_0x8e6940[_0x390c14(0xce)](_0x2567b6['tool_name'],_0x8e6940['poEdt']))return{};const _0x14fc98=_0x2567b6['tool_input'],_0xa28a0=extractBashCommand(_0x14fc98);if(!_0xa28a0)return{};const _0x530b4a=parseRangerwrightCliCommand(_0xa28a0);if(!_0x530b4a)return{};return _0x1cac42['set'](_0x530b4a,(_0x1cac42['get'](_0x530b4a)||0x0)+0x1),_0x2835a0['trackPhaseStart'](_0x8e6940['kLWQb'],{'subcommand':_0x530b4a}),_0x2835a0['trackPhaseEnd'](_0x390c14(0xda),{'subcommand':_0x530b4a,'commandPreview':_0x8e6940[_0x390c14(0x8c)](truncatePreview,_0xa28a0)}),console['log'](_0x390c14(0xa8)+_0x8e6940['FGTSA'](formatRangerwrightCliLog,_0xa28a0,_0x530b4a)),{};},_0x1aee01=async _0x54acb7=>{const _0x534731=_0x252d67;if(_0x8e6940['vukiF'](_0x54acb7[_0x534731(0xb6)],_0x8e6940[_0x534731(0xd8)]))return{};const _0x5d204b=_0x54acb7;if(_0x5d204b[_0x534731(0xba)]!==_0x8e6940[_0x534731(0xa2)])return{};return await _0x2835a0['trackPhaseError'](_0x8e6940['CmqPv'],_0x5d204b['error'],{'transport':_0x8e6940[_0x534731(0xd2)],'toolName':'Bash'}),{};};return{'postToolUseHook':_0x57a283,'postToolUseFailureHook':_0x1aee01,'commandCounts':_0x1cac42};}async function runRangerwrightLifecycleCommand(_0x32e1b1){const _0x1f3c5a=_0xc16f,_0x2a352a={'xvPsZ':function(_0xcdb23d,_0xb6f137){return _0xcdb23d(_0xb6f137);},'Isaek':function(_0x691935,_0x4a885a){return _0x691935??_0x4a885a;},'JcUBh':function(_0x66d2f4,_0x1bc828,_0x5bbd0b){return _0x66d2f4(_0x1bc828,_0x5bbd0b);},'gQMYO':function(_0x33303d,_0x4461e7,_0x5cca26){return _0x33303d(_0x4461e7,_0x5cca26);}},{options:_0x57ab5d,commandArgs:_0x527788,env:_0x3ae6c0,telemetry:_0x2fcc9b,phase:_0xe6ea85,metadata:_0xcb36d6,timeoutMs:_0x519a88}=_0x32e1b1;_0x2fcc9b['trackPhaseStart'](_0xe6ea85,_0xcb36d6);try{const _0x2d4045=await _0x2a352a['xvPsZ'](runRangerwrightCliCommand,{..._0x57ab5d,'commandArgs':_0x527788,'cwd':process[_0x1f3c5a(0xa7)](),'env':_0x3ae6c0,'timeoutMs':_0x2a352a['Isaek'](_0x519a88,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x2fcc9b['trackPhaseEnd'](_0xe6ea85,{..._0xcb36d6,'subcommand':_0x2d4045[_0x1f3c5a(0xc4)][_0x1f3c5a(0x9a)],'stdoutPreview':_0x2a352a[_0x1f3c5a(0xb9)](truncatePreview,_0x2d4045['stdout'],0x7d0),'stderrPreview':_0x2a352a['gQMYO'](truncatePreview,_0x2d4045['stderr'],0x7d0)});}catch(_0x198616){await _0x2fcc9b['trackPhaseError'](_0xe6ea85,_0x198616,_0xcb36d6);throw _0x198616;}}function _0x2379(){const _0x3f82af=['Bash','...','\x20(on\x20element:\x20<','hook_event_name','dhswM','startsWith','JcUBh','tool_name','matchAll','\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.','keys','30Uetaxr','createdAt','-\x20[','1978230kdNEqN','rangerwright_cli_command_failure','3530169XDkfTa','invocation','about:blank','lIiVN','\x20--screenshot-path\x20','stop\x20video\x20recording','click\x20and\x20inspect\x20','length','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','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','back-and-inspect','vukiF','\x20open-and-inspect\x20','click-and-inspect','\x20>\x20','HScee','\x20inspect\x20--screenshot-path\x20','uPvsj','url','split','rangerwright_cli_video_stop','qtRGf','):\x20\x22','rangerwright_cli_command','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','short','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','domRef','KdejS','key_02_learn-more.png','some','3752mqmrjA','xZxIW','open\x20and\x20inspect\x20','ZTMxD','rangerwright-cli','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','11735yHwbPW','fill-and-inspect','168IlULeh','\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','187654qDoNdK','slice','eikca','YqTrb','32zJPNNb','subcommand','notes','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','cOVbU','Reviewer','authorEmail','commandPrefix','inspect','poEdt','GPCGK','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','687576CcDMBx','cwd','[rangerwright-cli]\x20','5816oFScHH','stop\x20tracing','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','lbmfS','rAzHp','authorName','sort','\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.','key_99_final-state.png','description'];_0x2379=function(){return _0x3f82af;};return _0x2379();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0xa49e57){const _0x2a3b53=_0xc16f,_0x8dd360={'rAzHp':'tracing-stop','lIiVN':_0x2a3b53(0xd7),'lRROX':'close','NdkPF':function(_0x44e47e,_0x394237){return _0x44e47e(_0x394237);}},{telemetry:_0x3abb39,rangerwrightOptions:_0x4ac50e,env:_0x2ea2a9,transportMetadata:_0x133238}=_0xa49e57,_0x371a5f=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':[_0x8dd360[_0x2a3b53(0xad)]]},{'phase':_0x8dd360[_0x2a3b53(0xc6)],'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x8dd360['lRROX']]}];for(const _0x4bab6d of _0x371a5f){try{await _0x8dd360['NdkPF'](runRangerwrightLifecycleCommand,{'options':_0x4ac50e,'commandArgs':[..._0x4bab6d['commandArgs']],'env':_0x2ea2a9,'telemetry':_0x3abb39,'phase':_0x4bab6d['phase'],'metadata':_0x133238});}catch{}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.1.7-alpha.be2850d-64",
3
+ "version": "3.1.7-alpha.d64f22a-65",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -21,11 +21,12 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
24
- "@playwright/cli": "0.1.1",
25
- "@ranger-testing/rangerwright": "^0.0.27",
24
+ "@playwright/cli": "0.1.12",
25
+ "@playwright/mcp": "0.0.74",
26
+ "@ranger-testing/rangerwright": "^0.0.32",
26
27
  "dotenv": "^16.4.5",
27
28
  "inquirer": "^9.2.12",
28
- "playwright": "1.56.1",
29
+ "playwright": "1.60.0",
29
30
  "ws": "^8.20.1",
30
31
  "yargs": "^17.7.2",
31
32
  "zod": "^3.23.8"
@@ -45,6 +46,14 @@
45
46
  "brace-expansion": "^5.0.6",
46
47
  "fast-uri": "3.1.2",
47
48
  "@babel/core": "^7.29.6",
48
- "js-yaml": "^4.2.0"
49
+ "js-yaml": "^4.2.0",
50
+ "@playwright/cli": {
51
+ "playwright": "1.60.0",
52
+ "playwright-core": "1.60.0"
53
+ },
54
+ "@playwright/mcp": {
55
+ "playwright": "1.60.0",
56
+ "playwright-core": "1.60.0"
57
+ }
49
58
  }
50
59
  }