@ranger-testing/ranger-cli 3.0.1-alpha.d9f4572-27 → 3.0.1-alpha.ffffb5b-28

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 (81) 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/playwrightCli.js +1 -1
  60. package/build/commands/utils/profileMessages.js +1 -1
  61. package/build/commands/utils/profileSetupBanner.js +1 -1
  62. package/build/commands/utils/projectsConfig.js +1 -1
  63. package/build/commands/utils/rangerConfig.js +1 -1
  64. package/build/commands/utils/rangerRoot.js +1 -1
  65. package/build/commands/utils/resolveProfileContext.js +1 -1
  66. package/build/commands/utils/resolveProfileUrl.js +1 -1
  67. package/build/commands/utils/retry.js +1 -1
  68. package/build/commands/utils/sessionCache.js +1 -1
  69. package/build/commands/utils/settings.js +1 -1
  70. package/build/commands/utils/skillContent.js +1 -1
  71. package/build/commands/utils/skills.js +1 -1
  72. package/build/commands/utils/stitchWebmFiles.js +1 -1
  73. package/build/commands/utils/telemetry.js +1 -1
  74. package/build/commands/utils/tokenRefresh.js +1 -1
  75. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  76. package/build/commands/utils/userApi.js +1 -1
  77. package/build/commands/utils/version.js +1 -1
  78. package/build/commands/verifyFeature.js +1 -1
  79. package/build/commands/verifyFeatureCli.js +1 -1
  80. package/build/commands/verifyFeatureNovaCli.js +1 -1
  81. package/package.json +2 -2
