@ranger-testing/ranger-cli 3.1.6 → 3.1.7-alpha.34400c2-56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) 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/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +2 -5
@@ -1 +1 @@
1
- (function(_0xfcde36,_0x24d057){const _0x4ae419=_0x45c0,_0x47b21c=_0xfcde36();while(!![]){try{const _0x5ef4d1=-parseInt(_0x4ae419(0x147))/0x1+-parseInt(_0x4ae419(0x14f))/0x2*(parseInt(_0x4ae419(0x18d))/0x3)+-parseInt(_0x4ae419(0x175))/0x4*(parseInt(_0x4ae419(0x17a))/0x5)+-parseInt(_0x4ae419(0x1bd))/0x6+-parseInt(_0x4ae419(0x19d))/0x7*(parseInt(_0x4ae419(0x161))/0x8)+-parseInt(_0x4ae419(0x172))/0x9*(parseInt(_0x4ae419(0x1af))/0xa)+parseInt(_0x4ae419(0x1ba))/0xb*(parseInt(_0x4ae419(0x132))/0xc);if(_0x5ef4d1===_0x24d057)break;else _0x47b21c['push'](_0x47b21c['shift']());}catch(_0x36248c){_0x47b21c['push'](_0x47b21c['shift']());}}}(_0x5f33,0x83f63));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x397d85,_0x3bcc57=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x14d3b4=_0x45c0,_0x63bd87={'ZgCcX':function(_0x13c207,_0x1343e1){return _0x13c207>_0x1343e1;},'rrCyC':function(_0x837479,_0x1f4ef9){return _0x837479+_0x1f4ef9;},'UNhDo':_0x14d3b4(0x154)};return _0x63bd87['ZgCcX'](_0x397d85['length'],_0x3bcc57)?_0x63bd87['rrCyC'](_0x397d85[_0x14d3b4(0x173)](0x0,_0x3bcc57),_0x63bd87[_0x14d3b4(0x1aa)]):_0x397d85;}function buildCliArtifactPath(_0x59ccda,_0x105cb5){return join(_0x59ccda,_0x105cb5);}function toStepDisplayName(_0xd920f3){const _0x350dd9=_0x45c0,_0x446595={'YnnMj':function(_0x34d345,_0x2e0756){return _0x34d345(_0x2e0756);}},_0x24728=_0x446595['YnnMj'](basename,_0xd920f3)[_0x350dd9(0x13a)](/\.(?:png|ya?ml)$/i,'')[_0x350dd9(0x13a)](/^key_/i,'')[_0x350dd9(0x13a)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x24728,'isKeyStep':/^key_/i['test'](basename(_0xd920f3))};}function extractShellValue(_0x2c0d34){if(!_0x2c0d34)return null;return _0x2c0d34[0x1]??_0x2c0d34[0x2]??_0x2c0d34[0x3]??null;}function extractFilenameOption(_0x3f3d5f){const _0x4b9259=_0x45c0,_0x51228d={'KMsPn':function(_0x4b8b33,_0x3265f0){return _0x4b8b33(_0x3265f0);}};return _0x51228d['KMsPn'](extractShellValue,_0x3f3d5f[_0x4b9259(0x15e)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x56f0f7,_0x1ea8ec){const _0x515a0a=_0x45c0,_0x134784={'BjLwi':function(_0x4c7436,_0x72cc2){return _0x4c7436(_0x72cc2);}},_0x1ebf5c=_0x1ea8ec['replace'](/[.*+?^${}()|[\]\\]/g,_0x515a0a(0x14a));return _0x134784[_0x515a0a(0x14c)](extractShellValue,_0x56f0f7[_0x515a0a(0x15e)](new RegExp('(?:^|\x5cs)'+_0x1ebf5c+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x5f33(){const _0x3487c2=['open\x20browser','[playwright-cli]\x20','lmIpL','HWOFv','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','cwd','click','11PrQyNS','open','YgqZf','487638SkFDcb','iTtas','zNkql','env','keys','tool_call','canonicalFlow','**\x20(','`,\x20then\x20`','02_button-clicked.png','PostToolUseFailure','\x20tracing-start`\x0a3.\x20Run\x20`','58608708VQWfct','trace.trace.zip','oznsN','playwright_cli_video_stop','capture\x20snapshot','element','playwright_cli_close','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','replace','name','open\x20new\x20tab\x20','authorName','string','split','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','kgvoS','vrHUW','stringify','\x20snapshot\x20--filename\x20','video-stop','trackPhaseEnd','894277dkLqVJ','en-US','MizIk','\x5c$&','tDWLf','BjLwi','tMbPQ','UnGcx','18zUAlia','qlwZv','select\x20tab\x20','\x20screenshot\x20--filename\x20','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','...','lPPvB','trackPhaseError','LhAyD','\x20tracing-start`,\x20then\x20`','tool_name','capture\x20snapshot\x20`','notes','XktTi','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','match','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','Reviewer','7186472bSThoM','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','hook_event_name','commandArgs','check\x20','stop\x20video\x20recording','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','toLocaleDateString','PostToolUse','SptDQ','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','03_result-visible.png','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','press','bWqXv','playwright-cli','29835GTbWei','slice','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','8FdgFAR','\x20(on\x20element:\x20<','capture\x20screenshot','description','capture\x20key\x20step\x20`','1908820flDEIz','LZfIr','`\x0a9.\x20Run\x20`','[ranger-verification-agent]\x20','createdAt','stdout','\x20>\x20','snapshot','short','bMOrW','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','Ddsra','01_initial-state.png','tracing-stop','error','tab-select','select\x20tab','Abjbh','Bash','346614jlLgXV','unaddressedComments','ZglQe','trim','osBej','`:\x20\x22','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','hvTdi','close','sort','authorEmail','cKiTB','length','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','7fAPUnr','ptivI','push','oQCtG','test','`\x0a-\x20`snapshot\x20--filename\x20','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','03_learn-more.png','trace.zip','tool_input','`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20','start\x20tracing','RPMuS','UNhDo','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','garLY','02_state.yml','2010nMeESt','run-code','02_learn-more.yml','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'];_0x5f33=function(){return _0x3487c2;};return _0x5f33();}function _0x45c0(_0x2ef7d9,_0x527234){_0x2ef7d9=_0x2ef7d9-0x131;const _0x5f3303=_0x5f33();let _0x45c071=_0x5f3303[_0x2ef7d9];return _0x45c071;}function formatCommandTarget(_0x2a297c){const _0x3c2333=_0x45c0,_0x1588be={'wpaqc':'target'};if(!_0x2a297c)return _0x1588be['wpaqc'];if(/^e\d+$/i[_0x3c2333(0x1a1)](_0x2a297c))return'ref\x20'+_0x2a297c;return JSON[_0x3c2333(0x143)](truncatePreview(_0x2a297c,0x78));}function formatPlaywrightCliLog(_0x5f5d9a,_0x363951){const _0x145921=_0x45c0,_0x393cba={'bTqjp':_0x145921(0x1bb),'QdWDf':_0x145921(0x1b3),'XktTi':'tracing-start','WKWup':'stop\x20tracing','SAKzE':_0x145921(0x145),'bWqXv':_0x145921(0x166),'KMuqZ':_0x145921(0x181),'EadLf':function(_0x38b300,_0x4eb041){return _0x38b300(_0x4eb041);},'HWOFv':_0x145921(0x136),'SptDQ':function(_0x5e28d3,_0x5b5234){return _0x5e28d3(_0x5b5234);},'ZglQe':_0x145921(0x177),'HKtVr':function(_0x46808d,_0x2808a9,_0xe51cc){return _0x46808d(_0x2808a9,_0xe51cc);},'kgvoS':function(_0x172cc4,_0x316ba1,_0x435bfa){return _0x172cc4(_0x316ba1,_0x435bfa);},'NdLbg':function(_0x3af7f2,_0x35cc16,_0x2a1e15){return _0x3af7f2(_0x35cc16,_0x2a1e15);}};switch(_0x363951){case _0x393cba['bTqjp']:{const _0xb33aa2=extractFirstCommandArgument(_0x5f5d9a,_0x363951);return _0xb33aa2?'open\x20'+_0xb33aa2:_0x393cba['QdWDf'];}case _0x393cba[_0x145921(0x15c)]:return _0x145921(0x1a8);case _0x145921(0x187):return _0x393cba['WKWup'];case'video-start':return'start\x20video\x20recording';case _0x393cba['SAKzE']:return _0x393cba[_0x145921(0x170)];case _0x393cba['KMuqZ']:{const _0x806d5=_0x393cba['EadLf'](extractFilenameOption,_0x5f5d9a);if(!_0x806d5)return _0x393cba[_0x145921(0x1b6)];const {name:_0x13421e}=_0x393cba[_0x145921(0x16a)](toStepDisplayName,_0x806d5);return _0x145921(0x15a)+_0x13421e+'`';}case'screenshot':{const _0x33d1aa=extractFilenameOption(_0x5f5d9a);if(!_0x33d1aa)return _0x393cba[_0x145921(0x18f)];const {name:_0x2e38b9,isKeyStep:_0x589911}=toStepDisplayName(_0x33d1aa);return _0x589911?_0x145921(0x179)+_0x2e38b9+'`':'capture\x20step\x20`'+_0x2e38b9+'`';}case _0x145921(0x1b9):return'click\x20'+formatCommandTarget(_0x393cba['HKtVr'](extractFirstCommandArgument,_0x5f5d9a,_0x363951));case'check':return _0x145921(0x165)+formatCommandTarget(extractFirstCommandArgument(_0x5f5d9a,_0x363951));case'fill':return'fill\x20'+formatCommandTarget(_0x393cba[_0x145921(0x141)](extractFirstCommandArgument,_0x5f5d9a,_0x363951));case _0x145921(0x16f):return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5f5d9a,_0x363951));case _0x145921(0x1b0):return'run\x20custom\x20Playwright\x20code';case'tab-new':{const _0x2e014c=_0x393cba['NdLbg'](extractFirstCommandArgument,_0x5f5d9a,_0x363951);return _0x2e014c?_0x145921(0x13c)+_0x2e014c:'open\x20new\x20tab';}case _0x145921(0x189):{const _0x350bfc=_0x393cba[_0x145921(0x141)](extractFirstCommandArgument,_0x5f5d9a,_0x363951);return _0x350bfc?_0x145921(0x151)+_0x350bfc:_0x145921(0x18a);}default:return _0x363951;}}function extractPlaywrightCliToolDescription(_0x4ca52d){const _0x3c981e=_0x45c0,_0x50c125={'OUqYJ':function(_0x418ebc,_0x15ac16){return _0x418ebc!==_0x15ac16;},'vrHUW':_0x3c981e(0x13e)},_0x494a29=_0x4ca52d['description'];if(_0x50c125['OUqYJ'](typeof _0x494a29,_0x50c125[_0x3c981e(0x142)]))return null;const _0x455de8=_0x494a29[_0x3c981e(0x190)]()[_0x3c981e(0x13a)](/\s+/g,'\x20');return _0x455de8[_0x3c981e(0x199)]>0x0?_0x455de8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x530256,_0x286b78,_0x28ba60){const _0x4de1d4=_0x45c0,_0x3179ae={'hvTdi':function(_0x5358bb,_0xddfed8,_0x291159){return _0x5358bb(_0xddfed8,_0x291159);},'BOBHJ':function(_0x4e1d23,_0x32323b){return _0x4e1d23(_0x32323b);}},_0x4eb5ec=_0x3179ae[_0x4de1d4(0x194)](formatPlaywrightCliLog,_0x286b78,_0x28ba60),_0x1e60cf=_0x3179ae['BOBHJ'](extractPlaywrightCliToolDescription,_0x530256);if(!_0x1e60cf)return _0x4de1d4(0x1b4)+_0x4eb5ec;if(process[_0x4de1d4(0x1c0)]['DEBUG'])return _0x4de1d4(0x17d)+_0x1e60cf+'\x20('+_0x4eb5ec+')';return'[ranger-verification-agent]\x20'+_0x1e60cf;}export function buildVerifyFeatureCliDebugPrompt(_0xd8d7b2,_0x4814e0){const _0x1869c0=_0x45c0,_0x3a9384={'UnGcx':function(_0x3e2b75,_0x29b636,_0x484308){return _0x3e2b75(_0x29b636,_0x484308);},'oznsN':'00_mozilla-homepage.yml','peBuo':_0x1869c0(0x1b1),'lPPvB':function(_0x35cf61,_0x144afc){return _0x35cf61(_0x144afc);}},_0x19dee9=_0x3a9384['UnGcx'](buildCliArtifactPath,_0x4814e0,_0x3a9384[_0x1869c0(0x134)]),_0x5bd217=buildCliArtifactPath(_0x4814e0,'01_mozilla-homepage.png'),_0x57ba6b=_0x3a9384[_0x1869c0(0x14e)](buildCliArtifactPath,_0x4814e0,_0x3a9384['peBuo']),_0x2dd142=buildCliArtifactPath(_0x4814e0,_0x1869c0(0x1a4)),_0xeabb87=quoteShellArg(_0x19dee9),_0xb7bb36=quoteShellArg(_0x5bd217),_0x2c1f52=_0x3a9384[_0x1869c0(0x155)](quoteShellArg,_0x57ba6b),_0x1e79e8=quoteShellArg(_0x2dd142);return _0x1869c0(0x174)+_0xd8d7b2+'\x0a\x0a1.\x20Run\x20`'+_0xd8d7b2+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0xd8d7b2+_0x1869c0(0x131)+_0xd8d7b2+_0x1869c0(0x1a3)+_0x4814e0+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0xd8d7b2+'\x20snapshot\x20--filename\x20'+_0xeabb87+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0xd8d7b2+_0x1869c0(0x152)+_0xb7bb36+_0x1869c0(0x1ac)+_0xd8d7b2+_0x1869c0(0x144)+_0x2c1f52+_0x1869c0(0x17c)+_0xd8d7b2+_0x1869c0(0x152)+_0x1e79e8+_0x1869c0(0x19b);}export function buildVerifyFeatureCliPrompt(_0x3e371d){const _0x4da270=_0x45c0,_0x408b00={'zcZYl':_0x4da270(0x160),'tMbPQ':_0x4da270(0x180),'mScDF':_0x4da270(0x137),'LZfIr':function(_0x51dbb1,_0xe9f5bc,_0x4e3c1e){return _0x51dbb1(_0xe9f5bc,_0x4e3c1e);},'NTqDN':'01_initial.yml','oQCtG':_0x4da270(0x1ae),'osBej':function(_0x2e7be1,_0x3f3a37,_0x4c73d2){return _0x2e7be1(_0x3f3a37,_0x4c73d2);},'RPMuS':_0x4da270(0x16d),'MizIk':'key_04_success-state.png'},{checklistItem:_0x1de427,itemFeedback:_0x356410,taskDescription:_0x3c496b,cliCommandPrefix:_0xe7bb70,cliArtifactDir:_0x424d7d,isCdpMode:_0x259afc,url:_0x1bb15c,cdpEndpoint:_0x3622d1,loginInstructions:_0x1a7c06}=_0x3e371d,_0x4b7fcf=_0x408b00['LZfIr'](buildCliArtifactPath,_0x424d7d,_0x408b00['NTqDN']),_0x3774c7=_0x408b00[_0x4da270(0x17b)](buildCliArtifactPath,_0x424d7d,_0x408b00[_0x4da270(0x1a0)]),_0x46b3a5=buildCliArtifactPath(_0x424d7d,'key_03_success-state.png'),_0x472fe4=_0x408b00[_0x4da270(0x17b)](buildCliArtifactPath,_0x424d7d,_0x4da270(0x186)),_0x30a95e=quoteShellArg(_0x4b7fcf),_0x9e3483=quoteShellArg(_0x3774c7),_0x454bc3=quoteShellArg(_0x46b3a5),_0x1aabfb=quoteShellArg(_0x472fe4),_0x12c355=_0x1de427['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1de427[_0x4da270(0x15b)]:'';let _0xaa4259='';if(_0x356410&&_0x356410['unaddressedComments']['length']>0x0){const _0x3870fa=_0x356410[_0x4da270(0x18e)]['map'](_0x5199b1=>{const _0x3c1e78=_0x4da270,_0x5b5398=new Date(_0x5199b1[_0x3c1e78(0x17e)])[_0x3c1e78(0x168)](_0x3c1e78(0x148),{'month':_0x3c1e78(0x182),'day':'numeric'}),_0x31104c=_0x5199b1[_0x3c1e78(0x13d)]||_0x5199b1[_0x3c1e78(0x197)]||_0x408b00['zcZYl'],_0x97d476=_0x5199b1['domRef']?_0x3c1e78(0x176)+(_0x5199b1['domRef']['selector']['split'](_0x408b00[_0x3c1e78(0x14d)])['pop']()?.[_0x3c1e78(0x13f)](':')[0x0]||_0x408b00['mScDF'])+'>\x20\x22'+(_0x5199b1['domRef']['textContent']||'')[_0x3c1e78(0x173)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5199b1['id']+']\x20**'+_0x31104c+_0x3c1e78(0x1c4)+_0x5b5398+'):\x20\x22'+_0x5199b1['content']+'\x22'+_0x97d476;})['join']('\x0a');_0xaa4259=_0x4da270(0x140)+_0x3870fa;}const _0x591c64=_0x356410?.[_0x4da270(0x1c3)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x356410['canonicalFlow']:'',_0x208b9c=_0x259afc?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x3622d1+_0x4da270(0x19a):_0x4da270(0x15f)+_0x1bb15c+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification',_0x31c5a6=_0x1bb15c?quoteShellArg(_0x1bb15c):'',_0x26f9cd=_0x259afc?_0x4da270(0x16c)+_0xe7bb70+'\x20open`,\x20then\x20`'+_0xe7bb70+_0x4da270(0x158)+_0xe7bb70+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x424d7d+_0x4da270(0x139)+_0xe7bb70+'\x20snapshot\x20--filename\x20'+_0x30a95e+_0x4da270(0x162)+_0xe7bb70+_0x4da270(0x152)+_0x1aabfb+_0x4da270(0x19c)+_0xe7bb70+_0x4da270(0x1ab):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xe7bb70+'\x20open\x20'+_0x31c5a6+_0x4da270(0x1c5)+_0xe7bb70+'\x20tracing-start`,\x20then\x20`'+_0xe7bb70+_0x4da270(0x1b2)+_0x424d7d+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0xe7bb70+_0x4da270(0x144)+_0x30a95e+'`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`'+_0xe7bb70+'\x20screenshot\x20--filename\x20'+_0x1aabfb+_0x4da270(0x167)+_0xe7bb70+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x3ae165=_0x259afc?_0x4da270(0x15d):_0x4da270(0x16e),_0x260742=_0x1a7c06?_0x4da270(0x184)+_0x1a7c06+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x1de427[_0x4da270(0x178)]+_0x12c355+_0xaa4259+_0x591c64+_0x4da270(0x16b)+_0x3c496b+'\x0a\x0a'+_0x208b9c+_0x260742+'\x0a\x0a'+_0x26f9cd+_0x4da270(0x193)+_0xe7bb70+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x424d7d+_0x4da270(0x1a2)+_0x9e3483+_0x4da270(0x1a7)+_0x454bc3+_0x4da270(0x153)+_0x424d7d+_0x4da270(0x192)+_0x472fe4+'\x22,\x20\x22'+_0x408b00[_0x4da270(0x191)](buildCliArtifactPath,_0x424d7d,_0x4da270(0x1c6))+'\x22,\x20\x22'+buildCliArtifactPath(_0x424d7d,_0x408b00[_0x4da270(0x1a9)])+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+_0x408b00[_0x4da270(0x17b)](buildCliArtifactPath,_0x424d7d,_0x408b00[_0x4da270(0x149)])+'\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a'+_0x3ae165+_0x4da270(0x1b7);}export function summarizeVerifyFeatureCliCommandAvailability(_0x323664){const _0x40bfec=_0x45c0,_0x730145=[..._0x323664[_0x40bfec(0x1c1)]()]['sort']();let _0x5c2c17=0x0;for(const _0x3603d3 of _0x323664['values']()){_0x5c2c17+=_0x3603d3;}return{'cliCommandCount':_0x5c2c17,'cliCommandsSeen':_0x730145,'noCliCommandsCalled':_0x5c2c17===0x0};}export function createVerifyFeatureCliHooks(_0x5cbd4a){const _0x18e430=_0x45c0,_0xf875c={'Ddsra':function(_0x295c9f,_0x32239e){return _0x295c9f!==_0x32239e;},'iTtas':_0x18e430(0x169),'Abjbh':function(_0xe82769,_0x1e4e35){return _0xe82769+_0x1e4e35;},'zNkql':_0x18e430(0x1c2),'qlwZv':function(_0x5cba6e,_0x4bf688){return _0x5cba6e(_0x4bf688);},'garLY':function(_0x5da9b8,_0x5661a4){return _0x5da9b8!==_0x5661a4;},'FwoSJ':_0x18e430(0x181),'HzPzs':_0x18e430(0x1c7),'tDWLf':'Bash'},_0x4ed73e=new Map(),_0x4414c3=async _0x589c2c=>{const _0x50a324=_0x18e430;if(_0xf875c['Ddsra'](_0x589c2c[_0x50a324(0x163)],_0xf875c[_0x50a324(0x1be)]))return{};const _0x11feaf=_0x589c2c;if(_0xf875c[_0x50a324(0x185)](_0x11feaf[_0x50a324(0x159)],_0x50a324(0x18c)))return{};const _0x583419=_0x11feaf[_0x50a324(0x1a6)],_0x4e04c0=extractBashCommand(_0x583419);if(!_0x4e04c0)return{};const _0x550541=parsePlaywrightCliCommand(_0x4e04c0);if(!_0x550541)return{};return _0x4ed73e['set'](_0x550541,_0xf875c[_0x50a324(0x18b)](_0x4ed73e['get'](_0x550541)||0x0,0x1)),_0x5cbd4a['trackPhaseStart'](_0xf875c['zNkql'],{'transport':'playwright-cli','toolName':_0x550541}),_0x5cbd4a['trackPhaseEnd'](_0xf875c[_0x50a324(0x1bf)],{'transport':_0x50a324(0x171),'toolName':_0x550541,'bashCommandPreview':_0xf875c[_0x50a324(0x150)](truncatePreview,_0x4e04c0)}),_0xf875c[_0x50a324(0x1ad)](_0x550541,_0xf875c['FwoSJ'])&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x583419,_0x4e04c0,_0x550541)),{};},_0x7f27b0=async _0x312937=>{const _0x16ec32=_0x18e430;if(_0xf875c['Ddsra'](_0x312937[_0x16ec32(0x163)],_0xf875c['HzPzs']))return{};const _0x38277a=_0x312937;if(_0x38277a[_0x16ec32(0x159)]!=='Bash')return{};return await _0x5cbd4a[_0x16ec32(0x156)]('tool_failure',_0x38277a[_0x16ec32(0x188)],{'transport':_0x16ec32(0x171),'toolName':_0xf875c[_0x16ec32(0x14b)]}),{};};return{'postToolUseHook':_0x4414c3,'postToolUseFailureHook':_0x7f27b0,'commandCounts':_0x4ed73e};}async function runPlaywrightCliLifecycleCommand(_0x507643){const _0xcd6118=_0x45c0,{sessionId:_0x327d47,configPath:_0x35b1fd,commandArgs:_0x5dc001,env:_0x775a21,telemetry:_0x360f3,phase:_0x2a02c5,metadata:_0x6c4909,timeoutMs:_0x35fa61}=_0x507643;_0x360f3['trackPhaseStart'](_0x2a02c5,_0x6c4909);try{const _0x1f1787=await runPlaywrightCliCommand({'sessionId':_0x327d47,'configPath':_0x35b1fd,'commandArgs':_0x5dc001,'cwd':process[_0xcd6118(0x1b8)](),'env':_0x775a21,'timeoutMs':_0x35fa61??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x360f3[_0xcd6118(0x146)](_0x2a02c5,{..._0x6c4909,'subcommand':_0x1f1787['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x1f1787[_0xcd6118(0x17f)],0x7d0),'stderrPreview':truncatePreview(_0x1f1787['stderr'],0x7d0)});}catch(_0x3f2e09){await _0x360f3['trackPhaseError'](_0x2a02c5,_0x3f2e09,_0x6c4909);throw _0x3f2e09;}}export async function finalizeVerifyFeatureCliSession(_0x472eca){const _0x142ddb=_0x45c0,_0x5ab600={'CSSvc':_0x142ddb(0x135),'LhAyD':'session-recording.webm','cKiTB':_0x142ddb(0x195)},{telemetry:_0x57e3f6,sessionId:_0x54f1ef,configPath:_0x3fbe7d,cliArtifactDir:_0x226441,env:_0x10bd3c,transportMetadata:_0x5a8f5b}=_0x472eca,_0x17a893=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x5ab600['CSSvc'],'commandArgs':['video-stop','--filename='+buildCliArtifactPath(_0x226441,_0x5ab600[_0x142ddb(0x157)])]},{'phase':_0x142ddb(0x138),'commandArgs':[_0x5ab600[_0x142ddb(0x198)]]}];for(const _0x5aac76 of _0x17a893){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x54f1ef,'configPath':_0x3fbe7d,'commandArgs':[..._0x5aac76[_0x142ddb(0x164)]],'env':_0x10bd3c,'telemetry':_0x57e3f6,'phase':_0x5aac76['phase'],'metadata':_0x5a8f5b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x33bf14){const _0x41aba5=_0x45c0,_0x37884a={'ptivI':_0x41aba5(0x1a5),'YgqZf':_0x41aba5(0x133),'bMOrW':function(_0x438311,_0x40ec7d){return _0x438311(_0x40ec7d);}},_0xc10054=[_0x37884a[_0x41aba5(0x19e)],_0x37884a[_0x41aba5(0x1bc)]];for(const _0x27f11 of _0xc10054){const _0x2eefaf=join(_0x33bf14,_0x27f11);try{return{'buffer':await _0x37884a[_0x41aba5(0x183)](readFile,_0x2eefaf),'source':_0x2eefaf};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x55644c){const _0x46a5c5=_0x45c0,_0x33d1d8={'lmIpL':function(_0x10be10,_0x173614,_0x431779){return _0x10be10(_0x173614,_0x431779);},'iDLtD':function(_0x16e9af,_0x361651){return _0x16e9af===_0x361651;}},{cwd:_0x4de95b,cliArtifactDir:_0x366d06,startTime:_0x4dc262}=_0x55644c,_0x3c5b72=[];await _0x33d1d8[_0x46a5c5(0x1b5)](mkdir,_0x366d06,{'recursive':!![]});const _0x2234c7=await readdir(_0x4de95b,{'withFileTypes':!![]});for(const _0x2495dc of _0x2234c7){if(!_0x2495dc['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x46a5c5(0x1a1)](_0x2495dc[_0x46a5c5(0x13b)]))continue;const _0x508460=join(_0x4de95b,_0x2495dc[_0x46a5c5(0x13b)]),_0x166401=await stat(_0x508460);if(_0x166401['mtimeMs']+0x7d0<_0x4dc262)continue;const _0x82d6cf=buildCliArtifactPath(_0x366d06,_0x2495dc[_0x46a5c5(0x13b)]);if(_0x33d1d8['iDLtD'](_0x508460,_0x82d6cf))continue;await rename(_0x508460,_0x82d6cf),_0x3c5b72[_0x46a5c5(0x19f)](_0x2495dc[_0x46a5c5(0x13b)]);}return _0x3c5b72[_0x46a5c5(0x196)]();}
1
+ (function(_0x2a7d7f,_0x5e32e9){const _0x113e3a=_0x623a,_0x4c362a=_0x2a7d7f();while(!![]){try{const _0x453126=-parseInt(_0x113e3a(0x190))/0x1*(parseInt(_0x113e3a(0x1d8))/0x2)+-parseInt(_0x113e3a(0x1cb))/0x3+parseInt(_0x113e3a(0x204))/0x4+parseInt(_0x113e3a(0x197))/0x5+-parseInt(_0x113e3a(0x1b1))/0x6+parseInt(_0x113e3a(0x202))/0x7+-parseInt(_0x113e3a(0x203))/0x8*(parseInt(_0x113e3a(0x1e1))/0x9);if(_0x453126===_0x5e32e9)break;else _0x4c362a['push'](_0x4c362a['shift']());}catch(_0x461ed6){_0x4c362a['push'](_0x4c362a['shift']());}}}(_0x7411,0x937f8));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';function _0x623a(_0x28fdea,_0x18d2fd){_0x28fdea=_0x28fdea-0x18b;const _0x74115b=_0x7411();let _0x623afa=_0x74115b[_0x28fdea];return _0x623afa;}import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x42af6e,_0x2c8c3c=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1cbd75=_0x623a,_0x426d7d={'wTzVD':function(_0x3228e4,_0x40610d){return _0x3228e4+_0x40610d;}};return _0x42af6e[_0x1cbd75(0x1ec)]>_0x2c8c3c?_0x426d7d['wTzVD'](_0x42af6e['slice'](0x0,_0x2c8c3c),_0x1cbd75(0x1a5)):_0x42af6e;}function buildCliArtifactPath(_0x390d3d,_0xb5fd0f){return join(_0x390d3d,_0xb5fd0f);}function toStepDisplayName(_0x2a5f24){const _0x1ce147=basename(_0x2a5f24)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1ce147,'isKeyStep':/^key_/i['test'](basename(_0x2a5f24))};}function extractShellValue(_0x28dbbd){if(!_0x28dbbd)return null;return _0x28dbbd[0x1]??_0x28dbbd[0x2]??_0x28dbbd[0x3]??null;}function extractFilenameOption(_0x26029e){return extractShellValue(_0x26029e['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5a644a,_0x2be33c){const _0x13f72b=_0x623a,_0x823438=_0x2be33c['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x5a644a['match'](new RegExp(_0x13f72b(0x1bd)+_0x823438+_0x13f72b(0x1b4))));}function formatCommandTarget(_0x15776d){const _0x110088=_0x623a;if(!_0x15776d)return _0x110088(0x1d0);if(/^e\d+$/i['test'](_0x15776d))return'ref\x20'+_0x15776d;return JSON['stringify'](truncatePreview(_0x15776d,0x78));}function formatPlaywrightCliLog(_0x435591,_0x4403b2){const _0x5040a6=_0x623a,_0x3d145b={'ZViFV':_0x5040a6(0x214),'GhHZv':function(_0x535207,_0x5e4f4e,_0x5cbca6){return _0x535207(_0x5e4f4e,_0x5cbca6);},'kIFBl':_0x5040a6(0x200),'ihnnv':_0x5040a6(0x1f9),'UVwLZ':function(_0x201a8e,_0x1d40a3){return _0x201a8e(_0x1d40a3);},'YaPjS':'capture\x20snapshot','wTaTR':_0x5040a6(0x1f0),'pesZS':function(_0x3ac829,_0x86f6dd){return _0x3ac829(_0x86f6dd);},'PhZcq':'check','MhLRZ':_0x5040a6(0x1fb),'LKvSr':_0x5040a6(0x1ee),'keaLk':_0x5040a6(0x19a),'XXnRc':function(_0x26cf36,_0xccdec6,_0x42a7a1){return _0x26cf36(_0xccdec6,_0x42a7a1);},'NjuBR':'open\x20new\x20tab','QOWFN':_0x5040a6(0x1e8),'BhQIv':_0x5040a6(0x1b7)};switch(_0x4403b2){case _0x3d145b[_0x5040a6(0x1e3)]:{const _0x1857db=_0x3d145b['GhHZv'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x1857db?'open\x20'+_0x1857db:_0x5040a6(0x1e7);}case'tracing-start':return _0x3d145b[_0x5040a6(0x201)];case'tracing-stop':return'stop\x20tracing';case'video-start':return'start\x20video\x20recording';case _0x5040a6(0x1ab):return'stop\x20video\x20recording';case _0x3d145b[_0x5040a6(0x1c2)]:{const _0x350bd0=_0x3d145b['UVwLZ'](extractFilenameOption,_0x435591);if(!_0x350bd0)return _0x3d145b[_0x5040a6(0x1d5)];const {name:_0x225b90}=_0x3d145b[_0x5040a6(0x1c9)](toStepDisplayName,_0x350bd0);return'capture\x20snapshot\x20`'+_0x225b90+'`';}case _0x5040a6(0x19f):{const _0x60f7d8=extractFilenameOption(_0x435591);if(!_0x60f7d8)return _0x3d145b['wTaTR'];const {name:_0x3d63cd,isKeyStep:_0xa9b27b}=toStepDisplayName(_0x60f7d8);return _0xa9b27b?'capture\x20key\x20step\x20`'+_0x3d63cd+'`':_0x5040a6(0x20c)+_0x3d63cd+'`';}case _0x5040a6(0x1d4):return'click\x20'+_0x3d145b[_0x5040a6(0x1c6)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x208)]:return _0x5040a6(0x1f5)+_0x3d145b[_0x5040a6(0x1c9)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x5040a6(0x1d7):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b['MhLRZ']:return _0x5040a6(0x209)+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x1c3)]:return'run\x20custom\x20Playwright\x20code';case _0x3d145b[_0x5040a6(0x1f1)]:{const _0x491a3f=_0x3d145b['XXnRc'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x491a3f?_0x5040a6(0x1c4)+_0x491a3f:_0x3d145b['NjuBR'];}case _0x3d145b[_0x5040a6(0x19e)]:{const _0x2d7ede=extractFirstCommandArgument(_0x435591,_0x4403b2);return _0x2d7ede?'select\x20tab\x20'+_0x2d7ede:_0x3d145b[_0x5040a6(0x20e)];}default:return _0x4403b2;}}function extractPlaywrightCliToolDescription(_0x19ce5d){const _0x62b18=_0x623a,_0x3e4131={'czCPH':'string'},_0x59e1cb=_0x19ce5d['description'];if(typeof _0x59e1cb!==_0x3e4131['czCPH'])return null;const _0x17a7e8=_0x59e1cb['trim']()[_0x62b18(0x1ad)](/\s+/g,'\x20');return _0x17a7e8['length']>0x0?_0x17a7e8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4905ec,_0x964cc,_0x304585){const _0x3e7afd=_0x623a,_0x5f378f={'fdtPC':function(_0xe8c1e9,_0x570751,_0x415311){return _0xe8c1e9(_0x570751,_0x415311);}},_0x5be3f8=_0x5f378f[_0x3e7afd(0x20d)](formatPlaywrightCliLog,_0x964cc,_0x304585),_0x5a3557=extractPlaywrightCliToolDescription(_0x4905ec);if(!_0x5a3557)return _0x3e7afd(0x1b0)+_0x5be3f8;if(process[_0x3e7afd(0x1fa)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x5a3557+'\x20('+_0x5be3f8+')';return'[ranger-verification-agent]\x20'+_0x5a3557;}export function buildVerifyFeatureCliDebugPrompt(_0x48c853,_0x3d423a){const _0x261153=_0x623a,_0x200db3={'dPpBQ':function(_0x36788b,_0x323792,_0x124607){return _0x36788b(_0x323792,_0x124607);},'LjEZX':_0x261153(0x1c5),'jmPCR':function(_0x204a0c,_0x5890dc,_0x20f832){return _0x204a0c(_0x5890dc,_0x20f832);},'MOiEb':function(_0x52bb85,_0x191c20,_0xc6a535){return _0x52bb85(_0x191c20,_0xc6a535);},'PVaQo':function(_0x281bc9,_0x29abdf){return _0x281bc9(_0x29abdf);}},_0xa8b3ec=_0x200db3[_0x261153(0x1df)](buildCliArtifactPath,_0x3d423a,_0x200db3[_0x261153(0x1ed)]),_0x430ebc=buildCliArtifactPath(_0x3d423a,'01_mozilla-homepage.png'),_0x2aab05=_0x200db3[_0x261153(0x1b2)](buildCliArtifactPath,_0x3d423a,'02_learn-more.yml'),_0x18ea44=_0x200db3['MOiEb'](buildCliArtifactPath,_0x3d423a,'03_learn-more.png'),_0x3a7bae=quoteShellArg(_0xa8b3ec),_0x58af3d=quoteShellArg(_0x430ebc),_0x5c7001=_0x200db3['PVaQo'](quoteShellArg,_0x2aab05),_0x34e787=quoteShellArg(_0x18ea44);return _0x261153(0x1de)+_0x48c853+_0x261153(0x1cd)+_0x48c853+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x48c853+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x48c853+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3d423a+_0x261153(0x1f7)+_0x48c853+_0x261153(0x18d)+_0x3a7bae+_0x261153(0x194)+_0x48c853+_0x261153(0x1ef)+_0x58af3d+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x48c853+_0x261153(0x18d)+_0x5c7001+_0x261153(0x205)+_0x48c853+_0x261153(0x1ef)+_0x34e787+_0x261153(0x1a4);}export function buildVerifyFeatureCliPrompt(_0x11989b){const _0x630983=_0x623a,_0x4479d6={'AcgvV':'numeric','fhRYd':'Reviewer','EKsAh':_0x630983(0x1e2),'etVkb':_0x630983(0x1e5),'blPxZ':function(_0x49304e,_0x1e0f40,_0x17cf81){return _0x49304e(_0x1e0f40,_0x17cf81);},'JugLu':'02_state.yml','jhiZr':function(_0x3638c3,_0x4bb073){return _0x3638c3(_0x4bb073);},'Ecfra':function(_0x5a32e2,_0x37dc96){return _0x5a32e2(_0x37dc96);},'MQZcf':function(_0x51161a,_0x41f3e3){return _0x51161a>_0x41f3e3;},'DasUp':function(_0x19fc15,_0x352259,_0x25443d){return _0x19fc15(_0x352259,_0x25443d);},'XprJV':_0x630983(0x1dd),'qqnHM':function(_0x3d2803,_0x505025,_0x25cc6e){return _0x3d2803(_0x505025,_0x25cc6e);}},{checklistItem:_0x2f8eb5,itemFeedback:_0x23c9a8,taskDescription:_0x17eb57,cliCommandPrefix:_0x352712,cliArtifactDir:_0x21fcc6,isCdpMode:_0x98359,url:_0x450b11,cdpEndpoint:_0x465d4f,loginInstructions:_0xd6676}=_0x11989b,_0x342bf6=buildCliArtifactPath(_0x21fcc6,'01_initial.yml'),_0xa48f3f=_0x4479d6['blPxZ'](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x1ba)]),_0x162408=buildCliArtifactPath(_0x21fcc6,'key_03_success-state.png'),_0x8ab09d=_0x4479d6[_0x630983(0x19d)](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1f8)),_0x597101=_0x4479d6['jhiZr'](quoteShellArg,_0x342bf6),_0x5a2391=_0x4479d6[_0x630983(0x199)](quoteShellArg,_0xa48f3f),_0x1184b5=quoteShellArg(_0x162408),_0x53c8ab=_0x4479d6['Ecfra'](quoteShellArg,_0x8ab09d),_0x135646=_0x2f8eb5[_0x630983(0x1d9)]?_0x630983(0x1aa)+_0x2f8eb5[_0x630983(0x1d9)]:'';let _0x7770c6='';if(_0x23c9a8&&_0x4479d6['MQZcf'](_0x23c9a8['unaddressedComments']['length'],0x0)){const _0x591f9c=_0x23c9a8[_0x630983(0x1a7)][_0x630983(0x18f)](_0x1fb112=>{const _0x2e95b0=_0x630983,_0x501e0c=new Date(_0x1fb112[_0x2e95b0(0x1bb)])['toLocaleDateString']('en-US',{'month':'short','day':_0x4479d6['AcgvV']}),_0x1be17a=_0x1fb112['authorName']||_0x1fb112['authorEmail']||_0x4479d6['fhRYd'],_0xcfe17c=_0x1fb112[_0x2e95b0(0x1eb)]?_0x2e95b0(0x1f6)+(_0x1fb112['domRef']['selector']['split'](_0x4479d6['EKsAh'])[_0x2e95b0(0x20f)]()?.[_0x2e95b0(0x1d3)](':')[0x0]||_0x4479d6['etVkb'])+_0x2e95b0(0x1e6)+(_0x1fb112['domRef']['textContent']||'')[_0x2e95b0(0x1da)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1fb112['id']+']\x20**'+_0x1be17a+_0x2e95b0(0x1af)+_0x501e0c+_0x2e95b0(0x20b)+_0x1fb112[_0x2e95b0(0x1ea)]+'\x22'+_0xcfe17c;})['join']('\x0a');_0x7770c6=_0x630983(0x1b8)+_0x591f9c;}const _0x2e0e40=_0x23c9a8?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x23c9a8[_0x630983(0x1d6)]:'',_0x5512ea=_0x98359?_0x630983(0x1cf)+_0x465d4f+_0x630983(0x193):_0x630983(0x1bf)+_0x450b11+_0x630983(0x1bc),_0x23a28c=_0x450b11?_0x4479d6['jhiZr'](quoteShellArg,_0x450b11):'',_0x35ad23=_0x98359?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+_0x630983(0x1fe)+_0x352712+'\x20tracing-start`,\x20then\x20`'+_0x352712+_0x630983(0x1dc)+_0x21fcc6+_0x630983(0x1f2)+_0x352712+_0x630983(0x18d)+_0x597101+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0x352712+_0x630983(0x1ef)+_0x53c8ab+_0x630983(0x1f4)+_0x352712+_0x630983(0x1be):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+'\x20open\x20'+_0x23a28c+'`,\x20then\x20`'+_0x352712+_0x630983(0x211)+_0x352712+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x21fcc6+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x352712+'\x20snapshot\x20--filename\x20'+_0x597101+'`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`'+_0x352712+'\x20screenshot\x20--filename\x20'+_0x53c8ab+_0x630983(0x1a1)+_0x352712+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x2adb53=_0x98359?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x10110=_0xd6676?_0x630983(0x207)+_0xd6676+_0x630983(0x1a6):'';return _0x630983(0x195)+_0x2f8eb5['description']+_0x135646+_0x7770c6+_0x2e0e40+_0x630983(0x210)+_0x17eb57+'\x0a\x0a'+_0x5512ea+_0x10110+'\x0a\x0a'+_0x35ad23+_0x630983(0x20a)+_0x352712+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x21fcc6+_0x630983(0x1fc)+_0x5a2391+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x1184b5+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x21fcc6+_0x630983(0x1a3)+_0x8ab09d+'\x22,\x20\x22'+_0x4479d6[_0x630983(0x1a9)](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x18e)])+'\x22,\x20\x22'+_0x4479d6['qqnHM'](buildCliArtifactPath,_0x21fcc6,'03_result-visible.png')+_0x630983(0x1ca)+_0x4479d6['DasUp'](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1b3))+_0x630983(0x198)+_0x2adb53+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x573b0e){const _0x4e6cb2=_0x623a,_0x4ad67c={'irljC':function(_0x72bea4,_0x3414c5){return _0x72bea4===_0x3414c5;}},_0x247a19=[..._0x573b0e['keys']()]['sort']();let _0x591005=0x0;for(const _0x3eb78d of _0x573b0e[_0x4e6cb2(0x1d2)]()){_0x591005+=_0x3eb78d;}return{'cliCommandCount':_0x591005,'cliCommandsSeen':_0x247a19,'noCliCommandsCalled':_0x4ad67c[_0x4e6cb2(0x1e9)](_0x591005,0x0)};}export function createVerifyFeatureCliHooks(_0x55e384){const _0x4478cb=_0x623a,_0x10d9ee={'YwtPd':function(_0x315cdf,_0x5bee7){return _0x315cdf!==_0x5bee7;},'iVisG':_0x4478cb(0x215),'KOfIt':function(_0x9efb13,_0x30ba76){return _0x9efb13!==_0x30ba76;},'pJWeC':function(_0x148145,_0x43041d){return _0x148145(_0x43041d);},'XrRtt':function(_0x5b99c9,_0x47bee8){return _0x5b99c9+_0x47bee8;},'SSMXk':_0x4478cb(0x1d1),'wKPHG':'playwright-cli','LYiDT':function(_0x4148b6,_0x486adf,_0x268147,_0xd8b5da){return _0x4148b6(_0x486adf,_0x268147,_0xd8b5da);},'lZBwj':function(_0x4a8af1,_0xd9ca34){return _0x4a8af1!==_0xd9ca34;},'RtckG':'PostToolUseFailure'},_0x2aed29=new Map(),_0x5cb701=async _0x12d1de=>{const _0x48324e=_0x4478cb;if(_0x10d9ee[_0x48324e(0x206)](_0x12d1de['hook_event_name'],_0x10d9ee[_0x48324e(0x1c7)]))return{};const _0x473a07=_0x12d1de;if(_0x10d9ee[_0x48324e(0x1a2)](_0x473a07['tool_name'],'Bash'))return{};const _0x3bd5b1=_0x473a07['tool_input'],_0x1e997b=extractBashCommand(_0x3bd5b1);if(!_0x1e997b)return{};const _0x27c328=_0x10d9ee[_0x48324e(0x1db)](parsePlaywrightCliCommand,_0x1e997b);if(!_0x27c328)return{};return _0x2aed29['set'](_0x27c328,_0x10d9ee['XrRtt'](_0x2aed29[_0x48324e(0x1ae)](_0x27c328)||0x0,0x1)),_0x55e384[_0x48324e(0x1b9)](_0x10d9ee['SSMXk'],{'transport':'playwright-cli','toolName':_0x27c328}),_0x55e384['trackPhaseEnd'](_0x10d9ee['SSMXk'],{'transport':_0x10d9ee[_0x48324e(0x1b5)],'toolName':_0x27c328,'bashCommandPreview':truncatePreview(_0x1e997b)}),_0x10d9ee[_0x48324e(0x1a2)](_0x27c328,'snapshot')&&console[_0x48324e(0x196)](_0x10d9ee[_0x48324e(0x1b6)](formatPlaywrightCliConsoleLogMessage,_0x3bd5b1,_0x1e997b,_0x27c328)),{};},_0x4e4f7a=async _0x435b35=>{const _0x3c24e9=_0x4478cb;if(_0x10d9ee[_0x3c24e9(0x1c8)](_0x435b35['hook_event_name'],_0x10d9ee['RtckG']))return{};const _0x4c5703=_0x435b35;if(_0x4c5703[_0x3c24e9(0x1a0)]!==_0x3c24e9(0x1ff))return{};return await _0x55e384[_0x3c24e9(0x1cc)]('tool_failure',_0x4c5703[_0x3c24e9(0x18c)],{'transport':_0x10d9ee[_0x3c24e9(0x1b5)],'toolName':_0x3c24e9(0x1ff)}),{};};return{'postToolUseHook':_0x5cb701,'postToolUseFailureHook':_0x4e4f7a,'commandCounts':_0x2aed29};}function _0x7411(){const _0x23e28b=['notes','slice','pJWeC','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','02_button-clicked.png','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','dPpBQ','trackPhaseEnd','5411853omFApr','\x20>\x20','ZViFV','session-recording.webm','element','>\x20\x22','open\x20browser','tab-select','irljC','content','domRef','length','LjEZX','run-code','\x20screenshot\x20--filename\x20','capture\x20screenshot','keaLk','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','push','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','check\x20','\x20(on\x20element:\x20<','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','01_initial-state.png','snapshot','env','press','`\x0a-\x20`snapshot\x20--filename\x20','sort','\x20open`,\x20then\x20`','Bash','start\x20tracing','kIFBl','5409026wubnLE','8nnTrgE','3131628OVQUWp','`\x0a9.\x20Run\x20`','YwtPd','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','PhZcq','press\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','):\x20\x22','capture\x20step\x20`','fdtPC','BhQIv','pop','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x20tracing-start`,\x20then\x20`','trace.trace.zip','playwright_cli_tracing_stop','open','PostToolUse','commandArgs','error','\x20snapshot\x20--filename\x20','XprJV','map','1GAGvOV','LtpWL','isFile','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','log','5339705PcRuzh','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','jhiZr','tab-new','rAhvx','name','blPxZ','QOWFN','screenshot','tool_name','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','KOfIt','`:\x20\x22','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','...','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','unaddressedComments','trace.zip','DasUp','\x0a\x0a##\x20Additional\x20Notes\x0a','video-stop','CXwLu','replace','get','**\x20(','[playwright-cli]\x20','4616232pnflLk','jmPCR','key_04_success-state.png','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','wKPHG','LYiDT','select\x20tab','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','trackPhaseStart','JugLu','createdAt','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','(?:^|\x5cs)','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','cwd','subcommand','ihnnv','LKvSr','open\x20new\x20tab\x20','00_mozilla-homepage.yml','pesZS','iVisG','lZBwj','UVwLZ','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22','986526QvxeDN','trackPhaseError','\x0a\x0a1.\x20Run\x20`','invocation','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','target','tool_call','values','split','click','YaPjS','canonicalFlow','fill','639766tZPXSf'];_0x7411=function(){return _0x23e28b;};return _0x7411();}async function runPlaywrightCliLifecycleCommand(_0x3f058b){const _0x5c3ba9=_0x623a,_0x378de0={'HARfK':function(_0x22b6d9,_0xe3713f){return _0x22b6d9(_0xe3713f);},'LaumD':function(_0x2c8770,_0x3e4ceb){return _0x2c8770??_0x3e4ceb;},'Jnpvx':function(_0x24ad97,_0x44e8d6,_0x4949ce){return _0x24ad97(_0x44e8d6,_0x4949ce);}},{sessionId:_0x31ba8b,configPath:_0x3ef113,commandArgs:_0x549a03,env:_0x5073c7,telemetry:_0x26551e,phase:_0x192a43,metadata:_0x2b6480,timeoutMs:_0x5d235c}=_0x3f058b;_0x26551e['trackPhaseStart'](_0x192a43,_0x2b6480);try{const _0x3ec8ac=await _0x378de0['HARfK'](runPlaywrightCliCommand,{'sessionId':_0x31ba8b,'configPath':_0x3ef113,'commandArgs':_0x549a03,'cwd':process[_0x5c3ba9(0x1c0)](),'env':_0x5073c7,'timeoutMs':_0x378de0['LaumD'](_0x5d235c,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x26551e[_0x5c3ba9(0x1e0)](_0x192a43,{..._0x2b6480,'subcommand':_0x3ec8ac[_0x5c3ba9(0x1ce)][_0x5c3ba9(0x1c1)],'stdoutPreview':_0x378de0['Jnpvx'](truncatePreview,_0x3ec8ac['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x3ec8ac['stderr'],0x7d0)});}catch(_0x46a92d){await _0x26551e[_0x5c3ba9(0x1cc)](_0x192a43,_0x46a92d,_0x2b6480);throw _0x46a92d;}}export async function finalizeVerifyFeatureCliSession(_0x256d09){const _0x2b7eda=_0x623a,_0x47e686={'CXwLu':_0x2b7eda(0x213),'LtpWL':'video-stop','yzdCU':'playwright_cli_close','GIFUq':'close'},{telemetry:_0x4a616e,sessionId:_0x5dead7,configPath:_0x5e233e,cliArtifactDir:_0x578850,env:_0x2c2742,transportMetadata:_0x4de42b}=_0x256d09,_0x41835f=[{'phase':_0x47e686[_0x2b7eda(0x1ac)],'commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':[_0x47e686[_0x2b7eda(0x191)],'--filename='+buildCliArtifactPath(_0x578850,_0x2b7eda(0x1e4))]},{'phase':_0x47e686['yzdCU'],'commandArgs':[_0x47e686['GIFUq']]}];for(const _0x217ca0 of _0x41835f){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x5dead7,'configPath':_0x5e233e,'commandArgs':[..._0x217ca0[_0x2b7eda(0x18b)]],'env':_0x2c2742,'telemetry':_0x4a616e,'phase':_0x217ca0['phase'],'metadata':_0x4de42b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x59fa15){const _0x42ecfe=_0x623a,_0x4ec48e={'xxVnP':_0x42ecfe(0x1a8),'IBhSy':function(_0x36051e,_0x5b9e8f,_0x3bd7fa){return _0x36051e(_0x5b9e8f,_0x3bd7fa);},'INDwg':function(_0x4fbe92,_0x481665){return _0x4fbe92(_0x481665);}},_0x43cd50=[_0x4ec48e['xxVnP'],_0x42ecfe(0x212)];for(const _0x44c1cb of _0x43cd50){const _0x4a3d61=_0x4ec48e['IBhSy'](join,_0x59fa15,_0x44c1cb);try{return{'buffer':await _0x4ec48e['INDwg'](readFile,_0x4a3d61),'source':_0x4a3d61};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x4c9981){const _0x21fb5e=_0x623a,_0x96f456={'fmNrd':function(_0x21245f,_0xdef52e,_0x5c7cd9){return _0x21245f(_0xdef52e,_0x5c7cd9);},'WtEOc':function(_0x579063,_0x54336f){return _0x579063(_0x54336f);},'rAhvx':function(_0x359ee6,_0x4b2c79){return _0x359ee6<_0x4b2c79;},'zAtzX':function(_0x3e70ec,_0xe2dc9){return _0x3e70ec+_0xe2dc9;},'RirIz':function(_0x533977,_0x29d45d){return _0x533977===_0x29d45d;}},{cwd:_0x6ebf49,cliArtifactDir:_0x3dcb3d,startTime:_0x541a3b}=_0x4c9981,_0x5e7b18=[];await _0x96f456['fmNrd'](mkdir,_0x3dcb3d,{'recursive':!![]});const _0x31bb9c=await readdir(_0x6ebf49,{'withFileTypes':!![]});for(const _0x3c7dcd of _0x31bb9c){if(!_0x3c7dcd[_0x21fb5e(0x192)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x3c7dcd['name']))continue;const _0x2e84d8=join(_0x6ebf49,_0x3c7dcd['name']),_0xb2fd53=await _0x96f456['WtEOc'](stat,_0x2e84d8);if(_0x96f456[_0x21fb5e(0x19b)](_0x96f456['zAtzX'](_0xb2fd53['mtimeMs'],0x7d0),_0x541a3b))continue;const _0x57c029=buildCliArtifactPath(_0x3dcb3d,_0x3c7dcd['name']);if(_0x96f456['RirIz'](_0x2e84d8,_0x57c029))continue;await rename(_0x2e84d8,_0x57c029),_0x5e7b18[_0x21fb5e(0x1f3)](_0x3c7dcd[_0x21fb5e(0x19c)]);}return _0x5e7b18[_0x21fb5e(0x1fd)]();}
@@ -1 +1 @@
1
- const _0x2ddea3=_0x31f3;(function(_0x29e3f4,_0x4b65a2){const _0x19b2bc=_0x31f3,_0x3d89f8=_0x29e3f4();while(!![]){try{const _0x3c237c=parseInt(_0x19b2bc(0xe1))/0x1*(parseInt(_0x19b2bc(0x16b))/0x2)+parseInt(_0x19b2bc(0x128))/0x3*(parseInt(_0x19b2bc(0xbf))/0x4)+parseInt(_0x19b2bc(0xa4))/0x5*(-parseInt(_0x19b2bc(0x10e))/0x6)+-parseInt(_0x19b2bc(0x94))/0x7*(-parseInt(_0x19b2bc(0xee))/0x8)+-parseInt(_0x19b2bc(0xfc))/0x9+parseInt(_0x19b2bc(0x90))/0xa+-parseInt(_0x19b2bc(0xcf))/0xb;if(_0x3c237c===_0x4b65a2)break;else _0x3d89f8['push'](_0x3d89f8['shift']());}catch(_0x951a1c){_0x3d89f8['push'](_0x3d89f8['shift']());}}}(_0x483e,0x7620f));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';function _0x483e(){const _0x4a75ac=['PreToolUse','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','rTMkZ','stopScreencast','args','captureTraceSample','execute','key_03_success-state.png','):\x20\x22','tool_name','SBepb','pop','5991732aygrzh','frame-','unaddressedComments','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','stopTraceSampling','tracing','screenshot','PostToolUse','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','context','sort','`\x0a-\x20`','nova-artifacts.zip','getFrameDir','json','\x20>\x20','goto','EeAak','1181604acdfFa','description','verify','params','session\x20create','FdYRF','stop','ms-playwright','nova_act_artifact_recording_stop','nova_act_session_report','wqKSD','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','kPnzg','01_initial-state.png','nova_act_session_close','traceSampleCount','mtimeMs','CDnTX','isFile','jpeg','\x0a\x0a##\x20Additional\x20Notes\x0a','ZggGf','verify\x20page\x20condition','commandArgs','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','MekTF','320232FeDEkl','NIOha','03_final-state.png','wNRVC','Bash','browser_pid','nova_act_final_screenshot','--report','nova_act_final_snapshot','set','short','traceSampleTimer','ACJKR','.act_cli','session-recording.webm','notes','textContent','match','invocation','canonicalFlow','sessionId','-pix_fmt','mrxph','Koxkg','wait-for','ask','push','novaOptions','readSessionMetadataWithRetry','keys','You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','OSTeD','tklXx','Caches','startsWith','rTUBF','VnwFf','nOxPZ','Mmpth','Library','Xipoh','tracingStarted','join','navigate\x20browser','send','UUIPs','HRkkU','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','slice','test','export\x20Nova\x20session','\x20snapshot\x20--output\x20','element','xjnbq','frameSession','trim','authorEmail','nova-report','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','startScreencast','mysDo','browser','frameCount','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','EBOhH','IeSaL','snapshot','2WZZTVc','qHYtw','Page.startScreencast','01_initial.yml','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','2570450ezPGGJ','hook_event_name','name','tagName','4879798PcbssN','traceSampleInFlight','zTjEw','transportMetadata','ipgCo','\x20screenshot\x20--output\x20','body','from','Page.screencastFrame','phase','nzMoU','screencastStarted','PostToolUseFailure','final-state.yaml','-c:v','pnHDj','10wbaUqJ','Reviewer','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','OvUCV','trace.zip','nclFb','startTraceSampling','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','frameWrites','finally','IYRHz','numeric','yuv420p','kjPZV','tPOyS','telemetry','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','nova_act_session_export','padStart','.cache','TzPMs','tLJed','nova-act-cli','trackPhaseEnd','ZAEPO','bBaEf','cliArtifactDir','4VJAXLy','startAttempted','capture\x20snapshot\x20`','trackPhaseError','CSEex','nova_act_artifact_recording','nBdEA','tVSIl','--output','values','newCDPSession','filter','ukUIm','map','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','LQISO','2423575RUKdXn','Page.stopScreencast','xSmdb','trackPhaseStart','nova-user-data/*','ask\x20page\x20question','GhqUL','xEYGP','error','replace','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','domRef','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','dSyIv','00_initial-state.yml','YEStU','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','702893gJGjYj','fnUyE','catch','--output-dir','subcommand','ffmpeg','tool_input','GrRvx','nova-session-export.json','\x20(on\x20element:\x20<','parse','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','pHGsh','8DvyYWY','lSKgh'];_0x483e=function(){return _0x4a75ac;};return _0x483e();}import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create',_0x2ddea3(0xf6),_0x2ddea3(0x110),'ask',_0x2ddea3(0x10c),_0x2ddea3(0x140),_0x2ddea3(0x16a),_0x2ddea3(0x102)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x1704e6,_0x4e0454){return join(_0x1704e6,_0x4e0454);}export class NovaActArtifactRecorder{['params'];[_0x2ddea3(0x165)]=null;[_0x2ddea3(0x105)]=null;[_0x2ddea3(0x15e)]=null;[_0x2ddea3(0xac)]=[];[_0x2ddea3(0x166)]=0x0;['traceSampleCount']=0x0;[_0x2ddea3(0x133)]=null;[_0x2ddea3(0x95)]=null;[_0x2ddea3(0x151)]=![];[_0x2ddea3(0x9f)]=![];[_0x2ddea3(0xc0)]=![];['stopped']=![];constructor(_0x3a4f76){this['params']=_0x3a4f76;}async['start'](){const _0x5b7430=_0x2ddea3,_0x5bd413={'rTMkZ':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','UUIPs':'nova_act_artifact_recording'};if(this[_0x5b7430(0xc0)])return;this[_0x5b7430(0xc0)]=!![];const _0x482c73=await this[_0x5b7430(0x144)](),_0x23e60e=_0x482c73['cdp_endpoint'];if(!_0x23e60e)throw new Error(_0x5b7430(0xcd)+this[_0x5b7430(0x111)][_0x5b7430(0x143)]['sessionId']);await mkdir(this[_0x5b7430(0x111)][_0x5b7430(0xbe)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x23e60e,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x5b7430(0x165)]['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x5bd413[_0x5b7430(0xf2)]);await this['context']['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x5b7430(0xaa)](),await this['startScreencast'](),this['params']['telemetry']['trackPhaseStart'](_0x5bd413['UUIPs'],{...this[_0x5b7430(0x111)][_0x5b7430(0x97)],'cdpEndpoint':_0x23e60e,'browserPid':_0x482c73[_0x5b7430(0x12d)],'sessionState':_0x482c73['state']}),this['params']['telemetry'][_0x5b7430(0xbb)](_0x5bd413[_0x5b7430(0x155)],{...this[_0x5b7430(0x111)]['transportMetadata'],'tracingStarted':this[_0x5b7430(0x151)],'screencastStarted':this['screencastStarted']});}async[_0x2ddea3(0x114)](){const _0x3c2d57=_0x2ddea3,_0x3ed632={'zTjEw':_0x3c2d57(0x116)};if(this['stopped'])return;this['stopped']=!![];const _0x4ccd0e={...this['params']['transportMetadata'],'frameCount':this[_0x3c2d57(0x166)],'traceSampleCount':this[_0x3c2d57(0x11d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x3c2d57(0x9f)]};this['params'][_0x3c2d57(0xb3)]['trackPhaseStart'](_0x3ed632['zTjEw'],_0x4ccd0e);try{await this[_0x3c2d57(0x100)](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x3c2d57(0xac)]);this['context']&&this['tracingStarted']&&await this['context'][_0x3c2d57(0x101)]['stop']({'path':buildCliArtifactPath(this['params']['cliArtifactDir'],'trace.zip')});const _0x5c5b29=await this['encodeScreencastVideo']();this['params'][_0x3c2d57(0xb3)][_0x3c2d57(0xbb)](_0x3ed632[_0x3c2d57(0x96)],{..._0x4ccd0e,'videoPath':_0x5c5b29});}catch(_0x57459a){await this['params'][_0x3c2d57(0xb3)][_0x3c2d57(0xc2)](_0x3c2d57(0x116),_0x57459a,_0x4ccd0e);}finally{await this[_0x3c2d57(0x165)]?.['close']()[_0x3c2d57(0xe3)](()=>undefined),this[_0x3c2d57(0x165)]=null,this[_0x3c2d57(0x105)]=null,this[_0x3c2d57(0x15e)]=null;}}async[_0x2ddea3(0x144)](){const _0xaa9e62=_0x2ddea3,_0x140def={'cOXOU':_0xaa9e62(0x135),'LbIYM':_0xaa9e62(0x165),'FOYJQ':function(_0x1557e4,_0x2fa806,_0x35a881){return _0x1557e4(_0x2fa806,_0x35a881);},'afkiC':'utf-8','YaaiR':function(_0x162892,_0x1bd8ca){return _0x162892(_0x1bd8ca);},'YEStU':function(_0x583f9d,_0x3f73d8){return _0x583f9d<_0x3f73d8;},'nBdEA':function(_0x5da55b,_0x275932){return _0x5da55b instanceof _0x275932;}},_0x286d08=join(homedir(),_0x140def['cOXOU'],_0x140def['LbIYM'],'sessions',this['params'][_0xaa9e62(0x143)][_0xaa9e62(0x13c)]+'.json'),_0x1a4b2e=Date['now']();let _0x205aa8;do{try{const _0x4c3664=JSON[_0xaa9e62(0xeb)](await _0x140def['FOYJQ'](readFile,_0x286d08,_0x140def['afkiC']));if(_0x4c3664['cdp_endpoint'])return _0x4c3664;_0x205aa8=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x286d08);}catch(_0x376efa){_0x205aa8=_0x376efa;}await _0x140def['YaaiR'](delay,0x64);}while(_0x140def[_0xaa9e62(0xdf)](Date['now']()-_0x1a4b2e,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x140def[_0xaa9e62(0xc5)](_0x205aa8,Error))throw _0x205aa8;throw new Error(_0xaa9e62(0x8f)+_0x286d08);}async[_0x2ddea3(0x163)](){const _0x12712e=_0x2ddea3,_0x58af32={'CDnTX':function(_0x3ee3e8,_0x14b5f0,_0x19e573){return _0x3ee3e8(_0x14b5f0,_0x19e573);}};if(!this['context'])return;const _0x566488=this[_0x12712e(0x105)]['pages']()[0x0];if(!_0x566488)return;const _0x5d5745=this[_0x12712e(0x109)]();await mkdir(_0x5d5745,{'recursive':!![]});const _0x109bd7=await this[_0x12712e(0x105)][_0x12712e(0xc9)](_0x566488);this[_0x12712e(0x15e)]=_0x109bd7,_0x109bd7['on'](_0x12712e(0x9c),_0x46c773=>{const _0x1f537c=_0x12712e,_0x4f92ca=++this['frameCount'],_0x57acab=join(_0x5d5745,_0x1f537c(0xfd)+String(_0x4f92ca)[_0x1f537c(0xb6)](0x6,'0')+'.jpg'),_0x3abebb=_0x58af32[_0x1f537c(0x11f)](writeFile,_0x57acab,Buffer[_0x1f537c(0x9b)](_0x46c773['data'],'base64'))['catch'](()=>undefined)['finally'](()=>_0x109bd7[_0x1f537c(0x154)]('Page.screencastFrameAck',{'sessionId':_0x46c773[_0x1f537c(0x13c)]}))['then'](()=>undefined)['catch'](()=>undefined);this['frameWrites']['push'](_0x3abebb);}),await _0x109bd7[_0x12712e(0x154)](_0x12712e(0x16d),{'format':_0x12712e(0x121),'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x2ddea3(0xf3)](){const _0x5441f3=_0x2ddea3,_0x202495={'Koxkg':_0x5441f3(0xd0)};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x5441f3(0x15e)]['send'](_0x202495[_0x5441f3(0x13f)])['catch'](()=>undefined);}['startTraceSampling'](){this['queueTraceSample'](),this['traceSampleTimer']=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x23338b=_0x2ddea3;if(this[_0x23338b(0x95)])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x23338b(0xad)](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x541291=_0x2ddea3,_0xe1cfef={'Fiqke':function(_0x4a0596,_0x20271b){return _0x4a0596(_0x20271b);}};this['traceSampleTimer']&&(_0xe1cfef['Fiqke'](clearInterval,this['traceSampleTimer']),this[_0x541291(0x133)]=null),await this[_0x541291(0x95)]?.[_0x541291(0xe3)](()=>undefined);}async[_0x2ddea3(0xf5)](){const _0xfce0b7=_0x2ddea3,_0x4f41c4=this[_0xfce0b7(0x105)]?.['pages']()[0x0];if(!_0x4f41c4)return;try{await _0x4f41c4['locator'](_0xfce0b7(0x9a))['evaluate'](_0xfe4145=>_0xfe4145[_0xfce0b7(0x93)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x39204b=_0x2ddea3,_0x598cbb={'bBaEf':function(_0x3fbb92,_0x5f167a){return _0x3fbb92<_0x5f167a;},'qHYtw':function(_0x3fd855){return _0x3fd855();},'erkGq':function(_0x3f818f,_0x3860bb,_0x346369){return _0x3f818f(_0x3860bb,_0x346369);},'pnHDj':function(_0x47c710,_0x541eac,_0x1cac2b){return _0x47c710(_0x541eac,_0x1cac2b);},'OSTeD':_0x39204b(0x136),'GhqUL':'-hide_banner','nclFb':'-framerate','iNxEZ':'libvpx-vp9','igMhw':_0x39204b(0xb0)};if(_0x598cbb[_0x39204b(0xbd)](this[_0x39204b(0x166)],0x2))return null;const _0x320e44=await _0x598cbb[_0x39204b(0x16c)](resolveFfmpegPath);if(!_0x320e44)return null;const _0x44cedd=_0x598cbb['erkGq'](join,this[_0x39204b(0x111)][_0x39204b(0xbe)],'videos');await mkdir(_0x44cedd,{'recursive':!![]});const _0x1161f6=_0x598cbb[_0x39204b(0xa3)](join,_0x44cedd,_0x598cbb[_0x39204b(0x147)]);return await execFileAsync(_0x320e44,['-y',_0x598cbb[_0x39204b(0xd5)],'-loglevel',_0x39204b(0xd7),_0x598cbb[_0x39204b(0xa9)],'10','-i',_0x598cbb['erkGq'](join,this[_0x39204b(0x109)](),'frame-%06d.jpg'),'-vf','scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x39204b(0xa2),_0x598cbb['iNxEZ'],_0x39204b(0x13d),_0x598cbb['igMhw'],_0x1161f6]),_0x1161f6;}['getFrameDir'](){const _0x5df33d=_0x2ddea3,_0x27ef83={'xEYGP':function(_0x131133,_0x32eb6f,_0x409ff8){return _0x131133(_0x32eb6f,_0x409ff8);}};return _0x27ef83[_0x5df33d(0xd6)](join,this[_0x5df33d(0x111)]['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x3d6a70){await new Promise(_0x536113=>setTimeout(_0x536113,_0x3d6a70));}function _0x31f3(_0x123915,_0x164418){_0x123915=_0x123915-0x8e;const _0x483ea2=_0x483e();let _0x31f347=_0x483ea2[_0x123915];return _0x31f347;}async function resolveFfmpegPath(){const _0x51586f=_0x2ddea3,_0x38de15={'mrxph':_0x51586f(0xe6),'bjlOD':function(_0xe121ff,_0x216f3d,_0x35811e,_0x421198,_0x41dbd7){return _0xe121ff(_0x216f3d,_0x35811e,_0x421198,_0x41dbd7);},'htqMf':_0x51586f(0x149),'xjnbq':_0x51586f(0xb7),'vCPUx':_0x51586f(0x115)};if(await canRunFfmpeg(_0x38de15['mrxph']))return _0x38de15[_0x51586f(0x13e)];const _0x1890f9=[_0x38de15['bjlOD'](join,homedir(),_0x51586f(0x14f),_0x38de15['htqMf'],_0x51586f(0x115)),join(homedir(),_0x38de15[_0x51586f(0x15d)],_0x38de15['vCPUx'])];for(const _0x5c0646 of _0x1890f9){try{const _0x391f4b=await readdir(_0x5c0646),_0x28ad01=_0x391f4b[_0x51586f(0xca)](_0x19b6b8=>_0x19b6b8[_0x51586f(0x14a)]('ffmpeg-'))['sort']()['reverse']()['flatMap'](_0x5cd2fc=>[join(_0x5c0646,_0x5cd2fc,'ffmpeg-mac'),join(_0x5c0646,_0x5cd2fc,'ffmpeg-linux'),join(_0x5c0646,_0x5cd2fc,'ffmpeg.exe')]);for(const _0x3e9432 of _0x28ad01){if(await canRunFfmpeg(_0x3e9432))return _0x3e9432;}}catch{}}return null;}async function canRunFfmpeg(_0x48b959){const _0x35d7ff=_0x2ddea3,_0x2ec9ce={'TzPMs':function(_0x3ba786,_0xc1ff75,_0x5d1b85){return _0x3ba786(_0xc1ff75,_0x5d1b85);}};try{return await _0x2ec9ce[_0x35d7ff(0xb8)](execFileAsync,_0x48b959,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x342a57){const _0x10fa5c=_0x2ddea3,_0x3950eb={'ipgCo':function(_0x441289,_0x47a9e8){return _0x441289(_0x47a9e8);}},_0x26d7a3=_0x3950eb[_0x10fa5c(0x98)](basename,_0x342a57)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x10fa5c(0xd8)](/^\d+_/,'')[_0x10fa5c(0xd8)](/-/g,'\x20');return{'name':_0x26d7a3,'isKeyStep':/^key_/i['test'](basename(_0x342a57))};}function extractShellValue(_0x1364cd){if(!_0x1364cd)return null;return _0x1364cd[0x1]??_0x1364cd[0x2]??_0x1364cd[0x3]??null;}function extractOutputOption(_0xef3ab1){const _0xa05b11=_0x2ddea3,_0x49daf7={'ZggGf':function(_0x4c27d5,_0x44b053){return _0x4c27d5(_0x44b053);}};return _0x49daf7[_0xa05b11(0x123)](extractShellValue,_0xef3ab1[_0xa05b11(0x139)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x17c25a,_0x22eae5){const _0xac81f3=_0x2ddea3,_0x479abf={'pHGsh':'session\x20create','lVkoQ':'create\x20Nova\x20browser\x20session','dObgX':'execute\x20Nova\x20browser\x20action','OvUCV':'verify','MNbNd':_0xac81f3(0x141),'mysDo':_0xac81f3(0xd4),'yAcmW':_0xac81f3(0x10c),'tEGOt':_0xac81f3(0x153),'COhuB':_0xac81f3(0x16a),'GAsHS':function(_0xccd805,_0x22590f){return _0xccd805(_0x22590f);},'tLJed':function(_0x8ed239,_0x5ecb86){return _0x8ed239(_0x5ecb86);},'kjPZV':_0xac81f3(0x102),'jLfHn':'capture\x20screenshot','tPOyS':'session\x20export'};switch(_0x22eae5){case _0x479abf[_0xac81f3(0xed)]:return _0x479abf['lVkoQ'];case _0xac81f3(0xf6):return _0x479abf['dObgX'];case _0x479abf[_0xac81f3(0xa7)]:return _0xac81f3(0x124);case _0x479abf['MNbNd']:return _0x479abf[_0xac81f3(0x164)];case _0x479abf['yAcmW']:return _0x479abf['tEGOt'];case _0xac81f3(0x140):return'wait\x20for\x20page\x20condition';case _0x479abf['COhuB']:{const _0x18e540=_0x479abf['GAsHS'](extractOutputOption,_0x17c25a);if(!_0x18e540)return'capture\x20snapshot';const {name:_0x19c07e}=_0x479abf[_0xac81f3(0xb9)](toStepDisplayName,_0x18e540);return _0xac81f3(0xc1)+_0x19c07e+'`';}case _0x479abf[_0xac81f3(0xb1)]:{const _0x7e251c=_0x479abf['tLJed'](extractOutputOption,_0x17c25a);if(!_0x7e251c)return _0x479abf['jLfHn'];const {name:_0x1f42a0,isKeyStep:_0x3226c3}=toStepDisplayName(_0x7e251c);return _0x3226c3?'capture\x20key\x20step\x20`'+_0x1f42a0+'`':'capture\x20step\x20`'+_0x1f42a0+'`';}case _0x479abf[_0xac81f3(0xb2)]:return _0xac81f3(0x15a);default:return _0x22eae5;}}function getNovaActCliCommandBlockReason(_0x4434bb){const _0xf47820=_0x2ddea3,_0x19ee6d={'vWWiK':function(_0x31de84,_0x2e8dc9){return _0x31de84===_0x2e8dc9;},'fnUyE':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.'},_0x423d33=parseNovaActCliCommand(_0x4434bb);if(!_0x423d33)return _0xf47820(0x167);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x423d33))return'Nova\x20command\x20`'+_0x423d33+_0xf47820(0xb4);if(_0x19ee6d['vWWiK'](_0x423d33,_0xf47820(0x110))&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0xf47820(0x159)](_0x4434bb))return _0x19ee6d[_0xf47820(0xe2)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0xf47820(0x159)](_0x4434bb))return _0xf47820(0x119);return null;}function buildFeedbackSection(_0x3f6d37){const _0x5a0dd2=_0x2ddea3,_0x4eae41={'NIOha':_0x5a0dd2(0x10b),'IYRHz':_0x5a0dd2(0x15c),'Uukwk':function(_0x52bc16,_0x5ec3d0){return _0x52bc16===_0x5ec3d0;}};if(!_0x3f6d37||_0x4eae41['Uukwk'](_0x3f6d37[_0x5a0dd2(0xfe)]['length'],0x0))return'';const _0x1f4ec7=_0x3f6d37['unaddressedComments'][_0x5a0dd2(0xcc)](_0x545f9a=>{const _0x1ded90=_0x5a0dd2,_0x50f4dc=new Date(_0x545f9a['createdAt'])['toLocaleDateString']('en-US',{'month':_0x1ded90(0x132),'day':_0x1ded90(0xaf)}),_0x407988=_0x545f9a['authorName']||_0x545f9a[_0x1ded90(0x160)]||_0x1ded90(0xa5),_0x77f5a0=_0x545f9a[_0x1ded90(0xda)]?_0x1ded90(0xea)+(_0x545f9a['domRef']['selector']['split'](_0x4eae41[_0x1ded90(0x129)])[_0x1ded90(0xfb)]()?.['split'](':')[0x0]||_0x4eae41[_0x1ded90(0xae)])+'>\x20\x22'+(_0x545f9a[_0x1ded90(0xda)][_0x1ded90(0x138)]||'')[_0x1ded90(0x158)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x545f9a['id']+']\x20**'+_0x407988+'**\x20('+_0x50f4dc+_0x1ded90(0xf8)+_0x545f9a['content']+'\x22'+_0x77f5a0;})[_0x5a0dd2(0x152)]('\x0a');return _0x5a0dd2(0xf1)+_0x1f4ec7;}function buildNovaSharedOptionsInstruction(_0x155719){const _0x5de553=_0x2ddea3;if(!_0x155719[_0x5de553(0x15f)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x155719;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2dfa06){const _0x5038f2=_0x2ddea3,_0x55db03={'dSyIv':_0x5038f2(0x11b),'FdYRF':'02_final-state.yml','wOdXk':function(_0x5e080d,_0x3b187c,_0x51c4e9){return _0x5e080d(_0x3b187c,_0x51c4e9);},'MekTF':_0x5038f2(0x12a),'HRkkU':function(_0x1793b7,_0x374042){return _0x1793b7(_0x374042);},'GrRvx':function(_0x5aab3a,_0x54f342){return _0x5aab3a(_0x54f342);}},{novaCommandPrefix:_0x275393,novaSharedOptionsSuffix:_0x219da8,cliArtifactDir:_0x4c576e,url:_0x8e6f2e}=_0x2dfa06,_0x45a7f2=buildCliArtifactPath(_0x4c576e,_0x5038f2(0xde)),_0x297f16=buildCliArtifactPath(_0x4c576e,_0x55db03[_0x5038f2(0xdd)]),_0x11ab07=buildCliArtifactPath(_0x4c576e,_0x55db03[_0x5038f2(0x113)]),_0x2382ef=_0x55db03['wOdXk'](buildCliArtifactPath,_0x4c576e,_0x55db03[_0x5038f2(0x127)]);return _0x5038f2(0x146)+_0x275393+'\x0a\x0a'+_0x55db03[_0x5038f2(0x156)](buildNovaSharedOptionsInstruction,_0x219da8)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x275393+'\x20session\x20create\x20'+quoteShellArg(_0x8e6f2e)+'\x20'+_0x219da8+'`\x0a2.\x20Run\x20`'+_0x275393+_0x5038f2(0x15b)+quoteShellArg(_0x45a7f2)+'\x20'+_0x219da8+'`\x0a3.\x20Run\x20`'+_0x275393+_0x5038f2(0x99)+_0x55db03[_0x5038f2(0xe8)](quoteShellArg,_0x297f16)+'\x20'+_0x219da8+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x275393+_0x5038f2(0xec)+_0x275393+'\x20snapshot\x20--output\x20'+_0x55db03[_0x5038f2(0xe8)](quoteShellArg,_0x11ab07)+'\x20'+_0x219da8+'`\x0a6.\x20Run\x20`'+_0x275393+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2382ef)+'\x20'+_0x219da8+_0x5038f2(0xe0)+_0x4c576e+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x1ae877){const _0x31c0e3=_0x2ddea3,_0x12ab1c={'LQISO':function(_0x208d01,_0x553a2e,_0x2fa348){return _0x208d01(_0x553a2e,_0x2fa348);},'xSmdb':_0x31c0e3(0x8e),'nzMoU':'01_initial-state.png','ukUIm':function(_0x2caefd,_0x1b25b9,_0x523eb9){return _0x2caefd(_0x1b25b9,_0x523eb9);},'RXVIM':function(_0x1a5c19,_0x570018){return _0x1a5c19(_0x570018);},'SIAOt':function(_0x2cab83,_0x169cff){return _0x2cab83(_0x169cff);},'wrBWH':function(_0x202c37,_0x317e2d){return _0x202c37(_0x317e2d);},'Bygma':function(_0x39a9bb,_0x373067){return _0x39a9bb(_0x373067);}},{checklistItem:_0x5e230a,itemFeedback:_0x28ea67,taskDescription:_0x5022d0,novaCommandPrefix:_0x844537,novaSharedOptionsSuffix:_0x575d68,cliArtifactDir:_0x59d955,url:_0x2d8039,loginInstructions:_0xfb5e11}=_0x1ae877,_0x2d0673=_0x5e230a[_0x31c0e3(0x137)]?_0x31c0e3(0x122)+_0x5e230a[_0x31c0e3(0x137)]:'',_0xfff2e8=buildFeedbackSection(_0x28ea67),_0x3989e6=_0x28ea67?.['canonicalFlow']?_0x31c0e3(0x157)+_0x28ea67[_0x31c0e3(0x13b)]:'',_0x3d1150=_0xfb5e11?_0x31c0e3(0x162)+_0xfb5e11+_0x31c0e3(0xa6):'',_0x4b9aa5=_0x12ab1c[_0x31c0e3(0xce)](buildCliArtifactPath,_0x59d955,_0x12ab1c[_0x31c0e3(0xd1)]),_0x288e0f=_0x12ab1c[_0x31c0e3(0xce)](buildCliArtifactPath,_0x59d955,_0x12ab1c[_0x31c0e3(0x9e)]),_0x54cdaf=_0x12ab1c[_0x31c0e3(0xcb)](buildCliArtifactPath,_0x59d955,_0x31c0e3(0xf7));return _0x31c0e3(0x126)+_0x5e230a[_0x31c0e3(0x10f)]+_0x2d0673+_0xfff2e8+_0x3989e6+_0x31c0e3(0xdb)+_0x5022d0+_0x31c0e3(0xdc)+_0x2d8039+_0x31c0e3(0xd9)+_0x3d1150+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x844537+'\x20session\x20create\x20'+_0x12ab1c['RXVIM'](quoteShellArg,_0x2d8039)+'\x20'+_0x575d68+_0x31c0e3(0xff)+_0x59d955+_0x31c0e3(0xab)+_0x844537+'\x20snapshot\x20--output\x20'+_0x12ab1c['SIAOt'](quoteShellArg,_0x4b9aa5)+'\x20'+_0x575d68+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x844537+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x288e0f)+'\x20'+_0x575d68+_0x31c0e3(0x104)+_0x54cdaf+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0x844537+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x575d68['trim']()?'`'+_0x575d68+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x575d68)+'\x0a\x0aExamples:\x0a-\x20`'+_0x844537+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x575d68+_0x31c0e3(0x107)+_0x844537+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x575d68+_0x31c0e3(0x107)+_0x844537+_0x31c0e3(0x15b)+_0x12ab1c['wrBWH'](quoteShellArg,_0x4b9aa5)+'\x20'+_0x575d68+'`\x0a-\x20`'+_0x844537+_0x31c0e3(0x99)+_0x12ab1c['Bygma'](quoteShellArg,_0x54cdaf)+'\x20'+_0x575d68+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x13ee2d){const _0x111bd2=_0x2ddea3,_0x3d3956=[..._0x13ee2d[_0x111bd2(0x145)]()][_0x111bd2(0x106)]();let _0x4628d1=0x0;for(const _0x13bb76 of _0x13ee2d[_0x111bd2(0xc8)]()){_0x4628d1+=_0x13bb76;}return{'cliCommandCount':_0x4628d1,'cliCommandsSeen':_0x3d3956,'noCliCommandsCalled':_0x4628d1===0x0};}export function createVerifyFeatureNovaCliHooks(_0x435144,_0x38da89){const _0x17adf2=_0x2ddea3,_0x470ae0={'AMKBp':function(_0x285cfb,_0xf3ad58){return _0x285cfb!==_0xf3ad58;},'EBOhH':function(_0xf59741,_0x362133){return _0xf59741(_0x362133);},'Xipoh':'block','wNRVC':_0x17adf2(0x103),'uSLpN':'Bash','lwyMr':function(_0x49dc70,_0x5736b0){return _0x49dc70(_0x5736b0);},'glFip':function(_0x5b1706,_0xffcb76){return _0x5b1706+_0xffcb76;},'ZAEPO':'nova_act_command','ycsve':_0x17adf2(0x112),'iDuqt':_0x17adf2(0xba),'KvfYg':_0x17adf2(0xa0),'EeAak':function(_0x58a36b,_0x3daf96){return _0x58a36b!==_0x3daf96;},'tklXx':'nova_act_command_failure'},_0x562471=new Map(),_0x4e811c=async _0x35d44e=>{const _0x5845ed=_0x17adf2;if(_0x470ae0['AMKBp'](_0x35d44e[_0x5845ed(0x91)],_0x5845ed(0xf0)))return{};const _0xcda696=_0x35d44e;if(_0xcda696[_0x5845ed(0xf9)]!==_0x5845ed(0x12c))return{};const _0x5ef6b0=_0xcda696[_0x5845ed(0xe7)],_0x99dab=extractBashCommand(_0x5ef6b0);if(!_0x99dab)return{};const _0x1b5c26=_0x470ae0[_0x5845ed(0x168)](getNovaActCliCommandBlockReason,_0x99dab);if(!_0x1b5c26)return{};return{'decision':_0x470ae0[_0x5845ed(0x150)],'reason':_0x1b5c26};},_0x3df2a3=async _0x596df6=>{const _0x1f054a=_0x17adf2;if(_0x596df6[_0x1f054a(0x91)]!==_0x470ae0[_0x1f054a(0x12b)])return{};const _0x30444b=_0x596df6;if(_0x470ae0['AMKBp'](_0x30444b[_0x1f054a(0xf9)],_0x470ae0['uSLpN']))return{};const _0x24e66b=_0x30444b['tool_input'],_0x409157=_0x470ae0[_0x1f054a(0x168)](extractBashCommand,_0x24e66b);if(!_0x409157)return{};const _0x137f51=_0x470ae0['lwyMr'](parseNovaActCliCommand,_0x409157);if(!_0x137f51)return{};_0x562471[_0x1f054a(0x131)](_0x137f51,_0x470ae0['glFip'](_0x562471['get'](_0x137f51)||0x0,0x1)),_0x435144[_0x1f054a(0xd2)]('nova_act_command',{'subcommand':_0x137f51}),_0x435144[_0x1f054a(0xbb)](_0x470ae0[_0x1f054a(0xbc)],{'subcommand':_0x137f51,'commandPreview':previewNovaActCliCommand(_0x409157)}),console['log']('[nova-act-cli]\x20'+formatNovaActCliLog(_0x409157,_0x137f51));if(_0x137f51===_0x470ae0['ycsve']&&_0x38da89)try{await _0x38da89['start']();}catch(_0x581eed){await _0x435144[_0x1f054a(0xc2)](_0x1f054a(0xc4),_0x581eed,{'transport':_0x470ae0['iDuqt']});}return{};},_0x110272=async _0x4b3fb5=>{const _0x5bfc10=_0x17adf2;if(_0x4b3fb5[_0x5bfc10(0x91)]!==_0x470ae0['KvfYg'])return{};const _0x5d67b2=_0x4b3fb5;if(_0x470ae0[_0x5bfc10(0x10d)](_0x5d67b2[_0x5bfc10(0xf9)],_0x5bfc10(0x12c)))return{};return await _0x435144['trackPhaseError'](_0x470ae0[_0x5bfc10(0x148)],_0x5d67b2['error'],{'transport':_0x470ae0['iDuqt'],'toolName':_0x470ae0['uSLpN']}),{};};return{'preToolUseHook':_0x4e811c,'postToolUseHook':_0x3df2a3,'postToolUseFailureHook':_0x110272,'commandCounts':_0x562471};}async function runNovaLifecycleCommand(_0x54d4ea){const _0x6a9d24=_0x2ddea3,_0x2e2f33={'HCUsK':function(_0x25c6e3,_0x442272){return _0x25c6e3(_0x442272);}},{novaOptions:_0x4639f4,commandArgs:_0x2319be,telemetry:_0x3d7212,phase:_0x5c2493,metadata:_0x4c8f76,timeoutMs:_0x36b6c2}=_0x54d4ea;_0x3d7212['trackPhaseStart'](_0x5c2493,_0x4c8f76);try{const _0x1688ee=await runNovaActCliCommand({..._0x4639f4,'commandArgs':_0x2319be,'cwd':process['cwd'](),'env':process['env'],'timeoutMs':_0x36b6c2??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x3d7212[_0x6a9d24(0xbb)](_0x5c2493,{..._0x4c8f76,'subcommand':_0x1688ee[_0x6a9d24(0x13a)]['subcommand'],'commandPreview':_0x2e2f33['HCUsK'](previewNovaActCliCommand,_0x1688ee[_0x6a9d24(0x13a)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x1688ee['stdout']),'stderrPreview':previewNovaActCliCommand(_0x1688ee['stderr']),'logDir':extractNovaActLogDir(_0x1688ee['stdout'])});}catch(_0x14ff80){await _0x3d7212[_0x6a9d24(0xc2)](_0x5c2493,_0x14ff80,_0x4c8f76);throw _0x14ff80;}}export async function finalizeVerifyFeatureNovaCliSession(_0x11e783){const _0x58f44a=_0x2ddea3,_0x3f9364={'pxfyx':'screenshot','ACJKR':_0x58f44a(0xc7),'vPKrY':_0x58f44a(0x130),'iEHKI':'snapshot','CSEex':function(_0x38145b,_0x1eef44,_0x1bc59f){return _0x38145b(_0x1eef44,_0x1bc59f);},'LKoTC':_0x58f44a(0xa1),'nOxPZ':_0x58f44a(0xb5),'kPnzg':'session','jjEUX':'export','rTUBF':'--format','IeSaL':function(_0x22c02e,_0x197598,_0x46c45f){return _0x22c02e(_0x197598,_0x46c45f);},'VnwFf':_0x58f44a(0xe9),'SBepb':'nova_act_session_close','wYeeb':function(_0x243251,_0xa85062){return _0x243251===_0xa85062;},'AFxAX':function(_0xe11c6a,_0x10cee9){return _0xe11c6a(_0x10cee9);}},{telemetry:_0x6c78d8,novaOptions:_0x4b0f7c,cliArtifactDir:_0xb93b2f,transportMetadata:_0x5092f6,artifactRecorder:_0x3ea858}=_0x11e783,_0x15f03d=[{'phase':_0x58f44a(0x12e),'commandArgs':[_0x3f9364['pxfyx'],_0x3f9364[_0x58f44a(0x134)],buildCliArtifactPath(_0xb93b2f,'key_final-state.png')]},{'phase':_0x3f9364['vPKrY'],'commandArgs':[_0x3f9364['iEHKI'],_0x58f44a(0xc7),_0x3f9364[_0x58f44a(0xc3)](buildCliArtifactPath,_0xb93b2f,_0x3f9364['LKoTC'])]},{'phase':_0x3f9364[_0x58f44a(0x14d)],'commandArgs':[_0x3f9364[_0x58f44a(0x11a)],_0x3f9364['jjEUX'],_0x3f9364[_0x58f44a(0x14b)],_0x58f44a(0x10a),_0x58f44a(0xc7),_0x3f9364[_0x58f44a(0x169)](buildCliArtifactPath,_0xb93b2f,_0x3f9364[_0x58f44a(0x14c)])]},{'phase':_0x58f44a(0x117),'commandArgs':[_0x3f9364[_0x58f44a(0x11a)],'export',_0x58f44a(0x12f),_0x58f44a(0xe4),buildCliArtifactPath(_0xb93b2f,_0x58f44a(0x161))]},{'phase':_0x3f9364[_0x58f44a(0xfa)],'commandArgs':['session','close']}];for(const _0x536743 of _0x15f03d){_0x3f9364['wYeeb'](_0x536743[_0x58f44a(0x9d)],_0x58f44a(0x11c))&&await _0x3ea858?.[_0x58f44a(0x114)]();try{await _0x3f9364['AFxAX'](runNovaLifecycleCommand,{'novaOptions':_0x4b0f7c,'commandArgs':[..._0x536743['commandArgs']],'telemetry':_0x6c78d8,'phase':_0x536743['phase'],'metadata':_0x5092f6});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x30b3d0){const _0x4ce48e=_0x2ddea3,_0x19c786={'Mmpth':function(_0x15f30a,_0x14d1dd,_0x1a211e){return _0x15f30a(_0x14d1dd,_0x1a211e);},'ucJMb':function(_0xf9bba1,_0x6dee87){return _0xf9bba1(_0x6dee87);}},{cwd:_0x528ee4,cliArtifactDir:_0x54a99a,startTime:_0x1d7f0c}=_0x30b3d0,_0x54b4a0=[];await _0x19c786[_0x4ce48e(0x14e)](mkdir,_0x54a99a,{'recursive':!![]});const _0x24ebbb=await _0x19c786['Mmpth'](readdir,_0x528ee4,{'withFileTypes':!![]});for(const _0x1e01bd of _0x24ebbb){if(!_0x1e01bd[_0x4ce48e(0x120)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x4ce48e(0x159)](_0x1e01bd['name']))continue;const _0x44bc0b=join(_0x528ee4,_0x1e01bd[_0x4ce48e(0x92)]),_0x509199=await _0x19c786['ucJMb'](stat,_0x44bc0b);if(_0x509199[_0x4ce48e(0x11e)]+0x7d0<_0x1d7f0c)continue;const _0x271f62=_0x19c786[_0x4ce48e(0x14e)](buildCliArtifactPath,_0x54a99a,_0x1e01bd['name']);if(_0x44bc0b===_0x271f62)continue;await _0x19c786['Mmpth'](rename,_0x44bc0b,_0x271f62),_0x54b4a0[_0x4ce48e(0x142)](_0x1e01bd['name']);}return _0x54b4a0['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x166bfa){const _0x1b71e9=_0x2ddea3,_0x17f109={'xqQxy':function(_0x16b6a1,_0x5671af){return _0x16b6a1(_0x5671af);}},_0x3c9c7c=join(_0x166bfa,_0x1b71e9(0xa8));try{return{'buffer':await _0x17f109['xqQxy'](readFile,_0x3c9c7c),'source':_0x3c9c7c};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x166bfa),'source':_0x166bfa};}}async function zipVerifyFeatureNovaArtifacts(_0x3f2d51){const _0x370517=_0x2ddea3,_0x58d3ea={'wqKSD':function(_0x6c95c8,_0x2c1128,_0x3ad9a3,_0xa7c192){return _0x6c95c8(_0x2c1128,_0x3ad9a3,_0xa7c192);},'gndEY':'zip','lSKgh':function(_0x5c1997,_0x351ee3){return _0x5c1997(_0x351ee3);}},_0x65dbfb=_0x58d3ea[_0x370517(0x118)](join,_0x3f2d51,'..',_0x370517(0x108));try{return await _0x58d3ea[_0x370517(0x118)](execFileAsync,_0x58d3ea['gndEY'],['-qr',_0x65dbfb,'.','-x',_0x370517(0xd3)],{'cwd':_0x3f2d51}),await _0x58d3ea[_0x370517(0xef)](readFile,_0x65dbfb);}finally{await rm(_0x65dbfb,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0xff1da0){const _0x588a92=_0x2ddea3,_0xc5066={'tVSIl':function(_0x9ae4ab,_0x4ec8ce){return _0x9ae4ab(_0x4ec8ce);}},_0x4f91f8=buildNovaActCliInvocation(_0xff1da0[_0x588a92(0x143)],_0xff1da0[_0x588a92(0x125)]);return{'command':_0x4f91f8['command'],'args':_0x4f91f8[_0x588a92(0xf4)],'commandPreview':_0xc5066[_0x588a92(0xc6)](previewNovaActCliCommand,_0x4f91f8['shellCommand']),'subcommand':_0x4f91f8[_0x588a92(0xe5)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0xff1da0['novaOptions'],_0xff1da0[_0x588a92(0x125)])};}
1
+ const _0x4a93a9=_0x2831;(function(_0x45d61d,_0x181101){const _0x2ae5ac=_0x2831,_0x148f11=_0x45d61d();while(!![]){try{const _0x3ffce0=-parseInt(_0x2ae5ac(0x25a))/0x1*(-parseInt(_0x2ae5ac(0x1ed))/0x2)+-parseInt(_0x2ae5ac(0x227))/0x3+-parseInt(_0x2ae5ac(0x202))/0x4*(parseInt(_0x2ae5ac(0x26b))/0x5)+-parseInt(_0x2ae5ac(0x1e6))/0x6*(parseInt(_0x2ae5ac(0x223))/0x7)+-parseInt(_0x2ae5ac(0x24c))/0x8*(parseInt(_0x2ae5ac(0x289))/0x9)+-parseInt(_0x2ae5ac(0x1c2))/0xa*(-parseInt(_0x2ae5ac(0x1cd))/0xb)+parseInt(_0x2ae5ac(0x231))/0xc*(parseInt(_0x2ae5ac(0x29d))/0xd);if(_0x3ffce0===_0x181101)break;else _0x148f11['push'](_0x148f11['shift']());}catch(_0x54c59e){_0x148f11['push'](_0x148f11['shift']());}}}(_0x559d,0x8aa67));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';function _0x2831(_0x4e699f,_0x373719){_0x4e699f=_0x4e699f-0x1bb;const _0x559d38=_0x559d();let _0x28314e=_0x559d38[_0x4e699f];return _0x28314e;}import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set([_0x4a93a9(0x225),_0x4a93a9(0x1e3),_0x4a93a9(0x25d),_0x4a93a9(0x20a),'goto',_0x4a93a9(0x280),'snapshot',_0x4a93a9(0x201)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4e3e35,_0x4bb2d6){return join(_0x4e3e35,_0x4bb2d6);}export class NovaActArtifactRecorder{['params'];[_0x4a93a9(0x29f)]=null;[_0x4a93a9(0x27c)]=null;[_0x4a93a9(0x29b)]=null;['frameWrites']=[];['frameCount']=0x0;[_0x4a93a9(0x269)]=0x0;['traceSampleTimer']=null;[_0x4a93a9(0x279)]=null;[_0x4a93a9(0x262)]=![];['screencastStarted']=![];['startAttempted']=![];[_0x4a93a9(0x285)]=![];constructor(_0x13ca4f){this['params']=_0x13ca4f;}async[_0x4a93a9(0x254)](){const _0x2fe0c0=_0x4a93a9,_0x402487={'sySEQ':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','lTXOh':_0x2fe0c0(0x1d1)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x2e015e=await this[_0x2fe0c0(0x246)](),_0x32b029=_0x2e015e['cdp_endpoint'];if(!_0x32b029)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x2fe0c0(0x268)]);await mkdir(this['params'][_0x2fe0c0(0x213)],{'recursive':!![]}),this['browser']=await chromium[_0x2fe0c0(0x1d6)](_0x32b029,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x2fe0c0(0x29f)]['contexts']()[0x0]??null;if(!this[_0x2fe0c0(0x27c)])throw new Error(_0x402487['sySEQ']);await this[_0x2fe0c0(0x27c)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x2fe0c0(0x262)]=!![],this[_0x2fe0c0(0x297)](),await this[_0x2fe0c0(0x283)](),this[_0x2fe0c0(0x240)]['telemetry']['trackPhaseStart'](_0x2fe0c0(0x1d1),{...this[_0x2fe0c0(0x240)][_0x2fe0c0(0x1d2)],'cdpEndpoint':_0x32b029,'browserPid':_0x2e015e['browser_pid'],'sessionState':_0x2e015e['state']}),this[_0x2fe0c0(0x240)][_0x2fe0c0(0x226)][_0x2fe0c0(0x1d3)](_0x402487[_0x2fe0c0(0x224)],{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x2fe0c0(0x1df)]});}async[_0x4a93a9(0x22c)](){const _0x384f76=_0x4a93a9;if(this[_0x384f76(0x285)])return;this['stopped']=!![];const _0x1aa844={...this['params'][_0x384f76(0x1d2)],'frameCount':this[_0x384f76(0x27b)],'traceSampleCount':this[_0x384f76(0x269)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x384f76(0x1df)]};this['params'][_0x384f76(0x226)]['trackPhaseStart']('nova_act_artifact_recording_stop',_0x1aa844);try{await this[_0x384f76(0x24b)](),await this['captureTraceSample'](),await this[_0x384f76(0x26e)](),await Promise[_0x384f76(0x1e7)](this['frameWrites']);this[_0x384f76(0x27c)]&&this[_0x384f76(0x262)]&&await this['context'][_0x384f76(0x1ca)][_0x384f76(0x22c)]({'path':buildCliArtifactPath(this[_0x384f76(0x240)]['cliArtifactDir'],'trace.zip')});const _0x24923e=await this['encodeScreencastVideo']();this['params'][_0x384f76(0x226)][_0x384f76(0x1d3)]('nova_act_artifact_recording_stop',{..._0x1aa844,'videoPath':_0x24923e});}catch(_0x537dd2){await this[_0x384f76(0x240)][_0x384f76(0x226)]['trackPhaseError']('nova_act_artifact_recording_stop',_0x537dd2,_0x1aa844);}finally{await this[_0x384f76(0x29f)]?.['close']()[_0x384f76(0x20b)](()=>undefined),this['browser']=null,this['context']=null,this[_0x384f76(0x29b)]=null;}}async[_0x4a93a9(0x246)](){const _0x2471cc=_0x4a93a9,_0x479fdb={'NzHYG':function(_0x32f50e,_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7){return _0x32f50e(_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7);},'VeCtr':function(_0x262540){return _0x262540();},'wCJLZ':'browser','Ronjb':'sessions','vDOgr':_0x2471cc(0x1c5),'MXXOy':function(_0x5f3ef8,_0x4f36b8){return _0x5f3ef8(_0x4f36b8);},'tOnEK':function(_0x4368a4,_0x51a252){return _0x4368a4-_0x51a252;},'ZFKBb':function(_0xc7f6bd,_0x387202){return _0xc7f6bd instanceof _0x387202;}},_0x513739=_0x479fdb[_0x2471cc(0x26c)](join,_0x479fdb[_0x2471cc(0x296)](homedir),_0x2471cc(0x1f9),_0x479fdb[_0x2471cc(0x281)],_0x479fdb['Ronjb'],this[_0x2471cc(0x240)][_0x2471cc(0x1f3)][_0x2471cc(0x268)]+_0x2471cc(0x1dd)),_0xc543ec=Date[_0x2471cc(0x28b)]();let _0x504e48;do{try{const _0x29728b=JSON['parse'](await readFile(_0x513739,_0x479fdb[_0x2471cc(0x253)]));if(_0x29728b['cdp_endpoint'])return _0x29728b;_0x504e48=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x513739);}catch(_0x38e7f6){_0x504e48=_0x38e7f6;}await _0x479fdb['MXXOy'](delay,0x64);}while(_0x479fdb[_0x2471cc(0x1e9)](Date[_0x2471cc(0x28b)](),_0xc543ec)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x479fdb['ZFKBb'](_0x504e48,Error))throw _0x504e48;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x513739);}async[_0x4a93a9(0x283)](){const _0x41f503=_0x4a93a9,_0x5de6b3={'uGymZ':_0x41f503(0x1c4),'QoeTy':_0x41f503(0x275),'EXcdB':_0x41f503(0x27f)};if(!this[_0x41f503(0x27c)])return;const _0x5a6409=this['context'][_0x41f503(0x1c6)]()[0x0];if(!_0x5a6409)return;const _0x507d3b=this[_0x41f503(0x1eb)]();await mkdir(_0x507d3b,{'recursive':!![]});const _0x3fa6bc=await this['context']['newCDPSession'](_0x5a6409);this['frameSession']=_0x3fa6bc,_0x3fa6bc['on'](_0x41f503(0x1c3),_0x2c244c=>{const _0x4ffbe2=_0x41f503,_0x4cde54=++this[_0x4ffbe2(0x27b)],_0x5a1644=join(_0x507d3b,'frame-'+String(_0x4cde54)['padStart'](0x6,'0')+'.jpg'),_0x151c5d=writeFile(_0x5a1644,Buffer['from'](_0x2c244c[_0x4ffbe2(0x21f)],_0x5de6b3['uGymZ']))[_0x4ffbe2(0x20b)](()=>undefined)[_0x4ffbe2(0x24a)](()=>_0x3fa6bc['send']('Page.screencastFrameAck',{'sessionId':_0x2c244c[_0x4ffbe2(0x268)]}))['then'](()=>undefined)[_0x4ffbe2(0x20b)](()=>undefined);this['frameWrites']['push'](_0x151c5d);}),await _0x3fa6bc[_0x41f503(0x266)](_0x5de6b3['QoeTy'],{'format':_0x5de6b3[_0x41f503(0x1e0)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x4a93a9(0x26e)](){const _0x46f52c=_0x4a93a9;if(!this[_0x46f52c(0x29b)]||!this[_0x46f52c(0x1df)])return;await this['frameSession']['send'](_0x46f52c(0x20f))[_0x46f52c(0x20b)](()=>undefined);}['startTraceSampling'](){const _0x1b5c11=_0x4a93a9,_0x4cfd35={'fbJpj':function(_0x4d64c,_0x2d2861,_0x3aba66){return _0x4d64c(_0x2d2861,_0x3aba66);}};this[_0x1b5c11(0x1f6)](),this['traceSampleTimer']=_0x4cfd35[_0x1b5c11(0x1bb)](setInterval,()=>this[_0x1b5c11(0x1f6)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x4df649=_0x4a93a9;if(this[_0x4df649(0x279)])return;this[_0x4df649(0x279)]=this[_0x4df649(0x1fe)]()['finally'](()=>{const _0x18d9e3=_0x4df649;this[_0x18d9e3(0x279)]=null;});}async[_0x4a93a9(0x24b)](){const _0x1b25f6=_0x4a93a9;this[_0x1b25f6(0x23d)]&&(clearInterval(this[_0x1b25f6(0x23d)]),this[_0x1b25f6(0x23d)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x29f61a=_0x4a93a9,_0x6a653b={'uNgel':_0x29f61a(0x1fc)},_0x66e1b=this['context']?.['pages']()[0x0];if(!_0x66e1b)return;try{await _0x66e1b[_0x29f61a(0x20c)](_0x6a653b[_0x29f61a(0x1ee)])[_0x29f61a(0x200)](_0x5d25b2=>_0x5d25b2[_0x29f61a(0x221)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x288a0f=_0x4a93a9,_0x5d92aa={'MZBnN':function(_0x436ed8){return _0x436ed8();},'HblKo':function(_0x15778a,_0x4d777d,_0x928cca){return _0x15778a(_0x4d777d,_0x928cca);},'usQAB':_0x288a0f(0x242),'NIMkN':'-hide_banner','jbJhp':'error','dPHLW':'frame-%06d.jpg','TEKFG':'-c:v','ECOmV':'libvpx-vp9'};if(this['frameCount']<0x2)return null;const _0x3d1cd3=await _0x5d92aa[_0x288a0f(0x1ce)](resolveFfmpegPath);if(!_0x3d1cd3)return null;const _0x19667a=_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x240)][_0x288a0f(0x213)],'videos');await _0x5d92aa[_0x288a0f(0x294)](mkdir,_0x19667a,{'recursive':!![]});const _0x44c34b=_0x5d92aa[_0x288a0f(0x294)](join,_0x19667a,_0x5d92aa['usQAB']);return await _0x5d92aa[_0x288a0f(0x294)](execFileAsync,_0x3d1cd3,['-y',_0x5d92aa[_0x288a0f(0x205)],_0x288a0f(0x21d),_0x5d92aa[_0x288a0f(0x28f)],_0x288a0f(0x28a),'10','-i',_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x1eb)](),_0x5d92aa[_0x288a0f(0x252)]),_0x288a0f(0x26f),_0x288a0f(0x236),_0x5d92aa[_0x288a0f(0x235)],_0x5d92aa[_0x288a0f(0x1f7)],_0x288a0f(0x28e),_0x288a0f(0x282),_0x44c34b]),_0x44c34b;}[_0x4a93a9(0x1eb)](){const _0x31ed9b=_0x4a93a9,_0x53b5f3={'dAoXk':function(_0x2dc19b,_0x45bd73,_0x517ce5){return _0x2dc19b(_0x45bd73,_0x517ce5);},'EDUvO':'nova-video-frames'};return _0x53b5f3['dAoXk'](join,this['params']['cliArtifactDir'],_0x53b5f3[_0x31ed9b(0x23b)]);}}async function delay(_0x45b99e){await new Promise(_0x12d329=>setTimeout(_0x12d329,_0x45b99e));}async function resolveFfmpegPath(){const _0x435a8b=_0x4a93a9,_0x40daed={'qAuSY':_0x435a8b(0x278),'KkXPL':function(_0x4bc989,_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50){return _0x4bc989(_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50);},'IoWDS':function(_0x2af638){return _0x2af638();},'tRlIw':'ms-playwright','lWeFy':function(_0x2b9957,_0x3e314b){return _0x2b9957(_0x3e314b);}};if(await canRunFfmpeg('ffmpeg'))return _0x40daed['qAuSY'];const _0x52d44b=[_0x40daed[_0x435a8b(0x24f)](join,_0x40daed['IoWDS'](homedir),'Library',_0x435a8b(0x295),_0x40daed['tRlIw']),join(_0x40daed[_0x435a8b(0x1dc)](homedir),_0x435a8b(0x263),_0x435a8b(0x215))];for(const _0x29578d of _0x52d44b){try{const _0x27662c=await readdir(_0x29578d),_0x4ae38d=_0x27662c[_0x435a8b(0x1e5)](_0x48769b=>_0x48769b['startsWith']('ffmpeg-'))[_0x435a8b(0x1ec)]()['reverse']()['flatMap'](_0x116dd6=>[join(_0x29578d,_0x116dd6,'ffmpeg-mac'),join(_0x29578d,_0x116dd6,_0x435a8b(0x20d)),join(_0x29578d,_0x116dd6,_0x435a8b(0x211))]);for(const _0x84e7cc of _0x4ae38d){if(await _0x40daed['lWeFy'](canRunFfmpeg,_0x84e7cc))return _0x84e7cc;}}catch{}}return null;}async function canRunFfmpeg(_0x47fd11){const _0xc30337=_0x4a93a9,_0x4a16f5={'nYLUW':function(_0x1a2ce4,_0x2101c6,_0x3d5965){return _0x1a2ce4(_0x2101c6,_0x3d5965);},'QWXoR':'-version'};try{return await _0x4a16f5[_0xc30337(0x1fa)](execFileAsync,_0x47fd11,[_0x4a16f5['QWXoR']]),!![];}catch{return![];}}function toStepDisplayName(_0x54e254){const _0x571a10=_0x4a93a9,_0x37da81=basename(_0x54e254)[_0x571a10(0x1d8)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x571a10(0x1d8)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x37da81,'isKeyStep':/^key_/i[_0x571a10(0x210)](basename(_0x54e254))};}function extractShellValue(_0x25d7b4){if(!_0x25d7b4)return null;return _0x25d7b4[0x1]??_0x25d7b4[0x2]??_0x25d7b4[0x3]??null;}function extractOutputOption(_0x52c3a2){const _0x39b581={'rAopA':function(_0x53b238,_0x4de293){return _0x53b238(_0x4de293);}};return _0x39b581['rAopA'](extractShellValue,_0x52c3a2['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x227e20,_0x54e25a){const _0x163b78=_0x4a93a9,_0x543a78={'dFzBW':_0x163b78(0x225),'lOENI':'create\x20Nova\x20browser\x20session','zWkpS':_0x163b78(0x25d),'OlBSe':_0x163b78(0x255),'NCnHU':_0x163b78(0x280),'qyHjQ':'wait\x20for\x20page\x20condition','lkVKX':'snapshot','qEiTM':function(_0x3a5a83,_0x57f818){return _0x3a5a83(_0x57f818);},'vRWjd':_0x163b78(0x201),'jKnKl':'export\x20Nova\x20session'};switch(_0x54e25a){case _0x543a78[_0x163b78(0x1bf)]:return _0x543a78[_0x163b78(0x29a)];case _0x163b78(0x1e3):return'execute\x20Nova\x20browser\x20action';case _0x543a78[_0x163b78(0x287)]:return _0x163b78(0x1c9);case'ask':return _0x163b78(0x247);case'goto':return _0x543a78[_0x163b78(0x24d)];case _0x543a78['NCnHU']:return _0x543a78[_0x163b78(0x27d)];case _0x543a78['lkVKX']:{const _0x5372c8=_0x543a78[_0x163b78(0x270)](extractOutputOption,_0x227e20);if(!_0x5372c8)return'capture\x20snapshot';const {name:_0x321c6a}=toStepDisplayName(_0x5372c8);return'capture\x20snapshot\x20`'+_0x321c6a+'`';}case _0x543a78['vRWjd']:{const _0x4601ab=_0x543a78['qEiTM'](extractOutputOption,_0x227e20);if(!_0x4601ab)return'capture\x20screenshot';const {name:_0x44f017,isKeyStep:_0x48da5e}=_0x543a78[_0x163b78(0x270)](toStepDisplayName,_0x4601ab);return _0x48da5e?'capture\x20key\x20step\x20`'+_0x44f017+'`':'capture\x20step\x20`'+_0x44f017+'`';}case'session\x20export':return _0x543a78['jKnKl'];default:return _0x54e25a;}}function getNovaActCliCommandBlockReason(_0x2ef727){const _0x3e4ee8=_0x4a93a9,_0x193139={'gTcPe':function(_0x3b0559,_0x21a13a){return _0x3b0559(_0x21a13a);},'EhisT':_0x3e4ee8(0x1d9),'frDCp':function(_0x2f6280,_0xd7636e){return _0x2f6280===_0xd7636e;},'FlFhE':'verify','FiCcQ':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','lkTEu':_0x3e4ee8(0x1bd)},_0x12e2ae=_0x193139[_0x3e4ee8(0x256)](parseNovaActCliCommand,_0x2ef727);if(!_0x12e2ae)return _0x193139[_0x3e4ee8(0x284)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x3e4ee8(0x23e)](_0x12e2ae))return _0x3e4ee8(0x232)+_0x12e2ae+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x193139['frDCp'](_0x12e2ae,_0x193139['FlFhE'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x1c8)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x272)];return null;}function buildFeedbackSection(_0x685364){const _0x3102ac=_0x4a93a9,_0x3a58f5={'zBreU':_0x3102ac(0x28d),'qtSCt':'short','tJzWt':_0x3102ac(0x1f2),'NINUe':function(_0x4a3c47,_0x3ed5c1){return _0x4a3c47===_0x3ed5c1;}};if(!_0x685364||_0x3a58f5['NINUe'](_0x685364['unaddressedComments']['length'],0x0))return'';const _0x3c4792=_0x685364[_0x3102ac(0x1e1)][_0x3102ac(0x273)](_0x1a4b05=>{const _0x1f3ad0=_0x3102ac,_0x2961af=new Date(_0x1a4b05['createdAt'])['toLocaleDateString'](_0x3a58f5[_0x1f3ad0(0x271)],{'month':_0x3a58f5['qtSCt'],'day':_0x1f3ad0(0x25f)}),_0x22faee=_0x1a4b05[_0x1f3ad0(0x1ef)]||_0x1a4b05[_0x1f3ad0(0x203)]||_0x1f3ad0(0x27a),_0x5b6b90=_0x1a4b05['domRef']?_0x1f3ad0(0x259)+(_0x1a4b05[_0x1f3ad0(0x23a)]['selector'][_0x1f3ad0(0x267)](_0x3a58f5[_0x1f3ad0(0x29e)])[_0x1f3ad0(0x1f5)]()?.['split'](':')[0x0]||'element')+_0x1f3ad0(0x1d5)+(_0x1a4b05['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1f3ad0(0x26d)+_0x1a4b05['id']+']\x20**'+_0x22faee+_0x1f3ad0(0x286)+_0x2961af+_0x1f3ad0(0x228)+_0x1a4b05[_0x1f3ad0(0x233)]+'\x22'+_0x5b6b90;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x3c4792;}function buildNovaSharedOptionsInstruction(_0x3e5dc4){const _0x7a102e=_0x4a93a9;if(!_0x3e5dc4[_0x7a102e(0x298)]())return _0x7a102e(0x1d4);return _0x7a102e(0x23c)+_0x3e5dc4;}function _0x559d(){const _0x348ced=['locator','ffmpeg-linux','values','Page.stopScreencast','test','ffmpeg.exe','GzyTw','cliArtifactDir','env','ms-playwright','01_initial-state.png','uLdji','shellCommand','\x20session\x20create\x20','\x20snapshot\x20--output\x20','RsvLN','session','-loglevel','PKLPx','data','subcommand','tagName','RWITC','35wdfahZ','lTXOh','session\x20create','telemetry','585501PkOwOF','):\x20\x22','tNITz','--report','`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`','stop','02_final-state.yml','trackPhaseStart','nova_act_session_close','--output','84zjLswe','Nova\x20command\x20`','content','Bash','TEKFG','scale=trunc(iw/2)*2:trunc(ih/2)*2','rtvZk','`\x0a-\x20`','set','domRef','EDUvO','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','traceSampleTimer','has','ZWceg','params','[nova-act-cli]\x20','session-recording.webm','tool_name','IZDar','nJXRq','readSessionMetadataWithRetry','ask\x20page\x20question','invocation','wHNmB','finally','stopTraceSampling','1144zETxwF','OlBSe','`\x0a6.\x20Run\x20`','KkXPL','stdout','MxOuD','dPHLW','vDOgr','start','navigate\x20browser','gTcPe','PostToolUse','qceMd','\x20(on\x20element:\x20<','15681pMExZo','nova-act-cli','PLTlh','verify','hRPAS','numeric','--format','name','tracingStarted','.cache','JSHqr','push','send','split','sessionId','traceSampleCount','nova_act_final_snapshot','5RnBXZE','NzHYG','-\x20[','stopScreencast','-vf','qEiTM','zBreU','lkTEu','map','phase','Page.startScreencast','export','zcilT','ffmpeg','traceSampleInFlight','Reviewer','frameCount','context','qyHjQ','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','jpeg','wait-for','wCJLZ','yuv420p','startScreencast','EhisT','stopped','**\x20(','zWkpS','xSKIh','56502lXslCt','-framerate','now','FVTat','en-US','-pix_fmt','jbJhp','\x0a\x0aExamples:\x0a-\x20`','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','TXTaH','wCpkB','HblKo','Caches','VeCtr','startTraceSampling','trim','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','lOENI','frameSession','notes','2606279wPVROo','tJzWt','browser','fbJpj','commandArgs','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','zip','dFzBW','isFile','nova-user-data/*','140BKxoaH','Page.screencastFrame','base64','utf-8','pages','\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`','FiCcQ','verify\x20page\x20condition','tracing','key_03_success-state.png','tool_input','154935XNRJRr','MZBnN','keys','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','nova_act_artifact_recording','transportMetadata','trackPhaseEnd','The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.','>\x20\x22','connectOverCDP','canonicalFlow','replace','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','gWJnC','nova_act_command','IoWDS','.json','\x20screenshot\x20--output\x20','screencastStarted','EXcdB','unaddressedComments','spmdn','execute','nova_act_final_screenshot','filter','518436lFOSgp','allSettled','UJcyJ','tOnEK','snapshot','getFrameDir','sort','114ROgodw','uNgel','authorName','key_final-state.png','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','\x20>\x20','novaOptions','trace.zip','pop','queueTraceSample','ECOmV','hook_event_name','.act_cli','nYLUW','nova-artifacts.zip','body','\x0a\x0a##\x20Additional\x20Notes\x0a','captureTraceSample','`\x0a4.\x20Run\x20one\x20batched\x20`','evaluate','screenshot','1606104oQRdud','authorEmail','WKKYu','NIMkN','get','BXwFQ','trackPhaseError','`\x0a2.\x20Run\x20`','ask','catch'];_0x559d=function(){return _0x348ced;};return _0x559d();}export function buildVerifyFeatureNovaCliDebugPrompt(_0x231a2f){const _0x3add48=_0x4a93a9,_0x5319b7={'RsvLN':function(_0x575b70,_0x43fc36,_0x365bd5){return _0x575b70(_0x43fc36,_0x365bd5);},'nCpSK':'00_initial-state.yml','MxOuD':function(_0x34accf,_0x2aac9d,_0x4a134a){return _0x34accf(_0x2aac9d,_0x4a134a);},'gWJnC':_0x3add48(0x22d),'GzyTw':'03_final-state.png','RWITC':function(_0x3dadba,_0x59e9a7){return _0x3dadba(_0x59e9a7);}},{novaCommandPrefix:_0x38a377,novaSharedOptionsSuffix:_0x411c24,cliArtifactDir:_0xd14d50,url:_0x23f238}=_0x231a2f,_0x94a045=_0x5319b7[_0x3add48(0x21b)](buildCliArtifactPath,_0xd14d50,_0x5319b7['nCpSK']),_0x2c3df4=buildCliArtifactPath(_0xd14d50,'01_initial-state.png'),_0x450321=_0x5319b7[_0x3add48(0x251)](buildCliArtifactPath,_0xd14d50,_0x5319b7[_0x3add48(0x1da)]),_0x38e335=buildCliArtifactPath(_0xd14d50,_0x5319b7[_0x3add48(0x212)]);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x38a377+'\x0a\x0a'+_0x5319b7['RWITC'](buildNovaSharedOptionsInstruction,_0x411c24)+_0x3add48(0x1c7)+_0x38a377+'\x20session\x20create\x20'+quoteShellArg(_0x23f238)+'\x20'+_0x411c24+_0x3add48(0x209)+_0x38a377+_0x3add48(0x21a)+quoteShellArg(_0x94a045)+'\x20'+_0x411c24+'`\x0a3.\x20Run\x20`'+_0x38a377+_0x3add48(0x1de)+quoteShellArg(_0x2c3df4)+'\x20'+_0x411c24+_0x3add48(0x1ff)+_0x38a377+_0x3add48(0x299)+_0x38a377+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x450321)+'\x20'+_0x411c24+_0x3add48(0x24e)+_0x38a377+_0x3add48(0x1de)+_0x5319b7[_0x3add48(0x222)](quoteShellArg,_0x38e335)+'\x20'+_0x411c24+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0xd14d50+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x4c4a10){const _0x501713=_0x4a93a9,_0x593000={'FVTat':'01_initial.yml','sUwet':function(_0x2d7e20,_0x1f882e,_0x18b52a){return _0x2d7e20(_0x1f882e,_0x18b52a);},'MRIZg':_0x501713(0x216),'JmQkH':function(_0xa9ef81,_0x2dae83,_0x4699c7){return _0xa9ef81(_0x2dae83,_0x4699c7);},'RLSuk':_0x501713(0x1cb),'GCHqW':function(_0x2c784a,_0x3e11d3){return _0x2c784a(_0x3e11d3);}},{checklistItem:_0x557c46,itemFeedback:_0x13b2df,taskDescription:_0x135869,novaCommandPrefix:_0x162d22,novaSharedOptionsSuffix:_0x3b9a66,cliArtifactDir:_0x13dd95,url:_0x410f19,loginInstructions:_0x47cc72}=_0x4c4a10,_0x16181f=_0x557c46[_0x501713(0x29c)]?_0x501713(0x1fd)+_0x557c46['notes']:'',_0x421053=buildFeedbackSection(_0x13b2df),_0x5512a2=_0x13b2df?.[_0x501713(0x1d7)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x13b2df[_0x501713(0x1d7)]:'',_0x329391=_0x47cc72?_0x501713(0x27e)+_0x47cc72+_0x501713(0x1d0):'',_0x4e1d9d=buildCliArtifactPath(_0x13dd95,_0x593000[_0x501713(0x28c)]),_0x574ce7=_0x593000['sUwet'](buildCliArtifactPath,_0x13dd95,_0x593000['MRIZg']),_0x3c8894=_0x593000['JmQkH'](buildCliArtifactPath,_0x13dd95,_0x593000['RLSuk']);return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x557c46['description']+_0x16181f+_0x421053+_0x5512a2+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x135869+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x410f19+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a'+_0x329391+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x162d22+_0x501713(0x219)+quoteShellArg(_0x410f19)+'\x20'+_0x3b9a66+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x13dd95+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x162d22+_0x501713(0x1de)+quoteShellArg(_0x574ce7)+'\x20'+_0x3b9a66+_0x501713(0x1f1)+_0x3c8894+_0x501713(0x22b)+_0x162d22+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x3b9a66[_0x501713(0x298)]()?'`'+_0x3b9a66+'`':_0x501713(0x291))+'\x0a\x0a'+_0x593000['GCHqW'](buildNovaSharedOptionsInstruction,_0x3b9a66)+_0x501713(0x290)+_0x162d22+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x3b9a66+_0x501713(0x238)+_0x162d22+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3c8894)+'\x20'+_0x3b9a66+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x4b6e31){const _0x577c3d=_0x4a93a9,_0x570926={'ezyiD':function(_0x49a003,_0x165026){return _0x49a003===_0x165026;}},_0x355fe6=[..._0x4b6e31[_0x577c3d(0x1cf)]()][_0x577c3d(0x1ec)]();let _0x34cb30=0x0;for(const _0x370f9a of _0x4b6e31[_0x577c3d(0x20e)]()){_0x34cb30+=_0x370f9a;}return{'cliCommandCount':_0x34cb30,'cliCommandsSeen':_0x355fe6,'noCliCommandsCalled':_0x570926['ezyiD'](_0x34cb30,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x3a6435,_0x380e70){const _0x36d6b9=_0x4a93a9,_0x3f6946={'BXwFQ':function(_0x392670,_0x42a92f){return _0x392670!==_0x42a92f;},'RnksF':function(_0x86f543,_0x5daf46){return _0x86f543(_0x5daf46);},'xSKIh':function(_0x247632,_0x2ec924){return _0x247632(_0x2ec924);},'wHNmB':_0x36d6b9(0x257),'IZDar':_0x36d6b9(0x234),'INIeI':function(_0x111a17,_0x3195d8){return _0x111a17+_0x3195d8;},'qceMd':function(_0x41a811,_0x3a5f43,_0x4254b5){return _0x41a811(_0x3a5f43,_0x4254b5);},'zCYTG':'session\x20create','ePFxA':'nova-act-cli'},_0x510bf6=new Map(),_0x4493b9=async _0x2bee43=>{const _0x4268d3=_0x36d6b9;if(_0x2bee43[_0x4268d3(0x1f8)]!=='PreToolUse')return{};const _0x580e09=_0x2bee43;if(_0x3f6946[_0x4268d3(0x207)](_0x580e09['tool_name'],'Bash'))return{};const _0x286d5f=_0x580e09['tool_input'],_0x4affc9=_0x3f6946['RnksF'](extractBashCommand,_0x286d5f);if(!_0x4affc9)return{};const _0x2c9e0b=_0x3f6946[_0x4268d3(0x288)](getNovaActCliCommandBlockReason,_0x4affc9);if(!_0x2c9e0b)return{};return{'decision':'block','reason':_0x2c9e0b};},_0x34fa0c=async _0x321627=>{const _0x3b8637=_0x36d6b9;if(_0x3f6946[_0x3b8637(0x207)](_0x321627[_0x3b8637(0x1f8)],_0x3f6946[_0x3b8637(0x249)]))return{};const _0x2e2e4e=_0x321627;if(_0x2e2e4e[_0x3b8637(0x243)]!==_0x3f6946[_0x3b8637(0x244)])return{};const _0x135215=_0x2e2e4e[_0x3b8637(0x1cc)],_0x3a5d3c=extractBashCommand(_0x135215);if(!_0x3a5d3c)return{};const _0x43c8f1=parseNovaActCliCommand(_0x3a5d3c);if(!_0x43c8f1)return{};_0x510bf6[_0x3b8637(0x239)](_0x43c8f1,_0x3f6946['INIeI'](_0x510bf6[_0x3b8637(0x206)](_0x43c8f1)||0x0,0x1)),_0x3a6435[_0x3b8637(0x22e)]('nova_act_command',{'subcommand':_0x43c8f1}),_0x3a6435['trackPhaseEnd'](_0x3b8637(0x1db),{'subcommand':_0x43c8f1,'commandPreview':previewNovaActCliCommand(_0x3a5d3c)}),console['log'](_0x3b8637(0x241)+_0x3f6946[_0x3b8637(0x258)](formatNovaActCliLog,_0x3a5d3c,_0x43c8f1));if(_0x43c8f1===_0x3f6946['zCYTG']&&_0x380e70)try{await _0x380e70[_0x3b8637(0x254)]();}catch(_0x10b8ae){await _0x3a6435['trackPhaseError']('nova_act_artifact_recording',_0x10b8ae,{'transport':_0x3b8637(0x25b)});}return{};},_0x3a9e84=async _0x9be7ad=>{const _0x2a1870=_0x36d6b9;if(_0x9be7ad['hook_event_name']!=='PostToolUseFailure')return{};const _0x191f61=_0x9be7ad;if(_0x3f6946[_0x2a1870(0x207)](_0x191f61[_0x2a1870(0x243)],_0x2a1870(0x234)))return{};return await _0x3a6435[_0x2a1870(0x208)]('nova_act_command_failure',_0x191f61['error'],{'transport':_0x3f6946['ePFxA'],'toolName':_0x3f6946[_0x2a1870(0x244)]}),{};};return{'preToolUseHook':_0x4493b9,'postToolUseHook':_0x34fa0c,'postToolUseFailureHook':_0x3a9e84,'commandCounts':_0x510bf6};}async function runNovaLifecycleCommand(_0x2740c0){const _0x3c6c91=_0x4a93a9,_0x454cda={'oJweD':function(_0x662de9,_0x5a42a3){return _0x662de9??_0x5a42a3;},'tNITz':function(_0x1e1d3e,_0x3a8320){return _0x1e1d3e(_0x3a8320);}},{novaOptions:_0x2fc613,commandArgs:_0x58413d,telemetry:_0x105d28,phase:_0x5d652b,metadata:_0x221240,timeoutMs:_0x160d89}=_0x2740c0;_0x105d28[_0x3c6c91(0x22e)](_0x5d652b,_0x221240);try{const _0x5b7662=await runNovaActCliCommand({..._0x2fc613,'commandArgs':_0x58413d,'cwd':process['cwd'](),'env':process[_0x3c6c91(0x214)],'timeoutMs':_0x454cda['oJweD'](_0x160d89,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x105d28['trackPhaseEnd'](_0x5d652b,{..._0x221240,'subcommand':_0x5b7662['invocation']['subcommand'],'commandPreview':previewNovaActCliCommand(_0x5b7662[_0x3c6c91(0x248)][_0x3c6c91(0x218)]),'stdoutPreview':_0x454cda[_0x3c6c91(0x229)](previewNovaActCliCommand,_0x5b7662[_0x3c6c91(0x250)]),'stderrPreview':previewNovaActCliCommand(_0x5b7662['stderr']),'logDir':extractNovaActLogDir(_0x5b7662[_0x3c6c91(0x250)])});}catch(_0x14a520){await _0x105d28[_0x3c6c91(0x208)](_0x5d652b,_0x14a520,_0x221240);throw _0x14a520;}}export async function finalizeVerifyFeatureNovaCliSession(_0x238717){const _0x266fff=_0x4a93a9,_0x1c07c8={'UJcyJ':_0x266fff(0x1e4),'JSHqr':_0x266fff(0x1f0),'uLdji':_0x266fff(0x1ea),'spmdn':_0x266fff(0x230),'ZWceg':function(_0x49d55e,_0xfa3a11,_0x1c3468){return _0x49d55e(_0xfa3a11,_0x1c3468);},'MEQBL':_0x266fff(0x21c),'nJXRq':_0x266fff(0x260),'NAigB':'nova_act_session_report','wCpkB':'export','WKKYu':_0x266fff(0x22a),'vDLHx':'nova-report','hRPAS':'close','xWPIA':_0x266fff(0x22f),'EnvNF':function(_0x11899d,_0x1b9028){return _0x11899d(_0x1b9028);}},{telemetry:_0x2d8ce2,novaOptions:_0x149fec,cliArtifactDir:_0x30b012,transportMetadata:_0x4fde5d,artifactRecorder:_0x1b653a}=_0x238717,_0x4fae22=[{'phase':_0x1c07c8[_0x266fff(0x1e8)],'commandArgs':[_0x266fff(0x201),'--output',buildCliArtifactPath(_0x30b012,_0x1c07c8[_0x266fff(0x264)])]},{'phase':_0x266fff(0x26a),'commandArgs':[_0x1c07c8[_0x266fff(0x217)],_0x1c07c8[_0x266fff(0x1e2)],_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':[_0x1c07c8['MEQBL'],_0x266fff(0x276),_0x1c07c8[_0x266fff(0x245)],'json',_0x1c07c8['spmdn'],buildCliArtifactPath(_0x30b012,'nova-session-export.json')]},{'phase':_0x1c07c8['NAigB'],'commandArgs':['session',_0x1c07c8[_0x266fff(0x293)],_0x1c07c8[_0x266fff(0x204)],'--output-dir',_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,_0x1c07c8['vDLHx'])]},{'phase':'nova_act_session_close','commandArgs':[_0x1c07c8['MEQBL'],_0x1c07c8[_0x266fff(0x25e)]]}];for(const _0x2a22af of _0x4fae22){_0x2a22af[_0x266fff(0x274)]===_0x1c07c8['xWPIA']&&await _0x1b653a?.[_0x266fff(0x22c)]();try{await _0x1c07c8['EnvNF'](runNovaLifecycleCommand,{'novaOptions':_0x149fec,'commandArgs':[..._0x2a22af['commandArgs']],'telemetry':_0x2d8ce2,'phase':_0x2a22af['phase'],'metadata':_0x4fde5d});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3ba5dc){const _0x567500=_0x4a93a9,_0x4dd14e={'nhtUF':function(_0x1a3566,_0x3310e5,_0x391c7d){return _0x1a3566(_0x3310e5,_0x391c7d);},'PKLPx':function(_0x56d82a,_0x2e5ede,_0x58e8f7){return _0x56d82a(_0x2e5ede,_0x58e8f7);},'ntsUD':function(_0x314777,_0x104d0b,_0x9d07ad){return _0x314777(_0x104d0b,_0x9d07ad);},'pnUFU':function(_0xfd489a,_0xe25e62){return _0xfd489a<_0xe25e62;},'TXTaH':function(_0x32bcfc,_0x4eaab6){return _0x32bcfc===_0x4eaab6;}},{cwd:_0x37db49,cliArtifactDir:_0x52a0b0,startTime:_0x16edbd}=_0x3ba5dc,_0x28f66b=[];await _0x4dd14e['nhtUF'](mkdir,_0x52a0b0,{'recursive':!![]});const _0x48bfd9=await _0x4dd14e[_0x567500(0x21e)](readdir,_0x37db49,{'withFileTypes':!![]});for(const _0x5519d7 of _0x48bfd9){if(!_0x5519d7[_0x567500(0x1c0)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x567500(0x210)](_0x5519d7[_0x567500(0x261)]))continue;const _0x55dbfd=_0x4dd14e['ntsUD'](join,_0x37db49,_0x5519d7[_0x567500(0x261)]),_0x26ceae=await stat(_0x55dbfd);if(_0x4dd14e['pnUFU'](_0x26ceae['mtimeMs']+0x7d0,_0x16edbd))continue;const _0x2b084e=buildCliArtifactPath(_0x52a0b0,_0x5519d7[_0x567500(0x261)]);if(_0x4dd14e[_0x567500(0x292)](_0x55dbfd,_0x2b084e))continue;await rename(_0x55dbfd,_0x2b084e),_0x28f66b[_0x567500(0x265)](_0x5519d7['name']);}return _0x28f66b[_0x567500(0x1ec)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x2bde99){const _0x2160a0=_0x4a93a9,_0x5ac870={'PLTlh':function(_0x3376ad,_0x564f62,_0x59cbd2){return _0x3376ad(_0x564f62,_0x59cbd2);},'PLkvq':function(_0x1aca3d,_0x232b7c){return _0x1aca3d(_0x232b7c);}},_0x304a91=_0x5ac870[_0x2160a0(0x25c)](join,_0x2bde99,_0x2160a0(0x1f4));try{return{'buffer':await readFile(_0x304a91),'source':_0x304a91};}catch{return{'buffer':await _0x5ac870['PLkvq'](zipVerifyFeatureNovaArtifacts,_0x2bde99),'source':_0x2bde99};}}async function zipVerifyFeatureNovaArtifacts(_0x5de0bb){const _0x50dccc=_0x4a93a9,_0x3e6553={'zcilT':function(_0x328cb6,_0x5ddf07,_0x3a21cb,_0x5c64ac){return _0x328cb6(_0x5ddf07,_0x3a21cb,_0x5c64ac);},'SZwsP':_0x50dccc(0x1be),'GNyqN':function(_0x470298,_0x4a587d){return _0x470298(_0x4a587d);},'MLmyt':function(_0x50cb90,_0x146986,_0x5d994f){return _0x50cb90(_0x146986,_0x5d994f);}},_0xea017c=_0x3e6553['zcilT'](join,_0x5de0bb,'..',_0x50dccc(0x1fb));try{return await _0x3e6553[_0x50dccc(0x277)](execFileAsync,_0x3e6553['SZwsP'],['-qr',_0xea017c,'.','-x',_0x50dccc(0x1c1)],{'cwd':_0x5de0bb}),await _0x3e6553['GNyqN'](readFile,_0xea017c);}finally{await _0x3e6553['MLmyt'](rm,_0xea017c,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x288b39){const _0x9de1f9=_0x4a93a9,_0x9b2362={'aHvRd':function(_0x38cd75,_0x4eab9d){return _0x38cd75(_0x4eab9d);},'rtvZk':function(_0x4e5420,_0xeeb270,_0x6fdf09){return _0x4e5420(_0xeeb270,_0x6fdf09);}},_0x3ddf55=buildNovaActCliInvocation(_0x288b39['novaOptions'],_0x288b39[_0x9de1f9(0x1bc)]);return{'command':_0x3ddf55['command'],'args':_0x3ddf55['args'],'commandPreview':_0x9b2362['aHvRd'](previewNovaActCliCommand,_0x3ddf55[_0x9de1f9(0x218)]),'subcommand':_0x3ddf55[_0x9de1f9(0x220)],'sharedOptionsSuffix':_0x9b2362[_0x9de1f9(0x237)](buildNovaActCliSharedOptionsSuffix,_0x288b39[_0x9de1f9(0x1f3)],_0x288b39['commandArgs'])};}
@@ -1 +1 @@
1
- (function(_0x5a25a7,_0x55ae86){const _0x3d734f=_0x362c,_0x2bef41=_0x5a25a7();while(!![]){try{const _0x28dde0=parseInt(_0x3d734f(0xc5))/0x1+-parseInt(_0x3d734f(0x87))/0x2+parseInt(_0x3d734f(0xbd))/0x3*(parseInt(_0x3d734f(0x7b))/0x4)+-parseInt(_0x3d734f(0x82))/0x5+-parseInt(_0x3d734f(0xb6))/0x6*(-parseInt(_0x3d734f(0xc7))/0x7)+parseInt(_0x3d734f(0x7f))/0x8*(parseInt(_0x3d734f(0x7c))/0x9)+parseInt(_0x3d734f(0x72))/0xa;if(_0x28dde0===_0x55ae86)break;else _0x2bef41['push'](_0x2bef41['shift']());}catch(_0x15ed50){_0x2bef41['push'](_0x2bef41['shift']());}}}(_0x1840,0x4b578));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x1b9893,_0x226348=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x21f4f7=_0x362c;return _0x1b9893['length']>_0x226348?_0x1b9893['slice'](0x0,_0x226348)+_0x21f4f7(0x99):_0x1b9893;}function _0x362c(_0x4fc423,_0x268cd3){_0x4fc423=_0x4fc423-0x6f;const _0x18404d=_0x1840();let _0x362ce8=_0x18404d[_0x4fc423];return _0x362ce8;}function extractShellValue(_0xe93bab){if(!_0xe93bab)return null;return _0xe93bab[0x1]??_0xe93bab[0x2]??_0xe93bab[0x3]??null;}function extractFirstCommandArgument(_0x2e55f9,_0x93bfd7){const _0x57edac=_0x362c,_0x2980fa={'eNLQV':_0x57edac(0x88)},_0x12f972=_0x93bfd7['replace'](/[.*+?^${}()|[\]\\]/g,_0x2980fa[_0x57edac(0xaf)]);return extractShellValue(_0x2e55f9[_0x57edac(0x81)](new RegExp(_0x57edac(0xa1)+_0x12f972+_0x57edac(0x6f))));}function formatCommandTarget(_0x21de30){const _0x33f4a3=_0x362c;if(!_0x21de30)return _0x33f4a3(0x8d);if(/^e\d+$/i[_0x33f4a3(0x94)](_0x21de30))return'ref\x20'+_0x21de30;return JSON['stringify'](truncatePreview(_0x21de30,0x78));}function formatRangerwrightCliLog(_0x54b940,_0x188987){const _0x4378cf=_0x362c,_0x25ad98={'CdIHo':'open\x20and\x20inspect','aqjbX':_0x4378cf(0xae),'VSyoc':_0x4378cf(0x75),'PSMZe':function(_0x156338,_0x41ce03){return _0x156338(_0x41ce03);},'sEfVO':_0x4378cf(0x93),'eVjIg':'inspect','maufg':'inspect\x20page','JAIhO':'stop\x20tracing','xhXVt':_0x4378cf(0xb1),'LkXfX':'close'};switch(_0x188987){case _0x4378cf(0xad):{const _0x4e11a0=extractFirstCommandArgument(_0x54b940,_0x188987);return _0x4e11a0?'open\x20and\x20inspect\x20'+_0x4e11a0:_0x25ad98[_0x4378cf(0x92)];}case _0x25ad98[_0x4378cf(0x9c)]:return'click\x20and\x20inspect\x20'+formatCommandTarget(extractFirstCommandArgument(_0x54b940,_0x188987));case _0x25ad98[_0x4378cf(0x7a)]:case _0x4378cf(0x79):return'fill\x20'+_0x25ad98['PSMZe'](formatCommandTarget,extractFirstCommandArgument(_0x54b940,_0x188987));case'back-and-inspect':return _0x25ad98[_0x4378cf(0xa6)];case _0x25ad98['eVjIg']:return _0x25ad98['maufg'];case'tracing-stop':return _0x25ad98['JAIhO'];case _0x25ad98['xhXVt']:return'stop\x20video\x20recording';case _0x25ad98['LkXfX']:return _0x4378cf(0xba);default:return _0x188987;}}function renderScenarioSections(_0x3d4270){const _0x15cb05=_0x362c,_0x2696cb={'VTaun':'en-US','pkONp':'numeric','STjdF':function(_0x19ae93,_0x39378f){return _0x19ae93>_0x39378f;}},{checklistItem:_0xd74c07,itemFeedback:_0x6eae7d}=_0x3d4270,_0x35dbac=_0xd74c07[_0x15cb05(0x9a)]?_0x15cb05(0x85)+_0xd74c07['notes']:'';let _0x282ba4='';if(_0x6eae7d&&_0x2696cb['STjdF'](_0x6eae7d[_0x15cb05(0x86)][_0x15cb05(0x95)],0x0)){const _0x13022e=_0x6eae7d[_0x15cb05(0x86)][_0x15cb05(0xa2)](_0x46d3f6=>{const _0x212be4=_0x15cb05,_0x5e551d=new Date(_0x46d3f6[_0x212be4(0xb5)])[_0x212be4(0xa5)](_0x2696cb['VTaun'],{'month':'short','day':_0x2696cb['pkONp']}),_0x49650e=_0x46d3f6[_0x212be4(0x8f)]||_0x46d3f6['authorEmail']||'Reviewer',_0x2e24b0=_0x46d3f6['domRef']?'\x20(on\x20element:\x20<'+(_0x46d3f6[_0x212be4(0x91)][_0x212be4(0xbe)][_0x212be4(0xc0)](_0x212be4(0xb8))[_0x212be4(0xb9)]()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x46d3f6[_0x212be4(0x91)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x212be4(0xc2)+_0x46d3f6['id']+']\x20'+_0x49650e+'\x20('+_0x5e551d+'):\x20\x22'+_0x46d3f6['content']+'\x22'+_0x2e24b0;})[_0x15cb05(0x97)]('\x0a');_0x282ba4=_0x15cb05(0x74)+_0x13022e;}const _0x178d20=_0x6eae7d?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x6eae7d[_0x15cb05(0x9e)]:'';return''+_0xd74c07[_0x15cb05(0xbb)]+_0x35dbac+_0x282ba4+_0x178d20;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x66ec69){const _0x3a5d57=_0x362c,_0x14aecf={'VJhcd':'01_initial-state.png','JuVCf':_0x3a5d57(0xb7),'PKtyN':function(_0x572c93,_0x11fc52){return _0x572c93(_0x11fc52);},'bHBjX':_0x3a5d57(0x84)},{checklistItem:_0x46696d,itemFeedback:_0x782efe,taskDescription:_0x4cdfb2,commandPrefix:_0x325723,isCdpMode:_0x448f4c,url:_0x1e1af7,cdpEndpoint:_0x5d1730,loginInstructions:_0x4244b5}=_0x66ec69,_0x2b35cc=_0x14aecf[_0x3a5d57(0x8a)],_0x24bb75=_0x14aecf['JuVCf'],_0x4acfd4=_0x448f4c?_0x325723+_0x3a5d57(0x77)+_0x14aecf['PKtyN'](quoteShellArg,_0x2b35cc):_0x325723+'\x20open-and-inspect\x20'+quoteShellArg(_0x1e1af7??_0x14aecf[_0x3a5d57(0xa3)])+_0x3a5d57(0xc6)+_0x14aecf['PKtyN'](quoteShellArg,_0x2b35cc),_0x244862=_0x448f4c?_0x3a5d57(0x76)+_0x5d1730+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x3a5d57(0xc3)+_0x1e1af7+_0x3a5d57(0xa8),_0x30565c=_0x4244b5?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4244b5+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x3a5d57(0xa4)+renderScenarioSections({'checklistItem':_0x46696d,'itemFeedback':_0x782efe})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4cdfb2+'\x0a\x0a'+_0x244862+_0x30565c+_0x3a5d57(0xb3)+_0x325723+_0x3a5d57(0x8b)+_0x4acfd4+'\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a'+_0x325723+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x24bb75)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x589762){const _0xfb3c27=_0x362c,_0x29201a={'IgWcq':function(_0x2c3cfb,_0x1d9774){return _0x2c3cfb(_0x1d9774);}},_0x3ea0ed='01_mozilla-homepage.png',_0x3cf54d='key_02_learn-more.png';return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x589762['commandPrefix']+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`'+_0x589762[_0xfb3c27(0xb2)]+'\x20open-and-inspect\x20'+quoteShellArg(_0x589762[_0xfb3c27(0x7d)])+_0xfb3c27(0xc6)+_0x29201a[_0xfb3c27(0xa9)](quoteShellArg,_0x3ea0ed)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x589762['commandPrefix']+_0xfb3c27(0xb4)+quoteShellArg(_0x3cf54d)+_0xfb3c27(0x73);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x5693f0){const _0x5edf8b=_0x362c,_0x53aea6=[..._0x5693f0['keys']()]['sort']();let _0x51ce77=0x0;for(const _0x2c87e7 of _0x5693f0[_0x5edf8b(0x9b)]()){_0x51ce77+=_0x2c87e7;}return{'cliCommandCount':_0x51ce77,'cliCommandsSeen':_0x53aea6,'noCliCommandsCalled':_0x51ce77===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x398316){const _0x4bcb93=_0x362c,_0xf6ed22={'yIuSD':function(_0x266a8c,_0x69a0af){return _0x266a8c!==_0x69a0af;},'iTLaK':'Bash','WPtSE':function(_0x58391d,_0x36a036){return _0x58391d+_0x36a036;},'miVkY':_0x4bcb93(0xab),'jeeeO':function(_0x13d4f4,_0x4779d3){return _0x13d4f4(_0x4779d3);},'jHlhT':function(_0x102d35,_0x3ea6c4,_0x3aba23){return _0x102d35(_0x3ea6c4,_0x3aba23);},'nZdAk':function(_0x5355b6,_0x55ec9c){return _0x5355b6!==_0x55ec9c;},'AHdoR':_0x4bcb93(0xaa),'VJNDu':'rangerwright-cli'},_0x1139c5=new Map(),_0x4ab573=async _0x27d4f2=>{const _0x2a4023=_0x4bcb93;if(_0x27d4f2[_0x2a4023(0xbc)]!=='PostToolUse')return{};const _0x581d65=_0x27d4f2;if(_0xf6ed22['yIuSD'](_0x581d65[_0x2a4023(0xa7)],_0xf6ed22[_0x2a4023(0x8e)]))return{};const _0x52310b=_0x581d65['tool_input'],_0x3bbb8c=extractBashCommand(_0x52310b);if(!_0x3bbb8c)return{};const _0x8f6790=parseRangerwrightCliCommand(_0x3bbb8c);if(!_0x8f6790)return{};return _0x1139c5[_0x2a4023(0x98)](_0x8f6790,_0xf6ed22[_0x2a4023(0x71)](_0x1139c5[_0x2a4023(0xc4)](_0x8f6790)||0x0,0x1)),_0x398316[_0x2a4023(0x9f)](_0xf6ed22['miVkY'],{'subcommand':_0x8f6790}),_0x398316[_0x2a4023(0x9d)]('rangerwright_cli_command',{'subcommand':_0x8f6790,'commandPreview':_0xf6ed22[_0x2a4023(0x83)](truncatePreview,_0x3bbb8c)}),console['log'](_0x2a4023(0x96)+_0xf6ed22[_0x2a4023(0x8c)](formatRangerwrightCliLog,_0x3bbb8c,_0x8f6790)),{};},_0x34c00b=async _0x316d94=>{const _0x11cb8d=_0x4bcb93;if(_0x316d94[_0x11cb8d(0xbc)]!==_0x11cb8d(0x89))return{};const _0x477d0a=_0x316d94;if(_0xf6ed22['nZdAk'](_0x477d0a['tool_name'],_0xf6ed22['iTLaK']))return{};return await _0x398316['trackPhaseError'](_0xf6ed22['AHdoR'],_0x477d0a['error'],{'transport':_0xf6ed22['VJNDu'],'toolName':_0xf6ed22[_0x11cb8d(0x8e)]}),{};};return{'postToolUseHook':_0x4ab573,'postToolUseFailureHook':_0x34c00b,'commandCounts':_0x1139c5};}async function runRangerwrightLifecycleCommand(_0xc73541){const _0x1ac73c=_0x362c,_0x56f0e4={'hfyCy':function(_0x3c0f44,_0x2eb5a9){return _0x3c0f44??_0x2eb5a9;}},{options:_0x1124d1,commandArgs:_0x492599,env:_0xe711f0,telemetry:_0x319aea,phase:_0x55d006,metadata:_0x12eb33,timeoutMs:_0x5b5c71}=_0xc73541;_0x319aea[_0x1ac73c(0x9f)](_0x55d006,_0x12eb33);try{const _0x3ff3b8=await runRangerwrightCliCommand({..._0x1124d1,'commandArgs':_0x492599,'cwd':process['cwd'](),'env':_0xe711f0,'timeoutMs':_0x56f0e4['hfyCy'](_0x5b5c71,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x319aea['trackPhaseEnd'](_0x55d006,{..._0x12eb33,'subcommand':_0x3ff3b8[_0x1ac73c(0xb0)][_0x1ac73c(0x80)],'stdoutPreview':truncatePreview(_0x3ff3b8[_0x1ac73c(0xac)],0x7d0),'stderrPreview':truncatePreview(_0x3ff3b8[_0x1ac73c(0x90)],0x7d0)});}catch(_0x354c02){await _0x319aea['trackPhaseError'](_0x55d006,_0x354c02,_0x12eb33);throw _0x354c02;}}function _0x1840(){const _0x5c3f36=['aqjbX','trackPhaseEnd','canonicalFlow','trackPhaseStart','okfzJ','(?:^|\x5cs)','map','bHBjX','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','toLocaleDateString','sEfVO','tool_name','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','IgWcq','rangerwright_cli_command_failure','rangerwright_cli_command','stdout','open-and-inspect','click-and-inspect','eNLQV','invocation','video-stop','commandPrefix','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','createdAt','4134psqlmh','key_99_final-state.png','\x20>\x20','pop','close\x20browser\x20session','description','hook_event_name','141jhOLxE','selector','rangerwright_cli_close','split','commandArgs','-\x20[','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','get','314511ebtYqD','\x20--screenshot-path\x20','3199iCXRfz','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','ynjtK','WPtSE','3601660XdOyvt','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','fill','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','\x20inspect\x20--screenshot-path\x20','rangerwright_cli_video_stop','fill-and-inspect','VSyoc','24044ZwQiuk','90qxYUca','url','rangerwright_cli_tracing_stop','70792iVnNHV','subcommand','match','2541285iYMubR','jeeeO','about:blank','\x0a\x0a##\x20Additional\x20Notes\x0a','unaddressedComments','1087400iBDCRr','\x5c$&','PostToolUseFailure','VJhcd','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','jHlhT','target','iTLaK','authorName','stderr','domRef','CdIHo','go\x20back\x20and\x20inspect','test','length','[rangerwright-cli]\x20','join','set','...','notes','values'];_0x1840=function(){return _0x5c3f36;};return _0x1840();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x2b568a){const _0x4383e4=_0x362c,_0x4373c3={'ynjtK':_0x4383e4(0x78),'okfzJ':_0x4383e4(0xb1),'xzXfa':function(_0x45f651,_0x371e8f){return _0x45f651(_0x371e8f);}},{telemetry:_0x33fadc,rangerwrightOptions:_0x4d0390,env:_0x21e0dd,transportMetadata:_0x5bedab}=_0x2b568a,_0xc5f469=[{'phase':_0x4383e4(0x7e),'commandArgs':['tracing-stop']},{'phase':_0x4373c3[_0x4383e4(0x70)],'commandArgs':[_0x4373c3[_0x4383e4(0xa0)]]},{'phase':_0x4383e4(0xbf),'commandArgs':['close']}];for(const _0xb94daa of _0xc5f469){try{await _0x4373c3['xzXfa'](runRangerwrightLifecycleCommand,{'options':_0x4d0390,'commandArgs':[..._0xb94daa[_0x4383e4(0xc1)]],'env':_0x21e0dd,'telemetry':_0x33fadc,'phase':_0xb94daa['phase'],'metadata':_0x5bedab});}catch{}}}
1
+ (function(_0x45834f,_0x41f193){const _0x12d4cd=_0x49bf,_0x252ee7=_0x45834f();while(!![]){try{const _0x45da2d=parseInt(_0x12d4cd(0x13c))/0x1+parseInt(_0x12d4cd(0x191))/0x2+parseInt(_0x12d4cd(0x18b))/0x3*(-parseInt(_0x12d4cd(0x17a))/0x4)+parseInt(_0x12d4cd(0x13e))/0x5*(parseInt(_0x12d4cd(0x171))/0x6)+-parseInt(_0x12d4cd(0x15f))/0x7+parseInt(_0x12d4cd(0x181))/0x8*(-parseInt(_0x12d4cd(0x173))/0x9)+-parseInt(_0x12d4cd(0x152))/0xa*(-parseInt(_0x12d4cd(0x160))/0xb);if(_0x45da2d===_0x41f193)break;else _0x252ee7['push'](_0x252ee7['shift']());}catch(_0xd3c584){_0x252ee7['push'](_0x252ee7['shift']());}}}(_0x37d3,0x83cd7));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0xbddcc7,_0x2c78eb=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x159bd0=_0x49bf,_0x1e7080={'ZxVFa':function(_0x4d5a03,_0x3eddae){return _0x4d5a03+_0x3eddae;}};return _0xbddcc7['length']>_0x2c78eb?_0x1e7080[_0x159bd0(0x162)](_0xbddcc7[_0x159bd0(0x189)](0x0,_0x2c78eb),_0x159bd0(0x137)):_0xbddcc7;}function extractShellValue(_0x516b78){if(!_0x516b78)return null;return _0x516b78[0x1]??_0x516b78[0x2]??_0x516b78[0x3]??null;}function extractFirstCommandArgument(_0x2e6a82,_0x266c58){const _0x52c3ca=_0x49bf,_0x594f0c={'pYtny':'\x5c$&','odfHF':function(_0x5b4961,_0x17a0c3){return _0x5b4961(_0x17a0c3);}},_0x260c52=_0x266c58['replace'](/[.*+?^${}()|[\]\\]/g,_0x594f0c[_0x52c3ca(0x148)]);return _0x594f0c[_0x52c3ca(0x13b)](extractShellValue,_0x2e6a82[_0x52c3ca(0x14d)](new RegExp(_0x52c3ca(0x17d)+_0x260c52+_0x52c3ca(0x164))));}function formatCommandTarget(_0x2a0c9d){const _0x3e4f1a=_0x49bf,_0x4530f1={'sYdoa':function(_0x4c133c,_0x43527d,_0x446357){return _0x4c133c(_0x43527d,_0x446357);}};if(!_0x2a0c9d)return _0x3e4f1a(0x13a);if(/^e\d+$/i[_0x3e4f1a(0x16e)](_0x2a0c9d))return'ref\x20'+_0x2a0c9d;return JSON[_0x3e4f1a(0x175)](_0x4530f1[_0x3e4f1a(0x192)](truncatePreview,_0x2a0c9d,0x78));}function _0x49bf(_0x4a9c64,_0x1f09ad){_0x4a9c64=_0x4a9c64-0x135;const _0x37d3f6=_0x37d3();let _0x49bf3b=_0x37d3f6[_0x4a9c64];return _0x49bf3b;}function formatRangerwrightCliLog(_0x32cbfe,_0x369471){const _0x1c52bd=_0x49bf,_0x5baca3={'fazTR':_0x1c52bd(0x16f),'OaXEo':function(_0x287a38,_0x440819,_0x2dd8f9){return _0x287a38(_0x440819,_0x2dd8f9);},'NaKzx':'fill-and-inspect','qlsMD':'inspect','gTGeM':'inspect\x20page'};switch(_0x369471){case _0x5baca3['fazTR']:{const _0x334c09=extractFirstCommandArgument(_0x32cbfe,_0x369471);return _0x334c09?_0x1c52bd(0x158)+_0x334c09:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x5baca3[_0x1c52bd(0x161)](extractFirstCommandArgument,_0x32cbfe,_0x369471));case _0x1c52bd(0x167):case _0x5baca3['NaKzx']:return _0x1c52bd(0x18c)+formatCommandTarget(extractFirstCommandArgument(_0x32cbfe,_0x369471));case'back-and-inspect':return _0x1c52bd(0x15c);case _0x5baca3['qlsMD']:return _0x5baca3[_0x1c52bd(0x15a)];case'tracing-stop':return'stop\x20tracing';case _0x1c52bd(0x179):return'stop\x20video\x20recording';case _0x1c52bd(0x16c):return _0x1c52bd(0x151);default:return _0x369471;}}function renderScenarioSections(_0x1ada3c){const _0x278a6a=_0x49bf,_0x48dbf6={'xEnJx':_0x278a6a(0x14a),'NPQfB':_0x278a6a(0x144),'JuCRC':_0x278a6a(0x157)},{checklistItem:_0x20613d,itemFeedback:_0x428b52}=_0x1ada3c,_0x10e546=_0x20613d[_0x278a6a(0x15d)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x20613d[_0x278a6a(0x15d)]:'';let _0x1a4d38='';if(_0x428b52&&_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x17b)]>0x0){const _0x47fe9=_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x139)](_0x1972f8=>{const _0x301ce2=_0x278a6a,_0x2f65d9=new Date(_0x1972f8['createdAt'])[_0x301ce2(0x169)](_0x301ce2(0x16a),{'month':_0x48dbf6['xEnJx'],'day':_0x48dbf6['NPQfB']}),_0x2821b6=_0x1972f8[_0x301ce2(0x182)]||_0x1972f8['authorEmail']||_0x48dbf6[_0x301ce2(0x149)],_0x582d5b=_0x1972f8['domRef']?'\x20(on\x20element:\x20<'+(_0x1972f8[_0x301ce2(0x178)]['selector']['split']('\x20>\x20')[_0x301ce2(0x135)]()?.[_0x301ce2(0x18d)](':')[0x0]||'element')+_0x301ce2(0x145)+(_0x1972f8[_0x301ce2(0x178)]['textContent']||'')[_0x301ce2(0x189)](0x0,0x32)+'\x22)':'';return _0x301ce2(0x183)+_0x1972f8['id']+']\x20'+_0x2821b6+'\x20('+_0x2f65d9+_0x301ce2(0x16d)+_0x1972f8[_0x301ce2(0x184)]+'\x22'+_0x582d5b;})[_0x278a6a(0x172)]('\x0a');_0x1a4d38=_0x278a6a(0x150)+_0x47fe9;}const _0x3a687c=_0x428b52?.[_0x278a6a(0x180)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x428b52['canonicalFlow']:'';return''+_0x20613d['description']+_0x10e546+_0x1a4d38+_0x3a687c;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x3776ad){const _0x2a4156=_0x49bf,_0x1b8a75={'xYjTa':'01_initial-state.png','Vqbxn':_0x2a4156(0x15e),'gfzyo':function(_0x1f4727,_0x4792a6){return _0x1f4727(_0x4792a6);}},{checklistItem:_0x116e15,itemFeedback:_0x4ee5f7,taskDescription:_0x50270b,commandPrefix:_0x3df775,isCdpMode:_0x57cadb,url:_0x4f317e,cdpEndpoint:_0x8f8575,loginInstructions:_0x4b118e}=_0x3776ad,_0xaa2773=_0x1b8a75[_0x2a4156(0x18e)],_0x493d2a='key_99_final-state.png',_0x43db6e=_0x57cadb?_0x3df775+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0xaa2773):_0x3df775+_0x2a4156(0x187)+quoteShellArg(_0x4f317e??_0x1b8a75[_0x2a4156(0x155)])+_0x2a4156(0x177)+_0x1b8a75[_0x2a4156(0x14b)](quoteShellArg,_0xaa2773),_0x5375b5=_0x57cadb?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x8f8575+_0x2a4156(0x153):_0x2a4156(0x163)+_0x4f317e+_0x2a4156(0x154),_0x372801=_0x4b118e?_0x2a4156(0x141)+_0x4b118e+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2a4156(0x13d)+_0x1b8a75['gfzyo'](renderScenarioSections,{'checklistItem':_0x116e15,'itemFeedback':_0x4ee5f7})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x50270b+'\x0a\x0a'+_0x5375b5+_0x372801+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x3df775+_0x2a4156(0x166)+_0x43db6e+_0x2a4156(0x142)+_0x3df775+_0x2a4156(0x188)+_0x1b8a75['gfzyo'](quoteShellArg,_0x493d2a)+_0x2a4156(0x147);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2ae68a){const _0x4a98e6=_0x49bf,_0x24342b={'TmqpM':'01_mozilla-homepage.png','dLsPN':'key_02_learn-more.png'},_0x12e51d=_0x24342b['TmqpM'],_0x28934b=_0x24342b[_0x4a98e6(0x176)];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x2ae68a[_0x4a98e6(0x140)]+_0x4a98e6(0x168)+_0x2ae68a['commandPrefix']+_0x4a98e6(0x187)+quoteShellArg(_0x2ae68a[_0x4a98e6(0x17e)])+_0x4a98e6(0x177)+quoteShellArg(_0x12e51d)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x2ae68a['commandPrefix']+_0x4a98e6(0x193)+quoteShellArg(_0x28934b)+_0x4a98e6(0x138);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x56200a){const _0x37411d=[..._0x56200a['keys']()]['sort']();let _0x39adac=0x0;for(const _0xd1090f of _0x56200a['values']()){_0x39adac+=_0xd1090f;}return{'cliCommandCount':_0x39adac,'cliCommandsSeen':_0x37411d,'noCliCommandsCalled':_0x39adac===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x53473f){const _0x4ed534=_0x49bf,_0x5ed580={'vSsdn':function(_0x483a1f,_0x27d070){return _0x483a1f!==_0x27d070;},'DcNeT':function(_0x1eccf7,_0x1fb35c){return _0x1eccf7(_0x1fb35c);},'GrSbp':function(_0x54c840,_0x1ca2e4){return _0x54c840(_0x1ca2e4);},'hIGvY':function(_0x229031,_0xddd010){return _0x229031!==_0xddd010;},'VZQUR':_0x4ed534(0x15b),'fegOp':_0x4ed534(0x14c),'dAZKz':'rangerwright-cli','svTby':'Bash'},_0x602288=new Map(),_0x5a4189=async _0x3896e2=>{const _0x3d0f2f=_0x4ed534;if(_0x5ed580[_0x3d0f2f(0x156)](_0x3896e2[_0x3d0f2f(0x14f)],_0x3d0f2f(0x17c)))return{};const _0x37e9db=_0x3896e2;if(_0x37e9db['tool_name']!==_0x3d0f2f(0x18f))return{};const _0x332a64=_0x37e9db['tool_input'],_0x540ea7=_0x5ed580['DcNeT'](extractBashCommand,_0x332a64);if(!_0x540ea7)return{};const _0x53753f=_0x5ed580['GrSbp'](parseRangerwrightCliCommand,_0x540ea7);if(!_0x53753f)return{};return _0x602288['set'](_0x53753f,(_0x602288['get'](_0x53753f)||0x0)+0x1),_0x53473f[_0x3d0f2f(0x16b)](_0x3d0f2f(0x146),{'subcommand':_0x53753f}),_0x53473f['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x53753f,'commandPreview':truncatePreview(_0x540ea7)}),console[_0x3d0f2f(0x14e)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x540ea7,_0x53753f)),{};},_0x1555bc=async _0x7dd4f7=>{const _0x2acc16=_0x4ed534;if(_0x5ed580[_0x2acc16(0x165)](_0x7dd4f7[_0x2acc16(0x14f)],_0x5ed580['VZQUR']))return{};const _0x3921b8=_0x7dd4f7;if(_0x3921b8['tool_name']!==_0x2acc16(0x18f))return{};return await _0x53473f['trackPhaseError'](_0x5ed580['fegOp'],_0x3921b8[_0x2acc16(0x17f)],{'transport':_0x5ed580[_0x2acc16(0x186)],'toolName':_0x5ed580['svTby']}),{};};return{'postToolUseHook':_0x5a4189,'postToolUseFailureHook':_0x1555bc,'commandCounts':_0x602288};}async function runRangerwrightLifecycleCommand(_0x162ecf){const _0x5ecfe3=_0x49bf,_0x5934a7={'RHRgq':function(_0x2bad4a,_0x58b2aa){return _0x2bad4a??_0x58b2aa;},'AtZpd':function(_0x4c11ab,_0x57f5d1,_0x4e4be3){return _0x4c11ab(_0x57f5d1,_0x4e4be3);}},{options:_0x1f5d49,commandArgs:_0x2a7ab9,env:_0x7daf3,telemetry:_0x17e20b,phase:_0x72c867,metadata:_0x17ce2e,timeoutMs:_0xbdced8}=_0x162ecf;_0x17e20b['trackPhaseStart'](_0x72c867,_0x17ce2e);try{const _0x2afc28=await runRangerwrightCliCommand({..._0x1f5d49,'commandArgs':_0x2a7ab9,'cwd':process[_0x5ecfe3(0x136)](),'env':_0x7daf3,'timeoutMs':_0x5934a7[_0x5ecfe3(0x143)](_0xbdced8,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x17e20b[_0x5ecfe3(0x159)](_0x72c867,{..._0x17ce2e,'subcommand':_0x2afc28['invocation'][_0x5ecfe3(0x18a)],'stdoutPreview':truncatePreview(_0x2afc28['stdout'],0x7d0),'stderrPreview':_0x5934a7['AtZpd'](truncatePreview,_0x2afc28['stderr'],0x7d0)});}catch(_0x45ad9d){await _0x17e20b['trackPhaseError'](_0x72c867,_0x45ad9d,_0x17ce2e);throw _0x45ad9d;}}function _0x37d3(){const _0x300846=['2800ThwqLY','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','Vqbxn','vSsdn','Reviewer','open\x20and\x20inspect\x20','trackPhaseEnd','gTGeM','PostToolUseFailure','go\x20back\x20and\x20inspect','notes','about:blank','5281017EaTGNw','29271yCeDFR','OaXEo','ZxVFa','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','hIGvY','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','fill','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','toLocaleDateString','en-US','trackPhaseStart','close','):\x20\x22','test','open-and-inspect','rangerwright_cli_close','462558AdbkAE','join','94113lPFXdz','dryTk','stringify','dLsPN','\x20--screenshot-path\x20','domRef','video-stop','36552fRNTqg','length','PostToolUse','(?:^|\x5cs)','url','error','canonicalFlow','808nhfhTS','authorName','-\x20[','content','unaddressedComments','dAZKz','\x20open-and-inspect\x20','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','slice','subcommand','18xvxfQl','fill\x20','split','xYjTa','Bash','phase','821254HhvBCu','sYdoa','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','pop','cwd','...','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','map','target','odfHF','709921NTYvZm','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','35yikDXJ','GkqHU','commandPrefix','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','RHRgq','numeric','>\x20\x22','rangerwright_cli_command','\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','pYtny','JuCRC','short','gfzyo','rangerwright_cli_command_failure','match','log','hook_event_name','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','close\x20browser\x20session'];_0x37d3=function(){return _0x300846;};return _0x37d3();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x318ebf){const _0x3126e9=_0x49bf,_0x109db0={'GkqHU':_0x3126e9(0x170),'jHVvX':_0x3126e9(0x16c),'dryTk':function(_0x1fb6e0,_0x2b9b41){return _0x1fb6e0(_0x2b9b41);}},{telemetry:_0x29ae77,rangerwrightOptions:_0x14d3d9,env:_0x4ed4ae,transportMetadata:_0x548bb6}=_0x318ebf,_0xc8428a=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':_0x109db0[_0x3126e9(0x13f)],'commandArgs':[_0x109db0['jHVvX']]}];for(const _0x5cb309 of _0xc8428a){try{await _0x109db0[_0x3126e9(0x174)](runRangerwrightLifecycleCommand,{'options':_0x14d3d9,'commandArgs':[..._0x5cb309['commandArgs']],'env':_0x4ed4ae,'telemetry':_0x29ae77,'phase':_0x5cb309[_0x3126e9(0x190)],'metadata':_0x548bb6});}catch{}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.1.6",
3
+ "version": "3.1.7-alpha.34400c2-56",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -13,7 +13,7 @@
13
13
  "dev": "tsx src/cli.ts",
14
14
  "check-playwright-version": "node scripts/check-playwright-version.cjs",
15
15
  "postinstall": "node scripts/postinstall.js",
16
- "test": "jest --config jest.config.cjs"
16
+ "test": "cd ../.. && TEST_ENVIRONMENT=true tsx --import ./tests/native-node/setup.ts --test --test-concurrency=1 ./tests/native-node/cli/*.test.cjs"
17
17
  },
18
18
  "files": [
19
19
  "build",
@@ -32,13 +32,10 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/inquirer": "^9.0.7",
35
- "@types/jest": "^29.5.0",
36
35
  "@types/node": "^22.0.0",
37
36
  "@types/ws": "^8.18.1",
38
37
  "@types/yargs": "^17.0.32",
39
- "jest": "^29.7.0",
40
38
  "javascript-obfuscator": "^4.1.1",
41
- "ts-jest": "^29.1.0",
42
39
  "tsx": "^4.20.6",
43
40
  "typescript": "^5.0.0"
44
41
  },