@ranger-testing/ranger-cli 3.1.6-alpha.4de822b-51 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/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/build/skills/ranger/SKILL.md +1 -0
  87. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x2b0904,_0x5aec14){const _0x1e50aa=_0x5913,_0x302939=_0x2b0904();while(!![]){try{const _0x39bb84=parseInt(_0x1e50aa(0x1be))/0x1*(parseInt(_0x1e50aa(0x1b0))/0x2)+-parseInt(_0x1e50aa(0x1cf))/0x3+parseInt(_0x1e50aa(0x1b6))/0x4+parseInt(_0x1e50aa(0x17d))/0x5*(-parseInt(_0x1e50aa(0x1a6))/0x6)+parseInt(_0x1e50aa(0x184))/0x7*(parseInt(_0x1e50aa(0x1c1))/0x8)+parseInt(_0x1e50aa(0x1c9))/0x9+-parseInt(_0x1e50aa(0x1cd))/0xa;if(_0x39bb84===_0x5aec14)break;else _0x302939['push'](_0x302939['shift']());}catch(_0x29815d){_0x302939['push'](_0x302939['shift']());}}}(_0x27af,0x1a072));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';function _0x27af(){const _0x13acd5=['\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','`\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`','tracing-start','00_mozilla-homepage.yml','description','tool_call','domRef','fmDZT','trackPhaseError','dcxBQ','cPUNh','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','NDkIJ','canonicalFlow','bNqlA','log','Bash','capture\x20step\x20`','Reviewer','PostToolUseFailure','sLVQi','tool_input','short','textContent','commandArgs','\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.','selector','notes','name','hxDZg','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','mdAcC','split','open\x20browser','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','Hpmzx','\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','jmqWN','3155eXrfcm','replace','gLPoK','01_initial.yml','get','tool_name','press\x20','658259kzTIwe','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','SCYuo','PCrXq','close','length','jDInT','map','click','JTMTj','wamAP','`\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','stdout','string','trim','ydYZb','\x5c$&','01_mozilla-homepage.png','tab-select','env','playwright_cli_close','playwright_cli_tracing_stop','numeric','\x20tracing-start`,\x20then\x20`','\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','capture\x20key\x20step\x20`','nPGrv','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','CNHAs','`\x0a-\x20`snapshot\x20--filename\x20','screenshot','match','values','150SQJfSh','\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.','trackPhaseEnd','`\x0a9.\x20Run\x20`','snapshot',']\x20**','open\x20new\x20tab','DfEhW','slice','JciSf','73866eoFXZp','KVYVe','TJekH','\x20snapshot\x20--filename\x20','gxrnR','video-stop','568840ITIAjo','\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.','unaddressedComments','lbsdO','test','CWPCo','02_learn-more.yml','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','1cykvZk','\x22,\x20\x22','PMjzD','8zZFsBv','fill\x20','mENiJ','...','join','key_03_success-state.png','mtimeMs','capture\x20snapshot\x20`','811629JqyOSf','start\x20video\x20recording','kjsTx','playwright-cli','713280BTzaOl','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','508944ZgstPo','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','**\x20(','toLocaleDateString','tracing-stop','hook_event_name','sort','PostToolUse','\x0a\x0a##\x20Additional\x20Notes\x0a','fill','\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','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','target','wdbnu','`\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`','Xwngk','[ranger-verification-agent]\x20','content'];_0x27af=function(){return _0x13acd5;};return _0x27af();}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(_0x3e277f,_0x35e876=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x57f902=_0x5913,_0x2fad5f={'Lzgbs':function(_0x23cde5,_0x1e70f3){return _0x23cde5>_0x1e70f3;},'Apvdm':_0x57f902(0x1c4)};return _0x2fad5f['Lzgbs'](_0x3e277f[_0x57f902(0x189)],_0x35e876)?_0x3e277f['slice'](0x0,_0x35e876)+_0x2fad5f['Apvdm']:_0x3e277f;}function buildCliArtifactPath(_0x53ed5c,_0x45b514){return join(_0x53ed5c,_0x45b514);}function toStepDisplayName(_0x12d7e6){const _0x40a266=_0x5913,_0x67493a={'nPGrv':function(_0x148ea8,_0x36b1d7){return _0x148ea8(_0x36b1d7);}},_0x3ba824=basename(_0x12d7e6)[_0x40a266(0x17e)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3ba824,'isKeyStep':/^key_/i['test'](_0x67493a[_0x40a266(0x19e)](basename,_0x12d7e6))};}function extractShellValue(_0x1ce513){if(!_0x1ce513)return null;return _0x1ce513[0x1]??_0x1ce513[0x2]??_0x1ce513[0x3]??null;}function extractFilenameOption(_0x1988b1){const _0x19d5fd=_0x5913;return extractShellValue(_0x1988b1[_0x19d5fd(0x1a4)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x2672ac,_0x253377){const _0xd9ac8e=_0x5913,_0x2833bf={'CWPCo':_0xd9ac8e(0x194)},_0x455432=_0x253377['replace'](/[.*+?^${}()|[\]\\]/g,_0x2833bf[_0xd9ac8e(0x1bb)]);return extractShellValue(_0x2672ac[_0xd9ac8e(0x1a4)](new RegExp('(?:^|\x5cs)'+_0x455432+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x3b6bba){const _0x138136=_0x5913,_0x648ea9={'dcxBQ':_0x138136(0x1db)};if(!_0x3b6bba)return _0x648ea9[_0x138136(0x15f)];if(/^e\d+$/i['test'](_0x3b6bba))return'ref\x20'+_0x3b6bba;return JSON['stringify'](truncatePreview(_0x3b6bba,0x78));}function _0x5913(_0x12cad3,_0x33638e){_0x12cad3=_0x12cad3-0x15e;const _0x27af26=_0x27af();let _0x591326=_0x27af26[_0x12cad3];return _0x591326;}function formatPlaywrightCliLog(_0x243f48,_0x1b9b60){const _0x7ae5aa=_0x5913,_0x400485={'JTMTj':'open','CNHAs':function(_0x42d49b,_0xe1837,_0xca7645){return _0x42d49b(_0xe1837,_0xca7645);},'lbsdO':_0x7ae5aa(0x178),'RxOSe':_0x7ae5aa(0x1e3),'yFOeO':_0x7ae5aa(0x1d3),'JjwMK':'stop\x20tracing','pRmAd':'video-start','szqnO':_0x7ae5aa(0x1ca),'sLVQi':'video-stop','qCIpU':'stop\x20video\x20recording','wamAP':function(_0xa02109,_0x2c9dbc){return _0xa02109(_0x2c9dbc);},'LTCDc':function(_0x555d32,_0xa07c4d){return _0x555d32(_0xa07c4d);},'xHHak':_0x7ae5aa(0x18c),'DfEhW':function(_0x2cc573,_0x53b0f2){return _0x2cc573(_0x53b0f2);},'Hpmzx':function(_0x165c47,_0x436859,_0x461204){return _0x165c47(_0x436859,_0x461204);},'wOowP':function(_0x147d3b,_0x2887c4){return _0x147d3b(_0x2887c4);},'PCrXq':'run\x20custom\x20Playwright\x20code'};switch(_0x1b9b60){case _0x400485[_0x7ae5aa(0x18d)]:{const _0x39203d=_0x400485[_0x7ae5aa(0x1a1)](extractFirstCommandArgument,_0x243f48,_0x1b9b60);return _0x39203d?'open\x20'+_0x39203d:_0x400485[_0x7ae5aa(0x1b9)];}case _0x400485['RxOSe']:return'start\x20tracing';case _0x400485['yFOeO']:return _0x400485['JjwMK'];case _0x400485['pRmAd']:return _0x400485['szqnO'];case _0x400485[_0x7ae5aa(0x16a)]:return _0x400485['qCIpU'];case _0x7ae5aa(0x1aa):{const _0x2124f3=extractFilenameOption(_0x243f48);if(!_0x2124f3)return'capture\x20snapshot';const {name:_0x5d989d}=_0x400485[_0x7ae5aa(0x18e)](toStepDisplayName,_0x2124f3);return _0x7ae5aa(0x1c8)+_0x5d989d+'`';}case _0x7ae5aa(0x1a3):{const _0x136b2e=_0x400485['LTCDc'](extractFilenameOption,_0x243f48);if(!_0x136b2e)return'capture\x20screenshot';const {name:_0x4a6000,isKeyStep:_0x185e96}=toStepDisplayName(_0x136b2e);return _0x185e96?_0x7ae5aa(0x19d)+_0x4a6000+'`':_0x7ae5aa(0x167)+_0x4a6000+'`';}case _0x400485['xHHak']:return'click\x20'+_0x400485[_0x7ae5aa(0x18e)](formatCommandTarget,extractFirstCommandArgument(_0x243f48,_0x1b9b60));case'check':return'check\x20'+_0x400485[_0x7ae5aa(0x1ad)](formatCommandTarget,_0x400485['Hpmzx'](extractFirstCommandArgument,_0x243f48,_0x1b9b60));case _0x7ae5aa(0x1d8):return _0x7ae5aa(0x1c2)+_0x400485['wOowP'](formatCommandTarget,_0x400485['Hpmzx'](extractFirstCommandArgument,_0x243f48,_0x1b9b60));case'press':return _0x7ae5aa(0x183)+_0x400485[_0x7ae5aa(0x18e)](formatCommandTarget,_0x400485[_0x7ae5aa(0x17a)](extractFirstCommandArgument,_0x243f48,_0x1b9b60));case'run-code':return _0x400485[_0x7ae5aa(0x187)];case'tab-new':{const _0x405614=_0x400485['Hpmzx'](extractFirstCommandArgument,_0x243f48,_0x1b9b60);return _0x405614?'open\x20new\x20tab\x20'+_0x405614:_0x7ae5aa(0x1ac);}case _0x7ae5aa(0x196):{const _0x3dd0a5=_0x400485[_0x7ae5aa(0x17a)](extractFirstCommandArgument,_0x243f48,_0x1b9b60);return _0x3dd0a5?'select\x20tab\x20'+_0x3dd0a5:'select\x20tab';}default:return _0x1b9b60;}}function extractPlaywrightCliToolDescription(_0xd18cd2){const _0x5a920e=_0x5913,_0x2afa7a={'wdbnu':_0x5a920e(0x191),'fxkqX':function(_0x54f718,_0x47ae04){return _0x54f718>_0x47ae04;}},_0x346f48=_0xd18cd2[_0x5a920e(0x1e5)];if(typeof _0x346f48!==_0x2afa7a[_0x5a920e(0x1dc)])return null;const _0x3ef4e8=_0x346f48[_0x5a920e(0x192)]()[_0x5a920e(0x17e)](/\s+/g,'\x20');return _0x2afa7a['fxkqX'](_0x3ef4e8['length'],0x0)?_0x3ef4e8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x5e2b6d,_0x35f9d6,_0x32e4d4){const _0x5cd0cc=_0x5913,_0x291167={'UFIVg':function(_0x3751ff,_0x5b3e31){return _0x3751ff(_0x5b3e31);}},_0x10d642=formatPlaywrightCliLog(_0x35f9d6,_0x32e4d4),_0x36e95a=_0x291167['UFIVg'](extractPlaywrightCliToolDescription,_0x5e2b6d);if(!_0x36e95a)return'[playwright-cli]\x20'+_0x10d642;if(process[_0x5cd0cc(0x197)]['DEBUG'])return _0x5cd0cc(0x1df)+_0x36e95a+'\x20('+_0x10d642+')';return _0x5cd0cc(0x1df)+_0x36e95a;}export function buildVerifyFeatureCliDebugPrompt(_0x4196f4,_0x175624){const _0x63cf9e=_0x5913,_0x152c67={'JNXou':function(_0x2becb5,_0x2929c5,_0x244ba9){return _0x2becb5(_0x2929c5,_0x244ba9);},'cPUNh':_0x63cf9e(0x1bc),'JciSf':function(_0x53efa3,_0x19cd93,_0x3c0050){return _0x53efa3(_0x19cd93,_0x3c0050);},'gLPoK':function(_0xd5c439,_0x21f718){return _0xd5c439(_0x21f718);},'jusod':function(_0x421b00,_0x499ac8){return _0x421b00(_0x499ac8);}},_0x9b0b1=buildCliArtifactPath(_0x175624,_0x63cf9e(0x1e4)),_0x36b6e9=buildCliArtifactPath(_0x175624,_0x63cf9e(0x195)),_0x10c6a1=_0x152c67['JNXou'](buildCliArtifactPath,_0x175624,_0x152c67[_0x63cf9e(0x160)]),_0x278bcf=_0x152c67[_0x63cf9e(0x1af)](buildCliArtifactPath,_0x175624,'03_learn-more.png'),_0x2b4a52=_0x152c67[_0x63cf9e(0x17f)](quoteShellArg,_0x9b0b1),_0x37751e=quoteShellArg(_0x36b6e9),_0x29293d=_0x152c67['jusod'](quoteShellArg,_0x10c6a1),_0x5086c1=_0x152c67['gLPoK'](quoteShellArg,_0x278bcf);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x4196f4+'\x0a\x0a1.\x20Run\x20`'+_0x4196f4+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x4196f4+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x4196f4+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x175624+_0x63cf9e(0x1d0)+_0x4196f4+_0x63cf9e(0x1b3)+_0x2b4a52+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x4196f4+'\x20screenshot\x20--filename\x20'+_0x37751e+_0x63cf9e(0x179)+_0x4196f4+_0x63cf9e(0x1b3)+_0x29293d+_0x63cf9e(0x1a9)+_0x4196f4+'\x20screenshot\x20--filename\x20'+_0x5086c1+_0x63cf9e(0x1bd);}export function buildVerifyFeatureCliPrompt(_0x17b233){const _0x16333b=_0x5913,_0x1158b0={'rxrkD':_0x16333b(0x19a),'fmDZT':'\x20>\x20','jmqWN':_0x16333b(0x1c6),'mENiJ':function(_0x25ba18,_0x30cddd,_0x5d3ac3){return _0x25ba18(_0x30cddd,_0x5d3ac3);},'hFNpj':function(_0x418f9d,_0x45ee88){return _0x418f9d(_0x45ee88);},'gxrnR':function(_0x49c87d,_0x456646){return _0x49c87d(_0x456646);},'ydYZb':function(_0x5ea02e,_0x544142){return _0x5ea02e(_0x544142);},'ZZeZw':function(_0x44e0b0,_0x51cafe){return _0x44e0b0>_0x51cafe;},'JADdO':function(_0x46a762,_0x4fdefe,_0x269467){return _0x46a762(_0x4fdefe,_0x269467);},'Xwngk':'key_04_success-state.png'},{checklistItem:_0x251ac4,itemFeedback:_0x47ec98,taskDescription:_0x53e258,cliCommandPrefix:_0x504af5,cliArtifactDir:_0x20e386,isCdpMode:_0x3d05d2,url:_0xf1cbf4,cdpEndpoint:_0x101a0f,loginInstructions:_0x5eef24}=_0x17b233,_0x3e894f=buildCliArtifactPath(_0x20e386,_0x16333b(0x180)),_0x3de4df=buildCliArtifactPath(_0x20e386,'02_state.yml'),_0x87bf58=buildCliArtifactPath(_0x20e386,_0x1158b0[_0x16333b(0x17c)]),_0x4a56e9=_0x1158b0[_0x16333b(0x1c3)](buildCliArtifactPath,_0x20e386,'01_initial-state.png'),_0x174d8a=_0x1158b0['hFNpj'](quoteShellArg,_0x3e894f),_0x52ab80=_0x1158b0[_0x16333b(0x1b4)](quoteShellArg,_0x3de4df),_0x133d38=_0x1158b0['hFNpj'](quoteShellArg,_0x87bf58),_0x32872e=_0x1158b0[_0x16333b(0x193)](quoteShellArg,_0x4a56e9),_0x4a835a=_0x251ac4[_0x16333b(0x171)]?_0x16333b(0x1d7)+_0x251ac4['notes']:'';let _0x44d335='';if(_0x47ec98&&_0x1158b0['ZZeZw'](_0x47ec98[_0x16333b(0x1b8)]['length'],0x0)){const _0x4acdf0=_0x47ec98['unaddressedComments'][_0x16333b(0x18b)](_0x4520dc=>{const _0x555673=_0x16333b,_0x1906e8=new Date(_0x4520dc['createdAt'])[_0x555673(0x1d2)]('en-US',{'month':_0x555673(0x16c),'day':_0x1158b0['rxrkD']}),_0x130096=_0x4520dc['authorName']||_0x4520dc['authorEmail']||_0x555673(0x168),_0x4e3d03=_0x4520dc[_0x555673(0x1e7)]?'\x20(on\x20element:\x20<'+(_0x4520dc[_0x555673(0x1e7)][_0x555673(0x170)]['split'](_0x1158b0[_0x555673(0x1e8)])['pop']()?.[_0x555673(0x177)](':')[0x0]||'element')+'>\x20\x22'+(_0x4520dc[_0x555673(0x1e7)][_0x555673(0x16d)]||'')[_0x555673(0x1ae)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4520dc['id']+_0x555673(0x1ab)+_0x130096+_0x555673(0x1d1)+_0x1906e8+'):\x20\x22'+_0x4520dc[_0x555673(0x1e0)]+'\x22'+_0x4e3d03;})[_0x16333b(0x1c5)]('\x0a');_0x44d335=_0x16333b(0x19c)+_0x4acdf0;}const _0x2cd491=_0x47ec98?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x47ec98[_0x16333b(0x163)]:'',_0x2a84ad=_0x3d05d2?_0x16333b(0x19f)+_0x101a0f+_0x16333b(0x1a0):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0xf1cbf4+_0x16333b(0x17b),_0x209c29=_0xf1cbf4?quoteShellArg(_0xf1cbf4):'',_0x23a1d4=_0x3d05d2?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x504af5+'\x20open`,\x20then\x20`'+_0x504af5+_0x16333b(0x19b)+_0x504af5+_0x16333b(0x161)+_0x20e386+_0x16333b(0x185)+_0x504af5+_0x16333b(0x1b3)+_0x174d8a+_0x16333b(0x1dd)+_0x504af5+'\x20screenshot\x20--filename\x20'+_0x32872e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x504af5+'\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':_0x16333b(0x1da)+_0x504af5+'\x20open\x20'+_0x209c29+'`,\x20then\x20`'+_0x504af5+_0x16333b(0x19b)+_0x504af5+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x20e386+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x504af5+_0x16333b(0x1b3)+_0x174d8a+'`\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`'+_0x504af5+'\x20screenshot\x20--filename\x20'+_0x32872e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x504af5+_0x16333b(0x1d9),_0x54d198=_0x3d05d2?_0x16333b(0x1b7):_0x16333b(0x16f),_0x4fbd34=_0x5eef24?_0x16333b(0x174)+_0x5eef24+'\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'+_0x251ac4[_0x16333b(0x1e5)]+_0x4a835a+_0x44d335+_0x2cd491+_0x16333b(0x1ce)+_0x53e258+'\x0a\x0a'+_0x2a84ad+_0x4fbd34+'\x0a\x0a'+_0x23a1d4+_0x16333b(0x175)+_0x504af5+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x20e386+_0x16333b(0x1a2)+_0x52ab80+_0x16333b(0x18f)+_0x133d38+_0x16333b(0x1e2)+_0x20e386+'`:\x20\x22'+_0x4a56e9+_0x16333b(0x1bf)+_0x1158b0['JADdO'](buildCliArtifactPath,_0x20e386,'02_button-clicked.png')+'\x22,\x20\x22'+buildCliArtifactPath(_0x20e386,'03_result-visible.png')+_0x16333b(0x1e1)+_0x1158b0['JADdO'](buildCliArtifactPath,_0x20e386,_0x1158b0[_0x16333b(0x1de)])+'\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'+_0x54d198+_0x16333b(0x1a7);}export function summarizeVerifyFeatureCliCommandAvailability(_0x5aaa76){const _0x5799d1=_0x5913,_0x3c6536=[..._0x5aaa76['keys']()][_0x5799d1(0x1d5)]();let _0xdb8881=0x0;for(const _0x14e472 of _0x5aaa76[_0x5799d1(0x1a5)]()){_0xdb8881+=_0x14e472;}return{'cliCommandCount':_0xdb8881,'cliCommandsSeen':_0x3c6536,'noCliCommandsCalled':_0xdb8881===0x0};}export function createVerifyFeatureCliHooks(_0x430f80){const _0x3f563c=_0x5913,_0x22bc20={'hxDZg':_0x3f563c(0x1d6),'vNfsW':_0x3f563c(0x166),'jDInT':function(_0x3d9bfa,_0x2f4cfb){return _0x3d9bfa(_0x2f4cfb);},'VVQJh':_0x3f563c(0x1e6),'NDkIJ':'snapshot','CLoBg':function(_0x14eba4,_0x5621a8){return _0x14eba4!==_0x5621a8;},'mdAcC':_0x3f563c(0x169)},_0x272ba6=new Map(),_0x120eb1=async _0x1caa00=>{const _0x20619a=_0x3f563c;if(_0x1caa00[_0x20619a(0x1d4)]!==_0x22bc20[_0x20619a(0x173)])return{};const _0x171f0b=_0x1caa00;if(_0x171f0b[_0x20619a(0x182)]!==_0x22bc20['vNfsW'])return{};const _0x5282d4=_0x171f0b[_0x20619a(0x16b)],_0x517930=extractBashCommand(_0x5282d4);if(!_0x517930)return{};const _0x19ae24=_0x22bc20[_0x20619a(0x18a)](parsePlaywrightCliCommand,_0x517930);if(!_0x19ae24)return{};return _0x272ba6['set'](_0x19ae24,(_0x272ba6[_0x20619a(0x181)](_0x19ae24)||0x0)+0x1),_0x430f80['trackPhaseStart'](_0x22bc20['VVQJh'],{'transport':_0x20619a(0x1cc),'toolName':_0x19ae24}),_0x430f80['trackPhaseEnd'](_0x20619a(0x1e6),{'transport':'playwright-cli','toolName':_0x19ae24,'bashCommandPreview':truncatePreview(_0x517930)}),_0x19ae24!==_0x22bc20[_0x20619a(0x162)]&&console[_0x20619a(0x165)](formatPlaywrightCliConsoleLogMessage(_0x5282d4,_0x517930,_0x19ae24)),{};},_0x3c4234=async _0x8347b7=>{const _0x508628=_0x3f563c;if(_0x22bc20['CLoBg'](_0x8347b7[_0x508628(0x1d4)],_0x22bc20[_0x508628(0x176)]))return{};const _0x1c98bb=_0x8347b7;if(_0x1c98bb[_0x508628(0x182)]!==_0x22bc20['vNfsW'])return{};return await _0x430f80[_0x508628(0x15e)]('tool_failure',_0x1c98bb['error'],{'transport':'playwright-cli','toolName':_0x22bc20['vNfsW']}),{};};return{'postToolUseHook':_0x120eb1,'postToolUseFailureHook':_0x3c4234,'commandCounts':_0x272ba6};}async function runPlaywrightCliLifecycleCommand(_0x51bfbc){const _0x5849d3=_0x5913,_0x596935={'TJekH':function(_0x2a3bfb,_0x2c321a){return _0x2a3bfb(_0x2c321a);},'KVYVe':function(_0xf944dc,_0x34ab39){return _0xf944dc??_0x34ab39;},'RKkEM':function(_0x24a185,_0x32813b,_0x581670){return _0x24a185(_0x32813b,_0x581670);}},{sessionId:_0x28bfbb,configPath:_0x4fe1bc,commandArgs:_0xbb01e6,env:_0x4210ee,telemetry:_0x14d1e8,phase:_0x4b6fea,metadata:_0x25b8a3,timeoutMs:_0x2d5313}=_0x51bfbc;_0x14d1e8['trackPhaseStart'](_0x4b6fea,_0x25b8a3);try{const _0xc6214b=await _0x596935[_0x5849d3(0x1b2)](runPlaywrightCliCommand,{'sessionId':_0x28bfbb,'configPath':_0x4fe1bc,'commandArgs':_0xbb01e6,'cwd':process['cwd'](),'env':_0x4210ee,'timeoutMs':_0x596935[_0x5849d3(0x1b1)](_0x2d5313,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x14d1e8[_0x5849d3(0x1a8)](_0x4b6fea,{..._0x25b8a3,'subcommand':_0xc6214b['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0xc6214b[_0x5849d3(0x190)],0x7d0),'stderrPreview':_0x596935['RKkEM'](truncatePreview,_0xc6214b['stderr'],0x7d0)});}catch(_0x273091){await _0x14d1e8['trackPhaseError'](_0x4b6fea,_0x273091,_0x25b8a3);throw _0x273091;}}export async function finalizeVerifyFeatureCliSession(_0xc893bc){const _0x27c8f2=_0x5913,_0x2aa02a={'kjsTx':_0x27c8f2(0x199),'XRDeu':'playwright_cli_video_stop','SCYuo':function(_0x514e97,_0x12c7c6){return _0x514e97(_0x12c7c6);}},{telemetry:_0x21e16f,sessionId:_0x84b3b7,configPath:_0x4af9e7,cliArtifactDir:_0x4a54b3,env:_0x239851,transportMetadata:_0x3ac61}=_0xc893bc,_0x52ebf4=[{'phase':_0x2aa02a[_0x27c8f2(0x1cb)],'commandArgs':[_0x27c8f2(0x1d3)]},{'phase':_0x2aa02a['XRDeu'],'commandArgs':[_0x27c8f2(0x1b5),'--filename='+buildCliArtifactPath(_0x4a54b3,'session-recording.webm')]},{'phase':_0x27c8f2(0x198),'commandArgs':[_0x27c8f2(0x188)]}];for(const _0xc08597 of _0x52ebf4){try{await _0x2aa02a[_0x27c8f2(0x186)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x84b3b7,'configPath':_0x4af9e7,'commandArgs':[..._0xc08597[_0x27c8f2(0x16e)]],'env':_0x239851,'telemetry':_0x21e16f,'phase':_0xc08597['phase'],'metadata':_0x3ac61});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x36fbb9){const _0x2d3e08=_0x5913,_0x22f789={'cXRDH':'trace.zip','CPuII':'trace.trace.zip','PMjzD':function(_0x163391,_0x4376d2,_0x1a0798){return _0x163391(_0x4376d2,_0x1a0798);},'KovKB':function(_0x8f535a,_0x9b139c){return _0x8f535a(_0x9b139c);}},_0x31e8cb=[_0x22f789['cXRDH'],_0x22f789['CPuII']];for(const _0x2ed9c2 of _0x31e8cb){const _0x13e57c=_0x22f789[_0x2d3e08(0x1c0)](join,_0x36fbb9,_0x2ed9c2);try{return{'buffer':await _0x22f789['KovKB'](readFile,_0x13e57c),'source':_0x13e57c};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x30ad23){const _0x2db763=_0x5913,_0x468a2b={'wBUvi':function(_0x200ade,_0x2628ce,_0x3dfd5c){return _0x200ade(_0x2628ce,_0x3dfd5c);},'FsjjG':function(_0x469fdd,_0x865601){return _0x469fdd(_0x865601);},'bNqlA':function(_0xac90de,_0x777244){return _0xac90de<_0x777244;},'YVBqf':function(_0x5174bd,_0x35e6c6){return _0x5174bd+_0x35e6c6;}},{cwd:_0x4b3510,cliArtifactDir:_0x3a4e3c,startTime:_0x499c1a}=_0x30ad23,_0x92665b=[];await mkdir(_0x3a4e3c,{'recursive':!![]});const _0x5695d3=await _0x468a2b['wBUvi'](readdir,_0x4b3510,{'withFileTypes':!![]});for(const _0x141d97 of _0x5695d3){if(!_0x141d97['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x2db763(0x1ba)](_0x141d97[_0x2db763(0x172)]))continue;const _0xfafaf7=_0x468a2b['wBUvi'](join,_0x4b3510,_0x141d97[_0x2db763(0x172)]),_0x5f2758=await _0x468a2b['FsjjG'](stat,_0xfafaf7);if(_0x468a2b[_0x2db763(0x164)](_0x468a2b['YVBqf'](_0x5f2758[_0x2db763(0x1c7)],0x7d0),_0x499c1a))continue;const _0x35da95=buildCliArtifactPath(_0x3a4e3c,_0x141d97['name']);if(_0xfafaf7===_0x35da95)continue;await rename(_0xfafaf7,_0x35da95),_0x92665b['push'](_0x141d97[_0x2db763(0x172)]);}return _0x92665b['sort']();}
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 +1 @@
1
- const _0x289b1f=_0x1399;(function(_0xc4343f,_0x2babde){const _0x4b7dab=_0x1399,_0x12b57c=_0xc4343f();while(!![]){try{const _0x296d2a=parseInt(_0x4b7dab(0x246))/0x1*(parseInt(_0x4b7dab(0x1c8))/0x2)+-parseInt(_0x4b7dab(0x23c))/0x3+parseInt(_0x4b7dab(0x227))/0x4*(parseInt(_0x4b7dab(0x244))/0x5)+-parseInt(_0x4b7dab(0x1bc))/0x6+-parseInt(_0x4b7dab(0x1cd))/0x7+parseInt(_0x4b7dab(0x237))/0x8+-parseInt(_0x4b7dab(0x1fe))/0x9*(-parseInt(_0x4b7dab(0x21f))/0xa);if(_0x296d2a===_0x2babde)break;else _0x12b57c['push'](_0x12b57c['shift']());}catch(_0x8ef48a){_0x12b57c['push'](_0x12b57c['shift']());}}}(_0x333d,0xa078d));function _0x1399(_0x308c82,_0x5a59da){_0x308c82=_0x308c82-0x193;const _0x333d3d=_0x333d();let _0x13991f=_0x333d3d[_0x308c82];return _0x13991f;}import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create','execute',_0x289b1f(0x1d4),_0x289b1f(0x1b9),'goto',_0x289b1f(0x240),_0x289b1f(0x1e9),'screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x37376f,_0x1910b8){return join(_0x37376f,_0x1910b8);}export class NovaActArtifactRecorder{[_0x289b1f(0x1a3)];['browser']=null;['context']=null;[_0x289b1f(0x257)]=null;[_0x289b1f(0x1f2)]=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x289b1f(0x222)]=null;['traceSampleInFlight']=null;[_0x289b1f(0x1da)]=![];['screencastStarted']=![];[_0x289b1f(0x194)]=![];['stopped']=![];constructor(_0x52b751){this['params']=_0x52b751;}async[_0x289b1f(0x1ec)](){const _0x25bb13=_0x289b1f,_0x23f5c2={'evtvo':_0x25bb13(0x239),'yPZJG':'nova_act_artifact_recording'};if(this[_0x25bb13(0x194)])return;this[_0x25bb13(0x194)]=!![];const _0x55882a=await this['readSessionMetadataWithRetry'](),_0x30a97d=_0x55882a[_0x25bb13(0x203)];if(!_0x30a97d)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x25bb13(0x1a3)]['novaOptions']['sessionId']);await mkdir(this[_0x25bb13(0x1a3)][_0x25bb13(0x1cc)],{'recursive':!![]}),this['browser']=await chromium[_0x25bb13(0x224)](_0x30a97d,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x25bb13(0x1c0)]()[0x0]??null;if(!this[_0x25bb13(0x208)])throw new Error(_0x23f5c2['evtvo']);await this[_0x25bb13(0x208)][_0x25bb13(0x1bd)][_0x25bb13(0x1ec)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x25bb13(0x1da)]=!![],this[_0x25bb13(0x1d9)](),await this[_0x25bb13(0x204)](),this[_0x25bb13(0x1a3)][_0x25bb13(0x1f8)][_0x25bb13(0x252)](_0x23f5c2['yPZJG'],{...this[_0x25bb13(0x1a3)][_0x25bb13(0x198)],'cdpEndpoint':_0x30a97d,'browserPid':_0x55882a['browser_pid'],'sessionState':_0x55882a['state']}),this[_0x25bb13(0x1a3)][_0x25bb13(0x1f8)]['trackPhaseEnd'](_0x23f5c2['yPZJG'],{...this[_0x25bb13(0x1a3)][_0x25bb13(0x198)],'tracingStarted':this[_0x25bb13(0x1da)],'screencastStarted':this[_0x25bb13(0x19e)]});}async[_0x289b1f(0x21d)](){const _0x3477aa=_0x289b1f,_0x537fdc={'TInXd':_0x3477aa(0x1b2)};if(this[_0x3477aa(0x200)])return;this[_0x3477aa(0x200)]=!![];const _0x5576d7={...this['params'][_0x3477aa(0x198)],'frameCount':this[_0x3477aa(0x25e)],'traceSampleCount':this[_0x3477aa(0x1ab)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x3477aa(0x1a3)][_0x3477aa(0x1f8)]['trackPhaseStart'](_0x537fdc[_0x3477aa(0x1a6)],_0x5576d7);try{await this['stopTraceSampling'](),await this[_0x3477aa(0x1ea)](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x3477aa(0x1f2)]);this['context']&&this[_0x3477aa(0x1da)]&&await this[_0x3477aa(0x208)]['tracing'][_0x3477aa(0x21d)]({'path':buildCliArtifactPath(this[_0x3477aa(0x1a3)]['cliArtifactDir'],'trace.zip')});const _0x3a9cd4=await this['encodeScreencastVideo']();this['params']['telemetry'][_0x3477aa(0x250)](_0x3477aa(0x1b2),{..._0x5576d7,'videoPath':_0x3a9cd4});}catch(_0x5d2dbb){await this['params'][_0x3477aa(0x1f8)]['trackPhaseError'](_0x3477aa(0x1b2),_0x5d2dbb,_0x5576d7);}finally{await this[_0x3477aa(0x1fa)]?.['close']()[_0x3477aa(0x261)](()=>undefined),this[_0x3477aa(0x1fa)]=null,this[_0x3477aa(0x208)]=null,this[_0x3477aa(0x257)]=null;}}async[_0x289b1f(0x1b8)](){const _0x1cc069=_0x289b1f,_0xd1e82={'aBduw':_0x1cc069(0x22d),'wgTIM':_0x1cc069(0x1d7),'JMFdm':function(_0x705a01,_0x157b26,_0x50ad51){return _0x705a01(_0x157b26,_0x50ad51);},'RVpqo':function(_0xd6d29c,_0x3935f4){return _0xd6d29c(_0x3935f4);}},_0x2c4310=join(homedir(),_0xd1e82['aBduw'],'browser',_0xd1e82['wgTIM'],this['params']['novaOptions'][_0x1cc069(0x202)]+'.json'),_0x36d389=Date[_0x1cc069(0x1f4)]();let _0x2dc238;do{try{const _0x12ca75=JSON['parse'](await _0xd1e82[_0x1cc069(0x217)](readFile,_0x2c4310,_0x1cc069(0x1b0)));if(_0x12ca75[_0x1cc069(0x203)])return _0x12ca75;_0x2dc238=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x2c4310);}catch(_0x29a840){_0x2dc238=_0x29a840;}await _0xd1e82[_0x1cc069(0x1ad)](delay,0x64);}while(Date['now']()-_0x36d389<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x2dc238 instanceof Error)throw _0x2dc238;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x2c4310);}async[_0x289b1f(0x204)](){const _0x23de32=_0x289b1f,_0x3dc277={'JkWur':'base64','lIlIr':function(_0x34a231,_0x5105d0,_0x5e1b36){return _0x34a231(_0x5105d0,_0x5e1b36);},'yPEHc':_0x23de32(0x1cf),'uZRWM':'Page.startScreencast'};if(!this[_0x23de32(0x208)])return;const _0x1c85ab=this[_0x23de32(0x208)]['pages']()[0x0];if(!_0x1c85ab)return;const _0x4dd5b7=this[_0x23de32(0x1a0)]();await _0x3dc277[_0x23de32(0x1c1)](mkdir,_0x4dd5b7,{'recursive':!![]});const _0x598ab1=await this[_0x23de32(0x208)]['newCDPSession'](_0x1c85ab);this['frameSession']=_0x598ab1,_0x598ab1['on'](_0x3dc277[_0x23de32(0x1c7)],_0x3c7a06=>{const _0x373587=_0x23de32,_0x1c3bf9=++this['frameCount'],_0x2ca4ce=join(_0x4dd5b7,_0x373587(0x251)+String(_0x1c3bf9)['padStart'](0x6,'0')+_0x373587(0x231)),_0xbb0348=writeFile(_0x2ca4ce,Buffer['from'](_0x3c7a06['data'],_0x3dc277[_0x373587(0x218)]))[_0x373587(0x261)](()=>undefined)[_0x373587(0x238)](()=>_0x598ab1['send'](_0x373587(0x1d3),{'sessionId':_0x3c7a06[_0x373587(0x202)]}))['then'](()=>undefined)['catch'](()=>undefined);this[_0x373587(0x1f2)]['push'](_0xbb0348);}),await _0x598ab1[_0x23de32(0x1af)](_0x3dc277[_0x23de32(0x241)],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x289b1f(0x248)](){const _0x405f65=_0x289b1f,_0x2d6cbe={'RjsVD':'Page.stopScreencast'};if(!this['frameSession']||!this[_0x405f65(0x19e)])return;await this[_0x405f65(0x257)][_0x405f65(0x1af)](_0x2d6cbe[_0x405f65(0x1b3)])['catch'](()=>undefined);}[_0x289b1f(0x1d9)](){const _0xa98016=_0x289b1f;this[_0xa98016(0x25c)](),this[_0xa98016(0x222)]=setInterval(()=>this[_0xa98016(0x25c)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x3bba2b=_0x289b1f;if(this[_0x3bba2b(0x24b)])return;this['traceSampleInFlight']=this[_0x3bba2b(0x1ea)]()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x27a828=_0x289b1f;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this[_0x27a828(0x222)]=null),await this['traceSampleInFlight']?.[_0x27a828(0x261)](()=>undefined);}async['captureTraceSample'](){const _0x4cb04d=_0x289b1f,_0xc705ad={'IsoJM':_0x4cb04d(0x1ef)},_0x5688a2=this[_0x4cb04d(0x208)]?.['pages']()[0x0];if(!_0x5688a2)return;try{await _0x5688a2['locator'](_0xc705ad[_0x4cb04d(0x1f0)])[_0x4cb04d(0x20a)](_0x42e193=>_0x42e193['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x4e5a41=_0x289b1f,_0x5cf64e={'JAJyq':function(_0x267919,_0xa64cf,_0x6e1820){return _0x267919(_0xa64cf,_0x6e1820);},'oEENT':function(_0x1f1098,_0x35a005,_0x4efbf5){return _0x1f1098(_0x35a005,_0x4efbf5);},'FZLhN':function(_0x59ad04,_0x49aaf0,_0x346c61){return _0x59ad04(_0x49aaf0,_0x346c61);},'aiXjf':'session-recording.webm','ksniN':'-hide_banner','LALxO':'error','ilRlV':'frame-%06d.jpg','MVVwQ':'-vf','RzZFq':'-c:v','JaONE':'libvpx-vp9'};if(this['frameCount']<0x2)return null;const _0x534202=await resolveFfmpegPath();if(!_0x534202)return null;const _0x3dee21=_0x5cf64e[_0x4e5a41(0x1ae)](join,this[_0x4e5a41(0x1a3)][_0x4e5a41(0x1cc)],_0x4e5a41(0x1ed));await _0x5cf64e[_0x4e5a41(0x22b)](mkdir,_0x3dee21,{'recursive':!![]});const _0x4f4557=_0x5cf64e['FZLhN'](join,_0x3dee21,_0x5cf64e['aiXjf']);return await execFileAsync(_0x534202,['-y',_0x5cf64e[_0x4e5a41(0x1fc)],'-loglevel',_0x5cf64e[_0x4e5a41(0x242)],_0x4e5a41(0x1b5),'10','-i',_0x5cf64e['JAJyq'](join,this['getFrameDir'](),_0x5cf64e['ilRlV']),_0x5cf64e[_0x4e5a41(0x21c)],_0x4e5a41(0x1f1),_0x5cf64e['RzZFq'],_0x5cf64e['JaONE'],_0x4e5a41(0x25f),'yuv420p',_0x4f4557]),_0x4f4557;}['getFrameDir'](){const _0x4a29e2=_0x289b1f,_0x5926c1={'CooCP':function(_0x3efc98,_0x46f607,_0x535890){return _0x3efc98(_0x46f607,_0x535890);},'nFxZh':'nova-video-frames'};return _0x5926c1['CooCP'](join,this[_0x4a29e2(0x1a3)][_0x4a29e2(0x1cc)],_0x5926c1['nFxZh']);}}async function delay(_0x3e804f){await new Promise(_0x4313fb=>setTimeout(_0x4313fb,_0x3e804f));}async function resolveFfmpegPath(){const _0x398c2f=_0x289b1f,_0x209893={'njivY':function(_0x410196,_0x6b8f5c){return _0x410196(_0x6b8f5c);},'oAYub':'ffmpeg','xOplj':function(_0x29cc3c){return _0x29cc3c();},'WHKOy':_0x398c2f(0x1b1),'bmrKM':'.cache'};if(await _0x209893[_0x398c2f(0x1be)](canRunFfmpeg,'ffmpeg'))return _0x209893['oAYub'];const _0x566fc2=[join(_0x209893['xOplj'](homedir),'Library',_0x209893['WHKOy'],_0x398c2f(0x1a9)),join(homedir(),_0x209893['bmrKM'],'ms-playwright')];for(const _0x4a35fd of _0x566fc2){try{const _0x1ef77c=await readdir(_0x4a35fd),_0x43af67=_0x1ef77c['filter'](_0x1b742a=>_0x1b742a[_0x398c2f(0x223)]('ffmpeg-'))[_0x398c2f(0x23a)]()['reverse']()[_0x398c2f(0x19d)](_0x35f0bb=>[join(_0x4a35fd,_0x35f0bb,'ffmpeg-mac'),join(_0x4a35fd,_0x35f0bb,'ffmpeg-linux'),join(_0x4a35fd,_0x35f0bb,_0x398c2f(0x25a))]);for(const _0x323731 of _0x43af67){if(await canRunFfmpeg(_0x323731))return _0x323731;}}catch{}}return null;}async function canRunFfmpeg(_0x33893b){const _0x5e605a=_0x289b1f;try{return await execFileAsync(_0x33893b,[_0x5e605a(0x206)]),!![];}catch{return![];}}function toStepDisplayName(_0xbb670c){const _0xdcc2ec=_0x289b1f,_0x22f963={'ziIBf':function(_0x1d131f,_0x169339){return _0x1d131f(_0x169339);}},_0x4ec7ea=_0x22f963['ziIBf'](basename,_0xbb670c)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0xdcc2ec(0x1c6)](/^\d+_/,'')[_0xdcc2ec(0x1c6)](/-/g,'\x20');return{'name':_0x4ec7ea,'isKeyStep':/^key_/i[_0xdcc2ec(0x253)](_0x22f963[_0xdcc2ec(0x1fd)](basename,_0xbb670c))};}function extractShellValue(_0x41b8b3){if(!_0x41b8b3)return null;return _0x41b8b3[0x1]??_0x41b8b3[0x2]??_0x41b8b3[0x3]??null;}function extractOutputOption(_0x462f02){const _0x1ccc2c=_0x289b1f,_0x2ed391={'CjXff':function(_0x39a8fb,_0x23edbd){return _0x39a8fb(_0x23edbd);}};return _0x2ed391[_0x1ccc2c(0x259)](extractShellValue,_0x462f02['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x333d(){const _0x4e729c=['telemetry','content','browser','values','ksniN','ziIBf','3003192ZimYQB','\x20session\x20create\x20','stopped','execute\x20Nova\x20browser\x20action','sessionId','cdp_endpoint','startScreencast','command','-version','nova_act_command','context',']\x20**','evaluate','tool_input','seIEs','`\x0a4.\x20Run\x20one\x20batched\x20`','trackPhaseError','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','nova_act_artifact_recording','create\x20Nova\x20browser\x20session','NpxwR','bEmLP','XYHQz','IymMi','PostToolUseFailure','JMFdm','JkWur','01_initial-state.png','):\x20\x22','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','MVVwQ','stop','[nova-act-cli]\x20','10kcywHF','textContent','nova-session-export.json','traceSampleTimer','startsWith','connectOverCDP','commandArgs','tool_name','4EustyQ','export','\x20snapshot\x20--output\x20','join','oEENT','VeMqA','.act_cli','selector','nOusD','\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`','.jpg','invocation','en-US','dtjxx','push','nova_act_final_snapshot','7359104saAutE','finally','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','sort','nova_act_session_close','1682691PzbGjz','domRef','canonicalFlow','Nova\x20command\x20`','wait-for','uZRWM','LALxO','hook_event_name','2553545oJPbfU','key_03_success-state.png','31qYSvmK','final-state.yaml','stopScreencast','nKzOV','screenshot','traceSampleInFlight','block','03_final-state.png','**\x20(','nova_act_session_report','trackPhaseEnd','frame-','trackPhaseStart','test','00_initial-state.yml','WFhgp','BQnnr','frameSession','--output-dir','CjXff','ffmpeg.exe','`\x0a-\x20`','queueTraceSample','capture\x20snapshot\x20`','frameCount','-pix_fmt','ask\x20page\x20question','catch','cwd','mtimeMs','startAttempted','get','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','transportMetadata','goto','--report','gXjai','session\x20export','flatMap','screencastStarted','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','getFrameDir','nova-artifacts.zip','RBEEV','params','name','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','TInXd','session','geMnG','ms-playwright','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','traceSampleCount','>\x20\x22','RVpqo','JAJyq','send','utf-8','Caches','nova_act_artifact_recording_stop','RjsVD','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','-framerate','Reviewer','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.','readSessionMetadataWithRetry','ask','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','unaddressedComments','5599986gWRMvG','tracing','njivY','`\x0a3.\x20Run\x20`','contexts','lIlIr','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','nova-report','trace.zip','nova_act_final_screenshot','replace','yPEHc','35154EBZESz','\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','WiPxm','QPSWD','cliArtifactDir','1103557NsKTsE','description','Page.screencastFrame','env','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.','capture\x20screenshot','Page.screencastFrameAck','verify','MRfWE','phase','sessions','has','startTraceSampling','tracingStarted','LxBRi','KCLRT','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','`\x0a6.\x20Run\x20`','\x20(on\x20element:\x20<','toLocaleDateString','key_final-state.png','vFpGc','exvBx','VUMbU','--output','session\x20create','shellCommand','vOKDY','snapshot','captureTraceSample','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','start','videos','tzWkF','body','IsoJM','scale=trunc(iw/2)*2:trunc(ih/2)*2','frameWrites','01_initial.yml','now','csZqX','WNZPL','short'];_0x333d=function(){return _0x4e729c;};return _0x333d();}function formatNovaActCliLog(_0x3417b9,_0x70f7db){const _0x3aaad0=_0x289b1f,_0x526d45={'jmfPi':'session\x20create','VeMqA':_0x3aaad0(0x211),'vOKDY':'execute','VUMbU':'verify','gXjai':'verify\x20page\x20condition','czziZ':_0x3aaad0(0x199),'cqPDd':'screenshot','MRfWE':_0x3aaad0(0x1d2),'NpxwR':function(_0x447e3c,_0x5f2d71){return _0x447e3c(_0x5f2d71);},'CXHRj':_0x3aaad0(0x19c),'jStfH':'export\x20Nova\x20session'};switch(_0x70f7db){case _0x526d45['jmfPi']:return _0x526d45[_0x3aaad0(0x22c)];case _0x526d45[_0x3aaad0(0x1e8)]:return _0x3aaad0(0x201);case _0x526d45[_0x3aaad0(0x1e4)]:return _0x526d45[_0x3aaad0(0x19b)];case'ask':return _0x3aaad0(0x260);case _0x526d45['czziZ']:return'navigate\x20browser';case _0x3aaad0(0x240):return'wait\x20for\x20page\x20condition';case'snapshot':{const _0x1c93af=extractOutputOption(_0x3417b9);if(!_0x1c93af)return'capture\x20snapshot';const {name:_0x90ff84}=toStepDisplayName(_0x1c93af);return _0x3aaad0(0x25d)+_0x90ff84+'`';}case _0x526d45['cqPDd']:{const _0x1f792e=extractOutputOption(_0x3417b9);if(!_0x1f792e)return _0x526d45[_0x3aaad0(0x1d5)];const {name:_0x5e133,isKeyStep:_0x45fcc0}=_0x526d45[_0x3aaad0(0x212)](toStepDisplayName,_0x1f792e);return _0x45fcc0?'capture\x20key\x20step\x20`'+_0x5e133+'`':'capture\x20step\x20`'+_0x5e133+'`';}case _0x526d45['CXHRj']:return _0x526d45['jStfH'];default:return _0x70f7db;}}function getNovaActCliCommandBlockReason(_0x38ef92){const _0x3e9465=_0x289b1f,_0x37595e={'nKzOV':function(_0x208fe1,_0x407139){return _0x208fe1===_0x407139;},'geMnG':'verify','seIEs':'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.'},_0x1ed33a=parseNovaActCliCommand(_0x38ef92);if(!_0x1ed33a)return _0x3e9465(0x20f);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x3e9465(0x1d8)](_0x1ed33a))return _0x3e9465(0x23f)+_0x1ed33a+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x37595e[_0x3e9465(0x249)](_0x1ed33a,_0x37595e[_0x3e9465(0x1a8)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x3e9465(0x253)](_0x38ef92))return _0x3e9465(0x1d1);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x38ef92))return _0x37595e[_0x3e9465(0x20c)];return null;}function buildFeedbackSection(_0x21646e){const _0x1ef0ae=_0x289b1f,_0x378b8a={'Mqdnf':_0x1ef0ae(0x1f7),'hHLib':'element'};if(!_0x21646e||_0x21646e['unaddressedComments']['length']===0x0)return'';const _0x1eabb6=_0x21646e[_0x1ef0ae(0x1bb)]['map'](_0x176858=>{const _0x48ca6a=_0x1ef0ae,_0x4a0b3e=new Date(_0x176858['createdAt'])[_0x48ca6a(0x1e0)](_0x48ca6a(0x233),{'month':_0x378b8a['Mqdnf'],'day':'numeric'}),_0x4cb383=_0x176858['authorName']||_0x176858['authorEmail']||_0x48ca6a(0x1b6),_0x2dd27c=_0x176858['domRef']?_0x48ca6a(0x1df)+(_0x176858[_0x48ca6a(0x23d)][_0x48ca6a(0x22e)]['split']('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x378b8a['hHLib'])+_0x48ca6a(0x1ac)+(_0x176858['domRef'][_0x48ca6a(0x220)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x176858['id']+_0x48ca6a(0x209)+_0x4cb383+_0x48ca6a(0x24e)+_0x4a0b3e+_0x48ca6a(0x21a)+_0x176858[_0x48ca6a(0x1f9)]+'\x22'+_0x2dd27c;})[_0x1ef0ae(0x22a)]('\x0a');return _0x1ef0ae(0x1c9)+_0x1eabb6;}function buildNovaSharedOptionsInstruction(_0xc78610){const _0x4a5e9b=_0x289b1f;if(!_0xc78610['trim']())return _0x4a5e9b(0x1b7);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0xc78610;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x59ab5a){const _0x59de5d=_0x289b1f,_0x27b6a7={'WNZPL':function(_0x4209d2,_0x434083,_0x40f73b){return _0x4209d2(_0x434083,_0x40f73b);},'lWuBI':_0x59de5d(0x254),'mithA':function(_0x136672,_0x26b159,_0x2e1442){return _0x136672(_0x26b159,_0x2e1442);},'CPDFq':'02_final-state.yml'},{novaCommandPrefix:_0x2f164d,novaSharedOptionsSuffix:_0x3cb5a7,cliArtifactDir:_0x50f6ea,url:_0x5090f3}=_0x59ab5a,_0x2049ba=_0x27b6a7['WNZPL'](buildCliArtifactPath,_0x50f6ea,_0x27b6a7['lWuBI']),_0x1263dd=_0x27b6a7[_0x59de5d(0x1f6)](buildCliArtifactPath,_0x50f6ea,_0x59de5d(0x219)),_0x13c693=_0x27b6a7['mithA'](buildCliArtifactPath,_0x50f6ea,_0x27b6a7['CPDFq']),_0x21500d=_0x27b6a7['WNZPL'](buildCliArtifactPath,_0x50f6ea,_0x59de5d(0x24d));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'+_0x2f164d+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x3cb5a7)+_0x59de5d(0x230)+_0x2f164d+'\x20session\x20create\x20'+quoteShellArg(_0x5090f3)+'\x20'+_0x3cb5a7+'`\x0a2.\x20Run\x20`'+_0x2f164d+_0x59de5d(0x229)+quoteShellArg(_0x2049ba)+'\x20'+_0x3cb5a7+_0x59de5d(0x1bf)+_0x2f164d+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x1263dd)+'\x20'+_0x3cb5a7+_0x59de5d(0x20d)+_0x2f164d+_0x59de5d(0x19f)+_0x2f164d+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x13c693)+'\x20'+_0x3cb5a7+_0x59de5d(0x1de)+_0x2f164d+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x21500d)+'\x20'+_0x3cb5a7+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x50f6ea+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x2d4cd9){const _0x16dfaa=_0x289b1f,_0x3c5777={'LxBRi':function(_0x37d35f,_0x58d2f5){return _0x37d35f(_0x58d2f5);},'IymMi':function(_0x5915d6,_0x1e5598,_0xad4902){return _0x5915d6(_0x1e5598,_0xad4902);},'dtjxx':function(_0x5b70ac,_0x3e7f07,_0xa07e5d){return _0x5b70ac(_0x3e7f07,_0xa07e5d);},'FhwSv':_0x16dfaa(0x245),'XYHQz':function(_0x431c89,_0x14fdce){return _0x431c89(_0x14fdce);}},{checklistItem:_0x23a790,itemFeedback:_0x5ba0f1,taskDescription:_0x482da4,novaCommandPrefix:_0x42b671,novaSharedOptionsSuffix:_0x851fb4,cliArtifactDir:_0x573b2c,url:_0x1ebc29,loginInstructions:_0x4f58f2}=_0x2d4cd9,_0xbb15c2=_0x23a790['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x23a790['notes']:'',_0xbc6df2=_0x3c5777['LxBRi'](buildFeedbackSection,_0x5ba0f1),_0x2636c5=_0x5ba0f1?.[_0x16dfaa(0x23e)]?_0x16dfaa(0x196)+_0x5ba0f1['canonicalFlow']:'',_0xe6f011=_0x4f58f2?_0x16dfaa(0x1b4)+_0x4f58f2+_0x16dfaa(0x21b):'',_0x56c69d=_0x3c5777[_0x16dfaa(0x215)](buildCliArtifactPath,_0x573b2c,_0x16dfaa(0x1f3)),_0x21c314=_0x3c5777['IymMi'](buildCliArtifactPath,_0x573b2c,_0x16dfaa(0x219)),_0xccfe72=_0x3c5777[_0x16dfaa(0x234)](buildCliArtifactPath,_0x573b2c,_0x3c5777['FhwSv']);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'+_0x23a790[_0x16dfaa(0x1ce)]+_0xbb15c2+_0xbc6df2+_0x2636c5+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x482da4+_0x16dfaa(0x1eb)+_0x1ebc29+'\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'+_0xe6f011+'\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`'+_0x42b671+_0x16dfaa(0x1ff)+_0x3c5777[_0x16dfaa(0x1db)](quoteShellArg,_0x1ebc29)+'\x20'+_0x851fb4+_0x16dfaa(0x197)+_0x573b2c+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x42b671+_0x16dfaa(0x229)+_0x3c5777[_0x16dfaa(0x214)](quoteShellArg,_0x56c69d)+'\x20'+_0x851fb4+_0x16dfaa(0x1ba)+_0x42b671+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x21c314)+'\x20'+_0x851fb4+'`.\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`'+_0xccfe72+'`.\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`'+_0x42b671+_0x16dfaa(0x1dd)+(_0x851fb4['trim']()?'`'+_0x851fb4+'`':_0x16dfaa(0x1aa))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x851fb4)+'\x0a\x0aExamples:\x0a-\x20`'+_0x42b671+_0x16dfaa(0x1a5)+_0x851fb4+_0x16dfaa(0x25b)+_0x42b671+_0x16dfaa(0x1c2)+_0x851fb4+_0x16dfaa(0x25b)+_0x42b671+_0x16dfaa(0x229)+quoteShellArg(_0x56c69d)+'\x20'+_0x851fb4+_0x16dfaa(0x25b)+_0x42b671+'\x20screenshot\x20--output\x20'+_0x3c5777[_0x16dfaa(0x1db)](quoteShellArg,_0xccfe72)+'\x20'+_0x851fb4+'`\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(_0x3fb6d2){const _0x37f8a4=_0x289b1f,_0x48652d={'bEmLP':function(_0x1e066a,_0x4bba43){return _0x1e066a===_0x4bba43;}},_0x122281=[..._0x3fb6d2['keys']()][_0x37f8a4(0x23a)]();let _0x16f87b=0x0;for(const _0x1f491e of _0x3fb6d2[_0x37f8a4(0x1fb)]()){_0x16f87b+=_0x1f491e;}return{'cliCommandCount':_0x16f87b,'cliCommandsSeen':_0x122281,'noCliCommandsCalled':_0x48652d[_0x37f8a4(0x213)](_0x16f87b,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x11bd65,_0x5b9e7f){const _0x5795ff=_0x289b1f,_0x2a5b98={'vFpGc':function(_0x530209,_0x4c9247){return _0x530209!==_0x4c9247;},'csZqX':'Bash','dfYFV':_0x5795ff(0x24c),'QPSWD':function(_0x27c654,_0x1e7d49){return _0x27c654(_0x1e7d49);},'UwuTF':function(_0x17ee3,_0x2f6ad5){return _0x17ee3+_0x2f6ad5;},'Hnpiv':_0x5795ff(0x207),'zzlvb':function(_0x2c6f46,_0x16903f){return _0x2c6f46(_0x16903f);},'nOusD':function(_0x267641,_0x379f00,_0x3888e5){return _0x267641(_0x379f00,_0x3888e5);},'Gvzlf':_0x5795ff(0x210),'DEOnR':'nova-act-cli'},_0x415c67=new Map(),_0x548f1b=async _0x2c4293=>{const _0x5d672e=_0x5795ff;if(_0x2a5b98['vFpGc'](_0x2c4293[_0x5d672e(0x243)],'PreToolUse'))return{};const _0x56b651=_0x2c4293;if(_0x2a5b98[_0x5d672e(0x1e2)](_0x56b651['tool_name'],_0x2a5b98['csZqX']))return{};const _0x390304=_0x56b651['tool_input'],_0x53889d=extractBashCommand(_0x390304);if(!_0x53889d)return{};const _0x46989e=getNovaActCliCommandBlockReason(_0x53889d);if(!_0x46989e)return{};return{'decision':_0x2a5b98['dfYFV'],'reason':_0x46989e};},_0x30f595=async _0x2636b9=>{const _0x1c4c21=_0x5795ff;if(_0x2636b9[_0x1c4c21(0x243)]!=='PostToolUse')return{};const _0x51c489=_0x2636b9;if(_0x51c489[_0x1c4c21(0x226)]!==_0x2a5b98[_0x1c4c21(0x1f5)])return{};const _0x257760=_0x51c489[_0x1c4c21(0x20b)],_0x10758b=_0x2a5b98['QPSWD'](extractBashCommand,_0x257760);if(!_0x10758b)return{};const _0x5e647e=_0x2a5b98[_0x1c4c21(0x1cb)](parseNovaActCliCommand,_0x10758b);if(!_0x5e647e)return{};_0x415c67['set'](_0x5e647e,_0x2a5b98['UwuTF'](_0x415c67[_0x1c4c21(0x195)](_0x5e647e)||0x0,0x1)),_0x11bd65[_0x1c4c21(0x252)]('nova_act_command',{'subcommand':_0x5e647e}),_0x11bd65[_0x1c4c21(0x250)](_0x2a5b98['Hnpiv'],{'subcommand':_0x5e647e,'commandPreview':_0x2a5b98['zzlvb'](previewNovaActCliCommand,_0x10758b)}),console['log'](_0x1c4c21(0x21e)+_0x2a5b98[_0x1c4c21(0x22f)](formatNovaActCliLog,_0x10758b,_0x5e647e));if(_0x5e647e===_0x1c4c21(0x1e6)&&_0x5b9e7f)try{await _0x5b9e7f['start']();}catch(_0x52adca){await _0x11bd65[_0x1c4c21(0x20e)](_0x2a5b98['Gvzlf'],_0x52adca,{'transport':_0x2a5b98['DEOnR']});}return{};},_0xe1d388=async _0x1a5a5e=>{const _0x55d206=_0x5795ff;if(_0x1a5a5e['hook_event_name']!==_0x55d206(0x216))return{};const _0x426e20=_0x1a5a5e;if(_0x426e20['tool_name']!==_0x2a5b98[_0x55d206(0x1f5)])return{};return await _0x11bd65[_0x55d206(0x20e)]('nova_act_command_failure',_0x426e20['error'],{'transport':'nova-act-cli','toolName':_0x2a5b98[_0x55d206(0x1f5)]}),{};};return{'preToolUseHook':_0x548f1b,'postToolUseHook':_0x30f595,'postToolUseFailureHook':_0xe1d388,'commandCounts':_0x415c67};}async function runNovaLifecycleCommand(_0x3f27e9){const _0x1a1fe0=_0x289b1f,_0xe00e4a={'NiLyu':function(_0x27c382,_0x57dede){return _0x27c382(_0x57dede);},'exvBx':function(_0x2bd21a,_0x35c05e){return _0x2bd21a(_0x35c05e);}},{novaOptions:_0x32b179,commandArgs:_0x310e81,telemetry:_0x25d205,phase:_0x576f0e,metadata:_0x4d6eda,timeoutMs:_0x6984ef}=_0x3f27e9;_0x25d205[_0x1a1fe0(0x252)](_0x576f0e,_0x4d6eda);try{const _0x21b78d=await _0xe00e4a['NiLyu'](runNovaActCliCommand,{..._0x32b179,'commandArgs':_0x310e81,'cwd':process[_0x1a1fe0(0x262)](),'env':process[_0x1a1fe0(0x1d0)],'timeoutMs':_0x6984ef??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x25d205['trackPhaseEnd'](_0x576f0e,{..._0x4d6eda,'subcommand':_0x21b78d['invocation']['subcommand'],'commandPreview':_0xe00e4a[_0x1a1fe0(0x1e3)](previewNovaActCliCommand,_0x21b78d[_0x1a1fe0(0x232)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x21b78d['stdout']),'stderrPreview':previewNovaActCliCommand(_0x21b78d['stderr']),'logDir':_0xe00e4a['NiLyu'](extractNovaActLogDir,_0x21b78d['stdout'])});}catch(_0x2fbae0){await _0x25d205['trackPhaseError'](_0x576f0e,_0x2fbae0,_0x4d6eda);throw _0x2fbae0;}}export async function finalizeVerifyFeatureNovaCliSession(_0x121b2e){const _0x2bba21=_0x289b1f,_0x3a62ee={'RiXBI':'--output','QXUpg':_0x2bba21(0x1e1),'OhNSE':_0x2bba21(0x236),'SLlos':'snapshot','FrTrD':_0x2bba21(0x247),'MPHJJ':_0x2bba21(0x228),'BQnnr':'--format','KCLRT':_0x2bba21(0x24f),'Bzdkv':_0x2bba21(0x19a),'hcwKr':'nova_act_session_close','WFhgp':'session','RBEEV':function(_0x3df3aa,_0x378aa8){return _0x3df3aa(_0x378aa8);}},{telemetry:_0x10595b,novaOptions:_0x26054b,cliArtifactDir:_0x101845,transportMetadata:_0x2c767f,artifactRecorder:_0x2d90c5}=_0x121b2e,_0x15bf46=[{'phase':_0x2bba21(0x1c5),'commandArgs':[_0x2bba21(0x24a),_0x3a62ee['RiXBI'],buildCliArtifactPath(_0x101845,_0x3a62ee['QXUpg'])]},{'phase':_0x3a62ee['OhNSE'],'commandArgs':[_0x3a62ee['SLlos'],_0x2bba21(0x1e5),buildCliArtifactPath(_0x101845,_0x3a62ee['FrTrD'])]},{'phase':'nova_act_session_export','commandArgs':[_0x2bba21(0x1a7),_0x3a62ee['MPHJJ'],_0x3a62ee[_0x2bba21(0x256)],'json',_0x3a62ee['RiXBI'],buildCliArtifactPath(_0x101845,_0x2bba21(0x221))]},{'phase':_0x3a62ee[_0x2bba21(0x1dc)],'commandArgs':['session','export',_0x3a62ee['Bzdkv'],_0x2bba21(0x258),buildCliArtifactPath(_0x101845,_0x2bba21(0x1c3))]},{'phase':_0x3a62ee['hcwKr'],'commandArgs':[_0x3a62ee[_0x2bba21(0x255)],'close']}];for(const _0x1e7b88 of _0x15bf46){_0x1e7b88['phase']===_0x2bba21(0x23b)&&await _0x2d90c5?.[_0x2bba21(0x21d)]();try{await _0x3a62ee[_0x2bba21(0x1a2)](runNovaLifecycleCommand,{'novaOptions':_0x26054b,'commandArgs':[..._0x1e7b88['commandArgs']],'telemetry':_0x10595b,'phase':_0x1e7b88[_0x2bba21(0x1d6)],'metadata':_0x2c767f});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x366fef){const _0x269c35=_0x289b1f,_0x4ce371={'tzWkF':function(_0x2cc5a6,_0x5d414c,_0x154768){return _0x2cc5a6(_0x5d414c,_0x154768);},'ZrlHZ':function(_0x6c691f,_0x3ccaf3,_0x2493fb){return _0x6c691f(_0x3ccaf3,_0x2493fb);},'QuzXQ':function(_0x333207,_0x4d5b5b,_0x4bc912){return _0x333207(_0x4d5b5b,_0x4bc912);},'wrHow':function(_0x28632f,_0x3bd32c){return _0x28632f===_0x3bd32c;}},{cwd:_0x2eed5c,cliArtifactDir:_0x4639c6,startTime:_0xf13aaf}=_0x366fef,_0xf9bac8=[];await _0x4ce371[_0x269c35(0x1ee)](mkdir,_0x4639c6,{'recursive':!![]});const _0x56a486=await readdir(_0x2eed5c,{'withFileTypes':!![]});for(const _0x19837e of _0x56a486){if(!_0x19837e['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x19837e[_0x269c35(0x1a4)]))continue;const _0x2125b8=_0x4ce371['ZrlHZ'](join,_0x2eed5c,_0x19837e['name']),_0x541b8e=await stat(_0x2125b8);if(_0x541b8e[_0x269c35(0x193)]+0x7d0<_0xf13aaf)continue;const _0x35ec83=_0x4ce371['QuzXQ'](buildCliArtifactPath,_0x4639c6,_0x19837e['name']);if(_0x4ce371['wrHow'](_0x2125b8,_0x35ec83))continue;await rename(_0x2125b8,_0x35ec83),_0xf9bac8[_0x269c35(0x235)](_0x19837e[_0x269c35(0x1a4)]);}return _0xf9bac8[_0x269c35(0x23a)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x389e2c){const _0x355f29=_0x289b1f,_0x5291d4={'lzreM':function(_0x59b8db,_0x471d51){return _0x59b8db(_0x471d51);}},_0x2877be=join(_0x389e2c,_0x355f29(0x1c4));try{return{'buffer':await _0x5291d4['lzreM'](readFile,_0x2877be),'source':_0x2877be};}catch{return{'buffer':await _0x5291d4['lzreM'](zipVerifyFeatureNovaArtifacts,_0x389e2c),'source':_0x389e2c};}}async function zipVerifyFeatureNovaArtifacts(_0x171aab){const _0x13f182=_0x289b1f,_0x35621f={'WiPxm':_0x13f182(0x1a1),'AGMPl':'nova-user-data/*','iypXk':function(_0x460328,_0x18e6fb){return _0x460328(_0x18e6fb);},'RCIXd':function(_0x138052,_0x36ea3a,_0x33ca6c){return _0x138052(_0x36ea3a,_0x33ca6c);}},_0x5e67ce=join(_0x171aab,'..',_0x35621f[_0x13f182(0x1ca)]);try{return await execFileAsync('zip',['-qr',_0x5e67ce,'.','-x',_0x35621f['AGMPl']],{'cwd':_0x171aab}),await _0x35621f['iypXk'](readFile,_0x5e67ce);}finally{await _0x35621f['RCIXd'](rm,_0x5e67ce,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x4a6c45){const _0x6f569=_0x289b1f,_0x2f1da5={'Nnvlz':function(_0x37beac,_0x551dbe,_0x3043ff){return _0x37beac(_0x551dbe,_0x3043ff);}},_0x2263f6=_0x2f1da5['Nnvlz'](buildNovaActCliInvocation,_0x4a6c45['novaOptions'],_0x4a6c45[_0x6f569(0x225)]);return{'command':_0x2263f6[_0x6f569(0x205)],'args':_0x2263f6['args'],'commandPreview':previewNovaActCliCommand(_0x2263f6[_0x6f569(0x1e7)]),'subcommand':_0x2263f6['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x4a6c45['novaOptions'],_0x4a6c45[_0x6f569(0x225)])};}
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 +1 @@
1
- function _0x1740(_0x3f2150,_0x1564b4){_0x3f2150=_0x3f2150-0x129;const _0x9ab9b3=_0x9ab9();let _0x1740fa=_0x9ab9b3[_0x3f2150];return _0x1740fa;}(function(_0xddf61b,_0x4001d2){const _0x1c8637=_0x1740,_0x81422b=_0xddf61b();while(!![]){try{const _0x125d5a=parseInt(_0x1c8637(0x174))/0x1*(parseInt(_0x1c8637(0x161))/0x2)+-parseInt(_0x1c8637(0x135))/0x3*(parseInt(_0x1c8637(0x16c))/0x4)+parseInt(_0x1c8637(0x12a))/0x5+parseInt(_0x1c8637(0x17b))/0x6*(-parseInt(_0x1c8637(0x143))/0x7)+-parseInt(_0x1c8637(0x145))/0x8+-parseInt(_0x1c8637(0x168))/0x9+parseInt(_0x1c8637(0x13b))/0xa;if(_0x125d5a===_0x4001d2)break;else _0x81422b['push'](_0x81422b['shift']());}catch(_0x44ee3c){_0x81422b['push'](_0x81422b['shift']());}}}(_0x9ab9,0xab738));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';function _0x9ab9(){const _0x1df624=['fill','\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.','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','log','rangerwright_cli_tracing_stop','domRef','1608kSrXIg','subcommand','tool_name','>\x20\x22','trackPhaseStart','6981150PWNpJL','slice','PQeJe','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','test','stdout','url','\x20--screenshot-path\x20','click-and-inspect','pop','vRTlt','918006LYpaQR','canonicalFlow','close\x20browser\x20session','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','phase','textContent','12373790ufASco','authorEmail','Bash','length','unaddressedComments','trackPhaseError','-\x20[','YfLzR','28651pbByMR','PostToolUse','3161984MyizUO','numeric','match','\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','commandPrefix','dBfZu','pdbNZ','qOoaL','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','stop\x20video\x20recording','\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`','about:blank','keys','\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.','lhsoq','trackPhaseEnd','lZNvc','click\x20and\x20inspect\x20','inspect','description','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','QPxkI','ref\x20','pdocG','oRATl','createdAt','open\x20and\x20inspect\x20','285542cjrdzp','Usflq','\x20open-and-inspect\x20','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','NZWJG','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','video-stop','2483478gKlTSw','split','):\x20\x22','get','4OlmgQB','replace','commandArgs','\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','content','open-and-inspect','element','...','1VaJCEB'];_0x9ab9=function(){return _0x1df624;};return _0x9ab9();}const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x2ed88c,_0x4a11dc=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x26a7b2=_0x1740,_0x541bcc={'qaWQf':_0x26a7b2(0x173)};return _0x2ed88c[_0x26a7b2(0x13e)]>_0x4a11dc?_0x2ed88c[_0x26a7b2(0x12b)](0x0,_0x4a11dc)+_0x541bcc['qaWQf']:_0x2ed88c;}function extractShellValue(_0x3015ed){if(!_0x3015ed)return null;return _0x3015ed[0x1]??_0x3015ed[0x2]??_0x3015ed[0x3]??null;}function extractFirstCommandArgument(_0x56f012,_0x148ec4){const _0x1c9e3d=_0x1740,_0x468aad={'fiRSo':'\x5c$&'},_0x315c17=_0x148ec4[_0x1c9e3d(0x16d)](/[.*+?^${}()|[\]\\]/g,_0x468aad['fiRSo']);return extractShellValue(_0x56f012[_0x1c9e3d(0x147)](new RegExp('(?:^|\x5cs)'+_0x315c17+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x276244){const _0x2ed674=_0x1740,_0x15f1e2={'cGWYL':'target','TvcWL':function(_0x2aecc6,_0x4c6954,_0x217c63){return _0x2aecc6(_0x4c6954,_0x217c63);}};if(!_0x276244)return _0x15f1e2['cGWYL'];if(/^e\d+$/i[_0x2ed674(0x12e)](_0x276244))return _0x2ed674(0x15c)+_0x276244;return JSON['stringify'](_0x15f1e2['TvcWL'](truncatePreview,_0x276244,0x78));}function formatRangerwrightCliLog(_0x5ea387,_0x1ca3fc){const _0x1b0208=_0x1740,_0x233e77={'lhsoq':_0x1b0208(0x171),'HcXUc':function(_0x42b977,_0x3182e3){return _0x42b977(_0x3182e3);},'NZWJG':function(_0x5bf947,_0x2d5a56,_0x2e6147){return _0x5bf947(_0x2d5a56,_0x2e6147);},'pQdbk':'back-and-inspect','dBfZu':_0x1b0208(0x158),'lIWXy':'stop\x20tracing','dQleZ':_0x1b0208(0x167),'pdbNZ':'close'};switch(_0x1ca3fc){case _0x233e77[_0x1b0208(0x154)]:{const _0x305075=extractFirstCommandArgument(_0x5ea387,_0x1ca3fc);return _0x305075?_0x1b0208(0x160)+_0x305075:'open\x20and\x20inspect';}case _0x1b0208(0x132):return _0x1b0208(0x157)+formatCommandTarget(extractFirstCommandArgument(_0x5ea387,_0x1ca3fc));case _0x1b0208(0x175):case'fill-and-inspect':return'fill\x20'+_0x233e77['HcXUc'](formatCommandTarget,_0x233e77[_0x1b0208(0x165)](extractFirstCommandArgument,_0x5ea387,_0x1ca3fc));case _0x233e77['pQdbk']:return'go\x20back\x20and\x20inspect';case _0x233e77[_0x1b0208(0x14a)]:return'inspect\x20page';case'tracing-stop':return _0x233e77['lIWXy'];case _0x233e77['dQleZ']:return _0x1b0208(0x14f);case _0x233e77[_0x1b0208(0x14b)]:return _0x1b0208(0x137);default:return _0x1ca3fc;}}function renderScenarioSections(_0x1cd79f){const _0xf988f7=_0x1740,_0x3938de={'Usflq':'en-US','vRTlt':'short','OROjR':function(_0xf8c2a0,_0x428fe0){return _0xf8c2a0>_0x428fe0;}},{checklistItem:_0x3d85d9,itemFeedback:_0x374cad}=_0x1cd79f,_0x21191f=_0x3d85d9['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3d85d9['notes']:'';let _0x55a386='';if(_0x374cad&&_0x3938de['OROjR'](_0x374cad[_0xf988f7(0x13f)]['length'],0x0)){const _0x32ab8d=_0x374cad[_0xf988f7(0x13f)]['map'](_0x8b77e8=>{const _0x236964=_0xf988f7,_0x3578dc=new Date(_0x8b77e8[_0x236964(0x15f)])['toLocaleDateString'](_0x3938de[_0x236964(0x162)],{'month':_0x3938de[_0x236964(0x134)],'day':_0x236964(0x146)}),_0x54c11c=_0x8b77e8['authorName']||_0x8b77e8[_0x236964(0x13c)]||'Reviewer',_0x4211f3=_0x8b77e8[_0x236964(0x17a)]?'\x20(on\x20element:\x20<'+(_0x8b77e8[_0x236964(0x17a)]['selector'][_0x236964(0x169)]('\x20>\x20')[_0x236964(0x133)]()?.['split'](':')[0x0]||_0x236964(0x172))+_0x236964(0x17e)+(_0x8b77e8[_0x236964(0x17a)][_0x236964(0x13a)]||'')[_0x236964(0x12b)](0x0,0x32)+'\x22)':'';return _0x236964(0x141)+_0x8b77e8['id']+']\x20'+_0x54c11c+'\x20('+_0x3578dc+_0x236964(0x16a)+_0x8b77e8[_0x236964(0x170)]+'\x22'+_0x4211f3;})['join']('\x0a');_0x55a386='\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'+_0x32ab8d;}const _0x41e898=_0x374cad?.[_0xf988f7(0x136)]?_0xf988f7(0x138)+_0x374cad[_0xf988f7(0x136)]:'';return''+_0x3d85d9[_0xf988f7(0x159)]+_0x21191f+_0x55a386+_0x41e898;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x44bfe6){const _0x376a71=_0x1740,_0x3ff428={'qwRfl':'01_initial-state.png','lLCGE':function(_0x43911c,_0x14dc6f){return _0x43911c(_0x14dc6f);},'gWXqj':_0x376a71(0x151),'PQeJe':function(_0x4bb4f3,_0x3786b1){return _0x4bb4f3(_0x3786b1);},'YfLzR':function(_0xc51165,_0x5c1dfc){return _0xc51165(_0x5c1dfc);}},{checklistItem:_0x924f3,itemFeedback:_0x4ef97a,taskDescription:_0x23e3b9,commandPrefix:_0xb57c69,isCdpMode:_0x25e40c,url:_0x14a182,cdpEndpoint:_0x96f0b0,loginInstructions:_0x499190}=_0x44bfe6,_0x23719b=_0x3ff428['qwRfl'],_0x234460='key_99_final-state.png',_0x429fd5=_0x25e40c?_0xb57c69+'\x20inspect\x20--screenshot-path\x20'+_0x3ff428['lLCGE'](quoteShellArg,_0x23719b):_0xb57c69+_0x376a71(0x163)+quoteShellArg(_0x14a182??_0x3ff428['gWXqj'])+_0x376a71(0x131)+_0x3ff428['PQeJe'](quoteShellArg,_0x23719b),_0x5293c3=_0x25e40c?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x96f0b0+_0x376a71(0x12d):_0x376a71(0x14e)+_0x14a182+_0x376a71(0x153),_0x1e99b1=_0x499190?_0x376a71(0x15a)+_0x499190+_0x376a71(0x164):'';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'+_0x3ff428[_0x376a71(0x12c)](renderScenarioSections,{'checklistItem':_0x924f3,'itemFeedback':_0x4ef97a})+_0x376a71(0x177)+_0x23e3b9+'\x0a\x0a'+_0x5293c3+_0x1e99b1+_0x376a71(0x14d)+_0xb57c69+_0x376a71(0x148)+_0x429fd5+_0x376a71(0x16f)+_0xb57c69+_0x376a71(0x166)+_0x3ff428[_0x376a71(0x142)](quoteShellArg,_0x234460)+_0x376a71(0x176);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x4fbf83){const _0x3ffaba=_0x1740,_0x41a772={'oRATl':function(_0x1215c7,_0x388977){return _0x1215c7(_0x388977);}},_0x1a38ac='01_mozilla-homepage.png',_0x521e05='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'+_0x4fbf83[_0x3ffaba(0x149)]+_0x3ffaba(0x150)+_0x4fbf83['commandPrefix']+_0x3ffaba(0x163)+_0x41a772[_0x3ffaba(0x15e)](quoteShellArg,_0x4fbf83[_0x3ffaba(0x130)])+'\x20--screenshot-path\x20'+quoteShellArg(_0x1a38ac)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x4fbf83[_0x3ffaba(0x149)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x521e05)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x149379){const _0x4d840b=_0x1740,_0x16bf82=[..._0x149379[_0x4d840b(0x152)]()]['sort']();let _0xa15656=0x0;for(const _0x2e9356 of _0x149379['values']()){_0xa15656+=_0x2e9356;}return{'cliCommandCount':_0xa15656,'cliCommandsSeen':_0x16bf82,'noCliCommandsCalled':_0xa15656===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x2d16d4){const _0x24018f=_0x1740,_0x5a5e34={'URoKK':function(_0x6a09f5,_0x561c58){return _0x6a09f5!==_0x561c58;},'qOoaL':_0x24018f(0x144),'lZNvc':function(_0x2a0e2f,_0x5c3e5b){return _0x2a0e2f(_0x5c3e5b);},'QPxkI':'rangerwright_cli_command','eCLHI':'PostToolUseFailure','pdocG':function(_0x17c705,_0x1dcc0b){return _0x17c705!==_0x1dcc0b;},'UzIcf':_0x24018f(0x13d)},_0x5db4c1=new Map(),_0x41d241=async _0x1f0352=>{const _0x28e432=_0x24018f;if(_0x5a5e34['URoKK'](_0x1f0352['hook_event_name'],_0x5a5e34[_0x28e432(0x14c)]))return{};const _0x24fe51=_0x1f0352;if(_0x24fe51[_0x28e432(0x17d)]!==_0x28e432(0x13d))return{};const _0x5c2712=_0x24fe51['tool_input'],_0x506d85=extractBashCommand(_0x5c2712);if(!_0x506d85)return{};const _0x855c63=_0x5a5e34[_0x28e432(0x156)](parseRangerwrightCliCommand,_0x506d85);if(!_0x855c63)return{};return _0x5db4c1['set'](_0x855c63,(_0x5db4c1[_0x28e432(0x16b)](_0x855c63)||0x0)+0x1),_0x2d16d4[_0x28e432(0x129)](_0x5a5e34[_0x28e432(0x15b)],{'subcommand':_0x855c63}),_0x2d16d4[_0x28e432(0x155)]('rangerwright_cli_command',{'subcommand':_0x855c63,'commandPreview':truncatePreview(_0x506d85)}),console[_0x28e432(0x178)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x506d85,_0x855c63)),{};},_0x3ee05a=async _0x224818=>{const _0x476546=_0x24018f;if(_0x5a5e34['URoKK'](_0x224818['hook_event_name'],_0x5a5e34['eCLHI']))return{};const _0x3828b3=_0x224818;if(_0x5a5e34[_0x476546(0x15d)](_0x3828b3[_0x476546(0x17d)],_0x476546(0x13d)))return{};return await _0x2d16d4[_0x476546(0x140)]('rangerwright_cli_command_failure',_0x3828b3['error'],{'transport':'rangerwright-cli','toolName':_0x5a5e34['UzIcf']}),{};};return{'postToolUseHook':_0x41d241,'postToolUseFailureHook':_0x3ee05a,'commandCounts':_0x5db4c1};}async function runRangerwrightLifecycleCommand(_0x3cc67f){const _0xe3ac2e=_0x1740,_0x3150ca={'ecwGY':function(_0x361b5d,_0x7014e8){return _0x361b5d??_0x7014e8;},'LrCIC':function(_0x4529fc,_0x136d4f,_0xcfb1c9){return _0x4529fc(_0x136d4f,_0xcfb1c9);},'VqStj':function(_0x4cc808,_0x1a2478,_0x18f219){return _0x4cc808(_0x1a2478,_0x18f219);}},{options:_0x4b7f4b,commandArgs:_0x2ebb2e,env:_0x39e24a,telemetry:_0x4aeb2c,phase:_0x184556,metadata:_0xb96526,timeoutMs:_0x24d216}=_0x3cc67f;_0x4aeb2c[_0xe3ac2e(0x129)](_0x184556,_0xb96526);try{const _0x364e0d=await runRangerwrightCliCommand({..._0x4b7f4b,'commandArgs':_0x2ebb2e,'cwd':process['cwd'](),'env':_0x39e24a,'timeoutMs':_0x3150ca['ecwGY'](_0x24d216,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x4aeb2c[_0xe3ac2e(0x155)](_0x184556,{..._0xb96526,'subcommand':_0x364e0d['invocation'][_0xe3ac2e(0x17c)],'stdoutPreview':_0x3150ca['LrCIC'](truncatePreview,_0x364e0d[_0xe3ac2e(0x12f)],0x7d0),'stderrPreview':_0x3150ca['VqStj'](truncatePreview,_0x364e0d['stderr'],0x7d0)});}catch(_0x20ec7c){await _0x4aeb2c['trackPhaseError'](_0x184556,_0x20ec7c,_0xb96526);throw _0x20ec7c;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x190b36){const _0x1a137e=_0x1740,_0x38ce4b={'cCNlI':_0x1a137e(0x179),'smxNo':'tracing-stop','tymmK':'rangerwright_cli_close','uqWTG':'close'},{telemetry:_0x55ee35,rangerwrightOptions:_0x9a364d,env:_0x5e9ab3,transportMetadata:_0x3f6754}=_0x190b36,_0x146bb6=[{'phase':_0x38ce4b['cCNlI'],'commandArgs':[_0x38ce4b['smxNo']]},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':_0x38ce4b['tymmK'],'commandArgs':[_0x38ce4b['uqWTG']]}];for(const _0x40a325 of _0x146bb6){try{await runRangerwrightLifecycleCommand({'options':_0x9a364d,'commandArgs':[..._0x40a325[_0x1a137e(0x16e)]],'env':_0x5e9ab3,'telemetry':_0x55ee35,'phase':_0x40a325[_0x1a137e(0x139)],'metadata':_0x3f6754});}catch{}}}
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{}}}
@@ -265,6 +265,7 @@ If you encounter authentication issues:
265
265
  2. **Check existing profiles**: Run `ranger-cli profile ls` to see all configured profiles.
266
266
  3. **Pin a specific profile**: Use `ranger-cli profile use <profile-name>` (or pass `--profile <name>` / set `RANGER_PROFILE`).
267
267
  4. **Refresh auth**: For server-side relogin (headless, no human needed), set `RANGER_TEST_USERNAME` / `RANGER_TEST_PASSWORD` and re-run `ranger-cli go ...`. For SSO/OAuth profiles, run `ranger-cli profile update <account-email>` to re-capture the session (server-side login when configured, headed browser otherwise).
268
+ 5. **Bare-localhost targets**: To run an automated login against a bare-localhost target (`localhost:PORT`, `127.0.0.1:PORT`), pass `--env <key>` (or set `RANGER_AUTH_ENV`). To reuse a session on localhost without automated login, capture one once with `ranger-cli profile add <name> --url <localhost-url>`, then re-run `ranger-cli go` with the same `--base-url`.
268
269
 
269
270
 
270
271
  ### Authentication Issues to Ranger
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.1.6-alpha.4de822b-51",
3
+ "version": "3.1.6",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",