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

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 (85) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -0
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -0
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/sessionCache.js +1 -1
  71. package/build/commands/utils/settings.js +1 -1
  72. package/build/commands/utils/skillContent.js +1 -1
  73. package/build/commands/utils/skills.js +1 -1
  74. package/build/commands/utils/stitchWebmFiles.js +1 -1
  75. package/build/commands/utils/telemetry.js +1 -1
  76. package/build/commands/utils/tokenRefresh.js +1 -1
  77. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  78. package/build/commands/utils/tunnelClient.js +1 -0
  79. package/build/commands/utils/userApi.js +1 -1
  80. package/build/commands/utils/version.js +1 -1
  81. package/build/commands/verifyFeature.js +1 -1
  82. package/build/commands/verifyFeatureCli.js +1 -1
  83. package/build/commands/verifyFeatureNovaCli.js +1 -1
  84. package/build/commands/verifyFeatureRangerwrightCli.js +1 -0
  85. package/package.json +4 -1
@@ -1 +1 @@
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
+ (function(_0x5ddbdc,_0x356208){const _0x55479d=_0x160c,_0x5624f8=_0x5ddbdc();while(!![]){try{const _0x68cca8=-parseInt(_0x55479d(0x21c))/0x1*(-parseInt(_0x55479d(0x1f7))/0x2)+parseInt(_0x55479d(0x214))/0x3+parseInt(_0x55479d(0x1d1))/0x4+-parseInt(_0x55479d(0x1da))/0x5+parseInt(_0x55479d(0x1fe))/0x6*(-parseInt(_0x55479d(0x1ec))/0x7)+parseInt(_0x55479d(0x1bb))/0x8*(-parseInt(_0x55479d(0x1af))/0x9)+-parseInt(_0x55479d(0x223))/0xa*(-parseInt(_0x55479d(0x215))/0xb);if(_0x68cca8===_0x356208)break;else _0x5624f8['push'](_0x5624f8['shift']());}catch(_0x25495f){_0x5624f8['push'](_0x5624f8['shift']());}}}(_0x4d8a,0x96598));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(_0x1da7d8,_0x10fd56=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2ee0b8=_0x160c,_0x581c55={'SvWRO':function(_0x2f5f4c,_0x3278d4){return _0x2f5f4c>_0x3278d4;},'LAcVn':function(_0xf50585,_0x4670bf){return _0xf50585+_0x4670bf;},'FQCss':_0x2ee0b8(0x1bc)};return _0x581c55[_0x2ee0b8(0x1a0)](_0x1da7d8[_0x2ee0b8(0x1cb)],_0x10fd56)?_0x581c55[_0x2ee0b8(0x1df)](_0x1da7d8['slice'](0x0,_0x10fd56),_0x581c55['FQCss']):_0x1da7d8;}function buildCliArtifactPath(_0x39edf2,_0x130226){return join(_0x39edf2,_0x130226);}function toStepDisplayName(_0x2d0acc){const _0x466653=_0x160c,_0x18c55c={'lHBoN':function(_0x16316c,_0x87f08b){return _0x16316c(_0x87f08b);}},_0x58ad94=_0x18c55c['lHBoN'](basename,_0x2d0acc)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x466653(0x1d4)](/^key_/i,'')[_0x466653(0x1d4)](/^\d+_/,'')[_0x466653(0x1d4)](/-/g,'\x20');return{'name':_0x58ad94,'isKeyStep':/^key_/i['test'](basename(_0x2d0acc))};}function extractShellValue(_0x12f32b){if(!_0x12f32b)return null;return _0x12f32b[0x1]??_0x12f32b[0x2]??_0x12f32b[0x3]??null;}function extractFilenameOption(_0x40227d){return extractShellValue(_0x40227d['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1498eb,_0x170647){const _0x52783c=_0x160c,_0x4ce192={'qJlKP':_0x52783c(0x1c4)},_0x177d3c=_0x170647['replace'](/[.*+?^${}()|[\]\\]/g,_0x4ce192[_0x52783c(0x19e)]);return extractShellValue(_0x1498eb[_0x52783c(0x1ad)](new RegExp('(?:^|\x5cs)'+_0x177d3c+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x592d43){const _0x2a8cdc=_0x160c,_0x1c8011={'QoBnT':'target'};if(!_0x592d43)return _0x1c8011[_0x2a8cdc(0x1e8)];if(/^e\d+$/i['test'](_0x592d43))return'ref\x20'+_0x592d43;return JSON['stringify'](truncatePreview(_0x592d43,0x78));}function formatPlaywrightCliLog(_0x56db57,_0xf6a75a){const _0x56f1f8=_0x160c,_0x3bbd3f={'DQNAi':'tracing-start','msOdI':_0x56f1f8(0x206),'zDmar':'start\x20video\x20recording','wWDoI':_0x56f1f8(0x1b6),'xdGfo':_0x56f1f8(0x1b7),'kwICP':_0x56f1f8(0x1ba),'qgmwW':function(_0x189aab,_0x5e137e){return _0x189aab(_0x5e137e);},'QafyK':_0x56f1f8(0x1c1),'PLscJ':function(_0x5400cb,_0x41efa9){return _0x5400cb(_0x41efa9);},'RQziX':function(_0x120541,_0x52105f,_0x3eb4e1){return _0x120541(_0x52105f,_0x3eb4e1);},'ScFrQ':_0x56f1f8(0x1b4),'UviTu':_0x56f1f8(0x19a),'BcdIq':function(_0x494455,_0x2d0abc){return _0x494455(_0x2d0abc);},'Fefog':'run-code','Ixphj':'run\x20custom\x20Playwright\x20code','kzqEv':'open\x20new\x20tab'};switch(_0xf6a75a){case _0x56f1f8(0x207):{const _0x21ae16=extractFirstCommandArgument(_0x56db57,_0xf6a75a);return _0x21ae16?'open\x20'+_0x21ae16:_0x56f1f8(0x1c2);}case _0x3bbd3f[_0x56f1f8(0x1ab)]:return _0x3bbd3f[_0x56f1f8(0x1cd)];case'tracing-stop':return _0x56f1f8(0x1ea);case'video-start':return _0x3bbd3f['zDmar'];case _0x3bbd3f[_0x56f1f8(0x1f6)]:return _0x3bbd3f[_0x56f1f8(0x1a5)];case _0x3bbd3f['kwICP']:{const _0x15cf8a=extractFilenameOption(_0x56db57);if(!_0x15cf8a)return'capture\x20snapshot';const {name:_0x2507a1}=toStepDisplayName(_0x15cf8a);return'capture\x20snapshot\x20`'+_0x2507a1+'`';}case'screenshot':{const _0x5e95b2=_0x3bbd3f['qgmwW'](extractFilenameOption,_0x56db57);if(!_0x5e95b2)return _0x3bbd3f['QafyK'];const {name:_0x38bf97,isKeyStep:_0x537870}=toStepDisplayName(_0x5e95b2);return _0x537870?'capture\x20key\x20step\x20`'+_0x38bf97+'`':_0x56f1f8(0x1a4)+_0x38bf97+'`';}case _0x56f1f8(0x202):return _0x56f1f8(0x1f3)+formatCommandTarget(extractFirstCommandArgument(_0x56db57,_0xf6a75a));case _0x56f1f8(0x21f):return'check\x20'+_0x3bbd3f[_0x56f1f8(0x1c8)](formatCommandTarget,_0x3bbd3f['RQziX'](extractFirstCommandArgument,_0x56db57,_0xf6a75a));case _0x3bbd3f[_0x56f1f8(0x1a3)]:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x56db57,_0xf6a75a));case _0x3bbd3f['UviTu']:return _0x56f1f8(0x1ae)+_0x3bbd3f[_0x56f1f8(0x1d5)](formatCommandTarget,extractFirstCommandArgument(_0x56db57,_0xf6a75a));case _0x3bbd3f[_0x56f1f8(0x201)]:return _0x3bbd3f[_0x56f1f8(0x20c)];case _0x56f1f8(0x211):{const _0x4b198e=_0x3bbd3f['RQziX'](extractFirstCommandArgument,_0x56db57,_0xf6a75a);return _0x4b198e?_0x56f1f8(0x21e)+_0x4b198e:_0x3bbd3f['kzqEv'];}case'tab-select':{const _0x36391a=_0x3bbd3f[_0x56f1f8(0x1ac)](extractFirstCommandArgument,_0x56db57,_0xf6a75a);return _0x36391a?_0x56f1f8(0x1e9)+_0x36391a:'select\x20tab';}default:return _0xf6a75a;}}function _0x160c(_0x5ebb4f,_0xd622b2){_0x5ebb4f=_0x5ebb4f-0x199;const _0x4d8a08=_0x4d8a();let _0x160ccc=_0x4d8a08[_0x5ebb4f];return _0x160ccc;}function extractPlaywrightCliToolDescription(_0x39745f){const _0x39973c=_0x160c,_0x2200f3={'xszGt':function(_0x4b5abd,_0x37e5bb){return _0x4b5abd>_0x37e5bb;}},_0xa23a8e=_0x39745f['description'];if(typeof _0xa23a8e!==_0x39973c(0x1d0))return null;const _0x191c81=_0xa23a8e['trim']()['replace'](/\s+/g,'\x20');return _0x2200f3['xszGt'](_0x191c81[_0x39973c(0x1cb)],0x0)?_0x191c81:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4777b2,_0x2d37d8,_0x285ee5){const _0xa10966=_0x160c,_0x6a8237=formatPlaywrightCliLog(_0x2d37d8,_0x285ee5),_0x10121f=extractPlaywrightCliToolDescription(_0x4777b2);if(!_0x10121f)return'[playwright-cli]\x20'+_0x6a8237;if(process[_0xa10966(0x1fa)]['DEBUG'])return _0xa10966(0x20b)+_0x10121f+'\x20('+_0x6a8237+')';return'[ranger-verification-agent]\x20'+_0x10121f;}export function buildVerifyFeatureCliDebugPrompt(_0x2ce837,_0x3b15a0){const _0x5805d2=_0x160c,_0x556a92={'rwhJo':_0x5805d2(0x1d7),'MGFwZ':function(_0x99671e,_0x5c65b1){return _0x99671e(_0x5c65b1);}},_0x1fc90f=buildCliArtifactPath(_0x3b15a0,'00_mozilla-homepage.yml'),_0x522d12=buildCliArtifactPath(_0x3b15a0,_0x556a92['rwhJo']),_0x5a5a5e=buildCliArtifactPath(_0x3b15a0,_0x5805d2(0x19c)),_0x18119b=buildCliArtifactPath(_0x3b15a0,'03_learn-more.png'),_0x3ab53b=quoteShellArg(_0x1fc90f),_0x487845=_0x556a92['MGFwZ'](quoteShellArg,_0x522d12),_0x4ea084=quoteShellArg(_0x5a5a5e),_0x57a856=_0x556a92[_0x5805d2(0x1b5)](quoteShellArg,_0x18119b);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2ce837+_0x5805d2(0x1f8)+_0x2ce837+_0x5805d2(0x1e2)+_0x2ce837+_0x5805d2(0x219)+_0x2ce837+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3b15a0+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x2ce837+_0x5805d2(0x1f4)+_0x3ab53b+_0x5805d2(0x1e0)+_0x2ce837+'\x20screenshot\x20--filename\x20'+_0x487845+_0x5805d2(0x1a9)+_0x2ce837+_0x5805d2(0x1f4)+_0x4ea084+_0x5805d2(0x1b8)+_0x2ce837+_0x5805d2(0x1e4)+_0x57a856+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x43b848){const _0x1e14a4=_0x160c,_0x5b8ffd={'rfmyD':'en-US','YfCZH':'numeric','WLVJd':'Reviewer','vIIlw':'01_initial.yml','TlxhC':_0x1e14a4(0x1cc),'wayhi':_0x1e14a4(0x1bd),'VlZVW':_0x1e14a4(0x1c9),'UOgao':function(_0x5d9d27,_0x2ff765){return _0x5d9d27(_0x2ff765);},'sflRl':_0x1e14a4(0x1e3),'NXqPc':function(_0x19bd17,_0x10c23a,_0x58e56b){return _0x19bd17(_0x10c23a,_0x58e56b);},'evHsT':_0x1e14a4(0x1f9)},{checklistItem:_0x2b81e2,itemFeedback:_0x4af899,taskDescription:_0x585f15,cliCommandPrefix:_0x3492cc,cliArtifactDir:_0x2bacc1,isCdpMode:_0x364bca,url:_0x2f2ad7,cdpEndpoint:_0x23b797,loginInstructions:_0x3c2113}=_0x43b848,_0x21bedc=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['vIIlw']),_0x5aa8a8=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['TlxhC']),_0x58bc19=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd[_0x1e14a4(0x212)]),_0x1d700b=buildCliArtifactPath(_0x2bacc1,_0x5b8ffd[_0x1e14a4(0x1aa)]),_0x3e3ba6=_0x5b8ffd['UOgao'](quoteShellArg,_0x21bedc),_0x54e420=quoteShellArg(_0x5aa8a8),_0x42706c=quoteShellArg(_0x58bc19),_0x4fc6b9=_0x5b8ffd['UOgao'](quoteShellArg,_0x1d700b),_0xb3355a=_0x2b81e2[_0x1e14a4(0x1d6)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2b81e2['notes']:'';let _0x271601='';if(_0x4af899&&_0x4af899['unaddressedComments']['length']>0x0){const _0x11072d=_0x4af899[_0x1e14a4(0x1d3)]['map'](_0x7a72d3=>{const _0x47ccc5=_0x1e14a4,_0x50c9e5=new Date(_0x7a72d3[_0x47ccc5(0x220)])['toLocaleDateString'](_0x5b8ffd[_0x47ccc5(0x1d8)],{'month':_0x47ccc5(0x1a7),'day':_0x5b8ffd[_0x47ccc5(0x21d)]}),_0x23cc22=_0x7a72d3[_0x47ccc5(0x19d)]||_0x7a72d3['authorEmail']||_0x5b8ffd[_0x47ccc5(0x1f0)],_0x12b81a=_0x7a72d3['domRef']?_0x47ccc5(0x1b9)+(_0x7a72d3['domRef'][_0x47ccc5(0x1c0)]['split']('\x20>\x20')['pop']()?.[_0x47ccc5(0x1d9)](':')[0x0]||_0x47ccc5(0x1eb))+'>\x20\x22'+(_0x7a72d3[_0x47ccc5(0x213)][_0x47ccc5(0x1c5)]||'')[_0x47ccc5(0x1de)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x7a72d3['id']+']\x20**'+_0x23cc22+'**\x20('+_0x50c9e5+_0x47ccc5(0x1be)+_0x7a72d3[_0x47ccc5(0x1e5)]+'\x22'+_0x12b81a;})[_0x1e14a4(0x1f1)]('\x0a');_0x271601='\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'+_0x11072d;}const _0x369741=_0x4af899?.['canonicalFlow']?_0x1e14a4(0x1bf)+_0x4af899[_0x1e14a4(0x1a6)]:'',_0x51979d=_0x364bca?_0x1e14a4(0x1b2)+_0x23b797+_0x1e14a4(0x1ca):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x2f2ad7+'\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',_0x46f905=_0x2f2ad7?quoteShellArg(_0x2f2ad7):'',_0x54446b=_0x364bca?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x3492cc+_0x1e14a4(0x20f)+_0x3492cc+'\x20tracing-start`,\x20then\x20`'+_0x3492cc+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2bacc1+_0x1e14a4(0x200)+_0x3492cc+_0x1e14a4(0x1f4)+_0x3e3ba6+_0x1e14a4(0x217)+_0x3492cc+'\x20screenshot\x20--filename\x20'+_0x4fc6b9+_0x1e14a4(0x1c7)+_0x3492cc+_0x1e14a4(0x1fc):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x3492cc+_0x1e14a4(0x19f)+_0x46f905+'`,\x20then\x20`'+_0x3492cc+_0x1e14a4(0x19b)+_0x3492cc+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2bacc1+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x3492cc+_0x1e14a4(0x1f4)+_0x3e3ba6+_0x1e14a4(0x1ed)+_0x3492cc+_0x1e14a4(0x1e4)+_0x4fc6b9+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x3492cc+'\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',_0xf3e2d2=_0x364bca?_0x1e14a4(0x1e6):_0x1e14a4(0x1ce),_0x56e811=_0x3c2113?_0x1e14a4(0x222)+_0x3c2113+'\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'+_0x2b81e2['description']+_0xb3355a+_0x271601+_0x369741+_0x1e14a4(0x1e7)+_0x585f15+'\x0a\x0a'+_0x51979d+_0x56e811+'\x0a\x0a'+_0x54446b+_0x1e14a4(0x1d2)+_0x3492cc+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x2bacc1+_0x1e14a4(0x1b3)+_0x54e420+_0x1e14a4(0x1c6)+_0x42706c+'`\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`'+_0x2bacc1+_0x1e14a4(0x1dd)+_0x1d700b+'\x22,\x20\x22'+buildCliArtifactPath(_0x2bacc1,_0x5b8ffd['sflRl'])+'\x22,\x20\x22'+_0x5b8ffd[_0x1e14a4(0x1b0)](buildCliArtifactPath,_0x2bacc1,_0x1e14a4(0x208))+'\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(_0x2bacc1,_0x5b8ffd['evHsT'])+_0x1e14a4(0x221)+_0xf3e2d2+_0x1e14a4(0x1fd);}function _0x4d8a(){const _0x328176=['GjCsW','QueZR','start\x20tracing','open','03_result-visible.png','SXEQR','session-recording.webm','[ranger-verification-agent]\x20','Ixphj','trackPhaseStart','playwright_cli_video_stop','\x20open`,\x20then\x20`','tool_failure','tab-new','wayhi','domRef','538518iIYPMq','539NQyUfa','values','`\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`','commandArgs','\x20tracing-start`\x0a3.\x20Run\x20`','name','PostToolUseFailure','14ZeMqvk','YfCZH','open\x20new\x20tab\x20','check','createdAt','\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','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','234960NHLfSW','trackPhaseEnd','tool_name','press','\x20tracing-start`,\x20then\x20`','02_learn-more.yml','authorName','qJlKP','\x20open\x20','SvWRO','trackPhaseError','jjsCU','ScFrQ','capture\x20step\x20`','xdGfo','canonicalFlow','short','PyRKm','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','VlZVW','DQNAi','RQziX','match','press\x20','27RlenlU','NXqPc','keys','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','`\x0a-\x20`snapshot\x20--filename\x20','fill','MGFwZ','video-stop','stop\x20video\x20recording','`\x0a9.\x20Run\x20`','\x20(on\x20element:\x20<','snapshot','1760896sxRpbD','...','key_03_success-state.png','):\x20\x22','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','selector','capture\x20screenshot','open\x20browser','playwright-cli','\x5c$&','textContent','`\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','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','PLscJ','01_initial-state.png','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','length','02_state.yml','msOdI','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','bWbMJ','string','1382624SqecHs','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','unaddressedComments','replace','BcdIq','notes','01_mozilla-homepage.png','rfmyD','split','2333390dnHjnx','playwright_cli_tracing_stop','subcommand','`:\x20\x22','slice','LAcVn','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','log','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','02_button-clicked.png','\x20screenshot\x20--filename\x20','content','\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##\x20Task\x20to\x20Execute\x0a','QoBnT','select\x20tab\x20','stop\x20tracing','element','1918duGiQy','`\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`','get','PostToolUse','WLVJd','join','sort','click\x20','\x20snapshot\x20--filename\x20','qGzUO','wWDoI','102682VQpFqt','\x0a\x0a1.\x20Run\x20`','key_04_success-state.png','env','--filename=','\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','\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.','14286MOUdKW','USqsW','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','Fefog','click','phase'];_0x4d8a=function(){return _0x328176;};return _0x4d8a();}export function summarizeVerifyFeatureCliCommandAvailability(_0x17bd2d){const _0x1f2bcc=_0x160c,_0x2d8312=[..._0x17bd2d[_0x1f2bcc(0x1b1)]()][_0x1f2bcc(0x1f2)]();let _0x4d9fb3=0x0;for(const _0x239787 of _0x17bd2d[_0x1f2bcc(0x216)]()){_0x4d9fb3+=_0x239787;}return{'cliCommandCount':_0x4d9fb3,'cliCommandsSeen':_0x2d8312,'noCliCommandsCalled':_0x4d9fb3===0x0};}export function createVerifyFeatureCliHooks(_0x148621){const _0x285e42=_0x160c,_0x4f4c07={'PyRKm':function(_0xca2cec,_0x5adf20){return _0xca2cec!==_0x5adf20;},'USqsW':function(_0x42fd12,_0x2b0c69){return _0x42fd12(_0x2b0c69);},'QueZR':function(_0x49feca,_0x264820){return _0x49feca+_0x264820;},'qGzUO':'tool_call','aPHIf':'playwright-cli','yGXxJ':'snapshot','vqCLf':function(_0x1e20ce,_0x316ef3){return _0x1e20ce!==_0x316ef3;},'bWbMJ':_0x285e42(0x210)},_0x3c73b3=new Map(),_0xe5e015=async _0x363e27=>{const _0x450bb3=_0x285e42;if(_0x363e27['hook_event_name']!==_0x450bb3(0x1ef))return{};const _0x3d3fed=_0x363e27;if(_0x4f4c07[_0x450bb3(0x1a8)](_0x3d3fed['tool_name'],'Bash'))return{};const _0x377aef=_0x3d3fed['tool_input'],_0x553203=_0x4f4c07[_0x450bb3(0x1ff)](extractBashCommand,_0x377aef);if(!_0x553203)return{};const _0x28f39c=parsePlaywrightCliCommand(_0x553203);if(!_0x28f39c)return{};return _0x3c73b3['set'](_0x28f39c,_0x4f4c07[_0x450bb3(0x205)](_0x3c73b3[_0x450bb3(0x1ee)](_0x28f39c)||0x0,0x1)),_0x148621['trackPhaseStart'](_0x4f4c07[_0x450bb3(0x1f5)],{'transport':_0x4f4c07['aPHIf'],'toolName':_0x28f39c}),_0x148621['trackPhaseEnd'](_0x4f4c07[_0x450bb3(0x1f5)],{'transport':_0x4f4c07['aPHIf'],'toolName':_0x28f39c,'bashCommandPreview':_0x4f4c07['USqsW'](truncatePreview,_0x553203)}),_0x28f39c!==_0x4f4c07['yGXxJ']&&console[_0x450bb3(0x1e1)](formatPlaywrightCliConsoleLogMessage(_0x377aef,_0x553203,_0x28f39c)),{};},_0x5f461a=async _0x204bd7=>{const _0x3e05a0=_0x285e42;if(_0x4f4c07['vqCLf'](_0x204bd7['hook_event_name'],_0x3e05a0(0x21b)))return{};const _0x2b52ff=_0x204bd7;if(_0x4f4c07['vqCLf'](_0x2b52ff[_0x3e05a0(0x199)],'Bash'))return{};return await _0x148621['trackPhaseError'](_0x4f4c07[_0x3e05a0(0x1cf)],_0x2b52ff['error'],{'transport':_0x3e05a0(0x1c3),'toolName':'Bash'}),{};};return{'postToolUseHook':_0xe5e015,'postToolUseFailureHook':_0x5f461a,'commandCounts':_0x3c73b3};}async function runPlaywrightCliLifecycleCommand(_0x51fc82){const _0x532467=_0x160c,_0x4b3822={'SXEQR':function(_0x154831,_0xf9c36c,_0x1f6371){return _0x154831(_0xf9c36c,_0x1f6371);}},{sessionId:_0x57f9a3,configPath:_0x248301,commandArgs:_0x50ef83,env:_0x1980d5,telemetry:_0x2c7824,phase:_0x57c899,metadata:_0x2011e9,timeoutMs:_0x46f225}=_0x51fc82;_0x2c7824[_0x532467(0x20d)](_0x57c899,_0x2011e9);try{const _0x2ebc1d=await runPlaywrightCliCommand({'sessionId':_0x57f9a3,'configPath':_0x248301,'commandArgs':_0x50ef83,'cwd':process['cwd'](),'env':_0x1980d5,'timeoutMs':_0x46f225??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x2c7824[_0x532467(0x224)](_0x57c899,{..._0x2011e9,'subcommand':_0x2ebc1d['invocation'][_0x532467(0x1dc)],'stdoutPreview':truncatePreview(_0x2ebc1d['stdout'],0x7d0),'stderrPreview':_0x4b3822[_0x532467(0x209)](truncatePreview,_0x2ebc1d['stderr'],0x7d0)});}catch(_0x189807){await _0x2c7824[_0x532467(0x1a1)](_0x57c899,_0x189807,_0x2011e9);throw _0x189807;}}export async function finalizeVerifyFeatureCliSession(_0x37c33a){const _0x5ded16=_0x160c,_0x263544={'RvnNy':_0x5ded16(0x1db),'oOXUx':'tracing-stop','GjCsW':'video-stop','qSRba':function(_0x60a9a7,_0x189838,_0x3b1a56){return _0x60a9a7(_0x189838,_0x3b1a56);},'rpGSn':_0x5ded16(0x20a),'IYZcq':'playwright_cli_close'},{telemetry:_0x3cf9c9,sessionId:_0x4e608a,configPath:_0x4ae3ec,cliArtifactDir:_0x90c9d4,env:_0x3b1dba,transportMetadata:_0x4d2d36}=_0x37c33a,_0x1ec01e=[{'phase':_0x263544['RvnNy'],'commandArgs':[_0x263544['oOXUx']]},{'phase':_0x5ded16(0x20e),'commandArgs':[_0x263544[_0x5ded16(0x204)],_0x5ded16(0x1fb)+_0x263544['qSRba'](buildCliArtifactPath,_0x90c9d4,_0x263544['rpGSn'])]},{'phase':_0x263544['IYZcq'],'commandArgs':['close']}];for(const _0x442471 of _0x1ec01e){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x4e608a,'configPath':_0x4ae3ec,'commandArgs':[..._0x442471[_0x5ded16(0x218)]],'env':_0x3b1dba,'telemetry':_0x3cf9c9,'phase':_0x442471[_0x5ded16(0x203)],'metadata':_0x4d2d36});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x397d6a){const _0x2a247b=_0x160c,_0x48063a={'jjsCU':function(_0x3a1d4f,_0x35adf5,_0x527037){return _0x3a1d4f(_0x35adf5,_0x527037);},'mmvKB':function(_0x4a03b9,_0x105aa0){return _0x4a03b9(_0x105aa0);}},_0x49987d=['trace.zip','trace.trace.zip'];for(const _0x3e52b7 of _0x49987d){const _0x12ab4c=_0x48063a[_0x2a247b(0x1a2)](join,_0x397d6a,_0x3e52b7);try{return{'buffer':await _0x48063a['mmvKB'](readFile,_0x12ab4c),'source':_0x12ab4c};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x579e81){const _0x4c185f=_0x160c,_0x1ce240={'WTnQH':function(_0x4a52a4,_0x5cbdb0,_0x46ab21){return _0x4a52a4(_0x5cbdb0,_0x46ab21);},'NTxrd':function(_0x495e71,_0x4109d1){return _0x495e71===_0x4109d1;}},{cwd:_0x2abd19,cliArtifactDir:_0x50a512,startTime:_0x5b62a9}=_0x579e81,_0x477040=[];await _0x1ce240['WTnQH'](mkdir,_0x50a512,{'recursive':!![]});const _0x19065d=await readdir(_0x2abd19,{'withFileTypes':!![]});for(const _0x10f1c1 of _0x19065d){if(!_0x10f1c1['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x10f1c1[_0x4c185f(0x21a)]))continue;const _0xb8a77d=join(_0x2abd19,_0x10f1c1['name']),_0x2f391c=await stat(_0xb8a77d);if(_0x2f391c['mtimeMs']+0x7d0<_0x5b62a9)continue;const _0x39eb30=buildCliArtifactPath(_0x50a512,_0x10f1c1['name']);if(_0x1ce240['NTxrd'](_0xb8a77d,_0x39eb30))continue;await _0x1ce240['WTnQH'](rename,_0xb8a77d,_0x39eb30),_0x477040['push'](_0x10f1c1[_0x4c185f(0x21a)]);}return _0x477040[_0x4c185f(0x1f2)]();}
@@ -1 +1 @@
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)])};}
1
+ const _0x11e2f1=_0x7e44;(function(_0x3f03fa,_0x401791){const _0x504c26=_0x7e44,_0x1b53ac=_0x3f03fa();while(!![]){try{const _0x3a001f=-parseInt(_0x504c26(0xf4))/0x1*(parseInt(_0x504c26(0x100))/0x2)+-parseInt(_0x504c26(0x89))/0x3*(parseInt(_0x504c26(0xcf))/0x4)+-parseInt(_0x504c26(0xf6))/0x5+-parseInt(_0x504c26(0xc3))/0x6*(-parseInt(_0x504c26(0x13b))/0x7)+parseInt(_0x504c26(0x140))/0x8+parseInt(_0x504c26(0x9d))/0x9+parseInt(_0x504c26(0x9c))/0xa;if(_0x3a001f===_0x401791)break;else _0x1b53ac['push'](_0x1b53ac['shift']());}catch(_0x16524b){_0x1b53ac['push'](_0x1b53ac['shift']());}}}(_0x16fb,0x5c1bd));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';function _0x16fb(){const _0x4be2e2=['NLUGM','cXhvc','LYSjo','.json','map','utf-8','tagName','snapshot','readSessionMetadataWithRetry',']\x20**','ADmLU','content','PreToolUse','command','keys','duTna','jJlfi','ffmpeg-mac','):\x20\x22','xHdsE','tracing','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','\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`','toLocaleDateString','parse','VYvDd','uYktW','TgYqd','vEAeW','stopped','14UTRChA','ffmpeg-linux','queueTraceSample','length','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','3499984OzfriB','selector','cwd','stop','PostToolUseFailure','tool_name','telemetry','params','jFYjU','trace.zip','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','verify','nova_act_session_close','context','nova-user-data/*','rIwMO','LbGbv','shellCommand','\x0a\x0aExamples:\x0a-\x20`','now','args','ms-playwright','01_initial-state.png','export','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','`.\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`','`\x0a6.\x20Run\x20`','\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`','--format','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','JuiLt','Igjib','xOyKP','`\x0a4.\x20Run\x20one\x20batched\x20`','goto','YyDRR','startAttempted','ROMep','env','ffmpeg','push','dLlTz','trim','commandArgs','set','mtimeMs','screencastStarted','02_final-state.yml','sessionId','unaddressedComments','send','session\x20create','839922swTjMN','finally','log','QJOIc','-\x20[','browser','Library','nova_act_command','transportMetadata','VqqWU','startScreencast','data','en-US','Page.stopScreencast','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','libvpx-vp9','HZzbF','emfKF','NgneW','890940zVGSkj','6111369tajSls','execute\x20Nova\x20browser\x20action','domRef','Page.screencastFrame','key_final-state.png','XVKRF','\x20snapshot\x20--output\x20','-pix_fmt','match','hook_event_name','tracingStarted','frame-','xoLRh','`\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.','EuvrU','frameWrites','qmtRd','NnScr','createdAt','PlsKg','allSettled','cliArtifactDir','--output','getFrameDir','DAcXY','`\x0a-\x20`','zip','avjzv','gqYWj','base64','ncJuZ','trackPhaseStart','flatMap','verify\x20page\x20condition','Bash','execute','FBypH','novaOptions','1700268JKYlzy','xKHHp','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.','ffmpeg.exe','key_03_success-state.png','jZqsC','ask\x20page\x20question','nova_act_artifact_recording','frameCount','screenshot','body','error','4XCJkit','mZyky','catch','PostToolUse','encodeScreencastVideo','frameSession','replace','nova-video-frames','SecVy','padie','CZaBU','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','pages','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','startTraceSampling','cdp_endpoint','wait-for','ediJA','--report','wMlng','wcQwz','cvyHu','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','kViTp','split','\x20(on\x20element:\x20<','qBTQn','name','Page.startScreencast','subcommand','capture\x20step\x20`','JguAf','xzMFp','rCuIz','locator','stderr','start','87558GKFetx','PSZgq','2073370bKLRqX','ByLnB','Page.screencastFrameAck','invocation','.act_cli','trackPhaseError','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','01_initial.yml','filter','CzsMD','16KsYTLl','.jpg','json','session','startsWith','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','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','traceSampleInFlight','traceSampleTimer','test','connectOverCDP','MleaH','Nova\x20command\x20`','notes','00_initial-state.yml','then','drlUh','HgLDA','close','\x20session\x20create\x20','WcrxK','traceSampleCount','nova_act_final_screenshot','trackPhaseEnd','sort','qLZNH','NOXjy','LeKoZ','XdKRN'];_0x16fb=function(){return _0x4be2e2;};return _0x16fb();}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',_0x11e2f1(0xc0),_0x11e2f1(0x14b),'ask',_0x11e2f1(0x163),_0x11e2f1(0xdf),'snapshot',_0x11e2f1(0xcc)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4103aa,_0x141b62){const _0x1d6fdd=_0x11e2f1,_0x349d96={'dLlTz':function(_0x447a6c,_0x24af29,_0x453679){return _0x447a6c(_0x24af29,_0x453679);}};return _0x349d96[_0x1d6fdd(0x7e)](join,_0x4103aa,_0x141b62);}export class NovaActArtifactRecorder{['params'];[_0x11e2f1(0x8e)]=null;[_0x11e2f1(0x14d)]=null;['frameSession']=null;['frameWrites']=[];[_0x11e2f1(0xcb)]=0x0;['traceSampleCount']=0x0;['traceSampleTimer']=null;[_0x11e2f1(0x107)]=null;['tracingStarted']=![];[_0x11e2f1(0x83)]=![];[_0x11e2f1(0x79)]=![];['stopped']=![];constructor(_0xdfb68c){const _0x26473f=_0x11e2f1;this[_0x26473f(0x147)]=_0xdfb68c;}async[_0x11e2f1(0xf3)](){const _0x565f42=_0x11e2f1,_0x2d0655={'JguAf':function(_0x464e7c,_0x1b6457,_0x73ffbf){return _0x464e7c(_0x1b6457,_0x73ffbf);}};if(this[_0x565f42(0x79)])return;this[_0x565f42(0x79)]=!![];const _0x506b4d=await this['readSessionMetadataWithRetry'](),_0x264c79=_0x506b4d[_0x565f42(0xde)];if(!_0x264c79)throw new Error(_0x565f42(0x13f)+this['params'][_0x565f42(0xc2)]['sessionId']);await _0x2d0655[_0x565f42(0xee)](mkdir,this[_0x565f42(0x147)][_0x565f42(0xb2)],{'recursive':!![]}),this['browser']=await chromium[_0x565f42(0x10a)](_0x264c79,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser']['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x565f42(0xe5));await this[_0x565f42(0x14d)][_0x565f42(0x131)][_0x565f42(0xf3)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x565f42(0xdd)](),await this[_0x565f42(0x93)](),this[_0x565f42(0x147)][_0x565f42(0x146)]['trackPhaseStart'](_0x565f42(0xca),{...this[_0x565f42(0x147)]['transportMetadata'],'cdpEndpoint':_0x264c79,'browserPid':_0x506b4d['browser_pid'],'sessionState':_0x506b4d['state']}),this['params']['telemetry'][_0x565f42(0x117)]('nova_act_artifact_recording',{...this['params'][_0x565f42(0x91)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x565f42(0x83)]});}async['stop'](){const _0x53c67f=_0x11e2f1,_0xa3e9f4={'xoLRh':'nova_act_artifact_recording_stop','qxWjZ':function(_0x1d18d3,_0x36dfb1,_0xf48f21){return _0x1d18d3(_0x36dfb1,_0xf48f21);},'AHYmT':_0x53c67f(0x149)};if(this[_0x53c67f(0x13a)])return;this[_0x53c67f(0x13a)]=!![];const _0x1de50a={...this[_0x53c67f(0x147)][_0x53c67f(0x91)],'frameCount':this['frameCount'],'traceSampleCount':this[_0x53c67f(0x115)],'tracingStarted':this[_0x53c67f(0xa7)],'screencastStarted':this[_0x53c67f(0x83)]};this['params']['telemetry']['trackPhaseStart'](_0xa3e9f4[_0x53c67f(0xa9)],_0x1de50a);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise[_0x53c67f(0xb1)](this[_0x53c67f(0xac)]);this[_0x53c67f(0x14d)]&&this['tracingStarted']&&await this['context']['tracing'][_0x53c67f(0x143)]({'path':_0xa3e9f4['qxWjZ'](buildCliArtifactPath,this[_0x53c67f(0x147)]['cliArtifactDir'],_0xa3e9f4['AHYmT'])});const _0x42fd1a=await this[_0x53c67f(0xd3)]();this[_0x53c67f(0x147)]['telemetry']['trackPhaseEnd']('nova_act_artifact_recording_stop',{..._0x1de50a,'videoPath':_0x42fd1a});}catch(_0x290775){await this['params'][_0x53c67f(0x146)][_0x53c67f(0xfb)](_0xa3e9f4[_0x53c67f(0xa9)],_0x290775,_0x1de50a);}finally{await this[_0x53c67f(0x8e)]?.[_0x53c67f(0x112)]()[_0x53c67f(0xd1)](()=>undefined),this['browser']=null,this[_0x53c67f(0x14d)]=null,this[_0x53c67f(0xd4)]=null;}}async[_0x11e2f1(0x125)](){const _0x4cbb14=_0x11e2f1,_0x464c4b={'EuvrU':function(_0x923f4b){return _0x923f4b();},'CZaBU':function(_0x469956,_0x2efac4,_0x1acf66){return _0x469956(_0x2efac4,_0x1acf66);},'emfKF':function(_0x28117d,_0x26df64){return _0x28117d<_0x26df64;}},_0x15c5a4=join(_0x464c4b[_0x4cbb14(0xab)](homedir),_0x4cbb14(0xfa),_0x4cbb14(0x8e),'sessions',this[_0x4cbb14(0x147)][_0x4cbb14(0xc2)][_0x4cbb14(0x85)]+_0x4cbb14(0x120)),_0x47c889=Date[_0x4cbb14(0x153)]();let _0x229ffc;do{try{const _0x4febee=JSON[_0x4cbb14(0x135)](await _0x464c4b[_0x4cbb14(0xd9)](readFile,_0x15c5a4,_0x4cbb14(0x122)));if(_0x4febee[_0x4cbb14(0xde)])return _0x4febee;_0x229ffc=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x15c5a4);}catch(_0xbe376c){_0x229ffc=_0xbe376c;}await delay(0x64);}while(_0x464c4b[_0x4cbb14(0x9a)](Date['now']()-_0x47c889,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x229ffc instanceof Error)throw _0x229ffc;throw new Error(_0x4cbb14(0x14a)+_0x15c5a4);}async[_0x11e2f1(0x93)](){const _0x5586bf=_0x11e2f1,_0x591d16={'fDPrd':function(_0x7f66af,_0x54c5da,_0x4135fe){return _0x7f66af(_0x54c5da,_0x4135fe);},'YuUsN':function(_0x3fbdb9,_0x5b1a74,_0x34168a){return _0x3fbdb9(_0x5b1a74,_0x34168a);},'wcQwz':_0x5586bf(0xba),'qBTQn':_0x5586bf(0xeb),'yvMVs':'jpeg'};if(!this['context'])return;const _0x4844ff=this[_0x5586bf(0x14d)]['pages']()[0x0];if(!_0x4844ff)return;const _0x1b0de1=this['getFrameDir']();await mkdir(_0x1b0de1,{'recursive':!![]});const _0x268e8a=await this[_0x5586bf(0x14d)]['newCDPSession'](_0x4844ff);this['frameSession']=_0x268e8a,_0x268e8a['on'](_0x5586bf(0xa0),_0x3c8f75=>{const _0x447b5b=_0x5586bf,_0x84bf8c=++this['frameCount'],_0x567675=_0x591d16['fDPrd'](join,_0x1b0de1,_0x447b5b(0xa8)+String(_0x84bf8c)['padStart'](0x6,'0')+_0x447b5b(0x101)),_0x587829=_0x591d16['YuUsN'](writeFile,_0x567675,Buffer['from'](_0x3c8f75[_0x447b5b(0x94)],_0x591d16[_0x447b5b(0xe3)]))['catch'](()=>undefined)[_0x447b5b(0x8a)](()=>_0x268e8a['send'](_0x447b5b(0xf8),{'sessionId':_0x3c8f75[_0x447b5b(0x85)]}))[_0x447b5b(0x10f)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x447b5b(0x7d)](_0x587829);}),await _0x268e8a[_0x5586bf(0x87)](_0x591d16[_0x5586bf(0xe9)],{'format':_0x591d16['yvMVs'],'quality':0x4b,'everyNthFrame':0x6}),this[_0x5586bf(0x83)]=!![];}async['stopScreencast'](){const _0x51b025=_0x11e2f1;if(!this[_0x51b025(0xd4)]||!this[_0x51b025(0x83)])return;await this['frameSession'][_0x51b025(0x87)](_0x51b025(0x96))[_0x51b025(0xd1)](()=>undefined);}['startTraceSampling'](){const _0x657693=_0x11e2f1,_0x5b7e79={'qwWpW':function(_0x186784,_0x10ec2e,_0x28b70e){return _0x186784(_0x10ec2e,_0x28b70e);}};this['queueTraceSample'](),this['traceSampleTimer']=_0x5b7e79['qwWpW'](setInterval,()=>this[_0x657693(0x13d)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x11e2f1(0x13d)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{const _0x2646b1=_0x7e44;this[_0x2646b1(0x107)]=null;});}async['stopTraceSampling'](){const _0x1eed19=_0x11e2f1;this['traceSampleTimer']&&(clearInterval(this[_0x1eed19(0x108)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.[_0x1eed19(0xd1)](()=>undefined);}async['captureTraceSample'](){const _0x308897=_0x11e2f1,_0x1624f5={'RrNEC':_0x308897(0xcd)},_0x4d79da=this[_0x308897(0x14d)]?.[_0x308897(0xdb)]()[0x0];if(!_0x4d79da)return;try{await _0x4d79da[_0x308897(0xf1)](_0x1624f5['RrNEC'])['evaluate'](_0x4ca601=>_0x4ca601[_0x308897(0x123)],undefined,{'timeout':0x3e8}),this[_0x308897(0x115)]++;}catch{}}async['encodeScreencastVideo'](){const _0x558417=_0x11e2f1,_0xb75291={'apYhk':function(_0x18bd29,_0x5008f5){return _0x18bd29<_0x5008f5;},'rIwMO':function(_0x3ba54b){return _0x3ba54b();},'jYBFd':function(_0x461025,_0x2db676,_0x2ab497){return _0x461025(_0x2db676,_0x2ab497);},'mZyky':function(_0xdea8a5,_0x146746,_0x4dc723){return _0xdea8a5(_0x146746,_0x4dc723);},'SecVy':function(_0x176a6a,_0x5cfb3f,_0xc0bba4){return _0x176a6a(_0x5cfb3f,_0xc0bba4);},'FBypH':_0x558417(0xce),'LbGbv':'-framerate','IhmUo':function(_0x12418d,_0x28b729,_0x3309c2){return _0x12418d(_0x28b729,_0x3309c2);},'drlUh':'-vf','ttoRf':'scale=trunc(iw/2)*2:trunc(ih/2)*2','YMqoU':_0x558417(0x98),'UvmbT':'yuv420p'};if(_0xb75291['apYhk'](this['frameCount'],0x2))return null;const _0x4cd645=await _0xb75291[_0x558417(0x14f)](resolveFfmpegPath);if(!_0x4cd645)return null;const _0x311e73=join(this[_0x558417(0x147)][_0x558417(0xb2)],'videos');await _0xb75291['jYBFd'](mkdir,_0x311e73,{'recursive':!![]});const _0x13b22f=_0xb75291[_0x558417(0xd0)](join,_0x311e73,'session-recording.webm');return await _0xb75291[_0x558417(0xd7)](execFileAsync,_0x4cd645,['-y','-hide_banner','-loglevel',_0xb75291[_0x558417(0xc1)],_0xb75291[_0x558417(0x150)],'10','-i',_0xb75291['IhmUo'](join,this[_0x558417(0xb4)](),'frame-%06d.jpg'),_0xb75291[_0x558417(0x110)],_0xb75291['ttoRf'],'-c:v',_0xb75291['YMqoU'],_0x558417(0xa4),_0xb75291['UvmbT'],_0x13b22f]),_0x13b22f;}[_0x11e2f1(0xb4)](){const _0x1c8754=_0x11e2f1,_0x49706e={'XGhnM':_0x1c8754(0xd6)};return join(this[_0x1c8754(0x147)][_0x1c8754(0xb2)],_0x49706e['XGhnM']);}}async function delay(_0x244187){await new Promise(_0x387e2c=>setTimeout(_0x387e2c,_0x244187));}async function resolveFfmpegPath(){const _0x5661b3=_0x11e2f1,_0x2f27ac={'PlsKg':function(_0x328809,_0x229edf){return _0x328809(_0x229edf);},'wNTiD':function(_0x506591){return _0x506591();},'ZYIcp':_0x5661b3(0x155),'qebEM':function(_0x49e848,_0x5cbcdf,_0x1697e9,_0x3d218e){return _0x49e848(_0x5cbcdf,_0x1697e9,_0x3d218e);},'jJlfi':function(_0x3970b5){return _0x3970b5();},'JmGtN':'.cache','XdKRN':function(_0x5f259,_0x1d3747){return _0x5f259(_0x1d3747);}};if(await _0x2f27ac[_0x5661b3(0xb0)](canRunFfmpeg,_0x5661b3(0x7c)))return'ffmpeg';const _0x2bc695=[join(_0x2f27ac['wNTiD'](homedir),_0x5661b3(0x8f),'Caches',_0x2f27ac['ZYIcp']),_0x2f27ac['qebEM'](join,_0x2f27ac[_0x5661b3(0x12d)](homedir),_0x2f27ac['JmGtN'],'ms-playwright')];for(const _0x50301f of _0x2bc695){try{const _0x3ba5a9=await _0x2f27ac[_0x5661b3(0x11c)](readdir,_0x50301f),_0x37d1fa=_0x3ba5a9[_0x5661b3(0xfe)](_0x2e1862=>_0x2e1862[_0x5661b3(0x104)]('ffmpeg-'))[_0x5661b3(0x118)]()['reverse']()[_0x5661b3(0xbd)](_0x791a38=>[join(_0x50301f,_0x791a38,_0x5661b3(0x12e)),join(_0x50301f,_0x791a38,_0x5661b3(0x13c)),join(_0x50301f,_0x791a38,_0x5661b3(0xc6))]);for(const _0x7bcf5d of _0x37d1fa){if(await _0x2f27ac['PlsKg'](canRunFfmpeg,_0x7bcf5d))return _0x7bcf5d;}}catch{}}return null;}async function canRunFfmpeg(_0x48c2c9){try{return await execFileAsync(_0x48c2c9,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x510a3c){const _0x528896=_0x11e2f1,_0x1d1d6b=basename(_0x510a3c)[_0x528896(0xd5)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1d1d6b,'isKeyStep':/^key_/i[_0x528896(0x109)](basename(_0x510a3c))};}function extractShellValue(_0x4d3dfd){if(!_0x4d3dfd)return null;return _0x4d3dfd[0x1]??_0x4d3dfd[0x2]??_0x4d3dfd[0x3]??null;}function extractOutputOption(_0x21c50c){const _0x11dad4=_0x11e2f1;return extractShellValue(_0x21c50c[_0x11dad4(0xa5)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x3d9414,_0x20b6d6){const _0x1e602e=_0x11e2f1,_0xb7742d={'NgneW':'session\x20create','vEAeW':'create\x20Nova\x20browser\x20session','eZauG':_0x1e602e(0xc0),'XVKRF':_0x1e602e(0x9e),'rCuIz':_0x1e602e(0xbe),'cCpVd':'ask','ByLnB':_0x1e602e(0x124),'QJOIc':'capture\x20snapshot','ScUgS':_0x1e602e(0xcc),'xKHHp':function(_0x22c51c,_0x259f3f){return _0x22c51c(_0x259f3f);},'lyXTX':'export\x20Nova\x20session'};switch(_0x20b6d6){case _0xb7742d[_0x1e602e(0x9b)]:return _0xb7742d[_0x1e602e(0x139)];case _0xb7742d['eZauG']:return _0xb7742d[_0x1e602e(0xa2)];case'verify':return _0xb7742d[_0x1e602e(0xf0)];case _0xb7742d['cCpVd']:return _0x1e602e(0xc9);case'goto':return'navigate\x20browser';case _0x1e602e(0xdf):return'wait\x20for\x20page\x20condition';case _0xb7742d[_0x1e602e(0xf7)]:{const _0xdb529e=extractOutputOption(_0x3d9414);if(!_0xdb529e)return _0xb7742d[_0x1e602e(0x8c)];const {name:_0x13d281}=toStepDisplayName(_0xdb529e);return'capture\x20snapshot\x20`'+_0x13d281+'`';}case _0xb7742d['ScUgS']:{const _0xbe7636=_0xb7742d[_0x1e602e(0xc4)](extractOutputOption,_0x3d9414);if(!_0xbe7636)return'capture\x20screenshot';const {name:_0x3d876b,isKeyStep:_0xc25df}=toStepDisplayName(_0xbe7636);return _0xc25df?'capture\x20key\x20step\x20`'+_0x3d876b+'`':_0x1e602e(0xed)+_0x3d876b+'`';}case'session\x20export':return _0xb7742d['lyXTX'];default:return _0x20b6d6;}}function getNovaActCliCommandBlockReason(_0x1f88ce){const _0x4323d7=_0x11e2f1,_0x364c5b={'wMlng':'verify','avjzv':'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.'},_0x36dd8d=parseNovaActCliCommand(_0x1f88ce);if(!_0x36dd8d)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x36dd8d))return _0x4323d7(0x10c)+_0x36dd8d+_0x4323d7(0x106);if(_0x36dd8d===_0x364c5b[_0x4323d7(0xe2)]&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x1f88ce))return _0x364c5b[_0x4323d7(0xb8)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x4323d7(0x109)](_0x1f88ce))return _0x4323d7(0xda);return null;}function buildFeedbackSection(_0x4020c1){const _0x344841=_0x11e2f1,_0x54d8a3={'WcrxK':'short','PSZgq':'numeric','ediJA':'element','PdreM':function(_0x17ff6d,_0x274784){return _0x17ff6d===_0x274784;}};if(!_0x4020c1||_0x54d8a3['PdreM'](_0x4020c1[_0x344841(0x86)][_0x344841(0x13e)],0x0))return'';const _0x425dd=_0x4020c1['unaddressedComments'][_0x344841(0x121)](_0x55d322=>{const _0x261e6d=_0x344841,_0x3020d9=new Date(_0x55d322[_0x261e6d(0xaf)])[_0x261e6d(0x134)](_0x261e6d(0x95),{'month':_0x54d8a3[_0x261e6d(0x114)],'day':_0x54d8a3[_0x261e6d(0xf5)]}),_0x45e5dd=_0x55d322['authorName']||_0x55d322['authorEmail']||'Reviewer',_0x410a10=_0x55d322[_0x261e6d(0x9f)]?_0x261e6d(0xe8)+(_0x55d322[_0x261e6d(0x9f)][_0x261e6d(0x141)][_0x261e6d(0xe7)]('\x20>\x20')['pop']()?.[_0x261e6d(0xe7)](':')[0x0]||_0x54d8a3[_0x261e6d(0xe0)])+'>\x20\x22'+(_0x55d322[_0x261e6d(0x9f)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x261e6d(0x8d)+_0x55d322['id']+_0x261e6d(0x126)+_0x45e5dd+'**\x20('+_0x3020d9+_0x261e6d(0x12f)+_0x55d322[_0x261e6d(0x128)]+'\x22'+_0x410a10;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x425dd;}function buildNovaSharedOptionsInstruction(_0x137bac){const _0x2291d1=_0x11e2f1;if(!_0x137bac['trim']())return _0x2291d1(0xc5);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x137bac;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x323913){const _0x524008=_0x11e2f1,_0x4f301a={'ncJuZ':function(_0x3c3a45,_0xc34340,_0x59ef38){return _0x3c3a45(_0xc34340,_0x59ef38);},'gVrmY':_0x524008(0x156),'xIhZH':function(_0x3711b4,_0x167d60,_0x18d309){return _0x3711b4(_0x167d60,_0x18d309);},'sismt':_0x524008(0x84),'duTna':function(_0x566469,_0x3f5428){return _0x566469(_0x3f5428);},'jZqsC':function(_0xdce926,_0x1ee370){return _0xdce926(_0x1ee370);},'TdJWO':function(_0x35b537,_0x156afb){return _0x35b537(_0x156afb);}},{novaCommandPrefix:_0x3d1173,novaSharedOptionsSuffix:_0x1dc20a,cliArtifactDir:_0x29cc25,url:_0x2406f2}=_0x323913,_0x31c79f=_0x4f301a[_0x524008(0xbb)](buildCliArtifactPath,_0x29cc25,_0x524008(0x10e)),_0x34044e=_0x4f301a['ncJuZ'](buildCliArtifactPath,_0x29cc25,_0x4f301a['gVrmY']),_0x4f973a=_0x4f301a['xIhZH'](buildCliArtifactPath,_0x29cc25,_0x4f301a['sismt']),_0x51fa91=buildCliArtifactPath(_0x29cc25,'03_final-state.png');return _0x524008(0x105)+_0x3d1173+'\x0a\x0a'+_0x4f301a[_0x524008(0x12c)](buildNovaSharedOptionsInstruction,_0x1dc20a)+_0x524008(0x15b)+_0x3d1173+_0x524008(0x113)+_0x4f301a[_0x524008(0xc8)](quoteShellArg,_0x2406f2)+'\x20'+_0x1dc20a+'`\x0a2.\x20Run\x20`'+_0x3d1173+_0x524008(0xa3)+quoteShellArg(_0x31c79f)+'\x20'+_0x1dc20a+'`\x0a3.\x20Run\x20`'+_0x3d1173+'\x20screenshot\x20--output\x20'+_0x4f301a['TdJWO'](quoteShellArg,_0x34044e)+'\x20'+_0x1dc20a+_0x524008(0x162)+_0x3d1173+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x3d1173+_0x524008(0xa3)+quoteShellArg(_0x4f973a)+'\x20'+_0x1dc20a+_0x524008(0x15a)+_0x3d1173+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x51fa91)+'\x20'+_0x1dc20a+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x29cc25+_0x524008(0x15e);}function _0x7e44(_0x44e7e5,_0xa4a27e){_0x44e7e5=_0x44e7e5-0x79;const _0x16fb08=_0x16fb();let _0x7e4412=_0x16fb08[_0x44e7e5];return _0x7e4412;}export function buildVerifyFeatureNovaCliPrompt(_0x38858d){const _0x37e42d=_0x11e2f1,_0x307d65={'QqAPP':function(_0xa261fa,_0x105098,_0x2bb632){return _0xa261fa(_0x105098,_0x2bb632);},'LYSjo':'01_initial-state.png','ADmLU':function(_0x38443f,_0x336559){return _0x38443f(_0x336559);},'FHJHp':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','padie':function(_0x510eab,_0x18e917){return _0x510eab(_0x18e917);},'VYvDd':function(_0x46fb24,_0x198a2b){return _0x46fb24(_0x198a2b);}},{checklistItem:_0x35a6d1,itemFeedback:_0x152e0c,taskDescription:_0x113b8b,novaCommandPrefix:_0x716f8,novaSharedOptionsSuffix:_0x2ab268,cliArtifactDir:_0x2f871e,url:_0x40dfe3,loginInstructions:_0x36735c}=_0x38858d,_0x4c2c0f=_0x35a6d1[_0x37e42d(0x10d)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x35a6d1[_0x37e42d(0x10d)]:'',_0x43f5cc=buildFeedbackSection(_0x152e0c),_0x337eab=_0x152e0c?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x152e0c['canonicalFlow']:'',_0x45b4bd=_0x36735c?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x36735c+_0x37e42d(0x15d):'',_0x34afd0=_0x307d65['QqAPP'](buildCliArtifactPath,_0x2f871e,_0x37e42d(0xfd)),_0xcf6224=buildCliArtifactPath(_0x2f871e,_0x307d65[_0x37e42d(0x11f)]),_0x3b9a17=buildCliArtifactPath(_0x2f871e,_0x37e42d(0xc7));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'+_0x35a6d1['description']+_0x4c2c0f+_0x43f5cc+_0x337eab+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x113b8b+_0x37e42d(0x97)+_0x40dfe3+'\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'+_0x45b4bd+_0x37e42d(0x133)+_0x716f8+'\x20session\x20create\x20'+quoteShellArg(_0x40dfe3)+'\x20'+_0x2ab268+_0x37e42d(0xfc)+_0x2f871e+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x716f8+_0x37e42d(0xa3)+_0x307d65[_0x37e42d(0x127)](quoteShellArg,_0x34afd0)+'\x20'+_0x2ab268+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x716f8+'\x20screenshot\x20--output\x20'+quoteShellArg(_0xcf6224)+'\x20'+_0x2ab268+'`.\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`'+_0x3b9a17+_0x37e42d(0x159)+_0x716f8+_0x37e42d(0xdc)+(_0x2ab268[_0x37e42d(0x7f)]()?'`'+_0x2ab268+'`':_0x307d65['FHJHp'])+'\x0a\x0a'+_0x307d65[_0x37e42d(0xd8)](buildNovaSharedOptionsInstruction,_0x2ab268)+_0x37e42d(0x152)+_0x716f8+_0x37e42d(0x158)+_0x2ab268+_0x37e42d(0xb6)+_0x716f8+_0x37e42d(0x132)+_0x2ab268+_0x37e42d(0xb6)+_0x716f8+'\x20snapshot\x20--output\x20'+_0x307d65[_0x37e42d(0x136)](quoteShellArg,_0x34afd0)+'\x20'+_0x2ab268+'`\x0a-\x20`'+_0x716f8+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3b9a17)+'\x20'+_0x2ab268+_0x37e42d(0xaa);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x4a00fb){const _0x39101d=_0x11e2f1,_0x49f09e=[..._0x4a00fb[_0x39101d(0x12b)]()][_0x39101d(0x118)]();let _0x27f7e8=0x0;for(const _0x236daf of _0x4a00fb['values']()){_0x27f7e8+=_0x236daf;}return{'cliCommandCount':_0x27f7e8,'cliCommandsSeen':_0x49f09e,'noCliCommandsCalled':_0x27f7e8===0x0};}export function createVerifyFeatureNovaCliHooks(_0x32673b,_0x296fc7){const _0x1f5cc8=_0x11e2f1,_0x32edf7={'MleaH':function(_0xdbd054,_0x2f9c7e){return _0xdbd054!==_0x2f9c7e;},'HZzbF':_0x1f5cc8(0xbf),'LeKoZ':function(_0x4f0583,_0x156107){return _0x4f0583(_0x156107);},'spgBB':function(_0x29caed,_0x3d3131){return _0x29caed(_0x3d3131);},'YyDRR':function(_0x71f205,_0x4988b9){return _0x71f205!==_0x4988b9;},'jKtNX':function(_0x2928d4,_0x3b3cb4){return _0x2928d4(_0x3b3cb4);},'WYtOi':'nova_act_command','kViTp':function(_0x540c02,_0x212511){return _0x540c02(_0x212511);},'AqFNf':_0x1f5cc8(0x88),'VqqWU':'nova-act-cli','CpuJy':function(_0x2a4ea5,_0x4aee39){return _0x2a4ea5!==_0x4aee39;},'qLZNH':_0x1f5cc8(0x144),'fJrIw':'nova_act_command_failure'},_0x1d148d=new Map(),_0x100b1e=async _0x4d73e1=>{const _0x18091c=_0x1f5cc8;if(_0x4d73e1['hook_event_name']!==_0x18091c(0x129))return{};const _0x5113c0=_0x4d73e1;if(_0x32edf7[_0x18091c(0x10b)](_0x5113c0[_0x18091c(0x145)],_0x32edf7[_0x18091c(0x99)]))return{};const _0x2dcf54=_0x5113c0['tool_input'],_0x4a9fa6=_0x32edf7[_0x18091c(0x11b)](extractBashCommand,_0x2dcf54);if(!_0x4a9fa6)return{};const _0x582b46=_0x32edf7['spgBB'](getNovaActCliCommandBlockReason,_0x4a9fa6);if(!_0x582b46)return{};return{'decision':'block','reason':_0x582b46};},_0x4cbdf1=async _0x3f18d7=>{const _0x2433e3=_0x1f5cc8;if(_0x3f18d7['hook_event_name']!==_0x2433e3(0xd2))return{};const _0x506b13=_0x3f18d7;if(_0x32edf7[_0x2433e3(0x164)](_0x506b13[_0x2433e3(0x145)],'Bash'))return{};const _0x21adf6=_0x506b13['tool_input'],_0x56ae3c=extractBashCommand(_0x21adf6);if(!_0x56ae3c)return{};const _0x4119a4=_0x32edf7['jKtNX'](parseNovaActCliCommand,_0x56ae3c);if(!_0x4119a4)return{};_0x1d148d[_0x2433e3(0x81)](_0x4119a4,(_0x1d148d['get'](_0x4119a4)||0x0)+0x1),_0x32673b[_0x2433e3(0xbc)](_0x32edf7['WYtOi'],{'subcommand':_0x4119a4}),_0x32673b['trackPhaseEnd'](_0x2433e3(0x90),{'subcommand':_0x4119a4,'commandPreview':_0x32edf7[_0x2433e3(0xe6)](previewNovaActCliCommand,_0x56ae3c)}),console[_0x2433e3(0x8b)]('[nova-act-cli]\x20'+formatNovaActCliLog(_0x56ae3c,_0x4119a4));if(_0x4119a4===_0x32edf7['AqFNf']&&_0x296fc7)try{await _0x296fc7[_0x2433e3(0xf3)]();}catch(_0x443688){await _0x32673b['trackPhaseError'](_0x2433e3(0xca),_0x443688,{'transport':_0x32edf7[_0x2433e3(0x92)]});}return{};},_0x448415=async _0x103028=>{const _0x169f4=_0x1f5cc8;if(_0x32edf7['CpuJy'](_0x103028[_0x169f4(0xa6)],_0x32edf7[_0x169f4(0x119)]))return{};const _0x5c2168=_0x103028;if(_0x32edf7[_0x169f4(0x10b)](_0x5c2168['tool_name'],_0x169f4(0xbf)))return{};return await _0x32673b[_0x169f4(0xfb)](_0x32edf7['fJrIw'],_0x5c2168[_0x169f4(0xce)],{'transport':_0x32edf7[_0x169f4(0x92)],'toolName':_0x32edf7['HZzbF']}),{};};return{'preToolUseHook':_0x100b1e,'postToolUseHook':_0x4cbdf1,'postToolUseFailureHook':_0x448415,'commandCounts':_0x1d148d};}async function runNovaLifecycleCommand(_0x178a35){const _0x3bf139=_0x11e2f1,_0x467350={'ROMep':function(_0xc6d4f,_0x5c2653){return _0xc6d4f(_0x5c2653);},'xzMFp':function(_0x55e452,_0x538031){return _0x55e452??_0x538031;},'cXhvc':function(_0x29a2a5,_0x266620){return _0x29a2a5(_0x266620);}},{novaOptions:_0x23c2bd,commandArgs:_0x345c58,telemetry:_0x8fce6b,phase:_0x2244f2,metadata:_0x1db44f,timeoutMs:_0x11193c}=_0x178a35;_0x8fce6b['trackPhaseStart'](_0x2244f2,_0x1db44f);try{const _0x3a8b6c=await _0x467350[_0x3bf139(0x7a)](runNovaActCliCommand,{..._0x23c2bd,'commandArgs':_0x345c58,'cwd':process[_0x3bf139(0x142)](),'env':process[_0x3bf139(0x7b)],'timeoutMs':_0x467350[_0x3bf139(0xef)](_0x11193c,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x8fce6b['trackPhaseEnd'](_0x2244f2,{..._0x1db44f,'subcommand':_0x3a8b6c[_0x3bf139(0xf9)][_0x3bf139(0xec)],'commandPreview':previewNovaActCliCommand(_0x3a8b6c[_0x3bf139(0xf9)][_0x3bf139(0x151)]),'stdoutPreview':_0x467350[_0x3bf139(0x11e)](previewNovaActCliCommand,_0x3a8b6c['stdout']),'stderrPreview':_0x467350[_0x3bf139(0x11e)](previewNovaActCliCommand,_0x3a8b6c[_0x3bf139(0xf2)]),'logDir':extractNovaActLogDir(_0x3a8b6c['stdout'])});}catch(_0x3f3273){await _0x8fce6b[_0x3bf139(0xfb)](_0x2244f2,_0x3f3273,_0x1db44f);throw _0x3f3273;}}export async function finalizeVerifyFeatureNovaCliSession(_0x12663e){const _0x567030=_0x11e2f1,_0xf541b={'DAcXY':_0x567030(0x116),'gqYWj':_0x567030(0xb3),'uYktW':'nova_act_final_snapshot','NnScr':function(_0x54f2b4,_0x5bc12a,_0x2e2c11){return _0x54f2b4(_0x5bc12a,_0x2e2c11);},'NOXjy':'final-state.yaml','TgYqd':_0x567030(0x103),'qmtRd':'--output-dir','xOyKP':'nova-report','Igjib':_0x567030(0x112),'JuiLt':_0x567030(0x14c)},{telemetry:_0x10fc58,novaOptions:_0x1c5bc1,cliArtifactDir:_0xd550cc,transportMetadata:_0x5a9fa,artifactRecorder:_0x10f04e}=_0x12663e,_0x254f9c=[{'phase':_0xf541b[_0x567030(0xb5)],'commandArgs':[_0x567030(0xcc),_0xf541b['gqYWj'],buildCliArtifactPath(_0xd550cc,_0x567030(0xa1))]},{'phase':_0xf541b[_0x567030(0x137)],'commandArgs':['snapshot',_0xf541b[_0x567030(0xb9)],_0xf541b[_0x567030(0xae)](buildCliArtifactPath,_0xd550cc,_0xf541b[_0x567030(0x11a)])]},{'phase':'nova_act_session_export','commandArgs':[_0xf541b['TgYqd'],_0x567030(0x157),_0x567030(0x15c),_0x567030(0x102),'--output',buildCliArtifactPath(_0xd550cc,'nova-session-export.json')]},{'phase':'nova_act_session_report','commandArgs':[_0x567030(0x103),_0x567030(0x157),_0x567030(0xe1),_0xf541b[_0x567030(0xad)],_0xf541b['NnScr'](buildCliArtifactPath,_0xd550cc,_0xf541b[_0x567030(0x161)])]},{'phase':_0x567030(0x14c),'commandArgs':[_0xf541b[_0x567030(0x138)],_0xf541b[_0x567030(0x160)]]}];for(const _0xe69efd of _0x254f9c){_0xe69efd['phase']===_0xf541b[_0x567030(0x15f)]&&await _0x10f04e?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x1c5bc1,'commandArgs':[..._0xe69efd['commandArgs']],'telemetry':_0x10fc58,'phase':_0xe69efd['phase'],'metadata':_0x5a9fa});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x340220){const _0x1a5f4a=_0x11e2f1,_0x2277c0={'opEey':function(_0x935f83,_0x4a478d,_0x445450){return _0x935f83(_0x4a478d,_0x445450);},'dpFus':function(_0x3f6677,_0x57d67d){return _0x3f6677+_0x57d67d;},'liNLl':function(_0x5e297f,_0x1acb33){return _0x5e297f===_0x1acb33;}},{cwd:_0x123dca,cliArtifactDir:_0x28c2dd,startTime:_0x77006d}=_0x340220,_0x2860fd=[];await mkdir(_0x28c2dd,{'recursive':!![]});const _0x2beefc=await _0x2277c0['opEey'](readdir,_0x123dca,{'withFileTypes':!![]});for(const _0x57705e of _0x2beefc){if(!_0x57705e['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x1a5f4a(0x109)](_0x57705e[_0x1a5f4a(0xea)]))continue;const _0x46963c=join(_0x123dca,_0x57705e['name']),_0x165d77=await stat(_0x46963c);if(_0x2277c0['dpFus'](_0x165d77[_0x1a5f4a(0x82)],0x7d0)<_0x77006d)continue;const _0x2ed810=_0x2277c0['opEey'](buildCliArtifactPath,_0x28c2dd,_0x57705e['name']);if(_0x2277c0['liNLl'](_0x46963c,_0x2ed810))continue;await rename(_0x46963c,_0x2ed810),_0x2860fd[_0x1a5f4a(0x7d)](_0x57705e['name']);}return _0x2860fd['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x379439){const _0x5ce0b4=_0x11e2f1,_0x21eba3={'xHdsE':function(_0x21dd3d,_0xd7b918,_0x54d89e){return _0x21dd3d(_0xd7b918,_0x54d89e);},'CzsMD':'trace.zip','jFYjU':function(_0x2a8fc9,_0x4de8b5){return _0x2a8fc9(_0x4de8b5);}},_0x146b21=_0x21eba3[_0x5ce0b4(0x130)](join,_0x379439,_0x21eba3[_0x5ce0b4(0xff)]);try{return{'buffer':await readFile(_0x146b21),'source':_0x146b21};}catch{return{'buffer':await _0x21eba3[_0x5ce0b4(0x148)](zipVerifyFeatureNovaArtifacts,_0x379439),'source':_0x379439};}}async function zipVerifyFeatureNovaArtifacts(_0x598ef9){const _0x33f4e7=_0x11e2f1,_0x34d6df={'gnhvv':function(_0x116fe8,_0x5c2a6e,_0x3b9875,_0x3ac292){return _0x116fe8(_0x5c2a6e,_0x3b9875,_0x3ac292);},'cvyHu':'nova-artifacts.zip','cBgxl':_0x33f4e7(0xb7),'chOOV':_0x33f4e7(0x14e),'HgLDA':function(_0x5b0f9f,_0x499e9b){return _0x5b0f9f(_0x499e9b);}},_0x369ad5=_0x34d6df['gnhvv'](join,_0x598ef9,'..',_0x34d6df[_0x33f4e7(0xe4)]);try{return await execFileAsync(_0x34d6df['cBgxl'],['-qr',_0x369ad5,'.','-x',_0x34d6df['chOOV']],{'cwd':_0x598ef9}),await _0x34d6df[_0x33f4e7(0x111)](readFile,_0x369ad5);}finally{await rm(_0x369ad5,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x4ce143){const _0x368a81=_0x11e2f1,_0x135494={'NLUGM':function(_0x3d72be,_0x3a24bb,_0xfc992){return _0x3d72be(_0x3a24bb,_0xfc992);}},_0x501ac9=_0x135494[_0x368a81(0x11d)](buildNovaActCliInvocation,_0x4ce143['novaOptions'],_0x4ce143['commandArgs']);return{'command':_0x501ac9[_0x368a81(0x12a)],'args':_0x501ac9[_0x368a81(0x154)],'commandPreview':previewNovaActCliCommand(_0x501ac9[_0x368a81(0x151)]),'subcommand':_0x501ac9[_0x368a81(0xec)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x4ce143['novaOptions'],_0x4ce143[_0x368a81(0x80)])};}
@@ -0,0 +1 @@
1
+ function _0x4858(_0x4cadc6,_0x5a41dd){_0x4cadc6=_0x4cadc6-0x11b;const _0x59215e=_0x5921();let _0x48585e=_0x59215e[_0x4cadc6];return _0x48585e;}(function(_0x30f498,_0x11c7a3){const _0xa2cbcd=_0x4858,_0x46252a=_0x30f498();while(!![]){try{const _0x4773c2=parseInt(_0xa2cbcd(0x16c))/0x1+-parseInt(_0xa2cbcd(0x11f))/0x2+parseInt(_0xa2cbcd(0x161))/0x3*(-parseInt(_0xa2cbcd(0x163))/0x4)+parseInt(_0xa2cbcd(0x143))/0x5+parseInt(_0xa2cbcd(0x121))/0x6*(-parseInt(_0xa2cbcd(0x126))/0x7)+-parseInt(_0xa2cbcd(0x173))/0x8+parseInt(_0xa2cbcd(0x130))/0x9;if(_0x4773c2===_0x11c7a3)break;else _0x46252a['push'](_0x46252a['shift']());}catch(_0x1abaa5){_0x46252a['push'](_0x46252a['shift']());}}}(_0x5921,0xc8b1d));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x285399,_0x5ab70b=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0xfd4de0=_0x4858,_0x502618={'njtSM':function(_0x4b2bcd,_0x250fe8){return _0x4b2bcd>_0x250fe8;}};return _0x502618['njtSM'](_0x285399[_0xfd4de0(0x159)],_0x5ab70b)?_0x285399[_0xfd4de0(0x158)](0x0,_0x5ab70b)+'...':_0x285399;}function extractShellValue(_0x33117f){if(!_0x33117f)return null;return _0x33117f[0x1]??_0x33117f[0x2]??_0x33117f[0x3]??null;}function extractFirstCommandArgument(_0x29442f,_0x3840c2){const _0x55e7b1=_0x4858,_0x52afd0={'tLQxE':function(_0x133c74,_0x2e7a3d){return _0x133c74(_0x2e7a3d);}},_0x2037f4=_0x3840c2['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x52afd0[_0x55e7b1(0x15e)](extractShellValue,_0x29442f[_0x55e7b1(0x12b)](new RegExp(_0x55e7b1(0x12e)+_0x2037f4+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x53cb65){const _0x46828d=_0x4858;if(!_0x53cb65)return'target';if(/^e\d+$/i['test'](_0x53cb65))return'ref\x20'+_0x53cb65;return JSON[_0x46828d(0x15d)](truncatePreview(_0x53cb65,0x78));}function _0x5921(){const _0x4b6238=['ZxADx','video-stop','stringify','tLQxE','\x20open-and-inspect\x20','stdout','77352WrHXib','en-US','236TZGEzt','unaddressedComments','key_99_final-state.png','BjEDm','content','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','tool_name','fill-and-inspect','open\x20and\x20inspect\x20','1257449IzdauS','click\x20and\x20inspect\x20','map','notes','numeric','UPnqT','error','7438352YvJuIw','pKhWN','trackPhaseEnd','AYtfe','JPWIb','2011010JtmGxr','tool_input','6mLVErN','FGmIr','xTIUO','\x20--screenshot-path\x20','zgnIS','5635329VilMmb','inspect','ZATNj','cwd','commandPrefix','match','\x20>\x20','\x20(on\x20element:\x20<','(?:^|\x5cs)','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','25843311rPaCxr','element','kwSUF','uXqWq','Bash','vkXww','\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','get','split','tracing-stop','\x0a\x0a##\x20Additional\x20Notes\x0a','TuCCv','01_initial-state.png','toLocaleDateString','textContent','haymg','fill','XpAwR','stderr','4773595tXvtHt','PostToolUseFailure','keys','GZEqI','trackPhaseError','KLogl','stop\x20tracing','BeqTn','key_02_learn-more.png','rangerwright_cli_tracing_stop','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','phase','rangerwright_cli_command','close','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','rangerwright_cli_close','domRef','trackPhaseStart','selector','01_mozilla-homepage.png','slice','length','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.'];_0x5921=function(){return _0x4b6238;};return _0x5921();}function formatRangerwrightCliLog(_0x49ffc2,_0x3f83c8){const _0x54983f=_0x4858,_0x325712={'uXqWq':'click-and-inspect','GzFpm':function(_0x50aaa9,_0x45a929){return _0x50aaa9(_0x45a929);},'XpAwR':function(_0x1e38fe,_0x4a99c7,_0x4737a4){return _0x1e38fe(_0x4a99c7,_0x4737a4);},'UPnqT':_0x54983f(0x140),'QhjRT':_0x54983f(0x16a),'ZATNj':function(_0x5dc2b6,_0x155eeb){return _0x5dc2b6(_0x155eeb);},'AYtfe':'back-and-inspect','YyExa':'go\x20back\x20and\x20inspect','vkXww':_0x54983f(0x127),'FseHS':'inspect\x20page','ZxADx':'tracing-stop','RNVST':_0x54983f(0x149),'WlXMv':'stop\x20video\x20recording','OXfRi':'close\x20browser\x20session'};switch(_0x3f83c8){case'open-and-inspect':{const _0x270321=extractFirstCommandArgument(_0x49ffc2,_0x3f83c8);return _0x270321?_0x54983f(0x16b)+_0x270321:'open\x20and\x20inspect';}case _0x325712[_0x54983f(0x133)]:return _0x54983f(0x16d)+_0x325712['GzFpm'](formatCommandTarget,_0x325712[_0x54983f(0x141)](extractFirstCommandArgument,_0x49ffc2,_0x3f83c8));case _0x325712[_0x54983f(0x171)]:case _0x325712['QhjRT']:return'fill\x20'+_0x325712[_0x54983f(0x128)](formatCommandTarget,extractFirstCommandArgument(_0x49ffc2,_0x3f83c8));case _0x325712[_0x54983f(0x11d)]:return _0x325712['YyExa'];case _0x325712[_0x54983f(0x135)]:return _0x325712['FseHS'];case _0x325712[_0x54983f(0x15b)]:return _0x325712['RNVST'];case _0x54983f(0x15c):return _0x325712['WlXMv'];case'close':return _0x325712['OXfRi'];default:return _0x3f83c8;}}function renderScenarioSections(_0x3ecf2c){const _0x5010bf=_0x4858,_0x320db2={'cISDy':_0x5010bf(0x170),'BeqTn':_0x5010bf(0x12c),'pKhWN':function(_0x3582aa,_0xd80b99){return _0x3582aa>_0xd80b99;}},{checklistItem:_0x107474,itemFeedback:_0x2952a7}=_0x3ecf2c,_0x205c27=_0x107474['notes']?_0x5010bf(0x13a)+_0x107474[_0x5010bf(0x16f)]:'';let _0x55868c='';if(_0x2952a7&&_0x320db2[_0x5010bf(0x11b)](_0x2952a7[_0x5010bf(0x164)][_0x5010bf(0x159)],0x0)){const _0x587c90=_0x2952a7['unaddressedComments'][_0x5010bf(0x16e)](_0x124a33=>{const _0x3cc9ca=_0x5010bf,_0x5c4e66=new Date(_0x124a33['createdAt'])[_0x3cc9ca(0x13d)](_0x3cc9ca(0x162),{'month':'short','day':_0x320db2['cISDy']}),_0x5975f6=_0x124a33['authorName']||_0x124a33['authorEmail']||'Reviewer',_0x240658=_0x124a33['domRef']?_0x3cc9ca(0x12d)+(_0x124a33['domRef'][_0x3cc9ca(0x156)][_0x3cc9ca(0x138)](_0x320db2[_0x3cc9ca(0x14a)])['pop']()?.[_0x3cc9ca(0x138)](':')[0x0]||_0x3cc9ca(0x131))+'>\x20\x22'+(_0x124a33[_0x3cc9ca(0x154)][_0x3cc9ca(0x13e)]||'')[_0x3cc9ca(0x158)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x124a33['id']+']\x20'+_0x5975f6+'\x20('+_0x5c4e66+'):\x20\x22'+_0x124a33[_0x3cc9ca(0x167)]+'\x22'+_0x240658;})['join']('\x0a');_0x55868c=_0x5010bf(0x136)+_0x587c90;}const _0x2d667f=_0x2952a7?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x2952a7['canonicalFlow']:'';return''+_0x107474['description']+_0x205c27+_0x55868c+_0x2d667f;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x2fb4f4){const _0x49cc03=_0x4858,_0x342f3e={'kwSUF':_0x49cc03(0x13c),'JCkgI':_0x49cc03(0x165),'zITeF':function(_0x495f65,_0x447381){return _0x495f65(_0x447381);},'Pigxb':function(_0x4cb3bc,_0x1254d6){return _0x4cb3bc(_0x1254d6);}},{checklistItem:_0x17c388,itemFeedback:_0x497ae1,taskDescription:_0x1c24fe,commandPrefix:_0x31cb03,isCdpMode:_0x38400,url:_0x37027a,cdpEndpoint:_0x2a2bc4,loginInstructions:_0x52e230}=_0x2fb4f4,_0xe937af=_0x342f3e[_0x49cc03(0x132)],_0x1af8f9=_0x342f3e['JCkgI'],_0x50c30d=_0x38400?_0x31cb03+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0xe937af):_0x31cb03+'\x20open-and-inspect\x20'+quoteShellArg(_0x37027a??'about:blank')+'\x20--screenshot-path\x20'+_0x342f3e['zITeF'](quoteShellArg,_0xe937af),_0x44c77d=_0x38400?_0x49cc03(0x14d)+_0x2a2bc4+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x49cc03(0x152)+_0x37027a+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.',_0x556a2b=_0x52e230?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x52e230+_0x49cc03(0x15a):'';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'+_0x342f3e['Pigxb'](renderScenarioSections,{'checklistItem':_0x17c388,'itemFeedback':_0x497ae1})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x1c24fe+'\x0a\x0a'+_0x44c77d+_0x556a2b+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x31cb03+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a'+_0x50c30d+_0x49cc03(0x168)+_0x31cb03+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+quoteShellArg(_0x1af8f9)+_0x49cc03(0x14e);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0xe54cdb){const _0x41a30b=_0x4858,_0x126787={'BjEDm':_0x41a30b(0x157)},_0x16f909=_0x126787[_0x41a30b(0x166)],_0x19abef=_0x41a30b(0x14b);return _0x41a30b(0x12f)+_0xe54cdb[_0x41a30b(0x12a)]+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`'+_0xe54cdb['commandPrefix']+_0x41a30b(0x15f)+quoteShellArg(_0xe54cdb['url'])+_0x41a30b(0x124)+quoteShellArg(_0x16f909)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0xe54cdb[_0x41a30b(0x12a)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x19abef)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x333bb2){const _0x1f3649=_0x4858,_0x5bd500={'zgnIS':function(_0x2297a8,_0x7eac8d){return _0x2297a8===_0x7eac8d;}},_0x59471a=[..._0x333bb2[_0x1f3649(0x145)]()]['sort']();let _0x596971=0x0;for(const _0x3d7fab of _0x333bb2['values']()){_0x596971+=_0x3d7fab;}return{'cliCommandCount':_0x596971,'cliCommandsSeen':_0x59471a,'noCliCommandsCalled':_0x5bd500[_0x1f3649(0x125)](_0x596971,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x40f204){const _0x52aa11=_0x4858,_0x4777ad={'DozwH':'PostToolUse','KLogl':function(_0x191112,_0x5e656d){return _0x191112!==_0x5e656d;},'GZEqI':_0x52aa11(0x134),'ZhplY':function(_0x24e1e0,_0x4a6d3b){return _0x24e1e0(_0x4a6d3b);},'kCkod':function(_0x33d274,_0x433550){return _0x33d274+_0x433550;},'haymg':function(_0x21c894,_0x388867){return _0x21c894(_0x388867);},'hOIjc':function(_0x2f275d,_0xb525a7,_0x102b15){return _0x2f275d(_0xb525a7,_0x102b15);},'hTsDE':function(_0x3a3411,_0x2d20e8){return _0x3a3411!==_0x2d20e8;},'TuCCv':function(_0x4e16f2,_0x30f7d8){return _0x4e16f2!==_0x30f7d8;},'toPPI':'rangerwright-cli'},_0x49f05c=new Map(),_0x488a94=async _0x5387e9=>{const _0x5b48f5=_0x52aa11;if(_0x5387e9['hook_event_name']!==_0x4777ad['DozwH'])return{};const _0x1254c2=_0x5387e9;if(_0x4777ad[_0x5b48f5(0x148)](_0x1254c2['tool_name'],_0x4777ad[_0x5b48f5(0x146)]))return{};const _0x2af8a2=_0x1254c2[_0x5b48f5(0x120)],_0x132ed6=extractBashCommand(_0x2af8a2);if(!_0x132ed6)return{};const _0x1d9c83=_0x4777ad['ZhplY'](parseRangerwrightCliCommand,_0x132ed6);if(!_0x1d9c83)return{};return _0x49f05c['set'](_0x1d9c83,_0x4777ad['kCkod'](_0x49f05c[_0x5b48f5(0x137)](_0x1d9c83)||0x0,0x1)),_0x40f204['trackPhaseStart'](_0x5b48f5(0x150),{'subcommand':_0x1d9c83}),_0x40f204[_0x5b48f5(0x11c)](_0x5b48f5(0x150),{'subcommand':_0x1d9c83,'commandPreview':_0x4777ad[_0x5b48f5(0x13f)](truncatePreview,_0x132ed6)}),console['log']('[rangerwright-cli]\x20'+_0x4777ad['hOIjc'](formatRangerwrightCliLog,_0x132ed6,_0x1d9c83)),{};},_0x2e4476=async _0x22c3f3=>{const _0x25543d=_0x52aa11;if(_0x4777ad['hTsDE'](_0x22c3f3['hook_event_name'],_0x25543d(0x144)))return{};const _0x54c59a=_0x22c3f3;if(_0x4777ad[_0x25543d(0x13b)](_0x54c59a[_0x25543d(0x169)],_0x4777ad['GZEqI']))return{};return await _0x40f204['trackPhaseError']('rangerwright_cli_command_failure',_0x54c59a[_0x25543d(0x172)],{'transport':_0x4777ad['toPPI'],'toolName':_0x25543d(0x134)}),{};};return{'postToolUseHook':_0x488a94,'postToolUseFailureHook':_0x2e4476,'commandCounts':_0x49f05c};}async function runRangerwrightLifecycleCommand(_0x2dc455){const _0x49ea9f=_0x4858,_0x5cce11={'FGmIr':function(_0x9e713e,_0x4dea43,_0x2a6c2e){return _0x9e713e(_0x4dea43,_0x2a6c2e);}},{options:_0x1f8aaa,commandArgs:_0x41b824,env:_0x216413,telemetry:_0x19147f,phase:_0x5f5bdd,metadata:_0x1b60af,timeoutMs:_0x275210}=_0x2dc455;_0x19147f[_0x49ea9f(0x155)](_0x5f5bdd,_0x1b60af);try{const _0x29b67a=await runRangerwrightCliCommand({..._0x1f8aaa,'commandArgs':_0x41b824,'cwd':process[_0x49ea9f(0x129)](),'env':_0x216413,'timeoutMs':_0x275210??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x19147f[_0x49ea9f(0x11c)](_0x5f5bdd,{..._0x1b60af,'subcommand':_0x29b67a['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x29b67a[_0x49ea9f(0x160)],0x7d0),'stderrPreview':_0x5cce11[_0x49ea9f(0x122)](truncatePreview,_0x29b67a[_0x49ea9f(0x142)],0x7d0)});}catch(_0x5b1eda){await _0x19147f[_0x49ea9f(0x147)](_0x5f5bdd,_0x5b1eda,_0x1b60af);throw _0x5b1eda;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x2bad01){const _0x2a9f81=_0x4858,_0x2aa31b={'RjMJk':_0x2a9f81(0x14c),'JPWIb':_0x2a9f81(0x15c),'xTIUO':_0x2a9f81(0x153),'cBiJU':_0x2a9f81(0x151)},{telemetry:_0x2b3f54,rangerwrightOptions:_0x1ee764,env:_0x20b429,transportMetadata:_0x4c2c61}=_0x2bad01,_0x446b62=[{'phase':_0x2aa31b['RjMJk'],'commandArgs':[_0x2a9f81(0x139)]},{'phase':'rangerwright_cli_video_stop','commandArgs':[_0x2aa31b[_0x2a9f81(0x11e)]]},{'phase':_0x2aa31b[_0x2a9f81(0x123)],'commandArgs':[_0x2aa31b['cBiJU']]}];for(const _0x336e27 of _0x446b62){try{await runRangerwrightLifecycleCommand({'options':_0x1ee764,'commandArgs':[..._0x336e27['commandArgs']],'env':_0x20b429,'telemetry':_0x2b3f54,'phase':_0x336e27[_0x2a9f81(0x14f)],'metadata':_0x4c2c61});}catch{}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranger-testing/ranger-cli",
3
- "version": "3.0.1-alpha.ffffb5b-28",
3
+ "version": "3.1.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ranger": "./build/cli.js",
@@ -22,9 +22,11 @@
22
22
  "dependencies": {
23
23
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
24
24
  "@playwright/cli": "0.1.1",
25
+ "@ranger-testing/rangerwright": "^0.0.27",
25
26
  "dotenv": "^16.4.5",
26
27
  "inquirer": "^9.2.12",
27
28
  "playwright": "^1.57.0",
29
+ "ws": "^8.20.1",
28
30
  "yargs": "^17.7.2",
29
31
  "zod": "^3.23.8"
30
32
  },
@@ -32,6 +34,7 @@
32
34
  "@types/inquirer": "^9.0.7",
33
35
  "@types/jest": "^29.5.0",
34
36
  "@types/node": "^22.0.0",
37
+ "@types/ws": "^8.18.1",
35
38
  "@types/yargs": "^17.0.32",
36
39
  "jest": "^29.7.0",
37
40
  "javascript-obfuscator": "^4.1.1",