@@ -1 +1 @@
1
- (function(_0x1c7a88,_0x347501){const _0xcdd52d=_0x3c19,_0x148084=_0x1c7a88();while(!![]){try{const _0x3337f2=-parseInt(_0xcdd52d(0x1ab))/0x1*(parseInt(_0xcdd52d(0x1e6))/0x2)+-parseInt(_0xcdd52d(0x1e1))/0x3*(-parseInt(_0xcdd52d(0x196))/0x4)+parseInt(_0xcdd52d(0x1d5))/0x5*(parseInt(_0xcdd52d(0x1d4))/0x6)+-parseInt(_0xcdd52d(0x177))/0x7*(parseInt(_0xcdd52d(0x1d9))/0x8)+parseInt(_0xcdd52d(0x1a3))/0x9+parseInt(_0xcdd52d(0x1f4))/0xa+parseInt(_0xcdd52d(0x1de))/0xb;if(_0x3337f2===_0x347501)break;else _0x148084['push'](_0x148084['shift']());}catch(_0x43a87e){_0x148084['push'](_0x148084['shift']());}}}(_0x182a,0xc37ae));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';function _0x182a(){const _0x281124=['ATSux','**\x20(','PostToolUse','keys','length','capture\x20snapshot','CAwBT','screenshot','jiIbb','key_04_success-state.png','stop\x20video\x20recording','domRef','hsbOk','selector','qUIiQ','open\x20browser','01_initial.yml','01_mozilla-homepage.png','trackPhaseStart','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','video-stop','zgPzO','check\x20','BegzU','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','stop\x20tracing','725442FbioLo','10cvTsRs','LrEwA','`,\x20then\x20`','ZXJbs','4272FNEXRd','stderr','values','\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.','start\x20video\x20recording','18964286nhaMZs','02_button-clicked.png','trackPhaseEnd','10386PDIuKQ','TBfrE','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','\x22,\x20\x22','PostToolUseFailure','253196zjnbLn','video-start','lHiSZ','phase','join','close','slice','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','NQKwK','\x20open\x20','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','iUMop','FfxWx','playwright_cli_video_stop','1440UUwwyB','02_state.yml','WMrsV','tracing-stop',']\x20**','isFile','split','trackPhaseError','7826QduUef','GvFwP','...','--filename=','\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-\x20Write\x20all\x20artifacts\x20under\x20`','canonicalFlow','tool_name','HHrAD','rDXab','\x20(on\x20element:\x20<','tracing-start','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','element','\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','\x20screenshot\x20--filename\x20','jdjcC','BXjco','\x0a\x0a##\x20Additional\x20Notes\x0a','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','DEBUG','Bash','\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\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.','`\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`','>\x20\x22','fill','numeric','playwright-cli','textContent','replace','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','324EfLWmE','capture\x20key\x20step\x20`','hAOmJ','match','trace.trace.zip','hook_event_name','subcommand','\x20snapshot\x20--filename\x20','invocation','press\x20','push','playwright_cli_close','trim','3755448dbyKyC','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','toLocaleDateString','test','[ranger-verification-agent]\x20','ZwHNV','run-code','10DRgqEA','viqZJ','notes','UyVBg','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','\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','unaddressedComments','VXCIP','name','FUosW','capture\x20step\x20`','playwright_cli_tracing_stop','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','press','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'];_0x182a=function(){return _0x281124;};return _0x182a();}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(_0x7aa1a6,_0xa7a565=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x38ceb3=_0x3c19,_0xab9455={'zgPzO':function(_0x530e31,_0x57408e){return _0x530e31+_0x57408e;}};return _0x7aa1a6[_0x38ceb3(0x1be)]>_0xa7a565?_0xab9455[_0x38ceb3(0x1cf)](_0x7aa1a6['slice'](0x0,_0xa7a565),_0x38ceb3(0x179)):_0x7aa1a6;}function buildCliArtifactPath(_0x3846d7,_0x5c31f2){return join(_0x3846d7,_0x5c31f2);}function toStepDisplayName(_0x522a96){const _0x49b437=_0x3c19,_0x49ff61=basename(_0x522a96)[_0x49b437(0x194)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x49ff61,'isKeyStep':/^key_/i['test'](basename(_0x522a96))};}function extractShellValue(_0x4fabd1){if(!_0x4fabd1)return null;return _0x4fabd1[0x1]??_0x4fabd1[0x2]??_0x4fabd1[0x3]??null;}function extractFilenameOption(_0x4faad2){const _0x536a66=_0x3c19;return extractShellValue(_0x4faad2[_0x536a66(0x199)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x4a6901,_0x2fec16){const _0x11b441=_0x3c19,_0x53967f=_0x2fec16[_0x11b441(0x194)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x4a6901['match'](new RegExp('(?:^|\x5cs)'+_0x53967f+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x51a181){const _0xd5e5d3=_0x3c19,_0x59d06b={'qUIiQ':function(_0x5ada7d,_0xbccea4,_0x143239){return _0x5ada7d(_0xbccea4,_0x143239);}};if(!_0x51a181)return'target';if(/^e\d+$/i[_0xd5e5d3(0x1a7)](_0x51a181))return'ref\x20'+_0x51a181;return JSON['stringify'](_0x59d06b[_0xd5e5d3(0x1c8)](truncatePreview,_0x51a181,0x78));}function formatPlaywrightCliLog(_0x42cf0d,_0x44dabe){const _0x12c5e4=_0x3c19,_0x12f49f={'nOPGE':'open','UyVBg':function(_0x372c96,_0x1d51bd,_0x302a05){return _0x372c96(_0x1d51bd,_0x302a05);},'pvBeh':_0x12c5e4(0x1c9),'ATSux':'start\x20tracing','hwXbX':_0x12c5e4(0x1d3),'hsbOk':_0x12c5e4(0x1dd),'nWkJj':'video-stop','BXjco':_0x12c5e4(0x1c4),'FUosW':_0x12c5e4(0x1c1),'rDXab':function(_0x45ff22,_0x2501bc){return _0x45ff22(_0x2501bc);},'GZTTD':'check','OunuL':_0x12c5e4(0x1b8),'lHiSZ':_0x12c5e4(0x1aa),'JECuE':'run\x20custom\x20Playwright\x20code','HAyKm':'tab-new','MdEkE':'select\x20tab'};switch(_0x44dabe){case _0x12f49f['nOPGE']:{const _0x24d3d0=_0x12f49f[_0x12c5e4(0x1ae)](extractFirstCommandArgument,_0x42cf0d,_0x44dabe);return _0x24d3d0?'open\x20'+_0x24d3d0:_0x12f49f['pvBeh'];}case _0x12c5e4(0x182):return _0x12f49f[_0x12c5e4(0x1ba)];case _0x12c5e4(0x1f7):return _0x12f49f['hwXbX'];case _0x12c5e4(0x1e7):return _0x12f49f[_0x12c5e4(0x1c6)];case _0x12f49f['nWkJj']:return _0x12f49f[_0x12c5e4(0x188)];case'snapshot':{const _0x8e5c27=extractFilenameOption(_0x42cf0d);if(!_0x8e5c27)return _0x12c5e4(0x1bf);const {name:_0x2fab14}=toStepDisplayName(_0x8e5c27);return'capture\x20snapshot\x20`'+_0x2fab14+'`';}case _0x12f49f[_0x12c5e4(0x1b4)]:{const _0x21a32f=extractFilenameOption(_0x42cf0d);if(!_0x21a32f)return'capture\x20screenshot';const {name:_0x6761e1,isKeyStep:_0x255356}=toStepDisplayName(_0x21a32f);return _0x255356?_0x12c5e4(0x197)+_0x6761e1+'`':_0x12c5e4(0x1b5)+_0x6761e1+'`';}case'click':return'click\x20'+_0x12f49f['rDXab'](formatCommandTarget,extractFirstCommandArgument(_0x42cf0d,_0x44dabe));case _0x12f49f['GZTTD']:return _0x12c5e4(0x1d0)+_0x12f49f['rDXab'](formatCommandTarget,extractFirstCommandArgument(_0x42cf0d,_0x44dabe));case _0x12c5e4(0x190):return'fill\x20'+_0x12f49f[_0x12c5e4(0x180)](formatCommandTarget,extractFirstCommandArgument(_0x42cf0d,_0x44dabe));case _0x12f49f['OunuL']:return _0x12c5e4(0x19f)+formatCommandTarget(extractFirstCommandArgument(_0x42cf0d,_0x44dabe));case _0x12f49f[_0x12c5e4(0x1e8)]:return _0x12f49f['JECuE'];case _0x12f49f['HAyKm']:{const _0x179c7a=_0x12f49f['UyVBg'](extractFirstCommandArgument,_0x42cf0d,_0x44dabe);return _0x179c7a?'open\x20new\x20tab\x20'+_0x179c7a:'open\x20new\x20tab';}case'tab-select':{const _0x118db1=_0x12f49f['UyVBg'](extractFirstCommandArgument,_0x42cf0d,_0x44dabe);return _0x118db1?'select\x20tab\x20'+_0x118db1:_0x12f49f['MdEkE'];}default:return _0x44dabe;}}function extractPlaywrightCliToolDescription(_0x3f5241){const _0x35e478=_0x3c19,_0x58a1de={'CYJpP':'string','MLdNJ':function(_0xff9acf,_0x408462){return _0xff9acf>_0x408462;}},_0x27ced1=_0x3f5241['description'];if(typeof _0x27ced1!==_0x58a1de['CYJpP'])return null;const _0x47d8bf=_0x27ced1[_0x35e478(0x1a2)]()['replace'](/\s+/g,'\x20');return _0x58a1de['MLdNJ'](_0x47d8bf[_0x35e478(0x1be)],0x0)?_0x47d8bf:null;}export function formatPlaywrightCliConsoleLogMessage(_0xc865b4,_0x5d9f54,_0x5040b0){const _0x1bcad7=_0x3c19,_0x2023ac={'jdjcC':function(_0xe4eab0,_0x56936c,_0x37a6e5){return _0xe4eab0(_0x56936c,_0x37a6e5);}},_0x4424bc=_0x2023ac[_0x1bcad7(0x187)](formatPlaywrightCliLog,_0x5d9f54,_0x5040b0),_0x500325=extractPlaywrightCliToolDescription(_0xc865b4);if(!_0x500325)return'[playwright-cli]\x20'+_0x4424bc;if(process['env'][_0x1bcad7(0x18b)])return _0x1bcad7(0x1a8)+_0x500325+'\x20('+_0x4424bc+')';return'[ranger-verification-agent]\x20'+_0x500325;}export function buildVerifyFeatureCliDebugPrompt(_0x252876,_0x2216e0){const _0x4ad64a=_0x3c19,_0x3cc94e={'iUMop':function(_0x2ecdfc,_0x1de482,_0x32c06a){return _0x2ecdfc(_0x1de482,_0x32c06a);},'lNjyl':'00_mozilla-homepage.yml','ksXrf':function(_0x37a6c0,_0x2ecdec){return _0x37a6c0(_0x2ecdec);},'VXCIP':function(_0x51ac0e,_0xcf56d2){return _0x51ac0e(_0xcf56d2);}},_0x31eb90=_0x3cc94e[_0x4ad64a(0x1f1)](buildCliArtifactPath,_0x2216e0,_0x3cc94e['lNjyl']),_0xa92cbf=_0x3cc94e['iUMop'](buildCliArtifactPath,_0x2216e0,_0x4ad64a(0x1cb)),_0x5f21e3=_0x3cc94e[_0x4ad64a(0x1f1)](buildCliArtifactPath,_0x2216e0,'02_learn-more.yml'),_0x18ca81=buildCliArtifactPath(_0x2216e0,'03_learn-more.png'),_0x38c6c4=quoteShellArg(_0x31eb90),_0x4625a4=_0x3cc94e['ksXrf'](quoteShellArg,_0xa92cbf),_0x19f7d7=_0x3cc94e[_0x4ad64a(0x1b2)](quoteShellArg,_0x5f21e3),_0x102f9d=quoteShellArg(_0x18ca81);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x252876+'\x0a\x0a1.\x20Run\x20`'+_0x252876+_0x4ad64a(0x183)+_0x252876+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x252876+_0x4ad64a(0x1cd)+_0x2216e0+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x252876+'\x20snapshot\x20--filename\x20'+_0x38c6c4+_0x4ad64a(0x1af)+_0x252876+'\x20screenshot\x20--filename\x20'+_0x4625a4+_0x4ad64a(0x1a4)+_0x252876+'\x20snapshot\x20--filename\x20'+_0x19f7d7+'`\x0a9.\x20Run\x20`'+_0x252876+'\x20screenshot\x20--filename\x20'+_0x102f9d+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x46ccca){const _0x3ea1bb=_0x3c19,_0x6b3613={'Jgfoy':'short','BegzU':'Reviewer','LrEwA':_0x3ea1bb(0x1ca),'FfxWx':function(_0x33624f,_0x29ed02,_0x407aa0){return _0x33624f(_0x29ed02,_0x407aa0);},'eekLv':function(_0x406c16,_0xea4798){return _0x406c16(_0xea4798);},'WMrsV':function(_0x1bf5e7,_0x209dff){return _0x1bf5e7>_0x209dff;},'WDlEz':function(_0x1019b7,_0x10185b){return _0x1019b7(_0x10185b);},'GvFwP':_0x3ea1bb(0x1df),'HgkAg':'03_result-visible.png'},{checklistItem:_0x579046,itemFeedback:_0x50a4f8,taskDescription:_0x11019b,cliCommandPrefix:_0x448c3b,cliArtifactDir:_0x4f5f59,isCdpMode:_0x4c5074,url:_0x5e16d7,cdpEndpoint:_0x2dde04,loginInstructions:_0xc6888c}=_0x46ccca,_0x45e5bb=buildCliArtifactPath(_0x4f5f59,_0x6b3613[_0x3ea1bb(0x1d6)]),_0x1eb39f=buildCliArtifactPath(_0x4f5f59,_0x3ea1bb(0x1f5)),_0x511d37=_0x6b3613[_0x3ea1bb(0x1f2)](buildCliArtifactPath,_0x4f5f59,'key_03_success-state.png'),_0x41cd45=_0x6b3613[_0x3ea1bb(0x1f2)](buildCliArtifactPath,_0x4f5f59,'01_initial-state.png'),_0x3a62fd=quoteShellArg(_0x45e5bb),_0x3d5a55=quoteShellArg(_0x1eb39f),_0x45f325=_0x6b3613['eekLv'](quoteShellArg,_0x511d37),_0x410431=quoteShellArg(_0x41cd45),_0x4df4b8=_0x579046['notes']?_0x3ea1bb(0x189)+_0x579046[_0x3ea1bb(0x1ad)]:'';let _0x274c81='';if(_0x50a4f8&&_0x6b3613[_0x3ea1bb(0x1f6)](_0x50a4f8[_0x3ea1bb(0x1b1)]['length'],0x0)){const _0x6aa7cd=_0x50a4f8[_0x3ea1bb(0x1b1)]['map'](_0x43e7fe=>{const _0x1a7da5=_0x3ea1bb,_0x4402f1=new Date(_0x43e7fe['createdAt'])[_0x1a7da5(0x1a6)]('en-US',{'month':_0x6b3613['Jgfoy'],'day':_0x1a7da5(0x191)}),_0x445879=_0x43e7fe['authorName']||_0x43e7fe['authorEmail']||_0x6b3613[_0x1a7da5(0x1d1)],_0x1f7360=_0x43e7fe[_0x1a7da5(0x1c5)]?_0x1a7da5(0x181)+(_0x43e7fe['domRef'][_0x1a7da5(0x1c7)][_0x1a7da5(0x1fa)]('\x20>\x20')['pop']()?.[_0x1a7da5(0x1fa)](':')[0x0]||_0x1a7da5(0x184))+_0x1a7da5(0x18f)+(_0x43e7fe[_0x1a7da5(0x1c5)][_0x1a7da5(0x193)]||'')[_0x1a7da5(0x1ec)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x43e7fe['id']+_0x1a7da5(0x1f8)+_0x445879+_0x1a7da5(0x1bb)+_0x4402f1+'):\x20\x22'+_0x43e7fe['content']+'\x22'+_0x1f7360;})[_0x3ea1bb(0x1ea)]('\x0a');_0x274c81='\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'+_0x6aa7cd;}const _0x14a582=_0x50a4f8?.[_0x3ea1bb(0x17d)]?_0x3ea1bb(0x195)+_0x50a4f8['canonicalFlow']:'',_0x15a3fb=_0x4c5074?_0x3ea1bb(0x1ed)+_0x2dde04+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x5e16d7+_0x3ea1bb(0x185),_0x47b68a=_0x5e16d7?_0x6b3613['WDlEz'](quoteShellArg,_0x5e16d7):'',_0x394fca=_0x4c5074?_0x3ea1bb(0x1e3)+_0x448c3b+'\x20open`,\x20then\x20`'+_0x448c3b+'\x20tracing-start`,\x20then\x20`'+_0x448c3b+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4f5f59+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x448c3b+_0x3ea1bb(0x19d)+_0x3a62fd+_0x3ea1bb(0x1a5)+_0x448c3b+_0x3ea1bb(0x186)+_0x410431+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x448c3b+_0x3ea1bb(0x1b0):_0x3ea1bb(0x1e3)+_0x448c3b+_0x3ea1bb(0x1ef)+_0x47b68a+_0x3ea1bb(0x1d7)+_0x448c3b+'\x20tracing-start`,\x20then\x20`'+_0x448c3b+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4f5f59+_0x3ea1bb(0x18a)+_0x448c3b+'\x20snapshot\x20--filename\x20'+_0x3a62fd+_0x3ea1bb(0x18e)+_0x448c3b+'\x20screenshot\x20--filename\x20'+_0x410431+_0x3ea1bb(0x1f0)+_0x448c3b+'\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',_0x210f8a=_0x4c5074?_0x3ea1bb(0x17b):_0x3ea1bb(0x18d),_0x5adffd=_0xc6888c?_0x3ea1bb(0x1d2)+_0xc6888c+_0x3ea1bb(0x1dc):'';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'+_0x579046['description']+_0x4df4b8+_0x274c81+_0x14a582+_0x3ea1bb(0x1b7)+_0x11019b+'\x0a\x0a'+_0x15a3fb+_0x5adffd+'\x0a\x0a'+_0x394fca+_0x3ea1bb(0x1b9)+_0x448c3b+_0x3ea1bb(0x17c)+_0x4f5f59+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x3d5a55+'`\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'+_0x45f325+'`\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`'+_0x4f5f59+'`:\x20\x22'+_0x41cd45+_0x3ea1bb(0x1e4)+_0x6b3613['FfxWx'](buildCliArtifactPath,_0x4f5f59,_0x6b3613[_0x3ea1bb(0x178)])+'\x22,\x20\x22'+_0x6b3613[_0x3ea1bb(0x1f2)](buildCliArtifactPath,_0x4f5f59,_0x6b3613['HgkAg'])+'\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'+buildCliArtifactPath(_0x4f5f59,_0x3ea1bb(0x1c3))+'\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'+_0x210f8a+'\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.';}function _0x3c19(_0x57809f,_0x1cc7bf){_0x57809f=_0x57809f-0x176;const _0x182ac7=_0x182a();let _0x3c1932=_0x182ac7[_0x57809f];return _0x3c1932;}export function summarizeVerifyFeatureCliCommandAvailability(_0x54f818){const _0x393ec6=_0x3c19,_0x2665c9={'jiIbb':function(_0x59a7e7,_0x5363b6){return _0x59a7e7===_0x5363b6;}},_0xcb65b8=[..._0x54f818[_0x393ec6(0x1bd)]()]['sort']();let _0x18358a=0x0;for(const _0xe421c2 of _0x54f818[_0x393ec6(0x1db)]()){_0x18358a+=_0xe421c2;}return{'cliCommandCount':_0x18358a,'cliCommandsSeen':_0xcb65b8,'noCliCommandsCalled':_0x2665c9[_0x393ec6(0x1c2)](_0x18358a,0x0)};}export function createVerifyFeatureCliHooks(_0x4c93f3){const _0x1db705=_0x3c19,_0x53e546={'ZXJbs':function(_0x2beb93,_0x59461e){return _0x2beb93!==_0x59461e;},'NQKwK':function(_0x487de8,_0x404b03){return _0x487de8(_0x404b03);},'CAwBT':'tool_call','rCFNX':_0x1db705(0x192),'HHrAD':_0x1db705(0x1e5),'ZwHNV':function(_0x46f427,_0x4eb3ba){return _0x46f427!==_0x4eb3ba;},'wJsLj':'Bash'},_0x6e3876=new Map(),_0x1d84cf=async _0x3965e3=>{const _0x541bb9=_0x1db705;if(_0x3965e3['hook_event_name']!==_0x541bb9(0x1bc))return{};const _0x5ea594=_0x3965e3;if(_0x53e546['ZXJbs'](_0x5ea594['tool_name'],_0x541bb9(0x18c)))return{};const _0x4660d7=_0x5ea594['tool_input'],_0x356d1c=_0x53e546[_0x541bb9(0x1ee)](extractBashCommand,_0x4660d7);if(!_0x356d1c)return{};const _0x736a57=parsePlaywrightCliCommand(_0x356d1c);if(!_0x736a57)return{};return _0x6e3876['set'](_0x736a57,(_0x6e3876['get'](_0x736a57)||0x0)+0x1),_0x4c93f3['trackPhaseStart'](_0x53e546[_0x541bb9(0x1c0)],{'transport':_0x53e546['rCFNX'],'toolName':_0x736a57}),_0x4c93f3[_0x541bb9(0x1e0)](_0x53e546[_0x541bb9(0x1c0)],{'transport':_0x541bb9(0x192),'toolName':_0x736a57,'bashCommandPreview':truncatePreview(_0x356d1c)}),_0x736a57!=='snapshot'&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x4660d7,_0x356d1c,_0x736a57)),{};},_0x17f07e=async _0x520dfb=>{const _0x544493=_0x1db705;if(_0x53e546[_0x544493(0x1d8)](_0x520dfb[_0x544493(0x19b)],_0x53e546[_0x544493(0x17f)]))return{};const _0x21b24f=_0x520dfb;if(_0x53e546[_0x544493(0x1a9)](_0x21b24f[_0x544493(0x17e)],_0x53e546['wJsLj']))return{};return await _0x4c93f3[_0x544493(0x176)]('tool_failure',_0x21b24f['error'],{'transport':_0x544493(0x192),'toolName':_0x544493(0x18c)}),{};};return{'postToolUseHook':_0x1d84cf,'postToolUseFailureHook':_0x17f07e,'commandCounts':_0x6e3876};}async function runPlaywrightCliLifecycleCommand(_0x1b8b71){const _0x13b0d0=_0x3c19,_0x82f3e4={'oybru':function(_0x3ff6e1,_0x379dc8,_0x2202d5){return _0x3ff6e1(_0x379dc8,_0x2202d5);}},{sessionId:_0x5d56a9,configPath:_0x38af11,commandArgs:_0x4be89d,env:_0x41dcb9,telemetry:_0x58d942,phase:_0x367b27,metadata:_0x41aac4,timeoutMs:_0x6a1e65}=_0x1b8b71;_0x58d942[_0x13b0d0(0x1cc)](_0x367b27,_0x41aac4);try{const _0x5db522=await runPlaywrightCliCommand({'sessionId':_0x5d56a9,'configPath':_0x38af11,'commandArgs':_0x4be89d,'cwd':process['cwd'](),'env':_0x41dcb9,'timeoutMs':_0x6a1e65??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x58d942[_0x13b0d0(0x1e0)](_0x367b27,{..._0x41aac4,'subcommand':_0x5db522[_0x13b0d0(0x19e)][_0x13b0d0(0x19c)],'stdoutPreview':truncatePreview(_0x5db522['stdout'],0x7d0),'stderrPreview':_0x82f3e4['oybru'](truncatePreview,_0x5db522[_0x13b0d0(0x1da)],0x7d0)});}catch(_0x5e5da1){await _0x58d942['trackPhaseError'](_0x367b27,_0x5e5da1,_0x41aac4);throw _0x5e5da1;}}export async function finalizeVerifyFeatureCliSession(_0x552e86){const _0x436dbd=_0x3c19,_0x270209={'viqZJ':_0x436dbd(0x1f7),'YKTmw':function(_0x4db40b,_0x5679ee,_0x59eab6){return _0x4db40b(_0x5679ee,_0x59eab6);},'nysWD':'session-recording.webm'},{telemetry:_0x2f20c8,sessionId:_0x4d1354,configPath:_0x4418b5,cliArtifactDir:_0x218511,env:_0xb70930,transportMetadata:_0x334b40}=_0x552e86,_0x17a209=[{'phase':_0x436dbd(0x1b6),'commandArgs':[_0x270209[_0x436dbd(0x1ac)]]},{'phase':_0x436dbd(0x1f3),'commandArgs':[_0x436dbd(0x1ce),_0x436dbd(0x17a)+_0x270209['YKTmw'](buildCliArtifactPath,_0x218511,_0x270209['nysWD'])]},{'phase':_0x436dbd(0x1a1),'commandArgs':[_0x436dbd(0x1eb)]}];for(const _0x3c3fa2 of _0x17a209){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x4d1354,'configPath':_0x4418b5,'commandArgs':[..._0x3c3fa2['commandArgs']],'env':_0xb70930,'telemetry':_0x2f20c8,'phase':_0x3c3fa2[_0x436dbd(0x1e9)],'metadata':_0x334b40});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x41ce23){const _0x45edb4=_0x3c19,_0x52156d={'hAOmJ':function(_0x4aa695,_0x527f13,_0x430ed4){return _0x4aa695(_0x527f13,_0x430ed4);}},_0x1162c7=['trace.zip',_0x45edb4(0x19a)];for(const _0x3a4518 of _0x1162c7){const _0x3b8847=_0x52156d[_0x45edb4(0x198)](join,_0x41ce23,_0x3a4518);try{return{'buffer':await readFile(_0x3b8847),'source':_0x3b8847};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x457a4f){const _0x4e9415=_0x3c19,_0x939e76={'hJLFu':function(_0xe3d3b4,_0x3903f9,_0x456f7f){return _0xe3d3b4(_0x3903f9,_0x456f7f);},'vOVXW':function(_0x3cf6ec,_0x174f69){return _0x3cf6ec(_0x174f69);},'TBfrE':function(_0x333ac6,_0x43644b){return _0x333ac6+_0x43644b;}},{cwd:_0x59c9fd,cliArtifactDir:_0x1edc62,startTime:_0x47af42}=_0x457a4f,_0x365e3f=[];await mkdir(_0x1edc62,{'recursive':!![]});const _0xd9cccf=await readdir(_0x59c9fd,{'withFileTypes':!![]});for(const _0x5bd4df of _0xd9cccf){if(!_0x5bd4df[_0x4e9415(0x1f9)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x4e9415(0x1a7)](_0x5bd4df[_0x4e9415(0x1b3)]))continue;const _0x180238=_0x939e76['hJLFu'](join,_0x59c9fd,_0x5bd4df['name']),_0x149d2d=await _0x939e76['vOVXW'](stat,_0x180238);if(_0x939e76[_0x4e9415(0x1e2)](_0x149d2d['mtimeMs'],0x7d0)<_0x47af42)continue;const _0x5c695f=buildCliArtifactPath(_0x1edc62,_0x5bd4df[_0x4e9415(0x1b3)]);if(_0x180238===_0x5c695f)continue;await rename(_0x180238,_0x5c695f),_0x365e3f[_0x4e9415(0x1a0)](_0x5bd4df[_0x4e9415(0x1b3)]);}return _0x365e3f['sort']();}
1
+ (function(_0x937ffc,_0xaab4f4){const _0x1530cd=_0x4ba3,_0x3b2f97=_0x937ffc();while(!![]){try{const _0x3907ee=parseInt(_0x1530cd(0x160))/0x1+parseInt(_0x1530cd(0x17d))/0x2*(parseInt(_0x1530cd(0x18c))/0x3)+-parseInt(_0x1530cd(0x192))/0x4+-parseInt(_0x1530cd(0x194))/0x5*(parseInt(_0x1530cd(0x1c4))/0x6)+-parseInt(_0x1530cd(0x19c))/0x7+-parseInt(_0x1530cd(0x183))/0x8*(parseInt(_0x1530cd(0x190))/0x9)+-parseInt(_0x1530cd(0x1c8))/0xa*(-parseInt(_0x1530cd(0x171))/0xb);if(_0x3907ee===_0xaab4f4)break;else _0x3b2f97['push'](_0x3b2f97['shift']());}catch(_0x5485d1){_0x3b2f97['push'](_0x3b2f97['shift']());}}}(_0x22d0,0xa94b6));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(_0xc7f5ac,_0x4309fa=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x36db44=_0x4ba3,_0x47089d={'Svaoe':function(_0x1323d4,_0x55e8c5){return _0x1323d4>_0x55e8c5;}};return _0x47089d[_0x36db44(0x1cc)](_0xc7f5ac['length'],_0x4309fa)?_0xc7f5ac[_0x36db44(0x195)](0x0,_0x4309fa)+_0x36db44(0x186):_0xc7f5ac;}function buildCliArtifactPath(_0xc4ba68,_0x23d15c){return join(_0xc4ba68,_0x23d15c);}function _0x22d0(){const _0x128a01=['jmQuE','`,\x20then\x20`','tab-new','open\x20new\x20tab','playwright_cli_video_stop',']\x20**','select\x20tab\x20','\x22,\x20\x22','select\x20tab','anxgt','NXqqG','312751IuVgIy','eZBQS','push','Bash','lJSIt','twEuU','\x20tracing-start`\x0a3.\x20Run\x20`','tool_failure','CQcww','capture\x20snapshot\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x0a\x0a1.\x20Run\x20`','error','\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','check','FMlqe','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','85206BdLoEE','tool_call','wCvoa','\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','bSwFB','match','QQkZR','WAsTx','\x5c$&','replace','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','zxQIA','42296osadAW','tool_name','env','tjOuT','CHqzr','canonicalFlow','1016KqSvRm','video-start','BZRnd','...','stop\x20video\x20recording','BxmlV','textContent','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','trackPhaseStart','93tCjQrz','name','WQeGB','authorEmail','16938UzDDwr','hook_event_name','2979988vlMoKo','\x20(on\x20element:\x20<','113335Adrvss','slice','VMGaG','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','sort','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','pop','`\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`','1618344aKCFxZ','log','dWqsV','efMco','VgrAr','stdout','tracing-start','QIrSW','open\x20browser','split','\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','key_03_success-state.png','Reviewer','gsHQO','KTRPS','zIWdy','tracing-stop','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','open','short','\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.','fill\x20','unaddressedComments','xyEBv','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','trace.trace.zip','mtimeMs','numeric','\x20snapshot\x20--filename\x20','playwright-cli','TiSiK','NBIVJ','screenshot','LwasC','stderr','phase','owArR','notes','**\x20(','string','276iDXTul','`:\x20\x22','02_learn-more.yml','set','2560xjyBEe','02_button-clicked.png','map','snapshot','Svaoe','`\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`','IbcHh','NMQDO','\x20tracing-start`,\x20then\x20`','cwd','PostToolUseFailure','subcommand','\x20screenshot\x20--filename\x20'];_0x22d0=function(){return _0x128a01;};return _0x22d0();}function toStepDisplayName(_0x5ce2c1){const _0x140fef=_0x4ba3,_0x4462b7=basename(_0x5ce2c1)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x140fef(0x17a)](/^key_/i,'')[_0x140fef(0x17a)](/^\d+_/,'')[_0x140fef(0x17a)](/-/g,'\x20');return{'name':_0x4462b7,'isKeyStep':/^key_/i['test'](basename(_0x5ce2c1))};}function extractShellValue(_0x2f66f9){if(!_0x2f66f9)return null;return _0x2f66f9[0x1]??_0x2f66f9[0x2]??_0x2f66f9[0x3]??null;}function extractFilenameOption(_0xf9ea23){const _0x38c70c=_0x4ba3,_0x5bb96b={'wxHWL':function(_0x4171e0,_0x2753f7){return _0x4171e0(_0x2753f7);}};return _0x5bb96b['wxHWL'](extractShellValue,_0xf9ea23[_0x38c70c(0x176)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x7b9f9f,_0x5bb729){const _0x299741=_0x4ba3,_0x495c93={'YLZIi':_0x299741(0x179),'lJSIt':function(_0x1caea1,_0x3ef7eb){return _0x1caea1(_0x3ef7eb);}},_0x58b409=_0x5bb729['replace'](/[.*+?^${}()|[\]\\]/g,_0x495c93['YLZIi']);return _0x495c93[_0x299741(0x164)](extractShellValue,_0x7b9f9f['match'](new RegExp('(?:^|\x5cs)'+_0x58b409+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x54fe16){if(!_0x54fe16)return'target';if(/^e\d+$/i['test'](_0x54fe16))return'ref\x20'+_0x54fe16;return JSON['stringify'](truncatePreview(_0x54fe16,0x78));}function formatPlaywrightCliLog(_0x1b06eb,_0x2ab031){const _0x86ed1a=_0x4ba3,_0x387f6d={'jmQuE':_0x86ed1a(0x1ae),'YGIrn':_0x86ed1a(0x1a2),'FMlqe':_0x86ed1a(0x184),'Toyvv':'start\x20video\x20recording','JTnVc':_0x86ed1a(0x1cb),'EIJke':'capture\x20screenshot','ZwYKB':'click','HwPRt':function(_0x7071a,_0x465f54,_0x51bd38){return _0x7071a(_0x465f54,_0x51bd38);},'zxQIA':function(_0x2cbff3,_0x127dff){return _0x2cbff3(_0x127dff);},'owArR':function(_0x25ff70,_0x1b8de4,_0x56659d){return _0x25ff70(_0x1b8de4,_0x56659d);},'eZBQS':function(_0x44351b,_0x2a8a0f){return _0x44351b(_0x2a8a0f);},'dWqsV':function(_0x3de911,_0x29ed96,_0xc67c78){return _0x3de911(_0x29ed96,_0xc67c78);},'gsHQO':'run-code','jUpdm':'tab-select'};switch(_0x2ab031){case _0x387f6d[_0x86ed1a(0x155)]:{const _0x3bc115=extractFirstCommandArgument(_0x1b06eb,_0x2ab031);return _0x3bc115?'open\x20'+_0x3bc115:_0x86ed1a(0x1a4);}case _0x387f6d['YGIrn']:return'start\x20tracing';case _0x86ed1a(0x1ac):return'stop\x20tracing';case _0x387f6d[_0x86ed1a(0x16f)]:return _0x387f6d['Toyvv'];case'video-stop':return _0x86ed1a(0x187);case _0x387f6d['JTnVc']:{const _0x291d74=extractFilenameOption(_0x1b06eb);if(!_0x291d74)return'capture\x20snapshot';const {name:_0x32ff47}=toStepDisplayName(_0x291d74);return _0x86ed1a(0x169)+_0x32ff47+'`';}case _0x86ed1a(0x1bc):{const _0x31239f=extractFilenameOption(_0x1b06eb);if(!_0x31239f)return _0x387f6d['EIJke'];const {name:_0x4334ca,isKeyStep:_0x1b9d83}=toStepDisplayName(_0x31239f);return _0x1b9d83?'capture\x20key\x20step\x20`'+_0x4334ca+'`':'capture\x20step\x20`'+_0x4334ca+'`';}case _0x387f6d['ZwYKB']:return'click\x20'+formatCommandTarget(_0x387f6d['HwPRt'](extractFirstCommandArgument,_0x1b06eb,_0x2ab031));case _0x86ed1a(0x16e):return'check\x20'+_0x387f6d[_0x86ed1a(0x17c)](formatCommandTarget,_0x387f6d['owArR'](extractFirstCommandArgument,_0x1b06eb,_0x2ab031));case'fill':return _0x86ed1a(0x1b1)+formatCommandTarget(extractFirstCommandArgument(_0x1b06eb,_0x2ab031));case'press':return'press\x20'+_0x387f6d[_0x86ed1a(0x161)](formatCommandTarget,_0x387f6d[_0x86ed1a(0x19e)](extractFirstCommandArgument,_0x1b06eb,_0x2ab031));case _0x387f6d[_0x86ed1a(0x1a9)]:return'run\x20custom\x20Playwright\x20code';case _0x86ed1a(0x157):{const _0x24f946=_0x387f6d[_0x86ed1a(0x1c0)](extractFirstCommandArgument,_0x1b06eb,_0x2ab031);return _0x24f946?'open\x20new\x20tab\x20'+_0x24f946:_0x86ed1a(0x158);}case _0x387f6d['jUpdm']:{const _0x48cfbf=extractFirstCommandArgument(_0x1b06eb,_0x2ab031);return _0x48cfbf?_0x86ed1a(0x15b)+_0x48cfbf:_0x86ed1a(0x15d);}default:return _0x2ab031;}}function _0x4ba3(_0x30a51e,_0x5ab915){_0x30a51e=_0x30a51e-0x14e;const _0x22d029=_0x22d0();let _0x4ba310=_0x22d029[_0x30a51e];return _0x4ba310;}function extractPlaywrightCliToolDescription(_0x4908dd){const _0x298c94=_0x4ba3,_0x118b78={'TiSiK':function(_0x1354b6,_0x11db5e){return _0x1354b6!==_0x11db5e;},'WQeGB':_0x298c94(0x1c3)},_0x552b03=_0x4908dd['description'];if(_0x118b78[_0x298c94(0x1ba)](typeof _0x552b03,_0x118b78[_0x298c94(0x18e)]))return null;const _0x555483=_0x552b03['trim']()[_0x298c94(0x17a)](/\s+/g,'\x20');return _0x555483['length']>0x0?_0x555483:null;}export function formatPlaywrightCliConsoleLogMessage(_0x2d1b90,_0x51b3c7,_0x459e96){const _0x33e58e=_0x4ba3,_0x37c172={'UnXNB':function(_0x21936c,_0x19e2c1,_0x4819f4){return _0x21936c(_0x19e2c1,_0x4819f4);}},_0x3ac356=_0x37c172['UnXNB'](formatPlaywrightCliLog,_0x51b3c7,_0x459e96),_0x4411d0=extractPlaywrightCliToolDescription(_0x2d1b90);if(!_0x4411d0)return'[playwright-cli]\x20'+_0x3ac356;if(process[_0x33e58e(0x17f)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x4411d0+'\x20('+_0x3ac356+')';return'[ranger-verification-agent]\x20'+_0x4411d0;}export function buildVerifyFeatureCliDebugPrompt(_0x11537c,_0x1184e5){const _0x57b2c2=_0x4ba3,_0x3aa1f8={'efMco':function(_0x3fb0f7,_0x164905,_0x560354){return _0x3fb0f7(_0x164905,_0x560354);},'NMQDO':'01_mozilla-homepage.png','qKvUE':_0x57b2c2(0x1c6),'NXqqG':'03_learn-more.png','aYJvW':function(_0x36c67d,_0x427b7b){return _0x36c67d(_0x427b7b);}},_0x1e78a6=_0x3aa1f8[_0x57b2c2(0x19f)](buildCliArtifactPath,_0x1184e5,'00_mozilla-homepage.yml'),_0x40c33a=_0x3aa1f8[_0x57b2c2(0x19f)](buildCliArtifactPath,_0x1184e5,_0x3aa1f8[_0x57b2c2(0x14f)]),_0x5c9241=buildCliArtifactPath(_0x1184e5,_0x3aa1f8['qKvUE']),_0x36b21d=buildCliArtifactPath(_0x1184e5,_0x3aa1f8[_0x57b2c2(0x15f)]),_0x532844=quoteShellArg(_0x1e78a6),_0x4f7a4f=quoteShellArg(_0x40c33a),_0x56bf1c=quoteShellArg(_0x5c9241),_0x59de24=_0x3aa1f8['aYJvW'](quoteShellArg,_0x36b21d);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x11537c+_0x57b2c2(0x16b)+_0x11537c+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x11537c+_0x57b2c2(0x166)+_0x11537c+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1184e5+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x11537c+'\x20snapshot\x20--filename\x20'+_0x532844+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x11537c+_0x57b2c2(0x154)+_0x4f7a4f+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x11537c+'\x20snapshot\x20--filename\x20'+_0x56bf1c+'`\x0a9.\x20Run\x20`'+_0x11537c+_0x57b2c2(0x154)+_0x59de24+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x5457ee){const _0x3cbd38=_0x4ba3,_0x2af660={'VMGaG':'en-US','IbcHh':_0x3cbd38(0x1af),'ROmqp':_0x3cbd38(0x1b7),'NBIVJ':'\x20>\x20','BEOfA':'element','CHqzr':function(_0x39311e,_0x53a840,_0x56c15d){return _0x39311e(_0x53a840,_0x56c15d);},'EyrVa':'02_state.yml','wCvoa':function(_0x36f1d6,_0x5c5327,_0x48a974){return _0x36f1d6(_0x5c5327,_0x48a974);},'VgrAr':function(_0x3c458a,_0x3803f5){return _0x3c458a(_0x3803f5);},'xyEBv':function(_0x3e37d3,_0x55c330){return _0x3e37d3(_0x55c330);},'SiCgc':'03_result-visible.png','QIrSW':'key_04_success-state.png'},{checklistItem:_0x1059de,itemFeedback:_0x275144,taskDescription:_0x111ed9,cliCommandPrefix:_0xf6c6e3,cliArtifactDir:_0x1db481,isCdpMode:_0x100317,url:_0x166fda,cdpEndpoint:_0x659c1a,loginInstructions:_0x47232b}=_0x5457ee,_0x3db2fc=_0x2af660[_0x3cbd38(0x181)](buildCliArtifactPath,_0x1db481,'01_initial.yml'),_0x1d4c00=_0x2af660['CHqzr'](buildCliArtifactPath,_0x1db481,_0x2af660['EyrVa']),_0xf53b45=_0x2af660[_0x3cbd38(0x173)](buildCliArtifactPath,_0x1db481,_0x3cbd38(0x1a7)),_0x460f47=_0x2af660['wCvoa'](buildCliArtifactPath,_0x1db481,'01_initial-state.png'),_0x33ccac=_0x2af660[_0x3cbd38(0x1a0)](quoteShellArg,_0x3db2fc),_0x4bdea3=_0x2af660[_0x3cbd38(0x1b3)](quoteShellArg,_0x1d4c00),_0x14486a=quoteShellArg(_0xf53b45),_0x3b8288=_0x2af660[_0x3cbd38(0x1a0)](quoteShellArg,_0x460f47),_0x445331=_0x1059de[_0x3cbd38(0x1c1)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1059de[_0x3cbd38(0x1c1)]:'';let _0x21717c='';if(_0x275144&&_0x275144[_0x3cbd38(0x1b2)]['length']>0x0){const _0x4a5af0=_0x275144[_0x3cbd38(0x1b2)][_0x3cbd38(0x1ca)](_0x1de2bf=>{const _0x4fe870=_0x3cbd38,_0x3b2d81=new Date(_0x1de2bf['createdAt'])['toLocaleDateString'](_0x2af660[_0x4fe870(0x196)],{'month':_0x2af660[_0x4fe870(0x14e)],'day':_0x2af660['ROmqp']}),_0x16a3b6=_0x1de2bf['authorName']||_0x1de2bf[_0x4fe870(0x18f)]||_0x4fe870(0x1a8),_0x2fff9c=_0x1de2bf['domRef']?_0x4fe870(0x193)+(_0x1de2bf['domRef']['selector']['split'](_0x2af660[_0x4fe870(0x1bb)])[_0x4fe870(0x19a)]()?.[_0x4fe870(0x1a5)](':')[0x0]||_0x2af660['BEOfA'])+'>\x20\x22'+(_0x1de2bf['domRef'][_0x4fe870(0x189)]||'')[_0x4fe870(0x195)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1de2bf['id']+_0x4fe870(0x15a)+_0x16a3b6+_0x4fe870(0x1c2)+_0x3b2d81+'):\x20\x22'+_0x1de2bf['content']+'\x22'+_0x2fff9c;})['join']('\x0a');_0x21717c=_0x3cbd38(0x174)+_0x4a5af0;}const _0x3c3347=_0x275144?.['canonicalFlow']?_0x3cbd38(0x197)+_0x275144[_0x3cbd38(0x182)]:'',_0x364a5c=_0x100317?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x659c1a+_0x3cbd38(0x170):_0x3cbd38(0x1ad)+_0x166fda+'\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',_0x292d42=_0x166fda?quoteShellArg(_0x166fda):'',_0x475ed2=_0x100317?_0x3cbd38(0x17b)+_0xf6c6e3+'\x20open`,\x20then\x20`'+_0xf6c6e3+_0x3cbd38(0x150)+_0xf6c6e3+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1db481+_0x3cbd38(0x1b4)+_0xf6c6e3+'\x20snapshot\x20--filename\x20'+_0x33ccac+'`\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`'+_0xf6c6e3+'\x20screenshot\x20--filename\x20'+_0x3b8288+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0xf6c6e3+_0x3cbd38(0x16d):_0x3cbd38(0x17b)+_0xf6c6e3+'\x20open\x20'+_0x292d42+_0x3cbd38(0x156)+_0xf6c6e3+'\x20tracing-start`,\x20then\x20`'+_0xf6c6e3+_0x3cbd38(0x199)+_0x1db481+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0xf6c6e3+_0x3cbd38(0x1b8)+_0x33ccac+_0x3cbd38(0x1cd)+_0xf6c6e3+'\x20screenshot\x20--filename\x20'+_0x3b8288+_0x3cbd38(0x16a)+_0xf6c6e3+'\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',_0x1cf00d=_0x100317?_0x3cbd38(0x1b0):'\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\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.',_0xab85f1=_0x47232b?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x47232b+'\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'+_0x1059de['description']+_0x445331+_0x21717c+_0x3c3347+_0x3cbd38(0x18a)+_0x111ed9+'\x0a\x0a'+_0x364a5c+_0xab85f1+'\x0a\x0a'+_0x475ed2+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0xf6c6e3+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x1db481+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x4bdea3+'`\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'+_0x14486a+_0x3cbd38(0x19b)+_0x1db481+_0x3cbd38(0x1c5)+_0x460f47+'\x22,\x20\x22'+buildCliArtifactPath(_0x1db481,_0x3cbd38(0x1c9))+_0x3cbd38(0x15c)+buildCliArtifactPath(_0x1db481,_0x2af660['SiCgc'])+'\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'+_0x2af660[_0x3cbd38(0x173)](buildCliArtifactPath,_0x1db481,_0x2af660[_0x3cbd38(0x1a3)])+_0x3cbd38(0x1a6)+_0x1cf00d+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x2ce2ec){const _0x4d6ebd=_0x4ba3,_0x1c20b4=[..._0x2ce2ec['keys']()][_0x4d6ebd(0x198)]();let _0xe0eec7=0x0;for(const _0x530466 of _0x2ce2ec['values']()){_0xe0eec7+=_0x530466;}return{'cliCommandCount':_0xe0eec7,'cliCommandsSeen':_0x1c20b4,'noCliCommandsCalled':_0xe0eec7===0x0};}export function createVerifyFeatureCliHooks(_0x375287){const _0x3e8ba2=_0x4ba3,_0x448edb={'QQkZR':function(_0x4f9e95,_0x35cd21){return _0x4f9e95!==_0x35cd21;},'EYSKV':'PostToolUse','LwasC':function(_0x1970ba,_0x487020){return _0x1970ba(_0x487020);},'jbGEW':_0x3e8ba2(0x172),'BZRnd':_0x3e8ba2(0x1b9),'bSwFB':_0x3e8ba2(0x1cb),'leETG':_0x3e8ba2(0x152),'WAsTx':function(_0x2e81f8,_0x4c13fe){return _0x2e81f8!==_0x4c13fe;},'voeCn':_0x3e8ba2(0x167),'uubIb':'Bash'},_0x2fe791=new Map(),_0x20d8f3=async _0x32001b=>{const _0x3ef8b6=_0x3e8ba2;if(_0x448edb['QQkZR'](_0x32001b[_0x3ef8b6(0x191)],_0x448edb['EYSKV']))return{};const _0x4018b5=_0x32001b;if(_0x4018b5['tool_name']!==_0x3ef8b6(0x163))return{};const _0x3128d6=_0x4018b5['tool_input'],_0x4cf071=_0x448edb[_0x3ef8b6(0x1bd)](extractBashCommand,_0x3128d6);if(!_0x4cf071)return{};const _0x2d5c61=parsePlaywrightCliCommand(_0x4cf071);if(!_0x2d5c61)return{};return _0x2fe791[_0x3ef8b6(0x1c7)](_0x2d5c61,(_0x2fe791['get'](_0x2d5c61)||0x0)+0x1),_0x375287[_0x3ef8b6(0x18b)](_0x448edb['jbGEW'],{'transport':_0x448edb['BZRnd'],'toolName':_0x2d5c61}),_0x375287['trackPhaseEnd'](_0x448edb['jbGEW'],{'transport':_0x448edb[_0x3ef8b6(0x185)],'toolName':_0x2d5c61,'bashCommandPreview':truncatePreview(_0x4cf071)}),_0x2d5c61!==_0x448edb[_0x3ef8b6(0x175)]&&console[_0x3ef8b6(0x19d)](formatPlaywrightCliConsoleLogMessage(_0x3128d6,_0x4cf071,_0x2d5c61)),{};},_0x1fa2c0=async _0x48130e=>{const _0x9094c1=_0x3e8ba2;if(_0x448edb[_0x9094c1(0x177)](_0x48130e[_0x9094c1(0x191)],_0x448edb['leETG']))return{};const _0x439628=_0x48130e;if(_0x448edb[_0x9094c1(0x178)](_0x439628[_0x9094c1(0x17e)],'Bash'))return{};return await _0x375287['trackPhaseError'](_0x448edb['voeCn'],_0x439628[_0x9094c1(0x16c)],{'transport':_0x448edb[_0x9094c1(0x185)],'toolName':_0x448edb['uubIb']}),{};};return{'postToolUseHook':_0x20d8f3,'postToolUseFailureHook':_0x1fa2c0,'commandCounts':_0x2fe791};}async function runPlaywrightCliLifecycleCommand(_0x317ae2){const _0x2d52d6=_0x4ba3,_0x543e55={'KTRPS':function(_0x5c17a1,_0x500e38,_0x5a7dde){return _0x5c17a1(_0x500e38,_0x5a7dde);}},{sessionId:_0x55787f,configPath:_0x2fa581,commandArgs:_0x31a1cd,env:_0x14fd37,telemetry:_0x325830,phase:_0x30f18b,metadata:_0x2e3fcb,timeoutMs:_0xd23d55}=_0x317ae2;_0x325830['trackPhaseStart'](_0x30f18b,_0x2e3fcb);try{const _0x1177b7=await runPlaywrightCliCommand({'sessionId':_0x55787f,'configPath':_0x2fa581,'commandArgs':_0x31a1cd,'cwd':process[_0x2d52d6(0x151)](),'env':_0x14fd37,'timeoutMs':_0xd23d55??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x325830['trackPhaseEnd'](_0x30f18b,{..._0x2e3fcb,'subcommand':_0x1177b7['invocation'][_0x2d52d6(0x153)],'stdoutPreview':_0x543e55[_0x2d52d6(0x1aa)](truncatePreview,_0x1177b7[_0x2d52d6(0x1a1)],0x7d0),'stderrPreview':truncatePreview(_0x1177b7[_0x2d52d6(0x1be)],0x7d0)});}catch(_0x3ee1b7){await _0x325830['trackPhaseError'](_0x30f18b,_0x3ee1b7,_0x2e3fcb);throw _0x3ee1b7;}}export async function finalizeVerifyFeatureCliSession(_0x1c2737){const _0x296f79=_0x4ba3,_0x347788={'tjOuT':'playwright_cli_tracing_stop','vQhYG':'tracing-stop','BTboC':function(_0x5203be,_0x3f8395){return _0x5203be(_0x3f8395);}},{telemetry:_0x3b85e8,sessionId:_0x334a6c,configPath:_0x279e87,cliArtifactDir:_0x3ca6ce,env:_0x5e45bd,transportMetadata:_0x44e6cd}=_0x1c2737,_0x3e16e1=[{'phase':_0x347788[_0x296f79(0x180)],'commandArgs':[_0x347788['vQhYG']]},{'phase':_0x296f79(0x159),'commandArgs':['video-stop','--filename='+buildCliArtifactPath(_0x3ca6ce,'session-recording.webm')]},{'phase':'playwright_cli_close','commandArgs':['close']}];for(const _0x520023 of _0x3e16e1){try{await _0x347788['BTboC'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x334a6c,'configPath':_0x279e87,'commandArgs':[..._0x520023['commandArgs']],'env':_0x5e45bd,'telemetry':_0x3b85e8,'phase':_0x520023[_0x296f79(0x1bf)],'metadata':_0x44e6cd});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0xfad86b){const _0x57a83f=_0x4ba3,_0x43fca9={'zIWdy':function(_0x58729f,_0x1b4326){return _0x58729f(_0x1b4326);}},_0x32bdd2=['trace.zip',_0x57a83f(0x1b5)];for(const _0x5f9349 of _0x32bdd2){const _0x4ebaf9=join(_0xfad86b,_0x5f9349);try{return{'buffer':await _0x43fca9[_0x57a83f(0x1ab)](readFile,_0x4ebaf9),'source':_0x4ebaf9};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x370ef4){const _0x3fc70a=_0x4ba3,_0x5bc0d8={'twEuU':function(_0x15656f,_0x3846f5,_0x4f674d){return _0x15656f(_0x3846f5,_0x4f674d);},'BxmlV':function(_0x5c3400,_0xf0bf4a,_0x5e8477){return _0x5c3400(_0xf0bf4a,_0x5e8477);},'CQcww':function(_0x194325,_0xa4e365){return _0x194325===_0xa4e365;},'anxgt':function(_0x2ba598,_0x522f90,_0x536939){return _0x2ba598(_0x522f90,_0x536939);}},{cwd:_0x387a85,cliArtifactDir:_0x3867e1,startTime:_0x35ad54}=_0x370ef4,_0x488651=[];await mkdir(_0x3867e1,{'recursive':!![]});const _0x56d157=await _0x5bc0d8['twEuU'](readdir,_0x387a85,{'withFileTypes':!![]});for(const _0x275b10 of _0x56d157){if(!_0x275b10['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x275b10[_0x3fc70a(0x18d)]))continue;const _0x60089d=_0x5bc0d8[_0x3fc70a(0x165)](join,_0x387a85,_0x275b10[_0x3fc70a(0x18d)]),_0x4aa821=await stat(_0x60089d);if(_0x4aa821[_0x3fc70a(0x1b6)]+0x7d0<_0x35ad54)continue;const _0x32e91d=_0x5bc0d8[_0x3fc70a(0x188)](buildCliArtifactPath,_0x3867e1,_0x275b10['name']);if(_0x5bc0d8[_0x3fc70a(0x168)](_0x60089d,_0x32e91d))continue;await _0x5bc0d8[_0x3fc70a(0x15e)](rename,_0x60089d,_0x32e91d),_0x488651[_0x3fc70a(0x162)](_0x275b10['name']);}return _0x488651[_0x3fc70a(0x198)]();}
@@ -1 +1 @@
1
- const _0x17106c=_0x3486;(function(_0x52beed,_0x3ef8f5){const _0x33c191=_0x3486,_0x4f743a=_0x52beed();while(!![]){try{const _0x2f347f=-parseInt(_0x33c191(0x1bf))/0x1+-parseInt(_0x33c191(0x222))/0x2+parseInt(_0x33c191(0x275))/0x3+parseInt(_0x33c191(0x245))/0x4*(parseInt(_0x33c191(0x230))/0x5)+parseInt(_0x33c191(0x244))/0x6+-parseInt(_0x33c191(0x25f))/0x7+-parseInt(_0x33c191(0x1f0))/0x8*(-parseInt(_0x33c191(0x25b))/0x9);if(_0x2f347f===_0x3ef8f5)break;else _0x4f743a['push'](_0x4f743a['shift']());}catch(_0x177fff){_0x4f743a['push'](_0x4f743a['shift']());}}}(_0x121c,0x2f060));function _0x3486(_0x2e2194,_0x4f403d){_0x2e2194=_0x2e2194-0x19f;const _0x121cf1=_0x121c();let _0x348615=_0x121cf1[_0x2e2194];return _0x348615;}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([_0x17106c(0x274),_0x17106c(0x22f),'verify','ask',_0x17106c(0x247),'wait-for','snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x2736d2,_0x49a4c3){return join(_0x2736d2,_0x49a4c3);}export class NovaActArtifactRecorder{[_0x17106c(0x263)];[_0x17106c(0x232)]=null;['context']=null;[_0x17106c(0x1ad)]=null;['frameWrites']=[];[_0x17106c(0x1b5)]=0x0;['traceSampleCount']=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;[_0x17106c(0x1b9)]=![];['screencastStarted']=![];['startAttempted']=![];['stopped']=![];constructor(_0x38c3a1){this['params']=_0x38c3a1;}async['start'](){const _0x2eb8f0=_0x17106c,_0x4dcfd8={'gCJbY':function(_0x362191,_0x30ff5e,_0x39302d){return _0x362191(_0x30ff5e,_0x39302d);},'Gffll':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','NHYLO':_0x2eb8f0(0x270)};if(this['startAttempted'])return;this[_0x2eb8f0(0x1f5)]=!![];const _0x32198d=await this['readSessionMetadataWithRetry'](),_0x30ea3a=_0x32198d[_0x2eb8f0(0x1a1)];if(!_0x30ea3a)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params'][_0x2eb8f0(0x1e9)][_0x2eb8f0(0x26b)]);await _0x4dcfd8['gCJbY'](mkdir,this['params'][_0x2eb8f0(0x1d3)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x30ea3a,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x2eb8f0(0x1e3)]=this['browser'][_0x2eb8f0(0x20a)]()[0x0]??null;if(!this['context'])throw new Error(_0x4dcfd8['Gffll']);await this[_0x2eb8f0(0x1e3)]['tracing'][_0x2eb8f0(0x205)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this[_0x2eb8f0(0x23c)](),this[_0x2eb8f0(0x263)][_0x2eb8f0(0x25c)]['trackPhaseStart'](_0x4dcfd8['NHYLO'],{...this[_0x2eb8f0(0x263)][_0x2eb8f0(0x268)],'cdpEndpoint':_0x30ea3a,'browserPid':_0x32198d[_0x2eb8f0(0x1ac)],'sessionState':_0x32198d['state']}),this['params']['telemetry'][_0x2eb8f0(0x24d)]('nova_act_artifact_recording',{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0x1d06fb=_0x17106c,_0x2cd91f={'zwOFh':_0x1d06fb(0x21a),'JHgRX':function(_0x3e6235,_0x154948,_0x2fa367){return _0x3e6235(_0x154948,_0x2fa367);}};if(this[_0x1d06fb(0x1e2)])return;this[_0x1d06fb(0x1e2)]=!![];const _0x4f618c={...this['params']['transportMetadata'],'frameCount':this[_0x1d06fb(0x1b5)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x1d06fb(0x1b9)],'screencastStarted':this[_0x1d06fb(0x22d)]};this['params'][_0x1d06fb(0x25c)]['trackPhaseStart'](_0x2cd91f['zwOFh'],_0x4f618c);try{await this[_0x1d06fb(0x238)](),await this[_0x1d06fb(0x24a)](),await this['stopScreencast'](),await Promise[_0x1d06fb(0x220)](this[_0x1d06fb(0x25a)]);this[_0x1d06fb(0x1e3)]&&this[_0x1d06fb(0x1b9)]&&await this['context']['tracing'][_0x1d06fb(0x1c5)]({'path':_0x2cd91f[_0x1d06fb(0x1eb)](buildCliArtifactPath,this['params'][_0x1d06fb(0x1d3)],_0x1d06fb(0x252))});const _0x408490=await this[_0x1d06fb(0x20b)]();this[_0x1d06fb(0x263)]['telemetry']['trackPhaseEnd'](_0x2cd91f[_0x1d06fb(0x1b8)],{..._0x4f618c,'videoPath':_0x408490});}catch(_0x195f6f){await this['params'][_0x1d06fb(0x25c)][_0x1d06fb(0x21b)](_0x2cd91f[_0x1d06fb(0x1b8)],_0x195f6f,_0x4f618c);}finally{await this['browser']?.[_0x1d06fb(0x23b)]()[_0x1d06fb(0x227)](()=>undefined),this[_0x1d06fb(0x232)]=null,this['context']=null,this[_0x1d06fb(0x1ad)]=null;}}async['readSessionMetadataWithRetry'](){const _0x5716a6=_0x17106c,_0x307552={'bwMrQ':function(_0x393d77,_0x3a8645,_0x208178,_0x224edc,_0x5a1938,_0x5ae08c){return _0x393d77(_0x3a8645,_0x208178,_0x224edc,_0x5a1938,_0x5ae08c);},'luRMR':'browser','ASBPa':_0x5716a6(0x1a7),'MbzBL':function(_0x46d278,_0x452ac4,_0x56e46c){return _0x46d278(_0x452ac4,_0x56e46c);},'fjbAo':function(_0x4eac38,_0x5e4809){return _0x4eac38(_0x5e4809);},'hyIhG':function(_0x4e3f08,_0x23f1de){return _0x4e3f08<_0x23f1de;},'eZmMT':function(_0x26e299,_0x38da81){return _0x26e299 instanceof _0x38da81;}},_0x24921e=_0x307552['bwMrQ'](join,homedir(),_0x5716a6(0x1cc),_0x307552[_0x5716a6(0x240)],_0x307552[_0x5716a6(0x1fd)],this[_0x5716a6(0x263)]['novaOptions']['sessionId']+_0x5716a6(0x273)),_0x3fce5e=Date[_0x5716a6(0x1bd)]();let _0x30f190;do{try{const _0x4c6ec6=JSON[_0x5716a6(0x1fc)](await _0x307552[_0x5716a6(0x25e)](readFile,_0x24921e,_0x5716a6(0x1c3)));if(_0x4c6ec6['cdp_endpoint'])return _0x4c6ec6;_0x30f190=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x24921e);}catch(_0x230a3a){_0x30f190=_0x230a3a;}await _0x307552[_0x5716a6(0x1d2)](delay,0x64);}while(_0x307552['hyIhG'](Date['now']()-_0x3fce5e,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x307552[_0x5716a6(0x23d)](_0x30f190,Error))throw _0x30f190;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x24921e);}async['startScreencast'](){const _0x914176=_0x17106c,_0x43ddee={'yuQVc':function(_0x1e4ae2,_0x501488,_0x335bd7){return _0x1e4ae2(_0x501488,_0x335bd7);},'ZIUhd':'Page.screencastFrame','sCwpf':_0x914176(0x260)};if(!this['context'])return;const _0x52f154=this['context']['pages']()[0x0];if(!_0x52f154)return;const _0x27c934=this['getFrameDir']();await mkdir(_0x27c934,{'recursive':!![]});const _0x1825cd=await this['context'][_0x914176(0x1c2)](_0x52f154);this[_0x914176(0x1ad)]=_0x1825cd,_0x1825cd['on'](_0x43ddee[_0x914176(0x221)],_0x11932e=>{const _0x4b4fe3=_0x914176,_0xe482cb=++this['frameCount'],_0x24672b=_0x43ddee[_0x4b4fe3(0x242)](join,_0x27c934,_0x4b4fe3(0x225)+String(_0xe482cb)[_0x4b4fe3(0x1ea)](0x6,'0')+'.jpg'),_0x3cd56f=writeFile(_0x24672b,Buffer[_0x4b4fe3(0x1ce)](_0x11932e['data'],_0x4b4fe3(0x213)))[_0x4b4fe3(0x227)](()=>undefined)[_0x4b4fe3(0x22e)](()=>_0x1825cd['send']('Page.screencastFrameAck',{'sessionId':_0x11932e[_0x4b4fe3(0x26b)]}))[_0x4b4fe3(0x21f)](()=>undefined)['catch'](()=>undefined);this[_0x4b4fe3(0x25a)][_0x4b4fe3(0x1b6)](_0x3cd56f);}),await _0x1825cd['send'](_0x43ddee['sCwpf'],{'format':_0x914176(0x22c),'quality':0x4b,'everyNthFrame':0x6}),this[_0x914176(0x22d)]=!![];}async['stopScreencast'](){const _0x31891b=_0x17106c;if(!this['frameSession']||!this[_0x31891b(0x22d)])return;await this['frameSession']['send'](_0x31891b(0x209))['catch'](()=>undefined);}['startTraceSampling'](){const _0x304578=_0x17106c,_0x1dedd4={'bMjSo':function(_0x2ce1b1,_0x12e9a1,_0x2b3fe0){return _0x2ce1b1(_0x12e9a1,_0x2b3fe0);}};this['queueTraceSample'](),this['traceSampleTimer']=_0x1dedd4['bMjSo'](setInterval,()=>this[_0x304578(0x21d)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x17106c(0x21d)](){const _0x5b8978=_0x17106c;if(this[_0x5b8978(0x231)])return;this['traceSampleInFlight']=this[_0x5b8978(0x24a)]()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x326b18=_0x17106c,_0x5f3589={'kDdcA':function(_0x321daa,_0x3d085b){return _0x321daa(_0x3d085b);}};this['traceSampleTimer']&&(_0x5f3589[_0x326b18(0x20e)](clearInterval,this['traceSampleTimer']),this[_0x326b18(0x24b)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async[_0x17106c(0x24a)](){const _0x57bddd=_0x17106c,_0x24fe36={'cgyHi':_0x57bddd(0x1f6)},_0x4890bf=this['context']?.['pages']()[0x0];if(!_0x4890bf)return;try{await _0x4890bf[_0x57bddd(0x1dc)](_0x24fe36['cgyHi'])[_0x57bddd(0x25d)](_0x3d311a=>_0x3d311a[_0x57bddd(0x1f4)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x17106c(0x20b)](){const _0x498474=_0x17106c,_0x3d1fb3={'JiQoN':function(_0x2b7e39,_0x2a1aec){return _0x2b7e39<_0x2a1aec;},'OttUs':function(_0x2c552a,_0x35b940,_0x449854){return _0x2c552a(_0x35b940,_0x449854);},'Nbpvi':_0x498474(0x233),'ytpfg':function(_0x2038d7,_0x378197,_0x30b12e){return _0x2038d7(_0x378197,_0x30b12e);},'FDdvx':'error','kDTLG':'-vf','hXJmt':_0x498474(0x250)};if(_0x3d1fb3['JiQoN'](this[_0x498474(0x1b5)],0x2))return null;const _0x49fb63=await resolveFfmpegPath();if(!_0x49fb63)return null;const _0x2caa6f=_0x3d1fb3[_0x498474(0x1df)](join,this[_0x498474(0x263)]['cliArtifactDir'],_0x3d1fb3['Nbpvi']);await mkdir(_0x2caa6f,{'recursive':!![]});const _0x3a9da4=_0x3d1fb3[_0x498474(0x206)](join,_0x2caa6f,_0x498474(0x269));return await execFileAsync(_0x49fb63,['-y',_0x498474(0x23e),_0x498474(0x1a3),_0x3d1fb3[_0x498474(0x259)],'-framerate','10','-i',_0x3d1fb3['OttUs'](join,this['getFrameDir'](),'frame-%06d.jpg'),_0x3d1fb3['kDTLG'],_0x498474(0x1c7),_0x3d1fb3['hXJmt'],'libvpx-vp9','-pix_fmt','yuv420p',_0x3a9da4]),_0x3a9da4;}['getFrameDir'](){const _0x5bc89f={'ARQFc':'nova-video-frames'};return join(this['params']['cliArtifactDir'],_0x5bc89f['ARQFc']);}}async function delay(_0x43db24){await new Promise(_0x25c999=>setTimeout(_0x25c999,_0x43db24));}async function resolveFfmpegPath(){const _0x4dbd76=_0x17106c,_0x238cef={'EqJvF':function(_0x223a9f,_0x533bfe){return _0x223a9f(_0x533bfe);},'NnOKm':'ffmpeg','hqBst':function(_0x10fcca){return _0x10fcca();},'aIOCm':'Library','kPwwz':_0x4dbd76(0x1fa),'arrXH':_0x4dbd76(0x1c1),'UxmYa':'ms-playwright','vqOGq':function(_0x198bcb,_0x3827f7){return _0x198bcb(_0x3827f7);}};if(await _0x238cef[_0x4dbd76(0x1f2)](canRunFfmpeg,_0x238cef['NnOKm']))return _0x238cef['NnOKm'];const _0x520953=[join(_0x238cef[_0x4dbd76(0x257)](homedir),_0x238cef['aIOCm'],_0x238cef['kPwwz'],_0x4dbd76(0x1bc)),join(_0x238cef[_0x4dbd76(0x257)](homedir),_0x238cef[_0x4dbd76(0x237)],_0x238cef[_0x4dbd76(0x1dd)])];for(const _0x1355b1 of _0x520953){try{const _0x280e68=await _0x238cef['vqOGq'](readdir,_0x1355b1),_0xb05c31=_0x280e68[_0x4dbd76(0x1ba)](_0x18de54=>_0x18de54[_0x4dbd76(0x261)](_0x4dbd76(0x24e)))[_0x4dbd76(0x20d)]()['reverse']()['flatMap'](_0x5e9658=>[join(_0x1355b1,_0x5e9658,_0x4dbd76(0x26d)),join(_0x1355b1,_0x5e9658,_0x4dbd76(0x1fe)),join(_0x1355b1,_0x5e9658,_0x4dbd76(0x253))]);for(const _0x5643a4 of _0xb05c31){if(await _0x238cef[_0x4dbd76(0x1f2)](canRunFfmpeg,_0x5643a4))return _0x5643a4;}}catch{}}return null;}async function canRunFfmpeg(_0x2a03b0){const _0x1247ca=_0x17106c,_0x2b860f={'VhzSI':function(_0x1c6038,_0x34f09c,_0x44e73b){return _0x1c6038(_0x34f09c,_0x44e73b);},'ZlKpl':'-version'};try{return await _0x2b860f[_0x1247ca(0x1ec)](execFileAsync,_0x2a03b0,[_0x2b860f['ZlKpl']]),!![];}catch{return![];}}function toStepDisplayName(_0x36152b){const _0x21e779=_0x17106c,_0x3fe698={'atrPa':function(_0x2d4756,_0x588e7d){return _0x2d4756(_0x588e7d);},'mCstV':function(_0x1478ea,_0x4c0ad1){return _0x1478ea(_0x4c0ad1);}},_0x1b45d6=_0x3fe698[_0x21e779(0x248)](basename,_0x36152b)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1b45d6,'isKeyStep':/^key_/i['test'](_0x3fe698[_0x21e779(0x212)](basename,_0x36152b))};}function extractShellValue(_0x2d101a){if(!_0x2d101a)return null;return _0x2d101a[0x1]??_0x2d101a[0x2]??_0x2d101a[0x3]??null;}function extractOutputOption(_0x27d08b){const _0x3c4f04=_0x17106c;return extractShellValue(_0x27d08b[_0x3c4f04(0x1e0)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x1dc40f,_0x27e65f){const _0x2dd961=_0x17106c,_0x16c559={'zmMjj':_0x2dd961(0x22f),'dtrwX':'goto','uQUgz':_0x2dd961(0x26a),'UUkrT':_0x2dd961(0x1d6),'iQyHG':'wait\x20for\x20page\x20condition','cTqPB':'snapshot','dUEki':function(_0x4e245b,_0x522013){return _0x4e245b(_0x522013);},'OGBNs':'capture\x20snapshot','CxINK':_0x2dd961(0x1f7),'tOPJY':_0x2dd961(0x1b7)};switch(_0x27e65f){case _0x2dd961(0x274):return _0x2dd961(0x241);case _0x16c559[_0x2dd961(0x1f3)]:return _0x2dd961(0x1e6);case'verify':return'verify\x20page\x20condition';case'ask':return'ask\x20page\x20question';case _0x16c559['dtrwX']:return _0x16c559[_0x2dd961(0x1c0)];case _0x16c559[_0x2dd961(0x203)]:return _0x16c559['iQyHG'];case _0x16c559[_0x2dd961(0x228)]:{const _0x28a21a=_0x16c559[_0x2dd961(0x214)](extractOutputOption,_0x1dc40f);if(!_0x28a21a)return _0x16c559[_0x2dd961(0x207)];const {name:_0x5c62da}=toStepDisplayName(_0x28a21a);return'capture\x20snapshot\x20`'+_0x5c62da+'`';}case _0x16c559['CxINK']:{const _0x531bb3=extractOutputOption(_0x1dc40f);if(!_0x531bb3)return'capture\x20screenshot';const {name:_0x5159e3,isKeyStep:_0xa3e023}=_0x16c559[_0x2dd961(0x214)](toStepDisplayName,_0x531bb3);return _0xa3e023?_0x2dd961(0x264)+_0x5159e3+'`':_0x2dd961(0x1a8)+_0x5159e3+'`';}case _0x16c559[_0x2dd961(0x218)]:return'export\x20Nova\x20session';default:return _0x27e65f;}}function getNovaActCliCommandBlockReason(_0x4eb2a0){const _0x51e39c=_0x17106c,_0xa2ec77={'XxmNm':function(_0x57a7aa,_0x35e091){return _0x57a7aa===_0x35e091;},'RjtSQ':_0x51e39c(0x210),'uuOAp':'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.','OMVBm':_0x51e39c(0x1cd)},_0x3f972c=parseNovaActCliCommand(_0x4eb2a0);if(!_0x3f972c)return _0x51e39c(0x249);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x51e39c(0x1d1)](_0x3f972c))return'Nova\x20command\x20`'+_0x3f972c+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0xa2ec77[_0x51e39c(0x1ae)](_0x3f972c,_0xa2ec77[_0x51e39c(0x1f8)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x51e39c(0x1fb)](_0x4eb2a0))return _0xa2ec77[_0x51e39c(0x258)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x51e39c(0x1fb)](_0x4eb2a0))return _0xa2ec77[_0x51e39c(0x1ef)];return null;}function buildFeedbackSection(_0x3cf4b4){const _0x554a16=_0x17106c,_0x4c0da0={'yOTwD':'en-US','kKEvT':'numeric','XpmCi':'Reviewer','plNTO':'\x20>\x20','sMHzR':'element'};if(!_0x3cf4b4||_0x3cf4b4['unaddressedComments'][_0x554a16(0x256)]===0x0)return'';const _0x2d97da=_0x3cf4b4['unaddressedComments']['map'](_0x3dfbeb=>{const _0x19ebd7=_0x554a16,_0x178804=new Date(_0x3dfbeb['createdAt'])['toLocaleDateString'](_0x4c0da0[_0x19ebd7(0x1c4)],{'month':_0x19ebd7(0x1c9),'day':_0x4c0da0[_0x19ebd7(0x254)]}),_0x2421e7=_0x3dfbeb[_0x19ebd7(0x201)]||_0x3dfbeb[_0x19ebd7(0x1b1)]||_0x4c0da0[_0x19ebd7(0x24f)],_0x2e0577=_0x3dfbeb['domRef']?'\x20(on\x20element:\x20<'+(_0x3dfbeb['domRef'][_0x19ebd7(0x1e4)][_0x19ebd7(0x235)](_0x4c0da0['plNTO'])['pop']()?.[_0x19ebd7(0x235)](':')[0x0]||_0x4c0da0[_0x19ebd7(0x1b0)])+'>\x20\x22'+(_0x3dfbeb['domRef'][_0x19ebd7(0x276)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x3dfbeb['id']+_0x19ebd7(0x267)+_0x2421e7+_0x19ebd7(0x1ed)+_0x178804+_0x19ebd7(0x1a6)+_0x3dfbeb['content']+'\x22'+_0x2e0577;})[_0x554a16(0x1f1)]('\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'+_0x2d97da;}function buildNovaSharedOptionsInstruction(_0x8cb3ce){const _0x2f85e9=_0x17106c;if(!_0x8cb3ce[_0x2f85e9(0x1de)]())return _0x2f85e9(0x217);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x8cb3ce;}export function buildVerifyFeatureNovaCliDebugPrompt(_0xcfaec5){const _0x6ab77b=_0x17106c,_0x4dcafa={'UUpnt':'00_initial-state.yml','Nvwdm':'01_initial-state.png','GBkcX':'02_final-state.yml','BHdHY':function(_0x2a151b,_0x36900d,_0x3e003e){return _0x2a151b(_0x36900d,_0x3e003e);},'RbsKt':function(_0x24d0c7,_0x1160a2){return _0x24d0c7(_0x1160a2);},'SASVn':function(_0x3766ae,_0x502e45){return _0x3766ae(_0x502e45);}},{novaCommandPrefix:_0x2b9395,novaSharedOptionsSuffix:_0x22be2c,cliArtifactDir:_0x160608,url:_0x153f1f}=_0xcfaec5,_0x439d52=buildCliArtifactPath(_0x160608,_0x4dcafa[_0x6ab77b(0x1ca)]),_0x3f4693=buildCliArtifactPath(_0x160608,_0x4dcafa[_0x6ab77b(0x236)]),_0x3ed3e6=buildCliArtifactPath(_0x160608,_0x4dcafa['GBkcX']),_0x22d966=_0x4dcafa[_0x6ab77b(0x1cb)](buildCliArtifactPath,_0x160608,'03_final-state.png');return _0x6ab77b(0x1cf)+_0x2b9395+'\x0a\x0a'+_0x4dcafa[_0x6ab77b(0x262)](buildNovaSharedOptionsInstruction,_0x22be2c)+'\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`'+_0x2b9395+_0x6ab77b(0x1a2)+_0x4dcafa['SASVn'](quoteShellArg,_0x153f1f)+'\x20'+_0x22be2c+'`\x0a2.\x20Run\x20`'+_0x2b9395+'\x20snapshot\x20--output\x20'+_0x4dcafa[_0x6ab77b(0x26e)](quoteShellArg,_0x439d52)+'\x20'+_0x22be2c+_0x6ab77b(0x265)+_0x2b9395+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3f4693)+'\x20'+_0x22be2c+_0x6ab77b(0x1e5)+_0x2b9395+_0x6ab77b(0x1ff)+_0x2b9395+'\x20snapshot\x20--output\x20'+_0x4dcafa[_0x6ab77b(0x26e)](quoteShellArg,_0x3ed3e6)+'\x20'+_0x22be2c+'`\x0a6.\x20Run\x20`'+_0x2b9395+_0x6ab77b(0x1f9)+quoteShellArg(_0x22d966)+'\x20'+_0x22be2c+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x160608+_0x6ab77b(0x20f);}export function buildVerifyFeatureNovaCliPrompt(_0x38853b){const _0x26d8b7=_0x17106c,_0x1a6d8c={'SZPom':function(_0xcef70b,_0x1eeb29,_0x12c00c){return _0xcef70b(_0x1eeb29,_0x12c00c);},'cYlxP':'01_initial-state.png','cZrYv':_0x26d8b7(0x1be),'KirbC':function(_0x18f9ca,_0x4ae233){return _0x18f9ca(_0x4ae233);},'Radjh':function(_0x1265a0,_0x79b213){return _0x1265a0(_0x79b213);}},{checklistItem:_0x3edbfd,itemFeedback:_0x3eea29,taskDescription:_0x4951f8,novaCommandPrefix:_0x31dee4,novaSharedOptionsSuffix:_0x33ea8b,cliArtifactDir:_0x59fbb0,url:_0x322ab2,loginInstructions:_0x4ff9ae}=_0x38853b,_0x13bb6c=_0x3edbfd['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3edbfd['notes']:'',_0x526e20=buildFeedbackSection(_0x3eea29),_0x55bfa9=_0x3eea29?.[_0x26d8b7(0x1e8)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3eea29['canonicalFlow']:'',_0x526529=_0x4ff9ae?_0x26d8b7(0x208)+_0x4ff9ae+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x1576b5=_0x1a6d8c['SZPom'](buildCliArtifactPath,_0x59fbb0,_0x26d8b7(0x1c8)),_0xb8cca9=buildCliArtifactPath(_0x59fbb0,_0x1a6d8c[_0x26d8b7(0x255)]),_0x5a1e95=buildCliArtifactPath(_0x59fbb0,_0x1a6d8c[_0x26d8b7(0x239)]);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'+_0x3edbfd[_0x26d8b7(0x224)]+_0x13bb6c+_0x526e20+_0x55bfa9+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4951f8+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x322ab2+_0x26d8b7(0x1a9)+_0x526529+'\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`'+_0x31dee4+'\x20session\x20create\x20'+quoteShellArg(_0x322ab2)+'\x20'+_0x33ea8b+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x59fbb0+_0x26d8b7(0x23a)+_0x31dee4+_0x26d8b7(0x243)+_0x1a6d8c[_0x26d8b7(0x226)](quoteShellArg,_0x1576b5)+'\x20'+_0x33ea8b+_0x26d8b7(0x23f)+_0x31dee4+'\x20screenshot\x20--output\x20'+_0x1a6d8c[_0x26d8b7(0x226)](quoteShellArg,_0xb8cca9)+'\x20'+_0x33ea8b+'`.\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`'+_0x5a1e95+'`.\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`'+_0x31dee4+_0x26d8b7(0x1d7)+(_0x33ea8b['trim']()?'`'+_0x33ea8b+'`':_0x26d8b7(0x204))+'\x0a\x0a'+_0x1a6d8c['Radjh'](buildNovaSharedOptionsInstruction,_0x33ea8b)+'\x0a\x0aExamples:\x0a-\x20`'+_0x31dee4+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x33ea8b+_0x26d8b7(0x24c)+_0x31dee4+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x33ea8b+'`\x0a-\x20`'+_0x31dee4+'\x20snapshot\x20--output\x20'+_0x1a6d8c[_0x26d8b7(0x266)](quoteShellArg,_0x1576b5)+'\x20'+_0x33ea8b+_0x26d8b7(0x24c)+_0x31dee4+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x5a1e95)+'\x20'+_0x33ea8b+_0x26d8b7(0x1a5);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x4f29a5){const _0x181ed5=_0x17106c,_0x5ce2cf={'YTSZO':function(_0x457a6d,_0x4cff02){return _0x457a6d===_0x4cff02;}},_0x24fb35=[..._0x4f29a5['keys']()][_0x181ed5(0x20d)]();let _0x735cf9=0x0;for(const _0x1d197e of _0x4f29a5['values']()){_0x735cf9+=_0x1d197e;}return{'cliCommandCount':_0x735cf9,'cliCommandsSeen':_0x24fb35,'noCliCommandsCalled':_0x5ce2cf[_0x181ed5(0x234)](_0x735cf9,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x4f169a,_0x51f6ad){const _0x4e9182=_0x17106c,_0x53bbc4={'ACVem':function(_0x2e66fe,_0x35ac4a){return _0x2e66fe!==_0x35ac4a;},'WXPMZ':'Bash','PugAK':function(_0xa7b0ac,_0x2e39c8){return _0xa7b0ac(_0x2e39c8);},'mHFhn':function(_0x307107,_0x501d88){return _0x307107(_0x501d88);},'PguDv':'block','GxLZn':'PostToolUse','ZWxkB':'nova_act_command','mUOzk':'session\x20create','LPeUm':_0x4e9182(0x270),'DAYby':'nova-act-cli','ZREPU':'nova_act_command_failure'},_0x9b4ca3=new Map(),_0x304854=async _0x31fc69=>{const _0x429946=_0x4e9182;if(_0x31fc69['hook_event_name']!=='PreToolUse')return{};const _0x63a758=_0x31fc69;if(_0x53bbc4['ACVem'](_0x63a758['tool_name'],_0x53bbc4['WXPMZ']))return{};const _0x20986d=_0x63a758[_0x429946(0x22a)],_0x1d481c=_0x53bbc4['PugAK'](extractBashCommand,_0x20986d);if(!_0x1d481c)return{};const _0x14a212=_0x53bbc4[_0x429946(0x20c)](getNovaActCliCommandBlockReason,_0x1d481c);if(!_0x14a212)return{};return{'decision':_0x53bbc4[_0x429946(0x1aa)],'reason':_0x14a212};},_0x2e9fb4=async _0x3a9e8b=>{const _0x34a197=_0x4e9182;if(_0x3a9e8b[_0x34a197(0x26c)]!==_0x53bbc4[_0x34a197(0x211)])return{};const _0x18d2c5=_0x3a9e8b;if(_0x18d2c5['tool_name']!==_0x53bbc4[_0x34a197(0x1ee)])return{};const _0x36fb0a=_0x18d2c5['tool_input'],_0x6b3ee2=_0x53bbc4['mHFhn'](extractBashCommand,_0x36fb0a);if(!_0x6b3ee2)return{};const _0x1a8dcc=_0x53bbc4[_0x34a197(0x20c)](parseNovaActCliCommand,_0x6b3ee2);if(!_0x1a8dcc)return{};_0x9b4ca3[_0x34a197(0x1af)](_0x1a8dcc,(_0x9b4ca3[_0x34a197(0x1a4)](_0x1a8dcc)||0x0)+0x1),_0x4f169a[_0x34a197(0x1da)]('nova_act_command',{'subcommand':_0x1a8dcc}),_0x4f169a['trackPhaseEnd'](_0x53bbc4[_0x34a197(0x1d0)],{'subcommand':_0x1a8dcc,'commandPreview':previewNovaActCliCommand(_0x6b3ee2)}),console[_0x34a197(0x246)](_0x34a197(0x19f)+formatNovaActCliLog(_0x6b3ee2,_0x1a8dcc));if(_0x1a8dcc===_0x53bbc4['mUOzk']&&_0x51f6ad)try{await _0x51f6ad['start']();}catch(_0x449460){await _0x4f169a['trackPhaseError'](_0x53bbc4['LPeUm'],_0x449460,{'transport':_0x53bbc4['DAYby']});}return{};},_0x50a102=async _0x59b3c4=>{const _0x47ef4b=_0x4e9182;if(_0x59b3c4['hook_event_name']!=='PostToolUseFailure')return{};const _0x581d1e=_0x59b3c4;if(_0x581d1e['tool_name']!==_0x47ef4b(0x1d9))return{};return await _0x4f169a['trackPhaseError'](_0x53bbc4[_0x47ef4b(0x1d4)],_0x581d1e[_0x47ef4b(0x272)],{'transport':_0x47ef4b(0x202),'toolName':_0x47ef4b(0x1d9)}),{};};return{'preToolUseHook':_0x304854,'postToolUseHook':_0x2e9fb4,'postToolUseFailureHook':_0x50a102,'commandCounts':_0x9b4ca3};}async function runNovaLifecycleCommand(_0x18188e){const _0x14e5b8=_0x17106c,_0x39ddb2={'fQzGi':function(_0x7fc9b,_0x19463f){return _0x7fc9b(_0x19463f);}},{novaOptions:_0x528d25,commandArgs:_0x4439e7,telemetry:_0x10738e,phase:_0x398c20,metadata:_0x48e0a0,timeoutMs:_0x1986c3}=_0x18188e;_0x10738e['trackPhaseStart'](_0x398c20,_0x48e0a0);try{const _0x39d1ae=await runNovaActCliCommand({..._0x528d25,'commandArgs':_0x4439e7,'cwd':process['cwd'](),'env':process['env'],'timeoutMs':_0x1986c3??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x10738e[_0x14e5b8(0x24d)](_0x398c20,{..._0x48e0a0,'subcommand':_0x39d1ae[_0x14e5b8(0x200)]['subcommand'],'commandPreview':_0x39ddb2['fQzGi'](previewNovaActCliCommand,_0x39d1ae['invocation']['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x39d1ae['stdout']),'stderrPreview':previewNovaActCliCommand(_0x39d1ae[_0x14e5b8(0x215)]),'logDir':extractNovaActLogDir(_0x39d1ae['stdout'])});}catch(_0x4762bf){await _0x10738e['trackPhaseError'](_0x398c20,_0x4762bf,_0x48e0a0);throw _0x4762bf;}}export async function finalizeVerifyFeatureNovaCliSession(_0x4b762c){const _0x4daa46=_0x17106c,_0x25278e={'GEmEh':'nova_act_final_screenshot','dFSlm':function(_0x4b1bb5,_0x203ba9,_0x3ece87){return _0x4b1bb5(_0x203ba9,_0x3ece87);},'MVrDr':'key_final-state.png','REeRy':'snapshot','tmoCp':_0x4daa46(0x21c),'JOMZo':'session','UKjth':'export','OutwP':'--format','yapvi':function(_0x568b3d,_0x2e3c6e,_0x3fd322){return _0x568b3d(_0x2e3c6e,_0x3fd322);},'IHbWQ':_0x4daa46(0x21e),'lbZvE':'--output-dir','ELSYR':_0x4daa46(0x277),'SIViV':function(_0x542876,_0x4c0d67){return _0x542876===_0x4c0d67;},'yggst':function(_0x166e1b,_0x341aec){return _0x166e1b(_0x341aec);}},{telemetry:_0x3c0641,novaOptions:_0x2a5987,cliArtifactDir:_0x1da8ef,transportMetadata:_0x21fc16,artifactRecorder:_0xd67f33}=_0x4b762c,_0x42476b=[{'phase':_0x25278e[_0x4daa46(0x251)],'commandArgs':['screenshot',_0x4daa46(0x1e7),_0x25278e[_0x4daa46(0x22b)](buildCliArtifactPath,_0x1da8ef,_0x25278e['MVrDr'])]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x25278e[_0x4daa46(0x216)],'--output',_0x25278e[_0x4daa46(0x22b)](buildCliArtifactPath,_0x1da8ef,'final-state.yaml')]},{'phase':_0x25278e['tmoCp'],'commandArgs':[_0x25278e[_0x4daa46(0x1b3)],_0x25278e['UKjth'],_0x25278e[_0x4daa46(0x1db)],'json',_0x4daa46(0x1e7),_0x25278e['yapvi'](buildCliArtifactPath,_0x1da8ef,'nova-session-export.json')]},{'phase':_0x25278e[_0x4daa46(0x1e1)],'commandArgs':[_0x25278e['JOMZo'],_0x4daa46(0x1b4),_0x4daa46(0x223),_0x25278e['lbZvE'],_0x25278e[_0x4daa46(0x1d5)](buildCliArtifactPath,_0x1da8ef,'nova-report')]},{'phase':_0x25278e['ELSYR'],'commandArgs':[_0x25278e['JOMZo'],_0x4daa46(0x23b)]}];for(const _0x3448fb of _0x42476b){_0x25278e['SIViV'](_0x3448fb[_0x4daa46(0x1ab)],_0x25278e[_0x4daa46(0x1c6)])&&await _0xd67f33?.['stop']();try{await _0x25278e['yggst'](runNovaLifecycleCommand,{'novaOptions':_0x2a5987,'commandArgs':[..._0x3448fb['commandArgs']],'telemetry':_0x3c0641,'phase':_0x3448fb['phase'],'metadata':_0x21fc16});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x1f3c0b){const _0x20e15d=_0x17106c,_0x556af2={'DdKKr':function(_0x3d4d3a,_0x40dc57,_0x3e7396){return _0x3d4d3a(_0x40dc57,_0x3e7396);},'VJgWE':function(_0x42b461,_0x587267){return _0x42b461+_0x587267;}},{cwd:_0x534f7e,cliArtifactDir:_0x3076a0,startTime:_0xca01fc}=_0x1f3c0b,_0x4dc2b0=[];await mkdir(_0x3076a0,{'recursive':!![]});const _0x2968df=await _0x556af2[_0x20e15d(0x219)](readdir,_0x534f7e,{'withFileTypes':!![]});for(const _0x6e73f9 of _0x2968df){if(!_0x6e73f9['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x20e15d(0x1fb)](_0x6e73f9[_0x20e15d(0x26f)]))continue;const _0x40f9d2=_0x556af2['DdKKr'](join,_0x534f7e,_0x6e73f9['name']),_0x10cea9=await stat(_0x40f9d2);if(_0x556af2['VJgWE'](_0x10cea9[_0x20e15d(0x1b2)],0x7d0)<_0xca01fc)continue;const _0x236ad0=buildCliArtifactPath(_0x3076a0,_0x6e73f9[_0x20e15d(0x26f)]);if(_0x40f9d2===_0x236ad0)continue;await rename(_0x40f9d2,_0x236ad0),_0x4dc2b0[_0x20e15d(0x1b6)](_0x6e73f9['name']);}return _0x4dc2b0['sort']();}function _0x121c(){const _0x16e132=['contexts','encodeScreencastVideo','mHFhn','sort','kDdcA','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','verify','GxLZn','mCstV','base64','dUEki','stderr','REeRy','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.','tOPJY','DdKKr','nova_act_artifact_recording_stop','trackPhaseError','nova_act_session_export','queueTraceSample','nova_act_session_report','then','allSettled','ZIUhd','502210hJpgKQ','--report','description','frame-','KirbC','catch','cTqPB','IzWdV','tool_input','dFSlm','jpeg','screencastStarted','finally','execute','3395dMHOHG','traceSampleInFlight','browser','videos','YTSZO','split','Nvwdm','arrXH','stopTraceSampling','cZrYv','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','close','startScreencast','eZmMT','-hide_banner','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','luRMR','create\x20Nova\x20browser\x20session','yuQVc','\x20snapshot\x20--output\x20','1179996yIsDqR','1004VMDJTJ','log','goto','atrPa','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','captureTraceSample','traceSampleTimer','`\x0a-\x20`','trackPhaseEnd','ffmpeg-','XpmCi','-c:v','GEmEh','trace.zip','ffmpeg.exe','kKEvT','cYlxP','length','hqBst','uuOAp','FDdvx','frameWrites','207ygOKPE','telemetry','evaluate','MbzBL','309190jMXPZf','Page.startScreencast','startsWith','RbsKt','params','capture\x20key\x20step\x20`','`\x0a3.\x20Run\x20`','Radjh',']\x20**','transportMetadata','session-recording.webm','navigate\x20browser','sessionId','hook_event_name','ffmpeg-mac','SASVn','name','nova_act_artifact_recording','zip','error','.json','session\x20create','55005BRlIJv','textContent','nova_act_session_close','[nova-act-cli]\x20','commandArgs','cdp_endpoint','\x20session\x20create\x20','-loglevel','get','`\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.','):\x20\x22','sessions','capture\x20step\x20`','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','PguDv','phase','browser_pid','frameSession','XxmNm','set','sMHzR','authorEmail','mtimeMs','JOMZo','export','frameCount','push','session\x20export','zwOFh','tracingStarted','filter','subcommand','ms-playwright','now','key_03_success-state.png','160000pbBFyF','uQUgz','.cache','newCDPSession','utf-8','yOTwD','stop','ELSYR','scale=trunc(iw/2)*2:trunc(ih/2)*2','01_initial.yml','short','UUpnt','BHdHY','.act_cli','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','from','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','ZWxkB','has','fjbAo','cliArtifactDir','ZREPU','yapvi','wait-for','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','INynH','Bash','trackPhaseStart','OutwP','locator','UxmYa','trim','OttUs','match','IHbWQ','stopped','context','selector','`\x0a4.\x20Run\x20one\x20batched\x20`','execute\x20Nova\x20browser\x20action','--output','canonicalFlow','novaOptions','padStart','JHgRX','VhzSI','**\x20(','WXPMZ','OMVBm','91288hdtGOE','join','EqJvF','zmMjj','tagName','startAttempted','body','screenshot','RjtSQ','\x20screenshot\x20--output\x20','Caches','test','parse','ASBPa','ffmpeg-linux','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','invocation','authorName','nova-act-cli','UUkrT','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','start','ytpfg','OGBNs','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','Page.stopScreencast'];_0x121c=function(){return _0x16e132;};return _0x121c();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x35d490){const _0x19d46b=_0x17106c,_0x433aaa={'CRZss':function(_0xc3df06,_0x2b1f0c,_0x40869b){return _0xc3df06(_0x2b1f0c,_0x40869b);},'UoyJP':_0x19d46b(0x252)},_0x219098=_0x433aaa['CRZss'](join,_0x35d490,_0x433aaa['UoyJP']);try{return{'buffer':await readFile(_0x219098),'source':_0x219098};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x35d490),'source':_0x35d490};}}async function zipVerifyFeatureNovaArtifacts(_0x56d0d5){const _0x2293a8=_0x17106c,_0x3c802b={'wlTfL':function(_0x27969f,_0x44fd0f,_0x2aea31,_0xbb5e24){return _0x27969f(_0x44fd0f,_0x2aea31,_0xbb5e24);},'pDmzc':'nova-artifacts.zip','IzWdV':function(_0x2ff8f1,_0x5286e5){return _0x2ff8f1(_0x5286e5);},'INynH':function(_0x572b1e,_0x2b4748,_0x30980c){return _0x572b1e(_0x2b4748,_0x30980c);}},_0x4185af=_0x3c802b['wlTfL'](join,_0x56d0d5,'..',_0x3c802b['pDmzc']);try{return await execFileAsync(_0x2293a8(0x271),['-qr',_0x4185af,'.','-x','nova-user-data/*'],{'cwd':_0x56d0d5}),await _0x3c802b[_0x2293a8(0x229)](readFile,_0x4185af);}finally{await _0x3c802b[_0x2293a8(0x1d8)](rm,_0x4185af,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x19d254){const _0x20285e=_0x17106c,_0x54f377=buildNovaActCliInvocation(_0x19d254[_0x20285e(0x1e9)],_0x19d254['commandArgs']);return{'command':_0x54f377['command'],'args':_0x54f377['args'],'commandPreview':previewNovaActCliCommand(_0x54f377['shellCommand']),'subcommand':_0x54f377[_0x20285e(0x1bb)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x19d254['novaOptions'],_0x19d254[_0x20285e(0x1a0)])};}
1
+ const _0x2539ac=_0x5833;(function(_0x25d811,_0x45ea3d){const _0x45c01f=_0x5833,_0x2fdec2=_0x25d811();while(!![]){try{const _0x2cfcdc=parseInt(_0x45c01f(0x1f5))/0x1*(-parseInt(_0x45c01f(0x287))/0x2)+parseInt(_0x45c01f(0x28b))/0x3+parseInt(_0x45c01f(0x28c))/0x4+parseInt(_0x45c01f(0x2c2))/0x5*(-parseInt(_0x45c01f(0x2af))/0x6)+-parseInt(_0x45c01f(0x225))/0x7*(-parseInt(_0x45c01f(0x206))/0x8)+parseInt(_0x45c01f(0x27b))/0x9*(parseInt(_0x45c01f(0x2bf))/0xa)+parseInt(_0x45c01f(0x214))/0xb*(parseInt(_0x45c01f(0x22d))/0xc);if(_0x2cfcdc===_0x45ea3d)break;else _0x2fdec2['push'](_0x2fdec2['shift']());}catch(_0x3e1fc3){_0x2fdec2['push'](_0x2fdec2['shift']());}}}(_0x436f,0xe9370));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',_0x2539ac(0x247),_0x2539ac(0x200),'ask',_0x2539ac(0x1e1),_0x2539ac(0x1e4),'snapshot',_0x2539ac(0x251)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3e11d7,_0x4c12e1){const _0x51c229={'ANaNw':function(_0x18cddf,_0xb8ff46,_0x1167df){return _0x18cddf(_0xb8ff46,_0x1167df);}};return _0x51c229['ANaNw'](join,_0x3e11d7,_0x4c12e1);}function _0x5833(_0x49e6e1,_0x4d68d4){_0x49e6e1=_0x49e6e1-0x1d8;const _0x436f99=_0x436f();let _0x583323=_0x436f99[_0x49e6e1];return _0x583323;}export class NovaActArtifactRecorder{[_0x2539ac(0x285)];[_0x2539ac(0x210)]=null;['context']=null;['frameSession']=null;[_0x2539ac(0x277)]=[];[_0x2539ac(0x263)]=0x0;['traceSampleCount']=0x0;[_0x2539ac(0x290)]=null;[_0x2539ac(0x203)]=null;['tracingStarted']=![];[_0x2539ac(0x20a)]=![];['startAttempted']=![];[_0x2539ac(0x293)]=![];constructor(_0x33128f){const _0x154260=_0x2539ac;this[_0x154260(0x285)]=_0x33128f;}async[_0x2539ac(0x1d9)](){const _0x3b4eaf=_0x2539ac,_0x33daa0={'UyDzl':_0x3b4eaf(0x2b3),'yKCWX':_0x3b4eaf(0x28a)};if(this['startAttempted'])return;this[_0x3b4eaf(0x269)]=!![];const _0x1e608d=await this[_0x3b4eaf(0x296)](),_0x87e148=_0x1e608d['cdp_endpoint'];if(!_0x87e148)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x3b4eaf(0x285)][_0x3b4eaf(0x250)][_0x3b4eaf(0x1fc)]);await mkdir(this[_0x3b4eaf(0x285)][_0x3b4eaf(0x26f)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x87e148,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x3b4eaf(0x267)]=this[_0x3b4eaf(0x210)][_0x3b4eaf(0x249)]()[0x0]??null;if(!this[_0x3b4eaf(0x267)])throw new Error(_0x33daa0[_0x3b4eaf(0x272)]);await this[_0x3b4eaf(0x267)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x3b4eaf(0x2be)](),await this[_0x3b4eaf(0x2a8)](),this['params']['telemetry']['trackPhaseStart'](_0x33daa0['yKCWX'],{...this['params']['transportMetadata'],'cdpEndpoint':_0x87e148,'browserPid':_0x1e608d['browser_pid'],'sessionState':_0x1e608d['state']}),this[_0x3b4eaf(0x285)]['telemetry']['trackPhaseEnd'](_0x33daa0[_0x3b4eaf(0x1f9)],{...this['params']['transportMetadata'],'tracingStarted':this[_0x3b4eaf(0x24c)],'screencastStarted':this[_0x3b4eaf(0x20a)]});}async[_0x2539ac(0x278)](){const _0x11e347=_0x2539ac,_0x7b79ba={'EuUEi':function(_0x381055,_0x2177df,_0x1df808){return _0x381055(_0x2177df,_0x1df808);},'PyUKN':_0x11e347(0x29b),'oKWgI':_0x11e347(0x299)};if(this['stopped'])return;this['stopped']=!![];const _0xe599ba={...this[_0x11e347(0x285)][_0x11e347(0x20f)],'frameCount':this[_0x11e347(0x263)],'traceSampleCount':this[_0x11e347(0x27d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x11e347(0x285)]['telemetry'][_0x11e347(0x257)]('nova_act_artifact_recording_stop',_0xe599ba);try{await this[_0x11e347(0x1e9)](),await this['captureTraceSample'](),await this[_0x11e347(0x22e)](),await Promise[_0x11e347(0x25b)](this['frameWrites']);this[_0x11e347(0x267)]&&this[_0x11e347(0x24c)]&&await this[_0x11e347(0x267)]['tracing']['stop']({'path':_0x7b79ba[_0x11e347(0x245)](buildCliArtifactPath,this[_0x11e347(0x285)]['cliArtifactDir'],_0x7b79ba['PyUKN'])});const _0x4e61fc=await this['encodeScreencastVideo']();this[_0x11e347(0x285)][_0x11e347(0x261)][_0x11e347(0x208)](_0x7b79ba['oKWgI'],{..._0xe599ba,'videoPath':_0x4e61fc});}catch(_0x300e12){await this['params'][_0x11e347(0x261)]['trackPhaseError'](_0x7b79ba[_0x11e347(0x1fb)],_0x300e12,_0xe599ba);}finally{await this[_0x11e347(0x210)]?.['close']()[_0x11e347(0x2b4)](()=>undefined),this['browser']=null,this['context']=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x260113=_0x2539ac,_0x500027={'dwZOu':function(_0x358b23){return _0x358b23();},'epOFI':_0x260113(0x243),'qnsPD':function(_0x1828df,_0x54b23d){return _0x1828df(_0x54b23d);},'ZlEJR':function(_0x3b177d,_0x542ea3){return _0x3b177d<_0x542ea3;},'dDUxs':function(_0x2788b2,_0x6b5826){return _0x2788b2-_0x6b5826;},'pjCbV':function(_0x748e20,_0x1b3dff){return _0x748e20 instanceof _0x1b3dff;}},_0x2d53d4=join(_0x500027[_0x260113(0x255)](homedir),_0x500027['epOFI'],_0x260113(0x210),'sessions',this['params']['novaOptions'][_0x260113(0x1fc)]+_0x260113(0x28e)),_0x5a0156=Date['now']();let _0x137aa0;do{try{const _0xad42ba=JSON[_0x260113(0x1d8)](await readFile(_0x2d53d4,_0x260113(0x295)));if(_0xad42ba['cdp_endpoint'])return _0xad42ba;_0x137aa0=new Error(_0x260113(0x24d)+_0x2d53d4);}catch(_0x2a7b23){_0x137aa0=_0x2a7b23;}await _0x500027['qnsPD'](delay,0x64);}while(_0x500027['ZlEJR'](_0x500027[_0x260113(0x1ec)](Date[_0x260113(0x1e5)](),_0x5a0156),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x500027[_0x260113(0x25d)](_0x137aa0,Error))throw _0x137aa0;throw new Error(_0x260113(0x271)+_0x2d53d4);}async['startScreencast'](){const _0x209f27=_0x2539ac,_0x22a89a={'tAMFi':'base64','pLcSe':function(_0x3b031b,_0x32fa94,_0x40dc56){return _0x3b031b(_0x32fa94,_0x40dc56);},'KlIBE':_0x209f27(0x21b)};if(!this['context'])return;const _0x36f7b3=this[_0x209f27(0x267)][_0x209f27(0x1f2)]()[0x0];if(!_0x36f7b3)return;const _0x5091e1=this['getFrameDir']();await _0x22a89a['pLcSe'](mkdir,_0x5091e1,{'recursive':!![]});const _0x462181=await this['context']['newCDPSession'](_0x36f7b3);this['frameSession']=_0x462181,_0x462181['on'](_0x209f27(0x2a2),_0x4ab15b=>{const _0x270856=_0x209f27,_0x1c0fff=++this['frameCount'],_0x31ba19=join(_0x5091e1,_0x270856(0x23b)+String(_0x1c0fff)['padStart'](0x6,'0')+'.jpg'),_0x35fd30=writeFile(_0x31ba19,Buffer[_0x270856(0x24b)](_0x4ab15b['data'],_0x22a89a[_0x270856(0x1df)]))[_0x270856(0x2b4)](()=>undefined)['finally'](()=>_0x462181[_0x270856(0x2b6)]('Page.screencastFrameAck',{'sessionId':_0x4ab15b[_0x270856(0x1fc)]}))[_0x270856(0x298)](()=>undefined)['catch'](()=>undefined);this[_0x270856(0x277)]['push'](_0x35fd30);}),await _0x462181[_0x209f27(0x2b6)]('Page.startScreencast',{'format':_0x22a89a['KlIBE'],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x1afb14=_0x2539ac,_0x358113={'pzwRi':_0x1afb14(0x27f)};if(!this[_0x1afb14(0x202)]||!this['screencastStarted'])return;await this[_0x1afb14(0x202)]['send'](_0x358113['pzwRi'])[_0x1afb14(0x2b4)](()=>undefined);}['startTraceSampling'](){const _0x16c4e0=_0x2539ac;this['queueTraceSample'](),this[_0x16c4e0(0x290)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x2539ac(0x275)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{const _0x5960ab=_0x5833;this[_0x5960ab(0x203)]=null;});}async['stopTraceSampling'](){const _0x1cad6f=_0x2539ac,_0x2cbf5c={'Xxstm':function(_0x1136cc,_0x4830f4){return _0x1136cc(_0x4830f4);}};this[_0x1cad6f(0x290)]&&(_0x2cbf5c['Xxstm'](clearInterval,this['traceSampleTimer']),this[_0x1cad6f(0x290)]=null),await this[_0x1cad6f(0x203)]?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x29309f=_0x2539ac,_0x42b4cf={'iwbem':_0x29309f(0x26a)},_0x4cc256=this[_0x29309f(0x267)]?.[_0x29309f(0x1f2)]()[0x0];if(!_0x4cc256)return;try{await _0x4cc256[_0x29309f(0x2bc)](_0x42b4cf[_0x29309f(0x2b8)])['evaluate'](_0x3883db=>_0x3883db[_0x29309f(0x20e)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x30587d=_0x2539ac,_0x372c56={'VfJdd':function(_0x44b23f,_0x4c0c5c){return _0x44b23f<_0x4c0c5c;},'tRhXw':function(_0x3634d4,_0xe2ea9c,_0x78697a){return _0x3634d4(_0xe2ea9c,_0x78697a);},'kyzMu':function(_0x38f09c,_0x3800ed,_0x2e61bf){return _0x38f09c(_0x3800ed,_0x2e61bf);},'hmjta':_0x30587d(0x1f3),'JYTYr':'-hide_banner','ekvUU':_0x30587d(0x256),'WcEZl':'-framerate','zGdvi':_0x30587d(0x232),'ktHoZ':_0x30587d(0x235),'iGZQt':_0x30587d(0x205),'ePAAB':_0x30587d(0x281),'gyBPG':'libvpx-vp9'};if(_0x372c56['VfJdd'](this[_0x30587d(0x263)],0x2))return null;const _0xf4c52f=await resolveFfmpegPath();if(!_0xf4c52f)return null;const _0x1b701e=join(this[_0x30587d(0x285)][_0x30587d(0x26f)],'videos');await _0x372c56['tRhXw'](mkdir,_0x1b701e,{'recursive':!![]});const _0x4640c9=_0x372c56[_0x30587d(0x244)](join,_0x1b701e,_0x372c56[_0x30587d(0x282)]);return await _0x372c56['tRhXw'](execFileAsync,_0xf4c52f,['-y',_0x372c56[_0x30587d(0x2b5)],_0x30587d(0x2a1),_0x372c56[_0x30587d(0x1eb)],_0x372c56[_0x30587d(0x2a7)],'10','-i',join(this[_0x30587d(0x1ee)](),_0x372c56[_0x30587d(0x231)]),_0x372c56[_0x30587d(0x211)],_0x372c56['iGZQt'],_0x372c56['ePAAB'],_0x372c56['gyBPG'],_0x30587d(0x242),_0x30587d(0x283),_0x4640c9]),_0x4640c9;}['getFrameDir'](){const _0x2a03fa=_0x2539ac;return join(this['params'][_0x2a03fa(0x26f)],'nova-video-frames');}}async function delay(_0x301327){await new Promise(_0x182587=>setTimeout(_0x182587,_0x301327));}async function resolveFfmpegPath(){const _0x19c885=_0x2539ac,_0x27b5bd={'rwJfG':'ffmpeg','JEzvB':function(_0x120200,_0x594266,_0x34f507,_0x413967,_0x4f04db){return _0x120200(_0x594266,_0x34f507,_0x413967,_0x4f04db);},'XVaZV':function(_0xb5f388){return _0xb5f388();},'CqdOe':_0x19c885(0x29f),'kASDe':_0x19c885(0x248),'cHCpX':function(_0x30129b,_0x4c3c3a){return _0x30129b(_0x4c3c3a);}};if(await canRunFfmpeg('ffmpeg'))return _0x27b5bd[_0x19c885(0x291)];const _0x4637c1=[_0x27b5bd['JEzvB'](join,_0x27b5bd[_0x19c885(0x1de)](homedir),_0x19c885(0x20d),_0x19c885(0x23c),_0x27b5bd[_0x19c885(0x2a5)]),join(homedir(),_0x27b5bd['kASDe'],_0x27b5bd[_0x19c885(0x2a5)])];for(const _0x4ac1a of _0x4637c1){try{const _0x361013=await readdir(_0x4ac1a),_0x11c02e=_0x361013[_0x19c885(0x260)](_0x1ca722=>_0x1ca722[_0x19c885(0x1f1)](_0x19c885(0x204)))[_0x19c885(0x27e)]()[_0x19c885(0x2bb)]()['flatMap'](_0x5ded53=>[join(_0x4ac1a,_0x5ded53,'ffmpeg-mac'),join(_0x4ac1a,_0x5ded53,_0x19c885(0x22b)),join(_0x4ac1a,_0x5ded53,_0x19c885(0x238))]);for(const _0x2ab66c of _0x11c02e){if(await _0x27b5bd[_0x19c885(0x1f4)](canRunFfmpeg,_0x2ab66c))return _0x2ab66c;}}catch{}}return null;}async function canRunFfmpeg(_0x347624){const _0x69b945=_0x2539ac,_0x2f030a={'jDIhK':'-version'};try{return await execFileAsync(_0x347624,[_0x2f030a[_0x69b945(0x2ab)]]),!![];}catch{return![];}}function toStepDisplayName(_0x463953){const _0x11fb2c=_0x2539ac,_0x43e379=basename(_0x463953)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x11fb2c(0x229)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x43e379,'isKeyStep':/^key_/i['test'](basename(_0x463953))};}function extractShellValue(_0xca8de){if(!_0xca8de)return null;return _0xca8de[0x1]??_0xca8de[0x2]??_0xca8de[0x3]??null;}function extractOutputOption(_0x52950f){const _0x20345a=_0x2539ac;return extractShellValue(_0x52950f[_0x20345a(0x253)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x4856e8,_0x81daf3){const _0x35866f=_0x2539ac,_0x42b907={'Uknrk':_0x35866f(0x21d),'sXBKH':_0x35866f(0x218),'UCZYg':'goto','JSVCU':_0x35866f(0x1fe),'farkY':'wait-for','WHxwt':'wait\x20for\x20page\x20condition','Mhezn':function(_0x2f1fee,_0x1418f9){return _0x2f1fee(_0x1418f9);},'BRrPT':_0x35866f(0x251),'MYpxg':_0x35866f(0x240),'LfFLU':'export\x20Nova\x20session'};switch(_0x81daf3){case _0x42b907[_0x35866f(0x21e)]:return _0x35866f(0x1e7);case _0x35866f(0x247):return _0x35866f(0x230);case _0x35866f(0x200):return _0x42b907['sXBKH'];case _0x35866f(0x2aa):return'ask\x20page\x20question';case _0x42b907[_0x35866f(0x270)]:return _0x42b907['JSVCU'];case _0x42b907['farkY']:return _0x42b907['WHxwt'];case'snapshot':{const _0x5db3b4=extractOutputOption(_0x4856e8);if(!_0x5db3b4)return _0x35866f(0x24e);const {name:_0x2f7db3}=_0x42b907['Mhezn'](toStepDisplayName,_0x5db3b4);return _0x35866f(0x2ad)+_0x2f7db3+'`';}case _0x42b907['BRrPT']:{const _0x346cb4=extractOutputOption(_0x4856e8);if(!_0x346cb4)return _0x35866f(0x274);const {name:_0x343b00,isKeyStep:_0x170d92}=toStepDisplayName(_0x346cb4);return _0x170d92?_0x35866f(0x1db)+_0x343b00+'`':_0x35866f(0x284)+_0x343b00+'`';}case _0x42b907['MYpxg']:return _0x42b907['LfFLU'];default:return _0x81daf3;}}function getNovaActCliCommandBlockReason(_0x16e30f){const _0x26795a=_0x2539ac,_0x2aa016={'RAPCw':function(_0x2a723c,_0x470668){return _0x2a723c(_0x470668);},'xYkvk':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','UXoOM':_0x26795a(0x200),'hPueP':'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.'},_0x203484=_0x2aa016['RAPCw'](parseNovaActCliCommand,_0x16e30f);if(!_0x203484)return _0x2aa016['xYkvk'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x26795a(0x1f7)](_0x203484))return _0x26795a(0x2b2)+_0x203484+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x203484===_0x2aa016[_0x26795a(0x1e0)]&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x16e30f))return _0x2aa016['hPueP'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x16e30f))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x4d60c3){const _0x10d515=_0x2539ac,_0x19b40f={'xuBsY':_0x10d515(0x289),'gOOoF':_0x10d515(0x28d),'Ydtwo':_0x10d515(0x1e2),'KOzHr':'Reviewer','CiioT':'\x20>\x20','HrCDz':_0x10d515(0x1f6)};if(!_0x4d60c3||_0x4d60c3[_0x10d515(0x276)]['length']===0x0)return'';const _0x53dffb=_0x4d60c3[_0x10d515(0x276)][_0x10d515(0x292)](_0x4748c1=>{const _0x2c6743=_0x10d515,_0x476f47=new Date(_0x4748c1[_0x2c6743(0x2c1)])['toLocaleDateString'](_0x19b40f['xuBsY'],{'month':_0x19b40f['gOOoF'],'day':_0x19b40f['Ydtwo']}),_0x48ba3e=_0x4748c1[_0x2c6743(0x21f)]||_0x4748c1['authorEmail']||_0x19b40f[_0x2c6743(0x228)],_0x2ad7f9=_0x4748c1[_0x2c6743(0x1e6)]?_0x2c6743(0x1da)+(_0x4748c1[_0x2c6743(0x1e6)]['selector']['split'](_0x19b40f[_0x2c6743(0x262)])[_0x2c6743(0x1fd)]()?.[_0x2c6743(0x2b0)](':')[0x0]||_0x19b40f['HrCDz'])+'>\x20\x22'+(_0x4748c1[_0x2c6743(0x1e6)]['textContent']||'')[_0x2c6743(0x264)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4748c1['id']+_0x2c6743(0x2a9)+_0x48ba3e+_0x2c6743(0x1ef)+_0x476f47+'):\x20\x22'+_0x4748c1[_0x2c6743(0x1dc)]+'\x22'+_0x2ad7f9;})['join']('\x0a');return _0x10d515(0x227)+_0x53dffb;}function _0x436f(){const _0x471132=['screenshot','SBqnT','match','03_final-state.png','dwZOu','error','trackPhaseStart','JFbxo','canonicalFlow','YYQQN','allSettled','args','pjCbV','keys','stderr','filter','telemetry','CiioT','frameCount','slice','close','PostToolUse','context','FAicx','startAttempted','body','env','Bash','description','nova-session-export.json','cliArtifactDir','UCZYg','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','UyDzl','values','capture\x20screenshot','queueTraceSample','unaddressedComments','frameWrites','stop','stdout','nova_act_session_close','19206chMmuR','ibKZc','traceSampleCount','sort','Page.stopScreencast','tool_name','-c:v','hmjta','yuv420p','capture\x20step\x20`','params','`.\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`','757766fmPbnv','hook_event_name','en-US','nova_act_artifact_recording','3584370JuzbBs','2846876KIisYp','short','.json','nova-user-data/*','traceSampleTimer','rwJfG','map','stopped','\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','utf-8','readSessionMetadataWithRetry','get','then','nova_act_artifact_recording_stop','nova_act_command_failure','trace.zip','yadrw','XCvPE','00_initial-state.yml','ms-playwright','phase','-loglevel','Page.screencastFrame','nova_act_final_screenshot','\x20session\x20create\x20','CqdOe','kEBIf','WcEZl','startScreencast',']\x20**','ask','jDIhK','sVYOA','capture\x20snapshot\x20`','IqxNT','6hYKZGz','split','pzFaE','Nova\x20command\x20`','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','catch','JYTYr','send','trackPhaseError','iwbem','nova_act_session_export','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','reverse','locator','YfnPb','startTraceSampling','4390vuCcSR','trim','createdAt','8649370kcLMXc','parse','start','\x20(on\x20element:\x20<','capture\x20key\x20step\x20`','content','\x20screenshot\x20--output\x20','XVaZV','tAMFi','UXoOM','goto','numeric','\x20snapshot\x20--output\x20','wait-for','now','domRef','create\x20Nova\x20browser\x20session','--output','stopTraceSampling','GVTWw','ekvUU','dDUxs','Nfzkm','getFrameDir','**\x20(','nova-report','startsWith','pages','session-recording.webm','cHCpX','3RApeOP','element','has','name','yKCWX','set','oKWgI','sessionId','pop','navigate\x20browser','final-state.yaml','verify','zip','frameSession','traceSampleInFlight','ffmpeg-','scale=trunc(iw/2)*2:trunc(ih/2)*2','755128viIetl','EXyWb','trackPhaseEnd','[nova-act-cli]\x20','screencastStarted','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','tool_input','Library','tagName','transportMetadata','browser','ktHoZ','Vncof','SGiQb','5571291pCxZTY','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','pOHHT','log','verify\x20page\x20condition','`\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.','nova_act_session_report','jpeg','prrxG','session\x20create','Uknrk','authorName','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','`\x0a3.\x20Run\x20`','-qr','vlgJH','`\x0a-\x20`','35zAjqhR','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','\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','KOzHr','replace','commandArgs','ffmpeg-linux','fcQlD','12mXIfUd','stopScreencast','shellCommand','execute\x20Nova\x20browser\x20action','zGdvi','frame-%06d.jpg','dHQAe','nova-act-cli','-vf','YBpxt','lcKaL','ffmpeg.exe','OJjPG','ztDwN','frame-','Caches','iHCFr','ZoFgs','--output-dir','session\x20export','notes','-pix_fmt','.act_cli','kyzMu','EuUEi','subcommand','execute','.cache','contexts','--format','from','tracingStarted','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','capture\x20snapshot','ybmCb','novaOptions'];_0x436f=function(){return _0x471132;};return _0x436f();}function buildNovaSharedOptionsInstruction(_0x480138){const _0x3e99f3=_0x2539ac;if(!_0x480138[_0x3e99f3(0x2c0)]())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 _0x3e99f3(0x226)+_0x480138;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x52be69){const _0x52baff=_0x2539ac,_0x43255c={'JFbxo':function(_0x2244e5,_0x296165,_0x28312a){return _0x2244e5(_0x296165,_0x28312a);},'tyTJU':_0x52baff(0x29e),'OJjPG':'01_initial-state.png','ztDwN':function(_0x4c4f5a,_0x666e9e,_0x21610d){return _0x4c4f5a(_0x666e9e,_0x21610d);},'CqoiV':_0x52baff(0x254),'CdAaE':function(_0x45295c,_0x248fd4){return _0x45295c(_0x248fd4);},'YBpxt':function(_0x2f9900,_0x1a3706){return _0x2f9900(_0x1a3706);}},{novaCommandPrefix:_0x20ff40,novaSharedOptionsSuffix:_0x3fb7db,cliArtifactDir:_0x130b16,url:_0x4496e3}=_0x52be69,_0x2dc145=_0x43255c[_0x52baff(0x258)](buildCliArtifactPath,_0x130b16,_0x43255c['tyTJU']),_0xd07e45=buildCliArtifactPath(_0x130b16,_0x43255c[_0x52baff(0x239)]),_0x12abf5=_0x43255c['JFbxo'](buildCliArtifactPath,_0x130b16,'02_final-state.yml'),_0x1141b2=_0x43255c[_0x52baff(0x23a)](buildCliArtifactPath,_0x130b16,_0x43255c['CqoiV']);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'+_0x20ff40+'\x0a\x0a'+_0x43255c['CdAaE'](buildNovaSharedOptionsInstruction,_0x3fb7db)+'\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`'+_0x20ff40+'\x20session\x20create\x20'+quoteShellArg(_0x4496e3)+'\x20'+_0x3fb7db+'`\x0a2.\x20Run\x20`'+_0x20ff40+'\x20snapshot\x20--output\x20'+_0x43255c[_0x52baff(0x236)](quoteShellArg,_0x2dc145)+'\x20'+_0x3fb7db+_0x52baff(0x221)+_0x20ff40+'\x20screenshot\x20--output\x20'+quoteShellArg(_0xd07e45)+'\x20'+_0x3fb7db+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x20ff40+_0x52baff(0x220)+_0x20ff40+_0x52baff(0x1e3)+_0x43255c[_0x52baff(0x236)](quoteShellArg,_0x12abf5)+'\x20'+_0x3fb7db+'`\x0a6.\x20Run\x20`'+_0x20ff40+_0x52baff(0x1dd)+_0x43255c[_0x52baff(0x236)](quoteShellArg,_0x1141b2)+'\x20'+_0x3fb7db+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x130b16+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x214b5c){const _0x956ce1=_0x2539ac,_0xbd1481={'djPUx':function(_0xe41321,_0x14d6c4){return _0xe41321(_0x14d6c4);},'yadrw':'01_initial.yml','eUEmg':'key_03_success-state.png','YfnPb':function(_0x4fbd53,_0x4eff7f){return _0x4fbd53(_0x4eff7f);}},{checklistItem:_0x3a0293,itemFeedback:_0xd9f674,taskDescription:_0x502e87,novaCommandPrefix:_0x4ecb9f,novaSharedOptionsSuffix:_0x57b35e,cliArtifactDir:_0x25d2fb,url:_0x222507,loginInstructions:_0x4f8573}=_0x214b5c,_0x5ec498=_0x3a0293[_0x956ce1(0x241)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3a0293['notes']:'',_0x446025=_0xbd1481['djPUx'](buildFeedbackSection,_0xd9f674),_0x57d672=_0xd9f674?.[_0x956ce1(0x259)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0xd9f674['canonicalFlow']:'',_0x206b65=_0x4f8573?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4f8573+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x46c7ee=buildCliArtifactPath(_0x25d2fb,_0xbd1481[_0x956ce1(0x29c)]),_0x466504=buildCliArtifactPath(_0x25d2fb,'01_initial-state.png'),_0x2ec1b5=buildCliArtifactPath(_0x25d2fb,_0xbd1481['eUEmg']);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'+_0x3a0293[_0x956ce1(0x26d)]+_0x5ec498+_0x446025+_0x57d672+_0x956ce1(0x2ba)+_0x502e87+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x222507+_0x956ce1(0x294)+_0x206b65+'\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`'+_0x4ecb9f+_0x956ce1(0x2a4)+_0xbd1481['YfnPb'](quoteShellArg,_0x222507)+'\x20'+_0x57b35e+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x25d2fb+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x4ecb9f+'\x20snapshot\x20--output\x20'+_0xbd1481[_0x956ce1(0x2bd)](quoteShellArg,_0x46c7ee)+'\x20'+_0x57b35e+_0x956ce1(0x215)+_0x4ecb9f+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x466504)+'\x20'+_0x57b35e+_0x956ce1(0x286)+_0x2ec1b5+'`.\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`'+_0x4ecb9f+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x57b35e[_0x956ce1(0x2c0)]()?'`'+_0x57b35e+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x57b35e)+'\x0a\x0aExamples:\x0a-\x20`'+_0x4ecb9f+_0x956ce1(0x20b)+_0x57b35e+'`\x0a-\x20`'+_0x4ecb9f+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x57b35e+_0x956ce1(0x224)+_0x4ecb9f+_0x956ce1(0x1e3)+_0xbd1481['YfnPb'](quoteShellArg,_0x46c7ee)+'\x20'+_0x57b35e+_0x956ce1(0x224)+_0x4ecb9f+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2ec1b5)+'\x20'+_0x57b35e+_0x956ce1(0x219);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x3313b5){const _0x47f014=_0x2539ac,_0x17147c={'EHNkg':function(_0x443989,_0x1b3862){return _0x443989===_0x1b3862;}},_0x4034e7=[..._0x3313b5[_0x47f014(0x25e)]()][_0x47f014(0x27e)]();let _0x28c1b4=0x0;for(const _0x4e0c86 of _0x3313b5[_0x47f014(0x273)]()){_0x28c1b4+=_0x4e0c86;}return{'cliCommandCount':_0x28c1b4,'cliCommandsSeen':_0x4034e7,'noCliCommandsCalled':_0x17147c['EHNkg'](_0x28c1b4,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x438e55,_0x49307a){const _0x156e99=_0x2539ac,_0x2dbb64={'IqxNT':function(_0x29c1fa,_0x3342af){return _0x29c1fa!==_0x3342af;},'IgIBF':function(_0x5a5a77,_0x34b789){return _0x5a5a77(_0x34b789);},'Nfzkm':'block','awKlD':_0x156e99(0x266),'MAtiM':function(_0x15eeb7,_0x34e65f){return _0x15eeb7(_0x34e65f);},'ucPeY':function(_0x2ab685,_0x235991){return _0x2ab685+_0x235991;},'Yzfzs':'nova_act_command','dHQAe':function(_0x210d42,_0x18320f){return _0x210d42===_0x18320f;},'HVHLt':_0x156e99(0x28a),'FAicx':_0x156e99(0x234),'iHCFr':'PostToolUseFailure'},_0x272a91=new Map(),_0x4faec4=async _0x4df169=>{const _0x5e22b0=_0x156e99;if(_0x2dbb64[_0x5e22b0(0x2ae)](_0x4df169[_0x5e22b0(0x288)],'PreToolUse'))return{};const _0x406084=_0x4df169;if(_0x2dbb64['IqxNT'](_0x406084[_0x5e22b0(0x280)],'Bash'))return{};const _0x555fac=_0x406084[_0x5e22b0(0x20c)],_0x5b0e5e=_0x2dbb64['IgIBF'](extractBashCommand,_0x555fac);if(!_0x5b0e5e)return{};const _0x4a79c1=_0x2dbb64['IgIBF'](getNovaActCliCommandBlockReason,_0x5b0e5e);if(!_0x4a79c1)return{};return{'decision':_0x2dbb64[_0x5e22b0(0x1ed)],'reason':_0x4a79c1};},_0x3f9712=async _0xd9bcba=>{const _0x167e25=_0x156e99;if(_0xd9bcba['hook_event_name']!==_0x2dbb64['awKlD'])return{};const _0x3a6d7d=_0xd9bcba;if(_0x3a6d7d[_0x167e25(0x280)]!==_0x167e25(0x26c))return{};const _0x1b6b47=_0x3a6d7d[_0x167e25(0x20c)],_0x4dffb4=_0x2dbb64['MAtiM'](extractBashCommand,_0x1b6b47);if(!_0x4dffb4)return{};const _0x2be4fa=parseNovaActCliCommand(_0x4dffb4);if(!_0x2be4fa)return{};_0x272a91[_0x167e25(0x1fa)](_0x2be4fa,_0x2dbb64['ucPeY'](_0x272a91[_0x167e25(0x297)](_0x2be4fa)||0x0,0x1)),_0x438e55[_0x167e25(0x257)]('nova_act_command',{'subcommand':_0x2be4fa}),_0x438e55[_0x167e25(0x208)](_0x2dbb64['Yzfzs'],{'subcommand':_0x2be4fa,'commandPreview':previewNovaActCliCommand(_0x4dffb4)}),console[_0x167e25(0x217)](_0x167e25(0x209)+formatNovaActCliLog(_0x4dffb4,_0x2be4fa));if(_0x2dbb64[_0x167e25(0x233)](_0x2be4fa,_0x167e25(0x21d))&&_0x49307a)try{await _0x49307a[_0x167e25(0x1d9)]();}catch(_0x1e7986){await _0x438e55[_0x167e25(0x2b7)](_0x2dbb64['HVHLt'],_0x1e7986,{'transport':_0x2dbb64[_0x167e25(0x268)]});}return{};},_0x138905=async _0x571993=>{const _0x677ef4=_0x156e99;if(_0x571993['hook_event_name']!==_0x2dbb64[_0x677ef4(0x23d)])return{};const _0x5a77b7=_0x571993;if(_0x5a77b7[_0x677ef4(0x280)]!==_0x677ef4(0x26c))return{};return await _0x438e55['trackPhaseError'](_0x677ef4(0x29a),_0x5a77b7['error'],{'transport':_0x2dbb64['FAicx'],'toolName':_0x677ef4(0x26c)}),{};};return{'preToolUseHook':_0x4faec4,'postToolUseHook':_0x3f9712,'postToolUseFailureHook':_0x138905,'commandCounts':_0x272a91};}async function runNovaLifecycleCommand(_0x176c00){const _0x305924=_0x2539ac,_0x44b949={'fcQlD':function(_0x3da59f,_0x159a8b){return _0x3da59f(_0x159a8b);},'vlgJH':function(_0x19f1e7,_0xa1ef38){return _0x19f1e7(_0xa1ef38);}},{novaOptions:_0x4979de,commandArgs:_0x31ecd7,telemetry:_0x1665eb,phase:_0x198d03,metadata:_0x459043,timeoutMs:_0x1decba}=_0x176c00;_0x1665eb[_0x305924(0x257)](_0x198d03,_0x459043);try{const _0x3fa560=await _0x44b949[_0x305924(0x22c)](runNovaActCliCommand,{..._0x4979de,'commandArgs':_0x31ecd7,'cwd':process['cwd'](),'env':process[_0x305924(0x26b)],'timeoutMs':_0x1decba??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x1665eb['trackPhaseEnd'](_0x198d03,{..._0x459043,'subcommand':_0x3fa560['invocation'][_0x305924(0x246)],'commandPreview':_0x44b949[_0x305924(0x223)](previewNovaActCliCommand,_0x3fa560['invocation'][_0x305924(0x22f)]),'stdoutPreview':previewNovaActCliCommand(_0x3fa560[_0x305924(0x279)]),'stderrPreview':previewNovaActCliCommand(_0x3fa560[_0x305924(0x25f)]),'logDir':extractNovaActLogDir(_0x3fa560[_0x305924(0x279)])});}catch(_0x305110){await _0x1665eb['trackPhaseError'](_0x198d03,_0x305110,_0x459043);throw _0x305110;}}export async function finalizeVerifyFeatureNovaCliSession(_0x3dd6c9){const _0x1a8a57=_0x2539ac,_0x428180={'YYQQN':'screenshot','XCvPE':_0x1a8a57(0x1e8),'pzFaE':function(_0x56f02c,_0x3a6c8e,_0x137e1a){return _0x56f02c(_0x3a6c8e,_0x137e1a);},'SBqnT':'key_final-state.png','Vncof':'nova_act_final_snapshot','fQcoj':'snapshot','NHeYL':_0x1a8a57(0x1ff),'sVYOA':_0x1a8a57(0x2b9),'kEBIf':'session','ZoFgs':'export','ibKZc':_0x1a8a57(0x24a),'KXfrj':_0x1a8a57(0x21a),'GVTWw':_0x1a8a57(0x1f0),'pOHHT':_0x1a8a57(0x27a),'EXyWb':_0x1a8a57(0x265),'obMCD':function(_0x24ede0,_0x585fbe){return _0x24ede0===_0x585fbe;}},{telemetry:_0x3eef3f,novaOptions:_0x174c00,cliArtifactDir:_0x39a36f,transportMetadata:_0x1e5db7,artifactRecorder:_0x3abff9}=_0x3dd6c9,_0xde24d5=[{'phase':_0x1a8a57(0x2a3),'commandArgs':[_0x428180[_0x1a8a57(0x25a)],_0x428180[_0x1a8a57(0x29d)],_0x428180['pzFaE'](buildCliArtifactPath,_0x39a36f,_0x428180[_0x1a8a57(0x252)])]},{'phase':_0x428180[_0x1a8a57(0x212)],'commandArgs':[_0x428180['fQcoj'],_0x428180['XCvPE'],buildCliArtifactPath(_0x39a36f,_0x428180['NHeYL'])]},{'phase':_0x428180[_0x1a8a57(0x2ac)],'commandArgs':[_0x428180[_0x1a8a57(0x2a6)],_0x428180[_0x1a8a57(0x23e)],_0x428180[_0x1a8a57(0x27c)],'json',_0x428180['XCvPE'],buildCliArtifactPath(_0x39a36f,_0x1a8a57(0x26e))]},{'phase':_0x428180['KXfrj'],'commandArgs':['session','export','--report',_0x1a8a57(0x23f),_0x428180[_0x1a8a57(0x2b1)](buildCliArtifactPath,_0x39a36f,_0x428180[_0x1a8a57(0x1ea)])]},{'phase':_0x428180[_0x1a8a57(0x216)],'commandArgs':[_0x428180[_0x1a8a57(0x2a6)],_0x428180[_0x1a8a57(0x207)]]}];for(const _0x293eb9 of _0xde24d5){_0x428180['obMCD'](_0x293eb9[_0x1a8a57(0x2a0)],_0x428180[_0x1a8a57(0x216)])&&await _0x3abff9?.[_0x1a8a57(0x278)]();try{await runNovaLifecycleCommand({'novaOptions':_0x174c00,'commandArgs':[..._0x293eb9[_0x1a8a57(0x22a)]],'telemetry':_0x3eef3f,'phase':_0x293eb9[_0x1a8a57(0x2a0)],'metadata':_0x1e5db7});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x5717c1){const _0x366c42=_0x2539ac,_0x486bb5={'SGiQb':function(_0x5c39fa,_0x18c958,_0xf6d9f4){return _0x5c39fa(_0x18c958,_0xf6d9f4);},'OfGeq':function(_0x58296c,_0x380269){return _0x58296c(_0x380269);},'axrTl':function(_0x3ddd92,_0x35f0d7){return _0x3ddd92+_0x35f0d7;},'lcKaL':function(_0x273e67,_0x3a6233){return _0x273e67===_0x3a6233;}},{cwd:_0x132015,cliArtifactDir:_0x133a65,startTime:_0x25a39c}=_0x5717c1,_0x433b79=[];await mkdir(_0x133a65,{'recursive':!![]});const _0x52f14b=await readdir(_0x132015,{'withFileTypes':!![]});for(const _0x1f6b48 of _0x52f14b){if(!_0x1f6b48['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x1f6b48[_0x366c42(0x1f8)]))continue;const _0x1e418f=_0x486bb5['SGiQb'](join,_0x132015,_0x1f6b48['name']),_0x319fe3=await _0x486bb5['OfGeq'](stat,_0x1e418f);if(_0x486bb5['axrTl'](_0x319fe3['mtimeMs'],0x7d0)<_0x25a39c)continue;const _0x1f7aed=_0x486bb5['SGiQb'](buildCliArtifactPath,_0x133a65,_0x1f6b48[_0x366c42(0x1f8)]);if(_0x486bb5[_0x366c42(0x237)](_0x1e418f,_0x1f7aed))continue;await _0x486bb5[_0x366c42(0x213)](rename,_0x1e418f,_0x1f7aed),_0x433b79['push'](_0x1f6b48[_0x366c42(0x1f8)]);}return _0x433b79[_0x366c42(0x27e)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x4e0e4e){const _0x106eaf={'DwDQk':function(_0x5317b2,_0x3e0161,_0x38a014){return _0x5317b2(_0x3e0161,_0x38a014);},'KuxgC':'trace.zip'},_0x5a73b7=_0x106eaf['DwDQk'](join,_0x4e0e4e,_0x106eaf['KuxgC']);try{return{'buffer':await readFile(_0x5a73b7),'source':_0x5a73b7};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x4e0e4e),'source':_0x4e0e4e};}}async function zipVerifyFeatureNovaArtifacts(_0x3ed24a){const _0x51afe9=_0x2539ac,_0x127d8e={'prrxG':function(_0x21d25d,_0x7a2c80,_0x2f849b,_0x1ea522){return _0x21d25d(_0x7a2c80,_0x2f849b,_0x1ea522);},'Ijocp':function(_0x111202,_0x3c3c13,_0x4ce1ce,_0x46ba44){return _0x111202(_0x3c3c13,_0x4ce1ce,_0x46ba44);},'jnTPY':_0x51afe9(0x222),'ubRdE':_0x51afe9(0x28f),'ybmCb':function(_0x178914,_0xcf6107,_0x2a9dc1){return _0x178914(_0xcf6107,_0x2a9dc1);}},_0x5be1fa=_0x127d8e[_0x51afe9(0x21c)](join,_0x3ed24a,'..','nova-artifacts.zip');try{return await _0x127d8e['Ijocp'](execFileAsync,_0x51afe9(0x201),[_0x127d8e['jnTPY'],_0x5be1fa,'.','-x',_0x127d8e['ubRdE']],{'cwd':_0x3ed24a}),await readFile(_0x5be1fa);}finally{await _0x127d8e[_0x51afe9(0x24f)](rm,_0x5be1fa,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x47f97a){const _0x23cb45=_0x2539ac,_0x54bb24={'oyhcG':function(_0x3a1871,_0x3908d6,_0x48e614){return _0x3a1871(_0x3908d6,_0x48e614);}},_0x265b3f=buildNovaActCliInvocation(_0x47f97a['novaOptions'],_0x47f97a['commandArgs']);return{'command':_0x265b3f['command'],'args':_0x265b3f[_0x23cb45(0x25c)],'commandPreview':previewNovaActCliCommand(_0x265b3f['shellCommand']),'subcommand':_0x265b3f[_0x23cb45(0x246)],'sharedOptionsSuffix':_0x54bb24['oyhcG'](buildNovaActCliSharedOptionsSuffix,_0x47f97a['novaOptions'],_0x47f97a[_0x23cb45(0x22a)])};}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.0.1-alpha.d9f4572-27",
3
+ "version": "3.0.1-alpha.ffffb5b-28",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "overrides": {
43
43
  "minimatch": "^10.2.3",
44
- "brace-expansion": "^5.0.5",
44
+ "brace-expansion": "^5.0.6",
45
45
  "fast-uri": "3.1.2"
46
46
  }
47
47
  }