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

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 +14 -5
@@ -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(_0x592247,_0x3e52fe){const _0x272dff=_0x1e50,_0x287aef=_0x592247();while(!![]){try{const _0x5a5855=-parseInt(_0x272dff(0xa7))/0x1+parseInt(_0x272dff(0xbc))/0x2+-parseInt(_0x272dff(0xc9))/0x3+parseInt(_0x272dff(0x99))/0x4*(-parseInt(_0x272dff(0xe8))/0x5)+-parseInt(_0x272dff(0xc0))/0x6*(parseInt(_0x272dff(0x8f))/0x7)+parseInt(_0x272dff(0xc3))/0x8+-parseInt(_0x272dff(0x92))/0x9*(-parseInt(_0x272dff(0xb1))/0xa);if(_0x5a5855===_0x3e52fe)break;else _0x287aef['push'](_0x287aef['shift']());}catch(_0x4bceb8){_0x287aef['push'](_0x287aef['shift']());}}}(_0x1738,0x8fe4e));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(_0x348ed4,_0x4fae33=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0xeffb06=_0x1e50,_0x339d1e={'qmnlK':function(_0x16215e,_0x31416e){return _0x16215e+_0x31416e;},'gytiR':'...'};return _0x348ed4['length']>_0x4fae33?_0x339d1e['qmnlK'](_0x348ed4[_0xeffb06(0x102)](0x0,_0x4fae33),_0x339d1e[_0xeffb06(0x106)]):_0x348ed4;}function buildCliArtifactPath(_0x1d3da2,_0x4df3c3){return join(_0x1d3da2,_0x4df3c3);}function toStepDisplayName(_0x285ef0){const _0x4678c4=_0x1e50,_0x513fc0=basename(_0x285ef0)[_0x4678c4(0xb9)](/\.(?:png|ya?ml)$/i,'')[_0x4678c4(0xb9)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x513fc0,'isKeyStep':/^key_/i['test'](basename(_0x285ef0))};}function extractShellValue(_0x5e6937){if(!_0x5e6937)return null;return _0x5e6937[0x1]??_0x5e6937[0x2]??_0x5e6937[0x3]??null;}function extractFilenameOption(_0x1ab4cb){const _0x271b28=_0x1e50,_0x39ba89={'PSlJQ':function(_0x48f596,_0x20482b){return _0x48f596(_0x20482b);}};return _0x39ba89['PSlJQ'](extractShellValue,_0x1ab4cb[_0x271b28(0xa6)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5d7d55,_0x415b8d){const _0x4fe6f8=_0x1e50,_0x128f84={'lqlNz':'\x5c$&','TAJDs':function(_0x3ec724,_0x4c01aa){return _0x3ec724(_0x4c01aa);}},_0x25ad1f=_0x415b8d[_0x4fe6f8(0xb9)](/[.*+?^${}()|[\]\\]/g,_0x128f84['lqlNz']);return _0x128f84[_0x4fe6f8(0xcf)](extractShellValue,_0x5d7d55['match'](new RegExp(_0x4fe6f8(0x8a)+_0x25ad1f+_0x4fe6f8(0xc6))));}function formatCommandTarget(_0x4811b6){const _0x37ce11=_0x1e50,_0x3e7611={'wHyeE':function(_0x38c1f7,_0x34a1ea,_0x9fd693){return _0x38c1f7(_0x34a1ea,_0x9fd693);}};if(!_0x4811b6)return _0x37ce11(0x94);if(/^e\d+$/i[_0x37ce11(0xb8)](_0x4811b6))return'ref\x20'+_0x4811b6;return JSON['stringify'](_0x3e7611[_0x37ce11(0xbd)](truncatePreview,_0x4811b6,0x78));}function formatPlaywrightCliLog(_0x112730,_0x551ab0){const _0x37f887=_0x1e50,_0x2e0aa2={'XWTRJ':'open','CxCvD':function(_0x3bb42f,_0xa6445c,_0x1e6c92){return _0x3bb42f(_0xa6445c,_0x1e6c92);},'YpFmB':_0x37f887(0x10e),'iMgDK':_0x37f887(0x107),'smJUH':'tracing-stop','HMUzV':_0x37f887(0xcc),'zKYBS':'video-start','oTgIm':'video-stop','OcChZ':'snapshot','jaIJg':function(_0x552553,_0x318b67){return _0x552553(_0x318b67);},'sRRzZ':function(_0x1253fd,_0x313101){return _0x1253fd(_0x313101);},'xgDcf':'capture\x20screenshot','kGOPo':function(_0x829c1b,_0x159ed6,_0x54b34b){return _0x829c1b(_0x159ed6,_0x54b34b);},'BsQJZ':_0x37f887(0x97),'idcbw':_0x37f887(0xb6),'FabHz':function(_0x35fde4,_0x525113,_0x321768){return _0x35fde4(_0x525113,_0x321768);},'OHRuJ':'open\x20new\x20tab'};switch(_0x551ab0){case _0x2e0aa2[_0x37f887(0xda)]:{const _0x3dd057=_0x2e0aa2[_0x37f887(0xf4)](extractFirstCommandArgument,_0x112730,_0x551ab0);return _0x3dd057?'open\x20'+_0x3dd057:_0x2e0aa2['YpFmB'];}case _0x2e0aa2['iMgDK']:return'start\x20tracing';case _0x2e0aa2['smJUH']:return _0x2e0aa2['HMUzV'];case _0x2e0aa2['zKYBS']:return'start\x20video\x20recording';case _0x2e0aa2['oTgIm']:return _0x37f887(0xc5);case _0x2e0aa2[_0x37f887(0xcb)]:{const _0xf611db=extractFilenameOption(_0x112730);if(!_0xf611db)return'capture\x20snapshot';const {name:_0x4553c0}=_0x2e0aa2['jaIJg'](toStepDisplayName,_0xf611db);return'capture\x20snapshot\x20`'+_0x4553c0+'`';}case'screenshot':{const _0x1fe9f0=_0x2e0aa2['sRRzZ'](extractFilenameOption,_0x112730);if(!_0x1fe9f0)return _0x2e0aa2[_0x37f887(0xa8)];const {name:_0x2afe40,isKeyStep:_0x22e7d4}=_0x2e0aa2['sRRzZ'](toStepDisplayName,_0x1fe9f0);return _0x22e7d4?'capture\x20key\x20step\x20`'+_0x2afe40+'`':'capture\x20step\x20`'+_0x2afe40+'`';}case _0x37f887(0x98):return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x112730,_0x551ab0));case _0x37f887(0xfa):return _0x37f887(0xb7)+formatCommandTarget(_0x2e0aa2['kGOPo'](extractFirstCommandArgument,_0x112730,_0x551ab0));case'fill':return _0x37f887(0x9f)+formatCommandTarget(extractFirstCommandArgument(_0x112730,_0x551ab0));case _0x2e0aa2[_0x37f887(0xe1)]:return _0x37f887(0xaa)+formatCommandTarget(extractFirstCommandArgument(_0x112730,_0x551ab0));case'run-code':return _0x2e0aa2[_0x37f887(0xe0)];case'tab-new':{const _0xce5250=_0x2e0aa2[_0x37f887(0xc4)](extractFirstCommandArgument,_0x112730,_0x551ab0);return _0xce5250?'open\x20new\x20tab\x20'+_0xce5250:_0x2e0aa2[_0x37f887(0x90)];}case _0x37f887(0xc7):{const _0x5d2932=_0x2e0aa2[_0x37f887(0xf4)](extractFirstCommandArgument,_0x112730,_0x551ab0);return _0x5d2932?_0x37f887(0xac)+_0x5d2932:_0x37f887(0xdd);}default:return _0x551ab0;}}function extractPlaywrightCliToolDescription(_0x537891){const _0x4ac0a8=_0x1e50,_0x27b838={'ZFLqu':_0x4ac0a8(0x10a),'pgfDH':function(_0xf54ed,_0x3ea0b6){return _0xf54ed>_0x3ea0b6;}},_0x1a3882=_0x537891['description'];if(typeof _0x1a3882!==_0x27b838['ZFLqu'])return null;const _0x322c75=_0x1a3882[_0x4ac0a8(0xb0)]()[_0x4ac0a8(0xb9)](/\s+/g,'\x20');return _0x27b838[_0x4ac0a8(0x9b)](_0x322c75[_0x4ac0a8(0x10f)],0x0)?_0x322c75:null;}export function formatPlaywrightCliConsoleLogMessage(_0x187bd4,_0x9fe7ab,_0x3036de){const _0x117355=_0x1e50,_0x226397={'JiBZa':function(_0x33e7db,_0x4bce6a){return _0x33e7db(_0x4bce6a);}},_0x26c02a=formatPlaywrightCliLog(_0x9fe7ab,_0x3036de),_0x4c1538=_0x226397[_0x117355(0xf1)](extractPlaywrightCliToolDescription,_0x187bd4);if(!_0x4c1538)return'[playwright-cli]\x20'+_0x26c02a;if(process[_0x117355(0x111)][_0x117355(0xb2)])return _0x117355(0xfe)+_0x4c1538+'\x20('+_0x26c02a+')';return _0x117355(0xfe)+_0x4c1538;}function _0x1e50(_0x1c004c,_0x5b2b4d){_0x1c004c=_0x1c004c-0x8a;const _0x173865=_0x1738();let _0x1e50b8=_0x173865[_0x1c004c];return _0x1e50b8;}function _0x1738(){const _0x3c3c2a=['trackPhaseError','1983104gzUCYd','FabHz','stop\x20video\x20recording','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','tab-select','\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','405900eAHzgk','trace.trace.zip','OcChZ','stop\x20tracing','mgywo','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','TAJDs','stderr','vlSoO','UCQdd','video-stop','authorName','tool_name','values','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','03_learn-more.png','mtimeMs','XWTRJ','Iwdbo','>\x20\x22','select\x20tab','split','createdAt','idcbw','BsQJZ','\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','get','zRqfR','domRef','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a9.\x20Run\x20`','5tPqIbr','set','01_mozilla-homepage.png','00_mozilla-homepage.yml','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','kEqBk','KsuVV','element','\x20(on\x20element:\x20<','JiBZa','Bash','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','CxCvD','trackPhaseEnd','02_button-clicked.png','xvuEb','`\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`','PoGqi','check','03_result-visible.png','\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.','name','[ranger-verification-agent]\x20','join','yIHFL','subcommand','slice','02_learn-more.yml','--filename=','TFGiT','gytiR','tracing-start','\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','tool_call','string','phase','trackPhaseStart','qCLIC','open\x20browser','length','\x22,\x20\x22','env','playwright_cli_tracing_stop','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','(?:^|\x5cs)','\x20screenshot\x20--filename\x20','content','ZMNSK','error','1379DGGiZT','OHRuJ','tracing-stop','161442qMuORf','`,\x20then\x20`','target','canonicalFlow','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','press','click','2991224LOxLwU','UmysL','pgfDH','akVHd','tool_input','aIRsS','fill\x20','\x20tracing-start`,\x20then\x20`','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','NsWHS','toLocaleDateString','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','qYhJu','match','1089359YUzUCg','xgDcf','playwright_cli_video_stop','press\x20','push','select\x20tab\x20','`:\x20\x22','textContent','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','trim','1670STRFBq','DEBUG','\x20snapshot\x20--filename\x20','playwright_cli_close','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','run\x20custom\x20Playwright\x20code','check\x20','test','replace','):\x20\x22','\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','2246ZSLArW','wHyeE','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','snapshot','20796ahCbxU','PostToolUse'];_0x1738=function(){return _0x3c3c2a;};return _0x1738();}export function buildVerifyFeatureCliDebugPrompt(_0x2427e1,_0x1bacb8){const _0x54610d=_0x1e50,_0x211b11={'ssRuD':_0x54610d(0xea),'xvuEb':function(_0x38b1f4,_0x59f008,_0x3b4611){return _0x38b1f4(_0x59f008,_0x3b4611);},'SBmJk':_0x54610d(0xd8),'TFGiT':function(_0x4f3044,_0xae775e){return _0x4f3044(_0xae775e);}},_0x522715=buildCliArtifactPath(_0x1bacb8,_0x54610d(0xeb)),_0x177fe9=buildCliArtifactPath(_0x1bacb8,_0x211b11['ssRuD']),_0x3e4eb5=buildCliArtifactPath(_0x1bacb8,_0x54610d(0x103)),_0x13ad98=_0x211b11[_0x54610d(0xf7)](buildCliArtifactPath,_0x1bacb8,_0x211b11['SBmJk']),_0x3ffabc=quoteShellArg(_0x522715),_0x4f566c=_0x211b11[_0x54610d(0x105)](quoteShellArg,_0x177fe9),_0x4eca11=quoteShellArg(_0x3e4eb5),_0x265ad4=quoteShellArg(_0x13ad98);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2427e1+'\x0a\x0a1.\x20Run\x20`'+_0x2427e1+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x2427e1+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x2427e1+_0x54610d(0xec)+_0x1bacb8+_0x54610d(0xce)+_0x2427e1+_0x54610d(0xb3)+_0x3ffabc+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x2427e1+'\x20screenshot\x20--filename\x20'+_0x4f566c+_0x54610d(0xa4)+_0x2427e1+_0x54610d(0xb3)+_0x4eca11+_0x54610d(0xe7)+_0x2427e1+'\x20screenshot\x20--filename\x20'+_0x265ad4+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x3eb244){const _0x267007=_0x1e50,_0xe0bb55={'mEEHc':'en-US','NJGDE':'Reviewer','lLiEg':_0x267007(0xef),'yIHFL':function(_0x8feee4,_0x2a3437,_0x403f14){return _0x8feee4(_0x2a3437,_0x403f14);},'HAJgn':'02_state.yml','fCilx':function(_0x5912a0,_0x3f741b,_0x2cb45b){return _0x5912a0(_0x3f741b,_0x2cb45b);},'rVNBj':function(_0xb870c5,_0x285e60){return _0xb870c5(_0x285e60);},'DGHsh':function(_0x5be702,_0x1715e0){return _0x5be702(_0x1715e0);},'Iwdbo':function(_0x1ac668,_0x23bbcc,_0x59bf92){return _0x1ac668(_0x23bbcc,_0x59bf92);},'kEqBk':function(_0x526352,_0x147e1f,_0x28dbdb){return _0x526352(_0x147e1f,_0x28dbdb);},'sNwzj':'key_04_success-state.png'},{checklistItem:_0x1d26c8,itemFeedback:_0x499edd,taskDescription:_0x2917ad,cliCommandPrefix:_0xbb1094,cliArtifactDir:_0x2a66c8,isCdpMode:_0x2f935d,url:_0x199ba6,cdpEndpoint:_0x37f4c1,loginInstructions:_0x2806d5}=_0x3eb244,_0xbcd9d3=buildCliArtifactPath(_0x2a66c8,'01_initial.yml'),_0x3b7d30=_0xe0bb55[_0x267007(0x100)](buildCliArtifactPath,_0x2a66c8,_0xe0bb55['HAJgn']),_0x5e2802=buildCliArtifactPath(_0x2a66c8,'key_03_success-state.png'),_0x30c816=_0xe0bb55['fCilx'](buildCliArtifactPath,_0x2a66c8,'01_initial-state.png'),_0x559a03=quoteShellArg(_0xbcd9d3),_0x2f1442=_0xe0bb55['rVNBj'](quoteShellArg,_0x3b7d30),_0x2a283e=quoteShellArg(_0x5e2802),_0x4a9d23=_0xe0bb55['DGHsh'](quoteShellArg,_0x30c816),_0x54dda1=_0x1d26c8['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1d26c8['notes']:'';let _0x2959a9='';if(_0x499edd&&_0x499edd['unaddressedComments'][_0x267007(0x10f)]>0x0){const _0x5d23a4=_0x499edd['unaddressedComments']['map'](_0x23541d=>{const _0x383b1c=_0x267007,_0x1a4f99=new Date(_0x23541d[_0x383b1c(0xdf)])[_0x383b1c(0xa3)](_0xe0bb55['mEEHc'],{'month':'short','day':'numeric'}),_0x390aaf=_0x23541d[_0x383b1c(0xd4)]||_0x23541d['authorEmail']||_0xe0bb55['NJGDE'],_0x38b2fc=_0x23541d[_0x383b1c(0xe5)]?_0x383b1c(0xf0)+(_0x23541d['domRef']['selector'][_0x383b1c(0xde)]('\x20>\x20')['pop']()?.[_0x383b1c(0xde)](':')[0x0]||_0xe0bb55['lLiEg'])+_0x383b1c(0xdc)+(_0x23541d['domRef'][_0x383b1c(0xae)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x23541d['id']+']\x20**'+_0x390aaf+'**\x20('+_0x1a4f99+_0x383b1c(0xba)+_0x23541d[_0x383b1c(0x8c)]+'\x22'+_0x38b2fc;})[_0x267007(0xff)]('\x0a');_0x2959a9=_0x267007(0xbb)+_0x5d23a4;}const _0xf911ac=_0x499edd?.[_0x267007(0x95)]?_0x267007(0xb5)+_0x499edd['canonicalFlow']:'',_0x3fd9fe=_0x2f935d?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x37f4c1+_0x267007(0xe6):_0x267007(0xa1)+_0x199ba6+'\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',_0x80e69c=_0x199ba6?quoteShellArg(_0x199ba6):'',_0x207660=_0x2f935d?_0x267007(0xf3)+_0xbb1094+'\x20open`,\x20then\x20`'+_0xbb1094+_0x267007(0xa0)+_0xbb1094+_0x267007(0xd7)+_0x2a66c8+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0xbb1094+'\x20snapshot\x20--filename\x20'+_0x559a03+_0x267007(0xf8)+_0xbb1094+_0x267007(0x8b)+_0x4a9d23+_0x267007(0x96)+_0xbb1094+_0x267007(0x108):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xbb1094+'\x20open\x20'+_0x80e69c+_0x267007(0x93)+_0xbb1094+'\x20tracing-start`,\x20then\x20`'+_0xbb1094+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2a66c8+_0x267007(0xaf)+_0xbb1094+'\x20snapshot\x20--filename\x20'+_0x559a03+'`\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`'+_0xbb1094+_0x267007(0x8b)+_0x4a9d23+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0xbb1094+'\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',_0x3f596b=_0x2f935d?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x20a0f8=_0x2806d5?_0x267007(0x113)+_0x2806d5+'\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'+_0x1d26c8['description']+_0x54dda1+_0x2959a9+_0xf911ac+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x2917ad+'\x0a\x0a'+_0x3fd9fe+_0x20a0f8+'\x0a\x0a'+_0x207660+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0xbb1094+_0x267007(0xbe)+_0x2a66c8+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x2f1442+'`\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'+_0x2a283e+'`\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`'+_0x2a66c8+_0x267007(0xad)+_0x30c816+'\x22,\x20\x22'+buildCliArtifactPath(_0x2a66c8,_0x267007(0xf6))+_0x267007(0x110)+_0xe0bb55[_0x267007(0xdb)](buildCliArtifactPath,_0x2a66c8,_0x267007(0xfb))+_0x267007(0xe2)+_0xe0bb55[_0x267007(0xed)](buildCliArtifactPath,_0x2a66c8,_0xe0bb55['sNwzj'])+_0x267007(0xc8)+_0x3f596b+_0x267007(0xfc);}export function summarizeVerifyFeatureCliCommandAvailability(_0x13b589){const _0x161c36=_0x1e50,_0x491eb7=[..._0x13b589['keys']()]['sort']();let _0x1bfbd1=0x0;for(const _0xf3cf1b of _0x13b589[_0x161c36(0xd6)]()){_0x1bfbd1+=_0xf3cf1b;}return{'cliCommandCount':_0x1bfbd1,'cliCommandsSeen':_0x491eb7,'noCliCommandsCalled':_0x1bfbd1===0x0};}export function createVerifyFeatureCliHooks(_0x4486d6){const _0x1299ef=_0x1e50,_0x51b5ef={'NsWHS':function(_0x51da66,_0x4b89a3){return _0x51da66!==_0x4b89a3;},'MTYWY':_0x1299ef(0xc1),'zRqfR':_0x1299ef(0xf2),'SFgYQ':function(_0x108082,_0x58e0f6){return _0x108082(_0x58e0f6);},'EuXPc':function(_0x25e6ed,_0x3e7287){return _0x25e6ed(_0x3e7287);},'UCQdd':function(_0x49ad3b,_0x246517){return _0x49ad3b+_0x246517;},'JooDM':_0x1299ef(0x109),'qCLIC':'playwright-cli','PoGqi':_0x1299ef(0xbf),'bxIQg':function(_0x1115e1,_0x3c1d58,_0x4c478b,_0x2526c4){return _0x1115e1(_0x3c1d58,_0x4c478b,_0x2526c4);},'jcQhs':'tool_failure'},_0xde6ff7=new Map(),_0x8619f4=async _0x4b96b7=>{const _0x3dbbbb=_0x1299ef;if(_0x51b5ef[_0x3dbbbb(0xa2)](_0x4b96b7['hook_event_name'],_0x51b5ef['MTYWY']))return{};const _0x44d1e9=_0x4b96b7;if(_0x44d1e9[_0x3dbbbb(0xd5)]!==_0x51b5ef[_0x3dbbbb(0xe4)])return{};const _0x1c0847=_0x44d1e9[_0x3dbbbb(0x9d)],_0x5ca50e=_0x51b5ef['SFgYQ'](extractBashCommand,_0x1c0847);if(!_0x5ca50e)return{};const _0x1da7c9=_0x51b5ef['EuXPc'](parsePlaywrightCliCommand,_0x5ca50e);if(!_0x1da7c9)return{};return _0xde6ff7[_0x3dbbbb(0xe9)](_0x1da7c9,_0x51b5ef[_0x3dbbbb(0xd2)](_0xde6ff7[_0x3dbbbb(0xe3)](_0x1da7c9)||0x0,0x1)),_0x4486d6[_0x3dbbbb(0x10c)](_0x51b5ef['JooDM'],{'transport':'playwright-cli','toolName':_0x1da7c9}),_0x4486d6['trackPhaseEnd'](_0x51b5ef['JooDM'],{'transport':_0x51b5ef['qCLIC'],'toolName':_0x1da7c9,'bashCommandPreview':truncatePreview(_0x5ca50e)}),_0x1da7c9!==_0x51b5ef[_0x3dbbbb(0xf9)]&&console['log'](_0x51b5ef['bxIQg'](formatPlaywrightCliConsoleLogMessage,_0x1c0847,_0x5ca50e,_0x1da7c9)),{};},_0x3a4bfd=async _0x155c0d=>{const _0x3a4023=_0x1299ef;if(_0x155c0d['hook_event_name']!=='PostToolUseFailure')return{};const _0x1dc05e=_0x155c0d;if(_0x1dc05e['tool_name']!=='Bash')return{};return await _0x4486d6['trackPhaseError'](_0x51b5ef['jcQhs'],_0x1dc05e[_0x3a4023(0x8e)],{'transport':_0x51b5ef[_0x3a4023(0x10d)],'toolName':_0x51b5ef[_0x3a4023(0xe4)]}),{};};return{'postToolUseHook':_0x8619f4,'postToolUseFailureHook':_0x3a4bfd,'commandCounts':_0xde6ff7};}async function runPlaywrightCliLifecycleCommand(_0x3c692d){const _0x16eb14=_0x1e50,_0x26303a={'KsuVV':function(_0x4d5b8f,_0x2f1a69){return _0x4d5b8f(_0x2f1a69);},'qYhJu':function(_0x45b46d,_0x1cf125){return _0x45b46d??_0x1cf125;},'aIRsS':function(_0x205b5c,_0x3c7f5f,_0x626aa6){return _0x205b5c(_0x3c7f5f,_0x626aa6);}},{sessionId:_0x2f9b33,configPath:_0x71cc8f,commandArgs:_0x1e67b1,env:_0x1a19f8,telemetry:_0xa5d893,phase:_0x268111,metadata:_0x14303f,timeoutMs:_0x31f578}=_0x3c692d;_0xa5d893['trackPhaseStart'](_0x268111,_0x14303f);try{const _0x396700=await _0x26303a[_0x16eb14(0xee)](runPlaywrightCliCommand,{'sessionId':_0x2f9b33,'configPath':_0x71cc8f,'commandArgs':_0x1e67b1,'cwd':process['cwd'](),'env':_0x1a19f8,'timeoutMs':_0x26303a[_0x16eb14(0xa5)](_0x31f578,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0xa5d893[_0x16eb14(0xf5)](_0x268111,{..._0x14303f,'subcommand':_0x396700['invocation'][_0x16eb14(0x101)],'stdoutPreview':truncatePreview(_0x396700['stdout'],0x7d0),'stderrPreview':_0x26303a[_0x16eb14(0x9e)](truncatePreview,_0x396700[_0x16eb14(0xd0)],0x7d0)});}catch(_0x199428){await _0xa5d893[_0x16eb14(0xc2)](_0x268111,_0x199428,_0x14303f);throw _0x199428;}}export async function finalizeVerifyFeatureCliSession(_0x1566b1){const _0x1f697b=_0x1e50,_0xd93a4a={'ZMNSK':_0x1f697b(0x91),'Kdixx':'close','mgywo':function(_0x3c797f,_0x5cbd58){return _0x3c797f(_0x5cbd58);}},{telemetry:_0x2982a6,sessionId:_0x38ae7b,configPath:_0x3b5293,cliArtifactDir:_0x1a87fa,env:_0x34e6de,transportMetadata:_0x3c28d8}=_0x1566b1,_0x457103=[{'phase':_0x1f697b(0x112),'commandArgs':[_0xd93a4a[_0x1f697b(0x8d)]]},{'phase':_0x1f697b(0xa9),'commandArgs':[_0x1f697b(0xd3),_0x1f697b(0x104)+buildCliArtifactPath(_0x1a87fa,'session-recording.webm')]},{'phase':_0x1f697b(0xb4),'commandArgs':[_0xd93a4a['Kdixx']]}];for(const _0x801170 of _0x457103){try{await _0xd93a4a[_0x1f697b(0xcd)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x38ae7b,'configPath':_0x3b5293,'commandArgs':[..._0x801170['commandArgs']],'env':_0x34e6de,'telemetry':_0x2982a6,'phase':_0x801170[_0x1f697b(0x10b)],'metadata':_0x3c28d8});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x504584){const _0x57a20f=_0x1e50,_0x2b499f={'vlSoO':'trace.zip','TcYhq':function(_0x4709f2,_0x4d534f){return _0x4709f2(_0x4d534f);}},_0x149923=[_0x2b499f[_0x57a20f(0xd1)],_0x57a20f(0xca)];for(const _0x2524df of _0x149923){const _0x3f0512=join(_0x504584,_0x2524df);try{return{'buffer':await _0x2b499f['TcYhq'](readFile,_0x3f0512),'source':_0x3f0512};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x1c34f4){const _0x1cddb4=_0x1e50,_0x4757ef={'akVHd':function(_0x299c61,_0xcb2bd9,_0x718a5){return _0x299c61(_0xcb2bd9,_0x718a5);},'UmysL':function(_0x29ad90,_0x578415){return _0x29ad90(_0x578415);},'XoZpG':function(_0x15d76c,_0x1d5fad){return _0x15d76c<_0x1d5fad;},'vqdST':function(_0x263c76,_0x35c0e4,_0x4065b0){return _0x263c76(_0x35c0e4,_0x4065b0);},'LrVAz':function(_0x14f0fc,_0x576203){return _0x14f0fc===_0x576203;}},{cwd:_0x4fef8c,cliArtifactDir:_0x1eb1bf,startTime:_0x5c47ca}=_0x1c34f4,_0x3e6122=[];await _0x4757ef[_0x1cddb4(0x9c)](mkdir,_0x1eb1bf,{'recursive':!![]});const _0x405fa4=await readdir(_0x4fef8c,{'withFileTypes':!![]});for(const _0x26b3b3 of _0x405fa4){if(!_0x26b3b3['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x1cddb4(0xb8)](_0x26b3b3[_0x1cddb4(0xfd)]))continue;const _0x4b03ea=join(_0x4fef8c,_0x26b3b3['name']),_0x348a18=await _0x4757ef[_0x1cddb4(0x9a)](stat,_0x4b03ea);if(_0x4757ef['XoZpG'](_0x348a18[_0x1cddb4(0xd9)]+0x7d0,_0x5c47ca))continue;const _0x2ea755=_0x4757ef['vqdST'](buildCliArtifactPath,_0x1eb1bf,_0x26b3b3[_0x1cddb4(0xfd)]);if(_0x4757ef['LrVAz'](_0x4b03ea,_0x2ea755))continue;await _0x4757ef['vqdST'](rename,_0x4b03ea,_0x2ea755),_0x3e6122[_0x1cddb4(0xab)](_0x26b3b3[_0x1cddb4(0xfd)]);}return _0x3e6122['sort']();}
@@ -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 _0x5e9d6c=_0x28f1;(function(_0x55a7eb,_0x5e9f8b){const _0x3638c5=_0x28f1,_0x492623=_0x55a7eb();while(!![]){try{const _0x3acaca=parseInt(_0x3638c5(0x26a))/0x1+parseInt(_0x3638c5(0x251))/0x2*(parseInt(_0x3638c5(0x273))/0x3)+parseInt(_0x3638c5(0x1e4))/0x4*(parseInt(_0x3638c5(0x1fc))/0x5)+-parseInt(_0x3638c5(0x235))/0x6*(parseInt(_0x3638c5(0x278))/0x7)+-parseInt(_0x3638c5(0x205))/0x8+-parseInt(_0x3638c5(0x1c4))/0x9+parseInt(_0x3638c5(0x1b2))/0xa;if(_0x3acaca===_0x5e9f8b)break;else _0x492623['push'](_0x492623['shift']());}catch(_0x19b651){_0x492623['push'](_0x492623['shift']());}}}(_0x3027,0x943ac));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',_0x5e9d6c(0x1ef),_0x5e9d6c(0x240),_0x5e9d6c(0x277),'wait-for',_0x5e9d6c(0x1a5),'screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4f59a2,_0x1bf900){const _0x45c5fe={'uOxXw':function(_0x474582,_0x13d937,_0x1c80b1){return _0x474582(_0x13d937,_0x1c80b1);}};return _0x45c5fe['uOxXw'](join,_0x4f59a2,_0x1bf900);}export class NovaActArtifactRecorder{['params'];['browser']=null;[_0x5e9d6c(0x1f5)]=null;[_0x5e9d6c(0x1a6)]=null;[_0x5e9d6c(0x275)]=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x5e9d6c(0x1bd)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x5e9d6c(0x1ee)]=![];['stopped']=![];constructor(_0x1b50bb){this['params']=_0x1b50bb;}async[_0x5e9d6c(0x214)](){const _0x157497=_0x5e9d6c,_0x30007f={'ifOTX':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','VWbLj':'nova_act_artifact_recording'};if(this[_0x157497(0x1ee)])return;this[_0x157497(0x1ee)]=!![];const _0x4e0e38=await this[_0x157497(0x270)](),_0xb6628d=_0x4e0e38[_0x157497(0x1dc)];if(!_0xb6628d)throw new Error(_0x157497(0x1bc)+this['params'][_0x157497(0x1ae)][_0x157497(0x252)]);await mkdir(this['params']['cliArtifactDir'],{'recursive':!![]}),this[_0x157497(0x1f4)]=await chromium['connectOverCDP'](_0xb6628d,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x157497(0x1c0)]()[0x0]??null;if(!this['context'])throw new Error(_0x30007f[_0x157497(0x224)]);await this['context']['tracing'][_0x157497(0x214)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x157497(0x1f2)]=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x157497(0x1aa)]['telemetry']['trackPhaseStart'](_0x30007f[_0x157497(0x210)],{...this[_0x157497(0x1aa)]['transportMetadata'],'cdpEndpoint':_0xb6628d,'browserPid':_0x4e0e38[_0x157497(0x25b)],'sessionState':_0x4e0e38[_0x157497(0x25f)]}),this['params'][_0x157497(0x20a)]['trackPhaseEnd'](_0x30007f['VWbLj'],{...this[_0x157497(0x1aa)]['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x157497(0x20e)]});}async[_0x5e9d6c(0x26b)](){const _0x125d90=_0x5e9d6c,_0x143a63={'GvEzm':'nova_act_artifact_recording_stop','QRmOz':function(_0x2209d0,_0x50cc55,_0x5ee6c6){return _0x2209d0(_0x50cc55,_0x5ee6c6);}};if(this[_0x125d90(0x21b)])return;this[_0x125d90(0x21b)]=!![];const _0x4d8a29={...this[_0x125d90(0x1aa)]['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this[_0x125d90(0x226)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x125d90(0x20e)]};this['params']['telemetry']['trackPhaseStart'](_0x143a63['GvEzm'],_0x4d8a29);try{await this[_0x125d90(0x1d6)](),await this[_0x125d90(0x21e)](),await this['stopScreencast'](),await Promise[_0x125d90(0x1c8)](this[_0x125d90(0x275)]);this['context']&&this[_0x125d90(0x1f2)]&&await this[_0x125d90(0x1f5)][_0x125d90(0x221)]['stop']({'path':_0x143a63['QRmOz'](buildCliArtifactPath,this[_0x125d90(0x1aa)]['cliArtifactDir'],'trace.zip')});const _0x18cb6c=await this[_0x125d90(0x1af)]();this[_0x125d90(0x1aa)][_0x125d90(0x20a)][_0x125d90(0x1e6)](_0x143a63[_0x125d90(0x271)],{..._0x4d8a29,'videoPath':_0x18cb6c});}catch(_0x486692){await this['params']['telemetry'][_0x125d90(0x1bb)]('nova_act_artifact_recording_stop',_0x486692,_0x4d8a29);}finally{await this[_0x125d90(0x1f4)]?.['close']()['catch'](()=>undefined),this['browser']=null,this[_0x125d90(0x1f5)]=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x20e6d8=_0x5e9d6c,_0x19fa97={'gWUMH':function(_0x4ad813,_0x361d0c,_0x3b3bc0,_0x1d75c0,_0x42f6a6,_0x134481){return _0x4ad813(_0x361d0c,_0x3b3bc0,_0x1d75c0,_0x42f6a6,_0x134481);},'GrUzx':function(_0x3e9ca1){return _0x3e9ca1();},'YExZL':'browser','ZtUxO':'sessions','EsPCO':function(_0x698505,_0x2e09b0,_0x5376b0){return _0x698505(_0x2e09b0,_0x5376b0);},'sPfdT':function(_0x3c8140,_0x5d103a){return _0x3c8140(_0x5d103a);}},_0x204c54=_0x19fa97['gWUMH'](join,_0x19fa97[_0x20e6d8(0x247)](homedir),_0x20e6d8(0x1fa),_0x19fa97[_0x20e6d8(0x243)],_0x19fa97['ZtUxO'],this[_0x20e6d8(0x1aa)][_0x20e6d8(0x1ae)]['sessionId']+_0x20e6d8(0x1ac)),_0x3a3abc=Date['now']();let _0x287731;do{try{const _0x22b9f8=JSON['parse'](await _0x19fa97[_0x20e6d8(0x202)](readFile,_0x204c54,'utf-8'));if(_0x22b9f8[_0x20e6d8(0x1dc)])return _0x22b9f8;_0x287731=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x204c54);}catch(_0x4bc150){_0x287731=_0x4bc150;}await _0x19fa97['sPfdT'](delay,0x64);}while(Date[_0x20e6d8(0x254)]()-_0x3a3abc<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x287731 instanceof Error)throw _0x287731;throw new Error(_0x20e6d8(0x262)+_0x204c54);}async['startScreencast'](){const _0x39c84f=_0x5e9d6c,_0x1989a2={'VmahH':function(_0x770041,_0xe3a975,_0x29117b){return _0x770041(_0xe3a975,_0x29117b);},'nThiE':'Page.screencastFrame','KJESi':'jpeg'};if(!this[_0x39c84f(0x1f5)])return;const _0x39027a=this[_0x39c84f(0x1f5)]['pages']()[0x0];if(!_0x39027a)return;const _0x55bb5c=this['getFrameDir']();await mkdir(_0x55bb5c,{'recursive':!![]});const _0x3bd6dc=await this[_0x39c84f(0x1f5)]['newCDPSession'](_0x39027a);this['frameSession']=_0x3bd6dc,_0x3bd6dc['on'](_0x1989a2['nThiE'],_0x11e3b6=>{const _0x781d7d=_0x39c84f,_0x4ac66b=++this[_0x781d7d(0x23d)],_0x408bc9=_0x1989a2[_0x781d7d(0x216)](join,_0x55bb5c,'frame-'+String(_0x4ac66b)['padStart'](0x6,'0')+_0x781d7d(0x244)),_0x1b9094=writeFile(_0x408bc9,Buffer['from'](_0x11e3b6[_0x781d7d(0x209)],'base64'))[_0x781d7d(0x1f0)](()=>undefined)[_0x781d7d(0x219)](()=>_0x3bd6dc['send'](_0x781d7d(0x255),{'sessionId':_0x11e3b6[_0x781d7d(0x252)]}))['then'](()=>undefined)[_0x781d7d(0x1f0)](()=>undefined);this['frameWrites'][_0x781d7d(0x274)](_0x1b9094);}),await _0x3bd6dc[_0x39c84f(0x1f6)](_0x39c84f(0x1cd),{'format':_0x1989a2[_0x39c84f(0x253)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x39c84f(0x20e)]=!![];}async['stopScreencast'](){const _0x25e70f=_0x5e9d6c,_0x52e305={'ldHMi':_0x25e70f(0x242)};if(!this['frameSession']||!this[_0x25e70f(0x20e)])return;await this[_0x25e70f(0x1a6)][_0x25e70f(0x1f6)](_0x52e305['ldHMi'])['catch'](()=>undefined);}[_0x5e9d6c(0x1b4)](){const _0x4a4342=_0x5e9d6c,_0x43e137={'oYabV':function(_0x21741a,_0x591c34,_0x315824){return _0x21741a(_0x591c34,_0x315824);}};this[_0x4a4342(0x228)](),this['traceSampleTimer']=_0x43e137[_0x4a4342(0x1a9)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x5e9d6c(0x228)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x4e3f65=_0x5e9d6c,_0x2f41f9={'QBEGj':function(_0x8c9271,_0x3a67bc){return _0x8c9271(_0x3a67bc);}};this['traceSampleTimer']&&(_0x2f41f9[_0x4e3f65(0x26f)](clearInterval,this[_0x4e3f65(0x1bd)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x263e77=_0x5e9d6c,_0x4490c1=this['context']?.['pages']()[0x0];if(!_0x4490c1)return;try{await _0x4490c1['locator']('body')[_0x263e77(0x269)](_0x5509cb=>_0x5509cb[_0x263e77(0x22e)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x5e9d6c(0x1af)](){const _0x57afab=_0x5e9d6c,_0xfb3383={'dwhje':function(_0x56113a,_0x391c4b){return _0x56113a<_0x391c4b;},'iOZES':'videos','vyZCQ':function(_0x105b60,_0x972314,_0x10da80){return _0x105b60(_0x972314,_0x10da80);},'AtEHD':_0x57afab(0x21a),'MGEUT':_0x57afab(0x1dd),'gkghc':_0x57afab(0x1a7),'tDABL':_0x57afab(0x25c),'WytDv':_0x57afab(0x220),'EwXmK':_0x57afab(0x223),'xwvrb':'libvpx-vp9','xGhnx':'yuv420p'};if(_0xfb3383[_0x57afab(0x1ab)](this[_0x57afab(0x23d)],0x2))return null;const _0x1acc14=await resolveFfmpegPath();if(!_0x1acc14)return null;const _0x2a229e=join(this['params']['cliArtifactDir'],_0xfb3383['iOZES']);await _0xfb3383['vyZCQ'](mkdir,_0x2a229e,{'recursive':!![]});const _0x574df1=join(_0x2a229e,_0xfb3383['AtEHD']);return await execFileAsync(_0x1acc14,['-y',_0xfb3383[_0x57afab(0x1d3)],_0xfb3383['gkghc'],_0xfb3383[_0x57afab(0x20d)],_0x57afab(0x1f8),'10','-i',join(this['getFrameDir'](),'frame-%06d.jpg'),_0xfb3383['WytDv'],_0x57afab(0x263),_0xfb3383[_0x57afab(0x1e8)],_0xfb3383[_0x57afab(0x1d7)],'-pix_fmt',_0xfb3383[_0x57afab(0x24a)],_0x574df1]),_0x574df1;}[_0x5e9d6c(0x218)](){const _0x29a9f5=_0x5e9d6c;return join(this[_0x29a9f5(0x1aa)][_0x29a9f5(0x1c3)],'nova-video-frames');}}async function delay(_0xaa4afb){await new Promise(_0x37f096=>setTimeout(_0x37f096,_0xaa4afb));}async function resolveFfmpegPath(){const _0x3e8a4c=_0x5e9d6c,_0x1efa19={'SuWkf':_0x3e8a4c(0x27a),'tBRRT':function(_0x50c447,_0x706d91,_0x7738ae,_0x5006f6,_0x233f3f){return _0x50c447(_0x706d91,_0x7738ae,_0x5006f6,_0x233f3f);},'jhwHg':function(_0x550d2a,_0xa3f4e8,_0x4a2d6a,_0x3687fb){return _0x550d2a(_0xa3f4e8,_0x4a2d6a,_0x3687fb);},'eCuyp':_0x3e8a4c(0x1fd),'ftadd':function(_0x3f9d7f,_0x2fb268){return _0x3f9d7f(_0x2fb268);}};if(await canRunFfmpeg('ffmpeg'))return _0x1efa19[_0x3e8a4c(0x237)];const _0x38a6f9=[_0x1efa19[_0x3e8a4c(0x1d4)](join,homedir(),'Library','Caches',_0x3e8a4c(0x1fd)),_0x1efa19[_0x3e8a4c(0x20b)](join,homedir(),_0x3e8a4c(0x279),_0x1efa19[_0x3e8a4c(0x268)])];for(const _0x247c52 of _0x38a6f9){try{const _0x30cd31=await _0x1efa19[_0x3e8a4c(0x1fb)](readdir,_0x247c52),_0x2aa4d5=_0x30cd31[_0x3e8a4c(0x23c)](_0x4d83af=>_0x4d83af[_0x3e8a4c(0x21c)](_0x3e8a4c(0x1e1)))[_0x3e8a4c(0x1b1)]()['reverse']()['flatMap'](_0x400804=>[join(_0x247c52,_0x400804,'ffmpeg-mac'),join(_0x247c52,_0x400804,_0x3e8a4c(0x1d1)),join(_0x247c52,_0x400804,_0x3e8a4c(0x24e))]);for(const _0x10a733 of _0x2aa4d5){if(await canRunFfmpeg(_0x10a733))return _0x10a733;}}catch{}}return null;}async function canRunFfmpeg(_0x4b6102){const _0x39ef55=_0x5e9d6c,_0x26e160={'pSZcF':function(_0xbafe5,_0x1a0fa7,_0x5d79d8){return _0xbafe5(_0x1a0fa7,_0x5d79d8);},'WxEAx':'-version'};try{return await _0x26e160[_0x39ef55(0x230)](execFileAsync,_0x4b6102,[_0x26e160[_0x39ef55(0x236)]]),!![];}catch{return![];}}function _0x3027(){const _0x2b1888=['5536341sRruVv','get','Kbsfv','SzJsZ','allSettled','nova_act_final_screenshot','nova_act_session_close','[nova-act-cli]\x20','nova-user-data/*','Page.startScreencast','capture\x20snapshot','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','nova-act-cli','ffmpeg-linux','gmMDy','MGEUT','tBRRT','VlbFd','stopTraceSampling','xwvrb','XcheC','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','RRQuM','uliXq','cdp_endpoint','-hide_banner','psovO','unaddressedComments','description','ffmpeg-','wait-for','>\x20\x22','536tOlpVz','waCdP','trackPhaseEnd','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','EwXmK','ZuDht','final-state.yaml','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','shellCommand','navigate\x20browser','startAttempted','verify','catch','\x20screenshot\x20--output\x20','tracingStarted','execute','browser','context','send','RrYCG','-framerate','toLocaleDateString','.act_cli','ftadd','27165JoIICd','ms-playwright','ask\x20page\x20question','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','gUVAu','session','EsPCO','tJhDf','zip','4708536lkJDnq','Xqzir','trackPhaseStart','hNFIX','data','telemetry','jhwHg','nova-session-export.json','tDABL','screencastStarted','verify\x20page\x20condition','VWbLj','short','json','zvyYW','start','yPJqf','VmahH','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','getFrameDir','finally','session-recording.webm','stopped','startsWith','nova_act_final_snapshot','captureTraceSample','args','-vf','tracing','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','-c:v','ifOTX','PostToolUseFailure','traceSampleCount','Bash','queueTraceSample','domRef','nova_act_session_export','close','key_03_success-state.png','trim','tagName','stderr','pSZcF','02_final-state.yml','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','content','YBMRV','12ANAQhl','WxEAx','SuWkf','session\x20create','irWAA','\x0a\x0aExamples:\x0a-\x20`','log','filter','frameCount','authorEmail','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','ask','zsOpK','Page.stopScreencast','YExZL','.jpg','create\x20Nova\x20browser\x20session','nova_act_command','GrUzx','selector','\x20>\x20','xGhnx','aTnUZ','`\x0a-\x20`','mtimeMs','ffmpeg.exe','\x20snapshot\x20--output\x20','OrRZR','208070gaXVjF','sessionId','KJESi','now','Page.screencastFrameAck','00_initial-state.yml','-\x20[','03_final-state.png','nWJtf','\x0a\x0a##\x20Additional\x20Notes\x0a','browser_pid','error','CFHiG','pop','state','ndaGa','test','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','scale=trunc(iw/2)*2:trunc(ih/2)*2','session\x20export','canonicalFlow','commandArgs','hook_event_name','eCuyp','evaluate','35453IWhzdp','stop','sakPe','replace','CTWWf','QBEGj','readSessionMetadataWithRetry','GvEzm','env','12TudhGC','push','frameWrites','sMFde','goto','2875187HfqbuZ','.cache','ffmpeg','01_initial.yml','cUkMF','snapshot','frameSession','-loglevel','`\x0a4.\x20Run\x20one\x20batched\x20`','oYabV','params','dwhje','.json','subcommand','novaOptions','encodeScreencastVideo','HNgWt','sort','14527310vYCEhP','GhFGG','startTraceSampling','split','screenshot','):\x20\x22','name','--format','AmIcO','trackPhaseError','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','traceSampleTimer','rqPwX','map','contexts','\x20session\x20create\x20','key_final-state.png','cliArtifactDir'];_0x3027=function(){return _0x2b1888;};return _0x3027();}function toStepDisplayName(_0x57456a){const _0x19eb51=_0x5e9d6c,_0x29ea19={'HNgWt':function(_0x1b0eac,_0x23b2ad){return _0x1b0eac(_0x23b2ad);}},_0x31abd6=basename(_0x57456a)[_0x19eb51(0x26d)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x19eb51(0x26d)](/^\d+_/,'')[_0x19eb51(0x26d)](/-/g,'\x20');return{'name':_0x31abd6,'isKeyStep':/^key_/i['test'](_0x29ea19[_0x19eb51(0x1b0)](basename,_0x57456a))};}function extractShellValue(_0x204f33){if(!_0x204f33)return null;return _0x204f33[0x1]??_0x204f33[0x2]??_0x204f33[0x3]??null;}function extractOutputOption(_0x3e1c14){const _0x4839d8={'MDTNR':function(_0x257576,_0x22e132){return _0x257576(_0x22e132);}};return _0x4839d8['MDTNR'](extractShellValue,_0x3e1c14['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0xb03a79,_0x18c633){const _0x2bdca8=_0x5e9d6c,_0x5919e1={'jhIHJ':_0x2bdca8(0x1f3),'SzJsZ':'ask','eCFZb':_0x2bdca8(0x1fe),'gLAPd':'goto','GhFGG':'wait\x20for\x20page\x20condition','afjMI':function(_0x465d1c,_0x59820d){return _0x465d1c(_0x59820d);},'xyTzt':_0x2bdca8(0x1ce),'tKfpu':function(_0x35a60b,_0x2ce9e4){return _0x35a60b(_0x2ce9e4);},'DSIWI':_0x2bdca8(0x264)};switch(_0x18c633){case _0x2bdca8(0x238):return _0x2bdca8(0x245);case _0x5919e1['jhIHJ']:return'execute\x20Nova\x20browser\x20action';case'verify':return _0x2bdca8(0x20f);case _0x5919e1[_0x2bdca8(0x1c7)]:return _0x5919e1['eCFZb'];case _0x5919e1['gLAPd']:return _0x2bdca8(0x1ed);case _0x2bdca8(0x1e2):return _0x5919e1[_0x2bdca8(0x1b3)];case'snapshot':{const _0x3813f0=_0x5919e1['afjMI'](extractOutputOption,_0xb03a79);if(!_0x3813f0)return _0x5919e1['xyTzt'];const {name:_0x43829e}=_0x5919e1['tKfpu'](toStepDisplayName,_0x3813f0);return'capture\x20snapshot\x20`'+_0x43829e+'`';}case'screenshot':{const _0x33a446=extractOutputOption(_0xb03a79);if(!_0x33a446)return'capture\x20screenshot';const {name:_0xa9ef45,isKeyStep:_0x2f318e}=toStepDisplayName(_0x33a446);return _0x2f318e?'capture\x20key\x20step\x20`'+_0xa9ef45+'`':'capture\x20step\x20`'+_0xa9ef45+'`';}case _0x5919e1['DSIWI']:return'export\x20Nova\x20session';default:return _0x18c633;}}function getNovaActCliCommandBlockReason(_0x2e7e3d){const _0x19b61b=_0x5e9d6c,_0x17f067={'YBMRV':'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.'},_0xaa1938=parseNovaActCliCommand(_0x2e7e3d);if(!_0xaa1938)return _0x19b61b(0x1e7);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0xaa1938))return'Nova\x20command\x20`'+_0xaa1938+_0x19b61b(0x222);if(_0xaa1938==='verify'&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x19b61b(0x261)](_0x2e7e3d))return _0x17f067[_0x19b61b(0x234)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2e7e3d))return _0x19b61b(0x1eb);return null;}function buildFeedbackSection(_0x509e47){const _0x48c758=_0x5e9d6c,_0x8af688={'hNFIX':'en-US','bXbul':_0x48c758(0x211),'ZkmTi':'Reviewer','waCdP':_0x48c758(0x249),'psovO':'element'};if(!_0x509e47||_0x509e47['unaddressedComments']['length']===0x0)return'';const _0x170ba6=_0x509e47[_0x48c758(0x1df)][_0x48c758(0x1bf)](_0x44da06=>{const _0x20badd=_0x48c758,_0x25e691=new Date(_0x44da06['createdAt'])[_0x20badd(0x1f9)](_0x8af688[_0x20badd(0x208)],{'month':_0x8af688['bXbul'],'day':'numeric'}),_0x25a282=_0x44da06['authorName']||_0x44da06[_0x20badd(0x23e)]||_0x8af688['ZkmTi'],_0x5605cb=_0x44da06[_0x20badd(0x229)]?'\x20(on\x20element:\x20<'+(_0x44da06[_0x20badd(0x229)][_0x20badd(0x248)]['split'](_0x8af688[_0x20badd(0x1e5)])[_0x20badd(0x25e)]()?.[_0x20badd(0x1b5)](':')[0x0]||_0x8af688[_0x20badd(0x1de)])+_0x20badd(0x1e3)+(_0x44da06['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x20badd(0x257)+_0x44da06['id']+']\x20**'+_0x25a282+'**\x20('+_0x25e691+_0x20badd(0x1b7)+_0x44da06[_0x20badd(0x233)]+'\x22'+_0x5605cb;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x170ba6;}function _0x28f1(_0x48c94c,_0xc94c4b){_0x48c94c=_0x48c94c-0x1a5;const _0x302767=_0x3027();let _0x28f1d1=_0x302767[_0x48c94c];return _0x28f1d1;}function buildNovaSharedOptionsInstruction(_0x285211){const _0x5ccb49=_0x5e9d6c;if(!_0x285211[_0x5ccb49(0x22d)]())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'+_0x285211;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x50f66b){const _0x172e10=_0x5e9d6c,_0xc5e0a7={'uliXq':function(_0x663094,_0x5f25b8,_0x5bff0f){return _0x663094(_0x5f25b8,_0x5bff0f);},'uOJkL':'01_initial-state.png','cUkMF':function(_0x1e46af,_0x36fb1c,_0x674175){return _0x1e46af(_0x36fb1c,_0x674175);},'zsOpK':_0x172e10(0x258),'sakPe':function(_0x265ea1,_0x4212ca){return _0x265ea1(_0x4212ca);}},{novaCommandPrefix:_0x241609,novaSharedOptionsSuffix:_0x5474f7,cliArtifactDir:_0x4df2ff,url:_0x2d79f3}=_0x50f66b,_0x449a7b=_0xc5e0a7[_0x172e10(0x1db)](buildCliArtifactPath,_0x4df2ff,_0x172e10(0x256)),_0x27146f=_0xc5e0a7['uliXq'](buildCliArtifactPath,_0x4df2ff,_0xc5e0a7['uOJkL']),_0x52c517=_0xc5e0a7[_0x172e10(0x27c)](buildCliArtifactPath,_0x4df2ff,_0x172e10(0x231)),_0x390dd5=buildCliArtifactPath(_0x4df2ff,_0xc5e0a7[_0x172e10(0x241)]);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'+_0x241609+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x5474f7)+'\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`'+_0x241609+'\x20session\x20create\x20'+quoteShellArg(_0x2d79f3)+'\x20'+_0x5474f7+'`\x0a2.\x20Run\x20`'+_0x241609+'\x20snapshot\x20--output\x20'+_0xc5e0a7[_0x172e10(0x26c)](quoteShellArg,_0x449a7b)+'\x20'+_0x5474f7+'`\x0a3.\x20Run\x20`'+_0x241609+_0x172e10(0x1f1)+_0xc5e0a7[_0x172e10(0x26c)](quoteShellArg,_0x27146f)+'\x20'+_0x5474f7+_0x172e10(0x1a8)+_0x241609+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x241609+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x52c517)+'\x20'+_0x5474f7+'`\x0a6.\x20Run\x20`'+_0x241609+'\x20screenshot\x20--output\x20'+_0xc5e0a7['sakPe'](quoteShellArg,_0x390dd5)+'\x20'+_0x5474f7+_0x172e10(0x232)+_0x4df2ff+_0x172e10(0x217);}export function buildVerifyFeatureNovaCliPrompt(_0x1a08b0){const _0x351090=_0x5e9d6c,_0x16ef25={'nWJtf':function(_0x213211,_0x3b2a17){return _0x213211(_0x3b2a17);},'AZcFw':function(_0x512fe6,_0x1371f4,_0x41db71){return _0x512fe6(_0x1371f4,_0x41db71);},'JCxxv':_0x351090(0x27b),'sMFde':'01_initial-state.png','RrYCG':_0x351090(0x22c),'MjhTg':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`'},{checklistItem:_0x3c7c31,itemFeedback:_0x1470b7,taskDescription:_0x5ad98c,novaCommandPrefix:_0xd37a60,novaSharedOptionsSuffix:_0x480adf,cliArtifactDir:_0x5a267c,url:_0x55ccdd,loginInstructions:_0x32810c}=_0x1a08b0,_0x3337fe=_0x3c7c31['notes']?_0x351090(0x25a)+_0x3c7c31['notes']:'',_0x373145=_0x16ef25[_0x351090(0x259)](buildFeedbackSection,_0x1470b7),_0x219a3d=_0x1470b7?.[_0x351090(0x265)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1470b7['canonicalFlow']:'',_0x4d34bd=_0x32810c?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x32810c+_0x351090(0x1ff):'',_0x2fd240=_0x16ef25['AZcFw'](buildCliArtifactPath,_0x5a267c,_0x16ef25['JCxxv']),_0x2fa17e=_0x16ef25['AZcFw'](buildCliArtifactPath,_0x5a267c,_0x16ef25[_0x351090(0x276)]),_0x3d2225=buildCliArtifactPath(_0x5a267c,_0x16ef25[_0x351090(0x1f7)]);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'+_0x3c7c31[_0x351090(0x1e0)]+_0x3337fe+_0x373145+_0x219a3d+_0x351090(0x1cf)+_0x5ad98c+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x55ccdd+'\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'+_0x4d34bd+'\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`'+_0xd37a60+_0x351090(0x1c1)+_0x16ef25[_0x351090(0x259)](quoteShellArg,_0x55ccdd)+'\x20'+_0x480adf+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5a267c+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0xd37a60+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2fd240)+'\x20'+_0x480adf+_0x351090(0x23f)+_0xd37a60+_0x351090(0x1f1)+_0x16ef25['nWJtf'](quoteShellArg,_0x2fa17e)+'\x20'+_0x480adf+'`.\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`'+_0x3d2225+'`.\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`'+_0xd37a60+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x480adf[_0x351090(0x22d)]()?'`'+_0x480adf+'`':_0x16ef25['MjhTg'])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x480adf)+_0x351090(0x23a)+_0xd37a60+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x480adf+_0x351090(0x24c)+_0xd37a60+_0x351090(0x1d9)+_0x480adf+_0x351090(0x24c)+_0xd37a60+_0x351090(0x24f)+quoteShellArg(_0x2fd240)+'\x20'+_0x480adf+_0x351090(0x24c)+_0xd37a60+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3d2225)+'\x20'+_0x480adf+'`\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(_0x254881){const _0x4f6e94=[..._0x254881['keys']()]['sort']();let _0x55a1c2=0x0;for(const _0x518326 of _0x254881['values']()){_0x55a1c2+=_0x518326;}return{'cliCommandCount':_0x55a1c2,'cliCommandsSeen':_0x4f6e94,'noCliCommandsCalled':_0x55a1c2===0x0};}export function createVerifyFeatureNovaCliHooks(_0x2c302f,_0x2d2f98){const _0x1f5ca5=_0x5e9d6c,_0xe6fa4e={'VlbFd':function(_0xfb12ea,_0x5c5df4){return _0xfb12ea!==_0x5c5df4;},'FmGNk':'PreToolUse','zvyYW':function(_0x3ff3bd,_0x3561a0){return _0x3ff3bd!==_0x3561a0;},'tJhDf':function(_0x4aa0fb,_0x2c1ef5){return _0x4aa0fb(_0x2c1ef5);},'FkAGw':'block','yPJqf':'PostToolUse','RRQuM':function(_0x29b62d,_0xcaeb42){return _0x29b62d(_0xcaeb42);},'CFHiG':_0x1f5ca5(0x246),'ZuDht':'session\x20create','spJfq':'nova_act_artifact_recording','Kbsfv':function(_0x3a61fb,_0x94b31b){return _0x3a61fb!==_0x94b31b;},'xTHUk':'nova_act_command_failure','EHoRr':_0x1f5ca5(0x1d0),'aVjIe':'Bash'},_0x15afd7=new Map(),_0x5b604f=async _0x319116=>{const _0xe6852f=_0x1f5ca5;if(_0xe6fa4e[_0xe6852f(0x1d5)](_0x319116[_0xe6852f(0x267)],_0xe6fa4e['FmGNk']))return{};const _0x2fc5f1=_0x319116;if(_0xe6fa4e[_0xe6852f(0x213)](_0x2fc5f1['tool_name'],_0xe6852f(0x227)))return{};const _0x5169cd=_0x2fc5f1['tool_input'],_0x1ad88a=_0xe6fa4e[_0xe6852f(0x203)](extractBashCommand,_0x5169cd);if(!_0x1ad88a)return{};const _0x43a154=getNovaActCliCommandBlockReason(_0x1ad88a);if(!_0x43a154)return{};return{'decision':_0xe6fa4e['FkAGw'],'reason':_0x43a154};},_0x188609=async _0x2f72b2=>{const _0x5974d9=_0x1f5ca5;if(_0xe6fa4e[_0x5974d9(0x1d5)](_0x2f72b2[_0x5974d9(0x267)],_0xe6fa4e[_0x5974d9(0x215)]))return{};const _0x10b824=_0x2f72b2;if(_0x10b824['tool_name']!=='Bash')return{};const _0xad8b41=_0x10b824['tool_input'],_0x44d2bb=_0xe6fa4e[_0x5974d9(0x203)](extractBashCommand,_0xad8b41);if(!_0x44d2bb)return{};const _0x35c04a=_0xe6fa4e[_0x5974d9(0x1da)](parseNovaActCliCommand,_0x44d2bb);if(!_0x35c04a)return{};_0x15afd7['set'](_0x35c04a,(_0x15afd7[_0x5974d9(0x1c5)](_0x35c04a)||0x0)+0x1),_0x2c302f[_0x5974d9(0x207)](_0xe6fa4e['CFHiG'],{'subcommand':_0x35c04a}),_0x2c302f['trackPhaseEnd'](_0xe6fa4e[_0x5974d9(0x25d)],{'subcommand':_0x35c04a,'commandPreview':_0xe6fa4e['RRQuM'](previewNovaActCliCommand,_0x44d2bb)}),console[_0x5974d9(0x23b)](_0x5974d9(0x1cb)+formatNovaActCliLog(_0x44d2bb,_0x35c04a));if(_0x35c04a===_0xe6fa4e[_0x5974d9(0x1e9)]&&_0x2d2f98)try{await _0x2d2f98[_0x5974d9(0x214)]();}catch(_0x56cda6){await _0x2c302f[_0x5974d9(0x1bb)](_0xe6fa4e['spJfq'],_0x56cda6,{'transport':'nova-act-cli'});}return{};},_0x373850=async _0x34c076=>{const _0x2dcddb=_0x1f5ca5;if(_0xe6fa4e[_0x2dcddb(0x1c6)](_0x34c076[_0x2dcddb(0x267)],_0x2dcddb(0x225)))return{};const _0x5330ce=_0x34c076;if(_0x5330ce['tool_name']!=='Bash')return{};return await _0x2c302f[_0x2dcddb(0x1bb)](_0xe6fa4e['xTHUk'],_0x5330ce[_0x2dcddb(0x25c)],{'transport':_0xe6fa4e['EHoRr'],'toolName':_0xe6fa4e['aVjIe']}),{};};return{'preToolUseHook':_0x5b604f,'postToolUseHook':_0x188609,'postToolUseFailureHook':_0x373850,'commandCounts':_0x15afd7};}async function runNovaLifecycleCommand(_0x5ef239){const _0x4d0fb=_0x5e9d6c,_0x20e486={'gmMDy':function(_0x33b99c,_0x1f060c){return _0x33b99c(_0x1f060c);},'eTlGg':function(_0x3030bc,_0x4b6145){return _0x3030bc??_0x4b6145;},'CTWWf':function(_0x22b53c,_0x19afce){return _0x22b53c(_0x19afce);},'LvvFk':function(_0x1122d5,_0x513c85){return _0x1122d5(_0x513c85);}},{novaOptions:_0x1ae593,commandArgs:_0x45a5c,telemetry:_0x556191,phase:_0x17dcaa,metadata:_0x5b34ad,timeoutMs:_0x337856}=_0x5ef239;_0x556191[_0x4d0fb(0x207)](_0x17dcaa,_0x5b34ad);try{const _0x1c2ddb=await _0x20e486['gmMDy'](runNovaActCliCommand,{..._0x1ae593,'commandArgs':_0x45a5c,'cwd':process['cwd'](),'env':process[_0x4d0fb(0x272)],'timeoutMs':_0x20e486['eTlGg'](_0x337856,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x556191['trackPhaseEnd'](_0x17dcaa,{..._0x5b34ad,'subcommand':_0x1c2ddb['invocation'][_0x4d0fb(0x1ad)],'commandPreview':_0x20e486[_0x4d0fb(0x1d2)](previewNovaActCliCommand,_0x1c2ddb['invocation'][_0x4d0fb(0x1ec)]),'stdoutPreview':_0x20e486[_0x4d0fb(0x26e)](previewNovaActCliCommand,_0x1c2ddb['stdout']),'stderrPreview':_0x20e486['LvvFk'](previewNovaActCliCommand,_0x1c2ddb[_0x4d0fb(0x22f)]),'logDir':extractNovaActLogDir(_0x1c2ddb['stdout'])});}catch(_0x593f23){await _0x556191['trackPhaseError'](_0x17dcaa,_0x593f23,_0x5b34ad);throw _0x593f23;}}export async function finalizeVerifyFeatureNovaCliSession(_0x518a33){const _0x3d6e89=_0x5e9d6c,_0x9d9c9f={'BXIRM':function(_0x3f181b,_0x4d405b,_0x353df5){return _0x3f181b(_0x4d405b,_0x353df5);},'AmIcO':_0x3d6e89(0x1a5),'HXacY':'--output','ZfVBa':function(_0x42331f,_0xed4d20,_0x137ca8){return _0x42331f(_0xed4d20,_0x137ca8);},'pdMLB':_0x3d6e89(0x20c),'mBIja':'session','XcheC':'export','eobFs':function(_0x55c48d,_0x1d82fa,_0x412759){return _0x55c48d(_0x1d82fa,_0x412759);},'UXGTG':'nova_act_session_close','OrRZR':_0x3d6e89(0x22b),'VXymw':function(_0x4cfaa4,_0x1d861a){return _0x4cfaa4===_0x1d861a;},'aTnUZ':function(_0x33244c,_0x5539ab){return _0x33244c(_0x5539ab);}},{telemetry:_0x1db2a3,novaOptions:_0x2c7f85,cliArtifactDir:_0xa96742,transportMetadata:_0x529895,artifactRecorder:_0xffd9ca}=_0x518a33,_0xb0385f=[{'phase':_0x3d6e89(0x1c9),'commandArgs':[_0x3d6e89(0x1b6),'--output',_0x9d9c9f['BXIRM'](buildCliArtifactPath,_0xa96742,_0x3d6e89(0x1c2))]},{'phase':_0x3d6e89(0x21d),'commandArgs':[_0x9d9c9f[_0x3d6e89(0x1ba)],_0x9d9c9f['HXacY'],_0x9d9c9f['BXIRM'](buildCliArtifactPath,_0xa96742,_0x3d6e89(0x1ea))]},{'phase':_0x3d6e89(0x22a),'commandArgs':[_0x3d6e89(0x201),'export',_0x3d6e89(0x1b9),_0x3d6e89(0x212),'--output',_0x9d9c9f['ZfVBa'](buildCliArtifactPath,_0xa96742,_0x9d9c9f['pdMLB'])]},{'phase':'nova_act_session_report','commandArgs':[_0x9d9c9f['mBIja'],_0x9d9c9f[_0x3d6e89(0x1d8)],'--report','--output-dir',_0x9d9c9f['eobFs'](buildCliArtifactPath,_0xa96742,'nova-report')]},{'phase':_0x9d9c9f['UXGTG'],'commandArgs':['session',_0x9d9c9f[_0x3d6e89(0x250)]]}];for(const _0xf77f68 of _0xb0385f){_0x9d9c9f['VXymw'](_0xf77f68['phase'],_0x3d6e89(0x1ca))&&await _0xffd9ca?.['stop']();try{await _0x9d9c9f[_0x3d6e89(0x24b)](runNovaLifecycleCommand,{'novaOptions':_0x2c7f85,'commandArgs':[..._0xf77f68[_0x3d6e89(0x266)]],'telemetry':_0x1db2a3,'phase':_0xf77f68['phase'],'metadata':_0x529895});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x4715ed){const _0x48f79f=_0x5e9d6c,_0xe19234={'irWAA':function(_0x1f4dda,_0x18343e,_0x3c017f){return _0x1f4dda(_0x18343e,_0x3c017f);},'gUVAu':function(_0x5ce57c,_0x3fae66){return _0x5ce57c(_0x3fae66);},'rqPwX':function(_0x4c66b3,_0x2a37ab){return _0x4c66b3<_0x2a37ab;},'qUeoA':function(_0x29654d,_0x58ed44){return _0x29654d+_0x58ed44;},'Xqzir':function(_0x49ff71,_0xca21f2){return _0x49ff71===_0xca21f2;}},{cwd:_0x48df82,cliArtifactDir:_0x5bf5c5,startTime:_0x2875df}=_0x4715ed,_0x47c36b=[];await mkdir(_0x5bf5c5,{'recursive':!![]});const _0x59ef09=await _0xe19234[_0x48f79f(0x239)](readdir,_0x48df82,{'withFileTypes':!![]});for(const _0x21a36d of _0x59ef09){if(!_0x21a36d['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x21a36d[_0x48f79f(0x1b8)]))continue;const _0xb1e9bc=join(_0x48df82,_0x21a36d[_0x48f79f(0x1b8)]),_0x3ffa24=await _0xe19234[_0x48f79f(0x200)](stat,_0xb1e9bc);if(_0xe19234[_0x48f79f(0x1be)](_0xe19234['qUeoA'](_0x3ffa24[_0x48f79f(0x24d)],0x7d0),_0x2875df))continue;const _0x2bdc29=buildCliArtifactPath(_0x5bf5c5,_0x21a36d['name']);if(_0xe19234[_0x48f79f(0x206)](_0xb1e9bc,_0x2bdc29))continue;await rename(_0xb1e9bc,_0x2bdc29),_0x47c36b[_0x48f79f(0x274)](_0x21a36d[_0x48f79f(0x1b8)]);}return _0x47c36b['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x2210f3){const _0x117d2e=_0x5e9d6c,_0x44f319={'ndaGa':function(_0x221592,_0x4191a7){return _0x221592(_0x4191a7);}},_0x3d5f51=join(_0x2210f3,'trace.zip');try{return{'buffer':await _0x44f319['ndaGa'](readFile,_0x3d5f51),'source':_0x3d5f51};}catch{return{'buffer':await _0x44f319[_0x117d2e(0x260)](zipVerifyFeatureNovaArtifacts,_0x2210f3),'source':_0x2210f3};}}async function zipVerifyFeatureNovaArtifacts(_0x4438a7){const _0x54bbb5=_0x5e9d6c,_0x3ab729={'TXRVp':'-qr'},_0x3dcdd7=join(_0x4438a7,'..','nova-artifacts.zip');try{return await execFileAsync(_0x54bbb5(0x204),[_0x3ab729['TXRVp'],_0x3dcdd7,'.','-x',_0x54bbb5(0x1cc)],{'cwd':_0x4438a7}),await readFile(_0x3dcdd7);}finally{await rm(_0x3dcdd7,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x7e2bc3){const _0x13d297=_0x5e9d6c,_0x39a756=buildNovaActCliInvocation(_0x7e2bc3['novaOptions'],_0x7e2bc3[_0x13d297(0x266)]);return{'command':_0x39a756['command'],'args':_0x39a756[_0x13d297(0x21f)],'commandPreview':previewNovaActCliCommand(_0x39a756['shellCommand']),'subcommand':_0x39a756['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x7e2bc3['novaOptions'],_0x7e2bc3[_0x13d297(0x266)])};}
@@ -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(_0x32e0f4,_0xf817c0){const _0x5ee16a=_0x460f,_0x5d9626=_0x32e0f4();while(!![]){try{const _0x413a25=parseInt(_0x5ee16a(0x18f))/0x1+parseInt(_0x5ee16a(0x187))/0x2*(-parseInt(_0x5ee16a(0x19b))/0x3)+parseInt(_0x5ee16a(0x1aa))/0x4*(-parseInt(_0x5ee16a(0x167))/0x5)+-parseInt(_0x5ee16a(0x1a1))/0x6*(parseInt(_0x5ee16a(0x169))/0x7)+parseInt(_0x5ee16a(0x192))/0x8+parseInt(_0x5ee16a(0x1b3))/0x9+-parseInt(_0x5ee16a(0x1b0))/0xa*(-parseInt(_0x5ee16a(0x1ab))/0xb);if(_0x413a25===_0xf817c0)break;else _0x5d9626['push'](_0x5d9626['shift']());}catch(_0x44e245){_0x5d9626['push'](_0x5d9626['shift']());}}}(_0x2d23,0x439ef));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(_0x16a68e,_0x2535a8=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x294dae=_0x460f,_0xdb5840={'xzhkg':function(_0x4acc02,_0x5288da){return _0x4acc02+_0x5288da;},'lphQZ':'...'};return _0x16a68e[_0x294dae(0x180)]>_0x2535a8?_0xdb5840['xzhkg'](_0x16a68e['slice'](0x0,_0x2535a8),_0xdb5840['lphQZ']):_0x16a68e;}function extractShellValue(_0x2be516){if(!_0x2be516)return null;return _0x2be516[0x1]??_0x2be516[0x2]??_0x2be516[0x3]??null;}function extractFirstCommandArgument(_0x1c84e9,_0x2a3e9e){const _0x3b0e4b=_0x460f,_0x1296de={'FPOsl':_0x3b0e4b(0x177),'DEbTZ':function(_0xf554dc,_0x229609){return _0xf554dc(_0x229609);}},_0x6238d9=_0x2a3e9e[_0x3b0e4b(0x1af)](/[.*+?^${}()|[\]\\]/g,_0x1296de[_0x3b0e4b(0x19a)]);return _0x1296de[_0x3b0e4b(0x1b5)](extractShellValue,_0x1c84e9[_0x3b0e4b(0x1a7)](new RegExp(_0x3b0e4b(0x1a6)+_0x6238d9+_0x3b0e4b(0x1b1))));}function formatCommandTarget(_0x2a7888){const _0x57f64d=_0x460f,_0x22a8a3={'eOEqw':_0x57f64d(0x195)};if(!_0x2a7888)return _0x22a8a3[_0x57f64d(0x198)];if(/^e\d+$/i['test'](_0x2a7888))return'ref\x20'+_0x2a7888;return JSON['stringify'](truncatePreview(_0x2a7888,0x78));}function formatRangerwrightCliLog(_0x50ce41,_0x1f36e0){const _0x12c340=_0x460f,_0x3209d0={'Wrkxo':'open-and-inspect','REdXB':function(_0x44bef6,_0x1ccd1f,_0x19d6b2){return _0x44bef6(_0x1ccd1f,_0x19d6b2);},'DWscG':'open\x20and\x20inspect','bscDC':'fill','BZIyC':'inspect','mkJun':_0x12c340(0x172),'CIRHM':'video-stop','MEHwr':'close\x20browser\x20session'};switch(_0x1f36e0){case _0x3209d0['Wrkxo']:{const _0xc5d54e=_0x3209d0['REdXB'](extractFirstCommandArgument,_0x50ce41,_0x1f36e0);return _0xc5d54e?'open\x20and\x20inspect\x20'+_0xc5d54e:_0x3209d0['DWscG'];}case _0x12c340(0x1b4):return _0x12c340(0x18d)+formatCommandTarget(extractFirstCommandArgument(_0x50ce41,_0x1f36e0));case _0x3209d0['bscDC']:case _0x12c340(0x16c):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x50ce41,_0x1f36e0));case _0x12c340(0x1a0):return'go\x20back\x20and\x20inspect';case _0x3209d0[_0x12c340(0x1a9)]:return _0x3209d0['mkJun'];case _0x12c340(0x164):return'stop\x20tracing';case _0x3209d0['CIRHM']:return'stop\x20video\x20recording';case _0x12c340(0x18a):return _0x3209d0['MEHwr'];default:return _0x1f36e0;}}function renderScenarioSections(_0x427942){const _0x5d82eb=_0x460f,_0x3050c5={'gjrGW':'en-US','EnijW':'short'},{checklistItem:_0x3156ab,itemFeedback:_0x56d913}=_0x427942,_0x1ef3ff=_0x3156ab[_0x5d82eb(0x1a5)]?_0x5d82eb(0x181)+_0x3156ab[_0x5d82eb(0x1a5)]:'';let _0x237d07='';if(_0x56d913&&_0x56d913['unaddressedComments'][_0x5d82eb(0x180)]>0x0){const _0x567339=_0x56d913[_0x5d82eb(0x19c)][_0x5d82eb(0x17d)](_0x13ce8a=>{const _0x277c64=_0x5d82eb,_0x2f3bc1=new Date(_0x13ce8a['createdAt'])[_0x277c64(0x174)](_0x3050c5[_0x277c64(0x16a)],{'month':_0x3050c5[_0x277c64(0x16e)],'day':'numeric'}),_0x583c61=_0x13ce8a['authorName']||_0x13ce8a['authorEmail']||'Reviewer',_0x2a1eb5=_0x13ce8a[_0x277c64(0x168)]?'\x20(on\x20element:\x20<'+(_0x13ce8a['domRef'][_0x277c64(0x191)][_0x277c64(0x1b7)](_0x277c64(0x190))['pop']()?.['split'](':')[0x0]||_0x277c64(0x183))+'>\x20\x22'+(_0x13ce8a['domRef']['textContent']||'')[_0x277c64(0x178)](0x0,0x32)+'\x22)':'';return _0x277c64(0x17c)+_0x13ce8a['id']+']\x20'+_0x583c61+'\x20('+_0x2f3bc1+_0x277c64(0x18b)+_0x13ce8a['content']+'\x22'+_0x2a1eb5;})['join']('\x0a');_0x237d07='\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'+_0x567339;}const _0x136491=_0x56d913?.['canonicalFlow']?_0x5d82eb(0x1a2)+_0x56d913['canonicalFlow']:'';return''+_0x3156ab[_0x5d82eb(0x17e)]+_0x1ef3ff+_0x237d07+_0x136491;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x56fed8){const _0xedccc2=_0x460f,_0x39fd91={'GsWyp':_0xedccc2(0x194),'XeahS':_0xedccc2(0x16b),'Tspwy':function(_0x1dbcd5,_0x514cd6){return _0x1dbcd5(_0x514cd6);}},{checklistItem:_0x5b18ea,itemFeedback:_0x3ee091,taskDescription:_0x1904f2,commandPrefix:_0x14d1af,isCdpMode:_0x1c2e2d,url:_0x8470cc,cdpEndpoint:_0x1c3f6f,loginInstructions:_0x44a44a}=_0x56fed8,_0x5846e6=_0x39fd91[_0xedccc2(0x16f)],_0x651537=_0x39fd91[_0xedccc2(0x165)],_0x20bfc5=_0x1c2e2d?_0x14d1af+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x5846e6):_0x14d1af+_0xedccc2(0x175)+_0x39fd91['Tspwy'](quoteShellArg,_0x8470cc??_0xedccc2(0x186))+_0xedccc2(0x170)+quoteShellArg(_0x5846e6),_0x1936ce=_0x1c2e2d?_0xedccc2(0x166)+_0x1c3f6f+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0xedccc2(0x197)+_0x8470cc+'\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.',_0x453669=_0x44a44a?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x44a44a+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+renderScenarioSections({'checklistItem':_0x5b18ea,'itemFeedback':_0x3ee091})+_0xedccc2(0x1a8)+_0x1904f2+'\x0a\x0a'+_0x1936ce+_0x453669+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x14d1af+_0xedccc2(0x17b)+_0x20bfc5+'\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'+_0x14d1af+_0xedccc2(0x162)+quoteShellArg(_0x651537)+'\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.';}function _0x2d23(){const _0xe41a0=['error','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','hook_event_name','tracing-stop','XeahS','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','110EKKObW','domRef','436289gEjQpU','gjrGW','key_99_final-state.png','fill-and-inspect','nGUqq','EnijW','GsWyp','\x20--screenshot-path\x20','tool_name','inspect\x20page','values','toLocaleDateString','\x20open-and-inspect\x20','LcINF','\x5c$&','slice','invocation','trackPhaseStart','\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','-\x20[','map','description','IaUZw','length','\x0a\x0a##\x20Additional\x20Notes\x0a','vaATk','element','Bash','trackPhaseEnd','about:blank','32DuUFRA','rangerwright_cli_command','key_02_learn-more.png','close','):\x20\x22','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','click\x20and\x20inspect\x20','log','507140vEKhld','\x20>\x20','selector','3276272Jvdidu','get','01_initial-state.png','target','video-stop','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','eOEqw','commandArgs','FPOsl','22947uVLWug','unaddressedComments','commandPrefix','rangerwright_cli_video_stop','GlDbF','back-and-inspect','24BRxGch','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','cGBSS','sXtRI','notes','(?:^|\x5cs)','match','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','BZIyC','93804DvXnDG','1030381XHePFT','PostToolUseFailure','subcommand','jhHay','replace','10ZpSheZ','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','keys','1388196lExtwI','click-and-inspect','DEbTZ','set','split'];_0x2d23=function(){return _0xe41a0;};return _0x2d23();}function _0x460f(_0x81eefe,_0x37d19a){_0x81eefe=_0x81eefe-0x161;const _0x2d2328=_0x2d23();let _0x460f32=_0x2d2328[_0x81eefe];return _0x460f32;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x3ccb02){const _0x4c3433=_0x460f,_0x412951={'rSyIY':_0x4c3433(0x189),'IaUZw':function(_0x480720,_0x5e9ca8){return _0x480720(_0x5e9ca8);}},_0x2b2732='01_mozilla-homepage.png',_0xe4040f=_0x412951['rSyIY'];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'+_0x3ccb02[_0x4c3433(0x19d)]+'\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`'+_0x3ccb02['commandPrefix']+_0x4c3433(0x175)+_0x412951['IaUZw'](quoteShellArg,_0x3ccb02['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x2b2732)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x3ccb02[_0x4c3433(0x19d)]+_0x4c3433(0x18c)+_0x412951[_0x4c3433(0x17f)](quoteShellArg,_0xe4040f)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x34fac4){const _0x4d6597=_0x460f,_0x65b1d3={'zHLOe':function(_0x3102fe,_0x5017e8){return _0x3102fe===_0x5017e8;}},_0x4510ee=[..._0x34fac4[_0x4d6597(0x1b2)]()]['sort']();let _0x151ddb=0x0;for(const _0x55c5ac of _0x34fac4[_0x4d6597(0x173)]()){_0x151ddb+=_0x55c5ac;}return{'cliCommandCount':_0x151ddb,'cliCommandsSeen':_0x4510ee,'noCliCommandsCalled':_0x65b1d3['zHLOe'](_0x151ddb,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x2d561b){const _0x1c71c3=_0x460f,_0x45c36a={'IZqgu':function(_0x4fb51e,_0x46bd8a){return _0x4fb51e!==_0x46bd8a;},'sXtRI':'PostToolUse','vaATk':_0x1c71c3(0x184),'LcINF':function(_0x4e44ba,_0x39cf6f){return _0x4e44ba(_0x39cf6f);},'UGzam':function(_0x2d6225,_0xa3c57a){return _0x2d6225+_0xa3c57a;},'KwVlT':_0x1c71c3(0x188),'siCRN':function(_0x39105d,_0x240d88){return _0x39105d(_0x240d88);},'cGBSS':function(_0x48f82b,_0xc8e192){return _0x48f82b!==_0xc8e192;},'Usxrb':_0x1c71c3(0x1ac),'jhHay':'rangerwright_cli_command_failure','GlDbF':'rangerwright-cli'},_0x57573a=new Map(),_0x3718b2=async _0x1a7580=>{const _0x3a925c=_0x1c71c3;if(_0x45c36a['IZqgu'](_0x1a7580['hook_event_name'],_0x45c36a[_0x3a925c(0x1a4)]))return{};const _0x59a706=_0x1a7580;if(_0x59a706[_0x3a925c(0x171)]!==_0x45c36a['vaATk'])return{};const _0x11fd9e=_0x59a706['tool_input'],_0x13a477=extractBashCommand(_0x11fd9e);if(!_0x13a477)return{};const _0xdf32d5=_0x45c36a[_0x3a925c(0x176)](parseRangerwrightCliCommand,_0x13a477);if(!_0xdf32d5)return{};return _0x57573a[_0x3a925c(0x1b6)](_0xdf32d5,_0x45c36a['UGzam'](_0x57573a[_0x3a925c(0x193)](_0xdf32d5)||0x0,0x1)),_0x2d561b['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0xdf32d5}),_0x2d561b[_0x3a925c(0x185)](_0x45c36a['KwVlT'],{'subcommand':_0xdf32d5,'commandPreview':_0x45c36a['siCRN'](truncatePreview,_0x13a477)}),console[_0x3a925c(0x18e)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x13a477,_0xdf32d5)),{};},_0x531951=async _0x474d14=>{const _0x471a94=_0x1c71c3;if(_0x45c36a[_0x471a94(0x1a3)](_0x474d14[_0x471a94(0x163)],_0x45c36a['Usxrb']))return{};const _0x693888=_0x474d14;if(_0x45c36a['cGBSS'](_0x693888[_0x471a94(0x171)],_0x45c36a[_0x471a94(0x182)]))return{};return await _0x2d561b['trackPhaseError'](_0x45c36a[_0x471a94(0x1ae)],_0x693888[_0x471a94(0x161)],{'transport':_0x45c36a[_0x471a94(0x19f)],'toolName':_0x471a94(0x184)}),{};};return{'postToolUseHook':_0x3718b2,'postToolUseFailureHook':_0x531951,'commandCounts':_0x57573a};}async function runRangerwrightLifecycleCommand(_0x1e0470){const _0x5a17c6=_0x460f,_0x11e3ed={'mRoyo':function(_0x366926,_0x278c52){return _0x366926??_0x278c52;},'gGMpw':function(_0x5ab0c5,_0x23daa6,_0x5649bc){return _0x5ab0c5(_0x23daa6,_0x5649bc);}},{options:_0x588bf7,commandArgs:_0x23bbf3,env:_0x490388,telemetry:_0x3082a0,phase:_0x4d1ff2,metadata:_0x3596a7,timeoutMs:_0xbe1ddd}=_0x1e0470;_0x3082a0[_0x5a17c6(0x17a)](_0x4d1ff2,_0x3596a7);try{const _0x5119ca=await runRangerwrightCliCommand({..._0x588bf7,'commandArgs':_0x23bbf3,'cwd':process['cwd'](),'env':_0x490388,'timeoutMs':_0x11e3ed['mRoyo'](_0xbe1ddd,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x3082a0['trackPhaseEnd'](_0x4d1ff2,{..._0x3596a7,'subcommand':_0x5119ca[_0x5a17c6(0x179)][_0x5a17c6(0x1ad)],'stdoutPreview':_0x11e3ed['gGMpw'](truncatePreview,_0x5119ca['stdout'],0x7d0),'stderrPreview':_0x11e3ed['gGMpw'](truncatePreview,_0x5119ca['stderr'],0x7d0)});}catch(_0x572f58){await _0x3082a0['trackPhaseError'](_0x4d1ff2,_0x572f58,_0x3596a7);throw _0x572f58;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x334f98){const _0x2aa14c=_0x460f,_0x1fca33={'nGUqq':'tracing-stop','XtbBn':_0x2aa14c(0x196),'MAfVP':function(_0x1cdfc4,_0x424547){return _0x1cdfc4(_0x424547);}},{telemetry:_0x37405f,rangerwrightOptions:_0x31f8f8,env:_0x378ffb,transportMetadata:_0x2705be}=_0x334f98,_0x1621f4=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':[_0x1fca33[_0x2aa14c(0x16d)]]},{'phase':_0x2aa14c(0x19e),'commandArgs':[_0x1fca33['XtbBn']]},{'phase':'rangerwright_cli_close','commandArgs':[_0x2aa14c(0x18a)]}];for(const _0x4c27a0 of _0x1621f4){try{await _0x1fca33['MAfVP'](runRangerwrightLifecycleCommand,{'options':_0x31f8f8,'commandArgs':[..._0x4c27a0[_0x2aa14c(0x199)]],'env':_0x378ffb,'telemetry':_0x37405f,'phase':_0x4c27a0['phase'],'metadata':_0x2705be});}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-alpha.cbf7608-55",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -21,11 +21,12 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
24
- "@playwright/cli": "0.1.1",
25
- "@ranger-testing/rangerwright": "^0.0.27",
24
+ "@playwright/cli": "0.1.12",
25
+ "@playwright/mcp": "0.0.74",
26
+ "@ranger-testing/rangerwright": "^0.0.31",
26
27
  "dotenv": "^16.4.5",
27
28
  "inquirer": "^9.2.12",
28
- "playwright": "1.56.1",
29
+ "playwright": "1.60.0",
29
30
  "ws": "^8.20.1",
30
31
  "yargs": "^17.7.2",
31
32
  "zod": "^3.23.8"
@@ -48,6 +49,14 @@
48
49
  "brace-expansion": "^5.0.6",
49
50
  "fast-uri": "3.1.2",
50
51
  "@babel/core": "^7.29.6",
51
- "js-yaml": "^4.2.0"
52
+ "js-yaml": "^4.2.0",
53
+ "@playwright/cli": {
54
+ "playwright": "1.60.0",
55
+ "playwright-core": "1.60.0"
56
+ },
57
+ "@playwright/mcp": {
58
+ "playwright": "1.60.0",
59
+ "playwright-core": "1.60.0"
60
+ }
52
61
  }
53
62
  }