@ranger-testing/ranger-cli 3.1.6-alpha.cbf7608-55 → 3.1.7-alpha.34400c2-56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +6 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x592247,_0x3e52fe){const _0x272dff=_0x1e50,_0x287aef=_0x592247();while(!![]){try{const _0x5a5855=-parseInt(_0x272dff(0xa7))/0x1+parseInt(_0x272dff(0xbc))/0x2+-parseInt(_0x272dff(0xc9))/0x3+parseInt(_0x272dff(0x99))/0x4*(-parseInt(_0x272dff(0xe8))/0x5)+-parseInt(_0x272dff(0xc0))/0x6*(parseInt(_0x272dff(0x8f))/0x7)+parseInt(_0x272dff(0xc3))/0x8+-parseInt(_0x272dff(0x92))/0x9*(-parseInt(_0x272dff(0xb1))/0xa);if(_0x5a5855===_0x3e52fe)break;else _0x287aef['push'](_0x287aef['shift']());}catch(_0x4bceb8){_0x287aef['push'](_0x287aef['shift']());}}}(_0x1738,0x8fe4e));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x348ed4,_0x4fae33=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0xeffb06=_0x1e50,_0x339d1e={'qmnlK':function(_0x16215e,_0x31416e){return _0x16215e+_0x31416e;},'gytiR':'...'};return _0x348ed4['length']>_0x4fae33?_0x339d1e['qmnlK'](_0x348ed4[_0xeffb06(0x102)](0x0,_0x4fae33),_0x339d1e[_0xeffb06(0x106)]):_0x348ed4;}function buildCliArtifactPath(_0x1d3da2,_0x4df3c3){return join(_0x1d3da2,_0x4df3c3);}function toStepDisplayName(_0x285ef0){const _0x4678c4=_0x1e50,_0x513fc0=basename(_0x285ef0)[_0x4678c4(0xb9)](/\.(?:png|ya?ml)$/i,'')[_0x4678c4(0xb9)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x513fc0,'isKeyStep':/^key_/i['test'](basename(_0x285ef0))};}function extractShellValue(_0x5e6937){if(!_0x5e6937)return null;return _0x5e6937[0x1]??_0x5e6937[0x2]??_0x5e6937[0x3]??null;}function extractFilenameOption(_0x1ab4cb){const _0x271b28=_0x1e50,_0x39ba89={'PSlJQ':function(_0x48f596,_0x20482b){return _0x48f596(_0x20482b);}};return _0x39ba89['PSlJQ'](extractShellValue,_0x1ab4cb[_0x271b28(0xa6)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5d7d55,_0x415b8d){const _0x4fe6f8=_0x1e50,_0x128f84={'lqlNz':'\x5c$&','TAJDs':function(_0x3ec724,_0x4c01aa){return _0x3ec724(_0x4c01aa);}},_0x25ad1f=_0x415b8d[_0x4fe6f8(0xb9)](/[.*+?^${}()|[\]\\]/g,_0x128f84['lqlNz']);return _0x128f84[_0x4fe6f8(0xcf)](extractShellValue,_0x5d7d55['match'](new RegExp(_0x4fe6f8(0x8a)+_0x25ad1f+_0x4fe6f8(0xc6))));}function formatCommandTarget(_0x4811b6){const _0x37ce11=_0x1e50,_0x3e7611={'wHyeE':function(_0x38c1f7,_0x34a1ea,_0x9fd693){return _0x38c1f7(_0x34a1ea,_0x9fd693);}};if(!_0x4811b6)return _0x37ce11(0x94);if(/^e\d+$/i[_0x37ce11(0xb8)](_0x4811b6))return'ref\x20'+_0x4811b6;return JSON['stringify'](_0x3e7611[_0x37ce11(0xbd)](truncatePreview,_0x4811b6,0x78));}function formatPlaywrightCliLog(_0x112730,_0x551ab0){const _0x37f887=_0x1e50,_0x2e0aa2={'XWTRJ':'open','CxCvD':function(_0x3bb42f,_0xa6445c,_0x1e6c92){return _0x3bb42f(_0xa6445c,_0x1e6c92);},'YpFmB':_0x37f887(0x10e),'iMgDK':_0x37f887(0x107),'smJUH':'tracing-stop','HMUzV':_0x37f887(0xcc),'zKYBS':'video-start','oTgIm':'video-stop','OcChZ':'snapshot','jaIJg':function(_0x552553,_0x318b67){return _0x552553(_0x318b67);},'sRRzZ':function(_0x1253fd,_0x313101){return _0x1253fd(_0x313101);},'xgDcf':'capture\x20screenshot','kGOPo':function(_0x829c1b,_0x159ed6,_0x54b34b){return _0x829c1b(_0x159ed6,_0x54b34b);},'BsQJZ':_0x37f887(0x97),'idcbw':_0x37f887(0xb6),'FabHz':function(_0x35fde4,_0x525113,_0x321768){return _0x35fde4(_0x525113,_0x321768);},'OHRuJ':'open\x20new\x20tab'};switch(_0x551ab0){case _0x2e0aa2[_0x37f887(0xda)]:{const _0x3dd057=_0x2e0aa2[_0x37f887(0xf4)](extractFirstCommandArgument,_0x112730,_0x551ab0);return _0x3dd057?'open\x20'+_0x3dd057:_0x2e0aa2['YpFmB'];}case _0x2e0aa2['iMgDK']:return'start\x20tracing';case _0x2e0aa2['smJUH']:return _0x2e0aa2['HMUzV'];case _0x2e0aa2['zKYBS']:return'start\x20video\x20recording';case _0x2e0aa2['oTgIm']:return _0x37f887(0xc5);case _0x2e0aa2[_0x37f887(0xcb)]:{const _0xf611db=extractFilenameOption(_0x112730);if(!_0xf611db)return'capture\x20snapshot';const {name:_0x4553c0}=_0x2e0aa2['jaIJg'](toStepDisplayName,_0xf611db);return'capture\x20snapshot\x20`'+_0x4553c0+'`';}case'screenshot':{const _0x1fe9f0=_0x2e0aa2['sRRzZ'](extractFilenameOption,_0x112730);if(!_0x1fe9f0)return _0x2e0aa2[_0x37f887(0xa8)];const {name:_0x2afe40,isKeyStep:_0x22e7d4}=_0x2e0aa2['sRRzZ'](toStepDisplayName,_0x1fe9f0);return _0x22e7d4?'capture\x20key\x20step\x20`'+_0x2afe40+'`':'capture\x20step\x20`'+_0x2afe40+'`';}case _0x37f887(0x98):return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x112730,_0x551ab0));case _0x37f887(0xfa):return _0x37f887(0xb7)+formatCommandTarget(_0x2e0aa2['kGOPo'](extractFirstCommandArgument,_0x112730,_0x551ab0));case'fill':return _0x37f887(0x9f)+formatCommandTarget(extractFirstCommandArgument(_0x112730,_0x551ab0));case _0x2e0aa2[_0x37f887(0xe1)]:return _0x37f887(0xaa)+formatCommandTarget(extractFirstCommandArgument(_0x112730,_0x551ab0));case'run-code':return _0x2e0aa2[_0x37f887(0xe0)];case'tab-new':{const _0xce5250=_0x2e0aa2[_0x37f887(0xc4)](extractFirstCommandArgument,_0x112730,_0x551ab0);return _0xce5250?'open\x20new\x20tab\x20'+_0xce5250:_0x2e0aa2[_0x37f887(0x90)];}case _0x37f887(0xc7):{const _0x5d2932=_0x2e0aa2[_0x37f887(0xf4)](extractFirstCommandArgument,_0x112730,_0x551ab0);return _0x5d2932?_0x37f887(0xac)+_0x5d2932:_0x37f887(0xdd);}default:return _0x551ab0;}}function extractPlaywrightCliToolDescription(_0x537891){const _0x4ac0a8=_0x1e50,_0x27b838={'ZFLqu':_0x4ac0a8(0x10a),'pgfDH':function(_0xf54ed,_0x3ea0b6){return _0xf54ed>_0x3ea0b6;}},_0x1a3882=_0x537891['description'];if(typeof _0x1a3882!==_0x27b838['ZFLqu'])return null;const _0x322c75=_0x1a3882[_0x4ac0a8(0xb0)]()[_0x4ac0a8(0xb9)](/\s+/g,'\x20');return _0x27b838[_0x4ac0a8(0x9b)](_0x322c75[_0x4ac0a8(0x10f)],0x0)?_0x322c75:null;}export function formatPlaywrightCliConsoleLogMessage(_0x187bd4,_0x9fe7ab,_0x3036de){const _0x117355=_0x1e50,_0x226397={'JiBZa':function(_0x33e7db,_0x4bce6a){return _0x33e7db(_0x4bce6a);}},_0x26c02a=formatPlaywrightCliLog(_0x9fe7ab,_0x3036de),_0x4c1538=_0x226397[_0x117355(0xf1)](extractPlaywrightCliToolDescription,_0x187bd4);if(!_0x4c1538)return'[playwright-cli]\x20'+_0x26c02a;if(process[_0x117355(0x111)][_0x117355(0xb2)])return _0x117355(0xfe)+_0x4c1538+'\x20('+_0x26c02a+')';return _0x117355(0xfe)+_0x4c1538;}function _0x1e50(_0x1c004c,_0x5b2b4d){_0x1c004c=_0x1c004c-0x8a;const _0x173865=_0x1738();let _0x1e50b8=_0x173865[_0x1c004c];return _0x1e50b8;}function _0x1738(){const _0x3c3c2a=['trackPhaseError','1983104gzUCYd','FabHz','stop\x20video\x20recording','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','tab-select','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','405900eAHzgk','trace.trace.zip','OcChZ','stop\x20tracing','mgywo','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','TAJDs','stderr','vlSoO','UCQdd','video-stop','authorName','tool_name','values','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','03_learn-more.png','mtimeMs','XWTRJ','Iwdbo','>\x20\x22','select\x20tab','split','createdAt','idcbw','BsQJZ','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22','get','zRqfR','domRef','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a9.\x20Run\x20`','5tPqIbr','set','01_mozilla-homepage.png','00_mozilla-homepage.yml','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','kEqBk','KsuVV','element','\x20(on\x20element:\x20<','JiBZa','Bash','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','CxCvD','trackPhaseEnd','02_button-clicked.png','xvuEb','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','PoGqi','check','03_result-visible.png','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','name','[ranger-verification-agent]\x20','join','yIHFL','subcommand','slice','02_learn-more.yml','--filename=','TFGiT','gytiR','tracing-start','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','tool_call','string','phase','trackPhaseStart','qCLIC','open\x20browser','length','\x22,\x20\x22','env','playwright_cli_tracing_stop','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','(?:^|\x5cs)','\x20screenshot\x20--filename\x20','content','ZMNSK','error','1379DGGiZT','OHRuJ','tracing-stop','161442qMuORf','`,\x20then\x20`','target','canonicalFlow','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','press','click','2991224LOxLwU','UmysL','pgfDH','akVHd','tool_input','aIRsS','fill\x20','\x20tracing-start`,\x20then\x20`','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','NsWHS','toLocaleDateString','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','qYhJu','match','1089359YUzUCg','xgDcf','playwright_cli_video_stop','press\x20','push','select\x20tab\x20','`:\x20\x22','textContent','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','trim','1670STRFBq','DEBUG','\x20snapshot\x20--filename\x20','playwright_cli_close','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','run\x20custom\x20Playwright\x20code','check\x20','test','replace','):\x20\x22','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','2246ZSLArW','wHyeE','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','snapshot','20796ahCbxU','PostToolUse'];_0x1738=function(){return _0x3c3c2a;};return _0x1738();}export function buildVerifyFeatureCliDebugPrompt(_0x2427e1,_0x1bacb8){const _0x54610d=_0x1e50,_0x211b11={'ssRuD':_0x54610d(0xea),'xvuEb':function(_0x38b1f4,_0x59f008,_0x3b4611){return _0x38b1f4(_0x59f008,_0x3b4611);},'SBmJk':_0x54610d(0xd8),'TFGiT':function(_0x4f3044,_0xae775e){return _0x4f3044(_0xae775e);}},_0x522715=buildCliArtifactPath(_0x1bacb8,_0x54610d(0xeb)),_0x177fe9=buildCliArtifactPath(_0x1bacb8,_0x211b11['ssRuD']),_0x3e4eb5=buildCliArtifactPath(_0x1bacb8,_0x54610d(0x103)),_0x13ad98=_0x211b11[_0x54610d(0xf7)](buildCliArtifactPath,_0x1bacb8,_0x211b11['SBmJk']),_0x3ffabc=quoteShellArg(_0x522715),_0x4f566c=_0x211b11[_0x54610d(0x105)](quoteShellArg,_0x177fe9),_0x4eca11=quoteShellArg(_0x3e4eb5),_0x265ad4=quoteShellArg(_0x13ad98);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2427e1+'\x0a\x0a1.\x20Run\x20`'+_0x2427e1+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x2427e1+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x2427e1+_0x54610d(0xec)+_0x1bacb8+_0x54610d(0xce)+_0x2427e1+_0x54610d(0xb3)+_0x3ffabc+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x2427e1+'\x20screenshot\x20--filename\x20'+_0x4f566c+_0x54610d(0xa4)+_0x2427e1+_0x54610d(0xb3)+_0x4eca11+_0x54610d(0xe7)+_0x2427e1+'\x20screenshot\x20--filename\x20'+_0x265ad4+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x3eb244){const _0x267007=_0x1e50,_0xe0bb55={'mEEHc':'en-US','NJGDE':'Reviewer','lLiEg':_0x267007(0xef),'yIHFL':function(_0x8feee4,_0x2a3437,_0x403f14){return _0x8feee4(_0x2a3437,_0x403f14);},'HAJgn':'02_state.yml','fCilx':function(_0x5912a0,_0x3f741b,_0x2cb45b){return _0x5912a0(_0x3f741b,_0x2cb45b);},'rVNBj':function(_0xb870c5,_0x285e60){return _0xb870c5(_0x285e60);},'DGHsh':function(_0x5be702,_0x1715e0){return _0x5be702(_0x1715e0);},'Iwdbo':function(_0x1ac668,_0x23bbcc,_0x59bf92){return _0x1ac668(_0x23bbcc,_0x59bf92);},'kEqBk':function(_0x526352,_0x147e1f,_0x28dbdb){return _0x526352(_0x147e1f,_0x28dbdb);},'sNwzj':'key_04_success-state.png'},{checklistItem:_0x1d26c8,itemFeedback:_0x499edd,taskDescription:_0x2917ad,cliCommandPrefix:_0xbb1094,cliArtifactDir:_0x2a66c8,isCdpMode:_0x2f935d,url:_0x199ba6,cdpEndpoint:_0x37f4c1,loginInstructions:_0x2806d5}=_0x3eb244,_0xbcd9d3=buildCliArtifactPath(_0x2a66c8,'01_initial.yml'),_0x3b7d30=_0xe0bb55[_0x267007(0x100)](buildCliArtifactPath,_0x2a66c8,_0xe0bb55['HAJgn']),_0x5e2802=buildCliArtifactPath(_0x2a66c8,'key_03_success-state.png'),_0x30c816=_0xe0bb55['fCilx'](buildCliArtifactPath,_0x2a66c8,'01_initial-state.png'),_0x559a03=quoteShellArg(_0xbcd9d3),_0x2f1442=_0xe0bb55['rVNBj'](quoteShellArg,_0x3b7d30),_0x2a283e=quoteShellArg(_0x5e2802),_0x4a9d23=_0xe0bb55['DGHsh'](quoteShellArg,_0x30c816),_0x54dda1=_0x1d26c8['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1d26c8['notes']:'';let _0x2959a9='';if(_0x499edd&&_0x499edd['unaddressedComments'][_0x267007(0x10f)]>0x0){const _0x5d23a4=_0x499edd['unaddressedComments']['map'](_0x23541d=>{const _0x383b1c=_0x267007,_0x1a4f99=new Date(_0x23541d[_0x383b1c(0xdf)])[_0x383b1c(0xa3)](_0xe0bb55['mEEHc'],{'month':'short','day':'numeric'}),_0x390aaf=_0x23541d[_0x383b1c(0xd4)]||_0x23541d['authorEmail']||_0xe0bb55['NJGDE'],_0x38b2fc=_0x23541d[_0x383b1c(0xe5)]?_0x383b1c(0xf0)+(_0x23541d['domRef']['selector'][_0x383b1c(0xde)]('\x20>\x20')['pop']()?.[_0x383b1c(0xde)](':')[0x0]||_0xe0bb55['lLiEg'])+_0x383b1c(0xdc)+(_0x23541d['domRef'][_0x383b1c(0xae)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x23541d['id']+']\x20**'+_0x390aaf+'**\x20('+_0x1a4f99+_0x383b1c(0xba)+_0x23541d[_0x383b1c(0x8c)]+'\x22'+_0x38b2fc;})[_0x267007(0xff)]('\x0a');_0x2959a9=_0x267007(0xbb)+_0x5d23a4;}const _0xf911ac=_0x499edd?.[_0x267007(0x95)]?_0x267007(0xb5)+_0x499edd['canonicalFlow']:'',_0x3fd9fe=_0x2f935d?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x37f4c1+_0x267007(0xe6):_0x267007(0xa1)+_0x199ba6+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification',_0x80e69c=_0x199ba6?quoteShellArg(_0x199ba6):'',_0x207660=_0x2f935d?_0x267007(0xf3)+_0xbb1094+'\x20open`,\x20then\x20`'+_0xbb1094+_0x267007(0xa0)+_0xbb1094+_0x267007(0xd7)+_0x2a66c8+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0xbb1094+'\x20snapshot\x20--filename\x20'+_0x559a03+_0x267007(0xf8)+_0xbb1094+_0x267007(0x8b)+_0x4a9d23+_0x267007(0x96)+_0xbb1094+_0x267007(0x108):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0xbb1094+'\x20open\x20'+_0x80e69c+_0x267007(0x93)+_0xbb1094+'\x20tracing-start`,\x20then\x20`'+_0xbb1094+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2a66c8+_0x267007(0xaf)+_0xbb1094+'\x20snapshot\x20--filename\x20'+_0x559a03+'`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`'+_0xbb1094+_0x267007(0x8b)+_0x4a9d23+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0xbb1094+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x3f596b=_0x2f935d?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x20a0f8=_0x2806d5?_0x267007(0x113)+_0x2806d5+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x1d26c8['description']+_0x54dda1+_0x2959a9+_0xf911ac+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x2917ad+'\x0a\x0a'+_0x3fd9fe+_0x20a0f8+'\x0a\x0a'+_0x207660+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0xbb1094+_0x267007(0xbe)+_0x2a66c8+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x2f1442+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x2a283e+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x2a66c8+_0x267007(0xad)+_0x30c816+'\x22,\x20\x22'+buildCliArtifactPath(_0x2a66c8,_0x267007(0xf6))+_0x267007(0x110)+_0xe0bb55[_0x267007(0xdb)](buildCliArtifactPath,_0x2a66c8,_0x267007(0xfb))+_0x267007(0xe2)+_0xe0bb55[_0x267007(0xed)](buildCliArtifactPath,_0x2a66c8,_0xe0bb55['sNwzj'])+_0x267007(0xc8)+_0x3f596b+_0x267007(0xfc);}export function summarizeVerifyFeatureCliCommandAvailability(_0x13b589){const _0x161c36=_0x1e50,_0x491eb7=[..._0x13b589['keys']()]['sort']();let _0x1bfbd1=0x0;for(const _0xf3cf1b of _0x13b589[_0x161c36(0xd6)]()){_0x1bfbd1+=_0xf3cf1b;}return{'cliCommandCount':_0x1bfbd1,'cliCommandsSeen':_0x491eb7,'noCliCommandsCalled':_0x1bfbd1===0x0};}export function createVerifyFeatureCliHooks(_0x4486d6){const _0x1299ef=_0x1e50,_0x51b5ef={'NsWHS':function(_0x51da66,_0x4b89a3){return _0x51da66!==_0x4b89a3;},'MTYWY':_0x1299ef(0xc1),'zRqfR':_0x1299ef(0xf2),'SFgYQ':function(_0x108082,_0x58e0f6){return _0x108082(_0x58e0f6);},'EuXPc':function(_0x25e6ed,_0x3e7287){return _0x25e6ed(_0x3e7287);},'UCQdd':function(_0x49ad3b,_0x246517){return _0x49ad3b+_0x246517;},'JooDM':_0x1299ef(0x109),'qCLIC':'playwright-cli','PoGqi':_0x1299ef(0xbf),'bxIQg':function(_0x1115e1,_0x3c1d58,_0x4c478b,_0x2526c4){return _0x1115e1(_0x3c1d58,_0x4c478b,_0x2526c4);},'jcQhs':'tool_failure'},_0xde6ff7=new Map(),_0x8619f4=async _0x4b96b7=>{const _0x3dbbbb=_0x1299ef;if(_0x51b5ef[_0x3dbbbb(0xa2)](_0x4b96b7['hook_event_name'],_0x51b5ef['MTYWY']))return{};const _0x44d1e9=_0x4b96b7;if(_0x44d1e9[_0x3dbbbb(0xd5)]!==_0x51b5ef[_0x3dbbbb(0xe4)])return{};const _0x1c0847=_0x44d1e9[_0x3dbbbb(0x9d)],_0x5ca50e=_0x51b5ef['SFgYQ'](extractBashCommand,_0x1c0847);if(!_0x5ca50e)return{};const _0x1da7c9=_0x51b5ef['EuXPc'](parsePlaywrightCliCommand,_0x5ca50e);if(!_0x1da7c9)return{};return _0xde6ff7[_0x3dbbbb(0xe9)](_0x1da7c9,_0x51b5ef[_0x3dbbbb(0xd2)](_0xde6ff7[_0x3dbbbb(0xe3)](_0x1da7c9)||0x0,0x1)),_0x4486d6[_0x3dbbbb(0x10c)](_0x51b5ef['JooDM'],{'transport':'playwright-cli','toolName':_0x1da7c9}),_0x4486d6['trackPhaseEnd'](_0x51b5ef['JooDM'],{'transport':_0x51b5ef['qCLIC'],'toolName':_0x1da7c9,'bashCommandPreview':truncatePreview(_0x5ca50e)}),_0x1da7c9!==_0x51b5ef[_0x3dbbbb(0xf9)]&&console['log'](_0x51b5ef['bxIQg'](formatPlaywrightCliConsoleLogMessage,_0x1c0847,_0x5ca50e,_0x1da7c9)),{};},_0x3a4bfd=async _0x155c0d=>{const _0x3a4023=_0x1299ef;if(_0x155c0d['hook_event_name']!=='PostToolUseFailure')return{};const _0x1dc05e=_0x155c0d;if(_0x1dc05e['tool_name']!=='Bash')return{};return await _0x4486d6['trackPhaseError'](_0x51b5ef['jcQhs'],_0x1dc05e[_0x3a4023(0x8e)],{'transport':_0x51b5ef[_0x3a4023(0x10d)],'toolName':_0x51b5ef[_0x3a4023(0xe4)]}),{};};return{'postToolUseHook':_0x8619f4,'postToolUseFailureHook':_0x3a4bfd,'commandCounts':_0xde6ff7};}async function runPlaywrightCliLifecycleCommand(_0x3c692d){const _0x16eb14=_0x1e50,_0x26303a={'KsuVV':function(_0x4d5b8f,_0x2f1a69){return _0x4d5b8f(_0x2f1a69);},'qYhJu':function(_0x45b46d,_0x1cf125){return _0x45b46d??_0x1cf125;},'aIRsS':function(_0x205b5c,_0x3c7f5f,_0x626aa6){return _0x205b5c(_0x3c7f5f,_0x626aa6);}},{sessionId:_0x2f9b33,configPath:_0x71cc8f,commandArgs:_0x1e67b1,env:_0x1a19f8,telemetry:_0xa5d893,phase:_0x268111,metadata:_0x14303f,timeoutMs:_0x31f578}=_0x3c692d;_0xa5d893['trackPhaseStart'](_0x268111,_0x14303f);try{const _0x396700=await _0x26303a[_0x16eb14(0xee)](runPlaywrightCliCommand,{'sessionId':_0x2f9b33,'configPath':_0x71cc8f,'commandArgs':_0x1e67b1,'cwd':process['cwd'](),'env':_0x1a19f8,'timeoutMs':_0x26303a[_0x16eb14(0xa5)](_0x31f578,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0xa5d893[_0x16eb14(0xf5)](_0x268111,{..._0x14303f,'subcommand':_0x396700['invocation'][_0x16eb14(0x101)],'stdoutPreview':truncatePreview(_0x396700['stdout'],0x7d0),'stderrPreview':_0x26303a[_0x16eb14(0x9e)](truncatePreview,_0x396700[_0x16eb14(0xd0)],0x7d0)});}catch(_0x199428){await _0xa5d893[_0x16eb14(0xc2)](_0x268111,_0x199428,_0x14303f);throw _0x199428;}}export async function finalizeVerifyFeatureCliSession(_0x1566b1){const _0x1f697b=_0x1e50,_0xd93a4a={'ZMNSK':_0x1f697b(0x91),'Kdixx':'close','mgywo':function(_0x3c797f,_0x5cbd58){return _0x3c797f(_0x5cbd58);}},{telemetry:_0x2982a6,sessionId:_0x38ae7b,configPath:_0x3b5293,cliArtifactDir:_0x1a87fa,env:_0x34e6de,transportMetadata:_0x3c28d8}=_0x1566b1,_0x457103=[{'phase':_0x1f697b(0x112),'commandArgs':[_0xd93a4a[_0x1f697b(0x8d)]]},{'phase':_0x1f697b(0xa9),'commandArgs':[_0x1f697b(0xd3),_0x1f697b(0x104)+buildCliArtifactPath(_0x1a87fa,'session-recording.webm')]},{'phase':_0x1f697b(0xb4),'commandArgs':[_0xd93a4a['Kdixx']]}];for(const _0x801170 of _0x457103){try{await _0xd93a4a[_0x1f697b(0xcd)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x38ae7b,'configPath':_0x3b5293,'commandArgs':[..._0x801170['commandArgs']],'env':_0x34e6de,'telemetry':_0x2982a6,'phase':_0x801170[_0x1f697b(0x10b)],'metadata':_0x3c28d8});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x504584){const _0x57a20f=_0x1e50,_0x2b499f={'vlSoO':'trace.zip','TcYhq':function(_0x4709f2,_0x4d534f){return _0x4709f2(_0x4d534f);}},_0x149923=[_0x2b499f[_0x57a20f(0xd1)],_0x57a20f(0xca)];for(const _0x2524df of _0x149923){const _0x3f0512=join(_0x504584,_0x2524df);try{return{'buffer':await _0x2b499f['TcYhq'](readFile,_0x3f0512),'source':_0x3f0512};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x1c34f4){const _0x1cddb4=_0x1e50,_0x4757ef={'akVHd':function(_0x299c61,_0xcb2bd9,_0x718a5){return _0x299c61(_0xcb2bd9,_0x718a5);},'UmysL':function(_0x29ad90,_0x578415){return _0x29ad90(_0x578415);},'XoZpG':function(_0x15d76c,_0x1d5fad){return _0x15d76c<_0x1d5fad;},'vqdST':function(_0x263c76,_0x35c0e4,_0x4065b0){return _0x263c76(_0x35c0e4,_0x4065b0);},'LrVAz':function(_0x14f0fc,_0x576203){return _0x14f0fc===_0x576203;}},{cwd:_0x4fef8c,cliArtifactDir:_0x1eb1bf,startTime:_0x5c47ca}=_0x1c34f4,_0x3e6122=[];await _0x4757ef[_0x1cddb4(0x9c)](mkdir,_0x1eb1bf,{'recursive':!![]});const _0x405fa4=await readdir(_0x4fef8c,{'withFileTypes':!![]});for(const _0x26b3b3 of _0x405fa4){if(!_0x26b3b3['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x1cddb4(0xb8)](_0x26b3b3[_0x1cddb4(0xfd)]))continue;const _0x4b03ea=join(_0x4fef8c,_0x26b3b3['name']),_0x348a18=await _0x4757ef[_0x1cddb4(0x9a)](stat,_0x4b03ea);if(_0x4757ef['XoZpG'](_0x348a18[_0x1cddb4(0xd9)]+0x7d0,_0x5c47ca))continue;const _0x2ea755=_0x4757ef['vqdST'](buildCliArtifactPath,_0x1eb1bf,_0x26b3b3[_0x1cddb4(0xfd)]);if(_0x4757ef['LrVAz'](_0x4b03ea,_0x2ea755))continue;await _0x4757ef['vqdST'](rename,_0x4b03ea,_0x2ea755),_0x3e6122[_0x1cddb4(0xab)](_0x26b3b3[_0x1cddb4(0xfd)]);}return _0x3e6122['sort']();}
|
|
1
|
+
(function(_0x2a7d7f,_0x5e32e9){const _0x113e3a=_0x623a,_0x4c362a=_0x2a7d7f();while(!![]){try{const _0x453126=-parseInt(_0x113e3a(0x190))/0x1*(parseInt(_0x113e3a(0x1d8))/0x2)+-parseInt(_0x113e3a(0x1cb))/0x3+parseInt(_0x113e3a(0x204))/0x4+parseInt(_0x113e3a(0x197))/0x5+-parseInt(_0x113e3a(0x1b1))/0x6+parseInt(_0x113e3a(0x202))/0x7+-parseInt(_0x113e3a(0x203))/0x8*(parseInt(_0x113e3a(0x1e1))/0x9);if(_0x453126===_0x5e32e9)break;else _0x4c362a['push'](_0x4c362a['shift']());}catch(_0x461ed6){_0x4c362a['push'](_0x4c362a['shift']());}}}(_0x7411,0x937f8));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';function _0x623a(_0x28fdea,_0x18d2fd){_0x28fdea=_0x28fdea-0x18b;const _0x74115b=_0x7411();let _0x623afa=_0x74115b[_0x28fdea];return _0x623afa;}import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0x42af6e,_0x2c8c3c=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1cbd75=_0x623a,_0x426d7d={'wTzVD':function(_0x3228e4,_0x40610d){return _0x3228e4+_0x40610d;}};return _0x42af6e[_0x1cbd75(0x1ec)]>_0x2c8c3c?_0x426d7d['wTzVD'](_0x42af6e['slice'](0x0,_0x2c8c3c),_0x1cbd75(0x1a5)):_0x42af6e;}function buildCliArtifactPath(_0x390d3d,_0xb5fd0f){return join(_0x390d3d,_0xb5fd0f);}function toStepDisplayName(_0x2a5f24){const _0x1ce147=basename(_0x2a5f24)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1ce147,'isKeyStep':/^key_/i['test'](basename(_0x2a5f24))};}function extractShellValue(_0x28dbbd){if(!_0x28dbbd)return null;return _0x28dbbd[0x1]??_0x28dbbd[0x2]??_0x28dbbd[0x3]??null;}function extractFilenameOption(_0x26029e){return extractShellValue(_0x26029e['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5a644a,_0x2be33c){const _0x13f72b=_0x623a,_0x823438=_0x2be33c['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x5a644a['match'](new RegExp(_0x13f72b(0x1bd)+_0x823438+_0x13f72b(0x1b4))));}function formatCommandTarget(_0x15776d){const _0x110088=_0x623a;if(!_0x15776d)return _0x110088(0x1d0);if(/^e\d+$/i['test'](_0x15776d))return'ref\x20'+_0x15776d;return JSON['stringify'](truncatePreview(_0x15776d,0x78));}function formatPlaywrightCliLog(_0x435591,_0x4403b2){const _0x5040a6=_0x623a,_0x3d145b={'ZViFV':_0x5040a6(0x214),'GhHZv':function(_0x535207,_0x5e4f4e,_0x5cbca6){return _0x535207(_0x5e4f4e,_0x5cbca6);},'kIFBl':_0x5040a6(0x200),'ihnnv':_0x5040a6(0x1f9),'UVwLZ':function(_0x201a8e,_0x1d40a3){return _0x201a8e(_0x1d40a3);},'YaPjS':'capture\x20snapshot','wTaTR':_0x5040a6(0x1f0),'pesZS':function(_0x3ac829,_0x86f6dd){return _0x3ac829(_0x86f6dd);},'PhZcq':'check','MhLRZ':_0x5040a6(0x1fb),'LKvSr':_0x5040a6(0x1ee),'keaLk':_0x5040a6(0x19a),'XXnRc':function(_0x26cf36,_0xccdec6,_0x42a7a1){return _0x26cf36(_0xccdec6,_0x42a7a1);},'NjuBR':'open\x20new\x20tab','QOWFN':_0x5040a6(0x1e8),'BhQIv':_0x5040a6(0x1b7)};switch(_0x4403b2){case _0x3d145b[_0x5040a6(0x1e3)]:{const _0x1857db=_0x3d145b['GhHZv'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x1857db?'open\x20'+_0x1857db:_0x5040a6(0x1e7);}case'tracing-start':return _0x3d145b[_0x5040a6(0x201)];case'tracing-stop':return'stop\x20tracing';case'video-start':return'start\x20video\x20recording';case _0x5040a6(0x1ab):return'stop\x20video\x20recording';case _0x3d145b[_0x5040a6(0x1c2)]:{const _0x350bd0=_0x3d145b['UVwLZ'](extractFilenameOption,_0x435591);if(!_0x350bd0)return _0x3d145b[_0x5040a6(0x1d5)];const {name:_0x225b90}=_0x3d145b[_0x5040a6(0x1c9)](toStepDisplayName,_0x350bd0);return'capture\x20snapshot\x20`'+_0x225b90+'`';}case _0x5040a6(0x19f):{const _0x60f7d8=extractFilenameOption(_0x435591);if(!_0x60f7d8)return _0x3d145b['wTaTR'];const {name:_0x3d63cd,isKeyStep:_0xa9b27b}=toStepDisplayName(_0x60f7d8);return _0xa9b27b?'capture\x20key\x20step\x20`'+_0x3d63cd+'`':_0x5040a6(0x20c)+_0x3d63cd+'`';}case _0x5040a6(0x1d4):return'click\x20'+_0x3d145b[_0x5040a6(0x1c6)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x208)]:return _0x5040a6(0x1f5)+_0x3d145b[_0x5040a6(0x1c9)](formatCommandTarget,extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x5040a6(0x1d7):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b['MhLRZ']:return _0x5040a6(0x209)+formatCommandTarget(extractFirstCommandArgument(_0x435591,_0x4403b2));case _0x3d145b[_0x5040a6(0x1c3)]:return'run\x20custom\x20Playwright\x20code';case _0x3d145b[_0x5040a6(0x1f1)]:{const _0x491a3f=_0x3d145b['XXnRc'](extractFirstCommandArgument,_0x435591,_0x4403b2);return _0x491a3f?_0x5040a6(0x1c4)+_0x491a3f:_0x3d145b['NjuBR'];}case _0x3d145b[_0x5040a6(0x19e)]:{const _0x2d7ede=extractFirstCommandArgument(_0x435591,_0x4403b2);return _0x2d7ede?'select\x20tab\x20'+_0x2d7ede:_0x3d145b[_0x5040a6(0x20e)];}default:return _0x4403b2;}}function extractPlaywrightCliToolDescription(_0x19ce5d){const _0x62b18=_0x623a,_0x3e4131={'czCPH':'string'},_0x59e1cb=_0x19ce5d['description'];if(typeof _0x59e1cb!==_0x3e4131['czCPH'])return null;const _0x17a7e8=_0x59e1cb['trim']()[_0x62b18(0x1ad)](/\s+/g,'\x20');return _0x17a7e8['length']>0x0?_0x17a7e8:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4905ec,_0x964cc,_0x304585){const _0x3e7afd=_0x623a,_0x5f378f={'fdtPC':function(_0xe8c1e9,_0x570751,_0x415311){return _0xe8c1e9(_0x570751,_0x415311);}},_0x5be3f8=_0x5f378f[_0x3e7afd(0x20d)](formatPlaywrightCliLog,_0x964cc,_0x304585),_0x5a3557=extractPlaywrightCliToolDescription(_0x4905ec);if(!_0x5a3557)return _0x3e7afd(0x1b0)+_0x5be3f8;if(process[_0x3e7afd(0x1fa)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x5a3557+'\x20('+_0x5be3f8+')';return'[ranger-verification-agent]\x20'+_0x5a3557;}export function buildVerifyFeatureCliDebugPrompt(_0x48c853,_0x3d423a){const _0x261153=_0x623a,_0x200db3={'dPpBQ':function(_0x36788b,_0x323792,_0x124607){return _0x36788b(_0x323792,_0x124607);},'LjEZX':_0x261153(0x1c5),'jmPCR':function(_0x204a0c,_0x5890dc,_0x20f832){return _0x204a0c(_0x5890dc,_0x20f832);},'MOiEb':function(_0x52bb85,_0x191c20,_0xc6a535){return _0x52bb85(_0x191c20,_0xc6a535);},'PVaQo':function(_0x281bc9,_0x29abdf){return _0x281bc9(_0x29abdf);}},_0xa8b3ec=_0x200db3[_0x261153(0x1df)](buildCliArtifactPath,_0x3d423a,_0x200db3[_0x261153(0x1ed)]),_0x430ebc=buildCliArtifactPath(_0x3d423a,'01_mozilla-homepage.png'),_0x2aab05=_0x200db3[_0x261153(0x1b2)](buildCliArtifactPath,_0x3d423a,'02_learn-more.yml'),_0x18ea44=_0x200db3['MOiEb'](buildCliArtifactPath,_0x3d423a,'03_learn-more.png'),_0x3a7bae=quoteShellArg(_0xa8b3ec),_0x58af3d=quoteShellArg(_0x430ebc),_0x5c7001=_0x200db3['PVaQo'](quoteShellArg,_0x2aab05),_0x34e787=quoteShellArg(_0x18ea44);return _0x261153(0x1de)+_0x48c853+_0x261153(0x1cd)+_0x48c853+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x48c853+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x48c853+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3d423a+_0x261153(0x1f7)+_0x48c853+_0x261153(0x18d)+_0x3a7bae+_0x261153(0x194)+_0x48c853+_0x261153(0x1ef)+_0x58af3d+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x48c853+_0x261153(0x18d)+_0x5c7001+_0x261153(0x205)+_0x48c853+_0x261153(0x1ef)+_0x34e787+_0x261153(0x1a4);}export function buildVerifyFeatureCliPrompt(_0x11989b){const _0x630983=_0x623a,_0x4479d6={'AcgvV':'numeric','fhRYd':'Reviewer','EKsAh':_0x630983(0x1e2),'etVkb':_0x630983(0x1e5),'blPxZ':function(_0x49304e,_0x1e0f40,_0x17cf81){return _0x49304e(_0x1e0f40,_0x17cf81);},'JugLu':'02_state.yml','jhiZr':function(_0x3638c3,_0x4bb073){return _0x3638c3(_0x4bb073);},'Ecfra':function(_0x5a32e2,_0x37dc96){return _0x5a32e2(_0x37dc96);},'MQZcf':function(_0x51161a,_0x41f3e3){return _0x51161a>_0x41f3e3;},'DasUp':function(_0x19fc15,_0x352259,_0x25443d){return _0x19fc15(_0x352259,_0x25443d);},'XprJV':_0x630983(0x1dd),'qqnHM':function(_0x3d2803,_0x505025,_0x25cc6e){return _0x3d2803(_0x505025,_0x25cc6e);}},{checklistItem:_0x2f8eb5,itemFeedback:_0x23c9a8,taskDescription:_0x17eb57,cliCommandPrefix:_0x352712,cliArtifactDir:_0x21fcc6,isCdpMode:_0x98359,url:_0x450b11,cdpEndpoint:_0x465d4f,loginInstructions:_0xd6676}=_0x11989b,_0x342bf6=buildCliArtifactPath(_0x21fcc6,'01_initial.yml'),_0xa48f3f=_0x4479d6['blPxZ'](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x1ba)]),_0x162408=buildCliArtifactPath(_0x21fcc6,'key_03_success-state.png'),_0x8ab09d=_0x4479d6[_0x630983(0x19d)](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1f8)),_0x597101=_0x4479d6['jhiZr'](quoteShellArg,_0x342bf6),_0x5a2391=_0x4479d6[_0x630983(0x199)](quoteShellArg,_0xa48f3f),_0x1184b5=quoteShellArg(_0x162408),_0x53c8ab=_0x4479d6['Ecfra'](quoteShellArg,_0x8ab09d),_0x135646=_0x2f8eb5[_0x630983(0x1d9)]?_0x630983(0x1aa)+_0x2f8eb5[_0x630983(0x1d9)]:'';let _0x7770c6='';if(_0x23c9a8&&_0x4479d6['MQZcf'](_0x23c9a8['unaddressedComments']['length'],0x0)){const _0x591f9c=_0x23c9a8[_0x630983(0x1a7)][_0x630983(0x18f)](_0x1fb112=>{const _0x2e95b0=_0x630983,_0x501e0c=new Date(_0x1fb112[_0x2e95b0(0x1bb)])['toLocaleDateString']('en-US',{'month':'short','day':_0x4479d6['AcgvV']}),_0x1be17a=_0x1fb112['authorName']||_0x1fb112['authorEmail']||_0x4479d6['fhRYd'],_0xcfe17c=_0x1fb112[_0x2e95b0(0x1eb)]?_0x2e95b0(0x1f6)+(_0x1fb112['domRef']['selector']['split'](_0x4479d6['EKsAh'])[_0x2e95b0(0x20f)]()?.[_0x2e95b0(0x1d3)](':')[0x0]||_0x4479d6['etVkb'])+_0x2e95b0(0x1e6)+(_0x1fb112['domRef']['textContent']||'')[_0x2e95b0(0x1da)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1fb112['id']+']\x20**'+_0x1be17a+_0x2e95b0(0x1af)+_0x501e0c+_0x2e95b0(0x20b)+_0x1fb112[_0x2e95b0(0x1ea)]+'\x22'+_0xcfe17c;})['join']('\x0a');_0x7770c6=_0x630983(0x1b8)+_0x591f9c;}const _0x2e0e40=_0x23c9a8?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x23c9a8[_0x630983(0x1d6)]:'',_0x5512ea=_0x98359?_0x630983(0x1cf)+_0x465d4f+_0x630983(0x193):_0x630983(0x1bf)+_0x450b11+_0x630983(0x1bc),_0x23a28c=_0x450b11?_0x4479d6['jhiZr'](quoteShellArg,_0x450b11):'',_0x35ad23=_0x98359?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+_0x630983(0x1fe)+_0x352712+'\x20tracing-start`,\x20then\x20`'+_0x352712+_0x630983(0x1dc)+_0x21fcc6+_0x630983(0x1f2)+_0x352712+_0x630983(0x18d)+_0x597101+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0x352712+_0x630983(0x1ef)+_0x53c8ab+_0x630983(0x1f4)+_0x352712+_0x630983(0x1be):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x352712+'\x20open\x20'+_0x23a28c+'`,\x20then\x20`'+_0x352712+_0x630983(0x211)+_0x352712+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x21fcc6+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x352712+'\x20snapshot\x20--filename\x20'+_0x597101+'`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`'+_0x352712+'\x20screenshot\x20--filename\x20'+_0x53c8ab+_0x630983(0x1a1)+_0x352712+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x2adb53=_0x98359?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0x10110=_0xd6676?_0x630983(0x207)+_0xd6676+_0x630983(0x1a6):'';return _0x630983(0x195)+_0x2f8eb5['description']+_0x135646+_0x7770c6+_0x2e0e40+_0x630983(0x210)+_0x17eb57+'\x0a\x0a'+_0x5512ea+_0x10110+'\x0a\x0a'+_0x35ad23+_0x630983(0x20a)+_0x352712+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x21fcc6+_0x630983(0x1fc)+_0x5a2391+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x1184b5+'`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`'+_0x21fcc6+_0x630983(0x1a3)+_0x8ab09d+'\x22,\x20\x22'+_0x4479d6[_0x630983(0x1a9)](buildCliArtifactPath,_0x21fcc6,_0x4479d6[_0x630983(0x18e)])+'\x22,\x20\x22'+_0x4479d6['qqnHM'](buildCliArtifactPath,_0x21fcc6,'03_result-visible.png')+_0x630983(0x1ca)+_0x4479d6['DasUp'](buildCliArtifactPath,_0x21fcc6,_0x630983(0x1b3))+_0x630983(0x198)+_0x2adb53+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x573b0e){const _0x4e6cb2=_0x623a,_0x4ad67c={'irljC':function(_0x72bea4,_0x3414c5){return _0x72bea4===_0x3414c5;}},_0x247a19=[..._0x573b0e['keys']()]['sort']();let _0x591005=0x0;for(const _0x3eb78d of _0x573b0e[_0x4e6cb2(0x1d2)]()){_0x591005+=_0x3eb78d;}return{'cliCommandCount':_0x591005,'cliCommandsSeen':_0x247a19,'noCliCommandsCalled':_0x4ad67c[_0x4e6cb2(0x1e9)](_0x591005,0x0)};}export function createVerifyFeatureCliHooks(_0x55e384){const _0x4478cb=_0x623a,_0x10d9ee={'YwtPd':function(_0x315cdf,_0x5bee7){return _0x315cdf!==_0x5bee7;},'iVisG':_0x4478cb(0x215),'KOfIt':function(_0x9efb13,_0x30ba76){return _0x9efb13!==_0x30ba76;},'pJWeC':function(_0x148145,_0x43041d){return _0x148145(_0x43041d);},'XrRtt':function(_0x5b99c9,_0x47bee8){return _0x5b99c9+_0x47bee8;},'SSMXk':_0x4478cb(0x1d1),'wKPHG':'playwright-cli','LYiDT':function(_0x4148b6,_0x486adf,_0x268147,_0xd8b5da){return _0x4148b6(_0x486adf,_0x268147,_0xd8b5da);},'lZBwj':function(_0x4a8af1,_0xd9ca34){return _0x4a8af1!==_0xd9ca34;},'RtckG':'PostToolUseFailure'},_0x2aed29=new Map(),_0x5cb701=async _0x12d1de=>{const _0x48324e=_0x4478cb;if(_0x10d9ee[_0x48324e(0x206)](_0x12d1de['hook_event_name'],_0x10d9ee[_0x48324e(0x1c7)]))return{};const _0x473a07=_0x12d1de;if(_0x10d9ee[_0x48324e(0x1a2)](_0x473a07['tool_name'],'Bash'))return{};const _0x3bd5b1=_0x473a07['tool_input'],_0x1e997b=extractBashCommand(_0x3bd5b1);if(!_0x1e997b)return{};const _0x27c328=_0x10d9ee[_0x48324e(0x1db)](parsePlaywrightCliCommand,_0x1e997b);if(!_0x27c328)return{};return _0x2aed29['set'](_0x27c328,_0x10d9ee['XrRtt'](_0x2aed29[_0x48324e(0x1ae)](_0x27c328)||0x0,0x1)),_0x55e384[_0x48324e(0x1b9)](_0x10d9ee['SSMXk'],{'transport':'playwright-cli','toolName':_0x27c328}),_0x55e384['trackPhaseEnd'](_0x10d9ee['SSMXk'],{'transport':_0x10d9ee[_0x48324e(0x1b5)],'toolName':_0x27c328,'bashCommandPreview':truncatePreview(_0x1e997b)}),_0x10d9ee[_0x48324e(0x1a2)](_0x27c328,'snapshot')&&console[_0x48324e(0x196)](_0x10d9ee[_0x48324e(0x1b6)](formatPlaywrightCliConsoleLogMessage,_0x3bd5b1,_0x1e997b,_0x27c328)),{};},_0x4e4f7a=async _0x435b35=>{const _0x3c24e9=_0x4478cb;if(_0x10d9ee[_0x3c24e9(0x1c8)](_0x435b35['hook_event_name'],_0x10d9ee['RtckG']))return{};const _0x4c5703=_0x435b35;if(_0x4c5703[_0x3c24e9(0x1a0)]!==_0x3c24e9(0x1ff))return{};return await _0x55e384[_0x3c24e9(0x1cc)]('tool_failure',_0x4c5703[_0x3c24e9(0x18c)],{'transport':_0x10d9ee[_0x3c24e9(0x1b5)],'toolName':_0x3c24e9(0x1ff)}),{};};return{'postToolUseHook':_0x5cb701,'postToolUseFailureHook':_0x4e4f7a,'commandCounts':_0x2aed29};}function _0x7411(){const _0x23e28b=['notes','slice','pJWeC','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','02_button-clicked.png','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','dPpBQ','trackPhaseEnd','5411853omFApr','\x20>\x20','ZViFV','session-recording.webm','element','>\x20\x22','open\x20browser','tab-select','irljC','content','domRef','length','LjEZX','run-code','\x20screenshot\x20--filename\x20','capture\x20screenshot','keaLk','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','push','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','check\x20','\x20(on\x20element:\x20<','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','01_initial-state.png','snapshot','env','press','`\x0a-\x20`snapshot\x20--filename\x20','sort','\x20open`,\x20then\x20`','Bash','start\x20tracing','kIFBl','5409026wubnLE','8nnTrgE','3131628OVQUWp','`\x0a9.\x20Run\x20`','YwtPd','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','PhZcq','press\x20','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','):\x20\x22','capture\x20step\x20`','fdtPC','BhQIv','pop','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x20tracing-start`,\x20then\x20`','trace.trace.zip','playwright_cli_tracing_stop','open','PostToolUse','commandArgs','error','\x20snapshot\x20--filename\x20','XprJV','map','1GAGvOV','LtpWL','isFile','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','log','5339705PcRuzh','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','jhiZr','tab-new','rAhvx','name','blPxZ','QOWFN','screenshot','tool_name','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','KOfIt','`:\x20\x22','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','...','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','unaddressedComments','trace.zip','DasUp','\x0a\x0a##\x20Additional\x20Notes\x0a','video-stop','CXwLu','replace','get','**\x20(','[playwright-cli]\x20','4616232pnflLk','jmPCR','key_04_success-state.png','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','wKPHG','LYiDT','select\x20tab','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','trackPhaseStart','JugLu','createdAt','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','(?:^|\x5cs)','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','cwd','subcommand','ihnnv','LKvSr','open\x20new\x20tab\x20','00_mozilla-homepage.yml','pesZS','iVisG','lZBwj','UVwLZ','\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22','986526QvxeDN','trackPhaseError','\x0a\x0a1.\x20Run\x20`','invocation','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','target','tool_call','values','split','click','YaPjS','canonicalFlow','fill','639766tZPXSf'];_0x7411=function(){return _0x23e28b;};return _0x7411();}async function runPlaywrightCliLifecycleCommand(_0x3f058b){const _0x5c3ba9=_0x623a,_0x378de0={'HARfK':function(_0x22b6d9,_0xe3713f){return _0x22b6d9(_0xe3713f);},'LaumD':function(_0x2c8770,_0x3e4ceb){return _0x2c8770??_0x3e4ceb;},'Jnpvx':function(_0x24ad97,_0x44e8d6,_0x4949ce){return _0x24ad97(_0x44e8d6,_0x4949ce);}},{sessionId:_0x31ba8b,configPath:_0x3ef113,commandArgs:_0x549a03,env:_0x5073c7,telemetry:_0x26551e,phase:_0x192a43,metadata:_0x2b6480,timeoutMs:_0x5d235c}=_0x3f058b;_0x26551e['trackPhaseStart'](_0x192a43,_0x2b6480);try{const _0x3ec8ac=await _0x378de0['HARfK'](runPlaywrightCliCommand,{'sessionId':_0x31ba8b,'configPath':_0x3ef113,'commandArgs':_0x549a03,'cwd':process[_0x5c3ba9(0x1c0)](),'env':_0x5073c7,'timeoutMs':_0x378de0['LaumD'](_0x5d235c,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x26551e[_0x5c3ba9(0x1e0)](_0x192a43,{..._0x2b6480,'subcommand':_0x3ec8ac[_0x5c3ba9(0x1ce)][_0x5c3ba9(0x1c1)],'stdoutPreview':_0x378de0['Jnpvx'](truncatePreview,_0x3ec8ac['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x3ec8ac['stderr'],0x7d0)});}catch(_0x46a92d){await _0x26551e[_0x5c3ba9(0x1cc)](_0x192a43,_0x46a92d,_0x2b6480);throw _0x46a92d;}}export async function finalizeVerifyFeatureCliSession(_0x256d09){const _0x2b7eda=_0x623a,_0x47e686={'CXwLu':_0x2b7eda(0x213),'LtpWL':'video-stop','yzdCU':'playwright_cli_close','GIFUq':'close'},{telemetry:_0x4a616e,sessionId:_0x5dead7,configPath:_0x5e233e,cliArtifactDir:_0x578850,env:_0x2c2742,transportMetadata:_0x4de42b}=_0x256d09,_0x41835f=[{'phase':_0x47e686[_0x2b7eda(0x1ac)],'commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':[_0x47e686[_0x2b7eda(0x191)],'--filename='+buildCliArtifactPath(_0x578850,_0x2b7eda(0x1e4))]},{'phase':_0x47e686['yzdCU'],'commandArgs':[_0x47e686['GIFUq']]}];for(const _0x217ca0 of _0x41835f){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x5dead7,'configPath':_0x5e233e,'commandArgs':[..._0x217ca0[_0x2b7eda(0x18b)]],'env':_0x2c2742,'telemetry':_0x4a616e,'phase':_0x217ca0['phase'],'metadata':_0x4de42b});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x59fa15){const _0x42ecfe=_0x623a,_0x4ec48e={'xxVnP':_0x42ecfe(0x1a8),'IBhSy':function(_0x36051e,_0x5b9e8f,_0x3bd7fa){return _0x36051e(_0x5b9e8f,_0x3bd7fa);},'INDwg':function(_0x4fbe92,_0x481665){return _0x4fbe92(_0x481665);}},_0x43cd50=[_0x4ec48e['xxVnP'],_0x42ecfe(0x212)];for(const _0x44c1cb of _0x43cd50){const _0x4a3d61=_0x4ec48e['IBhSy'](join,_0x59fa15,_0x44c1cb);try{return{'buffer':await _0x4ec48e['INDwg'](readFile,_0x4a3d61),'source':_0x4a3d61};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x4c9981){const _0x21fb5e=_0x623a,_0x96f456={'fmNrd':function(_0x21245f,_0xdef52e,_0x5c7cd9){return _0x21245f(_0xdef52e,_0x5c7cd9);},'WtEOc':function(_0x579063,_0x54336f){return _0x579063(_0x54336f);},'rAhvx':function(_0x359ee6,_0x4b2c79){return _0x359ee6<_0x4b2c79;},'zAtzX':function(_0x3e70ec,_0xe2dc9){return _0x3e70ec+_0xe2dc9;},'RirIz':function(_0x533977,_0x29d45d){return _0x533977===_0x29d45d;}},{cwd:_0x6ebf49,cliArtifactDir:_0x3dcb3d,startTime:_0x541a3b}=_0x4c9981,_0x5e7b18=[];await _0x96f456['fmNrd'](mkdir,_0x3dcb3d,{'recursive':!![]});const _0x31bb9c=await readdir(_0x6ebf49,{'withFileTypes':!![]});for(const _0x3c7dcd of _0x31bb9c){if(!_0x3c7dcd[_0x21fb5e(0x192)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x3c7dcd['name']))continue;const _0x2e84d8=join(_0x6ebf49,_0x3c7dcd['name']),_0xb2fd53=await _0x96f456['WtEOc'](stat,_0x2e84d8);if(_0x96f456[_0x21fb5e(0x19b)](_0x96f456['zAtzX'](_0xb2fd53['mtimeMs'],0x7d0),_0x541a3b))continue;const _0x57c029=buildCliArtifactPath(_0x3dcb3d,_0x3c7dcd['name']);if(_0x96f456['RirIz'](_0x2e84d8,_0x57c029))continue;await rename(_0x2e84d8,_0x57c029),_0x5e7b18[_0x21fb5e(0x1f3)](_0x3c7dcd[_0x21fb5e(0x19c)]);}return _0x5e7b18[_0x21fb5e(0x1fd)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5e9d6c=_0x28f1;(function(_0x55a7eb,_0x5e9f8b){const _0x3638c5=_0x28f1,_0x492623=_0x55a7eb();while(!![]){try{const _0x3acaca=parseInt(_0x3638c5(0x26a))/0x1+parseInt(_0x3638c5(0x251))/0x2*(parseInt(_0x3638c5(0x273))/0x3)+parseInt(_0x3638c5(0x1e4))/0x4*(parseInt(_0x3638c5(0x1fc))/0x5)+-parseInt(_0x3638c5(0x235))/0x6*(parseInt(_0x3638c5(0x278))/0x7)+-parseInt(_0x3638c5(0x205))/0x8+-parseInt(_0x3638c5(0x1c4))/0x9+parseInt(_0x3638c5(0x1b2))/0xa;if(_0x3acaca===_0x5e9f8b)break;else _0x492623['push'](_0x492623['shift']());}catch(_0x19b651){_0x492623['push'](_0x492623['shift']());}}}(_0x3027,0x943ac));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create','execute',_0x5e9d6c(0x1ef),_0x5e9d6c(0x240),_0x5e9d6c(0x277),'wait-for',_0x5e9d6c(0x1a5),'screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4f59a2,_0x1bf900){const _0x45c5fe={'uOxXw':function(_0x474582,_0x13d937,_0x1c80b1){return _0x474582(_0x13d937,_0x1c80b1);}};return _0x45c5fe['uOxXw'](join,_0x4f59a2,_0x1bf900);}export class NovaActArtifactRecorder{['params'];['browser']=null;[_0x5e9d6c(0x1f5)]=null;[_0x5e9d6c(0x1a6)]=null;[_0x5e9d6c(0x275)]=[];['frameCount']=0x0;['traceSampleCount']=0x0;[_0x5e9d6c(0x1bd)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x5e9d6c(0x1ee)]=![];['stopped']=![];constructor(_0x1b50bb){this['params']=_0x1b50bb;}async[_0x5e9d6c(0x214)](){const _0x157497=_0x5e9d6c,_0x30007f={'ifOTX':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','VWbLj':'nova_act_artifact_recording'};if(this[_0x157497(0x1ee)])return;this[_0x157497(0x1ee)]=!![];const _0x4e0e38=await this[_0x157497(0x270)](),_0xb6628d=_0x4e0e38[_0x157497(0x1dc)];if(!_0xb6628d)throw new Error(_0x157497(0x1bc)+this['params'][_0x157497(0x1ae)][_0x157497(0x252)]);await mkdir(this['params']['cliArtifactDir'],{'recursive':!![]}),this[_0x157497(0x1f4)]=await chromium['connectOverCDP'](_0xb6628d,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x157497(0x1c0)]()[0x0]??null;if(!this['context'])throw new Error(_0x30007f[_0x157497(0x224)]);await this['context']['tracing'][_0x157497(0x214)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x157497(0x1f2)]=!![],this['startTraceSampling'](),await this['startScreencast'](),this[_0x157497(0x1aa)]['telemetry']['trackPhaseStart'](_0x30007f[_0x157497(0x210)],{...this[_0x157497(0x1aa)]['transportMetadata'],'cdpEndpoint':_0xb6628d,'browserPid':_0x4e0e38[_0x157497(0x25b)],'sessionState':_0x4e0e38[_0x157497(0x25f)]}),this['params'][_0x157497(0x20a)]['trackPhaseEnd'](_0x30007f['VWbLj'],{...this[_0x157497(0x1aa)]['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x157497(0x20e)]});}async[_0x5e9d6c(0x26b)](){const _0x125d90=_0x5e9d6c,_0x143a63={'GvEzm':'nova_act_artifact_recording_stop','QRmOz':function(_0x2209d0,_0x50cc55,_0x5ee6c6){return _0x2209d0(_0x50cc55,_0x5ee6c6);}};if(this[_0x125d90(0x21b)])return;this[_0x125d90(0x21b)]=!![];const _0x4d8a29={...this[_0x125d90(0x1aa)]['transportMetadata'],'frameCount':this['frameCount'],'traceSampleCount':this[_0x125d90(0x226)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x125d90(0x20e)]};this['params']['telemetry']['trackPhaseStart'](_0x143a63['GvEzm'],_0x4d8a29);try{await this[_0x125d90(0x1d6)](),await this[_0x125d90(0x21e)](),await this['stopScreencast'](),await Promise[_0x125d90(0x1c8)](this[_0x125d90(0x275)]);this['context']&&this[_0x125d90(0x1f2)]&&await this[_0x125d90(0x1f5)][_0x125d90(0x221)]['stop']({'path':_0x143a63['QRmOz'](buildCliArtifactPath,this[_0x125d90(0x1aa)]['cliArtifactDir'],'trace.zip')});const _0x18cb6c=await this[_0x125d90(0x1af)]();this[_0x125d90(0x1aa)][_0x125d90(0x20a)][_0x125d90(0x1e6)](_0x143a63[_0x125d90(0x271)],{..._0x4d8a29,'videoPath':_0x18cb6c});}catch(_0x486692){await this['params']['telemetry'][_0x125d90(0x1bb)]('nova_act_artifact_recording_stop',_0x486692,_0x4d8a29);}finally{await this[_0x125d90(0x1f4)]?.['close']()['catch'](()=>undefined),this['browser']=null,this[_0x125d90(0x1f5)]=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x20e6d8=_0x5e9d6c,_0x19fa97={'gWUMH':function(_0x4ad813,_0x361d0c,_0x3b3bc0,_0x1d75c0,_0x42f6a6,_0x134481){return _0x4ad813(_0x361d0c,_0x3b3bc0,_0x1d75c0,_0x42f6a6,_0x134481);},'GrUzx':function(_0x3e9ca1){return _0x3e9ca1();},'YExZL':'browser','ZtUxO':'sessions','EsPCO':function(_0x698505,_0x2e09b0,_0x5376b0){return _0x698505(_0x2e09b0,_0x5376b0);},'sPfdT':function(_0x3c8140,_0x5d103a){return _0x3c8140(_0x5d103a);}},_0x204c54=_0x19fa97['gWUMH'](join,_0x19fa97[_0x20e6d8(0x247)](homedir),_0x20e6d8(0x1fa),_0x19fa97[_0x20e6d8(0x243)],_0x19fa97['ZtUxO'],this[_0x20e6d8(0x1aa)][_0x20e6d8(0x1ae)]['sessionId']+_0x20e6d8(0x1ac)),_0x3a3abc=Date['now']();let _0x287731;do{try{const _0x22b9f8=JSON['parse'](await _0x19fa97[_0x20e6d8(0x202)](readFile,_0x204c54,'utf-8'));if(_0x22b9f8[_0x20e6d8(0x1dc)])return _0x22b9f8;_0x287731=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x204c54);}catch(_0x4bc150){_0x287731=_0x4bc150;}await _0x19fa97['sPfdT'](delay,0x64);}while(Date[_0x20e6d8(0x254)]()-_0x3a3abc<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x287731 instanceof Error)throw _0x287731;throw new Error(_0x20e6d8(0x262)+_0x204c54);}async['startScreencast'](){const _0x39c84f=_0x5e9d6c,_0x1989a2={'VmahH':function(_0x770041,_0xe3a975,_0x29117b){return _0x770041(_0xe3a975,_0x29117b);},'nThiE':'Page.screencastFrame','KJESi':'jpeg'};if(!this[_0x39c84f(0x1f5)])return;const _0x39027a=this[_0x39c84f(0x1f5)]['pages']()[0x0];if(!_0x39027a)return;const _0x55bb5c=this['getFrameDir']();await mkdir(_0x55bb5c,{'recursive':!![]});const _0x3bd6dc=await this[_0x39c84f(0x1f5)]['newCDPSession'](_0x39027a);this['frameSession']=_0x3bd6dc,_0x3bd6dc['on'](_0x1989a2['nThiE'],_0x11e3b6=>{const _0x781d7d=_0x39c84f,_0x4ac66b=++this[_0x781d7d(0x23d)],_0x408bc9=_0x1989a2[_0x781d7d(0x216)](join,_0x55bb5c,'frame-'+String(_0x4ac66b)['padStart'](0x6,'0')+_0x781d7d(0x244)),_0x1b9094=writeFile(_0x408bc9,Buffer['from'](_0x11e3b6[_0x781d7d(0x209)],'base64'))[_0x781d7d(0x1f0)](()=>undefined)[_0x781d7d(0x219)](()=>_0x3bd6dc['send'](_0x781d7d(0x255),{'sessionId':_0x11e3b6[_0x781d7d(0x252)]}))['then'](()=>undefined)[_0x781d7d(0x1f0)](()=>undefined);this['frameWrites'][_0x781d7d(0x274)](_0x1b9094);}),await _0x3bd6dc[_0x39c84f(0x1f6)](_0x39c84f(0x1cd),{'format':_0x1989a2[_0x39c84f(0x253)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x39c84f(0x20e)]=!![];}async['stopScreencast'](){const _0x25e70f=_0x5e9d6c,_0x52e305={'ldHMi':_0x25e70f(0x242)};if(!this['frameSession']||!this[_0x25e70f(0x20e)])return;await this[_0x25e70f(0x1a6)][_0x25e70f(0x1f6)](_0x52e305['ldHMi'])['catch'](()=>undefined);}[_0x5e9d6c(0x1b4)](){const _0x4a4342=_0x5e9d6c,_0x43e137={'oYabV':function(_0x21741a,_0x591c34,_0x315824){return _0x21741a(_0x591c34,_0x315824);}};this[_0x4a4342(0x228)](),this['traceSampleTimer']=_0x43e137[_0x4a4342(0x1a9)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x5e9d6c(0x228)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x4e3f65=_0x5e9d6c,_0x2f41f9={'QBEGj':function(_0x8c9271,_0x3a67bc){return _0x8c9271(_0x3a67bc);}};this['traceSampleTimer']&&(_0x2f41f9[_0x4e3f65(0x26f)](clearInterval,this[_0x4e3f65(0x1bd)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x263e77=_0x5e9d6c,_0x4490c1=this['context']?.['pages']()[0x0];if(!_0x4490c1)return;try{await _0x4490c1['locator']('body')[_0x263e77(0x269)](_0x5509cb=>_0x5509cb[_0x263e77(0x22e)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x5e9d6c(0x1af)](){const _0x57afab=_0x5e9d6c,_0xfb3383={'dwhje':function(_0x56113a,_0x391c4b){return _0x56113a<_0x391c4b;},'iOZES':'videos','vyZCQ':function(_0x105b60,_0x972314,_0x10da80){return _0x105b60(_0x972314,_0x10da80);},'AtEHD':_0x57afab(0x21a),'MGEUT':_0x57afab(0x1dd),'gkghc':_0x57afab(0x1a7),'tDABL':_0x57afab(0x25c),'WytDv':_0x57afab(0x220),'EwXmK':_0x57afab(0x223),'xwvrb':'libvpx-vp9','xGhnx':'yuv420p'};if(_0xfb3383[_0x57afab(0x1ab)](this[_0x57afab(0x23d)],0x2))return null;const _0x1acc14=await resolveFfmpegPath();if(!_0x1acc14)return null;const _0x2a229e=join(this['params']['cliArtifactDir'],_0xfb3383['iOZES']);await _0xfb3383['vyZCQ'](mkdir,_0x2a229e,{'recursive':!![]});const _0x574df1=join(_0x2a229e,_0xfb3383['AtEHD']);return await execFileAsync(_0x1acc14,['-y',_0xfb3383[_0x57afab(0x1d3)],_0xfb3383['gkghc'],_0xfb3383[_0x57afab(0x20d)],_0x57afab(0x1f8),'10','-i',join(this['getFrameDir'](),'frame-%06d.jpg'),_0xfb3383['WytDv'],_0x57afab(0x263),_0xfb3383[_0x57afab(0x1e8)],_0xfb3383[_0x57afab(0x1d7)],'-pix_fmt',_0xfb3383[_0x57afab(0x24a)],_0x574df1]),_0x574df1;}[_0x5e9d6c(0x218)](){const _0x29a9f5=_0x5e9d6c;return join(this[_0x29a9f5(0x1aa)][_0x29a9f5(0x1c3)],'nova-video-frames');}}async function delay(_0xaa4afb){await new Promise(_0x37f096=>setTimeout(_0x37f096,_0xaa4afb));}async function resolveFfmpegPath(){const _0x3e8a4c=_0x5e9d6c,_0x1efa19={'SuWkf':_0x3e8a4c(0x27a),'tBRRT':function(_0x50c447,_0x706d91,_0x7738ae,_0x5006f6,_0x233f3f){return _0x50c447(_0x706d91,_0x7738ae,_0x5006f6,_0x233f3f);},'jhwHg':function(_0x550d2a,_0xa3f4e8,_0x4a2d6a,_0x3687fb){return _0x550d2a(_0xa3f4e8,_0x4a2d6a,_0x3687fb);},'eCuyp':_0x3e8a4c(0x1fd),'ftadd':function(_0x3f9d7f,_0x2fb268){return _0x3f9d7f(_0x2fb268);}};if(await canRunFfmpeg('ffmpeg'))return _0x1efa19[_0x3e8a4c(0x237)];const _0x38a6f9=[_0x1efa19[_0x3e8a4c(0x1d4)](join,homedir(),'Library','Caches',_0x3e8a4c(0x1fd)),_0x1efa19[_0x3e8a4c(0x20b)](join,homedir(),_0x3e8a4c(0x279),_0x1efa19[_0x3e8a4c(0x268)])];for(const _0x247c52 of _0x38a6f9){try{const _0x30cd31=await _0x1efa19[_0x3e8a4c(0x1fb)](readdir,_0x247c52),_0x2aa4d5=_0x30cd31[_0x3e8a4c(0x23c)](_0x4d83af=>_0x4d83af[_0x3e8a4c(0x21c)](_0x3e8a4c(0x1e1)))[_0x3e8a4c(0x1b1)]()['reverse']()['flatMap'](_0x400804=>[join(_0x247c52,_0x400804,'ffmpeg-mac'),join(_0x247c52,_0x400804,_0x3e8a4c(0x1d1)),join(_0x247c52,_0x400804,_0x3e8a4c(0x24e))]);for(const _0x10a733 of _0x2aa4d5){if(await canRunFfmpeg(_0x10a733))return _0x10a733;}}catch{}}return null;}async function canRunFfmpeg(_0x4b6102){const _0x39ef55=_0x5e9d6c,_0x26e160={'pSZcF':function(_0xbafe5,_0x1a0fa7,_0x5d79d8){return _0xbafe5(_0x1a0fa7,_0x5d79d8);},'WxEAx':'-version'};try{return await _0x26e160[_0x39ef55(0x230)](execFileAsync,_0x4b6102,[_0x26e160[_0x39ef55(0x236)]]),!![];}catch{return![];}}function _0x3027(){const _0x2b1888=['5536341sRruVv','get','Kbsfv','SzJsZ','allSettled','nova_act_final_screenshot','nova_act_session_close','[nova-act-cli]\x20','nova-user-data/*','Page.startScreencast','capture\x20snapshot','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','nova-act-cli','ffmpeg-linux','gmMDy','MGEUT','tBRRT','VlbFd','stopTraceSampling','xwvrb','XcheC','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','RRQuM','uliXq','cdp_endpoint','-hide_banner','psovO','unaddressedComments','description','ffmpeg-','wait-for','>\x20\x22','536tOlpVz','waCdP','trackPhaseEnd','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','EwXmK','ZuDht','final-state.yaml','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','shellCommand','navigate\x20browser','startAttempted','verify','catch','\x20screenshot\x20--output\x20','tracingStarted','execute','browser','context','send','RrYCG','-framerate','toLocaleDateString','.act_cli','ftadd','27165JoIICd','ms-playwright','ask\x20page\x20question','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','gUVAu','session','EsPCO','tJhDf','zip','4708536lkJDnq','Xqzir','trackPhaseStart','hNFIX','data','telemetry','jhwHg','nova-session-export.json','tDABL','screencastStarted','verify\x20page\x20condition','VWbLj','short','json','zvyYW','start','yPJqf','VmahH','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','getFrameDir','finally','session-recording.webm','stopped','startsWith','nova_act_final_snapshot','captureTraceSample','args','-vf','tracing','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','-c:v','ifOTX','PostToolUseFailure','traceSampleCount','Bash','queueTraceSample','domRef','nova_act_session_export','close','key_03_success-state.png','trim','tagName','stderr','pSZcF','02_final-state.yml','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','content','YBMRV','12ANAQhl','WxEAx','SuWkf','session\x20create','irWAA','\x0a\x0aExamples:\x0a-\x20`','log','filter','frameCount','authorEmail','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','ask','zsOpK','Page.stopScreencast','YExZL','.jpg','create\x20Nova\x20browser\x20session','nova_act_command','GrUzx','selector','\x20>\x20','xGhnx','aTnUZ','`\x0a-\x20`','mtimeMs','ffmpeg.exe','\x20snapshot\x20--output\x20','OrRZR','208070gaXVjF','sessionId','KJESi','now','Page.screencastFrameAck','00_initial-state.yml','-\x20[','03_final-state.png','nWJtf','\x0a\x0a##\x20Additional\x20Notes\x0a','browser_pid','error','CFHiG','pop','state','ndaGa','test','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','scale=trunc(iw/2)*2:trunc(ih/2)*2','session\x20export','canonicalFlow','commandArgs','hook_event_name','eCuyp','evaluate','35453IWhzdp','stop','sakPe','replace','CTWWf','QBEGj','readSessionMetadataWithRetry','GvEzm','env','12TudhGC','push','frameWrites','sMFde','goto','2875187HfqbuZ','.cache','ffmpeg','01_initial.yml','cUkMF','snapshot','frameSession','-loglevel','`\x0a4.\x20Run\x20one\x20batched\x20`','oYabV','params','dwhje','.json','subcommand','novaOptions','encodeScreencastVideo','HNgWt','sort','14527310vYCEhP','GhFGG','startTraceSampling','split','screenshot','):\x20\x22','name','--format','AmIcO','trackPhaseError','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','traceSampleTimer','rqPwX','map','contexts','\x20session\x20create\x20','key_final-state.png','cliArtifactDir'];_0x3027=function(){return _0x2b1888;};return _0x3027();}function toStepDisplayName(_0x57456a){const _0x19eb51=_0x5e9d6c,_0x29ea19={'HNgWt':function(_0x1b0eac,_0x23b2ad){return _0x1b0eac(_0x23b2ad);}},_0x31abd6=basename(_0x57456a)[_0x19eb51(0x26d)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x19eb51(0x26d)](/^\d+_/,'')[_0x19eb51(0x26d)](/-/g,'\x20');return{'name':_0x31abd6,'isKeyStep':/^key_/i['test'](_0x29ea19[_0x19eb51(0x1b0)](basename,_0x57456a))};}function extractShellValue(_0x204f33){if(!_0x204f33)return null;return _0x204f33[0x1]??_0x204f33[0x2]??_0x204f33[0x3]??null;}function extractOutputOption(_0x3e1c14){const _0x4839d8={'MDTNR':function(_0x257576,_0x22e132){return _0x257576(_0x22e132);}};return _0x4839d8['MDTNR'](extractShellValue,_0x3e1c14['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0xb03a79,_0x18c633){const _0x2bdca8=_0x5e9d6c,_0x5919e1={'jhIHJ':_0x2bdca8(0x1f3),'SzJsZ':'ask','eCFZb':_0x2bdca8(0x1fe),'gLAPd':'goto','GhFGG':'wait\x20for\x20page\x20condition','afjMI':function(_0x465d1c,_0x59820d){return _0x465d1c(_0x59820d);},'xyTzt':_0x2bdca8(0x1ce),'tKfpu':function(_0x35a60b,_0x2ce9e4){return _0x35a60b(_0x2ce9e4);},'DSIWI':_0x2bdca8(0x264)};switch(_0x18c633){case _0x2bdca8(0x238):return _0x2bdca8(0x245);case _0x5919e1['jhIHJ']:return'execute\x20Nova\x20browser\x20action';case'verify':return _0x2bdca8(0x20f);case _0x5919e1[_0x2bdca8(0x1c7)]:return _0x5919e1['eCFZb'];case _0x5919e1['gLAPd']:return _0x2bdca8(0x1ed);case _0x2bdca8(0x1e2):return _0x5919e1[_0x2bdca8(0x1b3)];case'snapshot':{const _0x3813f0=_0x5919e1['afjMI'](extractOutputOption,_0xb03a79);if(!_0x3813f0)return _0x5919e1['xyTzt'];const {name:_0x43829e}=_0x5919e1['tKfpu'](toStepDisplayName,_0x3813f0);return'capture\x20snapshot\x20`'+_0x43829e+'`';}case'screenshot':{const _0x33a446=extractOutputOption(_0xb03a79);if(!_0x33a446)return'capture\x20screenshot';const {name:_0xa9ef45,isKeyStep:_0x2f318e}=toStepDisplayName(_0x33a446);return _0x2f318e?'capture\x20key\x20step\x20`'+_0xa9ef45+'`':'capture\x20step\x20`'+_0xa9ef45+'`';}case _0x5919e1['DSIWI']:return'export\x20Nova\x20session';default:return _0x18c633;}}function getNovaActCliCommandBlockReason(_0x2e7e3d){const _0x19b61b=_0x5e9d6c,_0x17f067={'YBMRV':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.'},_0xaa1938=parseNovaActCliCommand(_0x2e7e3d);if(!_0xaa1938)return _0x19b61b(0x1e7);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0xaa1938))return'Nova\x20command\x20`'+_0xaa1938+_0x19b61b(0x222);if(_0xaa1938==='verify'&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x19b61b(0x261)](_0x2e7e3d))return _0x17f067[_0x19b61b(0x234)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2e7e3d))return _0x19b61b(0x1eb);return null;}function buildFeedbackSection(_0x509e47){const _0x48c758=_0x5e9d6c,_0x8af688={'hNFIX':'en-US','bXbul':_0x48c758(0x211),'ZkmTi':'Reviewer','waCdP':_0x48c758(0x249),'psovO':'element'};if(!_0x509e47||_0x509e47['unaddressedComments']['length']===0x0)return'';const _0x170ba6=_0x509e47[_0x48c758(0x1df)][_0x48c758(0x1bf)](_0x44da06=>{const _0x20badd=_0x48c758,_0x25e691=new Date(_0x44da06['createdAt'])[_0x20badd(0x1f9)](_0x8af688[_0x20badd(0x208)],{'month':_0x8af688['bXbul'],'day':'numeric'}),_0x25a282=_0x44da06['authorName']||_0x44da06[_0x20badd(0x23e)]||_0x8af688['ZkmTi'],_0x5605cb=_0x44da06[_0x20badd(0x229)]?'\x20(on\x20element:\x20<'+(_0x44da06[_0x20badd(0x229)][_0x20badd(0x248)]['split'](_0x8af688[_0x20badd(0x1e5)])[_0x20badd(0x25e)]()?.[_0x20badd(0x1b5)](':')[0x0]||_0x8af688[_0x20badd(0x1de)])+_0x20badd(0x1e3)+(_0x44da06['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x20badd(0x257)+_0x44da06['id']+']\x20**'+_0x25a282+'**\x20('+_0x25e691+_0x20badd(0x1b7)+_0x44da06[_0x20badd(0x233)]+'\x22'+_0x5605cb;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x170ba6;}function _0x28f1(_0x48c94c,_0xc94c4b){_0x48c94c=_0x48c94c-0x1a5;const _0x302767=_0x3027();let _0x28f1d1=_0x302767[_0x48c94c];return _0x28f1d1;}function buildNovaSharedOptionsInstruction(_0x285211){const _0x5ccb49=_0x5e9d6c;if(!_0x285211[_0x5ccb49(0x22d)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x285211;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x50f66b){const _0x172e10=_0x5e9d6c,_0xc5e0a7={'uliXq':function(_0x663094,_0x5f25b8,_0x5bff0f){return _0x663094(_0x5f25b8,_0x5bff0f);},'uOJkL':'01_initial-state.png','cUkMF':function(_0x1e46af,_0x36fb1c,_0x674175){return _0x1e46af(_0x36fb1c,_0x674175);},'zsOpK':_0x172e10(0x258),'sakPe':function(_0x265ea1,_0x4212ca){return _0x265ea1(_0x4212ca);}},{novaCommandPrefix:_0x241609,novaSharedOptionsSuffix:_0x5474f7,cliArtifactDir:_0x4df2ff,url:_0x2d79f3}=_0x50f66b,_0x449a7b=_0xc5e0a7[_0x172e10(0x1db)](buildCliArtifactPath,_0x4df2ff,_0x172e10(0x256)),_0x27146f=_0xc5e0a7['uliXq'](buildCliArtifactPath,_0x4df2ff,_0xc5e0a7['uOJkL']),_0x52c517=_0xc5e0a7[_0x172e10(0x27c)](buildCliArtifactPath,_0x4df2ff,_0x172e10(0x231)),_0x390dd5=buildCliArtifactPath(_0x4df2ff,_0xc5e0a7[_0x172e10(0x241)]);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x241609+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x5474f7)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x241609+'\x20session\x20create\x20'+quoteShellArg(_0x2d79f3)+'\x20'+_0x5474f7+'`\x0a2.\x20Run\x20`'+_0x241609+'\x20snapshot\x20--output\x20'+_0xc5e0a7[_0x172e10(0x26c)](quoteShellArg,_0x449a7b)+'\x20'+_0x5474f7+'`\x0a3.\x20Run\x20`'+_0x241609+_0x172e10(0x1f1)+_0xc5e0a7[_0x172e10(0x26c)](quoteShellArg,_0x27146f)+'\x20'+_0x5474f7+_0x172e10(0x1a8)+_0x241609+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x241609+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x52c517)+'\x20'+_0x5474f7+'`\x0a6.\x20Run\x20`'+_0x241609+'\x20screenshot\x20--output\x20'+_0xc5e0a7['sakPe'](quoteShellArg,_0x390dd5)+'\x20'+_0x5474f7+_0x172e10(0x232)+_0x4df2ff+_0x172e10(0x217);}export function buildVerifyFeatureNovaCliPrompt(_0x1a08b0){const _0x351090=_0x5e9d6c,_0x16ef25={'nWJtf':function(_0x213211,_0x3b2a17){return _0x213211(_0x3b2a17);},'AZcFw':function(_0x512fe6,_0x1371f4,_0x41db71){return _0x512fe6(_0x1371f4,_0x41db71);},'JCxxv':_0x351090(0x27b),'sMFde':'01_initial-state.png','RrYCG':_0x351090(0x22c),'MjhTg':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`'},{checklistItem:_0x3c7c31,itemFeedback:_0x1470b7,taskDescription:_0x5ad98c,novaCommandPrefix:_0xd37a60,novaSharedOptionsSuffix:_0x480adf,cliArtifactDir:_0x5a267c,url:_0x55ccdd,loginInstructions:_0x32810c}=_0x1a08b0,_0x3337fe=_0x3c7c31['notes']?_0x351090(0x25a)+_0x3c7c31['notes']:'',_0x373145=_0x16ef25[_0x351090(0x259)](buildFeedbackSection,_0x1470b7),_0x219a3d=_0x1470b7?.[_0x351090(0x265)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1470b7['canonicalFlow']:'',_0x4d34bd=_0x32810c?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x32810c+_0x351090(0x1ff):'',_0x2fd240=_0x16ef25['AZcFw'](buildCliArtifactPath,_0x5a267c,_0x16ef25['JCxxv']),_0x2fa17e=_0x16ef25['AZcFw'](buildCliArtifactPath,_0x5a267c,_0x16ef25[_0x351090(0x276)]),_0x3d2225=buildCliArtifactPath(_0x5a267c,_0x16ef25[_0x351090(0x1f7)]);return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x3c7c31[_0x351090(0x1e0)]+_0x3337fe+_0x373145+_0x219a3d+_0x351090(0x1cf)+_0x5ad98c+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x55ccdd+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a'+_0x4d34bd+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0xd37a60+_0x351090(0x1c1)+_0x16ef25[_0x351090(0x259)](quoteShellArg,_0x55ccdd)+'\x20'+_0x480adf+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5a267c+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0xd37a60+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x2fd240)+'\x20'+_0x480adf+_0x351090(0x23f)+_0xd37a60+_0x351090(0x1f1)+_0x16ef25['nWJtf'](quoteShellArg,_0x2fa17e)+'\x20'+_0x480adf+'`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`'+_0x3d2225+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0xd37a60+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x480adf[_0x351090(0x22d)]()?'`'+_0x480adf+'`':_0x16ef25['MjhTg'])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x480adf)+_0x351090(0x23a)+_0xd37a60+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x480adf+_0x351090(0x24c)+_0xd37a60+_0x351090(0x1d9)+_0x480adf+_0x351090(0x24c)+_0xd37a60+_0x351090(0x24f)+quoteShellArg(_0x2fd240)+'\x20'+_0x480adf+_0x351090(0x24c)+_0xd37a60+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3d2225)+'\x20'+_0x480adf+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x254881){const _0x4f6e94=[..._0x254881['keys']()]['sort']();let _0x55a1c2=0x0;for(const _0x518326 of _0x254881['values']()){_0x55a1c2+=_0x518326;}return{'cliCommandCount':_0x55a1c2,'cliCommandsSeen':_0x4f6e94,'noCliCommandsCalled':_0x55a1c2===0x0};}export function createVerifyFeatureNovaCliHooks(_0x2c302f,_0x2d2f98){const _0x1f5ca5=_0x5e9d6c,_0xe6fa4e={'VlbFd':function(_0xfb12ea,_0x5c5df4){return _0xfb12ea!==_0x5c5df4;},'FmGNk':'PreToolUse','zvyYW':function(_0x3ff3bd,_0x3561a0){return _0x3ff3bd!==_0x3561a0;},'tJhDf':function(_0x4aa0fb,_0x2c1ef5){return _0x4aa0fb(_0x2c1ef5);},'FkAGw':'block','yPJqf':'PostToolUse','RRQuM':function(_0x29b62d,_0xcaeb42){return _0x29b62d(_0xcaeb42);},'CFHiG':_0x1f5ca5(0x246),'ZuDht':'session\x20create','spJfq':'nova_act_artifact_recording','Kbsfv':function(_0x3a61fb,_0x94b31b){return _0x3a61fb!==_0x94b31b;},'xTHUk':'nova_act_command_failure','EHoRr':_0x1f5ca5(0x1d0),'aVjIe':'Bash'},_0x15afd7=new Map(),_0x5b604f=async _0x319116=>{const _0xe6852f=_0x1f5ca5;if(_0xe6fa4e[_0xe6852f(0x1d5)](_0x319116[_0xe6852f(0x267)],_0xe6fa4e['FmGNk']))return{};const _0x2fc5f1=_0x319116;if(_0xe6fa4e[_0xe6852f(0x213)](_0x2fc5f1['tool_name'],_0xe6852f(0x227)))return{};const _0x5169cd=_0x2fc5f1['tool_input'],_0x1ad88a=_0xe6fa4e[_0xe6852f(0x203)](extractBashCommand,_0x5169cd);if(!_0x1ad88a)return{};const _0x43a154=getNovaActCliCommandBlockReason(_0x1ad88a);if(!_0x43a154)return{};return{'decision':_0xe6fa4e['FkAGw'],'reason':_0x43a154};},_0x188609=async _0x2f72b2=>{const _0x5974d9=_0x1f5ca5;if(_0xe6fa4e[_0x5974d9(0x1d5)](_0x2f72b2[_0x5974d9(0x267)],_0xe6fa4e[_0x5974d9(0x215)]))return{};const _0x10b824=_0x2f72b2;if(_0x10b824['tool_name']!=='Bash')return{};const _0xad8b41=_0x10b824['tool_input'],_0x44d2bb=_0xe6fa4e[_0x5974d9(0x203)](extractBashCommand,_0xad8b41);if(!_0x44d2bb)return{};const _0x35c04a=_0xe6fa4e[_0x5974d9(0x1da)](parseNovaActCliCommand,_0x44d2bb);if(!_0x35c04a)return{};_0x15afd7['set'](_0x35c04a,(_0x15afd7[_0x5974d9(0x1c5)](_0x35c04a)||0x0)+0x1),_0x2c302f[_0x5974d9(0x207)](_0xe6fa4e['CFHiG'],{'subcommand':_0x35c04a}),_0x2c302f['trackPhaseEnd'](_0xe6fa4e[_0x5974d9(0x25d)],{'subcommand':_0x35c04a,'commandPreview':_0xe6fa4e['RRQuM'](previewNovaActCliCommand,_0x44d2bb)}),console[_0x5974d9(0x23b)](_0x5974d9(0x1cb)+formatNovaActCliLog(_0x44d2bb,_0x35c04a));if(_0x35c04a===_0xe6fa4e[_0x5974d9(0x1e9)]&&_0x2d2f98)try{await _0x2d2f98[_0x5974d9(0x214)]();}catch(_0x56cda6){await _0x2c302f[_0x5974d9(0x1bb)](_0xe6fa4e['spJfq'],_0x56cda6,{'transport':'nova-act-cli'});}return{};},_0x373850=async _0x34c076=>{const _0x2dcddb=_0x1f5ca5;if(_0xe6fa4e[_0x2dcddb(0x1c6)](_0x34c076[_0x2dcddb(0x267)],_0x2dcddb(0x225)))return{};const _0x5330ce=_0x34c076;if(_0x5330ce['tool_name']!=='Bash')return{};return await _0x2c302f[_0x2dcddb(0x1bb)](_0xe6fa4e['xTHUk'],_0x5330ce[_0x2dcddb(0x25c)],{'transport':_0xe6fa4e['EHoRr'],'toolName':_0xe6fa4e['aVjIe']}),{};};return{'preToolUseHook':_0x5b604f,'postToolUseHook':_0x188609,'postToolUseFailureHook':_0x373850,'commandCounts':_0x15afd7};}async function runNovaLifecycleCommand(_0x5ef239){const _0x4d0fb=_0x5e9d6c,_0x20e486={'gmMDy':function(_0x33b99c,_0x1f060c){return _0x33b99c(_0x1f060c);},'eTlGg':function(_0x3030bc,_0x4b6145){return _0x3030bc??_0x4b6145;},'CTWWf':function(_0x22b53c,_0x19afce){return _0x22b53c(_0x19afce);},'LvvFk':function(_0x1122d5,_0x513c85){return _0x1122d5(_0x513c85);}},{novaOptions:_0x1ae593,commandArgs:_0x45a5c,telemetry:_0x556191,phase:_0x17dcaa,metadata:_0x5b34ad,timeoutMs:_0x337856}=_0x5ef239;_0x556191[_0x4d0fb(0x207)](_0x17dcaa,_0x5b34ad);try{const _0x1c2ddb=await _0x20e486['gmMDy'](runNovaActCliCommand,{..._0x1ae593,'commandArgs':_0x45a5c,'cwd':process['cwd'](),'env':process[_0x4d0fb(0x272)],'timeoutMs':_0x20e486['eTlGg'](_0x337856,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x556191['trackPhaseEnd'](_0x17dcaa,{..._0x5b34ad,'subcommand':_0x1c2ddb['invocation'][_0x4d0fb(0x1ad)],'commandPreview':_0x20e486[_0x4d0fb(0x1d2)](previewNovaActCliCommand,_0x1c2ddb['invocation'][_0x4d0fb(0x1ec)]),'stdoutPreview':_0x20e486[_0x4d0fb(0x26e)](previewNovaActCliCommand,_0x1c2ddb['stdout']),'stderrPreview':_0x20e486['LvvFk'](previewNovaActCliCommand,_0x1c2ddb[_0x4d0fb(0x22f)]),'logDir':extractNovaActLogDir(_0x1c2ddb['stdout'])});}catch(_0x593f23){await _0x556191['trackPhaseError'](_0x17dcaa,_0x593f23,_0x5b34ad);throw _0x593f23;}}export async function finalizeVerifyFeatureNovaCliSession(_0x518a33){const _0x3d6e89=_0x5e9d6c,_0x9d9c9f={'BXIRM':function(_0x3f181b,_0x4d405b,_0x353df5){return _0x3f181b(_0x4d405b,_0x353df5);},'AmIcO':_0x3d6e89(0x1a5),'HXacY':'--output','ZfVBa':function(_0x42331f,_0xed4d20,_0x137ca8){return _0x42331f(_0xed4d20,_0x137ca8);},'pdMLB':_0x3d6e89(0x20c),'mBIja':'session','XcheC':'export','eobFs':function(_0x55c48d,_0x1d82fa,_0x412759){return _0x55c48d(_0x1d82fa,_0x412759);},'UXGTG':'nova_act_session_close','OrRZR':_0x3d6e89(0x22b),'VXymw':function(_0x4cfaa4,_0x1d861a){return _0x4cfaa4===_0x1d861a;},'aTnUZ':function(_0x33244c,_0x5539ab){return _0x33244c(_0x5539ab);}},{telemetry:_0x1db2a3,novaOptions:_0x2c7f85,cliArtifactDir:_0xa96742,transportMetadata:_0x529895,artifactRecorder:_0xffd9ca}=_0x518a33,_0xb0385f=[{'phase':_0x3d6e89(0x1c9),'commandArgs':[_0x3d6e89(0x1b6),'--output',_0x9d9c9f['BXIRM'](buildCliArtifactPath,_0xa96742,_0x3d6e89(0x1c2))]},{'phase':_0x3d6e89(0x21d),'commandArgs':[_0x9d9c9f[_0x3d6e89(0x1ba)],_0x9d9c9f['HXacY'],_0x9d9c9f['BXIRM'](buildCliArtifactPath,_0xa96742,_0x3d6e89(0x1ea))]},{'phase':_0x3d6e89(0x22a),'commandArgs':[_0x3d6e89(0x201),'export',_0x3d6e89(0x1b9),_0x3d6e89(0x212),'--output',_0x9d9c9f['ZfVBa'](buildCliArtifactPath,_0xa96742,_0x9d9c9f['pdMLB'])]},{'phase':'nova_act_session_report','commandArgs':[_0x9d9c9f['mBIja'],_0x9d9c9f[_0x3d6e89(0x1d8)],'--report','--output-dir',_0x9d9c9f['eobFs'](buildCliArtifactPath,_0xa96742,'nova-report')]},{'phase':_0x9d9c9f['UXGTG'],'commandArgs':['session',_0x9d9c9f[_0x3d6e89(0x250)]]}];for(const _0xf77f68 of _0xb0385f){_0x9d9c9f['VXymw'](_0xf77f68['phase'],_0x3d6e89(0x1ca))&&await _0xffd9ca?.['stop']();try{await _0x9d9c9f[_0x3d6e89(0x24b)](runNovaLifecycleCommand,{'novaOptions':_0x2c7f85,'commandArgs':[..._0xf77f68[_0x3d6e89(0x266)]],'telemetry':_0x1db2a3,'phase':_0xf77f68['phase'],'metadata':_0x529895});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x4715ed){const _0x48f79f=_0x5e9d6c,_0xe19234={'irWAA':function(_0x1f4dda,_0x18343e,_0x3c017f){return _0x1f4dda(_0x18343e,_0x3c017f);},'gUVAu':function(_0x5ce57c,_0x3fae66){return _0x5ce57c(_0x3fae66);},'rqPwX':function(_0x4c66b3,_0x2a37ab){return _0x4c66b3<_0x2a37ab;},'qUeoA':function(_0x29654d,_0x58ed44){return _0x29654d+_0x58ed44;},'Xqzir':function(_0x49ff71,_0xca21f2){return _0x49ff71===_0xca21f2;}},{cwd:_0x48df82,cliArtifactDir:_0x5bf5c5,startTime:_0x2875df}=_0x4715ed,_0x47c36b=[];await mkdir(_0x5bf5c5,{'recursive':!![]});const _0x59ef09=await _0xe19234[_0x48f79f(0x239)](readdir,_0x48df82,{'withFileTypes':!![]});for(const _0x21a36d of _0x59ef09){if(!_0x21a36d['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x21a36d[_0x48f79f(0x1b8)]))continue;const _0xb1e9bc=join(_0x48df82,_0x21a36d[_0x48f79f(0x1b8)]),_0x3ffa24=await _0xe19234[_0x48f79f(0x200)](stat,_0xb1e9bc);if(_0xe19234[_0x48f79f(0x1be)](_0xe19234['qUeoA'](_0x3ffa24[_0x48f79f(0x24d)],0x7d0),_0x2875df))continue;const _0x2bdc29=buildCliArtifactPath(_0x5bf5c5,_0x21a36d['name']);if(_0xe19234[_0x48f79f(0x206)](_0xb1e9bc,_0x2bdc29))continue;await rename(_0xb1e9bc,_0x2bdc29),_0x47c36b[_0x48f79f(0x274)](_0x21a36d[_0x48f79f(0x1b8)]);}return _0x47c36b['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x2210f3){const _0x117d2e=_0x5e9d6c,_0x44f319={'ndaGa':function(_0x221592,_0x4191a7){return _0x221592(_0x4191a7);}},_0x3d5f51=join(_0x2210f3,'trace.zip');try{return{'buffer':await _0x44f319['ndaGa'](readFile,_0x3d5f51),'source':_0x3d5f51};}catch{return{'buffer':await _0x44f319[_0x117d2e(0x260)](zipVerifyFeatureNovaArtifacts,_0x2210f3),'source':_0x2210f3};}}async function zipVerifyFeatureNovaArtifacts(_0x4438a7){const _0x54bbb5=_0x5e9d6c,_0x3ab729={'TXRVp':'-qr'},_0x3dcdd7=join(_0x4438a7,'..','nova-artifacts.zip');try{return await execFileAsync(_0x54bbb5(0x204),[_0x3ab729['TXRVp'],_0x3dcdd7,'.','-x',_0x54bbb5(0x1cc)],{'cwd':_0x4438a7}),await readFile(_0x3dcdd7);}finally{await rm(_0x3dcdd7,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x7e2bc3){const _0x13d297=_0x5e9d6c,_0x39a756=buildNovaActCliInvocation(_0x7e2bc3['novaOptions'],_0x7e2bc3[_0x13d297(0x266)]);return{'command':_0x39a756['command'],'args':_0x39a756[_0x13d297(0x21f)],'commandPreview':previewNovaActCliCommand(_0x39a756['shellCommand']),'subcommand':_0x39a756['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x7e2bc3['novaOptions'],_0x7e2bc3[_0x13d297(0x266)])};}
|
|
1
|
+
const _0x4a93a9=_0x2831;(function(_0x45d61d,_0x181101){const _0x2ae5ac=_0x2831,_0x148f11=_0x45d61d();while(!![]){try{const _0x3ffce0=-parseInt(_0x2ae5ac(0x25a))/0x1*(-parseInt(_0x2ae5ac(0x1ed))/0x2)+-parseInt(_0x2ae5ac(0x227))/0x3+-parseInt(_0x2ae5ac(0x202))/0x4*(parseInt(_0x2ae5ac(0x26b))/0x5)+-parseInt(_0x2ae5ac(0x1e6))/0x6*(parseInt(_0x2ae5ac(0x223))/0x7)+-parseInt(_0x2ae5ac(0x24c))/0x8*(parseInt(_0x2ae5ac(0x289))/0x9)+-parseInt(_0x2ae5ac(0x1c2))/0xa*(-parseInt(_0x2ae5ac(0x1cd))/0xb)+parseInt(_0x2ae5ac(0x231))/0xc*(parseInt(_0x2ae5ac(0x29d))/0xd);if(_0x3ffce0===_0x181101)break;else _0x148f11['push'](_0x148f11['shift']());}catch(_0x54c59e){_0x148f11['push'](_0x148f11['shift']());}}}(_0x559d,0x8aa67));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';function _0x2831(_0x4e699f,_0x373719){_0x4e699f=_0x4e699f-0x1bb;const _0x559d38=_0x559d();let _0x28314e=_0x559d38[_0x4e699f];return _0x28314e;}import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set([_0x4a93a9(0x225),_0x4a93a9(0x1e3),_0x4a93a9(0x25d),_0x4a93a9(0x20a),'goto',_0x4a93a9(0x280),'snapshot',_0x4a93a9(0x201)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x4e3e35,_0x4bb2d6){return join(_0x4e3e35,_0x4bb2d6);}export class NovaActArtifactRecorder{['params'];[_0x4a93a9(0x29f)]=null;[_0x4a93a9(0x27c)]=null;[_0x4a93a9(0x29b)]=null;['frameWrites']=[];['frameCount']=0x0;[_0x4a93a9(0x269)]=0x0;['traceSampleTimer']=null;[_0x4a93a9(0x279)]=null;[_0x4a93a9(0x262)]=![];['screencastStarted']=![];['startAttempted']=![];[_0x4a93a9(0x285)]=![];constructor(_0x13ca4f){this['params']=_0x13ca4f;}async[_0x4a93a9(0x254)](){const _0x2fe0c0=_0x4a93a9,_0x402487={'sySEQ':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','lTXOh':_0x2fe0c0(0x1d1)};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x2e015e=await this[_0x2fe0c0(0x246)](),_0x32b029=_0x2e015e['cdp_endpoint'];if(!_0x32b029)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions'][_0x2fe0c0(0x268)]);await mkdir(this['params'][_0x2fe0c0(0x213)],{'recursive':!![]}),this['browser']=await chromium[_0x2fe0c0(0x1d6)](_0x32b029,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x2fe0c0(0x29f)]['contexts']()[0x0]??null;if(!this[_0x2fe0c0(0x27c)])throw new Error(_0x402487['sySEQ']);await this[_0x2fe0c0(0x27c)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x2fe0c0(0x262)]=!![],this[_0x2fe0c0(0x297)](),await this[_0x2fe0c0(0x283)](),this[_0x2fe0c0(0x240)]['telemetry']['trackPhaseStart'](_0x2fe0c0(0x1d1),{...this[_0x2fe0c0(0x240)][_0x2fe0c0(0x1d2)],'cdpEndpoint':_0x32b029,'browserPid':_0x2e015e['browser_pid'],'sessionState':_0x2e015e['state']}),this[_0x2fe0c0(0x240)][_0x2fe0c0(0x226)][_0x2fe0c0(0x1d3)](_0x402487[_0x2fe0c0(0x224)],{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x2fe0c0(0x1df)]});}async[_0x4a93a9(0x22c)](){const _0x384f76=_0x4a93a9;if(this[_0x384f76(0x285)])return;this['stopped']=!![];const _0x1aa844={...this['params'][_0x384f76(0x1d2)],'frameCount':this[_0x384f76(0x27b)],'traceSampleCount':this[_0x384f76(0x269)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x384f76(0x1df)]};this['params'][_0x384f76(0x226)]['trackPhaseStart']('nova_act_artifact_recording_stop',_0x1aa844);try{await this[_0x384f76(0x24b)](),await this['captureTraceSample'](),await this[_0x384f76(0x26e)](),await Promise[_0x384f76(0x1e7)](this['frameWrites']);this[_0x384f76(0x27c)]&&this[_0x384f76(0x262)]&&await this['context'][_0x384f76(0x1ca)][_0x384f76(0x22c)]({'path':buildCliArtifactPath(this[_0x384f76(0x240)]['cliArtifactDir'],'trace.zip')});const _0x24923e=await this['encodeScreencastVideo']();this['params'][_0x384f76(0x226)][_0x384f76(0x1d3)]('nova_act_artifact_recording_stop',{..._0x1aa844,'videoPath':_0x24923e});}catch(_0x537dd2){await this[_0x384f76(0x240)][_0x384f76(0x226)]['trackPhaseError']('nova_act_artifact_recording_stop',_0x537dd2,_0x1aa844);}finally{await this[_0x384f76(0x29f)]?.['close']()[_0x384f76(0x20b)](()=>undefined),this['browser']=null,this['context']=null,this[_0x384f76(0x29b)]=null;}}async[_0x4a93a9(0x246)](){const _0x2471cc=_0x4a93a9,_0x479fdb={'NzHYG':function(_0x32f50e,_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7){return _0x32f50e(_0x19899e,_0x5e9c99,_0x5a6746,_0x5ee46a,_0x5d40e7);},'VeCtr':function(_0x262540){return _0x262540();},'wCJLZ':'browser','Ronjb':'sessions','vDOgr':_0x2471cc(0x1c5),'MXXOy':function(_0x5f3ef8,_0x4f36b8){return _0x5f3ef8(_0x4f36b8);},'tOnEK':function(_0x4368a4,_0x51a252){return _0x4368a4-_0x51a252;},'ZFKBb':function(_0xc7f6bd,_0x387202){return _0xc7f6bd instanceof _0x387202;}},_0x513739=_0x479fdb[_0x2471cc(0x26c)](join,_0x479fdb[_0x2471cc(0x296)](homedir),_0x2471cc(0x1f9),_0x479fdb[_0x2471cc(0x281)],_0x479fdb['Ronjb'],this[_0x2471cc(0x240)][_0x2471cc(0x1f3)][_0x2471cc(0x268)]+_0x2471cc(0x1dd)),_0xc543ec=Date[_0x2471cc(0x28b)]();let _0x504e48;do{try{const _0x29728b=JSON['parse'](await readFile(_0x513739,_0x479fdb[_0x2471cc(0x253)]));if(_0x29728b['cdp_endpoint'])return _0x29728b;_0x504e48=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x513739);}catch(_0x38e7f6){_0x504e48=_0x38e7f6;}await _0x479fdb['MXXOy'](delay,0x64);}while(_0x479fdb[_0x2471cc(0x1e9)](Date[_0x2471cc(0x28b)](),_0xc543ec)<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x479fdb['ZFKBb'](_0x504e48,Error))throw _0x504e48;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x513739);}async[_0x4a93a9(0x283)](){const _0x41f503=_0x4a93a9,_0x5de6b3={'uGymZ':_0x41f503(0x1c4),'QoeTy':_0x41f503(0x275),'EXcdB':_0x41f503(0x27f)};if(!this[_0x41f503(0x27c)])return;const _0x5a6409=this['context'][_0x41f503(0x1c6)]()[0x0];if(!_0x5a6409)return;const _0x507d3b=this[_0x41f503(0x1eb)]();await mkdir(_0x507d3b,{'recursive':!![]});const _0x3fa6bc=await this['context']['newCDPSession'](_0x5a6409);this['frameSession']=_0x3fa6bc,_0x3fa6bc['on'](_0x41f503(0x1c3),_0x2c244c=>{const _0x4ffbe2=_0x41f503,_0x4cde54=++this[_0x4ffbe2(0x27b)],_0x5a1644=join(_0x507d3b,'frame-'+String(_0x4cde54)['padStart'](0x6,'0')+'.jpg'),_0x151c5d=writeFile(_0x5a1644,Buffer['from'](_0x2c244c[_0x4ffbe2(0x21f)],_0x5de6b3['uGymZ']))[_0x4ffbe2(0x20b)](()=>undefined)[_0x4ffbe2(0x24a)](()=>_0x3fa6bc['send']('Page.screencastFrameAck',{'sessionId':_0x2c244c[_0x4ffbe2(0x268)]}))['then'](()=>undefined)[_0x4ffbe2(0x20b)](()=>undefined);this['frameWrites']['push'](_0x151c5d);}),await _0x3fa6bc[_0x41f503(0x266)](_0x5de6b3['QoeTy'],{'format':_0x5de6b3[_0x41f503(0x1e0)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x4a93a9(0x26e)](){const _0x46f52c=_0x4a93a9;if(!this[_0x46f52c(0x29b)]||!this[_0x46f52c(0x1df)])return;await this['frameSession']['send'](_0x46f52c(0x20f))[_0x46f52c(0x20b)](()=>undefined);}['startTraceSampling'](){const _0x1b5c11=_0x4a93a9,_0x4cfd35={'fbJpj':function(_0x4d64c,_0x2d2861,_0x3aba66){return _0x4d64c(_0x2d2861,_0x3aba66);}};this[_0x1b5c11(0x1f6)](),this['traceSampleTimer']=_0x4cfd35[_0x1b5c11(0x1bb)](setInterval,()=>this[_0x1b5c11(0x1f6)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x4df649=_0x4a93a9;if(this[_0x4df649(0x279)])return;this[_0x4df649(0x279)]=this[_0x4df649(0x1fe)]()['finally'](()=>{const _0x18d9e3=_0x4df649;this[_0x18d9e3(0x279)]=null;});}async[_0x4a93a9(0x24b)](){const _0x1b25f6=_0x4a93a9;this[_0x1b25f6(0x23d)]&&(clearInterval(this[_0x1b25f6(0x23d)]),this[_0x1b25f6(0x23d)]=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x29f61a=_0x4a93a9,_0x6a653b={'uNgel':_0x29f61a(0x1fc)},_0x66e1b=this['context']?.['pages']()[0x0];if(!_0x66e1b)return;try{await _0x66e1b[_0x29f61a(0x20c)](_0x6a653b[_0x29f61a(0x1ee)])[_0x29f61a(0x200)](_0x5d25b2=>_0x5d25b2[_0x29f61a(0x221)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x288a0f=_0x4a93a9,_0x5d92aa={'MZBnN':function(_0x436ed8){return _0x436ed8();},'HblKo':function(_0x15778a,_0x4d777d,_0x928cca){return _0x15778a(_0x4d777d,_0x928cca);},'usQAB':_0x288a0f(0x242),'NIMkN':'-hide_banner','jbJhp':'error','dPHLW':'frame-%06d.jpg','TEKFG':'-c:v','ECOmV':'libvpx-vp9'};if(this['frameCount']<0x2)return null;const _0x3d1cd3=await _0x5d92aa[_0x288a0f(0x1ce)](resolveFfmpegPath);if(!_0x3d1cd3)return null;const _0x19667a=_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x240)][_0x288a0f(0x213)],'videos');await _0x5d92aa[_0x288a0f(0x294)](mkdir,_0x19667a,{'recursive':!![]});const _0x44c34b=_0x5d92aa[_0x288a0f(0x294)](join,_0x19667a,_0x5d92aa['usQAB']);return await _0x5d92aa[_0x288a0f(0x294)](execFileAsync,_0x3d1cd3,['-y',_0x5d92aa[_0x288a0f(0x205)],_0x288a0f(0x21d),_0x5d92aa[_0x288a0f(0x28f)],_0x288a0f(0x28a),'10','-i',_0x5d92aa[_0x288a0f(0x294)](join,this[_0x288a0f(0x1eb)](),_0x5d92aa[_0x288a0f(0x252)]),_0x288a0f(0x26f),_0x288a0f(0x236),_0x5d92aa[_0x288a0f(0x235)],_0x5d92aa[_0x288a0f(0x1f7)],_0x288a0f(0x28e),_0x288a0f(0x282),_0x44c34b]),_0x44c34b;}[_0x4a93a9(0x1eb)](){const _0x31ed9b=_0x4a93a9,_0x53b5f3={'dAoXk':function(_0x2dc19b,_0x45bd73,_0x517ce5){return _0x2dc19b(_0x45bd73,_0x517ce5);},'EDUvO':'nova-video-frames'};return _0x53b5f3['dAoXk'](join,this['params']['cliArtifactDir'],_0x53b5f3[_0x31ed9b(0x23b)]);}}async function delay(_0x45b99e){await new Promise(_0x12d329=>setTimeout(_0x12d329,_0x45b99e));}async function resolveFfmpegPath(){const _0x435a8b=_0x4a93a9,_0x40daed={'qAuSY':_0x435a8b(0x278),'KkXPL':function(_0x4bc989,_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50){return _0x4bc989(_0x2b82c7,_0x9e080b,_0x320dd6,_0xe9eb50);},'IoWDS':function(_0x2af638){return _0x2af638();},'tRlIw':'ms-playwright','lWeFy':function(_0x2b9957,_0x3e314b){return _0x2b9957(_0x3e314b);}};if(await canRunFfmpeg('ffmpeg'))return _0x40daed['qAuSY'];const _0x52d44b=[_0x40daed[_0x435a8b(0x24f)](join,_0x40daed['IoWDS'](homedir),'Library',_0x435a8b(0x295),_0x40daed['tRlIw']),join(_0x40daed[_0x435a8b(0x1dc)](homedir),_0x435a8b(0x263),_0x435a8b(0x215))];for(const _0x29578d of _0x52d44b){try{const _0x27662c=await readdir(_0x29578d),_0x4ae38d=_0x27662c[_0x435a8b(0x1e5)](_0x48769b=>_0x48769b['startsWith']('ffmpeg-'))[_0x435a8b(0x1ec)]()['reverse']()['flatMap'](_0x116dd6=>[join(_0x29578d,_0x116dd6,'ffmpeg-mac'),join(_0x29578d,_0x116dd6,_0x435a8b(0x20d)),join(_0x29578d,_0x116dd6,_0x435a8b(0x211))]);for(const _0x84e7cc of _0x4ae38d){if(await _0x40daed['lWeFy'](canRunFfmpeg,_0x84e7cc))return _0x84e7cc;}}catch{}}return null;}async function canRunFfmpeg(_0x47fd11){const _0xc30337=_0x4a93a9,_0x4a16f5={'nYLUW':function(_0x1a2ce4,_0x2101c6,_0x3d5965){return _0x1a2ce4(_0x2101c6,_0x3d5965);},'QWXoR':'-version'};try{return await _0x4a16f5[_0xc30337(0x1fa)](execFileAsync,_0x47fd11,[_0x4a16f5['QWXoR']]),!![];}catch{return![];}}function toStepDisplayName(_0x54e254){const _0x571a10=_0x4a93a9,_0x37da81=basename(_0x54e254)[_0x571a10(0x1d8)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x571a10(0x1d8)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x37da81,'isKeyStep':/^key_/i[_0x571a10(0x210)](basename(_0x54e254))};}function extractShellValue(_0x25d7b4){if(!_0x25d7b4)return null;return _0x25d7b4[0x1]??_0x25d7b4[0x2]??_0x25d7b4[0x3]??null;}function extractOutputOption(_0x52c3a2){const _0x39b581={'rAopA':function(_0x53b238,_0x4de293){return _0x53b238(_0x4de293);}};return _0x39b581['rAopA'](extractShellValue,_0x52c3a2['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x227e20,_0x54e25a){const _0x163b78=_0x4a93a9,_0x543a78={'dFzBW':_0x163b78(0x225),'lOENI':'create\x20Nova\x20browser\x20session','zWkpS':_0x163b78(0x25d),'OlBSe':_0x163b78(0x255),'NCnHU':_0x163b78(0x280),'qyHjQ':'wait\x20for\x20page\x20condition','lkVKX':'snapshot','qEiTM':function(_0x3a5a83,_0x57f818){return _0x3a5a83(_0x57f818);},'vRWjd':_0x163b78(0x201),'jKnKl':'export\x20Nova\x20session'};switch(_0x54e25a){case _0x543a78[_0x163b78(0x1bf)]:return _0x543a78[_0x163b78(0x29a)];case _0x163b78(0x1e3):return'execute\x20Nova\x20browser\x20action';case _0x543a78[_0x163b78(0x287)]:return _0x163b78(0x1c9);case'ask':return _0x163b78(0x247);case'goto':return _0x543a78[_0x163b78(0x24d)];case _0x543a78['NCnHU']:return _0x543a78[_0x163b78(0x27d)];case _0x543a78['lkVKX']:{const _0x5372c8=_0x543a78[_0x163b78(0x270)](extractOutputOption,_0x227e20);if(!_0x5372c8)return'capture\x20snapshot';const {name:_0x321c6a}=toStepDisplayName(_0x5372c8);return'capture\x20snapshot\x20`'+_0x321c6a+'`';}case _0x543a78['vRWjd']:{const _0x4601ab=_0x543a78['qEiTM'](extractOutputOption,_0x227e20);if(!_0x4601ab)return'capture\x20screenshot';const {name:_0x44f017,isKeyStep:_0x48da5e}=_0x543a78[_0x163b78(0x270)](toStepDisplayName,_0x4601ab);return _0x48da5e?'capture\x20key\x20step\x20`'+_0x44f017+'`':'capture\x20step\x20`'+_0x44f017+'`';}case'session\x20export':return _0x543a78['jKnKl'];default:return _0x54e25a;}}function getNovaActCliCommandBlockReason(_0x2ef727){const _0x3e4ee8=_0x4a93a9,_0x193139={'gTcPe':function(_0x3b0559,_0x21a13a){return _0x3b0559(_0x21a13a);},'EhisT':_0x3e4ee8(0x1d9),'frDCp':function(_0x2f6280,_0xd7636e){return _0x2f6280===_0xd7636e;},'FlFhE':'verify','FiCcQ':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.','lkTEu':_0x3e4ee8(0x1bd)},_0x12e2ae=_0x193139[_0x3e4ee8(0x256)](parseNovaActCliCommand,_0x2ef727);if(!_0x12e2ae)return _0x193139[_0x3e4ee8(0x284)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x3e4ee8(0x23e)](_0x12e2ae))return _0x3e4ee8(0x232)+_0x12e2ae+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x193139['frDCp'](_0x12e2ae,_0x193139['FlFhE'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x1c8)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x2ef727))return _0x193139[_0x3e4ee8(0x272)];return null;}function buildFeedbackSection(_0x685364){const _0x3102ac=_0x4a93a9,_0x3a58f5={'zBreU':_0x3102ac(0x28d),'qtSCt':'short','tJzWt':_0x3102ac(0x1f2),'NINUe':function(_0x4a3c47,_0x3ed5c1){return _0x4a3c47===_0x3ed5c1;}};if(!_0x685364||_0x3a58f5['NINUe'](_0x685364['unaddressedComments']['length'],0x0))return'';const _0x3c4792=_0x685364[_0x3102ac(0x1e1)][_0x3102ac(0x273)](_0x1a4b05=>{const _0x1f3ad0=_0x3102ac,_0x2961af=new Date(_0x1a4b05['createdAt'])['toLocaleDateString'](_0x3a58f5[_0x1f3ad0(0x271)],{'month':_0x3a58f5['qtSCt'],'day':_0x1f3ad0(0x25f)}),_0x22faee=_0x1a4b05[_0x1f3ad0(0x1ef)]||_0x1a4b05[_0x1f3ad0(0x203)]||_0x1f3ad0(0x27a),_0x5b6b90=_0x1a4b05['domRef']?_0x1f3ad0(0x259)+(_0x1a4b05[_0x1f3ad0(0x23a)]['selector'][_0x1f3ad0(0x267)](_0x3a58f5[_0x1f3ad0(0x29e)])[_0x1f3ad0(0x1f5)]()?.['split'](':')[0x0]||'element')+_0x1f3ad0(0x1d5)+(_0x1a4b05['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1f3ad0(0x26d)+_0x1a4b05['id']+']\x20**'+_0x22faee+_0x1f3ad0(0x286)+_0x2961af+_0x1f3ad0(0x228)+_0x1a4b05[_0x1f3ad0(0x233)]+'\x22'+_0x5b6b90;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x3c4792;}function buildNovaSharedOptionsInstruction(_0x3e5dc4){const _0x7a102e=_0x4a93a9;if(!_0x3e5dc4[_0x7a102e(0x298)]())return _0x7a102e(0x1d4);return _0x7a102e(0x23c)+_0x3e5dc4;}function _0x559d(){const _0x348ced=['locator','ffmpeg-linux','values','Page.stopScreencast','test','ffmpeg.exe','GzyTw','cliArtifactDir','env','ms-playwright','01_initial-state.png','uLdji','shellCommand','\x20session\x20create\x20','\x20snapshot\x20--output\x20','RsvLN','session','-loglevel','PKLPx','data','subcommand','tagName','RWITC','35wdfahZ','lTXOh','session\x20create','telemetry','585501PkOwOF','):\x20\x22','tNITz','--report','`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`','stop','02_final-state.yml','trackPhaseStart','nova_act_session_close','--output','84zjLswe','Nova\x20command\x20`','content','Bash','TEKFG','scale=trunc(iw/2)*2:trunc(ih/2)*2','rtvZk','`\x0a-\x20`','set','domRef','EDUvO','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','traceSampleTimer','has','ZWceg','params','[nova-act-cli]\x20','session-recording.webm','tool_name','IZDar','nJXRq','readSessionMetadataWithRetry','ask\x20page\x20question','invocation','wHNmB','finally','stopTraceSampling','1144zETxwF','OlBSe','`\x0a6.\x20Run\x20`','KkXPL','stdout','MxOuD','dPHLW','vDOgr','start','navigate\x20browser','gTcPe','PostToolUse','qceMd','\x20(on\x20element:\x20<','15681pMExZo','nova-act-cli','PLTlh','verify','hRPAS','numeric','--format','name','tracingStarted','.cache','JSHqr','push','send','split','sessionId','traceSampleCount','nova_act_final_snapshot','5RnBXZE','NzHYG','-\x20[','stopScreencast','-vf','qEiTM','zBreU','lkTEu','map','phase','Page.startScreencast','export','zcilT','ffmpeg','traceSampleInFlight','Reviewer','frameCount','context','qyHjQ','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','jpeg','wait-for','wCJLZ','yuv420p','startScreencast','EhisT','stopped','**\x20(','zWkpS','xSKIh','56502lXslCt','-framerate','now','FVTat','en-US','-pix_fmt','jbJhp','\x0a\x0aExamples:\x0a-\x20`','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','TXTaH','wCpkB','HblKo','Caches','VeCtr','startTraceSampling','trim','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','lOENI','frameSession','notes','2606279wPVROo','tJzWt','browser','fbJpj','commandArgs','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','zip','dFzBW','isFile','nova-user-data/*','140BKxoaH','Page.screencastFrame','base64','utf-8','pages','\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`','FiCcQ','verify\x20page\x20condition','tracing','key_03_success-state.png','tool_input','154935XNRJRr','MZBnN','keys','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','nova_act_artifact_recording','transportMetadata','trackPhaseEnd','The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.','>\x20\x22','connectOverCDP','canonicalFlow','replace','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','gWJnC','nova_act_command','IoWDS','.json','\x20screenshot\x20--output\x20','screencastStarted','EXcdB','unaddressedComments','spmdn','execute','nova_act_final_screenshot','filter','518436lFOSgp','allSettled','UJcyJ','tOnEK','snapshot','getFrameDir','sort','114ROgodw','uNgel','authorName','key_final-state.png','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','\x20>\x20','novaOptions','trace.zip','pop','queueTraceSample','ECOmV','hook_event_name','.act_cli','nYLUW','nova-artifacts.zip','body','\x0a\x0a##\x20Additional\x20Notes\x0a','captureTraceSample','`\x0a4.\x20Run\x20one\x20batched\x20`','evaluate','screenshot','1606104oQRdud','authorEmail','WKKYu','NIMkN','get','BXwFQ','trackPhaseError','`\x0a2.\x20Run\x20`','ask','catch'];_0x559d=function(){return _0x348ced;};return _0x559d();}export function buildVerifyFeatureNovaCliDebugPrompt(_0x231a2f){const _0x3add48=_0x4a93a9,_0x5319b7={'RsvLN':function(_0x575b70,_0x43fc36,_0x365bd5){return _0x575b70(_0x43fc36,_0x365bd5);},'nCpSK':'00_initial-state.yml','MxOuD':function(_0x34accf,_0x2aac9d,_0x4a134a){return _0x34accf(_0x2aac9d,_0x4a134a);},'gWJnC':_0x3add48(0x22d),'GzyTw':'03_final-state.png','RWITC':function(_0x3dadba,_0x59e9a7){return _0x3dadba(_0x59e9a7);}},{novaCommandPrefix:_0x38a377,novaSharedOptionsSuffix:_0x411c24,cliArtifactDir:_0xd14d50,url:_0x23f238}=_0x231a2f,_0x94a045=_0x5319b7[_0x3add48(0x21b)](buildCliArtifactPath,_0xd14d50,_0x5319b7['nCpSK']),_0x2c3df4=buildCliArtifactPath(_0xd14d50,'01_initial-state.png'),_0x450321=_0x5319b7[_0x3add48(0x251)](buildCliArtifactPath,_0xd14d50,_0x5319b7[_0x3add48(0x1da)]),_0x38e335=buildCliArtifactPath(_0xd14d50,_0x5319b7[_0x3add48(0x212)]);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x38a377+'\x0a\x0a'+_0x5319b7['RWITC'](buildNovaSharedOptionsInstruction,_0x411c24)+_0x3add48(0x1c7)+_0x38a377+'\x20session\x20create\x20'+quoteShellArg(_0x23f238)+'\x20'+_0x411c24+_0x3add48(0x209)+_0x38a377+_0x3add48(0x21a)+quoteShellArg(_0x94a045)+'\x20'+_0x411c24+'`\x0a3.\x20Run\x20`'+_0x38a377+_0x3add48(0x1de)+quoteShellArg(_0x2c3df4)+'\x20'+_0x411c24+_0x3add48(0x1ff)+_0x38a377+_0x3add48(0x299)+_0x38a377+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x450321)+'\x20'+_0x411c24+_0x3add48(0x24e)+_0x38a377+_0x3add48(0x1de)+_0x5319b7[_0x3add48(0x222)](quoteShellArg,_0x38e335)+'\x20'+_0x411c24+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0xd14d50+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x4c4a10){const _0x501713=_0x4a93a9,_0x593000={'FVTat':'01_initial.yml','sUwet':function(_0x2d7e20,_0x1f882e,_0x18b52a){return _0x2d7e20(_0x1f882e,_0x18b52a);},'MRIZg':_0x501713(0x216),'JmQkH':function(_0xa9ef81,_0x2dae83,_0x4699c7){return _0xa9ef81(_0x2dae83,_0x4699c7);},'RLSuk':_0x501713(0x1cb),'GCHqW':function(_0x2c784a,_0x3e11d3){return _0x2c784a(_0x3e11d3);}},{checklistItem:_0x557c46,itemFeedback:_0x13b2df,taskDescription:_0x135869,novaCommandPrefix:_0x162d22,novaSharedOptionsSuffix:_0x3b9a66,cliArtifactDir:_0x13dd95,url:_0x410f19,loginInstructions:_0x47cc72}=_0x4c4a10,_0x16181f=_0x557c46[_0x501713(0x29c)]?_0x501713(0x1fd)+_0x557c46['notes']:'',_0x421053=buildFeedbackSection(_0x13b2df),_0x5512a2=_0x13b2df?.[_0x501713(0x1d7)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x13b2df[_0x501713(0x1d7)]:'',_0x329391=_0x47cc72?_0x501713(0x27e)+_0x47cc72+_0x501713(0x1d0):'',_0x4e1d9d=buildCliArtifactPath(_0x13dd95,_0x593000[_0x501713(0x28c)]),_0x574ce7=_0x593000['sUwet'](buildCliArtifactPath,_0x13dd95,_0x593000['MRIZg']),_0x3c8894=_0x593000['JmQkH'](buildCliArtifactPath,_0x13dd95,_0x593000['RLSuk']);return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x557c46['description']+_0x16181f+_0x421053+_0x5512a2+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x135869+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x410f19+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a'+_0x329391+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x162d22+_0x501713(0x219)+quoteShellArg(_0x410f19)+'\x20'+_0x3b9a66+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x13dd95+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x162d22+_0x501713(0x1de)+quoteShellArg(_0x574ce7)+'\x20'+_0x3b9a66+_0x501713(0x1f1)+_0x3c8894+_0x501713(0x22b)+_0x162d22+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x3b9a66[_0x501713(0x298)]()?'`'+_0x3b9a66+'`':_0x501713(0x291))+'\x0a\x0a'+_0x593000['GCHqW'](buildNovaSharedOptionsInstruction,_0x3b9a66)+_0x501713(0x290)+_0x162d22+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x3b9a66+_0x501713(0x238)+_0x162d22+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4e1d9d)+'\x20'+_0x3b9a66+'`\x0a-\x20`'+_0x162d22+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x3c8894)+'\x20'+_0x3b9a66+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x4b6e31){const _0x577c3d=_0x4a93a9,_0x570926={'ezyiD':function(_0x49a003,_0x165026){return _0x49a003===_0x165026;}},_0x355fe6=[..._0x4b6e31[_0x577c3d(0x1cf)]()][_0x577c3d(0x1ec)]();let _0x34cb30=0x0;for(const _0x370f9a of _0x4b6e31[_0x577c3d(0x20e)]()){_0x34cb30+=_0x370f9a;}return{'cliCommandCount':_0x34cb30,'cliCommandsSeen':_0x355fe6,'noCliCommandsCalled':_0x570926['ezyiD'](_0x34cb30,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x3a6435,_0x380e70){const _0x36d6b9=_0x4a93a9,_0x3f6946={'BXwFQ':function(_0x392670,_0x42a92f){return _0x392670!==_0x42a92f;},'RnksF':function(_0x86f543,_0x5daf46){return _0x86f543(_0x5daf46);},'xSKIh':function(_0x247632,_0x2ec924){return _0x247632(_0x2ec924);},'wHNmB':_0x36d6b9(0x257),'IZDar':_0x36d6b9(0x234),'INIeI':function(_0x111a17,_0x3195d8){return _0x111a17+_0x3195d8;},'qceMd':function(_0x41a811,_0x3a5f43,_0x4254b5){return _0x41a811(_0x3a5f43,_0x4254b5);},'zCYTG':'session\x20create','ePFxA':'nova-act-cli'},_0x510bf6=new Map(),_0x4493b9=async _0x2bee43=>{const _0x4268d3=_0x36d6b9;if(_0x2bee43[_0x4268d3(0x1f8)]!=='PreToolUse')return{};const _0x580e09=_0x2bee43;if(_0x3f6946[_0x4268d3(0x207)](_0x580e09['tool_name'],'Bash'))return{};const _0x286d5f=_0x580e09['tool_input'],_0x4affc9=_0x3f6946['RnksF'](extractBashCommand,_0x286d5f);if(!_0x4affc9)return{};const _0x2c9e0b=_0x3f6946[_0x4268d3(0x288)](getNovaActCliCommandBlockReason,_0x4affc9);if(!_0x2c9e0b)return{};return{'decision':'block','reason':_0x2c9e0b};},_0x34fa0c=async _0x321627=>{const _0x3b8637=_0x36d6b9;if(_0x3f6946[_0x3b8637(0x207)](_0x321627[_0x3b8637(0x1f8)],_0x3f6946[_0x3b8637(0x249)]))return{};const _0x2e2e4e=_0x321627;if(_0x2e2e4e[_0x3b8637(0x243)]!==_0x3f6946[_0x3b8637(0x244)])return{};const _0x135215=_0x2e2e4e[_0x3b8637(0x1cc)],_0x3a5d3c=extractBashCommand(_0x135215);if(!_0x3a5d3c)return{};const _0x43c8f1=parseNovaActCliCommand(_0x3a5d3c);if(!_0x43c8f1)return{};_0x510bf6[_0x3b8637(0x239)](_0x43c8f1,_0x3f6946['INIeI'](_0x510bf6[_0x3b8637(0x206)](_0x43c8f1)||0x0,0x1)),_0x3a6435[_0x3b8637(0x22e)]('nova_act_command',{'subcommand':_0x43c8f1}),_0x3a6435['trackPhaseEnd'](_0x3b8637(0x1db),{'subcommand':_0x43c8f1,'commandPreview':previewNovaActCliCommand(_0x3a5d3c)}),console['log'](_0x3b8637(0x241)+_0x3f6946[_0x3b8637(0x258)](formatNovaActCliLog,_0x3a5d3c,_0x43c8f1));if(_0x43c8f1===_0x3f6946['zCYTG']&&_0x380e70)try{await _0x380e70[_0x3b8637(0x254)]();}catch(_0x10b8ae){await _0x3a6435['trackPhaseError']('nova_act_artifact_recording',_0x10b8ae,{'transport':_0x3b8637(0x25b)});}return{};},_0x3a9e84=async _0x9be7ad=>{const _0x2a1870=_0x36d6b9;if(_0x9be7ad['hook_event_name']!=='PostToolUseFailure')return{};const _0x191f61=_0x9be7ad;if(_0x3f6946[_0x2a1870(0x207)](_0x191f61[_0x2a1870(0x243)],_0x2a1870(0x234)))return{};return await _0x3a6435[_0x2a1870(0x208)]('nova_act_command_failure',_0x191f61['error'],{'transport':_0x3f6946['ePFxA'],'toolName':_0x3f6946[_0x2a1870(0x244)]}),{};};return{'preToolUseHook':_0x4493b9,'postToolUseHook':_0x34fa0c,'postToolUseFailureHook':_0x3a9e84,'commandCounts':_0x510bf6};}async function runNovaLifecycleCommand(_0x2740c0){const _0x3c6c91=_0x4a93a9,_0x454cda={'oJweD':function(_0x662de9,_0x5a42a3){return _0x662de9??_0x5a42a3;},'tNITz':function(_0x1e1d3e,_0x3a8320){return _0x1e1d3e(_0x3a8320);}},{novaOptions:_0x2fc613,commandArgs:_0x58413d,telemetry:_0x105d28,phase:_0x5d652b,metadata:_0x221240,timeoutMs:_0x160d89}=_0x2740c0;_0x105d28[_0x3c6c91(0x22e)](_0x5d652b,_0x221240);try{const _0x5b7662=await runNovaActCliCommand({..._0x2fc613,'commandArgs':_0x58413d,'cwd':process['cwd'](),'env':process[_0x3c6c91(0x214)],'timeoutMs':_0x454cda['oJweD'](_0x160d89,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x105d28['trackPhaseEnd'](_0x5d652b,{..._0x221240,'subcommand':_0x5b7662['invocation']['subcommand'],'commandPreview':previewNovaActCliCommand(_0x5b7662[_0x3c6c91(0x248)][_0x3c6c91(0x218)]),'stdoutPreview':_0x454cda[_0x3c6c91(0x229)](previewNovaActCliCommand,_0x5b7662[_0x3c6c91(0x250)]),'stderrPreview':previewNovaActCliCommand(_0x5b7662['stderr']),'logDir':extractNovaActLogDir(_0x5b7662[_0x3c6c91(0x250)])});}catch(_0x14a520){await _0x105d28[_0x3c6c91(0x208)](_0x5d652b,_0x14a520,_0x221240);throw _0x14a520;}}export async function finalizeVerifyFeatureNovaCliSession(_0x238717){const _0x266fff=_0x4a93a9,_0x1c07c8={'UJcyJ':_0x266fff(0x1e4),'JSHqr':_0x266fff(0x1f0),'uLdji':_0x266fff(0x1ea),'spmdn':_0x266fff(0x230),'ZWceg':function(_0x49d55e,_0xfa3a11,_0x1c3468){return _0x49d55e(_0xfa3a11,_0x1c3468);},'MEQBL':_0x266fff(0x21c),'nJXRq':_0x266fff(0x260),'NAigB':'nova_act_session_report','wCpkB':'export','WKKYu':_0x266fff(0x22a),'vDLHx':'nova-report','hRPAS':'close','xWPIA':_0x266fff(0x22f),'EnvNF':function(_0x11899d,_0x1b9028){return _0x11899d(_0x1b9028);}},{telemetry:_0x2d8ce2,novaOptions:_0x149fec,cliArtifactDir:_0x30b012,transportMetadata:_0x4fde5d,artifactRecorder:_0x1b653a}=_0x238717,_0x4fae22=[{'phase':_0x1c07c8[_0x266fff(0x1e8)],'commandArgs':[_0x266fff(0x201),'--output',buildCliArtifactPath(_0x30b012,_0x1c07c8[_0x266fff(0x264)])]},{'phase':_0x266fff(0x26a),'commandArgs':[_0x1c07c8[_0x266fff(0x217)],_0x1c07c8[_0x266fff(0x1e2)],_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,'final-state.yaml')]},{'phase':'nova_act_session_export','commandArgs':[_0x1c07c8['MEQBL'],_0x266fff(0x276),_0x1c07c8[_0x266fff(0x245)],'json',_0x1c07c8['spmdn'],buildCliArtifactPath(_0x30b012,'nova-session-export.json')]},{'phase':_0x1c07c8['NAigB'],'commandArgs':['session',_0x1c07c8[_0x266fff(0x293)],_0x1c07c8[_0x266fff(0x204)],'--output-dir',_0x1c07c8[_0x266fff(0x23f)](buildCliArtifactPath,_0x30b012,_0x1c07c8['vDLHx'])]},{'phase':'nova_act_session_close','commandArgs':[_0x1c07c8['MEQBL'],_0x1c07c8[_0x266fff(0x25e)]]}];for(const _0x2a22af of _0x4fae22){_0x2a22af[_0x266fff(0x274)]===_0x1c07c8['xWPIA']&&await _0x1b653a?.[_0x266fff(0x22c)]();try{await _0x1c07c8['EnvNF'](runNovaLifecycleCommand,{'novaOptions':_0x149fec,'commandArgs':[..._0x2a22af['commandArgs']],'telemetry':_0x2d8ce2,'phase':_0x2a22af['phase'],'metadata':_0x4fde5d});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x3ba5dc){const _0x567500=_0x4a93a9,_0x4dd14e={'nhtUF':function(_0x1a3566,_0x3310e5,_0x391c7d){return _0x1a3566(_0x3310e5,_0x391c7d);},'PKLPx':function(_0x56d82a,_0x2e5ede,_0x58e8f7){return _0x56d82a(_0x2e5ede,_0x58e8f7);},'ntsUD':function(_0x314777,_0x104d0b,_0x9d07ad){return _0x314777(_0x104d0b,_0x9d07ad);},'pnUFU':function(_0xfd489a,_0xe25e62){return _0xfd489a<_0xe25e62;},'TXTaH':function(_0x32bcfc,_0x4eaab6){return _0x32bcfc===_0x4eaab6;}},{cwd:_0x37db49,cliArtifactDir:_0x52a0b0,startTime:_0x16edbd}=_0x3ba5dc,_0x28f66b=[];await _0x4dd14e['nhtUF'](mkdir,_0x52a0b0,{'recursive':!![]});const _0x48bfd9=await _0x4dd14e[_0x567500(0x21e)](readdir,_0x37db49,{'withFileTypes':!![]});for(const _0x5519d7 of _0x48bfd9){if(!_0x5519d7[_0x567500(0x1c0)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x567500(0x210)](_0x5519d7[_0x567500(0x261)]))continue;const _0x55dbfd=_0x4dd14e['ntsUD'](join,_0x37db49,_0x5519d7[_0x567500(0x261)]),_0x26ceae=await stat(_0x55dbfd);if(_0x4dd14e['pnUFU'](_0x26ceae['mtimeMs']+0x7d0,_0x16edbd))continue;const _0x2b084e=buildCliArtifactPath(_0x52a0b0,_0x5519d7[_0x567500(0x261)]);if(_0x4dd14e[_0x567500(0x292)](_0x55dbfd,_0x2b084e))continue;await rename(_0x55dbfd,_0x2b084e),_0x28f66b[_0x567500(0x265)](_0x5519d7['name']);}return _0x28f66b[_0x567500(0x1ec)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x2bde99){const _0x2160a0=_0x4a93a9,_0x5ac870={'PLTlh':function(_0x3376ad,_0x564f62,_0x59cbd2){return _0x3376ad(_0x564f62,_0x59cbd2);},'PLkvq':function(_0x1aca3d,_0x232b7c){return _0x1aca3d(_0x232b7c);}},_0x304a91=_0x5ac870[_0x2160a0(0x25c)](join,_0x2bde99,_0x2160a0(0x1f4));try{return{'buffer':await readFile(_0x304a91),'source':_0x304a91};}catch{return{'buffer':await _0x5ac870['PLkvq'](zipVerifyFeatureNovaArtifacts,_0x2bde99),'source':_0x2bde99};}}async function zipVerifyFeatureNovaArtifacts(_0x5de0bb){const _0x50dccc=_0x4a93a9,_0x3e6553={'zcilT':function(_0x328cb6,_0x5ddf07,_0x3a21cb,_0x5c64ac){return _0x328cb6(_0x5ddf07,_0x3a21cb,_0x5c64ac);},'SZwsP':_0x50dccc(0x1be),'GNyqN':function(_0x470298,_0x4a587d){return _0x470298(_0x4a587d);},'MLmyt':function(_0x50cb90,_0x146986,_0x5d994f){return _0x50cb90(_0x146986,_0x5d994f);}},_0xea017c=_0x3e6553['zcilT'](join,_0x5de0bb,'..',_0x50dccc(0x1fb));try{return await _0x3e6553[_0x50dccc(0x277)](execFileAsync,_0x3e6553['SZwsP'],['-qr',_0xea017c,'.','-x',_0x50dccc(0x1c1)],{'cwd':_0x5de0bb}),await _0x3e6553['GNyqN'](readFile,_0xea017c);}finally{await _0x3e6553['MLmyt'](rm,_0xea017c,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x288b39){const _0x9de1f9=_0x4a93a9,_0x9b2362={'aHvRd':function(_0x38cd75,_0x4eab9d){return _0x38cd75(_0x4eab9d);},'rtvZk':function(_0x4e5420,_0xeeb270,_0x6fdf09){return _0x4e5420(_0xeeb270,_0x6fdf09);}},_0x3ddf55=buildNovaActCliInvocation(_0x288b39['novaOptions'],_0x288b39[_0x9de1f9(0x1bc)]);return{'command':_0x3ddf55['command'],'args':_0x3ddf55['args'],'commandPreview':_0x9b2362['aHvRd'](previewNovaActCliCommand,_0x3ddf55[_0x9de1f9(0x218)]),'subcommand':_0x3ddf55[_0x9de1f9(0x220)],'sharedOptionsSuffix':_0x9b2362[_0x9de1f9(0x237)](buildNovaActCliSharedOptionsSuffix,_0x288b39[_0x9de1f9(0x1f3)],_0x288b39['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x32e0f4,_0xf817c0){const _0x5ee16a=_0x460f,_0x5d9626=_0x32e0f4();while(!![]){try{const _0x413a25=parseInt(_0x5ee16a(0x18f))/0x1+parseInt(_0x5ee16a(0x187))/0x2*(-parseInt(_0x5ee16a(0x19b))/0x3)+parseInt(_0x5ee16a(0x1aa))/0x4*(-parseInt(_0x5ee16a(0x167))/0x5)+-parseInt(_0x5ee16a(0x1a1))/0x6*(parseInt(_0x5ee16a(0x169))/0x7)+parseInt(_0x5ee16a(0x192))/0x8+parseInt(_0x5ee16a(0x1b3))/0x9+-parseInt(_0x5ee16a(0x1b0))/0xa*(-parseInt(_0x5ee16a(0x1ab))/0xb);if(_0x413a25===_0xf817c0)break;else _0x5d9626['push'](_0x5d9626['shift']());}catch(_0x44e245){_0x5d9626['push'](_0x5d9626['shift']());}}}(_0x2d23,0x439ef));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x16a68e,_0x2535a8=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x294dae=_0x460f,_0xdb5840={'xzhkg':function(_0x4acc02,_0x5288da){return _0x4acc02+_0x5288da;},'lphQZ':'...'};return _0x16a68e[_0x294dae(0x180)]>_0x2535a8?_0xdb5840['xzhkg'](_0x16a68e['slice'](0x0,_0x2535a8),_0xdb5840['lphQZ']):_0x16a68e;}function extractShellValue(_0x2be516){if(!_0x2be516)return null;return _0x2be516[0x1]??_0x2be516[0x2]??_0x2be516[0x3]??null;}function extractFirstCommandArgument(_0x1c84e9,_0x2a3e9e){const _0x3b0e4b=_0x460f,_0x1296de={'FPOsl':_0x3b0e4b(0x177),'DEbTZ':function(_0xf554dc,_0x229609){return _0xf554dc(_0x229609);}},_0x6238d9=_0x2a3e9e[_0x3b0e4b(0x1af)](/[.*+?^${}()|[\]\\]/g,_0x1296de[_0x3b0e4b(0x19a)]);return _0x1296de[_0x3b0e4b(0x1b5)](extractShellValue,_0x1c84e9[_0x3b0e4b(0x1a7)](new RegExp(_0x3b0e4b(0x1a6)+_0x6238d9+_0x3b0e4b(0x1b1))));}function formatCommandTarget(_0x2a7888){const _0x57f64d=_0x460f,_0x22a8a3={'eOEqw':_0x57f64d(0x195)};if(!_0x2a7888)return _0x22a8a3[_0x57f64d(0x198)];if(/^e\d+$/i['test'](_0x2a7888))return'ref\x20'+_0x2a7888;return JSON['stringify'](truncatePreview(_0x2a7888,0x78));}function formatRangerwrightCliLog(_0x50ce41,_0x1f36e0){const _0x12c340=_0x460f,_0x3209d0={'Wrkxo':'open-and-inspect','REdXB':function(_0x44bef6,_0x1ccd1f,_0x19d6b2){return _0x44bef6(_0x1ccd1f,_0x19d6b2);},'DWscG':'open\x20and\x20inspect','bscDC':'fill','BZIyC':'inspect','mkJun':_0x12c340(0x172),'CIRHM':'video-stop','MEHwr':'close\x20browser\x20session'};switch(_0x1f36e0){case _0x3209d0['Wrkxo']:{const _0xc5d54e=_0x3209d0['REdXB'](extractFirstCommandArgument,_0x50ce41,_0x1f36e0);return _0xc5d54e?'open\x20and\x20inspect\x20'+_0xc5d54e:_0x3209d0['DWscG'];}case _0x12c340(0x1b4):return _0x12c340(0x18d)+formatCommandTarget(extractFirstCommandArgument(_0x50ce41,_0x1f36e0));case _0x3209d0['bscDC']:case _0x12c340(0x16c):return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x50ce41,_0x1f36e0));case _0x12c340(0x1a0):return'go\x20back\x20and\x20inspect';case _0x3209d0[_0x12c340(0x1a9)]:return _0x3209d0['mkJun'];case _0x12c340(0x164):return'stop\x20tracing';case _0x3209d0['CIRHM']:return'stop\x20video\x20recording';case _0x12c340(0x18a):return _0x3209d0['MEHwr'];default:return _0x1f36e0;}}function renderScenarioSections(_0x427942){const _0x5d82eb=_0x460f,_0x3050c5={'gjrGW':'en-US','EnijW':'short'},{checklistItem:_0x3156ab,itemFeedback:_0x56d913}=_0x427942,_0x1ef3ff=_0x3156ab[_0x5d82eb(0x1a5)]?_0x5d82eb(0x181)+_0x3156ab[_0x5d82eb(0x1a5)]:'';let _0x237d07='';if(_0x56d913&&_0x56d913['unaddressedComments'][_0x5d82eb(0x180)]>0x0){const _0x567339=_0x56d913[_0x5d82eb(0x19c)][_0x5d82eb(0x17d)](_0x13ce8a=>{const _0x277c64=_0x5d82eb,_0x2f3bc1=new Date(_0x13ce8a['createdAt'])[_0x277c64(0x174)](_0x3050c5[_0x277c64(0x16a)],{'month':_0x3050c5[_0x277c64(0x16e)],'day':'numeric'}),_0x583c61=_0x13ce8a['authorName']||_0x13ce8a['authorEmail']||'Reviewer',_0x2a1eb5=_0x13ce8a[_0x277c64(0x168)]?'\x20(on\x20element:\x20<'+(_0x13ce8a['domRef'][_0x277c64(0x191)][_0x277c64(0x1b7)](_0x277c64(0x190))['pop']()?.['split'](':')[0x0]||_0x277c64(0x183))+'>\x20\x22'+(_0x13ce8a['domRef']['textContent']||'')[_0x277c64(0x178)](0x0,0x32)+'\x22)':'';return _0x277c64(0x17c)+_0x13ce8a['id']+']\x20'+_0x583c61+'\x20('+_0x2f3bc1+_0x277c64(0x18b)+_0x13ce8a['content']+'\x22'+_0x2a1eb5;})['join']('\x0a');_0x237d07='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x567339;}const _0x136491=_0x56d913?.['canonicalFlow']?_0x5d82eb(0x1a2)+_0x56d913['canonicalFlow']:'';return''+_0x3156ab[_0x5d82eb(0x17e)]+_0x1ef3ff+_0x237d07+_0x136491;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x56fed8){const _0xedccc2=_0x460f,_0x39fd91={'GsWyp':_0xedccc2(0x194),'XeahS':_0xedccc2(0x16b),'Tspwy':function(_0x1dbcd5,_0x514cd6){return _0x1dbcd5(_0x514cd6);}},{checklistItem:_0x5b18ea,itemFeedback:_0x3ee091,taskDescription:_0x1904f2,commandPrefix:_0x14d1af,isCdpMode:_0x1c2e2d,url:_0x8470cc,cdpEndpoint:_0x1c3f6f,loginInstructions:_0x44a44a}=_0x56fed8,_0x5846e6=_0x39fd91[_0xedccc2(0x16f)],_0x651537=_0x39fd91[_0xedccc2(0x165)],_0x20bfc5=_0x1c2e2d?_0x14d1af+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x5846e6):_0x14d1af+_0xedccc2(0x175)+_0x39fd91['Tspwy'](quoteShellArg,_0x8470cc??_0xedccc2(0x186))+_0xedccc2(0x170)+quoteShellArg(_0x5846e6),_0x1936ce=_0x1c2e2d?_0xedccc2(0x166)+_0x1c3f6f+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0xedccc2(0x197)+_0x8470cc+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.',_0x453669=_0x44a44a?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x44a44a+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+renderScenarioSections({'checklistItem':_0x5b18ea,'itemFeedback':_0x3ee091})+_0xedccc2(0x1a8)+_0x1904f2+'\x0a\x0a'+_0x1936ce+_0x453669+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x14d1af+_0xedccc2(0x17b)+_0x20bfc5+'\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a'+_0x14d1af+_0xedccc2(0x162)+quoteShellArg(_0x651537)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}function _0x2d23(){const _0xe41a0=['error','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','hook_event_name','tracing-stop','XeahS','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','110EKKObW','domRef','436289gEjQpU','gjrGW','key_99_final-state.png','fill-and-inspect','nGUqq','EnijW','GsWyp','\x20--screenshot-path\x20','tool_name','inspect\x20page','values','toLocaleDateString','\x20open-and-inspect\x20','LcINF','\x5c$&','slice','invocation','trackPhaseStart','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','-\x20[','map','description','IaUZw','length','\x0a\x0a##\x20Additional\x20Notes\x0a','vaATk','element','Bash','trackPhaseEnd','about:blank','32DuUFRA','rangerwright_cli_command','key_02_learn-more.png','close','):\x20\x22','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','click\x20and\x20inspect\x20','log','507140vEKhld','\x20>\x20','selector','3276272Jvdidu','get','01_initial-state.png','target','video-stop','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','eOEqw','commandArgs','FPOsl','22947uVLWug','unaddressedComments','commandPrefix','rangerwright_cli_video_stop','GlDbF','back-and-inspect','24BRxGch','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','cGBSS','sXtRI','notes','(?:^|\x5cs)','match','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','BZIyC','93804DvXnDG','1030381XHePFT','PostToolUseFailure','subcommand','jhHay','replace','10ZpSheZ','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','keys','1388196lExtwI','click-and-inspect','DEbTZ','set','split'];_0x2d23=function(){return _0xe41a0;};return _0x2d23();}function _0x460f(_0x81eefe,_0x37d19a){_0x81eefe=_0x81eefe-0x161;const _0x2d2328=_0x2d23();let _0x460f32=_0x2d2328[_0x81eefe];return _0x460f32;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x3ccb02){const _0x4c3433=_0x460f,_0x412951={'rSyIY':_0x4c3433(0x189),'IaUZw':function(_0x480720,_0x5e9ca8){return _0x480720(_0x5e9ca8);}},_0x2b2732='01_mozilla-homepage.png',_0xe4040f=_0x412951['rSyIY'];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x3ccb02[_0x4c3433(0x19d)]+'\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`'+_0x3ccb02['commandPrefix']+_0x4c3433(0x175)+_0x412951['IaUZw'](quoteShellArg,_0x3ccb02['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x2b2732)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x3ccb02[_0x4c3433(0x19d)]+_0x4c3433(0x18c)+_0x412951[_0x4c3433(0x17f)](quoteShellArg,_0xe4040f)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x34fac4){const _0x4d6597=_0x460f,_0x65b1d3={'zHLOe':function(_0x3102fe,_0x5017e8){return _0x3102fe===_0x5017e8;}},_0x4510ee=[..._0x34fac4[_0x4d6597(0x1b2)]()]['sort']();let _0x151ddb=0x0;for(const _0x55c5ac of _0x34fac4[_0x4d6597(0x173)]()){_0x151ddb+=_0x55c5ac;}return{'cliCommandCount':_0x151ddb,'cliCommandsSeen':_0x4510ee,'noCliCommandsCalled':_0x65b1d3['zHLOe'](_0x151ddb,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x2d561b){const _0x1c71c3=_0x460f,_0x45c36a={'IZqgu':function(_0x4fb51e,_0x46bd8a){return _0x4fb51e!==_0x46bd8a;},'sXtRI':'PostToolUse','vaATk':_0x1c71c3(0x184),'LcINF':function(_0x4e44ba,_0x39cf6f){return _0x4e44ba(_0x39cf6f);},'UGzam':function(_0x2d6225,_0xa3c57a){return _0x2d6225+_0xa3c57a;},'KwVlT':_0x1c71c3(0x188),'siCRN':function(_0x39105d,_0x240d88){return _0x39105d(_0x240d88);},'cGBSS':function(_0x48f82b,_0xc8e192){return _0x48f82b!==_0xc8e192;},'Usxrb':_0x1c71c3(0x1ac),'jhHay':'rangerwright_cli_command_failure','GlDbF':'rangerwright-cli'},_0x57573a=new Map(),_0x3718b2=async _0x1a7580=>{const _0x3a925c=_0x1c71c3;if(_0x45c36a['IZqgu'](_0x1a7580['hook_event_name'],_0x45c36a[_0x3a925c(0x1a4)]))return{};const _0x59a706=_0x1a7580;if(_0x59a706[_0x3a925c(0x171)]!==_0x45c36a['vaATk'])return{};const _0x11fd9e=_0x59a706['tool_input'],_0x13a477=extractBashCommand(_0x11fd9e);if(!_0x13a477)return{};const _0xdf32d5=_0x45c36a[_0x3a925c(0x176)](parseRangerwrightCliCommand,_0x13a477);if(!_0xdf32d5)return{};return _0x57573a[_0x3a925c(0x1b6)](_0xdf32d5,_0x45c36a['UGzam'](_0x57573a[_0x3a925c(0x193)](_0xdf32d5)||0x0,0x1)),_0x2d561b['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0xdf32d5}),_0x2d561b[_0x3a925c(0x185)](_0x45c36a['KwVlT'],{'subcommand':_0xdf32d5,'commandPreview':_0x45c36a['siCRN'](truncatePreview,_0x13a477)}),console[_0x3a925c(0x18e)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x13a477,_0xdf32d5)),{};},_0x531951=async _0x474d14=>{const _0x471a94=_0x1c71c3;if(_0x45c36a[_0x471a94(0x1a3)](_0x474d14[_0x471a94(0x163)],_0x45c36a['Usxrb']))return{};const _0x693888=_0x474d14;if(_0x45c36a['cGBSS'](_0x693888[_0x471a94(0x171)],_0x45c36a[_0x471a94(0x182)]))return{};return await _0x2d561b['trackPhaseError'](_0x45c36a[_0x471a94(0x1ae)],_0x693888[_0x471a94(0x161)],{'transport':_0x45c36a[_0x471a94(0x19f)],'toolName':_0x471a94(0x184)}),{};};return{'postToolUseHook':_0x3718b2,'postToolUseFailureHook':_0x531951,'commandCounts':_0x57573a};}async function runRangerwrightLifecycleCommand(_0x1e0470){const _0x5a17c6=_0x460f,_0x11e3ed={'mRoyo':function(_0x366926,_0x278c52){return _0x366926??_0x278c52;},'gGMpw':function(_0x5ab0c5,_0x23daa6,_0x5649bc){return _0x5ab0c5(_0x23daa6,_0x5649bc);}},{options:_0x588bf7,commandArgs:_0x23bbf3,env:_0x490388,telemetry:_0x3082a0,phase:_0x4d1ff2,metadata:_0x3596a7,timeoutMs:_0xbe1ddd}=_0x1e0470;_0x3082a0[_0x5a17c6(0x17a)](_0x4d1ff2,_0x3596a7);try{const _0x5119ca=await runRangerwrightCliCommand({..._0x588bf7,'commandArgs':_0x23bbf3,'cwd':process['cwd'](),'env':_0x490388,'timeoutMs':_0x11e3ed['mRoyo'](_0xbe1ddd,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x3082a0['trackPhaseEnd'](_0x4d1ff2,{..._0x3596a7,'subcommand':_0x5119ca[_0x5a17c6(0x179)][_0x5a17c6(0x1ad)],'stdoutPreview':_0x11e3ed['gGMpw'](truncatePreview,_0x5119ca['stdout'],0x7d0),'stderrPreview':_0x11e3ed['gGMpw'](truncatePreview,_0x5119ca['stderr'],0x7d0)});}catch(_0x572f58){await _0x3082a0['trackPhaseError'](_0x4d1ff2,_0x572f58,_0x3596a7);throw _0x572f58;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x334f98){const _0x2aa14c=_0x460f,_0x1fca33={'nGUqq':'tracing-stop','XtbBn':_0x2aa14c(0x196),'MAfVP':function(_0x1cdfc4,_0x424547){return _0x1cdfc4(_0x424547);}},{telemetry:_0x37405f,rangerwrightOptions:_0x31f8f8,env:_0x378ffb,transportMetadata:_0x2705be}=_0x334f98,_0x1621f4=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':[_0x1fca33[_0x2aa14c(0x16d)]]},{'phase':_0x2aa14c(0x19e),'commandArgs':[_0x1fca33['XtbBn']]},{'phase':'rangerwright_cli_close','commandArgs':[_0x2aa14c(0x18a)]}];for(const _0x4c27a0 of _0x1621f4){try{await _0x1fca33['MAfVP'](runRangerwrightLifecycleCommand,{'options':_0x31f8f8,'commandArgs':[..._0x4c27a0[_0x2aa14c(0x199)]],'env':_0x378ffb,'telemetry':_0x37405f,'phase':_0x4c27a0['phase'],'metadata':_0x2705be});}catch{}}}
|
|
1
|
+
(function(_0x45834f,_0x41f193){const _0x12d4cd=_0x49bf,_0x252ee7=_0x45834f();while(!![]){try{const _0x45da2d=parseInt(_0x12d4cd(0x13c))/0x1+parseInt(_0x12d4cd(0x191))/0x2+parseInt(_0x12d4cd(0x18b))/0x3*(-parseInt(_0x12d4cd(0x17a))/0x4)+parseInt(_0x12d4cd(0x13e))/0x5*(parseInt(_0x12d4cd(0x171))/0x6)+-parseInt(_0x12d4cd(0x15f))/0x7+parseInt(_0x12d4cd(0x181))/0x8*(-parseInt(_0x12d4cd(0x173))/0x9)+-parseInt(_0x12d4cd(0x152))/0xa*(-parseInt(_0x12d4cd(0x160))/0xb);if(_0x45da2d===_0x41f193)break;else _0x252ee7['push'](_0x252ee7['shift']());}catch(_0xd3c584){_0x252ee7['push'](_0x252ee7['shift']());}}}(_0x37d3,0x83cd7));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0xbddcc7,_0x2c78eb=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x159bd0=_0x49bf,_0x1e7080={'ZxVFa':function(_0x4d5a03,_0x3eddae){return _0x4d5a03+_0x3eddae;}};return _0xbddcc7['length']>_0x2c78eb?_0x1e7080[_0x159bd0(0x162)](_0xbddcc7[_0x159bd0(0x189)](0x0,_0x2c78eb),_0x159bd0(0x137)):_0xbddcc7;}function extractShellValue(_0x516b78){if(!_0x516b78)return null;return _0x516b78[0x1]??_0x516b78[0x2]??_0x516b78[0x3]??null;}function extractFirstCommandArgument(_0x2e6a82,_0x266c58){const _0x52c3ca=_0x49bf,_0x594f0c={'pYtny':'\x5c$&','odfHF':function(_0x5b4961,_0x17a0c3){return _0x5b4961(_0x17a0c3);}},_0x260c52=_0x266c58['replace'](/[.*+?^${}()|[\]\\]/g,_0x594f0c[_0x52c3ca(0x148)]);return _0x594f0c[_0x52c3ca(0x13b)](extractShellValue,_0x2e6a82[_0x52c3ca(0x14d)](new RegExp(_0x52c3ca(0x17d)+_0x260c52+_0x52c3ca(0x164))));}function formatCommandTarget(_0x2a0c9d){const _0x3e4f1a=_0x49bf,_0x4530f1={'sYdoa':function(_0x4c133c,_0x43527d,_0x446357){return _0x4c133c(_0x43527d,_0x446357);}};if(!_0x2a0c9d)return _0x3e4f1a(0x13a);if(/^e\d+$/i[_0x3e4f1a(0x16e)](_0x2a0c9d))return'ref\x20'+_0x2a0c9d;return JSON[_0x3e4f1a(0x175)](_0x4530f1[_0x3e4f1a(0x192)](truncatePreview,_0x2a0c9d,0x78));}function _0x49bf(_0x4a9c64,_0x1f09ad){_0x4a9c64=_0x4a9c64-0x135;const _0x37d3f6=_0x37d3();let _0x49bf3b=_0x37d3f6[_0x4a9c64];return _0x49bf3b;}function formatRangerwrightCliLog(_0x32cbfe,_0x369471){const _0x1c52bd=_0x49bf,_0x5baca3={'fazTR':_0x1c52bd(0x16f),'OaXEo':function(_0x287a38,_0x440819,_0x2dd8f9){return _0x287a38(_0x440819,_0x2dd8f9);},'NaKzx':'fill-and-inspect','qlsMD':'inspect','gTGeM':'inspect\x20page'};switch(_0x369471){case _0x5baca3['fazTR']:{const _0x334c09=extractFirstCommandArgument(_0x32cbfe,_0x369471);return _0x334c09?_0x1c52bd(0x158)+_0x334c09:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x5baca3[_0x1c52bd(0x161)](extractFirstCommandArgument,_0x32cbfe,_0x369471));case _0x1c52bd(0x167):case _0x5baca3['NaKzx']:return _0x1c52bd(0x18c)+formatCommandTarget(extractFirstCommandArgument(_0x32cbfe,_0x369471));case'back-and-inspect':return _0x1c52bd(0x15c);case _0x5baca3['qlsMD']:return _0x5baca3[_0x1c52bd(0x15a)];case'tracing-stop':return'stop\x20tracing';case _0x1c52bd(0x179):return'stop\x20video\x20recording';case _0x1c52bd(0x16c):return _0x1c52bd(0x151);default:return _0x369471;}}function renderScenarioSections(_0x1ada3c){const _0x278a6a=_0x49bf,_0x48dbf6={'xEnJx':_0x278a6a(0x14a),'NPQfB':_0x278a6a(0x144),'JuCRC':_0x278a6a(0x157)},{checklistItem:_0x20613d,itemFeedback:_0x428b52}=_0x1ada3c,_0x10e546=_0x20613d[_0x278a6a(0x15d)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x20613d[_0x278a6a(0x15d)]:'';let _0x1a4d38='';if(_0x428b52&&_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x17b)]>0x0){const _0x47fe9=_0x428b52[_0x278a6a(0x185)][_0x278a6a(0x139)](_0x1972f8=>{const _0x301ce2=_0x278a6a,_0x2f65d9=new Date(_0x1972f8['createdAt'])[_0x301ce2(0x169)](_0x301ce2(0x16a),{'month':_0x48dbf6['xEnJx'],'day':_0x48dbf6['NPQfB']}),_0x2821b6=_0x1972f8[_0x301ce2(0x182)]||_0x1972f8['authorEmail']||_0x48dbf6[_0x301ce2(0x149)],_0x582d5b=_0x1972f8['domRef']?'\x20(on\x20element:\x20<'+(_0x1972f8[_0x301ce2(0x178)]['selector']['split']('\x20>\x20')[_0x301ce2(0x135)]()?.[_0x301ce2(0x18d)](':')[0x0]||'element')+_0x301ce2(0x145)+(_0x1972f8[_0x301ce2(0x178)]['textContent']||'')[_0x301ce2(0x189)](0x0,0x32)+'\x22)':'';return _0x301ce2(0x183)+_0x1972f8['id']+']\x20'+_0x2821b6+'\x20('+_0x2f65d9+_0x301ce2(0x16d)+_0x1972f8[_0x301ce2(0x184)]+'\x22'+_0x582d5b;})[_0x278a6a(0x172)]('\x0a');_0x1a4d38=_0x278a6a(0x150)+_0x47fe9;}const _0x3a687c=_0x428b52?.[_0x278a6a(0x180)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x428b52['canonicalFlow']:'';return''+_0x20613d['description']+_0x10e546+_0x1a4d38+_0x3a687c;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x3776ad){const _0x2a4156=_0x49bf,_0x1b8a75={'xYjTa':'01_initial-state.png','Vqbxn':_0x2a4156(0x15e),'gfzyo':function(_0x1f4727,_0x4792a6){return _0x1f4727(_0x4792a6);}},{checklistItem:_0x116e15,itemFeedback:_0x4ee5f7,taskDescription:_0x50270b,commandPrefix:_0x3df775,isCdpMode:_0x57cadb,url:_0x4f317e,cdpEndpoint:_0x8f8575,loginInstructions:_0x4b118e}=_0x3776ad,_0xaa2773=_0x1b8a75[_0x2a4156(0x18e)],_0x493d2a='key_99_final-state.png',_0x43db6e=_0x57cadb?_0x3df775+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0xaa2773):_0x3df775+_0x2a4156(0x187)+quoteShellArg(_0x4f317e??_0x1b8a75[_0x2a4156(0x155)])+_0x2a4156(0x177)+_0x1b8a75[_0x2a4156(0x14b)](quoteShellArg,_0xaa2773),_0x5375b5=_0x57cadb?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x8f8575+_0x2a4156(0x153):_0x2a4156(0x163)+_0x4f317e+_0x2a4156(0x154),_0x372801=_0x4b118e?_0x2a4156(0x141)+_0x4b118e+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2a4156(0x13d)+_0x1b8a75['gfzyo'](renderScenarioSections,{'checklistItem':_0x116e15,'itemFeedback':_0x4ee5f7})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x50270b+'\x0a\x0a'+_0x5375b5+_0x372801+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x3df775+_0x2a4156(0x166)+_0x43db6e+_0x2a4156(0x142)+_0x3df775+_0x2a4156(0x188)+_0x1b8a75['gfzyo'](quoteShellArg,_0x493d2a)+_0x2a4156(0x147);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2ae68a){const _0x4a98e6=_0x49bf,_0x24342b={'TmqpM':'01_mozilla-homepage.png','dLsPN':'key_02_learn-more.png'},_0x12e51d=_0x24342b['TmqpM'],_0x28934b=_0x24342b[_0x4a98e6(0x176)];return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x2ae68a[_0x4a98e6(0x140)]+_0x4a98e6(0x168)+_0x2ae68a['commandPrefix']+_0x4a98e6(0x187)+quoteShellArg(_0x2ae68a[_0x4a98e6(0x17e)])+_0x4a98e6(0x177)+quoteShellArg(_0x12e51d)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x2ae68a['commandPrefix']+_0x4a98e6(0x193)+quoteShellArg(_0x28934b)+_0x4a98e6(0x138);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x56200a){const _0x37411d=[..._0x56200a['keys']()]['sort']();let _0x39adac=0x0;for(const _0xd1090f of _0x56200a['values']()){_0x39adac+=_0xd1090f;}return{'cliCommandCount':_0x39adac,'cliCommandsSeen':_0x37411d,'noCliCommandsCalled':_0x39adac===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x53473f){const _0x4ed534=_0x49bf,_0x5ed580={'vSsdn':function(_0x483a1f,_0x27d070){return _0x483a1f!==_0x27d070;},'DcNeT':function(_0x1eccf7,_0x1fb35c){return _0x1eccf7(_0x1fb35c);},'GrSbp':function(_0x54c840,_0x1ca2e4){return _0x54c840(_0x1ca2e4);},'hIGvY':function(_0x229031,_0xddd010){return _0x229031!==_0xddd010;},'VZQUR':_0x4ed534(0x15b),'fegOp':_0x4ed534(0x14c),'dAZKz':'rangerwright-cli','svTby':'Bash'},_0x602288=new Map(),_0x5a4189=async _0x3896e2=>{const _0x3d0f2f=_0x4ed534;if(_0x5ed580[_0x3d0f2f(0x156)](_0x3896e2[_0x3d0f2f(0x14f)],_0x3d0f2f(0x17c)))return{};const _0x37e9db=_0x3896e2;if(_0x37e9db['tool_name']!==_0x3d0f2f(0x18f))return{};const _0x332a64=_0x37e9db['tool_input'],_0x540ea7=_0x5ed580['DcNeT'](extractBashCommand,_0x332a64);if(!_0x540ea7)return{};const _0x53753f=_0x5ed580['GrSbp'](parseRangerwrightCliCommand,_0x540ea7);if(!_0x53753f)return{};return _0x602288['set'](_0x53753f,(_0x602288['get'](_0x53753f)||0x0)+0x1),_0x53473f[_0x3d0f2f(0x16b)](_0x3d0f2f(0x146),{'subcommand':_0x53753f}),_0x53473f['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x53753f,'commandPreview':truncatePreview(_0x540ea7)}),console[_0x3d0f2f(0x14e)]('[rangerwright-cli]\x20'+formatRangerwrightCliLog(_0x540ea7,_0x53753f)),{};},_0x1555bc=async _0x7dd4f7=>{const _0x2acc16=_0x4ed534;if(_0x5ed580[_0x2acc16(0x165)](_0x7dd4f7[_0x2acc16(0x14f)],_0x5ed580['VZQUR']))return{};const _0x3921b8=_0x7dd4f7;if(_0x3921b8['tool_name']!==_0x2acc16(0x18f))return{};return await _0x53473f['trackPhaseError'](_0x5ed580['fegOp'],_0x3921b8[_0x2acc16(0x17f)],{'transport':_0x5ed580[_0x2acc16(0x186)],'toolName':_0x5ed580['svTby']}),{};};return{'postToolUseHook':_0x5a4189,'postToolUseFailureHook':_0x1555bc,'commandCounts':_0x602288};}async function runRangerwrightLifecycleCommand(_0x162ecf){const _0x5ecfe3=_0x49bf,_0x5934a7={'RHRgq':function(_0x2bad4a,_0x58b2aa){return _0x2bad4a??_0x58b2aa;},'AtZpd':function(_0x4c11ab,_0x57f5d1,_0x4e4be3){return _0x4c11ab(_0x57f5d1,_0x4e4be3);}},{options:_0x1f5d49,commandArgs:_0x2a7ab9,env:_0x7daf3,telemetry:_0x17e20b,phase:_0x72c867,metadata:_0x17ce2e,timeoutMs:_0xbdced8}=_0x162ecf;_0x17e20b['trackPhaseStart'](_0x72c867,_0x17ce2e);try{const _0x2afc28=await runRangerwrightCliCommand({..._0x1f5d49,'commandArgs':_0x2a7ab9,'cwd':process[_0x5ecfe3(0x136)](),'env':_0x7daf3,'timeoutMs':_0x5934a7[_0x5ecfe3(0x143)](_0xbdced8,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x17e20b[_0x5ecfe3(0x159)](_0x72c867,{..._0x17ce2e,'subcommand':_0x2afc28['invocation'][_0x5ecfe3(0x18a)],'stdoutPreview':truncatePreview(_0x2afc28['stdout'],0x7d0),'stderrPreview':_0x5934a7['AtZpd'](truncatePreview,_0x2afc28['stderr'],0x7d0)});}catch(_0x45ad9d){await _0x17e20b['trackPhaseError'](_0x72c867,_0x45ad9d,_0x17ce2e);throw _0x45ad9d;}}function _0x37d3(){const _0x300846=['2800ThwqLY','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.','Vqbxn','vSsdn','Reviewer','open\x20and\x20inspect\x20','trackPhaseEnd','gTGeM','PostToolUseFailure','go\x20back\x20and\x20inspect','notes','about:blank','5281017EaTGNw','29271yCeDFR','OaXEo','ZxVFa','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','hIGvY','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','fill','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','toLocaleDateString','en-US','trackPhaseStart','close','):\x20\x22','test','open-and-inspect','rangerwright_cli_close','462558AdbkAE','join','94113lPFXdz','dryTk','stringify','dLsPN','\x20--screenshot-path\x20','domRef','video-stop','36552fRNTqg','length','PostToolUse','(?:^|\x5cs)','url','error','canonicalFlow','808nhfhTS','authorName','-\x20[','content','unaddressedComments','dAZKz','\x20open-and-inspect\x20','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','slice','subcommand','18xvxfQl','fill\x20','split','xYjTa','Bash','phase','821254HhvBCu','sYdoa','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','pop','cwd','...','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','map','target','odfHF','709921NTYvZm','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','35yikDXJ','GkqHU','commandPrefix','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','RHRgq','numeric','>\x20\x22','rangerwright_cli_command','\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','pYtny','JuCRC','short','gfzyo','rangerwright_cli_command_failure','match','log','hook_event_name','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','close\x20browser\x20session'];_0x37d3=function(){return _0x300846;};return _0x37d3();}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x318ebf){const _0x3126e9=_0x49bf,_0x109db0={'GkqHU':_0x3126e9(0x170),'jHVvX':_0x3126e9(0x16c),'dryTk':function(_0x1fb6e0,_0x2b9b41){return _0x1fb6e0(_0x2b9b41);}},{telemetry:_0x29ae77,rangerwrightOptions:_0x14d3d9,env:_0x4ed4ae,transportMetadata:_0x548bb6}=_0x318ebf,_0xc8428a=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':_0x109db0[_0x3126e9(0x13f)],'commandArgs':[_0x109db0['jHVvX']]}];for(const _0x5cb309 of _0xc8428a){try{await _0x109db0[_0x3126e9(0x174)](runRangerwrightLifecycleCommand,{'options':_0x14d3d9,'commandArgs':[..._0x5cb309['commandArgs']],'env':_0x4ed4ae,'telemetry':_0x29ae77,'phase':_0x5cb309[_0x3126e9(0x190)],'metadata':_0x548bb6});}catch{}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7-alpha.34400c2-56",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dev": "tsx src/cli.ts",
|
|
14
14
|
"check-playwright-version": "node scripts/check-playwright-version.cjs",
|
|
15
15
|
"postinstall": "node scripts/postinstall.js",
|
|
16
|
-
"test": "
|
|
16
|
+
"test": "cd ../.. && TEST_ENVIRONMENT=true tsx --import ./tests/native-node/setup.ts --test --test-concurrency=1 ./tests/native-node/cli/*.test.cjs"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"build",
|
|
@@ -21,25 +21,21 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@anthropic-ai/claude-agent-sdk": "^0.1.0",
|
|
24
|
-
"@playwright/cli": "0.1.
|
|
25
|
-
"@
|
|
26
|
-
"@ranger-testing/rangerwright": "^0.0.31",
|
|
24
|
+
"@playwright/cli": "0.1.1",
|
|
25
|
+
"@ranger-testing/rangerwright": "^0.0.27",
|
|
27
26
|
"dotenv": "^16.4.5",
|
|
28
27
|
"inquirer": "^9.2.12",
|
|
29
|
-
"playwright": "1.
|
|
28
|
+
"playwright": "1.56.1",
|
|
30
29
|
"ws": "^8.20.1",
|
|
31
30
|
"yargs": "^17.7.2",
|
|
32
31
|
"zod": "^3.23.8"
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
35
34
|
"@types/inquirer": "^9.0.7",
|
|
36
|
-
"@types/jest": "^29.5.0",
|
|
37
35
|
"@types/node": "^22.0.0",
|
|
38
36
|
"@types/ws": "^8.18.1",
|
|
39
37
|
"@types/yargs": "^17.0.32",
|
|
40
|
-
"jest": "^29.7.0",
|
|
41
38
|
"javascript-obfuscator": "^4.1.1",
|
|
42
|
-
"ts-jest": "^29.1.0",
|
|
43
39
|
"tsx": "^4.20.6",
|
|
44
40
|
"typescript": "^5.0.0"
|
|
45
41
|
},
|
|
@@ -49,14 +45,6 @@
|
|
|
49
45
|
"brace-expansion": "^5.0.6",
|
|
50
46
|
"fast-uri": "3.1.2",
|
|
51
47
|
"@babel/core": "^7.29.6",
|
|
52
|
-
"js-yaml": "^4.2.0"
|
|
53
|
-
"@playwright/cli": {
|
|
54
|
-
"playwright": "1.60.0",
|
|
55
|
-
"playwright-core": "1.60.0"
|
|
56
|
-
},
|
|
57
|
-
"@playwright/mcp": {
|
|
58
|
-
"playwright": "1.60.0",
|
|
59
|
-
"playwright-core": "1.60.0"
|
|
60
|
-
}
|
|
48
|
+
"js-yaml": "^4.2.0"
|
|
61
49
|
}
|
|
62
50
|
}
|