@ranger-testing/ranger-cli 3.1.5-alpha.aebd071-49 → 3.1.6-alpha.4287155-52
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 +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x3b00(_0x17533c,_0x1d7681){_0x17533c=_0x17533c-0x173;const _0x5477cd=_0x5477();let _0x3b00bf=_0x5477cd[_0x17533c];return _0x3b00bf;}(function(_0x2a576a,_0x3c4d87){const _0x16071b=_0x3b00,_0x300fa4=_0x2a576a();while(!![]){try{const _0x4e7f63=-parseInt(_0x16071b(0x1c1))/0x1*(parseInt(_0x16071b(0x1e1))/0x2)+parseInt(_0x16071b(0x1f5))/0x3*(parseInt(_0x16071b(0x1e7))/0x4)+-parseInt(_0x16071b(0x1c3))/0x5*(parseInt(_0x16071b(0x186))/0x6)+-parseInt(_0x16071b(0x1a2))/0x7+-parseInt(_0x16071b(0x1d6))/0x8+-parseInt(_0x16071b(0x1f2))/0x9+parseInt(_0x16071b(0x17d))/0xa;if(_0x4e7f63===_0x3c4d87)break;else _0x300fa4['push'](_0x300fa4['shift']());}catch(_0x4690cd){_0x300fa4['push'](_0x300fa4['shift']());}}}(_0x5477,0x518d2));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(_0x42ec37,_0x468626=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x23807f=_0x3b00;return _0x42ec37[_0x23807f(0x1a9)]>_0x468626?_0x42ec37['slice'](0x0,_0x468626)+_0x23807f(0x183):_0x42ec37;}function buildCliArtifactPath(_0x18b798,_0x189e64){const _0x5e21fc={'lZWSw':function(_0xd1e8eb,_0x5aa69,_0x3ab7c9){return _0xd1e8eb(_0x5aa69,_0x3ab7c9);}};return _0x5e21fc['lZWSw'](join,_0x18b798,_0x189e64);}function _0x5477(){const _0x4b7ade=['log','`\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','DEBUG','KETbQ','trackPhaseEnd','notes','tool_name','10lVSXaW','Reviewer','29395GydXiq','02_learn-more.yml','join','ooSEq','\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','invocation','[ranger-verification-agent]\x20','VorNd','authorName','fcPPM','rtqye','stop\x20video\x20recording','test','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','capture\x20step\x20`','capture\x20screenshot','press','KCJLl','\x20tracing-start`,\x20then\x20`','1775304jLrUEn','xNsIw','\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.','tracing-start','00_mozilla-homepage.yml','raIcO','\x20snapshot\x20--filename\x20','playwright_cli_tracing_stop','stdout','02_button-clicked.png','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','16360OoPhjs','`\x0a9.\x20Run\x20`','tracing-stop','\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.','pZIPz','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','1379244EHaNyw','video-start','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','session-recording.webm','-\x20[','sort','\x0a\x0a##\x20Additional\x20Notes\x0a','playwright_cli_video_stop','push','soQRa','\x20tracing-start`\x0a3.\x20Run\x20`','494928QbwmLE','trim','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','3YSvrxS','createdAt','video-stop','\x22,\x20\x22','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','click\x20','\x0a\x0a1.\x20Run\x20`','gYrEn','fkYlK','gqOKg','mtimeMs','cwd','01_initial-state.png','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','description','YfMtZ','NPIzC','PostToolUse','key_03_success-state.png','slice','\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','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','mwsPB','14010410KvwGHC','hook_event_name','tool_input','stop\x20tracing','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','...','canonicalFlow','key_04_success-state.png','618vHRVvQ','capture\x20snapshot\x20`','match','tab-new','RMXWy','JgpVW','aQzIZ','03_result-visible.png','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','unaddressedComments','\x20(on\x20element:\x20<','playwright_cli_close','click','\x20screenshot\x20--filename\x20','run\x20custom\x20Playwright\x20code','01_initial.yml','target','gPeDb','press\x20','phase','start\x20video\x20recording','trackPhaseStart','domRef','**\x20(','start\x20tracing','\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','close','eOfRl','3133032HSFwYN','stderr','env','open\x20','KOOvu','error','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','length','01_mozilla-homepage.png','name','dsgzg','Bash','split','vlpOJ','replace','open\x20new\x20tab\x20','pop','run-code','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','kgPxo','tab-select','oOxrE','tool_call'];_0x5477=function(){return _0x4b7ade;};return _0x5477();}function toStepDisplayName(_0x4bb1ab){const _0x1381fe=_0x3b00,_0x5e4925=basename(_0x4bb1ab)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x1381fe(0x1b0)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x5e4925,'isKeyStep':/^key_/i[_0x1381fe(0x1cf)](basename(_0x4bb1ab))};}function extractShellValue(_0x343e5b){if(!_0x343e5b)return null;return _0x343e5b[0x1]??_0x343e5b[0x2]??_0x343e5b[0x3]??null;}function extractFilenameOption(_0x4d5d1b){const _0x27e342=_0x3b00,_0x5e7328={'rpzav':function(_0x495681,_0x31be0a){return _0x495681(_0x31be0a);}};return _0x5e7328['rpzav'](extractShellValue,_0x4d5d1b[_0x27e342(0x188)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x1a463d,_0x1eff9f){const _0x39d26c=_0x3b00,_0x5789ba={'soQRa':'\x5c$&','KUXfZ':function(_0x45736f,_0x39060c){return _0x45736f(_0x39060c);}},_0x1cf996=_0x1eff9f['replace'](/[.*+?^${}()|[\]\\]/g,_0x5789ba[_0x39d26c(0x1f0)]);return _0x5789ba['KUXfZ'](extractShellValue,_0x1a463d[_0x39d26c(0x188)](new RegExp('(?:^|\x5cs)'+_0x1cf996+_0x39d26c(0x1f9))));}function formatCommandTarget(_0x5e4a42){const _0xa0c47d=_0x3b00,_0x4bbe7f={'CFFyR':function(_0x9a285e,_0x2143bd,_0x50ceec){return _0x9a285e(_0x2143bd,_0x50ceec);}};if(!_0x5e4a42)return _0xa0c47d(0x196);if(/^e\d+$/i[_0xa0c47d(0x1cf)](_0x5e4a42))return'ref\x20'+_0x5e4a42;return JSON['stringify'](_0x4bbe7f['CFFyR'](truncatePreview,_0x5e4a42,0x78));}function formatPlaywrightCliLog(_0x4daae4,_0x3b6b70){const _0x2b49cb=_0x3b00,_0x5dcc14={'KOOvu':function(_0x2f87ac,_0x51fad6,_0x26c4b1){return _0x2f87ac(_0x51fad6,_0x26c4b1);},'fiqlF':'open\x20browser','KCJLl':_0x2b49cb(0x1d9),'bfRej':_0x2b49cb(0x19e),'BODWE':_0x2b49cb(0x1e3),'JoPBv':_0x2b49cb(0x180),'RMXWy':_0x2b49cb(0x1e8),'SkxiE':_0x2b49cb(0x19a),'KrOOC':_0x2b49cb(0x1f7),'sSdeR':'snapshot','vTutP':'capture\x20snapshot','JIbmv':function(_0x33d440,_0x4df034){return _0x33d440(_0x4df034);},'BFKGa':_0x2b49cb(0x192),'eOfRl':function(_0x1dc4a8,_0x37bdca,_0x174011){return _0x1dc4a8(_0x37bdca,_0x174011);},'QykFU':_0x2b49cb(0x1d3),'VorNd':_0x2b49cb(0x1b3),'yDBSO':'select\x20tab'};switch(_0x3b6b70){case'open':{const _0x213298=_0x5dcc14[_0x2b49cb(0x1a6)](extractFirstCommandArgument,_0x4daae4,_0x3b6b70);return _0x213298?_0x2b49cb(0x1a5)+_0x213298:_0x5dcc14['fiqlF'];}case _0x5dcc14[_0x2b49cb(0x1d4)]:return _0x5dcc14['bfRej'];case _0x5dcc14['BODWE']:return _0x5dcc14['JoPBv'];case _0x5dcc14[_0x2b49cb(0x18a)]:return _0x5dcc14['SkxiE'];case _0x5dcc14['KrOOC']:return _0x2b49cb(0x1ce);case _0x5dcc14['sSdeR']:{const _0x296f26=extractFilenameOption(_0x4daae4);if(!_0x296f26)return _0x5dcc14['vTutP'];const {name:_0x474e2b}=toStepDisplayName(_0x296f26);return _0x2b49cb(0x187)+_0x474e2b+'`';}case'screenshot':{const _0x43e4ed=_0x5dcc14['JIbmv'](extractFilenameOption,_0x4daae4);if(!_0x43e4ed)return _0x2b49cb(0x1d2);const {name:_0x4844f4,isKeyStep:_0x5b6467}=toStepDisplayName(_0x43e4ed);return _0x5b6467?'capture\x20key\x20step\x20`'+_0x4844f4+'`':_0x2b49cb(0x1d1)+_0x4844f4+'`';}case _0x5dcc14['BFKGa']:return _0x2b49cb(0x1fa)+_0x5dcc14['JIbmv'](formatCommandTarget,extractFirstCommandArgument(_0x4daae4,_0x3b6b70));case'check':return'check\x20'+formatCommandTarget(_0x5dcc14[_0x2b49cb(0x1a1)](extractFirstCommandArgument,_0x4daae4,_0x3b6b70));case'fill':return'fill\x20'+_0x5dcc14['JIbmv'](formatCommandTarget,_0x5dcc14[_0x2b49cb(0x1a6)](extractFirstCommandArgument,_0x4daae4,_0x3b6b70));case _0x5dcc14['QykFU']:return _0x2b49cb(0x198)+formatCommandTarget(extractFirstCommandArgument(_0x4daae4,_0x3b6b70));case _0x5dcc14[_0x2b49cb(0x1ca)]:return _0x2b49cb(0x194);case _0x2b49cb(0x189):{const _0x35f42c=extractFirstCommandArgument(_0x4daae4,_0x3b6b70);return _0x35f42c?_0x2b49cb(0x1b1)+_0x35f42c:'open\x20new\x20tab';}case _0x2b49cb(0x1b7):{const _0x502824=_0x5dcc14[_0x2b49cb(0x1a6)](extractFirstCommandArgument,_0x4daae4,_0x3b6b70);return _0x502824?'select\x20tab\x20'+_0x502824:_0x5dcc14['yDBSO'];}default:return _0x3b6b70;}}function extractPlaywrightCliToolDescription(_0x5914ec){const _0x442044=_0x3b00,_0x4a5e48={'gYrEn':function(_0x38fe8b,_0xf24de6){return _0x38fe8b!==_0xf24de6;},'xLixO':function(_0x59baf6,_0x408381){return _0x59baf6>_0x408381;}},_0x38759f=_0x5914ec[_0x442044(0x174)];if(_0x4a5e48[_0x442044(0x1fc)](typeof _0x38759f,'string'))return null;const _0x453837=_0x38759f[_0x442044(0x1f3)]()['replace'](/\s+/g,'\x20');return _0x4a5e48['xLixO'](_0x453837[_0x442044(0x1a9)],0x0)?_0x453837:null;}export function formatPlaywrightCliConsoleLogMessage(_0x3fd18a,_0x37df16,_0x380800){const _0x1cd46f=_0x3b00,_0xb4f9f4={'RAVaK':function(_0x408252,_0x160b18){return _0x408252(_0x160b18);}},_0x433829=formatPlaywrightCliLog(_0x37df16,_0x380800),_0x5abf6d=_0xb4f9f4['RAVaK'](extractPlaywrightCliToolDescription,_0x3fd18a);if(!_0x5abf6d)return'[playwright-cli]\x20'+_0x433829;if(process[_0x1cd46f(0x1a4)][_0x1cd46f(0x1bc)])return _0x1cd46f(0x1c9)+_0x5abf6d+'\x20('+_0x433829+')';return _0x1cd46f(0x1c9)+_0x5abf6d;}export function buildVerifyFeatureCliDebugPrompt(_0x7c1adf,_0x2db182){const _0x34a092=_0x3b00,_0xd31c64={'jkFtc':_0x34a092(0x1da),'hGCGJ':function(_0x4e6f3e,_0x3ccd59,_0x308e4e){return _0x4e6f3e(_0x3ccd59,_0x308e4e);},'dsgzg':_0x34a092(0x1aa),'oOxrE':function(_0x704a71,_0x4fe0ba,_0x12df10){return _0x704a71(_0x4fe0ba,_0x12df10);},'yiHCB':'03_learn-more.png','gPeDb':function(_0x342bf4,_0x21987b){return _0x342bf4(_0x21987b);},'seBPQ':function(_0x378d29,_0x257dd){return _0x378d29(_0x257dd);}},_0x1cddbe=buildCliArtifactPath(_0x2db182,_0xd31c64['jkFtc']),_0x18f0c1=_0xd31c64['hGCGJ'](buildCliArtifactPath,_0x2db182,_0xd31c64[_0x34a092(0x1ac)]),_0x125907=buildCliArtifactPath(_0x2db182,_0x34a092(0x1c4)),_0x499d8a=_0xd31c64[_0x34a092(0x1b8)](buildCliArtifactPath,_0x2db182,_0xd31c64['yiHCB']),_0xbad031=_0xd31c64[_0x34a092(0x197)](quoteShellArg,_0x1cddbe),_0x10edf7=quoteShellArg(_0x18f0c1),_0x82f6e5=quoteShellArg(_0x125907),_0x544407=_0xd31c64['seBPQ'](quoteShellArg,_0x499d8a);return _0x34a092(0x17b)+_0x7c1adf+_0x34a092(0x1fb)+_0x7c1adf+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x7c1adf+_0x34a092(0x1f1)+_0x7c1adf+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x2db182+_0x34a092(0x1f4)+_0x7c1adf+_0x34a092(0x1dc)+_0xbad031+_0x34a092(0x173)+_0x7c1adf+_0x34a092(0x193)+_0x10edf7+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x7c1adf+_0x34a092(0x1dc)+_0x82f6e5+_0x34a092(0x1e2)+_0x7c1adf+_0x34a092(0x193)+_0x544407+_0x34a092(0x1b4);}export function buildVerifyFeatureCliPrompt(_0x1945ec){const _0x2faa39=_0x3b00,_0x221791={'KETbQ':'en-US','rtqye':function(_0x546170,_0x558a32,_0x42c951){return _0x546170(_0x558a32,_0x42c951);},'QPGSo':_0x2faa39(0x195),'MyqxO':function(_0x4ced6d,_0x1a9aa3){return _0x4ced6d(_0x1a9aa3);},'lxqvN':function(_0x795b01,_0xa3818f){return _0x795b01(_0xa3818f);},'deYhs':function(_0x1a2f42,_0x89a7df){return _0x1a2f42>_0x89a7df;},'pZIPz':function(_0x56351f,_0x6cacf4){return _0x56351f(_0x6cacf4);},'jwkhg':_0x2faa39(0x1df),'QypRK':_0x2faa39(0x185)},{checklistItem:_0x326541,itemFeedback:_0x11b9ae,taskDescription:_0x5297da,cliCommandPrefix:_0x25c6a5,cliArtifactDir:_0x18622a,isCdpMode:_0x24cfad,url:_0x238562,cdpEndpoint:_0x8c9574,loginInstructions:_0xee8d85}=_0x1945ec,_0x211651=_0x221791['rtqye'](buildCliArtifactPath,_0x18622a,_0x221791['QPGSo']),_0x2a9db9=buildCliArtifactPath(_0x18622a,'02_state.yml'),_0x270936=_0x221791['rtqye'](buildCliArtifactPath,_0x18622a,_0x2faa39(0x178)),_0x108a86=_0x221791[_0x2faa39(0x1cd)](buildCliArtifactPath,_0x18622a,_0x2faa39(0x201)),_0x42aa7f=quoteShellArg(_0x211651),_0x30b698=_0x221791['MyqxO'](quoteShellArg,_0x2a9db9),_0x1c6c61=quoteShellArg(_0x270936),_0x38e8ab=_0x221791['lxqvN'](quoteShellArg,_0x108a86),_0x2508d7=_0x326541[_0x2faa39(0x1bf)]?_0x2faa39(0x1ed)+_0x326541['notes']:'';let _0x3bf24a='';if(_0x11b9ae&&_0x221791['deYhs'](_0x11b9ae[_0x2faa39(0x18f)][_0x2faa39(0x1a9)],0x0)){const _0x40ca00=_0x11b9ae[_0x2faa39(0x18f)]['map'](_0x297a6c=>{const _0x1d8b62=_0x2faa39,_0x173180=new Date(_0x297a6c[_0x1d8b62(0x1f6)])['toLocaleDateString'](_0x221791[_0x1d8b62(0x1bd)],{'month':'short','day':'numeric'}),_0x1216bf=_0x297a6c[_0x1d8b62(0x1cb)]||_0x297a6c['authorEmail']||_0x1d8b62(0x1c2),_0x748b9e=_0x297a6c[_0x1d8b62(0x19c)]?_0x1d8b62(0x190)+(_0x297a6c['domRef']['selector']['split']('\x20>\x20')[_0x1d8b62(0x1b2)]()?.[_0x1d8b62(0x1ae)](':')[0x0]||'element')+'>\x20\x22'+(_0x297a6c['domRef']['textContent']||'')[_0x1d8b62(0x179)](0x0,0x32)+'\x22)':'';return _0x1d8b62(0x1eb)+_0x297a6c['id']+']\x20**'+_0x1216bf+_0x1d8b62(0x19d)+_0x173180+'):\x20\x22'+_0x297a6c['content']+'\x22'+_0x748b9e;})[_0x2faa39(0x1c5)]('\x0a');_0x3bf24a=_0x2faa39(0x19f)+_0x40ca00;}const _0x3df124=_0x11b9ae?.[_0x2faa39(0x184)]?_0x2faa39(0x1b5)+_0x11b9ae['canonicalFlow']:'',_0xbfd8e4=_0x24cfad?_0x2faa39(0x1e0)+_0x8c9574+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x238562+_0x2faa39(0x17a),_0x4903cd=_0x238562?_0x221791[_0x2faa39(0x1e5)](quoteShellArg,_0x238562):'',_0x5b7955=_0x24cfad?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x25c6a5+'\x20open`,\x20then\x20`'+_0x25c6a5+'\x20tracing-start`,\x20then\x20`'+_0x25c6a5+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x18622a+_0x2faa39(0x1a8)+_0x25c6a5+_0x2faa39(0x1dc)+_0x42aa7f+'`\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`'+_0x25c6a5+'\x20screenshot\x20--filename\x20'+_0x38e8ab+_0x2faa39(0x182)+_0x25c6a5+_0x2faa39(0x18e):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x25c6a5+'\x20open\x20'+_0x4903cd+'`,\x20then\x20`'+_0x25c6a5+_0x2faa39(0x1d5)+_0x25c6a5+_0x2faa39(0x1e6)+_0x18622a+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x25c6a5+'\x20snapshot\x20--filename\x20'+_0x42aa7f+'`\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`'+_0x25c6a5+_0x2faa39(0x193)+_0x38e8ab+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x25c6a5+'\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',_0x27eb6e=_0x24cfad?'\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.',_0x580046=_0xee8d85?_0x2faa39(0x181)+_0xee8d85+_0x2faa39(0x1d8):'';return _0x2faa39(0x1d0)+_0x326541[_0x2faa39(0x174)]+_0x2508d7+_0x3bf24a+_0x3df124+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x5297da+'\x0a\x0a'+_0xbfd8e4+_0x580046+'\x0a\x0a'+_0x5b7955+_0x2faa39(0x1e9)+_0x25c6a5+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x18622a+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x30b698+_0x2faa39(0x1bb)+_0x1c6c61+'`\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`'+_0x18622a+'`:\x20\x22'+_0x108a86+_0x2faa39(0x1f8)+_0x221791[_0x2faa39(0x1cd)](buildCliArtifactPath,_0x18622a,_0x221791['jwkhg'])+_0x2faa39(0x1f8)+buildCliArtifactPath(_0x18622a,_0x2faa39(0x18d))+_0x2faa39(0x1c7)+_0x221791[_0x2faa39(0x1cd)](buildCliArtifactPath,_0x18622a,_0x221791['QypRK'])+'\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'+_0x27eb6e+_0x2faa39(0x1e4);}export function summarizeVerifyFeatureCliCommandAvailability(_0x428944){const _0x52c960=[..._0x428944['keys']()]['sort']();let _0x5a872a=0x0;for(const _0x47eeb5 of _0x428944['values']()){_0x5a872a+=_0x47eeb5;}return{'cliCommandCount':_0x5a872a,'cliCommandsSeen':_0x52c960,'noCliCommandsCalled':_0x5a872a===0x0};}export function createVerifyFeatureCliHooks(_0x4b161c){const _0x1eb81f={'NPIzC':'Bash','lJdWx':'playwright-cli','JgpVW':'tool_call','aQzIZ':function(_0x5c8f4a,_0x1ed0f9){return _0x5c8f4a(_0x1ed0f9);},'UjSlB':function(_0x58afe6,_0x14b7bd){return _0x58afe6!==_0x14b7bd;},'IOrSa':'snapshot','fkYlK':function(_0x158cfd,_0xde902,_0x57919b,_0x19461c){return _0x158cfd(_0xde902,_0x57919b,_0x19461c);},'kgPxo':function(_0x3e0335,_0x1b0cdf){return _0x3e0335!==_0x1b0cdf;}},_0x3d1d04=new Map(),_0x3cebab=async _0x4a00d5=>{const _0x4c03fc=_0x3b00;if(_0x4a00d5[_0x4c03fc(0x17e)]!==_0x4c03fc(0x177))return{};const _0x5020ea=_0x4a00d5;if(_0x5020ea['tool_name']!==_0x1eb81f[_0x4c03fc(0x176)])return{};const _0x46946e=_0x5020ea[_0x4c03fc(0x17f)],_0x2a185f=extractBashCommand(_0x46946e);if(!_0x2a185f)return{};const _0x300eef=parsePlaywrightCliCommand(_0x2a185f);if(!_0x300eef)return{};return _0x3d1d04['set'](_0x300eef,(_0x3d1d04['get'](_0x300eef)||0x0)+0x1),_0x4b161c[_0x4c03fc(0x19b)](_0x4c03fc(0x1b9),{'transport':_0x1eb81f['lJdWx'],'toolName':_0x300eef}),_0x4b161c[_0x4c03fc(0x1be)](_0x1eb81f[_0x4c03fc(0x18b)],{'transport':'playwright-cli','toolName':_0x300eef,'bashCommandPreview':_0x1eb81f[_0x4c03fc(0x18c)](truncatePreview,_0x2a185f)}),_0x1eb81f['UjSlB'](_0x300eef,_0x1eb81f['IOrSa'])&&console[_0x4c03fc(0x1ba)](_0x1eb81f[_0x4c03fc(0x1fd)](formatPlaywrightCliConsoleLogMessage,_0x46946e,_0x2a185f,_0x300eef)),{};},_0x52ce90=async _0x57f2bd=>{const _0x37c0d8=_0x3b00;if(_0x1eb81f[_0x37c0d8(0x1b6)](_0x57f2bd['hook_event_name'],'PostToolUseFailure'))return{};const _0x37924e=_0x57f2bd;if(_0x1eb81f[_0x37c0d8(0x1b6)](_0x37924e[_0x37c0d8(0x1c0)],_0x37c0d8(0x1ad)))return{};return await _0x4b161c['trackPhaseError']('tool_failure',_0x37924e[_0x37c0d8(0x1a7)],{'transport':'playwright-cli','toolName':_0x1eb81f[_0x37c0d8(0x176)]}),{};};return{'postToolUseHook':_0x3cebab,'postToolUseFailureHook':_0x52ce90,'commandCounts':_0x3d1d04};}async function runPlaywrightCliLifecycleCommand(_0x36c931){const _0x459ff9=_0x3b00,_0x249326={'hRjiK':function(_0x445592,_0xa9472a){return _0x445592(_0xa9472a);},'fcPPM':function(_0x50cbd1,_0x69b1f6,_0x4790fb){return _0x50cbd1(_0x69b1f6,_0x4790fb);}},{sessionId:_0x277f0e,configPath:_0x52e80a,commandArgs:_0x3c9a59,env:_0x5e97b5,telemetry:_0x52bfd6,phase:_0x65d895,metadata:_0x4c08c6,timeoutMs:_0x118fe1}=_0x36c931;_0x52bfd6[_0x459ff9(0x19b)](_0x65d895,_0x4c08c6);try{const _0x2afebf=await _0x249326['hRjiK'](runPlaywrightCliCommand,{'sessionId':_0x277f0e,'configPath':_0x52e80a,'commandArgs':_0x3c9a59,'cwd':process[_0x459ff9(0x200)](),'env':_0x5e97b5,'timeoutMs':_0x118fe1??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x52bfd6['trackPhaseEnd'](_0x65d895,{..._0x4c08c6,'subcommand':_0x2afebf[_0x459ff9(0x1c8)]['subcommand'],'stdoutPreview':truncatePreview(_0x2afebf[_0x459ff9(0x1de)],0x7d0),'stderrPreview':_0x249326[_0x459ff9(0x1cc)](truncatePreview,_0x2afebf[_0x459ff9(0x1a3)],0x7d0)});}catch(_0x627630){await _0x52bfd6['trackPhaseError'](_0x65d895,_0x627630,_0x4c08c6);throw _0x627630;}}export async function finalizeVerifyFeatureCliSession(_0x492eea){const _0x5cb39e=_0x3b00,_0x368e64={'LnEON':'video-stop','mwsPB':_0x5cb39e(0x1ea),'QkKJF':_0x5cb39e(0x191),'vlpOJ':_0x5cb39e(0x1a0),'mBWTG':function(_0x3afe44,_0x5442f4){return _0x3afe44(_0x5442f4);}},{telemetry:_0x525384,sessionId:_0x340e03,configPath:_0x487d61,cliArtifactDir:_0x2928c9,env:_0xe44b8a,transportMetadata:_0x3bbdc2}=_0x492eea,_0x47ac48=[{'phase':_0x5cb39e(0x1dd),'commandArgs':['tracing-stop']},{'phase':_0x5cb39e(0x1ee),'commandArgs':[_0x368e64['LnEON'],'--filename='+buildCliArtifactPath(_0x2928c9,_0x368e64[_0x5cb39e(0x17c)])]},{'phase':_0x368e64['QkKJF'],'commandArgs':[_0x368e64[_0x5cb39e(0x1af)]]}];for(const _0x152663 of _0x47ac48){try{await _0x368e64['mBWTG'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x340e03,'configPath':_0x487d61,'commandArgs':[..._0x152663['commandArgs']],'env':_0xe44b8a,'telemetry':_0x525384,'phase':_0x152663[_0x5cb39e(0x199)],'metadata':_0x3bbdc2});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x4061ae){const _0x7e33c0=_0x3b00,_0x30ed03={'ooSEq':'trace.zip','rEoBg':function(_0x58cf40,_0xb84d02,_0x286cf4){return _0x58cf40(_0xb84d02,_0x286cf4);}},_0x23aedd=[_0x30ed03[_0x7e33c0(0x1c6)],'trace.trace.zip'];for(const _0x286342 of _0x23aedd){const _0x1b26a7=_0x30ed03['rEoBg'](join,_0x4061ae,_0x286342);try{return{'buffer':await readFile(_0x1b26a7),'source':_0x1b26a7};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x30596e){const _0x57f003=_0x3b00,_0x52d18d={'YfMtZ':function(_0x59f25d,_0x819995,_0x58633b){return _0x59f25d(_0x819995,_0x58633b);},'gGOhn':function(_0x11d91c,_0x2c38f3,_0x4b3ba4){return _0x11d91c(_0x2c38f3,_0x4b3ba4);},'xNsIw':function(_0x272878,_0x3a9a62){return _0x272878(_0x3a9a62);},'gqOKg':function(_0x499264,_0x29a65b){return _0x499264===_0x29a65b;},'raIcO':function(_0x385aa5,_0x44cdd4,_0x40ae40){return _0x385aa5(_0x44cdd4,_0x40ae40);}},{cwd:_0x51ef7a,cliArtifactDir:_0x45607f,startTime:_0xe60865}=_0x30596e,_0xa3c60e=[];await _0x52d18d['YfMtZ'](mkdir,_0x45607f,{'recursive':!![]});const _0x450d63=await readdir(_0x51ef7a,{'withFileTypes':!![]});for(const _0x23db14 of _0x450d63){if(!_0x23db14['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x57f003(0x1cf)](_0x23db14['name']))continue;const _0x2fa6cf=_0x52d18d['gGOhn'](join,_0x51ef7a,_0x23db14[_0x57f003(0x1ab)]),_0x2231de=await _0x52d18d[_0x57f003(0x1d7)](stat,_0x2fa6cf);if(_0x2231de[_0x57f003(0x1ff)]+0x7d0<_0xe60865)continue;const _0x133366=_0x52d18d[_0x57f003(0x175)](buildCliArtifactPath,_0x45607f,_0x23db14['name']);if(_0x52d18d[_0x57f003(0x1fe)](_0x2fa6cf,_0x133366))continue;await _0x52d18d[_0x57f003(0x1db)](rename,_0x2fa6cf,_0x133366),_0xa3c60e[_0x57f003(0x1ef)](_0x23db14[_0x57f003(0x1ab)]);}return _0xa3c60e[_0x57f003(0x1ec)]();}
|
|
1
|
+
(function(_0x1151a3,_0x27c2dc){const _0x4efa42=_0x2eac,_0x4e65a1=_0x1151a3();while(!![]){try{const _0xd50769=-parseInt(_0x4efa42(0xdd))/0x1*(-parseInt(_0x4efa42(0xa4))/0x2)+-parseInt(_0x4efa42(0xa0))/0x3*(parseInt(_0x4efa42(0xc7))/0x4)+-parseInt(_0x4efa42(0x87))/0x5*(parseInt(_0x4efa42(0xdf))/0x6)+parseInt(_0x4efa42(0xe6))/0x7+parseInt(_0x4efa42(0xc0))/0x8*(parseInt(_0x4efa42(0xc6))/0x9)+-parseInt(_0x4efa42(0xc1))/0xa*(-parseInt(_0x4efa42(0x6b))/0xb)+-parseInt(_0x4efa42(0x9e))/0xc*(parseInt(_0x4efa42(0xc9))/0xd);if(_0xd50769===_0x27c2dc)break;else _0x4e65a1['push'](_0x4e65a1['shift']());}catch(_0x5dd0fd){_0x4e65a1['push'](_0x4e65a1['shift']());}}}(_0x4dc9,0xba6a1));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(_0x251f9d,_0x4e66c0=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2f79f0=_0x2eac,_0x14900e={'SnFyq':function(_0x25c1aa,_0x39f150){return _0x25c1aa+_0x39f150;}};return _0x251f9d[_0x2f79f0(0x7d)]>_0x4e66c0?_0x14900e[_0x2f79f0(0xb8)](_0x251f9d['slice'](0x0,_0x4e66c0),'...'):_0x251f9d;}function buildCliArtifactPath(_0x4d3a9e,_0x34ed0a){const _0x5e42d9=_0x2eac,_0x5df9e9={'TuhBk':function(_0x4d2144,_0x4b300c,_0x9b2832){return _0x4d2144(_0x4b300c,_0x9b2832);}};return _0x5df9e9[_0x5e42d9(0xbf)](join,_0x4d3a9e,_0x34ed0a);}function toStepDisplayName(_0x59c8f6){const _0x37b7d7=_0x2eac,_0x799c39={'UwkAr':function(_0x48faa7,_0x581c25){return _0x48faa7(_0x581c25);}},_0x3ad26b=basename(_0x59c8f6)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x37b7d7(0x67)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3ad26b,'isKeyStep':/^key_/i[_0x37b7d7(0xcb)](_0x799c39['UwkAr'](basename,_0x59c8f6))};}function extractShellValue(_0x4f9c0c){if(!_0x4f9c0c)return null;return _0x4f9c0c[0x1]??_0x4f9c0c[0x2]??_0x4f9c0c[0x3]??null;}function _0x2eac(_0xa77d36,_0x12e703){_0xa77d36=_0xa77d36-0x67;const _0x4dc9b2=_0x4dc9();let _0x2eac03=_0x4dc9b2[_0xa77d36];return _0x2eac03;}function extractFilenameOption(_0x41dc4f){return extractShellValue(_0x41dc4f['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x4dc9(){const _0x44c562=['adEUL','\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','env','isFile','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','tab-select','24YIsfHG','):\x20\x22','591MMgvVD','03_learn-more.png','efoYw','description','1750240YXjdUq','tool_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\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','map','AAkKC','YRgrP','\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','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','GiQxW','capture\x20snapshot\x20`','trackPhaseStart','open\x20','\x22,\x20\x22','kmLqL','get','tool_call','02_learn-more.yml','join','close','CSuHI','SnFyq','Reviewer','hook_event_name','jYUfU','\x20snapshot\x20--filename\x20','press','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','TuhBk','4024OYrwwx','1013410ajpGZA','FUlCp','Galgx','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','start\x20video\x20recording','24669TTtYag','3340yIxDGR','capture\x20step\x20`','16433027ntGPaO','\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','test','unaddressedComments','trackPhaseEnd','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','trace.zip','check','02_button-clicked.png','cwUkR','\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.','\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.','jnLOW','playwright-cli','fill','video-start','\x20(on\x20element:\x20<','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','LLubX','`\x0a9.\x20Run\x20`','1TxgWWX','en-US','3089484KkKBFW','tracing-start','string','capture\x20snapshot','stderr','PFgIP','jaYxE','10659628oIxIgv','tab-new','name','`\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','--filename=','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','domRef','hmMVe','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','replace','open\x20new\x20tab','FKlTT','start\x20tracing','77JuiEXA','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','ZYHOP','canonicalFlow','error','snapshot','log','01_mozilla-homepage.png','element','AtSkw','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','SdyAc','\x5c$&',']\x20**','00_mozilla-homepage.yml','\x0a\x0a1.\x20Run\x20`','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','length','>\x20\x22','gygpJ','trackPhaseError','02_state.yml','\x20>\x20','kzmio','\x0a\x0a##\x20Additional\x20Notes\x0a','key_04_success-state.png','press\x20','10lnwsZj','split','sort','FrEhi','tidGh','invocation','select\x20tab\x20','playwright_cli_close','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','\x20tracing-start`,\x20then\x20`','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','tracing-stop','WhGWS','trim','PCwoF','[ranger-verification-agent]\x20'];_0x4dc9=function(){return _0x44c562;};return _0x4dc9();}function extractFirstCommandArgument(_0x431a81,_0x43aa56){const _0x24ab36=_0x2eac,_0x2bafe3=_0x43aa56[_0x24ab36(0x67)](/[.*+?^${}()|[\]\\]/g,_0x24ab36(0x78));return extractShellValue(_0x431a81['match'](new RegExp('(?:^|\x5cs)'+_0x2bafe3+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0xd48f34){const _0x91feaa=_0x2eac,_0x4cb944={'PCwoF':'target'};if(!_0xd48f34)return _0x4cb944[_0x91feaa(0x96)];if(/^e\d+$/i['test'](_0xd48f34))return'ref\x20'+_0xd48f34;return JSON['stringify'](truncatePreview(_0xd48f34,0x78));}function formatPlaywrightCliLog(_0x1a2773,_0x1a22c3){const _0xa13202=_0x2eac,_0x491175={'AlrXe':'open','gPnXt':'open\x20browser','gRcNo':'stop\x20tracing','kmLqL':_0xa13202(0xd8),'dZTGg':'video-stop','oLBKH':'snapshot','rLkXw':function(_0x5f2573,_0x598e56){return _0x5f2573(_0x598e56);},'GiQxW':'capture\x20screenshot','PFgIP':_0xa13202(0xd0),'hmMVe':function(_0x506a46,_0x4fc1b6){return _0x506a46(_0x4fc1b6);},'adEUL':_0xa13202(0xbd),'gygpJ':function(_0x4822a3,_0x3ebc5c){return _0x4822a3(_0x3ebc5c);},'EqDoW':'run-code','zOedZ':'run\x20custom\x20Playwright\x20code','FKlTT':_0xa13202(0xe7),'htdoB':_0xa13202(0x9d)};switch(_0x1a22c3){case _0x491175['AlrXe']:{const _0x3c0727=extractFirstCommandArgument(_0x1a2773,_0x1a22c3);return _0x3c0727?_0xa13202(0xaf)+_0x3c0727:_0x491175['gPnXt'];}case _0xa13202(0xe0):return _0xa13202(0x6a);case _0xa13202(0x93):return _0x491175['gRcNo'];case _0x491175[_0xa13202(0xb1)]:return _0xa13202(0xc5);case _0x491175['dZTGg']:return'stop\x20video\x20recording';case _0x491175['oLBKH']:{const _0x1cac1c=extractFilenameOption(_0x1a2773);if(!_0x1cac1c)return _0xa13202(0xe2);const {name:_0x2fe47a}=_0x491175['rLkXw'](toStepDisplayName,_0x1cac1c);return _0xa13202(0xad)+_0x2fe47a+'`';}case'screenshot':{const _0x1e0fed=extractFilenameOption(_0x1a2773);if(!_0x1e0fed)return _0x491175[_0xa13202(0xac)];const {name:_0x39c98b,isKeyStep:_0x44d30b}=toStepDisplayName(_0x1e0fed);return _0x44d30b?'capture\x20key\x20step\x20`'+_0x39c98b+'`':_0xa13202(0xc8)+_0x39c98b+'`';}case'click':return'click\x20'+_0x491175['rLkXw'](formatCommandTarget,extractFirstCommandArgument(_0x1a2773,_0x1a22c3));case _0x491175[_0xa13202(0xe4)]:return'check\x20'+formatCommandTarget(extractFirstCommandArgument(_0x1a2773,_0x1a22c3));case _0xa13202(0xd7):return'fill\x20'+_0x491175[_0xa13202(0xed)](formatCommandTarget,extractFirstCommandArgument(_0x1a2773,_0x1a22c3));case _0x491175[_0xa13202(0x98)]:return _0xa13202(0x86)+_0x491175[_0xa13202(0x7f)](formatCommandTarget,extractFirstCommandArgument(_0x1a2773,_0x1a22c3));case _0x491175['EqDoW']:return _0x491175['zOedZ'];case _0x491175[_0xa13202(0x69)]:{const _0x1fd9a3=extractFirstCommandArgument(_0x1a2773,_0x1a22c3);return _0x1fd9a3?'open\x20new\x20tab\x20'+_0x1fd9a3:_0xa13202(0x68);}case _0x491175['htdoB']:{const _0x5727b3=extractFirstCommandArgument(_0x1a2773,_0x1a22c3);return _0x5727b3?_0xa13202(0x8d)+_0x5727b3:'select\x20tab';}default:return _0x1a22c3;}}function extractPlaywrightCliToolDescription(_0x5a17f6){const _0x4934a2=_0x2eac,_0x5671b0={'oUSzX':_0x4934a2(0xe1),'ZYHOP':function(_0x1bcc12,_0x77be22){return _0x1bcc12>_0x77be22;}},_0x4e0506=_0x5a17f6['description'];if(typeof _0x4e0506!==_0x5671b0['oUSzX'])return null;const _0x5db4b5=_0x4e0506[_0x4934a2(0x95)]()['replace'](/\s+/g,'\x20');return _0x5671b0[_0x4934a2(0x6e)](_0x5db4b5['length'],0x0)?_0x5db4b5:null;}export function formatPlaywrightCliConsoleLogMessage(_0xe36b89,_0x5f199a,_0x1e3242){const _0x4e2c6b=_0x2eac,_0x30f187={'mSDvF':function(_0x5e403f,_0x32a231,_0x37805d){return _0x5e403f(_0x32a231,_0x37805d);},'orkTn':function(_0x2c9370,_0x7732ac){return _0x2c9370(_0x7732ac);}},_0x23d007=_0x30f187['mSDvF'](formatPlaywrightCliLog,_0x5f199a,_0x1e3242),_0x2d7f3d=_0x30f187['orkTn'](extractPlaywrightCliToolDescription,_0xe36b89);if(!_0x2d7f3d)return'[playwright-cli]\x20'+_0x23d007;if(process[_0x4e2c6b(0x9a)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x2d7f3d+'\x20('+_0x23d007+')';return _0x4e2c6b(0x97)+_0x2d7f3d;}export function buildVerifyFeatureCliDebugPrompt(_0x1f7061,_0x1ce867){const _0x5b52f5=_0x2eac,_0x3f0c40={'AAkKC':function(_0xcef88d,_0x1f81bd,_0x282d79){return _0xcef88d(_0x1f81bd,_0x282d79);},'eBGgt':_0x5b52f5(0x7a),'iNAJr':_0x5b52f5(0x73),'kTpcI':_0x5b52f5(0xa1),'jaYxE':function(_0x51d629,_0x113fa6){return _0x51d629(_0x113fa6);}},_0x3c1b06=_0x3f0c40['AAkKC'](buildCliArtifactPath,_0x1ce867,_0x3f0c40['eBGgt']),_0x41bdfc=buildCliArtifactPath(_0x1ce867,_0x3f0c40['iNAJr']),_0x3619b8=buildCliArtifactPath(_0x1ce867,_0x5b52f5(0xb4)),_0xd59231=_0x3f0c40[_0x5b52f5(0xa8)](buildCliArtifactPath,_0x1ce867,_0x3f0c40['kTpcI']),_0x112bc3=quoteShellArg(_0x3c1b06),_0x49e311=_0x3f0c40['jaYxE'](quoteShellArg,_0x41bdfc),_0x37dd0b=_0x3f0c40[_0x5b52f5(0xe5)](quoteShellArg,_0x3619b8),_0x1e9719=_0x3f0c40['jaYxE'](quoteShellArg,_0xd59231);return _0x5b52f5(0xab)+_0x1f7061+_0x5b52f5(0x7b)+_0x1f7061+_0x5b52f5(0x92)+_0x1f7061+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x1f7061+_0x5b52f5(0xbe)+_0x1ce867+_0x5b52f5(0x6c)+_0x1f7061+_0x5b52f5(0xbc)+_0x112bc3+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x1f7061+'\x20screenshot\x20--filename\x20'+_0x49e311+_0x5b52f5(0x8f)+_0x1f7061+_0x5b52f5(0xbc)+_0x37dd0b+_0x5b52f5(0xdc)+_0x1f7061+'\x20screenshot\x20--filename\x20'+_0x1e9719+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x428a46){const _0x1c562e=_0x2eac,_0x4da79f={'FUlCp':_0x1c562e(0xde),'xUsKE':'short','gncQt':_0x1c562e(0x82),'ORvQZ':'01_initial.yml','CSuHI':function(_0x3af7a9,_0x52b780,_0x59603b){return _0x3af7a9(_0x52b780,_0x59603b);},'FrEhi':_0x1c562e(0x81),'SdyAc':function(_0x28631c,_0x39069b,_0x4f6016){return _0x28631c(_0x39069b,_0x4f6016);},'eeuPS':'key_03_success-state.png','CSbBn':'01_initial-state.png','AtSkw':function(_0x1cb614,_0x521f61){return _0x1cb614(_0x521f61);},'kzmio':function(_0x2d451b,_0x147153){return _0x2d451b>_0x147153;},'YRgrP':function(_0x1b1509,_0x3a8aaf,_0x4d0987){return _0x1b1509(_0x3a8aaf,_0x4d0987);},'ZTdrS':function(_0x258018,_0x564669,_0x18e875){return _0x258018(_0x564669,_0x18e875);},'YSXMS':_0x1c562e(0x85)},{checklistItem:_0x358fb9,itemFeedback:_0x50e924,taskDescription:_0x20a381,cliCommandPrefix:_0x59289f,cliArtifactDir:_0x3f498c,isCdpMode:_0x429f6c,url:_0x355a19,cdpEndpoint:_0x39245b,loginInstructions:_0x63ae2e}=_0x428a46,_0x1ddaeb=buildCliArtifactPath(_0x3f498c,_0x4da79f['ORvQZ']),_0x2f0f7b=_0x4da79f[_0x1c562e(0xb7)](buildCliArtifactPath,_0x3f498c,_0x4da79f[_0x1c562e(0x8a)]),_0x1d9edd=_0x4da79f[_0x1c562e(0x77)](buildCliArtifactPath,_0x3f498c,_0x4da79f['eeuPS']),_0xdf8edc=buildCliArtifactPath(_0x3f498c,_0x4da79f['CSbBn']),_0x152e0d=_0x4da79f[_0x1c562e(0x75)](quoteShellArg,_0x1ddaeb),_0x3b02ae=_0x4da79f['AtSkw'](quoteShellArg,_0x2f0f7b),_0x4a7920=quoteShellArg(_0x1d9edd),_0x293af7=quoteShellArg(_0xdf8edc),_0x2fc086=_0x358fb9['notes']?_0x1c562e(0x84)+_0x358fb9['notes']:'';let _0x22264b='';if(_0x50e924&&_0x4da79f[_0x1c562e(0x83)](_0x50e924[_0x1c562e(0xcc)]['length'],0x0)){const _0x34a778=_0x50e924['unaddressedComments'][_0x1c562e(0xa7)](_0xd88782=>{const _0x1de2b0=_0x1c562e,_0x2e27dd=new Date(_0xd88782['createdAt'])['toLocaleDateString'](_0x4da79f[_0x1de2b0(0xc2)],{'month':_0x4da79f['xUsKE'],'day':'numeric'}),_0x1ce1f6=_0xd88782['authorName']||_0xd88782['authorEmail']||_0x1de2b0(0xb9),_0x5d671b=_0xd88782[_0x1de2b0(0xec)]?_0x1de2b0(0xd9)+(_0xd88782[_0x1de2b0(0xec)]['selector'][_0x1de2b0(0x88)](_0x4da79f['gncQt'])['pop']()?.[_0x1de2b0(0x88)](':')[0x0]||_0x1de2b0(0x74))+_0x1de2b0(0x7e)+(_0xd88782[_0x1de2b0(0xec)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0xd88782['id']+_0x1de2b0(0x79)+_0x1ce1f6+'**\x20('+_0x2e27dd+_0x1de2b0(0x9f)+_0xd88782['content']+'\x22'+_0x5d671b;})[_0x1c562e(0xb5)]('\x0a');_0x22264b=_0x1c562e(0xa6)+_0x34a778;}const _0x5d94ae=_0x50e924?.[_0x1c562e(0x6f)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x50e924['canonicalFlow']:'',_0x5eb9a3=_0x429f6c?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x39245b+_0x1c562e(0xc4):_0x1c562e(0x9c)+_0x355a19+'\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',_0x519a50=_0x355a19?quoteShellArg(_0x355a19):'',_0x9f3d1d=_0x429f6c?_0x1c562e(0x76)+_0x59289f+'\x20open`,\x20then\x20`'+_0x59289f+_0x1c562e(0x91)+_0x59289f+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3f498c+_0x1c562e(0xee)+_0x59289f+'\x20snapshot\x20--filename\x20'+_0x152e0d+_0x1c562e(0x7c)+_0x59289f+'\x20screenshot\x20--filename\x20'+_0x293af7+_0x1c562e(0xce)+_0x59289f+'\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':'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x59289f+'\x20open\x20'+_0x519a50+'`,\x20then\x20`'+_0x59289f+_0x1c562e(0x91)+_0x59289f+_0x1c562e(0x6d)+_0x3f498c+_0x1c562e(0xee)+_0x59289f+_0x1c562e(0xbc)+_0x152e0d+'`\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`'+_0x59289f+'\x20screenshot\x20--filename\x20'+_0x293af7+_0x1c562e(0xda)+_0x59289f+_0x1c562e(0xca),_0x3090f8=_0x429f6c?'\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.':_0x1c562e(0xd3),_0x24d749=_0x63ae2e?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x63ae2e+'\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 _0x1c562e(0xeb)+_0x358fb9[_0x1c562e(0xa3)]+_0x2fc086+_0x22264b+_0x5d94ae+_0x1c562e(0x90)+_0x20a381+'\x0a\x0a'+_0x5eb9a3+_0x24d749+'\x0a\x0a'+_0x9f3d1d+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x59289f+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x3f498c+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x3b02ae+_0x1c562e(0xe9)+_0x4a7920+'`\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`'+_0x3f498c+'`:\x20\x22'+_0xdf8edc+'\x22,\x20\x22'+_0x4da79f[_0x1c562e(0xa9)](buildCliArtifactPath,_0x3f498c,_0x1c562e(0xd1))+_0x1c562e(0xb0)+_0x4da79f['ZTdrS'](buildCliArtifactPath,_0x3f498c,'03_result-visible.png')+_0x1c562e(0x99)+buildCliArtifactPath(_0x3f498c,_0x4da79f['YSXMS'])+_0x1c562e(0xaa)+_0x3090f8+_0x1c562e(0xd4);}export function summarizeVerifyFeatureCliCommandAvailability(_0x570a0a){const _0x5de5b4=_0x2eac,_0x43a028=[..._0x570a0a['keys']()][_0x5de5b4(0x89)]();let _0x213e5d=0x0;for(const _0x3e6066 of _0x570a0a['values']()){_0x213e5d+=_0x3e6066;}return{'cliCommandCount':_0x213e5d,'cliCommandsSeen':_0x43a028,'noCliCommandsCalled':_0x213e5d===0x0};}export function createVerifyFeatureCliHooks(_0x2ed7f8){const _0x1c2396=_0x2eac,_0x186db1={'yYsBy':function(_0x25314f,_0x58c44f){return _0x25314f!==_0x58c44f;},'awaIq':'PostToolUse','cwUkR':function(_0xa2e543,_0x4f07ab){return _0xa2e543+_0x4f07ab;},'LLubX':_0x1c2396(0xd6),'HVSKp':'tool_call','otTEd':function(_0x2efcb3,_0x3f2b33,_0x4e1181,_0x43e306){return _0x2efcb3(_0x3f2b33,_0x4e1181,_0x43e306);},'QfFag':function(_0x494f06,_0x53cd26){return _0x494f06!==_0x53cd26;},'WhGWS':'PostToolUseFailure','DWdtj':'tool_failure','owkPZ':'Bash'},_0x33f040=new Map(),_0x2b0130=async _0x50c6eb=>{const _0x57d962=_0x1c2396;if(_0x186db1['yYsBy'](_0x50c6eb[_0x57d962(0xba)],_0x186db1['awaIq']))return{};const _0x4a03e0=_0x50c6eb;if(_0x4a03e0['tool_name']!=='Bash')return{};const _0x546763=_0x4a03e0['tool_input'],_0x1efd36=extractBashCommand(_0x546763);if(!_0x1efd36)return{};const _0x31e442=parsePlaywrightCliCommand(_0x1efd36);if(!_0x31e442)return{};return _0x33f040['set'](_0x31e442,_0x186db1[_0x57d962(0xd2)](_0x33f040[_0x57d962(0xb2)](_0x31e442)||0x0,0x1)),_0x2ed7f8[_0x57d962(0xae)](_0x57d962(0xb3),{'transport':_0x186db1[_0x57d962(0xdb)],'toolName':_0x31e442}),_0x2ed7f8[_0x57d962(0xcd)](_0x186db1['HVSKp'],{'transport':'playwright-cli','toolName':_0x31e442,'bashCommandPreview':truncatePreview(_0x1efd36)}),_0x31e442!==_0x57d962(0x71)&&console[_0x57d962(0x72)](_0x186db1['otTEd'](formatPlaywrightCliConsoleLogMessage,_0x546763,_0x1efd36,_0x31e442)),{};},_0x1a27de=async _0x576682=>{const _0x6b3cf3=_0x1c2396;if(_0x186db1['QfFag'](_0x576682[_0x6b3cf3(0xba)],_0x186db1[_0x6b3cf3(0x94)]))return{};const _0xb05c85=_0x576682;if(_0x186db1['yYsBy'](_0xb05c85[_0x6b3cf3(0xa5)],'Bash'))return{};return await _0x2ed7f8[_0x6b3cf3(0x80)](_0x186db1['DWdtj'],_0xb05c85[_0x6b3cf3(0x70)],{'transport':_0x186db1['LLubX'],'toolName':_0x186db1['owkPZ']}),{};};return{'postToolUseHook':_0x2b0130,'postToolUseFailureHook':_0x1a27de,'commandCounts':_0x33f040};}async function runPlaywrightCliLifecycleCommand(_0x4978ed){const _0x16a731=_0x2eac,_0x215ad4={'NpAMD':function(_0x4de35b,_0xd3c7fb){return _0x4de35b??_0xd3c7fb;},'jYUfU':function(_0x5457f0,_0x23873e,_0x50ed2e){return _0x5457f0(_0x23873e,_0x50ed2e);},'FTJqY':function(_0x5082b7,_0x430ab3,_0x4eaecc){return _0x5082b7(_0x430ab3,_0x4eaecc);}},{sessionId:_0x4f17ec,configPath:_0x5acd73,commandArgs:_0xef9254,env:_0x4e86ce,telemetry:_0x269aa3,phase:_0x2321b0,metadata:_0x4b2892,timeoutMs:_0x2a9f1a}=_0x4978ed;_0x269aa3['trackPhaseStart'](_0x2321b0,_0x4b2892);try{const _0x3e250a=await runPlaywrightCliCommand({'sessionId':_0x4f17ec,'configPath':_0x5acd73,'commandArgs':_0xef9254,'cwd':process['cwd'](),'env':_0x4e86ce,'timeoutMs':_0x215ad4['NpAMD'](_0x2a9f1a,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x269aa3[_0x16a731(0xcd)](_0x2321b0,{..._0x4b2892,'subcommand':_0x3e250a[_0x16a731(0x8c)]['subcommand'],'stdoutPreview':_0x215ad4[_0x16a731(0xbb)](truncatePreview,_0x3e250a['stdout'],0x7d0),'stderrPreview':_0x215ad4['FTJqY'](truncatePreview,_0x3e250a[_0x16a731(0xe3)],0x7d0)});}catch(_0x158e33){await _0x269aa3['trackPhaseError'](_0x2321b0,_0x158e33,_0x4b2892);throw _0x158e33;}}export async function finalizeVerifyFeatureCliSession(_0x1cd717){const _0x3635b4=_0x2eac,_0x345aef={'Galgx':function(_0x5f5489,_0xbfe945,_0x3edf62){return _0x5f5489(_0xbfe945,_0x3edf62);},'nJoAW':_0x3635b4(0x8e)},{telemetry:_0x1a5d6a,sessionId:_0x521ef3,configPath:_0x287ac6,cliArtifactDir:_0x4a6693,env:_0x2ba74b,transportMetadata:_0x3570f5}=_0x1cd717,_0x178eb9=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':'playwright_cli_video_stop','commandArgs':['video-stop',_0x3635b4(0xea)+_0x345aef[_0x3635b4(0xc3)](buildCliArtifactPath,_0x4a6693,'session-recording.webm')]},{'phase':_0x345aef['nJoAW'],'commandArgs':[_0x3635b4(0xb6)]}];for(const _0x357a57 of _0x178eb9){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x521ef3,'configPath':_0x287ac6,'commandArgs':[..._0x357a57['commandArgs']],'env':_0x2ba74b,'telemetry':_0x1a5d6a,'phase':_0x357a57['phase'],'metadata':_0x3570f5});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x4247d8){const _0x149976=_0x2eac,_0x458094={'efoYw':_0x149976(0xcf),'GUeQt':'trace.trace.zip','jnLOW':function(_0x45ec40,_0x29048c,_0x22cdb6){return _0x45ec40(_0x29048c,_0x22cdb6);},'wjOwx':function(_0x1e4b38,_0x15832b){return _0x1e4b38(_0x15832b);}},_0x537f14=[_0x458094[_0x149976(0xa2)],_0x458094['GUeQt']];for(const _0x2f7065 of _0x537f14){const _0x679b12=_0x458094[_0x149976(0xd5)](join,_0x4247d8,_0x2f7065);try{return{'buffer':await _0x458094['wjOwx'](readFile,_0x679b12),'source':_0x679b12};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x3e804c){const _0x1c3eac=_0x2eac,_0x126766={'uulFC':function(_0x4b9e80,_0x4ecf5e,_0x1cab17){return _0x4b9e80(_0x4ecf5e,_0x1cab17);},'VhEgj':function(_0x2b077e,_0x292607,_0x907948){return _0x2b077e(_0x292607,_0x907948);},'tidGh':function(_0x3acf89,_0x2d3efa){return _0x3acf89<_0x2d3efa;}},{cwd:_0x3061a0,cliArtifactDir:_0xb9b54b,startTime:_0x2fb64e}=_0x3e804c,_0x136447=[];await _0x126766['uulFC'](mkdir,_0xb9b54b,{'recursive':!![]});const _0x4ef14d=await readdir(_0x3061a0,{'withFileTypes':!![]});for(const _0xbc9766 of _0x4ef14d){if(!_0xbc9766[_0x1c3eac(0x9b)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0xbc9766[_0x1c3eac(0xe8)]))continue;const _0x1b749c=_0x126766['VhEgj'](join,_0x3061a0,_0xbc9766['name']),_0x832c91=await stat(_0x1b749c);if(_0x126766[_0x1c3eac(0x8b)](_0x832c91['mtimeMs']+0x7d0,_0x2fb64e))continue;const _0x544777=buildCliArtifactPath(_0xb9b54b,_0xbc9766['name']);if(_0x1b749c===_0x544777)continue;await _0x126766['uulFC'](rename,_0x1b749c,_0x544777),_0x136447['push'](_0xbc9766['name']);}return _0x136447[_0x1c3eac(0x89)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x23891f=_0x16ff;(function(_0x28581c,_0x24f4cb){const _0x25a7d8=_0x16ff,_0x63f104=_0x28581c();while(!![]){try{const _0x57922d=parseInt(_0x25a7d8(0x272))/0x1*(parseInt(_0x25a7d8(0x1d4))/0x2)+-parseInt(_0x25a7d8(0x1cb))/0x3+parseInt(_0x25a7d8(0x25d))/0x4*(parseInt(_0x25a7d8(0x1e2))/0x5)+parseInt(_0x25a7d8(0x26b))/0x6*(-parseInt(_0x25a7d8(0x1a4))/0x7)+-parseInt(_0x25a7d8(0x23f))/0x8*(-parseInt(_0x25a7d8(0x24a))/0x9)+parseInt(_0x25a7d8(0x264))/0xa*(-parseInt(_0x25a7d8(0x1ca))/0xb)+parseInt(_0x25a7d8(0x1bb))/0xc;if(_0x57922d===_0x24f4cb)break;else _0x63f104['push'](_0x63f104['shift']());}catch(_0x4edc48){_0x63f104['push'](_0x63f104['shift']());}}}(_0x5161,0x25e98));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',_0x23891f(0x1a1),_0x23891f(0x191),_0x23891f(0x217),_0x23891f(0x1a5),_0x23891f(0x225),'screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x2839db,_0x303d74){const _0x35ae43=_0x23891f,_0x83f5d2={'TJIwo':function(_0x5c2c2d,_0x2eb52d,_0x59f251){return _0x5c2c2d(_0x2eb52d,_0x59f251);}};return _0x83f5d2[_0x35ae43(0x196)](join,_0x2839db,_0x303d74);}export class NovaActArtifactRecorder{['params'];['browser']=null;['context']=null;['frameSession']=null;[_0x23891f(0x1b2)]=[];[_0x23891f(0x25f)]=0x0;[_0x23891f(0x206)]=0x0;[_0x23891f(0x1ae)]=null;[_0x23891f(0x20a)]=null;['tracingStarted']=![];[_0x23891f(0x246)]=![];['startAttempted']=![];[_0x23891f(0x1ea)]=![];constructor(_0x33a95a){const _0x31a037=_0x23891f;this[_0x31a037(0x223)]=_0x33a95a;}async[_0x23891f(0x24e)](){const _0x599a18=_0x23891f,_0x1c4b29={'hpiOV':function(_0x3230f8,_0x3e1b19,_0x40d973){return _0x3230f8(_0x3e1b19,_0x40d973);},'KqiyX':_0x599a18(0x1cc),'hxlTn':'nova_act_artifact_recording'};if(this[_0x599a18(0x1d9)])return;this['startAttempted']=!![];const _0x1b2d53=await this[_0x599a18(0x1e9)](),_0x4e6866=_0x1b2d53[_0x599a18(0x232)];if(!_0x4e6866)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x599a18(0x223)]['novaOptions']['sessionId']);await _0x1c4b29['hpiOV'](mkdir,this['params']['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x4e6866,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this['browser'][_0x599a18(0x19b)]()[0x0]??null;if(!this['context'])throw new Error(_0x1c4b29[_0x599a18(0x1cf)]);await this[_0x599a18(0x23a)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this[_0x599a18(0x262)](),this[_0x599a18(0x223)]['telemetry'][_0x599a18(0x26f)](_0x1c4b29['hxlTn'],{...this[_0x599a18(0x223)]['transportMetadata'],'cdpEndpoint':_0x4e6866,'browserPid':_0x1b2d53[_0x599a18(0x24c)],'sessionState':_0x1b2d53['state']}),this[_0x599a18(0x223)]['telemetry'][_0x599a18(0x215)](_0x599a18(0x25e),{...this[_0x599a18(0x223)][_0x599a18(0x242)],'tracingStarted':this['tracingStarted'],'screencastStarted':this[_0x599a18(0x246)]});}async['stop'](){const _0x52ac4d=_0x23891f,_0x36e3a3={'JbaZp':_0x52ac4d(0x266)};if(this['stopped'])return;this[_0x52ac4d(0x1ea)]=!![];const _0x2c6005={...this[_0x52ac4d(0x223)][_0x52ac4d(0x242)],'frameCount':this[_0x52ac4d(0x25f)],'traceSampleCount':this[_0x52ac4d(0x206)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this['params'][_0x52ac4d(0x18e)][_0x52ac4d(0x26f)](_0x36e3a3[_0x52ac4d(0x257)],_0x2c6005);try{await this[_0x52ac4d(0x24d)](),await this[_0x52ac4d(0x1b6)](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x52ac4d(0x1b2)]);this['context']&&this['tracingStarted']&&await this['context'][_0x52ac4d(0x1d3)]['stop']({'path':buildCliArtifactPath(this['params']['cliArtifactDir'],_0x52ac4d(0x1b8))});const _0x38c161=await this[_0x52ac4d(0x244)]();this[_0x52ac4d(0x223)]['telemetry']['trackPhaseEnd'](_0x52ac4d(0x266),{..._0x2c6005,'videoPath':_0x38c161});}catch(_0x48c7ec){await this[_0x52ac4d(0x223)][_0x52ac4d(0x18e)][_0x52ac4d(0x271)](_0x36e3a3['JbaZp'],_0x48c7ec,_0x2c6005);}finally{await this['browser']?.['close']()['catch'](()=>undefined),this[_0x52ac4d(0x239)]=null,this['context']=null,this['frameSession']=null;}}async[_0x23891f(0x1e9)](){const _0x5bc000=_0x23891f,_0x2dbbd3={'yOCDp':function(_0x3c6525,_0x3022ce,_0x439300){return _0x3c6525(_0x3022ce,_0x439300);},'ylHem':function(_0xfbc0e8,_0x4b7f67){return _0xfbc0e8<_0x4b7f67;},'leEht':function(_0x4c5d28,_0x5a9084){return _0x4c5d28-_0x5a9084;},'xKxto':function(_0x360ea4,_0x5922a0){return _0x360ea4 instanceof _0x5922a0;}},_0x15faef=join(homedir(),'.act_cli',_0x5bc000(0x239),'sessions',this['params'][_0x5bc000(0x21b)][_0x5bc000(0x1fa)]+_0x5bc000(0x25a)),_0x690900=Date['now']();let _0xde1273;do{try{const _0x478d52=JSON[_0x5bc000(0x248)](await _0x2dbbd3['yOCDp'](readFile,_0x15faef,_0x5bc000(0x213)));if(_0x478d52[_0x5bc000(0x232)])return _0x478d52;_0xde1273=new Error(_0x5bc000(0x198)+_0x15faef);}catch(_0x389165){_0xde1273=_0x389165;}await delay(0x64);}while(_0x2dbbd3['ylHem'](_0x2dbbd3[_0x5bc000(0x1f2)](Date[_0x5bc000(0x240)](),_0x690900),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x2dbbd3[_0x5bc000(0x25c)](_0xde1273,Error))throw _0xde1273;throw new Error(_0x5bc000(0x19c)+_0x15faef);}async[_0x23891f(0x262)](){const _0x1b34d9=_0x23891f,_0x2b5388={'ggmac':function(_0x1781c0,_0x92ec49){return _0x1781c0(_0x92ec49);},'OOfon':function(_0x392a1c,_0x35ce21,_0x47a1d6){return _0x392a1c(_0x35ce21,_0x47a1d6);},'dawCb':_0x1b34d9(0x26a)};if(!this['context'])return;const _0x4aaeb0=this[_0x1b34d9(0x23a)]['pages']()[0x0];if(!_0x4aaeb0)return;const _0x79117a=this[_0x1b34d9(0x1c5)]();await mkdir(_0x79117a,{'recursive':!![]});const _0x1ef9f5=await this[_0x1b34d9(0x23a)]['newCDPSession'](_0x4aaeb0);this[_0x1b34d9(0x20b)]=_0x1ef9f5,_0x1ef9f5['on'](_0x1b34d9(0x1fb),_0x5ebfa4=>{const _0x480522=_0x1b34d9,_0x3a9334=++this[_0x480522(0x25f)],_0x3370b5=join(_0x79117a,'frame-'+_0x2b5388[_0x480522(0x224)](String,_0x3a9334)[_0x480522(0x20d)](0x6,'0')+'.jpg'),_0x2b54d1=_0x2b5388['OOfon'](writeFile,_0x3370b5,Buffer['from'](_0x5ebfa4[_0x480522(0x251)],_0x2b5388['dawCb']))['catch'](()=>undefined)[_0x480522(0x18d)](()=>_0x1ef9f5[_0x480522(0x1b7)](_0x480522(0x22d),{'sessionId':_0x5ebfa4['sessionId']}))[_0x480522(0x1c9)](()=>undefined)['catch'](()=>undefined);this['frameWrites']['push'](_0x2b54d1);}),await _0x1ef9f5['send']('Page.startScreencast',{'format':_0x1b34d9(0x22e),'quality':0x4b,'everyNthFrame':0x6}),this[_0x1b34d9(0x246)]=!![];}async['stopScreencast'](){const _0x320d44=_0x23891f;if(!this['frameSession']||!this[_0x320d44(0x246)])return;await this[_0x320d44(0x20b)]['send'](_0x320d44(0x226))[_0x320d44(0x1c6)](()=>undefined);}[_0x23891f(0x21c)](){this['queueTraceSample'](),this['traceSampleTimer']=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x23891f(0x1ba)](){const _0x30ebaa=_0x23891f;if(this[_0x30ebaa(0x20a)])return;this['traceSampleInFlight']=this[_0x30ebaa(0x1b6)]()[_0x30ebaa(0x18d)](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x3dcc85=_0x23891f;this[_0x3dcc85(0x1ae)]&&(clearInterval(this[_0x3dcc85(0x1ae)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.[_0x3dcc85(0x1c6)](()=>undefined);}async['captureTraceSample'](){const _0x313c99=_0x23891f,_0xf8ab64={'yyyOT':'body'},_0x8b3876=this['context']?.[_0x313c99(0x1e7)]()[0x0];if(!_0x8b3876)return;try{await _0x8b3876[_0x313c99(0x19f)](_0xf8ab64['yyyOT'])[_0x313c99(0x23b)](_0x3fdb6a=>_0x3fdb6a[_0x313c99(0x199)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x260aa4=_0x23891f,_0x45a0f3={'wxBla':function(_0x5d331a){return _0x5d331a();},'sYneU':function(_0xbb0105,_0x11fb6a,_0x4d11d4){return _0xbb0105(_0x11fb6a,_0x4d11d4);},'MfZbe':'session-recording.webm','gbYcE':'error','Nqcob':'-vf','eQfmz':'-pix_fmt','yXfXw':'yuv420p'};if(this['frameCount']<0x2)return null;const _0x353a86=await _0x45a0f3[_0x260aa4(0x265)](resolveFfmpegPath);if(!_0x353a86)return null;const _0x22b196=join(this['params']['cliArtifactDir'],'videos');await _0x45a0f3[_0x260aa4(0x1da)](mkdir,_0x22b196,{'recursive':!![]});const _0x29f13e=join(_0x22b196,_0x45a0f3['MfZbe']);return await _0x45a0f3['sYneU'](execFileAsync,_0x353a86,['-y','-hide_banner','-loglevel',_0x45a0f3[_0x260aa4(0x1b0)],_0x260aa4(0x1d8),'10','-i',join(this[_0x260aa4(0x1c5)](),_0x260aa4(0x1f7)),_0x45a0f3[_0x260aa4(0x209)],'scale=trunc(iw/2)*2:trunc(ih/2)*2','-c:v','libvpx-vp9',_0x45a0f3[_0x260aa4(0x1a8)],_0x45a0f3['yXfXw'],_0x29f13e]),_0x29f13e;}[_0x23891f(0x1c5)](){const _0x1bedb2=_0x23891f,_0x2b9e05={'fDSlC':function(_0x5cbf77,_0x28a713,_0x466b59){return _0x5cbf77(_0x28a713,_0x466b59);}};return _0x2b9e05['fDSlC'](join,this['params']['cliArtifactDir'],_0x1bedb2(0x236));}}async function delay(_0x3ffb9f){await new Promise(_0xcf70a9=>setTimeout(_0xcf70a9,_0x3ffb9f));}async function resolveFfmpegPath(){const _0x3c24c2=_0x23891f,_0x3d2ba9={'rwrsm':function(_0x50b9cc,_0x380e05){return _0x50b9cc(_0x380e05);},'BqRbc':'ffmpeg','ThXuH':function(_0x26acba){return _0x26acba();},'QXCOX':'Caches','bexGU':function(_0x27dfa2,_0x15ee8c,_0x254375,_0x48090b){return _0x27dfa2(_0x15ee8c,_0x254375,_0x48090b);},'GfsCn':_0x3c24c2(0x1ab)};if(await _0x3d2ba9[_0x3c24c2(0x1c8)](canRunFfmpeg,_0x3d2ba9['BqRbc']))return _0x3c24c2(0x195);const _0x4899c0=[join(_0x3d2ba9[_0x3c24c2(0x1fe)](homedir),_0x3c24c2(0x1d5),_0x3d2ba9['QXCOX'],'ms-playwright'),_0x3d2ba9['bexGU'](join,_0x3d2ba9['ThXuH'](homedir),_0x3d2ba9['GfsCn'],'ms-playwright')];for(const _0x4e9a29 of _0x4899c0){try{const _0x353017=await _0x3d2ba9[_0x3c24c2(0x1c8)](readdir,_0x4e9a29),_0x3293e6=_0x353017[_0x3c24c2(0x1c2)](_0x4f4b9f=>_0x4f4b9f['startsWith']('ffmpeg-'))[_0x3c24c2(0x22f)]()[_0x3c24c2(0x263)]()[_0x3c24c2(0x25b)](_0x30a2eb=>[join(_0x4e9a29,_0x30a2eb,'ffmpeg-mac'),join(_0x4e9a29,_0x30a2eb,_0x3c24c2(0x1af)),join(_0x4e9a29,_0x30a2eb,_0x3c24c2(0x21a))]);for(const _0x56c9d0 of _0x3293e6){if(await _0x3d2ba9[_0x3c24c2(0x1c8)](canRunFfmpeg,_0x56c9d0))return _0x56c9d0;}}catch{}}return null;}async function canRunFfmpeg(_0x52ac44){const _0x5041a4=_0x23891f,_0x145f3a={'lylkW':function(_0x35ec67,_0x30d33f,_0x2b8e61){return _0x35ec67(_0x30d33f,_0x2b8e61);},'szMvA':_0x5041a4(0x231)};try{return await _0x145f3a['lylkW'](execFileAsync,_0x52ac44,[_0x145f3a[_0x5041a4(0x1f1)]]),!![];}catch{return![];}}function toStepDisplayName(_0x2d4351){const _0x414e30=_0x23891f,_0x5ea2f1={'ctCgD':function(_0xfc12ce,_0x7755e7){return _0xfc12ce(_0x7755e7);}},_0x862f16=basename(_0x2d4351)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x414e30(0x1df)](/-/g,'\x20');return{'name':_0x862f16,'isKeyStep':/^key_/i[_0x414e30(0x19d)](_0x5ea2f1['ctCgD'](basename,_0x2d4351))};}function _0x5161(){const _0x1a2437=['ask','capture\x20snapshot\x20`','set','bCgKs','ffmpeg','TJIwo','dyByQ','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','tagName','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','contexts','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','test','nova_act_command','locator','MOrGR','verify','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','VTqUW','563969EQnJBh','wait-for','map','short','eQfmz','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','`.\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`','.cache','hook_event_name','match','traceSampleTimer','ffmpeg-linux','gbYcE','\x0a\x0aExamples:\x0a-\x20`','frameWrites','phase','Bash','nova_act_session_report','captureTraceSample','send','trace.zip','has','queueTraceSample','3515292qDzVIW','ryKrF','[nova-act-cli]\x20','PreToolUse',']\x20**','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','oipla','filter','NrdxJ','jBALy','getFrameDir','catch','split','rwrsm','then','2139126SeGudv','625824xOkiHz','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','slice','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','KqiyX','fSvcN','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','01_initial.yml','tracing','106GdiSrx','Library','Qlfwj','pop','-framerate','startAttempted','sYneU','subcommand','zip','cwd','KUZXa','replace','Nova\x20command\x20`','PostToolUse','155ZKNHxA','canonicalFlow','screenshot','\x20snapshot\x20--output\x20','args','pages','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','readSessionMetadataWithRetry','stopped','mtimeMs','domRef','toLocaleDateString','cOGDK','invocation','error','szMvA','leEht','capture\x20snapshot','TWSXf','zfbGg','nova-session-export.json','frame-%06d.jpg','qvphB','RLIJc','sessionId','Page.screencastFrame','VdyUR','values','ThXuH','trim','session\x20create','stdout','nova-report','push','DplMS','createdAt','traceSampleCount','EDgFm','nova_act_session_export','Nqcob','traceSampleInFlight','frameSession','mPZCT','padStart','ZOmWC','tool_input','jcQOm','>\x20\x22','export','utf-8','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','trackPhaseEnd','log','goto','**\x20(','gHbqY','ffmpeg.exe','novaOptions','startTraceSampling','yEVbr','PostToolUseFailure','ibxFz','wait\x20for\x20page\x20condition','03_final-state.png','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','params','ggmac','snapshot','Page.stopScreencast','unaddressedComments','\x20>\x20','DBpqu','execute\x20Nova\x20browser\x20action','SDNpQ','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','Page.screencastFrameAck','jpeg','sort','zVlEY','-version','cdp_endpoint','kIoBC','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.','-\x20[','nova-video-frames','notes','capture\x20step\x20`','browser','context','evaluate','EvFMz','nova_act_final_screenshot','mNcWC','40oAbSZZ','now','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','transportMetadata','--format','encodeScreencastVideo','pGzye','screencastStarted','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','parse','yfJNa','273510htdGTT','`\x0a-\x20`','browser_pid','stopTraceSampling','start','iPdnR','jDbyX','data','INCWM','\x20session\x20create\x20','KcGyM','\x20(on\x20element:\x20<','--output','JbaZp','`\x0a4.\x20Run\x20one\x20batched\x20`','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','.json','flatMap','xKxto','22076WlLbpl','nova_act_artifact_recording','frameCount','session\x20export','\x20screenshot\x20--output\x20','startScreencast','reverse','10BLFgpQ','wxBla','nova_act_artifact_recording_stop','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','authorName','nova_act_session_close','base64','6ivOxvg','tool_name','selector','vVyuf','trackPhaseStart','authorEmail','trackPhaseError','433dVVuga','finally','telemetry','SQpjN','command'];_0x5161=function(){return _0x1a2437;};return _0x5161();}function extractShellValue(_0x4c902e){if(!_0x4c902e)return null;return _0x4c902e[0x1]??_0x4c902e[0x2]??_0x4c902e[0x3]??null;}function extractOutputOption(_0xdba9dd){const _0x49ed5b=_0x23891f,_0x158eac={'ibxFz':function(_0x2cad7a,_0xa46bd7){return _0x2cad7a(_0xa46bd7);}};return _0x158eac[_0x49ed5b(0x21f)](extractShellValue,_0xdba9dd[_0x49ed5b(0x1ad)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x166dff,_0xf7bde1){const _0x4ffd33=_0x23891f,_0xd68265={'yEVbr':'create\x20Nova\x20browser\x20session','bRCRV':_0x4ffd33(0x22a),'hFfbD':'verify','zVlEY':'verify\x20page\x20condition','XOiyB':'ask','yfJNa':'ask\x20page\x20question','ryKrF':'navigate\x20browser','KcGyM':function(_0x31428a,_0x23ba37){return _0x31428a(_0x23ba37);},'HXyCJ':_0x4ffd33(0x260),'dyByQ':'export\x20Nova\x20session'};switch(_0xf7bde1){case'session\x20create':return _0xd68265[_0x4ffd33(0x21d)];case'execute':return _0xd68265['bRCRV'];case _0xd68265['hFfbD']:return _0xd68265[_0x4ffd33(0x230)];case _0xd68265['XOiyB']:return _0xd68265[_0x4ffd33(0x249)];case'goto':return _0xd68265[_0x4ffd33(0x1bc)];case'wait-for':return _0x4ffd33(0x220);case _0x4ffd33(0x225):{const _0x489731=_0xd68265[_0x4ffd33(0x254)](extractOutputOption,_0x166dff);if(!_0x489731)return _0x4ffd33(0x1f3);const {name:_0x40bb85}=toStepDisplayName(_0x489731);return _0x4ffd33(0x192)+_0x40bb85+'`';}case _0x4ffd33(0x1e4):{const _0x2e4739=extractOutputOption(_0x166dff);if(!_0x2e4739)return'capture\x20screenshot';const {name:_0x33db63,isKeyStep:_0x471dc0}=toStepDisplayName(_0x2e4739);return _0x471dc0?'capture\x20key\x20step\x20`'+_0x33db63+'`':_0x4ffd33(0x238)+_0x33db63+'`';}case _0xd68265['HXyCJ']:return _0xd68265[_0x4ffd33(0x197)];default:return _0xf7bde1;}}function getNovaActCliCommandBlockReason(_0x463df1){const _0x31294c=_0x23891f,_0x2c5bd2={'fSvcN':function(_0x3461a7,_0x20fe77){return _0x3461a7===_0x20fe77;},'aDzGL':_0x31294c(0x1a1),'pGzye':_0x31294c(0x234)},_0x80714a=parseNovaActCliCommand(_0x463df1);if(!_0x80714a)return _0x31294c(0x1a9);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x31294c(0x1b9)](_0x80714a))return _0x31294c(0x1e0)+_0x80714a+_0x31294c(0x22c);if(_0x2c5bd2[_0x31294c(0x1d0)](_0x80714a,_0x2c5bd2['aDzGL'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x31294c(0x19d)](_0x463df1))return _0x2c5bd2[_0x31294c(0x245)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x31294c(0x19d)](_0x463df1))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x4488f1){const _0x1752d7=_0x23891f,_0x309b45={'WmXRz':_0x1752d7(0x1a7),'aoooa':'numeric','SDNpQ':'element'};if(!_0x4488f1||_0x4488f1[_0x1752d7(0x227)]['length']===0x0)return'';const _0x11792e=_0x4488f1['unaddressedComments'][_0x1752d7(0x1a6)](_0x17f443=>{const _0xdb2c7b=_0x1752d7,_0x4224b8=new Date(_0x17f443[_0xdb2c7b(0x205)])[_0xdb2c7b(0x1ed)]('en-US',{'month':_0x309b45['WmXRz'],'day':_0x309b45['aoooa']}),_0x250cdc=_0x17f443[_0xdb2c7b(0x268)]||_0x17f443[_0xdb2c7b(0x270)]||'Reviewer',_0x482fe4=_0x17f443[_0xdb2c7b(0x1ec)]?_0xdb2c7b(0x255)+(_0x17f443[_0xdb2c7b(0x1ec)][_0xdb2c7b(0x26d)][_0xdb2c7b(0x1c7)](_0xdb2c7b(0x228))[_0xdb2c7b(0x1d7)]()?.[_0xdb2c7b(0x1c7)](':')[0x0]||_0x309b45[_0xdb2c7b(0x22b)])+_0xdb2c7b(0x211)+(_0x17f443[_0xdb2c7b(0x1ec)]['textContent']||'')[_0xdb2c7b(0x1cd)](0x0,0x32)+'\x22)':'';return _0xdb2c7b(0x235)+_0x17f443['id']+_0xdb2c7b(0x1bf)+_0x250cdc+_0xdb2c7b(0x218)+_0x4224b8+'):\x20\x22'+_0x17f443['content']+'\x22'+_0x482fe4;})['join']('\x0a');return _0x1752d7(0x259)+_0x11792e;}function buildNovaSharedOptionsInstruction(_0x4aff11){const _0x58c515=_0x23891f;if(!_0x4aff11[_0x58c515(0x1ff)]())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 _0x58c515(0x222)+_0x4aff11;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2a547b){const _0x263bbe=_0x23891f,_0x63e213={'DBpqu':function(_0x2cf327,_0x2529d1,_0x489a1f){return _0x2cf327(_0x2529d1,_0x489a1f);},'gHbqY':'02_final-state.yml','eJoSd':_0x263bbe(0x221),'VTkLl':function(_0x24547a,_0x25f318){return _0x24547a(_0x25f318);}},{novaCommandPrefix:_0x5cdb1d,novaSharedOptionsSuffix:_0x379d95,cliArtifactDir:_0x2d931a,url:_0x5392b9}=_0x2a547b,_0x10cefd=_0x63e213[_0x263bbe(0x229)](buildCliArtifactPath,_0x2d931a,'00_initial-state.yml'),_0xc0f929=_0x63e213[_0x263bbe(0x229)](buildCliArtifactPath,_0x2d931a,'01_initial-state.png'),_0x343789=_0x63e213[_0x263bbe(0x229)](buildCliArtifactPath,_0x2d931a,_0x63e213[_0x263bbe(0x219)]),_0x3cfd0b=buildCliArtifactPath(_0x2d931a,_0x63e213['eJoSd']);return _0x263bbe(0x1ce)+_0x5cdb1d+'\x0a\x0a'+_0x63e213['VTkLl'](buildNovaSharedOptionsInstruction,_0x379d95)+'\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`'+_0x5cdb1d+'\x20session\x20create\x20'+quoteShellArg(_0x5392b9)+'\x20'+_0x379d95+'`\x0a2.\x20Run\x20`'+_0x5cdb1d+_0x263bbe(0x1e5)+quoteShellArg(_0x10cefd)+'\x20'+_0x379d95+'`\x0a3.\x20Run\x20`'+_0x5cdb1d+'\x20screenshot\x20--output\x20'+quoteShellArg(_0xc0f929)+'\x20'+_0x379d95+_0x263bbe(0x258)+_0x5cdb1d+_0x263bbe(0x19a)+_0x5cdb1d+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x343789)+'\x20'+_0x379d95+'`\x0a6.\x20Run\x20`'+_0x5cdb1d+_0x263bbe(0x261)+_0x63e213['VTkLl'](quoteShellArg,_0x3cfd0b)+'\x20'+_0x379d95+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x2d931a+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}function _0x16ff(_0x3a05a2,_0x572565){_0x3a05a2=_0x3a05a2-0x18d;const _0x516184=_0x5161();let _0x16ffc5=_0x516184[_0x3a05a2];return _0x16ffc5;}export function buildVerifyFeatureNovaCliPrompt(_0x2626be){const _0x51598c=_0x23891f,_0x366c05={'jDbyX':'01_initial-state.png','mPZCT':function(_0x4ee494,_0x28e3d5,_0x492bbf){return _0x4ee494(_0x28e3d5,_0x492bbf);},'ZNQCP':function(_0x25201d,_0x5ccdd3){return _0x25201d(_0x5ccdd3);},'mNcWC':function(_0x4cc49c,_0x5e6f56){return _0x4cc49c(_0x5e6f56);},'yZSoR':_0x51598c(0x267),'INCWM':function(_0x5861c2,_0x2bf38e){return _0x5861c2(_0x2bf38e);}},{checklistItem:_0x2a6b16,itemFeedback:_0x20f458,taskDescription:_0x2a2ff5,novaCommandPrefix:_0x253632,novaSharedOptionsSuffix:_0x4b6770,cliArtifactDir:_0x1fca70,url:_0x33270f,loginInstructions:_0x12d34c}=_0x2626be,_0x1a875b=_0x2a6b16['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x2a6b16[_0x51598c(0x237)]:'',_0x5d6100=buildFeedbackSection(_0x20f458),_0x7f1247=_0x20f458?.[_0x51598c(0x1e3)]?_0x51598c(0x247)+_0x20f458[_0x51598c(0x1e3)]:'',_0x1610af=_0x12d34c?_0x51598c(0x1d1)+_0x12d34c+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x2414ce=buildCliArtifactPath(_0x1fca70,_0x51598c(0x1d2)),_0x4bd7d5=buildCliArtifactPath(_0x1fca70,_0x366c05[_0x51598c(0x250)]),_0x1f1a00=_0x366c05[_0x51598c(0x20c)](buildCliArtifactPath,_0x1fca70,'key_03_success-state.png');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'+_0x2a6b16['description']+_0x1a875b+_0x5d6100+_0x7f1247+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x2a2ff5+_0x51598c(0x1c0)+_0x33270f+'\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'+_0x1610af+'\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`'+_0x253632+_0x51598c(0x253)+quoteShellArg(_0x33270f)+'\x20'+_0x4b6770+_0x51598c(0x241)+_0x1fca70+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x253632+_0x51598c(0x1e5)+_0x366c05['ZNQCP'](quoteShellArg,_0x2414ce)+'\x20'+_0x4b6770+_0x51598c(0x1e8)+_0x253632+'\x20screenshot\x20--output\x20'+_0x366c05[_0x51598c(0x23e)](quoteShellArg,_0x4bd7d5)+'\x20'+_0x4b6770+'`.\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`'+_0x1f1a00+_0x51598c(0x1aa)+_0x253632+_0x51598c(0x214)+(_0x4b6770[_0x51598c(0x1ff)]()?'`'+_0x4b6770+'`':_0x366c05['yZSoR'])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4b6770)+_0x51598c(0x1b1)+_0x253632+_0x51598c(0x1a2)+_0x4b6770+'`\x0a-\x20`'+_0x253632+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x4b6770+'`\x0a-\x20`'+_0x253632+'\x20snapshot\x20--output\x20'+_0x366c05[_0x51598c(0x252)](quoteShellArg,_0x2414ce)+'\x20'+_0x4b6770+_0x51598c(0x24b)+_0x253632+_0x51598c(0x261)+quoteShellArg(_0x1f1a00)+'\x20'+_0x4b6770+'`\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(_0xb4473c){const _0x174a28=_0x23891f,_0x1bc8b4={'iPdnR':function(_0xd104ed,_0x3851c9){return _0xd104ed===_0x3851c9;}},_0x227b37=[..._0xb4473c['keys']()][_0x174a28(0x22f)]();let _0x20a748=0x0;for(const _0x2daaef of _0xb4473c[_0x174a28(0x1fd)]()){_0x20a748+=_0x2daaef;}return{'cliCommandCount':_0x20a748,'cliCommandsSeen':_0x227b37,'noCliCommandsCalled':_0x1bc8b4[_0x174a28(0x24f)](_0x20a748,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x3a3615,_0x3453ff){const _0x27f396=_0x23891f,_0x44ddef={'Qlfwj':function(_0x45446b,_0x4157e1){return _0x45446b!==_0x4157e1;},'FyMXT':function(_0x218d05,_0x37afbc){return _0x218d05!==_0x37afbc;},'HJATd':_0x27f396(0x1e1),'ZECFQ':'Bash','DplMS':_0x27f396(0x19e),'bCgKs':function(_0x445fe9,_0xf20d95){return _0x445fe9(_0xf20d95);},'vVyuf':function(_0x31f6d6,_0x5ed448,_0x590bb1){return _0x31f6d6(_0x5ed448,_0x590bb1);},'DORiA':function(_0x1d99eb,_0x19849a){return _0x1d99eb===_0x19849a;},'EvFMz':_0x27f396(0x200),'IfTNJ':'nova-act-cli','YuVHz':_0x27f396(0x21e)},_0x4611a9=new Map(),_0x258def=async _0x52f269=>{const _0x475b27=_0x27f396;if(_0x52f269[_0x475b27(0x1ac)]!==_0x475b27(0x1be))return{};const _0x394f38=_0x52f269;if(_0x44ddef[_0x475b27(0x1d6)](_0x394f38[_0x475b27(0x26c)],'Bash'))return{};const _0x4fefad=_0x394f38[_0x475b27(0x20f)],_0x506e5e=extractBashCommand(_0x4fefad);if(!_0x506e5e)return{};const _0x316c56=getNovaActCliCommandBlockReason(_0x506e5e);if(!_0x316c56)return{};return{'decision':'block','reason':_0x316c56};},_0x1e8767=async _0x216359=>{const _0x3f5ecb=_0x27f396;if(_0x44ddef['FyMXT'](_0x216359['hook_event_name'],_0x44ddef['HJATd']))return{};const _0x5b0b6c=_0x216359;if(_0x5b0b6c['tool_name']!==_0x44ddef['ZECFQ'])return{};const _0x4ed183=_0x5b0b6c['tool_input'],_0x5cef46=extractBashCommand(_0x4ed183);if(!_0x5cef46)return{};const _0x495e6f=parseNovaActCliCommand(_0x5cef46);if(!_0x495e6f)return{};_0x4611a9[_0x3f5ecb(0x193)](_0x495e6f,(_0x4611a9['get'](_0x495e6f)||0x0)+0x1),_0x3a3615['trackPhaseStart'](_0x44ddef[_0x3f5ecb(0x204)],{'subcommand':_0x495e6f}),_0x3a3615['trackPhaseEnd'](_0x44ddef['DplMS'],{'subcommand':_0x495e6f,'commandPreview':_0x44ddef[_0x3f5ecb(0x194)](previewNovaActCliCommand,_0x5cef46)}),console[_0x3f5ecb(0x216)](_0x3f5ecb(0x1bd)+_0x44ddef[_0x3f5ecb(0x26e)](formatNovaActCliLog,_0x5cef46,_0x495e6f));if(_0x44ddef['DORiA'](_0x495e6f,_0x44ddef[_0x3f5ecb(0x23c)])&&_0x3453ff)try{await _0x3453ff[_0x3f5ecb(0x24e)]();}catch(_0x3cc841){await _0x3a3615[_0x3f5ecb(0x271)](_0x3f5ecb(0x25e),_0x3cc841,{'transport':_0x44ddef['IfTNJ']});}return{};},_0x110ebc=async _0x591d2f=>{const _0x50755d=_0x27f396;if(_0x44ddef['FyMXT'](_0x591d2f['hook_event_name'],_0x44ddef['YuVHz']))return{};const _0x4a0956=_0x591d2f;if(_0x4a0956['tool_name']!=='Bash')return{};return await _0x3a3615['trackPhaseError']('nova_act_command_failure',_0x4a0956[_0x50755d(0x1f0)],{'transport':'nova-act-cli','toolName':_0x50755d(0x1b4)}),{};};return{'preToolUseHook':_0x258def,'postToolUseHook':_0x1e8767,'postToolUseFailureHook':_0x110ebc,'commandCounts':_0x4611a9};}async function runNovaLifecycleCommand(_0x38161f){const _0x1bc868=_0x23891f,_0x3fe77a={'VdyUR':function(_0x24a96b,_0x59d0c3){return _0x24a96b(_0x59d0c3);}},{novaOptions:_0x23381f,commandArgs:_0x3b5293,telemetry:_0x16260f,phase:_0x40d4ae,metadata:_0x1c192c,timeoutMs:_0xc56fc8}=_0x38161f;_0x16260f['trackPhaseStart'](_0x40d4ae,_0x1c192c);try{const _0x51da47=await runNovaActCliCommand({..._0x23381f,'commandArgs':_0x3b5293,'cwd':process[_0x1bc868(0x1dd)](),'env':process['env'],'timeoutMs':_0xc56fc8??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x16260f['trackPhaseEnd'](_0x40d4ae,{..._0x1c192c,'subcommand':_0x51da47[_0x1bc868(0x1ef)]['subcommand'],'commandPreview':previewNovaActCliCommand(_0x51da47['invocation']['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x51da47[_0x1bc868(0x201)]),'stderrPreview':previewNovaActCliCommand(_0x51da47['stderr']),'logDir':_0x3fe77a[_0x1bc868(0x1fc)](extractNovaActLogDir,_0x51da47[_0x1bc868(0x201)])});}catch(_0x163594){await _0x16260f['trackPhaseError'](_0x40d4ae,_0x163594,_0x1c192c);throw _0x163594;}}export async function finalizeVerifyFeatureNovaCliSession(_0x1e69ae){const _0x506815=_0x23891f,_0x4f185b={'EDgFm':_0x506815(0x23d),'gVufw':'--output','VTqUW':function(_0x1f9d81,_0x3764d0,_0x133d20){return _0x1f9d81(_0x3764d0,_0x133d20);},'MPaOE':_0x506815(0x208),'ZOmWC':'session','zfbGg':_0x506815(0x243),'XTEOz':'json','jcQOm':_0x506815(0x1f6),'FeiZj':_0x506815(0x1b5),'SQpjN':_0x506815(0x212),'TWSXf':'close','UuKns':function(_0x506163,_0x2b09d6){return _0x506163===_0x2b09d6;},'ErPZS':_0x506815(0x269),'emovN':function(_0x1458a4,_0x2e11bb){return _0x1458a4(_0x2e11bb);}},{telemetry:_0x5818d5,novaOptions:_0x4fcbfb,cliArtifactDir:_0x38226b,transportMetadata:_0x4df6ec,artifactRecorder:_0x1a5090}=_0x1e69ae,_0x23a743=[{'phase':_0x4f185b[_0x506815(0x207)],'commandArgs':['screenshot',_0x4f185b['gVufw'],_0x4f185b[_0x506815(0x1a3)](buildCliArtifactPath,_0x38226b,'key_final-state.png')]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x506815(0x225),'--output',buildCliArtifactPath(_0x38226b,'final-state.yaml')]},{'phase':_0x4f185b['MPaOE'],'commandArgs':[_0x4f185b[_0x506815(0x20e)],'export',_0x4f185b[_0x506815(0x1f5)],_0x4f185b['XTEOz'],_0x506815(0x256),buildCliArtifactPath(_0x38226b,_0x4f185b[_0x506815(0x210)])]},{'phase':_0x4f185b['FeiZj'],'commandArgs':[_0x4f185b[_0x506815(0x20e)],_0x4f185b[_0x506815(0x18f)],'--report','--output-dir',_0x4f185b[_0x506815(0x1a3)](buildCliArtifactPath,_0x38226b,_0x506815(0x202))]},{'phase':_0x506815(0x269),'commandArgs':[_0x4f185b[_0x506815(0x20e)],_0x4f185b[_0x506815(0x1f4)]]}];for(const _0x5db30e of _0x23a743){_0x4f185b['UuKns'](_0x5db30e[_0x506815(0x1b3)],_0x4f185b['ErPZS'])&&await _0x1a5090?.['stop']();try{await _0x4f185b['emovN'](runNovaLifecycleCommand,{'novaOptions':_0x4fcbfb,'commandArgs':[..._0x5db30e['commandArgs']],'telemetry':_0x5818d5,'phase':_0x5db30e['phase'],'metadata':_0x4df6ec});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x2153da){const _0x36aea6=_0x23891f,_0xc25391={'KUZXa':function(_0x397169,_0x747de8,_0x311979){return _0x397169(_0x747de8,_0x311979);},'RLIJc':function(_0x376659,_0x20473e){return _0x376659<_0x20473e;},'jBALy':function(_0x1046a6,_0x900f04){return _0x1046a6===_0x900f04;},'cOGDK':function(_0x2a3bd1,_0x543e60,_0x148d26){return _0x2a3bd1(_0x543e60,_0x148d26);}},{cwd:_0x17fccc,cliArtifactDir:_0x38dd1c,startTime:_0xc37cef}=_0x2153da,_0x41be49=[];await _0xc25391[_0x36aea6(0x1de)](mkdir,_0x38dd1c,{'recursive':!![]});const _0x1b5f95=await readdir(_0x17fccc,{'withFileTypes':!![]});for(const _0x12614b of _0x1b5f95){if(!_0x12614b['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x36aea6(0x19d)](_0x12614b['name']))continue;const _0x3768bb=_0xc25391[_0x36aea6(0x1de)](join,_0x17fccc,_0x12614b['name']),_0xa8bfca=await stat(_0x3768bb);if(_0xc25391[_0x36aea6(0x1f9)](_0xa8bfca[_0x36aea6(0x1eb)]+0x7d0,_0xc37cef))continue;const _0x53f82c=_0xc25391['KUZXa'](buildCliArtifactPath,_0x38dd1c,_0x12614b['name']);if(_0xc25391[_0x36aea6(0x1c4)](_0x3768bb,_0x53f82c))continue;await _0xc25391[_0x36aea6(0x1ee)](rename,_0x3768bb,_0x53f82c),_0x41be49[_0x36aea6(0x203)](_0x12614b['name']);}return _0x41be49[_0x36aea6(0x22f)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x18b791){const _0x1daee4=_0x23891f,_0x4024f5={'sZGCc':_0x1daee4(0x1b8),'NrdxJ':function(_0x168dc2,_0x53e5bd){return _0x168dc2(_0x53e5bd);},'SqTxE':function(_0x58d951,_0x57c3c7){return _0x58d951(_0x57c3c7);}},_0x174bfa=join(_0x18b791,_0x4024f5['sZGCc']);try{return{'buffer':await _0x4024f5[_0x1daee4(0x1c3)](readFile,_0x174bfa),'source':_0x174bfa};}catch{return{'buffer':await _0x4024f5['SqTxE'](zipVerifyFeatureNovaArtifacts,_0x18b791),'source':_0x18b791};}}async function zipVerifyFeatureNovaArtifacts(_0x5fc509){const _0x288393=_0x23891f,_0x3ffc89={'kIoBC':function(_0x2e2852,_0xccb12,_0x1dbf5b,_0x5137ed){return _0x2e2852(_0xccb12,_0x1dbf5b,_0x5137ed);},'qvphB':_0x288393(0x1dc),'oipla':'nova-user-data/*','CBImO':function(_0xd3a6d8,_0x2923e0){return _0xd3a6d8(_0x2923e0);}},_0x56e40c=_0x3ffc89[_0x288393(0x233)](join,_0x5fc509,'..','nova-artifacts.zip');try{return await _0x3ffc89[_0x288393(0x233)](execFileAsync,_0x3ffc89[_0x288393(0x1f8)],['-qr',_0x56e40c,'.','-x',_0x3ffc89[_0x288393(0x1c1)]],{'cwd':_0x5fc509}),await _0x3ffc89['CBImO'](readFile,_0x56e40c);}finally{await rm(_0x56e40c,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x2a62f5){const _0xd939f9=_0x23891f,_0x25e6f5={'MOrGR':function(_0x1889cd,_0x556939,_0x18ffe6){return _0x1889cd(_0x556939,_0x18ffe6);},'fcwgi':function(_0x464637,_0x2159bb,_0x443ac1){return _0x464637(_0x2159bb,_0x443ac1);}},_0x358262=_0x25e6f5[_0xd939f9(0x1a0)](buildNovaActCliInvocation,_0x2a62f5['novaOptions'],_0x2a62f5['commandArgs']);return{'command':_0x358262[_0xd939f9(0x190)],'args':_0x358262[_0xd939f9(0x1e6)],'commandPreview':previewNovaActCliCommand(_0x358262['shellCommand']),'subcommand':_0x358262[_0xd939f9(0x1db)],'sharedOptionsSuffix':_0x25e6f5['fcwgi'](buildNovaActCliSharedOptionsSuffix,_0x2a62f5['novaOptions'],_0x2a62f5['commandArgs'])};}
|
|
1
|
+
const _0x7ab4f4=_0x28a1;function _0x28a1(_0x5ee28a,_0x592e15){_0x5ee28a=_0x5ee28a-0x93;const _0x2f146e=_0x2f14();let _0x28a18f=_0x2f146e[_0x5ee28a];return _0x28a18f;}(function(_0x2729e7,_0x5ed95d){const _0x2cb150=_0x28a1,_0x4c344f=_0x2729e7();while(!![]){try{const _0xc23de6=-parseInt(_0x2cb150(0x135))/0x1+-parseInt(_0x2cb150(0x11e))/0x2*(-parseInt(_0x2cb150(0xed))/0x3)+parseInt(_0x2cb150(0xc4))/0x4*(-parseInt(_0x2cb150(0x9f))/0x5)+parseInt(_0x2cb150(0x140))/0x6*(parseInt(_0x2cb150(0x97))/0x7)+-parseInt(_0x2cb150(0x110))/0x8*(parseInt(_0x2cb150(0xa6))/0x9)+parseInt(_0x2cb150(0x154))/0xa+parseInt(_0x2cb150(0x11b))/0xb;if(_0xc23de6===_0x5ed95d)break;else _0x4c344f['push'](_0x4c344f['shift']());}catch(_0x5aa951){_0x4c344f['push'](_0x4c344f['shift']());}}}(_0x2f14,0xdfa3b));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([_0x7ab4f4(0x159),_0x7ab4f4(0x129),_0x7ab4f4(0xc8),'ask','goto',_0x7ab4f4(0xcb),'snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x262582,_0x2763cc){const _0xceb801={'JEKor':function(_0x341cc4,_0x17c021,_0x31b830){return _0x341cc4(_0x17c021,_0x31b830);}};return _0xceb801['JEKor'](join,_0x262582,_0x2763cc);}export class NovaActArtifactRecorder{[_0x7ab4f4(0x14e)];['browser']=null;[_0x7ab4f4(0xbd)]=null;[_0x7ab4f4(0xfc)]=null;['frameWrites']=[];[_0x7ab4f4(0x13b)]=0x0;['traceSampleCount']=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x7ab4f4(0xde)]=![];['stopped']=![];constructor(_0x1d3abd){const _0x5bedc8=_0x7ab4f4;this[_0x5bedc8(0x14e)]=_0x1d3abd;}async[_0x7ab4f4(0x10e)](){const _0x473568=_0x7ab4f4,_0x56f02a={'lzwJs':function(_0x1aea69,_0x1e349d,_0x2dcbad){return _0x1aea69(_0x1e349d,_0x2dcbad);},'Nfwsq':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context'};if(this[_0x473568(0xde)])return;this[_0x473568(0xde)]=!![];const _0x4864f7=await this['readSessionMetadataWithRetry'](),_0x58724b=_0x4864f7[_0x473568(0xe4)];if(!_0x58724b)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions']['sessionId']);await _0x56f02a['lzwJs'](mkdir,this[_0x473568(0x14e)]['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x58724b,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x473568(0xbd)]=this['browser'][_0x473568(0xa9)]()[0x0]??null;if(!this['context'])throw new Error(_0x56f02a[_0x473568(0xc6)]);await this[_0x473568(0xbd)][_0x473568(0xf3)][_0x473568(0x10e)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x473568(0x12b)]=!![],this['startTraceSampling'](),await this[_0x473568(0x102)](),this[_0x473568(0x14e)][_0x473568(0xd0)]['trackPhaseStart'](_0x473568(0xb2),{...this['params']['transportMetadata'],'cdpEndpoint':_0x58724b,'browserPid':_0x4864f7['browser_pid'],'sessionState':_0x4864f7[_0x473568(0x9d)]}),this[_0x473568(0x14e)][_0x473568(0xd0)]['trackPhaseEnd'](_0x473568(0xb2),{...this[_0x473568(0x14e)]['transportMetadata'],'tracingStarted':this[_0x473568(0x12b)],'screencastStarted':this['screencastStarted']});}async['stop'](){const _0x4c43b9=_0x7ab4f4,_0x3960ec={'kFdgy':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x5adf2b={...this[_0x4c43b9(0x14e)]['transportMetadata'],'frameCount':this[_0x4c43b9(0x13b)],'traceSampleCount':this[_0x4c43b9(0x128)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x4c43b9(0x14e)]['telemetry'][_0x4c43b9(0xba)](_0x4c43b9(0xbb),_0x5adf2b);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x4c43b9(0x133)]);this['context']&&this['tracingStarted']&&await this[_0x4c43b9(0xbd)]['tracing'][_0x4c43b9(0xd5)]({'path':buildCliArtifactPath(this[_0x4c43b9(0x14e)][_0x4c43b9(0x138)],_0x4c43b9(0xe3))});const _0x3c702a=await this[_0x4c43b9(0x13a)]();this[_0x4c43b9(0x14e)]['telemetry'][_0x4c43b9(0x10b)](_0x3960ec[_0x4c43b9(0x95)],{..._0x5adf2b,'videoPath':_0x3c702a});}catch(_0x471f99){await this['params']['telemetry'][_0x4c43b9(0x144)]('nova_act_artifact_recording_stop',_0x471f99,_0x5adf2b);}finally{await this['browser']?.['close']()[_0x4c43b9(0xce)](()=>undefined),this[_0x4c43b9(0xaf)]=null,this[_0x4c43b9(0xbd)]=null,this[_0x4c43b9(0xfc)]=null;}}async[_0x7ab4f4(0x98)](){const _0x27c293=_0x7ab4f4,_0x309bd3={'yCqHW':function(_0x612365,_0x1c3c50,_0x5f4109,_0x28f0d6,_0x3d7d9c,_0x48cc3b){return _0x612365(_0x1c3c50,_0x5f4109,_0x28f0d6,_0x3d7d9c,_0x48cc3b);},'HtLhg':'browser','ncCAn':'sessions','kfAMQ':function(_0x5df8b5,_0x3b885b){return _0x5df8b5(_0x3b885b);},'uHfiw':function(_0x565224,_0xab2b98){return _0x565224<_0xab2b98;},'jFgPb':function(_0x3feb36,_0x59d0ac){return _0x3feb36 instanceof _0x59d0ac;}},_0x54fc66=_0x309bd3[_0x27c293(0xc0)](join,homedir(),_0x27c293(0x109),_0x309bd3[_0x27c293(0xfa)],_0x309bd3[_0x27c293(0xd9)],this[_0x27c293(0x14e)][_0x27c293(0xdd)][_0x27c293(0xb8)]+'.json'),_0xf9508c=Date[_0x27c293(0x16c)]();let _0x1ae8a7;do{try{const _0x2bec7c=JSON['parse'](await readFile(_0x54fc66,'utf-8'));if(_0x2bec7c['cdp_endpoint'])return _0x2bec7c;_0x1ae8a7=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x54fc66);}catch(_0x3dd01a){_0x1ae8a7=_0x3dd01a;}await _0x309bd3[_0x27c293(0x14b)](delay,0x64);}while(_0x309bd3['uHfiw'](Date[_0x27c293(0x16c)]()-_0xf9508c,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x309bd3['jFgPb'](_0x1ae8a7,Error))throw _0x1ae8a7;throw new Error(_0x27c293(0xf1)+_0x54fc66);}async[_0x7ab4f4(0x102)](){const _0x289319=_0x7ab4f4,_0x47a1fd={'Ckdsr':function(_0x5e3ce3,_0x17bdf2,_0x3c8e69){return _0x5e3ce3(_0x17bdf2,_0x3c8e69);},'hjJNh':_0x289319(0x145),'pGJNC':'Page.screencastFrame','PNvLf':_0x289319(0x14a)};if(!this['context'])return;const _0x41b91c=this['context'][_0x289319(0x124)]()[0x0];if(!_0x41b91c)return;const _0x49d922=this['getFrameDir']();await mkdir(_0x49d922,{'recursive':!![]});const _0x4afa1e=await this[_0x289319(0xbd)]['newCDPSession'](_0x41b91c);this['frameSession']=_0x4afa1e,_0x4afa1e['on'](_0x47a1fd['pGJNC'],_0x38fe68=>{const _0x336255=_0x289319,_0x809387=++this['frameCount'],_0x99227d=_0x47a1fd['Ckdsr'](join,_0x49d922,_0x336255(0x136)+String(_0x809387)['padStart'](0x6,'0')+_0x336255(0x151)),_0x3ec9d7=writeFile(_0x99227d,Buffer['from'](_0x38fe68['data'],_0x47a1fd['hjJNh']))[_0x336255(0xce)](()=>undefined)['finally'](()=>_0x4afa1e['send'](_0x336255(0xad),{'sessionId':_0x38fe68['sessionId']}))['then'](()=>undefined)['catch'](()=>undefined);this['frameWrites']['push'](_0x3ec9d7);}),await _0x4afa1e[_0x289319(0x9e)](_0x47a1fd[_0x289319(0xe6)],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this[_0x289319(0xae)]=!![];}async['stopScreencast'](){const _0xb5691a=_0x7ab4f4,_0x4734b4={'CuvUh':'Page.stopScreencast'};if(!this['frameSession']||!this[_0xb5691a(0xae)])return;await this['frameSession'][_0xb5691a(0x9e)](_0x4734b4[_0xb5691a(0x11c)])['catch'](()=>undefined);}[_0x7ab4f4(0xf2)](){const _0xe8b27c=_0x7ab4f4,_0x4420be={'EKIcu':function(_0x80b552,_0x3821a5,_0x5e503e){return _0x80b552(_0x3821a5,_0x5e503e);}};this['queueTraceSample'](),this[_0xe8b27c(0xf0)]=_0x4420be['EKIcu'](setInterval,()=>this[_0xe8b27c(0x99)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x779c4b=_0x7ab4f4;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this[_0x779c4b(0x162)]()[_0x779c4b(0x114)](()=>{this['traceSampleInFlight']=null;});}async[_0x7ab4f4(0xd8)](){const _0x43f222=_0x7ab4f4;this[_0x43f222(0xf0)]&&(clearInterval(this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x43f222(0x103)]?.[_0x43f222(0xce)](()=>undefined);}async[_0x7ab4f4(0x162)](){const _0x273f8f=_0x7ab4f4,_0x2c225b={'VoGJE':_0x273f8f(0x104)},_0xaea22d=this[_0x273f8f(0xbd)]?.['pages']()[0x0];if(!_0xaea22d)return;try{await _0xaea22d[_0x273f8f(0x118)](_0x2c225b['VoGJE'])['evaluate'](_0x407d46=>_0x407d46[_0x273f8f(0x121)],undefined,{'timeout':0x3e8}),this[_0x273f8f(0x128)]++;}catch{}}async[_0x7ab4f4(0x13a)](){const _0x20ed09=_0x7ab4f4,_0x11ba37={'ldOaC':function(_0xc0bce5,_0x139343,_0x409d5b){return _0xc0bce5(_0x139343,_0x409d5b);},'OQhlC':function(_0x57c65a,_0x325d21,_0x162af6){return _0x57c65a(_0x325d21,_0x162af6);},'mSJfc':_0x20ed09(0x161),'DeZrY':_0x20ed09(0xaa),'qHojq':'frame-%06d.jpg','RkKAN':'-c:v','LtSGu':_0x20ed09(0x150)};if(this['frameCount']<0x2)return null;const _0xcb4a71=await resolveFfmpegPath();if(!_0xcb4a71)return null;const _0x7d4ce0=join(this[_0x20ed09(0x14e)][_0x20ed09(0x138)],'videos');await _0x11ba37['ldOaC'](mkdir,_0x7d4ce0,{'recursive':!![]});const _0x3fe3ee=_0x11ba37['OQhlC'](join,_0x7d4ce0,'session-recording.webm');return await execFileAsync(_0xcb4a71,['-y',_0x11ba37['mSJfc'],'-loglevel',_0x20ed09(0x120),_0x11ba37[_0x20ed09(0xe7)],'10','-i',join(this[_0x20ed09(0x14d)](),_0x11ba37['qHojq']),'-vf','scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x11ba37[_0x20ed09(0x143)],_0x11ba37[_0x20ed09(0xea)],_0x20ed09(0xc2),_0x20ed09(0x15d),_0x3fe3ee]),_0x3fe3ee;}[_0x7ab4f4(0x14d)](){const _0x4a5efa=_0x7ab4f4;return join(this[_0x4a5efa(0x14e)]['cliArtifactDir'],'nova-video-frames');}}async function delay(_0x3590f8){await new Promise(_0x5aa305=>setTimeout(_0x5aa305,_0x3590f8));}async function resolveFfmpegPath(){const _0x3ae3d8=_0x7ab4f4,_0x3dd79e={'XwcDb':'ffmpeg','uxcwp':'Library','tjhza':function(_0x100b71,_0x277495,_0x15e806,_0x2b713b){return _0x100b71(_0x277495,_0x15e806,_0x2b713b);}};if(await canRunFfmpeg(_0x3dd79e[_0x3ae3d8(0xe8)]))return _0x3dd79e['XwcDb'];const _0x2d4e6b=[join(homedir(),_0x3dd79e['uxcwp'],'Caches',_0x3ae3d8(0x169)),_0x3dd79e[_0x3ae3d8(0x14c)](join,homedir(),_0x3ae3d8(0xd1),_0x3ae3d8(0x169))];for(const _0x586726 of _0x2d4e6b){try{const _0x11107e=await readdir(_0x586726),_0x50b0aa=_0x11107e['filter'](_0x5e3e4f=>_0x5e3e4f[_0x3ae3d8(0x10c)]('ffmpeg-'))['sort']()['reverse']()['flatMap'](_0x474a2d=>[join(_0x586726,_0x474a2d,_0x3ae3d8(0x12c)),join(_0x586726,_0x474a2d,'ffmpeg-linux'),join(_0x586726,_0x474a2d,'ffmpeg.exe')]);for(const _0xb1467e of _0x50b0aa){if(await canRunFfmpeg(_0xb1467e))return _0xb1467e;}}catch{}}return null;}async function canRunFfmpeg(_0x11507e){const _0x579805=_0x7ab4f4,_0x4b0b5c={'oIhSb':function(_0xfa0c5c,_0x4a5038,_0x4da0fa){return _0xfa0c5c(_0x4a5038,_0x4da0fa);},'qctvS':'-version'};try{return await _0x4b0b5c[_0x579805(0x122)](execFileAsync,_0x11507e,[_0x4b0b5c[_0x579805(0xb1)]]),!![];}catch{return![];}}function toStepDisplayName(_0x583b43){const _0x286da4=_0x7ab4f4,_0x164086={'RNWEO':function(_0x180b8e,_0x158832){return _0x180b8e(_0x158832);}},_0x1aaeba=_0x164086['RNWEO'](basename,_0x583b43)[_0x286da4(0x13e)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x286da4(0x13e)](/-/g,'\x20');return{'name':_0x1aaeba,'isKeyStep':/^key_/i[_0x286da4(0x125)](basename(_0x583b43))};}function extractShellValue(_0x119593){if(!_0x119593)return null;return _0x119593[0x1]??_0x119593[0x2]??_0x119593[0x3]??null;}function extractOutputOption(_0x1be1d7){const _0x29019b=_0x7ab4f4;return extractShellValue(_0x1be1d7[_0x29019b(0x157)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x58d671,_0x29aaa5){const _0x2f4368=_0x7ab4f4,_0xaad8de={'lkeRe':'session\x20create','APTDk':'execute\x20Nova\x20browser\x20action','BHCus':_0x2f4368(0xc8),'FuDAs':_0x2f4368(0x137),'OiGMq':'ask\x20page\x20question','qVJFd':'goto','NddAb':_0x2f4368(0xcb),'AwcPd':_0x2f4368(0xac),'mbfve':'capture\x20snapshot','SEfmJ':'screenshot','DrnWC':_0x2f4368(0xf5),'UpkzZ':'session\x20export','cyhqt':'export\x20Nova\x20session'};switch(_0x29aaa5){case _0xaad8de[_0x2f4368(0xd4)]:return _0x2f4368(0x108);case'execute':return _0xaad8de['APTDk'];case _0xaad8de[_0x2f4368(0x111)]:return _0x2f4368(0x11f);case _0xaad8de['FuDAs']:return _0xaad8de['OiGMq'];case _0xaad8de[_0x2f4368(0x106)]:return'navigate\x20browser';case _0xaad8de['NddAb']:return _0x2f4368(0x12e);case _0xaad8de[_0x2f4368(0xc5)]:{const _0x35b29c=extractOutputOption(_0x58d671);if(!_0x35b29c)return _0xaad8de[_0x2f4368(0x12a)];const {name:_0x37c48e}=toStepDisplayName(_0x35b29c);return'capture\x20snapshot\x20`'+_0x37c48e+'`';}case _0xaad8de[_0x2f4368(0x13c)]:{const _0x5d0a2e=extractOutputOption(_0x58d671);if(!_0x5d0a2e)return _0xaad8de[_0x2f4368(0x147)];const {name:_0x50d519,isKeyStep:_0x5ce74a}=toStepDisplayName(_0x5d0a2e);return _0x5ce74a?'capture\x20key\x20step\x20`'+_0x50d519+'`':'capture\x20step\x20`'+_0x50d519+'`';}case _0xaad8de[_0x2f4368(0x156)]:return _0xaad8de['cyhqt'];default:return _0x29aaa5;}}function getNovaActCliCommandBlockReason(_0x3b1c82){const _0x46117f=_0x7ab4f4,_0x2cf82e={'oljfT':function(_0x332c5f,_0x58a0d5){return _0x332c5f(_0x58a0d5);},'tgJrH':'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.'},_0x28e0b2=_0x2cf82e['oljfT'](parseNovaActCliCommand,_0x3b1c82);if(!_0x28e0b2)return _0x46117f(0xe0);if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x28e0b2))return'Nova\x20command\x20`'+_0x28e0b2+_0x46117f(0x9c);if(_0x28e0b2==='verify'&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x3b1c82))return _0x46117f(0x10d);if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x46117f(0x125)](_0x3b1c82))return _0x2cf82e[_0x46117f(0xab)];return null;}function buildFeedbackSection(_0xe53f29){const _0x2931a8=_0x7ab4f4,_0x48e49a={'SnlPp':_0x2931a8(0x142),'ORDZf':_0x2931a8(0x13d),'pcZZl':function(_0x5b1526,_0x56f5eb){return _0x5b1526===_0x56f5eb;}};if(!_0xe53f29||_0x48e49a[_0x2931a8(0x13f)](_0xe53f29['unaddressedComments']['length'],0x0))return'';const _0x518b48=_0xe53f29['unaddressedComments']['map'](_0x8f0104=>{const _0x227263=_0x2931a8,_0x345015=new Date(_0x8f0104[_0x227263(0x152)])[_0x227263(0xeb)]('en-US',{'month':_0x48e49a[_0x227263(0xec)],'day':'numeric'}),_0x4cdd44=_0x8f0104['authorName']||_0x8f0104[_0x227263(0x16a)]||_0x227263(0xe9),_0xcb5252=_0x8f0104['domRef']?_0x227263(0x155)+(_0x8f0104['domRef'][_0x227263(0x12d)]['split'](_0x227263(0x130))['pop']()?.[_0x227263(0x153)](':')[0x0]||_0x48e49a['ORDZf'])+'>\x20\x22'+(_0x8f0104[_0x227263(0xc7)][_0x227263(0xf6)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x227263(0x139)+_0x8f0104['id']+']\x20**'+_0x4cdd44+'**\x20('+_0x345015+'):\x20\x22'+_0x8f0104[_0x227263(0xd7)]+'\x22'+_0xcb5252;})[_0x2931a8(0x115)]('\x0a');return _0x2931a8(0xdc)+_0x518b48;}function buildNovaSharedOptionsInstruction(_0x145c46){const _0x56ed2e=_0x7ab4f4;if(!_0x145c46['trim']())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 _0x56ed2e(0xb6)+_0x145c46;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x7484da){const _0x1749c9=_0x7ab4f4,_0x52afba={'ZnpPl':function(_0x23bc85,_0x2b5cf3,_0x520805){return _0x23bc85(_0x2b5cf3,_0x520805);},'Helqp':'01_initial-state.png','rEPiG':'02_final-state.yml','iSlAy':function(_0x1c36b2,_0x197aad){return _0x1c36b2(_0x197aad);}},{novaCommandPrefix:_0x263298,novaSharedOptionsSuffix:_0x2b840b,cliArtifactDir:_0x575b86,url:_0x1605d4}=_0x7484da,_0x3b9d16=_0x52afba['ZnpPl'](buildCliArtifactPath,_0x575b86,_0x1749c9(0xdb)),_0x27bb26=buildCliArtifactPath(_0x575b86,_0x52afba[_0x1749c9(0xf9)]),_0x320ff3=buildCliArtifactPath(_0x575b86,_0x52afba[_0x1749c9(0xe1)]),_0x4af7a7=buildCliArtifactPath(_0x575b86,_0x1749c9(0xc1));return _0x1749c9(0xa5)+_0x263298+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x2b840b)+_0x1749c9(0x11a)+_0x263298+_0x1749c9(0x116)+_0x52afba['iSlAy'](quoteShellArg,_0x1605d4)+'\x20'+_0x2b840b+'`\x0a2.\x20Run\x20`'+_0x263298+_0x1749c9(0xf4)+quoteShellArg(_0x3b9d16)+'\x20'+_0x2b840b+'`\x0a3.\x20Run\x20`'+_0x263298+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x27bb26)+'\x20'+_0x2b840b+_0x1749c9(0xf7)+_0x263298+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x263298+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x320ff3)+'\x20'+_0x2b840b+_0x1749c9(0xdf)+_0x263298+_0x1749c9(0xca)+quoteShellArg(_0x4af7a7)+'\x20'+_0x2b840b+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x575b86+_0x1749c9(0x12f);}export function buildVerifyFeatureNovaCliPrompt(_0x43d61b){const _0x1f7cf0=_0x7ab4f4,_0x2b305e={'zXgpP':function(_0x3c5b88,_0x33bda8){return _0x3c5b88(_0x33bda8);},'dyNGi':function(_0x5782e3,_0x8e36d4,_0x3d3b53){return _0x5782e3(_0x8e36d4,_0x3d3b53);},'xhnmu':_0x1f7cf0(0xcf),'fBdQf':_0x1f7cf0(0xa8),'jysFr':function(_0x3da2e0,_0x2d4d85){return _0x3da2e0(_0x2d4d85);},'Meriw':function(_0x348b25,_0x592a4b){return _0x348b25(_0x592a4b);}},{checklistItem:_0x1e9b8f,itemFeedback:_0x2538dc,taskDescription:_0x53db3e,novaCommandPrefix:_0x1a7996,novaSharedOptionsSuffix:_0x1f183f,cliArtifactDir:_0x3115ef,url:_0x350759,loginInstructions:_0x411a48}=_0x43d61b,_0x9f9f46=_0x1e9b8f['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1e9b8f['notes']:'',_0xb330c9=_0x2b305e[_0x1f7cf0(0x127)](buildFeedbackSection,_0x2538dc),_0x9de0a5=_0x2538dc?.[_0x1f7cf0(0x165)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x2538dc[_0x1f7cf0(0x165)]:'',_0x5b8137=_0x411a48?_0x1f7cf0(0xfe)+_0x411a48+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0xc36a63=_0x2b305e[_0x1f7cf0(0x168)](buildCliArtifactPath,_0x3115ef,_0x2b305e['xhnmu']),_0xaa3154=_0x2b305e['dyNGi'](buildCliArtifactPath,_0x3115ef,_0x2b305e[_0x1f7cf0(0x9a)]),_0x1b788c=buildCliArtifactPath(_0x3115ef,'key_03_success-state.png');return _0x1f7cf0(0x96)+_0x1e9b8f[_0x1f7cf0(0x164)]+_0x9f9f46+_0xb330c9+_0x9de0a5+_0x1f7cf0(0x146)+_0x53db3e+_0x1f7cf0(0xb7)+_0x350759+_0x1f7cf0(0xfd)+_0x5b8137+'\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`'+_0x1a7996+_0x1f7cf0(0x116)+quoteShellArg(_0x350759)+'\x20'+_0x1f183f+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3115ef+_0x1f7cf0(0xbc)+_0x1a7996+'\x20snapshot\x20--output\x20'+_0x2b305e['zXgpP'](quoteShellArg,_0xc36a63)+'\x20'+_0x1f183f+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x1a7996+_0x1f7cf0(0xca)+quoteShellArg(_0xaa3154)+'\x20'+_0x1f183f+_0x1f7cf0(0xa2)+_0x1b788c+_0x1f7cf0(0xb5)+_0x1a7996+_0x1f7cf0(0x167)+(_0x1f183f['trim']()?'`'+_0x1f183f+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x2b305e['jysFr'](buildNovaSharedOptionsInstruction,_0x1f183f)+_0x1f7cf0(0x15a)+_0x1a7996+_0x1f7cf0(0x163)+_0x1f183f+'`\x0a-\x20`'+_0x1a7996+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x1f183f+_0x1f7cf0(0xef)+_0x1a7996+'\x20snapshot\x20--output\x20'+quoteShellArg(_0xc36a63)+'\x20'+_0x1f183f+'`\x0a-\x20`'+_0x1a7996+'\x20screenshot\x20--output\x20'+_0x2b305e['Meriw'](quoteShellArg,_0x1b788c)+'\x20'+_0x1f183f+'`\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(_0x4300a1){const _0x3e89a2=_0x7ab4f4,_0x39bcf4=[..._0x4300a1['keys']()][_0x3e89a2(0x123)]();let _0x47aa6f=0x0;for(const _0x34b333 of _0x4300a1['values']()){_0x47aa6f+=_0x34b333;}return{'cliCommandCount':_0x47aa6f,'cliCommandsSeen':_0x39bcf4,'noCliCommandsCalled':_0x47aa6f===0x0};}export function createVerifyFeatureNovaCliHooks(_0x2052d7,_0x1e2522){const _0x186180=_0x7ab4f4,_0x53c914={'MBJqx':function(_0x16ee41,_0x4353a4){return _0x16ee41!==_0x4353a4;},'ZEWPO':_0x186180(0x166),'VmGDf':function(_0x5e22bd,_0x4c2453){return _0x5e22bd(_0x4c2453);},'wfskU':_0x186180(0x14f),'fNFhC':function(_0x16d161,_0x22a97e){return _0x16d161!==_0x22a97e;},'QjWuX':function(_0x13d0b9,_0x36d3ce){return _0x13d0b9+_0x36d3ce;},'cWSlH':'nova_act_command','yatWH':function(_0x37bf98,_0x28a827,_0x3a8206){return _0x37bf98(_0x28a827,_0x3a8206);},'AFaLj':function(_0x50aa99,_0x53e3ac){return _0x50aa99===_0x53e3ac;},'kSgpd':_0x186180(0x159),'CrUIb':_0x186180(0x149),'XtMSN':_0x186180(0x132),'OOeSi':'nova_act_command_failure'},_0x4c1cb3=new Map(),_0x678c9c=async _0x491408=>{const _0x5f09a3=_0x186180;if(_0x53c914[_0x5f09a3(0x126)](_0x491408['hook_event_name'],_0x53c914[_0x5f09a3(0x158)]))return{};const _0x1e1b47=_0x491408;if(_0x1e1b47[_0x5f09a3(0x94)]!=='Bash')return{};const _0x4bac15=_0x1e1b47[_0x5f09a3(0xa7)],_0x3d96ca=_0x53c914[_0x5f09a3(0xb0)](extractBashCommand,_0x4bac15);if(!_0x3d96ca)return{};const _0x226765=getNovaActCliCommandBlockReason(_0x3d96ca);if(!_0x226765)return{};return{'decision':'block','reason':_0x226765};},_0x20f829=async _0x7cde87=>{const _0x542fb0=_0x186180;if(_0x7cde87['hook_event_name']!==_0x53c914['wfskU'])return{};const _0x5920ee=_0x7cde87;if(_0x53c914['fNFhC'](_0x5920ee['tool_name'],_0x542fb0(0x132)))return{};const _0x46c09c=_0x5920ee[_0x542fb0(0xa7)],_0x2115d5=_0x53c914[_0x542fb0(0xb0)](extractBashCommand,_0x46c09c);if(!_0x2115d5)return{};const _0x3fbc36=parseNovaActCliCommand(_0x2115d5);if(!_0x3fbc36)return{};_0x4c1cb3[_0x542fb0(0x112)](_0x3fbc36,_0x53c914['QjWuX'](_0x4c1cb3[_0x542fb0(0xb4)](_0x3fbc36)||0x0,0x1)),_0x2052d7[_0x542fb0(0xba)](_0x53c914['cWSlH'],{'subcommand':_0x3fbc36}),_0x2052d7['trackPhaseEnd'](_0x53c914[_0x542fb0(0x9b)],{'subcommand':_0x3fbc36,'commandPreview':previewNovaActCliCommand(_0x2115d5)}),console[_0x542fb0(0xe5)]('[nova-act-cli]\x20'+_0x53c914[_0x542fb0(0xcc)](formatNovaActCliLog,_0x2115d5,_0x3fbc36));if(_0x53c914['AFaLj'](_0x3fbc36,_0x53c914['kSgpd'])&&_0x1e2522)try{await _0x1e2522['start']();}catch(_0x321251){await _0x2052d7['trackPhaseError']('nova_act_artifact_recording',_0x321251,{'transport':'nova-act-cli'});}return{};},_0x4375d8=async _0x1d7850=>{const _0x595483=_0x186180;if(_0x1d7850['hook_event_name']!==_0x53c914['CrUIb'])return{};const _0x419764=_0x1d7850;if(_0x419764[_0x595483(0x94)]!==_0x53c914[_0x595483(0x15f)])return{};return await _0x2052d7[_0x595483(0x144)](_0x53c914['OOeSi'],_0x419764[_0x595483(0x120)],{'transport':'nova-act-cli','toolName':_0x53c914['XtMSN']}),{};};return{'preToolUseHook':_0x678c9c,'postToolUseHook':_0x20f829,'postToolUseFailureHook':_0x4375d8,'commandCounts':_0x4c1cb3};}async function runNovaLifecycleCommand(_0x54a552){const _0x3f8ab7=_0x7ab4f4,_0x128291={'ASukJ':function(_0x18b4c0,_0x421fc4){return _0x18b4c0(_0x421fc4);},'MZHVd':function(_0x489420,_0x20b0f2){return _0x489420(_0x20b0f2);},'Iqzid':function(_0x2d7a61,_0x2b16d1){return _0x2d7a61(_0x2b16d1);},'RXHla':function(_0x5b6f4f,_0x344bfb){return _0x5b6f4f(_0x344bfb);}},{novaOptions:_0x2f9451,commandArgs:_0x59dedb,telemetry:_0x701fa2,phase:_0x5e9bcc,metadata:_0x599321,timeoutMs:_0x383241}=_0x54a552;_0x701fa2['trackPhaseStart'](_0x5e9bcc,_0x599321);try{const _0x46336a=await _0x128291[_0x3f8ab7(0xee)](runNovaActCliCommand,{..._0x2f9451,'commandArgs':_0x59dedb,'cwd':process['cwd'](),'env':process[_0x3f8ab7(0xb9)],'timeoutMs':_0x383241??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x701fa2['trackPhaseEnd'](_0x5e9bcc,{..._0x599321,'subcommand':_0x46336a[_0x3f8ab7(0xe2)]['subcommand'],'commandPreview':_0x128291[_0x3f8ab7(0xda)](previewNovaActCliCommand,_0x46336a[_0x3f8ab7(0xe2)][_0x3f8ab7(0x11d)]),'stdoutPreview':_0x128291['Iqzid'](previewNovaActCliCommand,_0x46336a[_0x3f8ab7(0xb3)]),'stderrPreview':_0x128291[_0x3f8ab7(0x10a)](previewNovaActCliCommand,_0x46336a['stderr']),'logDir':extractNovaActLogDir(_0x46336a[_0x3f8ab7(0xb3)])});}catch(_0x5c510f){await _0x701fa2[_0x3f8ab7(0x144)](_0x5e9bcc,_0x5c510f,_0x599321);throw _0x5c510f;}}export async function finalizeVerifyFeatureNovaCliSession(_0x1fe2bd){const _0x2b2917=_0x7ab4f4,_0x57403a={'ClxoU':_0x2b2917(0xa4),'RljtK':_0x2b2917(0x113),'IaSvg':function(_0x174b61,_0x5498fd,_0x4f7d48){return _0x174b61(_0x5498fd,_0x4f7d48);},'TbxIq':'key_final-state.png','XznEj':'nova_act_final_snapshot','XkFVf':function(_0x3af3f0,_0x41e958,_0x1bc687){return _0x3af3f0(_0x41e958,_0x1bc687);},'RYOYj':_0x2b2917(0x119),'Dgxxe':_0x2b2917(0x107),'znNEM':function(_0xeb284e,_0x384d14,_0x2910ad){return _0xeb284e(_0x384d14,_0x2910ad);},'NhRWS':'session','YRjAj':_0x2b2917(0x101),'ejqnI':_0x2b2917(0x148),'QhIbm':_0x2b2917(0x15c)},{telemetry:_0x1beb43,novaOptions:_0x2e5a13,cliArtifactDir:_0x46ae02,transportMetadata:_0x500cd2,artifactRecorder:_0x47a385}=_0x1fe2bd,_0x5e3edc=[{'phase':_0x57403a[_0x2b2917(0x10f)],'commandArgs':[_0x2b2917(0xbf),_0x57403a['RljtK'],_0x57403a['IaSvg'](buildCliArtifactPath,_0x46ae02,_0x57403a['TbxIq'])]},{'phase':_0x57403a['XznEj'],'commandArgs':[_0x2b2917(0xac),_0x2b2917(0x113),_0x57403a['XkFVf'](buildCliArtifactPath,_0x46ae02,_0x57403a['RYOYj'])]},{'phase':_0x57403a['Dgxxe'],'commandArgs':[_0x2b2917(0xd6),_0x2b2917(0x93),_0x2b2917(0xc3),_0x2b2917(0x15e),'--output',_0x57403a['znNEM'](buildCliArtifactPath,_0x46ae02,'nova-session-export.json')]},{'phase':_0x2b2917(0x15b),'commandArgs':[_0x57403a[_0x2b2917(0xff)],'export','--report','--output-dir',_0x57403a['XkFVf'](buildCliArtifactPath,_0x46ae02,_0x57403a[_0x2b2917(0xf8)])]},{'phase':_0x57403a['ejqnI'],'commandArgs':[_0x57403a[_0x2b2917(0xff)],_0x57403a[_0x2b2917(0xbe)]]}];for(const _0x4d073d of _0x5e3edc){_0x4d073d[_0x2b2917(0x100)]===_0x57403a[_0x2b2917(0xc9)]&&await _0x47a385?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x2e5a13,'commandArgs':[..._0x4d073d[_0x2b2917(0xcd)]],'telemetry':_0x1beb43,'phase':_0x4d073d['phase'],'metadata':_0x500cd2});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x48383b){const _0x324d62=_0x7ab4f4,_0x38b88a={'PnsvJ':function(_0x2c637b,_0x51bc79){return _0x2c637b(_0x51bc79);},'VekXy':function(_0x504bd7,_0x31d98f){return _0x504bd7+_0x31d98f;},'hPYHY':function(_0x46c86d,_0x8965a2,_0x27e986){return _0x46c86d(_0x8965a2,_0x27e986);}},{cwd:_0x2a324d,cliArtifactDir:_0x1e6f28,startTime:_0x186b05}=_0x48383b,_0x3fbf89=[];await mkdir(_0x1e6f28,{'recursive':!![]});const _0x5901fd=await readdir(_0x2a324d,{'withFileTypes':!![]});for(const _0x7b00ca of _0x5901fd){if(!_0x7b00ca[_0x324d62(0xd3)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x7b00ca['name']))continue;const _0x43b925=join(_0x2a324d,_0x7b00ca['name']),_0x139d0a=await _0x38b88a[_0x324d62(0xfb)](stat,_0x43b925);if(_0x38b88a[_0x324d62(0xa3)](_0x139d0a['mtimeMs'],0x7d0)<_0x186b05)continue;const _0x2904ac=_0x38b88a[_0x324d62(0x117)](buildCliArtifactPath,_0x1e6f28,_0x7b00ca[_0x324d62(0x141)]);if(_0x43b925===_0x2904ac)continue;await _0x38b88a[_0x324d62(0x117)](rename,_0x43b925,_0x2904ac),_0x3fbf89['push'](_0x7b00ca['name']);}return _0x3fbf89[_0x324d62(0x123)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x22406d){const _0x442f49=_0x7ab4f4,_0x3a4357={'TqSSi':function(_0x3a8dd4,_0x273ac4,_0x1e56fd){return _0x3a8dd4(_0x273ac4,_0x1e56fd);},'viwFP':function(_0x6bb1d3,_0x3ebbfe){return _0x6bb1d3(_0x3ebbfe);}},_0x190c15=_0x3a4357['TqSSi'](join,_0x22406d,_0x442f49(0xe3));try{return{'buffer':await _0x3a4357[_0x442f49(0x131)](readFile,_0x190c15),'source':_0x190c15};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x22406d),'source':_0x22406d};}}function _0x2f14(){const _0x2c1e44=['Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','rEPiG','invocation','trace.zip','cdp_endpoint','log','PNvLf','DeZrY','XwcDb','Reviewer','LtSGu','toLocaleDateString','SnlPp','531Rbtqzf','ASukJ','`\x0a-\x20`','traceSampleTimer','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','startTraceSampling','tracing','\x20snapshot\x20--output\x20','capture\x20screenshot','textContent','`\x0a4.\x20Run\x20one\x20batched\x20`','YRjAj','Helqp','HtLhg','PnsvJ','frameSession','\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','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','NhRWS','phase','nova-report','startScreencast','traceSampleInFlight','body','GxzgD','qVJFd','nova_act_session_export','create\x20Nova\x20browser\x20session','.act_cli','RXHla','trackPhaseEnd','startsWith','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.','start','ClxoU','16xZXxBN','BHCus','set','--output','finally','join','\x20session\x20create\x20','hPYHY','locator','final-state.yaml','\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`','7081316RxWhBh','CuvUh','shellCommand','10998rPKVSV','verify\x20page\x20condition','error','tagName','oIhSb','sort','pages','test','MBJqx','zXgpP','traceSampleCount','execute','mbfve','tracingStarted','ffmpeg-mac','selector','wait\x20for\x20page\x20condition','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\x20>\x20','viwFP','Bash','frameWrites','ZjLcL','657562jiFvdD','frame-','ask','cliArtifactDir','-\x20[','encodeScreencastVideo','frameCount','SEfmJ','element','replace','pcZZl','66WnEwWC','name','short','RkKAN','trackPhaseError','base64','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','DrnWC','nova_act_session_close','PostToolUseFailure','Page.startScreencast','kfAMQ','tjhza','getFrameDir','params','PostToolUse','libvpx-vp9','.jpg','createdAt','split','7648710ixFFvG','\x20(on\x20element:\x20<','UpkzZ','match','ZEWPO','session\x20create','\x0a\x0aExamples:\x0a-\x20`','nova_act_session_report','close','yuv420p','json','XtMSN','nova-artifacts.zip','-hide_banner','captureTraceSample','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','description','canonicalFlow','PreToolUse','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','dyNGi','ms-playwright','authorEmail','mdfhH','now','export','tool_name','kFdgy','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','542962ckQGLV','readSessionMetadataWithRetry','queueTraceSample','fBdQf','cWSlH','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','state','send','14695obZkEr','command','nova-user-data/*','`.\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`','VekXy','nova_act_final_screenshot','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','6114915nOcXxA','tool_input','01_initial-state.png','contexts','-framerate','tgJrH','snapshot','Page.screencastFrameAck','screencastStarted','browser','VmGDf','qctvS','nova_act_artifact_recording','stdout','get','`.\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`','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','sessionId','env','trackPhaseStart','nova_act_artifact_recording_stop','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','context','QhIbm','screenshot','yCqHW','03_final-state.png','-pix_fmt','--format','412eEwrUC','AwcPd','Nfwsq','domRef','verify','ejqnI','\x20screenshot\x20--output\x20','wait-for','yatWH','commandArgs','catch','01_initial.yml','telemetry','.cache','zip','isFile','lkeRe','stop','session','content','stopTraceSampling','ncCAn','MZHVd','00_initial-state.yml','\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','novaOptions','startAttempted','`\x0a6.\x20Run\x20`'];_0x2f14=function(){return _0x2c1e44;};return _0x2f14();}async function zipVerifyFeatureNovaArtifacts(_0x5da3d8){const _0x533aa4=_0x7ab4f4,_0x4627e1={'ZjLcL':function(_0x2c92d1,_0x28a0cd,_0x3aacfb,_0x2147f5){return _0x2c92d1(_0x28a0cd,_0x3aacfb,_0x2147f5);},'mdfhH':_0x533aa4(0xa1),'GxzgD':function(_0x46ff5e,_0x270a42){return _0x46ff5e(_0x270a42);},'XHver':function(_0xb8c572,_0x2f3772,_0x39efc2){return _0xb8c572(_0x2f3772,_0x39efc2);}},_0x8f9e25=_0x4627e1['ZjLcL'](join,_0x5da3d8,'..',_0x533aa4(0x160));try{return await _0x4627e1[_0x533aa4(0x134)](execFileAsync,_0x533aa4(0xd2),['-qr',_0x8f9e25,'.','-x',_0x4627e1[_0x533aa4(0x16b)]],{'cwd':_0x5da3d8}),await _0x4627e1[_0x533aa4(0x105)](readFile,_0x8f9e25);}finally{await _0x4627e1['XHver'](rm,_0x8f9e25,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x3af62d){const _0x294130=_0x7ab4f4,_0x40c2d2={'EibUe':function(_0xffccd9,_0x82a044){return _0xffccd9(_0x82a044);}},_0x1934bc=buildNovaActCliInvocation(_0x3af62d['novaOptions'],_0x3af62d[_0x294130(0xcd)]);return{'command':_0x1934bc[_0x294130(0xa0)],'args':_0x1934bc['args'],'commandPreview':_0x40c2d2['EibUe'](previewNovaActCliCommand,_0x1934bc[_0x294130(0x11d)]),'subcommand':_0x1934bc['subcommand'],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x3af62d[_0x294130(0xdd)],_0x3af62d['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1c186c,_0x41ca89){const _0x4130a5=_0x248c,_0x17e492=_0x1c186c();while(!![]){try{const _0x874ac4=-parseInt(_0x4130a5(0x1bd))/0x1*(parseInt(_0x4130a5(0x18f))/0x2)+parseInt(_0x4130a5(0x1a2))/0x3*(-parseInt(_0x4130a5(0x191))/0x4)+parseInt(_0x4130a5(0x190))/0x5+-parseInt(_0x4130a5(0x1e9))/0x6*(parseInt(_0x4130a5(0x1e7))/0x7)+-parseInt(_0x4130a5(0x194))/0x8+-parseInt(_0x4130a5(0x1ec))/0x9+parseInt(_0x4130a5(0x1cd))/0xa;if(_0x874ac4===_0x41ca89)break;else _0x17e492['push'](_0x17e492['shift']());}catch(_0x20abd9){_0x17e492['push'](_0x17e492['shift']());}}}(_0x1776,0xee692));function _0x1776(){const _0x1a4f17=['`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','values','AYwQg','\x20open-and-inspect\x20','inspect\x20page','2933sqmaax','iGVlK','10254mpptzf','hook_event_name','open\x20and\x20inspect','8788239VQtXGh','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','...','BTNHY','36458YtZCTs','631965fERcFn','89560UxWBYG','commandPrefix','aOPIw','7635256tvhVAi','Bash','stderr','rangerwright_cli_video_stop','join','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','-\x20[','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','go\x20back\x20and\x20inspect','authorName','trackPhaseEnd','\x20inspect\x20--screenshot-path\x20','commandArgs','21XMhNkm','FjpIK','stop\x20video\x20recording','rangerwright_cli_command','stdout','canonicalFlow','\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','fzcrf','close','test','match','mCNJB','.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','map','bWYhZ','inspect','PostToolUse','rangerwright_cli_command_failure','\x20(on\x20element:\x20<','tracing-stop','set','GtOBw','click\x20and\x20inspect\x20','\x20>\x20','length','domRef','tool_name','73EFrUtZ','HhPVS','\x0a\x0a##\x20Additional\x20Notes\x0a','[rangerwright-cli]\x20','rangerwright-cli','video-stop','cwd','VIXQr','key_99_final-state.png','HnQZW','rangerwright_cli_close','back-and-inspect','description','get','error','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','49845330RVeFlD','trackPhaseError','ikKIN','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','BSlfR','en-US','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','ftbZj','(?:^|\x5cs)','\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`','Reviewer','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','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','\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','bZaNI','>\x20\x22','stringify','VCFhC','textContent','sort','click-and-inspect'];_0x1776=function(){return _0x1a4f17;};return _0x1776();}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(_0x1be1f9,_0x4b45a7=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0xffabda=_0x248c,_0x25d4f3={'mjkWQ':function(_0x4140b3,_0x2cb335){return _0x4140b3+_0x2cb335;}};return _0x1be1f9[_0xffabda(0x1ba)]>_0x4b45a7?_0x25d4f3['mjkWQ'](_0x1be1f9['slice'](0x0,_0x4b45a7),_0xffabda(0x1ef)):_0x1be1f9;}function extractShellValue(_0x543c4d){if(!_0x543c4d)return null;return _0x543c4d[0x1]??_0x543c4d[0x2]??_0x543c4d[0x3]??null;}function extractFirstCommandArgument(_0x5dcad9,_0x3935ba){const _0x20202f=_0x248c,_0x3db130=_0x3935ba['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x5dcad9[_0x20202f(0x1ac)](new RegExp(_0x20202f(0x1d5)+_0x3db130+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0xa99929){const _0x319eab=_0x248c,_0x5a97ec={'VtSIe':function(_0x40254e,_0x4dbce7,_0x220d81){return _0x40254e(_0x4dbce7,_0x220d81);}};if(!_0xa99929)return'target';if(/^e\d+$/i[_0x319eab(0x1ab)](_0xa99929))return'ref\x20'+_0xa99929;return JSON[_0x319eab(0x1dd)](_0x5a97ec['VtSIe'](truncatePreview,_0xa99929,0x78));}function formatRangerwrightCliLog(_0x5e848f,_0x357cb7){const _0x500d59=_0x248c,_0x4a4a39={'dIXPA':function(_0x43b732,_0x34d90a){return _0x43b732(_0x34d90a);},'yvWjg':function(_0x2841da,_0x33f42a,_0x49e3d5){return _0x2841da(_0x33f42a,_0x49e3d5);},'fzcrf':_0x500d59(0x1c8),'zHYWb':_0x500d59(0x19d),'rfNXi':_0x500d59(0x1b1),'RzIGd':_0x500d59(0x1b5),'iGVlK':'stop\x20tracing','mCNJB':'video-stop','BTNHY':'close','VIXQr':'close\x20browser\x20session'};switch(_0x357cb7){case'open-and-inspect':{const _0x107809=extractFirstCommandArgument(_0x5e848f,_0x357cb7);return _0x107809?'open\x20and\x20inspect\x20'+_0x107809:_0x500d59(0x1eb);}case _0x500d59(0x1e1):return _0x500d59(0x1b8)+_0x4a4a39['dIXPA'](formatCommandTarget,_0x4a4a39['yvWjg'](extractFirstCommandArgument,_0x5e848f,_0x357cb7));case'fill':case'fill-and-inspect':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5e848f,_0x357cb7));case _0x4a4a39[_0x500d59(0x1a9)]:return _0x4a4a39['zHYWb'];case _0x4a4a39['rfNXi']:return _0x500d59(0x1e6);case _0x4a4a39['RzIGd']:return _0x4a4a39[_0x500d59(0x1e8)];case _0x4a4a39[_0x500d59(0x1ad)]:return _0x500d59(0x1a4);case _0x4a4a39[_0x500d59(0x1f0)]:return _0x4a4a39[_0x500d59(0x1c4)];default:return _0x357cb7;}}function renderScenarioSections(_0x51e1d1){const _0x4a9ce5=_0x248c,_0xc784d3={'GtOBw':_0x4a9ce5(0x1d2),'ZvDka':_0x4a9ce5(0x1d7),'bWYhZ':_0x4a9ce5(0x1b9)},{checklistItem:_0x32ff9e,itemFeedback:_0x83fbf8}=_0x51e1d1,_0x4f418d=_0x32ff9e['notes']?_0x4a9ce5(0x1bf)+_0x32ff9e['notes']:'';let _0x2058f7='';if(_0x83fbf8&&_0x83fbf8['unaddressedComments'][_0x4a9ce5(0x1ba)]>0x0){const _0x153a7b=_0x83fbf8['unaddressedComments'][_0x4a9ce5(0x1af)](_0x46bb54=>{const _0x3f94b7=_0x4a9ce5,_0x30991a=new Date(_0x46bb54['createdAt'])['toLocaleDateString'](_0xc784d3[_0x3f94b7(0x1b7)],{'month':'short','day':'numeric'}),_0x49c35d=_0x46bb54[_0x3f94b7(0x19e)]||_0x46bb54['authorEmail']||_0xc784d3['ZvDka'],_0x3711e2=_0x46bb54[_0x3f94b7(0x1bb)]?_0x3f94b7(0x1b4)+(_0x46bb54['domRef']['selector']['split'](_0xc784d3[_0x3f94b7(0x1b0)])['pop']()?.['split'](':')[0x0]||'element')+_0x3f94b7(0x1dc)+(_0x46bb54['domRef'][_0x3f94b7(0x1df)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x3f94b7(0x19a)+_0x46bb54['id']+']\x20'+_0x49c35d+'\x20('+_0x30991a+'):\x20\x22'+_0x46bb54['content']+'\x22'+_0x3711e2;})[_0x4a9ce5(0x198)]('\x0a');_0x2058f7=_0x4a9ce5(0x1a8)+_0x153a7b;}const _0x394752=_0x83fbf8?.[_0x4a9ce5(0x1a7)]?_0x4a9ce5(0x1ee)+_0x83fbf8['canonicalFlow']:'';return''+_0x32ff9e[_0x4a9ce5(0x1c9)]+_0x4f418d+_0x2058f7+_0x394752;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x5b86c8){const _0x384814=_0x248c,_0x416d64={'BSlfR':'01_initial-state.png','ayOfx':function(_0x106ff8,_0x30f3e6){return _0x106ff8(_0x30f3e6);},'FjpIK':function(_0x34b7bf,_0x111ea7){return _0x34b7bf(_0x111ea7);},'OZABl':function(_0x27973f,_0x5d5dd1){return _0x27973f??_0x5d5dd1;},'VCFhC':'about:blank'},{checklistItem:_0x299e89,itemFeedback:_0x4bfa9c,taskDescription:_0x53b166,commandPrefix:_0x40d384,isCdpMode:_0x593c4e,url:_0x1e28dc,cdpEndpoint:_0x5cbbca,loginInstructions:_0xb188fc}=_0x5b86c8,_0x10c0f5=_0x416d64[_0x384814(0x1d1)],_0x3c8ae3=_0x384814(0x1c5),_0x4963e5=_0x593c4e?_0x40d384+_0x384814(0x1a0)+_0x416d64['ayOfx'](quoteShellArg,_0x10c0f5):_0x40d384+_0x384814(0x1e5)+_0x416d64[_0x384814(0x1a3)](quoteShellArg,_0x416d64['OZABl'](_0x1e28dc,_0x416d64[_0x384814(0x1de)]))+'\x20--screenshot-path\x20'+_0x416d64['FjpIK'](quoteShellArg,_0x10c0f5),_0x1fd444=_0x593c4e?_0x384814(0x1cc)+_0x5cbbca+_0x384814(0x1ae):_0x384814(0x1d3)+_0x1e28dc+'\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.',_0x2195e1=_0xb188fc?_0x384814(0x19c)+_0xb188fc+_0x384814(0x199):'';return _0x384814(0x1d9)+renderScenarioSections({'checklistItem':_0x299e89,'itemFeedback':_0x4bfa9c})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x53b166+'\x0a\x0a'+_0x1fd444+_0x2195e1+_0x384814(0x19b)+_0x40d384+'\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'+_0x4963e5+_0x384814(0x1da)+_0x40d384+_0x384814(0x1d0)+_0x416d64[_0x384814(0x1a3)](quoteShellArg,_0x3c8ae3)+'\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 _0x248c(_0x5e2946,_0x2a5562){_0x5e2946=_0x5e2946-0x18f;const _0x17767f=_0x1776();let _0x248c8d=_0x17767f[_0x5e2946];return _0x248c8d;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2092ba){const _0x1f4c2e=_0x248c,_0x5c2053={'aOPIw':'01_mozilla-homepage.png'},_0x236537=_0x5c2053[_0x1f4c2e(0x193)],_0x598c1c='key_02_learn-more.png';return _0x1f4c2e(0x1d8)+_0x2092ba[_0x1f4c2e(0x192)]+_0x1f4c2e(0x1d6)+_0x2092ba[_0x1f4c2e(0x192)]+_0x1f4c2e(0x1e5)+quoteShellArg(_0x2092ba['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x236537)+_0x1f4c2e(0x1e2)+_0x2092ba[_0x1f4c2e(0x192)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x598c1c)+_0x1f4c2e(0x1ed);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x4284bb){const _0x32b06d=_0x248c,_0x5acba9=[..._0x4284bb['keys']()][_0x32b06d(0x1e0)]();let _0xbdf9f6=0x0;for(const _0x35dbff of _0x4284bb[_0x32b06d(0x1e3)]()){_0xbdf9f6+=_0x35dbff;}return{'cliCommandCount':_0xbdf9f6,'cliCommandsSeen':_0x5acba9,'noCliCommandsCalled':_0xbdf9f6===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x1a8340){const _0x1c8185=_0x248c,_0x346353={'HnQZW':function(_0x3dc41c,_0x13c149){return _0x3dc41c!==_0x13c149;},'HhPVS':_0x1c8185(0x195),'ftbZj':_0x1c8185(0x1a5),'bZaNI':function(_0xf0f998,_0x32e3e2){return _0xf0f998!==_0x32e3e2;},'ikKIN':_0x1c8185(0x1b3)},_0x38fb55=new Map(),_0x25c59e=async _0x1cc43f=>{const _0x5568fd=_0x1c8185;if(_0x346353[_0x5568fd(0x1c6)](_0x1cc43f[_0x5568fd(0x1ea)],_0x5568fd(0x1b2)))return{};const _0x35c59b=_0x1cc43f;if(_0x346353[_0x5568fd(0x1c6)](_0x35c59b['tool_name'],_0x346353[_0x5568fd(0x1be)]))return{};const _0x2d3001=_0x35c59b['tool_input'],_0x530b66=extractBashCommand(_0x2d3001);if(!_0x530b66)return{};const _0x2de13a=parseRangerwrightCliCommand(_0x530b66);if(!_0x2de13a)return{};return _0x38fb55[_0x5568fd(0x1b6)](_0x2de13a,(_0x38fb55[_0x5568fd(0x1ca)](_0x2de13a)||0x0)+0x1),_0x1a8340['trackPhaseStart'](_0x346353[_0x5568fd(0x1d4)],{'subcommand':_0x2de13a}),_0x1a8340[_0x5568fd(0x19f)]('rangerwright_cli_command',{'subcommand':_0x2de13a,'commandPreview':truncatePreview(_0x530b66)}),console['log'](_0x5568fd(0x1c0)+formatRangerwrightCliLog(_0x530b66,_0x2de13a)),{};},_0x107f57=async _0x5549aa=>{const _0xa57724=_0x1c8185;if(_0x346353[_0xa57724(0x1c6)](_0x5549aa[_0xa57724(0x1ea)],'PostToolUseFailure'))return{};const _0x4832e3=_0x5549aa;if(_0x346353[_0xa57724(0x1db)](_0x4832e3[_0xa57724(0x1bc)],_0xa57724(0x195)))return{};return await _0x1a8340[_0xa57724(0x1ce)](_0x346353[_0xa57724(0x1cf)],_0x4832e3[_0xa57724(0x1cb)],{'transport':_0xa57724(0x1c1),'toolName':_0x346353['HhPVS']}),{};};return{'postToolUseHook':_0x25c59e,'postToolUseFailureHook':_0x107f57,'commandCounts':_0x38fb55};}async function runRangerwrightLifecycleCommand(_0x742617){const _0x558a8f=_0x248c,{options:_0x12bf6b,commandArgs:_0x4ecba5,env:_0x38a202,telemetry:_0x445643,phase:_0x56c9f7,metadata:_0xa61126,timeoutMs:_0x292aa4}=_0x742617;_0x445643['trackPhaseStart'](_0x56c9f7,_0xa61126);try{const _0x47bd18=await runRangerwrightCliCommand({..._0x12bf6b,'commandArgs':_0x4ecba5,'cwd':process[_0x558a8f(0x1c3)](),'env':_0x38a202,'timeoutMs':_0x292aa4??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x445643[_0x558a8f(0x19f)](_0x56c9f7,{..._0xa61126,'subcommand':_0x47bd18['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x47bd18[_0x558a8f(0x1a6)],0x7d0),'stderrPreview':truncatePreview(_0x47bd18[_0x558a8f(0x196)],0x7d0)});}catch(_0x1e7f09){await _0x445643['trackPhaseError'](_0x56c9f7,_0x1e7f09,_0xa61126);throw _0x1e7f09;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x494e92){const _0x1f6046=_0x248c,_0x4ed738={'AYwQg':'rangerwright_cli_tracing_stop','kbgbG':'tracing-stop','RczWp':_0x1f6046(0x197),'Yxyrv':_0x1f6046(0x1aa),'OHObP':function(_0x59ffba,_0x45517b){return _0x59ffba(_0x45517b);}},{telemetry:_0x29f912,rangerwrightOptions:_0x4e9b63,env:_0x57a179,transportMetadata:_0x105a62}=_0x494e92,_0x326793=[{'phase':_0x4ed738[_0x1f6046(0x1e4)],'commandArgs':[_0x4ed738['kbgbG']]},{'phase':_0x4ed738['RczWp'],'commandArgs':[_0x1f6046(0x1c2)]},{'phase':_0x1f6046(0x1c7),'commandArgs':[_0x4ed738['Yxyrv']]}];for(const _0x406b08 of _0x326793){try{await _0x4ed738['OHObP'](runRangerwrightLifecycleCommand,{'options':_0x4e9b63,'commandArgs':[..._0x406b08[_0x1f6046(0x1a1)]],'env':_0x57a179,'telemetry':_0x29f912,'phase':_0x406b08['phase'],'metadata':_0x105a62});}catch{}}}
|
|
1
|
+
function _0x2e86(_0x5875bb,_0x41f21e){_0x5875bb=_0x5875bb-0xe3;const _0x43858d=_0x4385();let _0x2e8648=_0x43858d[_0x5875bb];return _0x2e8648;}(function(_0x16c59c,_0x9afd14){const _0x129bbf=_0x2e86,_0x44d2ad=_0x16c59c();while(!![]){try{const _0x2662e6=parseInt(_0x129bbf(0xed))/0x1+-parseInt(_0x129bbf(0xf7))/0x2*(parseInt(_0x129bbf(0x101))/0x3)+parseInt(_0x129bbf(0x13a))/0x4*(parseInt(_0x129bbf(0x111))/0x5)+-parseInt(_0x129bbf(0x134))/0x6*(parseInt(_0x129bbf(0x107))/0x7)+-parseInt(_0x129bbf(0x10c))/0x8*(parseInt(_0x129bbf(0x120))/0x9)+-parseInt(_0x129bbf(0xe8))/0xa+-parseInt(_0x129bbf(0x10a))/0xb;if(_0x2662e6===_0x9afd14)break;else _0x44d2ad['push'](_0x44d2ad['shift']());}catch(_0x3afb40){_0x44d2ad['push'](_0x44d2ad['shift']());}}}(_0x4385,0x23c05));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 _0x4385(){const _0x18ce41=['##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\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','replace','FVYvz','keys','tracing-stop','469500NINsbC','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','notes','target','rangerwright_cli_command','275117jlNYKG','commandPrefix','unaddressedComments','toLocaleDateString','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','ref\x20','close\x20browser\x20session','AhxnP','video-stop','2ukMhqh','test','slice','[rangerwright-cli]\x20','close','url','fill','tool_input','wLBHj','domRef','490020EpgyGI','QVJqx','\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','\x5c$&','dgnJo','stop\x20video\x20recording','182YCiHgG','\x20--screenshot-path\x20','tool_name','451726Lbljry','trackPhaseError','32xNoskv','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','rangerwright_cli_command_failure','length','subcommand','185710GBadTA','aoWrk','fill-and-inspect','stderr','XITEr','rangerwright-cli','cwd','(?:^|\x5cs)','invocation','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','TBCPw','about:blank','stringify','VIqRn','\x0a\x0a##\x20Additional\x20Notes\x0a','173421ZFPBMJ','authorName','\x20>\x20','selector','):\x20\x22','kBLNp','trackPhaseEnd','01_mozilla-homepage.png','-\x20[','inspect','AKoRj','open\x20and\x20inspect','rangerwright_cli_tracing_stop','Bash','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','hxXUO','content','canonicalFlow','rangerwright_cli_close','lbxnQ','13902PfWomN','fill\x20','inspect\x20page','WiOVi','\x20open-and-inspect\x20','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','28bFArLo','split','rangerwright_cli_video_stop'];_0x4385=function(){return _0x18ce41;};return _0x4385();}function truncatePreview(_0x222476,_0x201943=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x520d63={'AyTNV':function(_0x265f5a,_0x1f9a34){return _0x265f5a>_0x1f9a34;}};return _0x520d63['AyTNV'](_0x222476['length'],_0x201943)?_0x222476['slice'](0x0,_0x201943)+'...':_0x222476;}function extractShellValue(_0x44a12c){if(!_0x44a12c)return null;return _0x44a12c[0x1]??_0x44a12c[0x2]??_0x44a12c[0x3]??null;}function extractFirstCommandArgument(_0x1edabd,_0x5b27da){const _0x403f21=_0x2e86,_0x3307ed={'gnVBZ':function(_0x5b192f,_0x4dd39e){return _0x5b192f(_0x4dd39e);}},_0x43c41a=_0x5b27da[_0x403f21(0xe4)](/[.*+?^${}()|[\]\\]/g,_0x403f21(0x104));return _0x3307ed['gnVBZ'](extractShellValue,_0x1edabd['match'](new RegExp(_0x403f21(0x118)+_0x43c41a+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x2586f0){const _0x2227c7=_0x2e86;if(!_0x2586f0)return _0x2227c7(0xeb);if(/^e\d+$/i[_0x2227c7(0xf8)](_0x2586f0))return _0x2227c7(0xf3)+_0x2586f0;return JSON[_0x2227c7(0x11d)](truncatePreview(_0x2586f0,0x78));}function formatRangerwrightCliLog(_0x5d862b,_0x31894e){const _0x3533f1=_0x2e86,_0xec16d8={'BNAVW':_0x3533f1(0x12b),'YwVlY':'click-and-inspect','aoWrk':_0x3533f1(0x113),'xFmnp':function(_0x4770f5,_0x96dd0a){return _0x4770f5(_0x96dd0a);},'hxXUO':'back-and-inspect','xEXYw':_0x3533f1(0x136),'WiOVi':'stop\x20tracing','TBCPw':_0x3533f1(0xf6),'XzNwX':_0x3533f1(0xfb),'dgnJo':_0x3533f1(0xf4)};switch(_0x31894e){case'open-and-inspect':{const _0x52cf05=extractFirstCommandArgument(_0x5d862b,_0x31894e);return _0x52cf05?'open\x20and\x20inspect\x20'+_0x52cf05:_0xec16d8['BNAVW'];}case _0xec16d8['YwVlY']:return'click\x20and\x20inspect\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5d862b,_0x31894e));case _0x3533f1(0xfd):case _0xec16d8[_0x3533f1(0x112)]:return _0x3533f1(0x135)+_0xec16d8['xFmnp'](formatCommandTarget,extractFirstCommandArgument(_0x5d862b,_0x31894e));case _0xec16d8[_0x3533f1(0x12f)]:return'go\x20back\x20and\x20inspect';case _0x3533f1(0x129):return _0xec16d8['xEXYw'];case'tracing-stop':return _0xec16d8[_0x3533f1(0x137)];case _0xec16d8[_0x3533f1(0x11b)]:return _0x3533f1(0x106);case _0xec16d8['XzNwX']:return _0xec16d8[_0x3533f1(0x105)];default:return _0x31894e;}}function renderScenarioSections(_0x5e21fb){const _0x2f3efe=_0x2e86,_0x56c93a={'DpXAv':'en-US','FVYvz':'short','QINAb':function(_0x126343,_0x124bda){return _0x126343>_0x124bda;}},{checklistItem:_0x392c6b,itemFeedback:_0xca9d27}=_0x5e21fb,_0x3b9235=_0x392c6b[_0x2f3efe(0xea)]?_0x2f3efe(0x11f)+_0x392c6b[_0x2f3efe(0xea)]:'';let _0x122172='';if(_0xca9d27&&_0x56c93a['QINAb'](_0xca9d27[_0x2f3efe(0xef)][_0x2f3efe(0x10f)],0x0)){const _0x3b6c0e=_0xca9d27[_0x2f3efe(0xef)]['map'](_0x221c92=>{const _0x25fab0=_0x2f3efe,_0x1e10d2=new Date(_0x221c92['createdAt'])[_0x25fab0(0xf0)](_0x56c93a['DpXAv'],{'month':_0x56c93a[_0x25fab0(0xe5)],'day':'numeric'}),_0x1a7490=_0x221c92[_0x25fab0(0x121)]||_0x221c92['authorEmail']||'Reviewer',_0x295e16=_0x221c92[_0x25fab0(0x100)]?'\x20(on\x20element:\x20<'+(_0x221c92['domRef'][_0x25fab0(0x123)][_0x25fab0(0x13b)](_0x25fab0(0x122))['pop']()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x221c92[_0x25fab0(0x100)]['textContent']||'')[_0x25fab0(0xf9)](0x0,0x32)+'\x22)':'';return _0x25fab0(0x128)+_0x221c92['id']+']\x20'+_0x1a7490+'\x20('+_0x1e10d2+_0x25fab0(0x124)+_0x221c92[_0x25fab0(0x130)]+'\x22'+_0x295e16;})['join']('\x0a');_0x122172='\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'+_0x3b6c0e;}const _0x452808=_0xca9d27?.[_0x2f3efe(0x131)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0xca9d27[_0x2f3efe(0x131)]:'';return''+_0x392c6b['description']+_0x3b9235+_0x122172+_0x452808;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x95f117){const _0x2e63db=_0x2e86,_0x7600={'RaRNN':'01_initial-state.png','XITEr':'key_99_final-state.png','LiPBq':function(_0x22889d,_0x59e532){return _0x22889d(_0x59e532);},'xdQxb':_0x2e63db(0x11c),'wLBHj':function(_0x31fbb2,_0x499e9b){return _0x31fbb2(_0x499e9b);}},{checklistItem:_0xf520c3,itemFeedback:_0x310af0,taskDescription:_0x2a0192,commandPrefix:_0x32cf6d,isCdpMode:_0x9bdb7a,url:_0x11471f,cdpEndpoint:_0x5e5457,loginInstructions:_0x3009e8}=_0x95f117,_0x5d406a=_0x7600['RaRNN'],_0x31e0d8=_0x7600[_0x2e63db(0x115)],_0x1958c0=_0x9bdb7a?_0x32cf6d+'\x20inspect\x20--screenshot-path\x20'+_0x7600['LiPBq'](quoteShellArg,_0x5d406a):_0x32cf6d+_0x2e63db(0x138)+_0x7600['LiPBq'](quoteShellArg,_0x11471f??_0x7600['xdQxb'])+_0x2e63db(0x108)+quoteShellArg(_0x5d406a),_0x4fd286=_0x9bdb7a?_0x2e63db(0x13d)+_0x5e5457+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x11471f+'\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.',_0x121d0c=_0x3009e8?_0x2e63db(0xf2)+_0x3009e8+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2e63db(0xe3)+renderScenarioSections({'checklistItem':_0xf520c3,'itemFeedback':_0x310af0})+_0x2e63db(0xe9)+_0x2a0192+'\x0a\x0a'+_0x4fd286+_0x121d0c+_0x2e63db(0x11a)+_0x32cf6d+_0x2e63db(0x103)+_0x1958c0+'\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'+_0x32cf6d+_0x2e63db(0x12e)+_0x7600[_0x2e63db(0xff)](quoteShellArg,_0x31e0d8)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x1ba8d9){const _0x1fdb24=_0x2e86,_0x244bac={'lbxnQ':_0x1fdb24(0x127),'kBLNp':function(_0x1dee8e,_0x52d88c){return _0x1dee8e(_0x52d88c);}},_0x7516b1=_0x244bac[_0x1fdb24(0x133)],_0x55c90d='key_02_learn-more.png';return _0x1fdb24(0x139)+_0x1ba8d9[_0x1fdb24(0xee)]+'\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`'+_0x1ba8d9['commandPrefix']+_0x1fdb24(0x138)+_0x244bac[_0x1fdb24(0x125)](quoteShellArg,_0x1ba8d9[_0x1fdb24(0xfc)])+'\x20--screenshot-path\x20'+quoteShellArg(_0x7516b1)+_0x1fdb24(0xf1)+_0x1ba8d9[_0x1fdb24(0xee)]+_0x1fdb24(0x10d)+quoteShellArg(_0x55c90d)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x38e74e){const _0x31af11=_0x2e86,_0x1e424e=[..._0x38e74e[_0x31af11(0xe6)]()]['sort']();let _0x437479=0x0;for(const _0x3b70fc of _0x38e74e['values']()){_0x437479+=_0x3b70fc;}return{'cliCommandCount':_0x437479,'cliCommandsSeen':_0x1e424e,'noCliCommandsCalled':_0x437479===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x358487){const _0x250266=_0x2e86,_0x14a46a={'URjdX':function(_0x22969b,_0x3ba378){return _0x22969b!==_0x3ba378;},'waeBi':'PostToolUse','QVJqx':function(_0xefadca,_0x4cbed8){return _0xefadca(_0x4cbed8);},'VIqRn':function(_0x2a0f59,_0x33431e){return _0x2a0f59(_0x33431e);},'bneEy':function(_0x13b94e,_0xc03549,_0x8902b5){return _0x13b94e(_0xc03549,_0x8902b5);},'DNYMB':function(_0x265fee,_0x55a8cb){return _0x265fee!==_0x55a8cb;},'AhxnP':'PostToolUseFailure','tPIxp':_0x250266(0x116),'bNTRr':'Bash'},_0x965cf=new Map(),_0x521ecf=async _0xe266a9=>{const _0x171fab=_0x250266;if(_0x14a46a['URjdX'](_0xe266a9['hook_event_name'],_0x14a46a['waeBi']))return{};const _0x14400e=_0xe266a9;if(_0x14a46a['URjdX'](_0x14400e[_0x171fab(0x109)],_0x171fab(0x12d)))return{};const _0x4edeea=_0x14400e[_0x171fab(0xfe)],_0x8333de=_0x14a46a[_0x171fab(0x102)](extractBashCommand,_0x4edeea);if(!_0x8333de)return{};const _0x373378=_0x14a46a[_0x171fab(0x11e)](parseRangerwrightCliCommand,_0x8333de);if(!_0x373378)return{};return _0x965cf['set'](_0x373378,(_0x965cf['get'](_0x373378)||0x0)+0x1),_0x358487['trackPhaseStart']('rangerwright_cli_command',{'subcommand':_0x373378}),_0x358487[_0x171fab(0x126)](_0x171fab(0xec),{'subcommand':_0x373378,'commandPreview':truncatePreview(_0x8333de)}),console['log'](_0x171fab(0xfa)+_0x14a46a['bneEy'](formatRangerwrightCliLog,_0x8333de,_0x373378)),{};},_0x33df8b=async _0x1fe197=>{const _0x3dec05=_0x250266;if(_0x14a46a['DNYMB'](_0x1fe197['hook_event_name'],_0x14a46a[_0x3dec05(0xf5)]))return{};const _0x27fb01=_0x1fe197;if(_0x27fb01['tool_name']!==_0x3dec05(0x12d))return{};return await _0x358487[_0x3dec05(0x10b)](_0x3dec05(0x10e),_0x27fb01['error'],{'transport':_0x14a46a['tPIxp'],'toolName':_0x14a46a['bNTRr']}),{};};return{'postToolUseHook':_0x521ecf,'postToolUseFailureHook':_0x33df8b,'commandCounts':_0x965cf};}async function runRangerwrightLifecycleCommand(_0x5d8c93){const _0x2bc89e=_0x2e86,_0x33fee6={'PLNlK':function(_0x2032a3,_0xa7bc50,_0x509af9){return _0x2032a3(_0xa7bc50,_0x509af9);}},{options:_0x123b6b,commandArgs:_0x4f23c2,env:_0x5e34b0,telemetry:_0x29ba14,phase:_0x5e45b1,metadata:_0x48e56a,timeoutMs:_0x40bfe3}=_0x5d8c93;_0x29ba14['trackPhaseStart'](_0x5e45b1,_0x48e56a);try{const _0x17756f=await runRangerwrightCliCommand({..._0x123b6b,'commandArgs':_0x4f23c2,'cwd':process[_0x2bc89e(0x117)](),'env':_0x5e34b0,'timeoutMs':_0x40bfe3??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x29ba14[_0x2bc89e(0x126)](_0x5e45b1,{..._0x48e56a,'subcommand':_0x17756f[_0x2bc89e(0x119)][_0x2bc89e(0x110)],'stdoutPreview':truncatePreview(_0x17756f['stdout'],0x7d0),'stderrPreview':_0x33fee6['PLNlK'](truncatePreview,_0x17756f[_0x2bc89e(0x114)],0x7d0)});}catch(_0x1e6435){await _0x29ba14['trackPhaseError'](_0x5e45b1,_0x1e6435,_0x48e56a);throw _0x1e6435;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x5bcda0){const _0x1c653d=_0x2e86,_0xb13f3f={'AKoRj':_0x1c653d(0x13c),'Maoph':'video-stop','VwsNb':'close'},{telemetry:_0x2ff681,rangerwrightOptions:_0x3f9810,env:_0x2198b8,transportMetadata:_0x51dad7}=_0x5bcda0,_0x43ffc7=[{'phase':_0x1c653d(0x12c),'commandArgs':[_0x1c653d(0xe7)]},{'phase':_0xb13f3f[_0x1c653d(0x12a)],'commandArgs':[_0xb13f3f['Maoph']]},{'phase':_0x1c653d(0x132),'commandArgs':[_0xb13f3f['VwsNb']]}];for(const _0x4ec9a4 of _0x43ffc7){try{await runRangerwrightLifecycleCommand({'options':_0x3f9810,'commandArgs':[..._0x4ec9a4['commandArgs']],'env':_0x2198b8,'telemetry':_0x2ff681,'phase':_0x4ec9a4['phase'],'metadata':_0x51dad7});}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.6-alpha.4287155-52",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@ranger-testing/rangerwright": "^0.0.27",
|
|
26
26
|
"dotenv": "^16.4.5",
|
|
27
27
|
"inquirer": "^9.2.12",
|
|
28
|
-
"playwright": "1.
|
|
28
|
+
"playwright": "1.56.1",
|
|
29
29
|
"ws": "^8.20.1",
|
|
30
30
|
"yargs": "^17.7.2",
|
|
31
31
|
"zod": "^3.23.8"
|