@ranger-testing/ranger-cli 2.5.4-alpha.152f635-21 → 2.5.4-alpha.1b80607-25
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 -0
- 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 -0
- package/build/commands/utils/opencodeConfig.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/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.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/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 -0
- package/build/skills/ranger/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1c0216,_0x2f19e3){const _0x4d41a7=_0x3db8,_0x4b813a=_0x1c0216();while(!![]){try{const _0x5d91b0=parseInt(_0x4d41a7(0x15a))/0x1+parseInt(_0x4d41a7(0x188))/0x2+parseInt(_0x4d41a7(0x116))/0x3*(-parseInt(_0x4d41a7(0x182))/0x4)+parseInt(_0x4d41a7(0x18a))/0x5*(-parseInt(_0x4d41a7(0x112))/0x6)+parseInt(_0x4d41a7(0x163))/0x7+parseInt(_0x4d41a7(0x12a))/0x8*(parseInt(_0x4d41a7(0x123))/0x9)+parseInt(_0x4d41a7(0x12d))/0xa;if(_0x5d91b0===_0x2f19e3)break;else _0x4b813a['push'](_0x4b813a['shift']());}catch(_0x434dcd){_0x4b813a['push'](_0x4b813a['shift']());}}}(_0x218a,0x7c9eb));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(_0x569337,_0x25920c=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x457637=_0x3db8,_0x55b831={'gEbAP':function(_0x465da1,_0x2cbf2a){return _0x465da1+_0x2cbf2a;}};return _0x569337['length']>_0x25920c?_0x55b831['gEbAP'](_0x569337[_0x457637(0x129)](0x0,_0x25920c),_0x457637(0x150)):_0x569337;}function buildCliArtifactPath(_0x11c362,_0x2b0a6f){return join(_0x11c362,_0x2b0a6f);}function toStepDisplayName(_0x4d9f1e){const _0x58a415=_0x3db8,_0x2cd5a7={'LulbW':function(_0x4427b0,_0x2d316b){return _0x4427b0(_0x2d316b);}},_0x10df28=basename(_0x4d9f1e)[_0x58a415(0x133)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x58a415(0x133)](/-/g,'\x20');return{'name':_0x10df28,'isKeyStep':/^key_/i[_0x58a415(0x109)](_0x2cd5a7['LulbW'](basename,_0x4d9f1e))};}function _0x218a(){const _0x4eb0f1=['content','lEsKv','fill','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','FdOJM','PicCP','12194OcSKAl','get','\x20open\x20','run\x20custom\x20Playwright\x20code','xjiUV','IiZek','\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','PostToolUse','MQFfR','2980082AYGTuv','tracing-start','sort','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','short','RDVNR','SzMTB','pop','capture\x20step\x20`','session-recording.webm','tracing-stop','JLTAc','open','unaddressedComments','PEbMo','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','GwOxH','wjRMq','YtZNc','pGdbL','\x22,\x20\x22','trace.zip','-\x20[','capture\x20screenshot','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','Reviewer','open\x20','ref\x20','NnkYU','`\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','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','29644WkhSWh','match','\x20open`,\x20then\x20`','aVPIq','isFile','SwBsY','157906qdXqeO','\x20tracing-start`,\x20then\x20`','5pEFQPZ','`:\x20\x22','open\x20new\x20tab','(?:^|\x5cs)','\x20snapshot\x20--filename\x20','phase','check','00_mozilla-homepage.yml','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','createdAt','UHBxu','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','commandArgs','key_04_success-state.png','test','VPGXA','capture\x20snapshot',']\x20**','tool_failure','fill\x20','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','playwright-cli','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','4175088myEUol','tab-new','log','toocH','246jGeDfc','[playwright-cli]\x20','aruDE','`,\x20then\x20`','map','trim','cXVxC','KicDs','zfYmF','CTNGV','notes','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','\x20screenshot\x20--filename\x20','90avavFc','name','tool_call','tool_name','YOXyC','split','slice','50824EpLLgQ','authorName','capture\x20key\x20step\x20`','12335900gFKXfv','domRef','start\x20tracing','trackPhaseStart','`\x0a-\x20`snapshot\x20--filename\x20','press','replace','trace.trace.zip','zIaUi','set','PostToolUseFailure','`\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`','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','cwd','[ranger-verification-agent]\x20','02_learn-more.yml','):\x20\x22','numeric','check\x20','video-stop','kCfcK','press\x20','\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.','push','trackPhaseEnd','`\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`','click','element','`\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`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','RLABE','stringify','LJUhe','tab-select','canonicalFlow','...','select\x20tab\x20','IVZwH','03_learn-more.png'];_0x218a=function(){return _0x4eb0f1;};return _0x218a();}function extractShellValue(_0x268984){if(!_0x268984)return null;return _0x268984[0x1]??_0x268984[0x2]??_0x268984[0x3]??null;}function extractFilenameOption(_0x198579){return extractShellValue(_0x198579['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x211e4c,_0x312a02){const _0xc82802=_0x3db8,_0x135669={'SzMTB':'\x5c$&','XzKFO':function(_0x48da2b,_0x170ed5){return _0x48da2b(_0x170ed5);}},_0x594828=_0x312a02['replace'](/[.*+?^${}()|[\]\\]/g,_0x135669[_0xc82802(0x169)]);return _0x135669['XzKFO'](extractShellValue,_0x211e4c[_0xc82802(0x183)](new RegExp(_0xc82802(0x18d)+_0x594828+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0xd345bc){const _0x416e46=_0x3db8,_0x35b61f={'Mmmnv':function(_0x16c6f6,_0x398aa3,_0x3048d5){return _0x16c6f6(_0x398aa3,_0x3048d5);}};if(!_0xd345bc)return'target';if(/^e\d+$/i[_0x416e46(0x109)](_0xd345bc))return _0x416e46(0x17e)+_0xd345bc;return JSON[_0x416e46(0x14c)](_0x35b61f['Mmmnv'](truncatePreview,_0xd345bc,0x78));}function _0x3db8(_0x95e992,_0x41f106){_0x95e992=_0x95e992-0x103;const _0x218aeb=_0x218a();let _0x3db8da=_0x218aeb[_0x95e992];return _0x3db8da;}function formatPlaywrightCliLog(_0x4d4088,_0x561ff8){const _0x26a541=_0x3db8,_0x5d4851={'PEbMo':function(_0x3bb7ec,_0x2d1486,_0x2ff4e9){return _0x3bb7ec(_0x2d1486,_0x2ff4e9);},'MOLAT':_0x26a541(0x164),'lEsKv':'video-start','YOXyC':'snapshot','SrSnB':function(_0x583420,_0x52f009){return _0x583420(_0x52f009);},'bnbfy':_0x26a541(0x10b),'NnkYU':_0x26a541(0x147),'kKKWF':function(_0x467b98,_0x3431b8,_0x1d69f7){return _0x467b98(_0x3431b8,_0x1d69f7);},'CTNGV':_0x26a541(0x190),'Zhyjf':function(_0x549e60,_0x155a6b,_0x9d3867){return _0x549e60(_0x155a6b,_0x9d3867);},'IiZek':'run-code','ElMUm':_0x26a541(0x15d),'RLABE':_0x26a541(0x18c),'GwOxH':_0x26a541(0x14e),'xVndT':'select\x20tab'};switch(_0x561ff8){case _0x26a541(0x16f):{const _0x5d3c08=_0x5d4851[_0x26a541(0x171)](extractFirstCommandArgument,_0x4d4088,_0x561ff8);return _0x5d3c08?_0x26a541(0x17d)+_0x5d3c08:'open\x20browser';}case _0x5d4851['MOLAT']:return _0x26a541(0x12f);case _0x26a541(0x16d):return'stop\x20tracing';case _0x5d4851[_0x26a541(0x155)]:return'start\x20video\x20recording';case _0x26a541(0x140):return'stop\x20video\x20recording';case _0x5d4851[_0x26a541(0x127)]:{const _0x111414=_0x5d4851['SrSnB'](extractFilenameOption,_0x4d4088);if(!_0x111414)return _0x5d4851['bnbfy'];const {name:_0x34e732}=_0x5d4851['SrSnB'](toStepDisplayName,_0x111414);return'capture\x20snapshot\x20`'+_0x34e732+'`';}case'screenshot':{const _0x225d06=extractFilenameOption(_0x4d4088);if(!_0x225d06)return _0x26a541(0x17a);const {name:_0x5f5c0f,isKeyStep:_0x5d1f73}=toStepDisplayName(_0x225d06);return _0x5d1f73?_0x26a541(0x12c)+_0x5f5c0f+'`':_0x26a541(0x16b)+_0x5f5c0f+'`';}case _0x5d4851[_0x26a541(0x17f)]:return'click\x20'+formatCommandTarget(_0x5d4851['kKKWF'](extractFirstCommandArgument,_0x4d4088,_0x561ff8));case _0x5d4851[_0x26a541(0x11f)]:return _0x26a541(0x13f)+formatCommandTarget(_0x5d4851['Zhyjf'](extractFirstCommandArgument,_0x4d4088,_0x561ff8));case _0x26a541(0x156):return _0x26a541(0x10e)+formatCommandTarget(extractFirstCommandArgument(_0x4d4088,_0x561ff8));case _0x26a541(0x132):return _0x26a541(0x142)+formatCommandTarget(extractFirstCommandArgument(_0x4d4088,_0x561ff8));case _0x5d4851[_0x26a541(0x15f)]:return _0x5d4851['ElMUm'];case _0x26a541(0x113):{const _0x18845c=extractFirstCommandArgument(_0x4d4088,_0x561ff8);return _0x18845c?'open\x20new\x20tab\x20'+_0x18845c:_0x5d4851[_0x26a541(0x14b)];}case _0x5d4851[_0x26a541(0x173)]:{const _0x464eae=_0x5d4851['kKKWF'](extractFirstCommandArgument,_0x4d4088,_0x561ff8);return _0x464eae?_0x26a541(0x151)+_0x464eae:_0x5d4851['xVndT'];}default:return _0x561ff8;}}function extractPlaywrightCliToolDescription(_0x7fdb52){const _0x3b32dc=_0x3db8,_0xe2a0c4={'ZgrHe':function(_0x219534,_0x3fec52){return _0x219534!==_0x3fec52;},'pGdbL':'string','RwJeT':function(_0x5d4912,_0x2862e8){return _0x5d4912>_0x2862e8;}},_0x5cfdc1=_0x7fdb52['description'];if(_0xe2a0c4['ZgrHe'](typeof _0x5cfdc1,_0xe2a0c4[_0x3b32dc(0x176)]))return null;const _0x43fc49=_0x5cfdc1[_0x3b32dc(0x11b)]()['replace'](/\s+/g,'\x20');return _0xe2a0c4['RwJeT'](_0x43fc49['length'],0x0)?_0x43fc49:null;}export function formatPlaywrightCliConsoleLogMessage(_0xd8b6c4,_0x557e60,_0x231b29){const _0x210d3f=_0x3db8,_0x2cfa3f=formatPlaywrightCliLog(_0x557e60,_0x231b29),_0x213010=extractPlaywrightCliToolDescription(_0xd8b6c4);if(!_0x213010)return _0x210d3f(0x117)+_0x2cfa3f;if(process['env']['DEBUG'])return _0x210d3f(0x13b)+_0x213010+'\x20('+_0x2cfa3f+')';return'[ranger-verification-agent]\x20'+_0x213010;}export function buildVerifyFeatureCliDebugPrompt(_0x544748,_0xb1108){const _0x445db1=_0x3db8,_0x4ffd49={'kCfcK':function(_0xf2bc38,_0xeb7ef9,_0x45b1ab){return _0xf2bc38(_0xeb7ef9,_0x45b1ab);},'QMlPS':_0x445db1(0x191),'YtZNc':function(_0x208aba,_0x1be5a1,_0x33631b){return _0x208aba(_0x1be5a1,_0x33631b);},'IVZwH':function(_0x4e6d6b,_0x1d063e){return _0x4e6d6b(_0x1d063e);},'SwBsY':function(_0x1e3a5c,_0x589fce){return _0x1e3a5c(_0x589fce);}},_0x3b74ad=_0x4ffd49[_0x445db1(0x141)](buildCliArtifactPath,_0xb1108,_0x4ffd49['QMlPS']),_0x323777=buildCliArtifactPath(_0xb1108,'01_mozilla-homepage.png'),_0x567d29=_0x4ffd49[_0x445db1(0x175)](buildCliArtifactPath,_0xb1108,_0x445db1(0x13c)),_0xe2dd3a=_0x4ffd49['kCfcK'](buildCliArtifactPath,_0xb1108,_0x445db1(0x153)),_0x550216=_0x4ffd49[_0x445db1(0x152)](quoteShellArg,_0x3b74ad),_0x278ec7=_0x4ffd49[_0x445db1(0x187)](quoteShellArg,_0x323777),_0x3b621c=quoteShellArg(_0x567d29),_0x41dd58=_0x4ffd49['SwBsY'](quoteShellArg,_0xe2dd3a);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x544748+'\x0a\x0a1.\x20Run\x20`'+_0x544748+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x544748+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x544748+_0x445db1(0x103)+_0xb1108+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x544748+_0x445db1(0x18e)+_0x550216+_0x445db1(0x181)+_0x544748+'\x20screenshot\x20--filename\x20'+_0x278ec7+_0x445db1(0x17b)+_0x544748+_0x445db1(0x18e)+_0x3b621c+'`\x0a9.\x20Run\x20`'+_0x544748+_0x445db1(0x122)+_0x41dd58+_0x445db1(0x157);}export function buildVerifyFeatureCliPrompt(_0x3dddda){const _0xd061e3=_0x3db8,_0x5400e5={'diSHY':_0xd061e3(0x13e),'VPGXA':'\x20>\x20','EDLha':function(_0x1c92e0,_0x24d9ce,_0x4c7a4a){return _0x1c92e0(_0x24d9ce,_0x4c7a4a);},'eMEdB':'key_03_success-state.png','sXvgZ':function(_0x18c2d1,_0x180c15){return _0x18c2d1(_0x180c15);},'gRYjJ':function(_0x55694a,_0x523a00,_0x5333f9){return _0x55694a(_0x523a00,_0x5333f9);},'BfMgj':'03_result-visible.png','UCbZV':_0xd061e3(0x108)},{checklistItem:_0x18f36e,itemFeedback:_0x72693,taskDescription:_0x261daf,cliCommandPrefix:_0x24c2e3,cliArtifactDir:_0x4fd721,isCdpMode:_0x569c48,url:_0x5d0615,cdpEndpoint:_0xa14002,loginInstructions:_0x4a424e}=_0x3dddda,_0x4c121d=_0x5400e5['EDLha'](buildCliArtifactPath,_0x4fd721,'01_initial.yml'),_0x571bde=buildCliArtifactPath(_0x4fd721,'02_state.yml'),_0x219eb8=_0x5400e5['EDLha'](buildCliArtifactPath,_0x4fd721,_0x5400e5['eMEdB']),_0x268a4a=buildCliArtifactPath(_0x4fd721,'01_initial-state.png'),_0x2ed033=quoteShellArg(_0x4c121d),_0x3faa48=quoteShellArg(_0x571bde),_0x282ba6=quoteShellArg(_0x219eb8),_0x162995=_0x5400e5['sXvgZ'](quoteShellArg,_0x268a4a),_0x50e80e=_0x18f36e['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x18f36e[_0xd061e3(0x120)]:'';let _0x3fb455='';if(_0x72693&&_0x72693['unaddressedComments']['length']>0x0){const _0x5a9229=_0x72693[_0xd061e3(0x170)][_0xd061e3(0x11a)](_0xb0e927=>{const _0xe064a8=_0xd061e3,_0x35a98d=new Date(_0xb0e927[_0xe064a8(0x104)])['toLocaleDateString']('en-US',{'month':_0xe064a8(0x167),'day':_0x5400e5['diSHY']}),_0x3e7256=_0xb0e927[_0xe064a8(0x12b)]||_0xb0e927['authorEmail']||_0xe064a8(0x17c),_0x4a904d=_0xb0e927[_0xe064a8(0x12e)]?'\x20(on\x20element:\x20<'+(_0xb0e927['domRef']['selector'][_0xe064a8(0x128)](_0x5400e5[_0xe064a8(0x10a)])[_0xe064a8(0x16a)]()?.['split'](':')[0x0]||_0xe064a8(0x148))+'>\x20\x22'+(_0xb0e927['domRef']['textContent']||'')[_0xe064a8(0x129)](0x0,0x32)+'\x22)':'';return _0xe064a8(0x179)+_0xb0e927['id']+_0xe064a8(0x10c)+_0x3e7256+'**\x20('+_0x35a98d+_0xe064a8(0x13d)+_0xb0e927[_0xe064a8(0x154)]+'\x22'+_0x4a904d;})['join']('\x0a');_0x3fb455=_0xd061e3(0x10f)+_0x5a9229;}const _0x4d45dd=_0x72693?.[_0xd061e3(0x14f)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x72693['canonicalFlow']:'',_0x335426=_0x569c48?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0xa14002+_0xd061e3(0x139):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x5d0615+'\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',_0x41ef14=_0x5d0615?quoteShellArg(_0x5d0615):'',_0x32267b=_0x569c48?_0xd061e3(0x172)+_0x24c2e3+_0xd061e3(0x184)+_0x24c2e3+_0xd061e3(0x189)+_0x24c2e3+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4fd721+_0xd061e3(0x14a)+_0x24c2e3+'\x20snapshot\x20--filename\x20'+_0x2ed033+_0xd061e3(0x138)+_0x24c2e3+_0xd061e3(0x122)+_0x162995+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x24c2e3+'\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`'+_0x24c2e3+_0xd061e3(0x15c)+_0x41ef14+_0xd061e3(0x119)+_0x24c2e3+'\x20tracing-start`,\x20then\x20`'+_0x24c2e3+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4fd721+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x24c2e3+_0xd061e3(0x18e)+_0x2ed033+_0xd061e3(0x146)+_0x24c2e3+_0xd061e3(0x122)+_0x162995+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x24c2e3+'\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',_0xafdbb5=_0x569c48?'\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.':_0xd061e3(0x106),_0x2ba9a0=_0x4a424e?_0xd061e3(0x121)+_0x4a424e+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x18f36e['description']+_0x50e80e+_0x3fb455+_0x4d45dd+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x261daf+'\x0a\x0a'+_0x335426+_0x2ba9a0+'\x0a\x0a'+_0x32267b+_0xd061e3(0x111)+_0x24c2e3+_0xd061e3(0x166)+_0x4fd721+_0xd061e3(0x131)+_0x3faa48+_0xd061e3(0x180)+_0x282ba6+_0xd061e3(0x149)+_0x4fd721+_0xd061e3(0x18b)+_0x268a4a+_0xd061e3(0x177)+buildCliArtifactPath(_0x4fd721,'02_button-clicked.png')+_0xd061e3(0x177)+_0x5400e5['gRYjJ'](buildCliArtifactPath,_0x4fd721,_0x5400e5['BfMgj'])+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+buildCliArtifactPath(_0x4fd721,_0x5400e5['UCbZV'])+_0xd061e3(0x160)+_0xafdbb5+_0xd061e3(0x143);}export function summarizeVerifyFeatureCliCommandAvailability(_0x5de1a9){const _0x86ebd7=_0x3db8,_0x450668=[..._0x5de1a9['keys']()][_0x86ebd7(0x165)]();let _0x321d3c=0x0;for(const _0x925aa of _0x5de1a9['values']()){_0x321d3c+=_0x925aa;}return{'cliCommandCount':_0x321d3c,'cliCommandsSeen':_0x450668,'noCliCommandsCalled':_0x321d3c===0x0};}export function createVerifyFeatureCliHooks(_0x3f1956){const _0x252c7c=_0x3db8,_0x2051c0={'Xaxpt':_0x252c7c(0x161),'QLJqj':function(_0x104499,_0x4ef398){return _0x104499!==_0x4ef398;},'PicCP':_0x252c7c(0x110),'cXVxC':function(_0x1c26c4,_0x335a84){return _0x1c26c4!==_0x335a84;},'xjiUV':function(_0x1ce802,_0x3a808b,_0x2b1970,_0x109452){return _0x1ce802(_0x3a808b,_0x2b1970,_0x109452);},'KicDs':_0x252c7c(0x137),'LJUhe':_0x252c7c(0x10d),'aruDE':'Bash'},_0x5987b2=new Map(),_0x31054b=async _0xadb939=>{const _0x5545c0=_0x252c7c;if(_0xadb939['hook_event_name']!==_0x2051c0['Xaxpt'])return{};const _0x1d5270=_0xadb939;if(_0x2051c0['QLJqj'](_0x1d5270[_0x5545c0(0x126)],'Bash'))return{};const _0x2b5801=_0x1d5270['tool_input'],_0x4df085=extractBashCommand(_0x2b5801);if(!_0x4df085)return{};const _0x395e70=parsePlaywrightCliCommand(_0x4df085);if(!_0x395e70)return{};return _0x5987b2[_0x5545c0(0x136)](_0x395e70,(_0x5987b2[_0x5545c0(0x15b)](_0x395e70)||0x0)+0x1),_0x3f1956['trackPhaseStart'](_0x5545c0(0x125),{'transport':_0x2051c0[_0x5545c0(0x159)],'toolName':_0x395e70}),_0x3f1956['trackPhaseEnd']('tool_call',{'transport':'playwright-cli','toolName':_0x395e70,'bashCommandPreview':truncatePreview(_0x4df085)}),_0x2051c0[_0x5545c0(0x11c)](_0x395e70,'snapshot')&&console[_0x5545c0(0x114)](_0x2051c0[_0x5545c0(0x15e)](formatPlaywrightCliConsoleLogMessage,_0x2b5801,_0x4df085,_0x395e70)),{};},_0x3cfa81=async _0x31e271=>{const _0x33227c=_0x252c7c;if(_0x31e271['hook_event_name']!==_0x2051c0[_0x33227c(0x11d)])return{};const _0x1e8d6e=_0x31e271;if(_0x2051c0['cXVxC'](_0x1e8d6e['tool_name'],'Bash'))return{};return await _0x3f1956['trackPhaseError'](_0x2051c0[_0x33227c(0x14d)],_0x1e8d6e['error'],{'transport':_0x33227c(0x110),'toolName':_0x2051c0[_0x33227c(0x118)]}),{};};return{'postToolUseHook':_0x31054b,'postToolUseFailureHook':_0x3cfa81,'commandCounts':_0x5987b2};}async function runPlaywrightCliLifecycleCommand(_0x590253){const _0x3f1146=_0x3db8,_0x41c821={'zIaUi':function(_0x1c8fc5,_0x1ba157){return _0x1c8fc5??_0x1ba157;}},{sessionId:_0x898356,configPath:_0x2746e0,commandArgs:_0x598b38,env:_0x779ff3,telemetry:_0x21619b,phase:_0x4c1d70,metadata:_0x456e56,timeoutMs:_0x11fe0d}=_0x590253;_0x21619b[_0x3f1146(0x130)](_0x4c1d70,_0x456e56);try{const _0x3843e8=await runPlaywrightCliCommand({'sessionId':_0x898356,'configPath':_0x2746e0,'commandArgs':_0x598b38,'cwd':process[_0x3f1146(0x13a)](),'env':_0x779ff3,'timeoutMs':_0x41c821[_0x3f1146(0x135)](_0x11fe0d,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x21619b[_0x3f1146(0x145)](_0x4c1d70,{..._0x456e56,'subcommand':_0x3843e8['invocation']['subcommand'],'stdoutPreview':truncatePreview(_0x3843e8['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x3843e8['stderr'],0x7d0)});}catch(_0x224ffa){await _0x21619b['trackPhaseError'](_0x4c1d70,_0x224ffa,_0x456e56);throw _0x224ffa;}}export async function finalizeVerifyFeatureCliSession(_0x9a881a){const _0x27de4b=_0x3db8,_0x384c2d={'JLTAc':'playwright_cli_video_stop','aVPIq':_0x27de4b(0x140),'wjRMq':function(_0x2fb7a7,_0x5bc6a1,_0x5f411d){return _0x2fb7a7(_0x5bc6a1,_0x5f411d);},'lApEZ':'playwright_cli_close','JtRRA':function(_0x5ab1cf,_0x26645d){return _0x5ab1cf(_0x26645d);}},{telemetry:_0x226223,sessionId:_0x4f4b0b,configPath:_0x329d19,cliArtifactDir:_0x463cbe,env:_0x2cfd0e,transportMetadata:_0x581c8a}=_0x9a881a,_0x4c1309=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x384c2d[_0x27de4b(0x16e)],'commandArgs':[_0x384c2d[_0x27de4b(0x185)],'--filename='+_0x384c2d[_0x27de4b(0x174)](buildCliArtifactPath,_0x463cbe,_0x27de4b(0x16c))]},{'phase':_0x384c2d['lApEZ'],'commandArgs':['close']}];for(const _0x434d20 of _0x4c1309){try{await _0x384c2d['JtRRA'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x4f4b0b,'configPath':_0x329d19,'commandArgs':[..._0x434d20[_0x27de4b(0x107)]],'env':_0x2cfd0e,'telemetry':_0x226223,'phase':_0x434d20[_0x27de4b(0x18f)],'metadata':_0x581c8a});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x2f50da){const _0x2c863e=_0x3db8,_0x14a6e2={'MQFfR':function(_0x2771a1,_0x12f79c,_0x5aa292){return _0x2771a1(_0x12f79c,_0x5aa292);},'toocH':function(_0x53f0b0,_0x1802fc){return _0x53f0b0(_0x1802fc);}},_0x1dae97=[_0x2c863e(0x178),_0x2c863e(0x134)];for(const _0x352012 of _0x1dae97){const _0x4c991a=_0x14a6e2[_0x2c863e(0x162)](join,_0x2f50da,_0x352012);try{return{'buffer':await _0x14a6e2[_0x2c863e(0x115)](readFile,_0x4c991a),'source':_0x4c991a};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x233b0c){const _0x3d075f=_0x3db8,_0x4ffac9={'iejJe':function(_0x141b49,_0x386c57){return _0x141b49(_0x386c57);},'RDVNR':function(_0x5a5b45,_0x1bd2f0){return _0x5a5b45<_0x1bd2f0;},'FdOJM':function(_0x40daf9,_0x21a47a){return _0x40daf9+_0x21a47a;},'UHBxu':function(_0x263fb8,_0x5e7ed4){return _0x263fb8===_0x5e7ed4;},'zfYmF':function(_0x494d11,_0xb2eee9,_0x596f83){return _0x494d11(_0xb2eee9,_0x596f83);}},{cwd:_0xeb9cb2,cliArtifactDir:_0x3c7d70,startTime:_0x573dbc}=_0x233b0c,_0x285a35=[];await mkdir(_0x3c7d70,{'recursive':!![]});const _0x545fc8=await readdir(_0xeb9cb2,{'withFileTypes':!![]});for(const _0x30b7ff of _0x545fc8){if(!_0x30b7ff[_0x3d075f(0x186)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x3d075f(0x109)](_0x30b7ff[_0x3d075f(0x124)]))continue;const _0x1091f8=join(_0xeb9cb2,_0x30b7ff[_0x3d075f(0x124)]),_0x24551f=await _0x4ffac9['iejJe'](stat,_0x1091f8);if(_0x4ffac9[_0x3d075f(0x168)](_0x4ffac9[_0x3d075f(0x158)](_0x24551f['mtimeMs'],0x7d0),_0x573dbc))continue;const _0x260766=buildCliArtifactPath(_0x3c7d70,_0x30b7ff['name']);if(_0x4ffac9[_0x3d075f(0x105)](_0x1091f8,_0x260766))continue;await _0x4ffac9[_0x3d075f(0x11e)](rename,_0x1091f8,_0x260766),_0x285a35[_0x3d075f(0x144)](_0x30b7ff[_0x3d075f(0x124)]);}return _0x285a35['sort']();}
|
|
1
|
+
(function(_0x469b2e,_0x2b8d60){const _0x459271=_0x26f0,_0x2115f1=_0x469b2e();while(!![]){try{const _0x125889=-parseInt(_0x459271(0x1cd))/0x1*(-parseInt(_0x459271(0x234))/0x2)+parseInt(_0x459271(0x21f))/0x3+parseInt(_0x459271(0x1fd))/0x4*(parseInt(_0x459271(0x24f))/0x5)+-parseInt(_0x459271(0x201))/0x6+parseInt(_0x459271(0x1e4))/0x7*(-parseInt(_0x459271(0x1d4))/0x8)+parseInt(_0x459271(0x1d6))/0x9+parseInt(_0x459271(0x1e3))/0xa*(-parseInt(_0x459271(0x1de))/0xb);if(_0x125889===_0x2b8d60)break;else _0x2115f1['push'](_0x2115f1['shift']());}catch(_0x4eef2d){_0x2115f1['push'](_0x2115f1['shift']());}}}(_0x1bdf,0xdf67e));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(_0x1e2586,_0x349b04=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x542adf=_0x26f0,_0x258cef={'AOtVK':function(_0x3ebbb5,_0x2fbc4c){return _0x3ebbb5+_0x2fbc4c;}};return _0x1e2586['length']>_0x349b04?_0x258cef['AOtVK'](_0x1e2586['slice'](0x0,_0x349b04),_0x542adf(0x243)):_0x1e2586;}function buildCliArtifactPath(_0x21efe5,_0x569c83){return join(_0x21efe5,_0x569c83);}function toStepDisplayName(_0x5bc708){const _0x6e215=_0x26f0,_0x2eddeb={'sqMNM':function(_0x3b0165,_0x54567c){return _0x3b0165(_0x54567c);}},_0x208d8a=basename(_0x5bc708)[_0x6e215(0x23c)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x208d8a,'isKeyStep':/^key_/i[_0x6e215(0x24b)](_0x2eddeb[_0x6e215(0x20e)](basename,_0x5bc708))};}function extractShellValue(_0x2dab47){if(!_0x2dab47)return null;return _0x2dab47[0x1]??_0x2dab47[0x2]??_0x2dab47[0x3]??null;}function _0x1bdf(){const _0x3f66a6=['Bash','test','QjREx','select\x20tab','length','695ENRVEX','commandArgs','\x20screenshot\x20--filename\x20','open\x20new\x20tab','description','session-recording.webm','stop\x20video\x20recording','iNXYX','qSuUx','domRef','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','[ranger-verification-agent]\x20','PostToolUse','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','stringify','JeHcQ','capture\x20screenshot','authorEmail','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','CUuhX','SbmFH','1aJkckc','joUVJ','EApcI','):\x20\x22','\x20>\x20','CFrgl','01_mozilla-homepage.png','8cjhSHx','\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','8146926JRCzMH','open','01_initial.yml','click','GVidF','fill','`\x0a9.\x20Run\x20`','run\x20custom\x20Playwright\x20code','2409GHkDmR','CurRx','vnEkW','env','tool_failure','4850mwLhEx','2629417AHZKUt','press\x20','trackPhaseEnd','en-US','tracing-stop','.\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','mtimeMs','MWOHe','open\x20browser','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','GRJyQ','ZNOyp','tool_call','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','02_learn-more.yml','rLYKJ','03_result-visible.png','split','unaddressedComments','isFile','element','02_state.yml','createdAt','content','12164PDhotv','\x20open`,\x20then\x20`','trim','set','6645666kuTEsz','WqdHo','01_initial-state.png','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','yCMPO','ymhiQ','trace.trace.zip','SBiPG','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','string','`\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`','ucOqR','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','sqMNM','trackPhaseError','oGZCz','tracing-start','hSMus','\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.','vkNer',']\x20**','\x20snapshot\x20--filename\x20','cnPrN','-\x20[','qfxle','authorName','match','trackPhaseStart','\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','jwxlO','3369801lmPmDB','**\x20(','EdGSr','`\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`','phase','icMzz','click\x20','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','textContent','press','check','trace.zip','video-stop','\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','OQbWe','pop','\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.','ktiUZ','MlvFW','DVcEs','\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','106694PHcrgl','name','short','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','UoCxr','playwright_cli_close','snapshot','gfqAr','replace','values','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\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`','\x0a\x0a##\x20Additional\x20Notes\x0a','run-code','[playwright-cli]\x20','...','QbnTO','tool_name','LTuXP','open\x20new\x20tab\x20','fill\x20','keys'];_0x1bdf=function(){return _0x3f66a6;};return _0x1bdf();}function extractFilenameOption(_0x285902){const _0x19ab4a=_0x26f0;return extractShellValue(_0x285902[_0x19ab4a(0x21b)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x41f8f1,_0x12844f){const _0x3e40aa=_0x12844f['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x41f8f1['match'](new RegExp('(?:^|\x5cs)'+_0x3e40aa+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x50484b){const _0x17c6ff=_0x26f0;if(!_0x50484b)return'target';if(/^e\d+$/i[_0x17c6ff(0x24b)](_0x50484b))return'ref\x20'+_0x50484b;return JSON[_0x17c6ff(0x25d)](truncatePreview(_0x50484b,0x78));}function formatPlaywrightCliLog(_0x4d1b9b,_0x43a5e4){const _0x2905af=_0x26f0,_0x4fed94={'ucOqR':function(_0x1d32cd,_0x309676,_0x5b416b){return _0x1d32cd(_0x309676,_0x5b416b);},'JeHcQ':'stop\x20tracing','MhZPE':'start\x20video\x20recording','OQbWe':_0x2905af(0x255),'WqdHo':function(_0x362024,_0x292039){return _0x362024(_0x292039);},'rLYKJ':'screenshot','oDtHh':function(_0x48e500,_0x2e52b8){return _0x48e500(_0x2e52b8);},'mBlzH':function(_0x34f211,_0x557416,_0x29dcfa){return _0x34f211(_0x557416,_0x29dcfa);},'GRJyQ':function(_0xfca10b,_0x382d5f,_0x40361a){return _0xfca10b(_0x382d5f,_0x40361a);}};switch(_0x43a5e4){case _0x2905af(0x1d7):{const _0x29f1ca=_0x4fed94['ucOqR'](extractFirstCommandArgument,_0x4d1b9b,_0x43a5e4);return _0x29f1ca?'open\x20'+_0x29f1ca:_0x2905af(0x1ed);}case _0x2905af(0x211):return'start\x20tracing';case _0x2905af(0x1e8):return _0x4fed94[_0x2905af(0x25e)];case'video-start':return _0x4fed94['MhZPE'];case _0x2905af(0x22b):return _0x4fed94[_0x2905af(0x22d)];case _0x2905af(0x23a):{const _0x406518=_0x4fed94['WqdHo'](extractFilenameOption,_0x4d1b9b);if(!_0x406518)return'capture\x20snapshot';const {name:_0xdbd23}=toStepDisplayName(_0x406518);return'capture\x20snapshot\x20`'+_0xdbd23+'`';}case _0x4fed94[_0x2905af(0x1f4)]:{const _0x147f8d=_0x4fed94[_0x2905af(0x202)](extractFilenameOption,_0x4d1b9b);if(!_0x147f8d)return _0x2905af(0x25f);const {name:_0x5aab4a,isKeyStep:_0xa11f6d}=_0x4fed94['oDtHh'](toStepDisplayName,_0x147f8d);return _0xa11f6d?'capture\x20key\x20step\x20`'+_0x5aab4a+'`':'capture\x20step\x20`'+_0x5aab4a+'`';}case _0x2905af(0x1d9):return _0x2905af(0x225)+formatCommandTarget(_0x4fed94[_0x2905af(0x20c)](extractFirstCommandArgument,_0x4d1b9b,_0x43a5e4));case _0x2905af(0x229):return'check\x20'+formatCommandTarget(_0x4fed94['ucOqR'](extractFirstCommandArgument,_0x4d1b9b,_0x43a5e4));case _0x2905af(0x1db):return _0x2905af(0x248)+formatCommandTarget(_0x4fed94['mBlzH'](extractFirstCommandArgument,_0x4d1b9b,_0x43a5e4));case _0x2905af(0x228):return _0x2905af(0x1e5)+formatCommandTarget(_0x4fed94['GRJyQ'](extractFirstCommandArgument,_0x4d1b9b,_0x43a5e4));case _0x2905af(0x241):return _0x2905af(0x1dd);case'tab-new':{const _0x89adb8=_0x4fed94[_0x2905af(0x1ef)](extractFirstCommandArgument,_0x4d1b9b,_0x43a5e4);return _0x89adb8?_0x2905af(0x247)+_0x89adb8:_0x2905af(0x252);}case'tab-select':{const _0xef021=extractFirstCommandArgument(_0x4d1b9b,_0x43a5e4);return _0xef021?'select\x20tab\x20'+_0xef021:_0x2905af(0x24d);}default:return _0x43a5e4;}}function extractPlaywrightCliToolDescription(_0x532c67){const _0x38dfda=_0x26f0,_0x452a1f={'qfxle':function(_0x2f1f50,_0x473046){return _0x2f1f50!==_0x473046;},'qSuUx':function(_0x29d40a,_0x27f57d){return _0x29d40a>_0x27f57d;}},_0x397039=_0x532c67[_0x38dfda(0x253)];if(_0x452a1f[_0x38dfda(0x219)](typeof _0x397039,_0x38dfda(0x20a)))return null;const _0x3a3cd2=_0x397039[_0x38dfda(0x1ff)]()['replace'](/\s+/g,'\x20');return _0x452a1f[_0x38dfda(0x257)](_0x3a3cd2['length'],0x0)?_0x3a3cd2:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4f7134,_0x5199e4,_0x55d11c){const _0x54a670=_0x26f0,_0x35f702={'QjREx':function(_0xb74742,_0x556741,_0x16f9c6){return _0xb74742(_0x556741,_0x16f9c6);},'yCMPO':function(_0x52c8b1,_0x5a519d){return _0x52c8b1(_0x5a519d);}},_0xf95fef=_0x35f702[_0x54a670(0x24c)](formatPlaywrightCliLog,_0x5199e4,_0x55d11c),_0x5eddcf=_0x35f702[_0x54a670(0x205)](extractPlaywrightCliToolDescription,_0x4f7134);if(!_0x5eddcf)return _0x54a670(0x242)+_0xf95fef;if(process[_0x54a670(0x1e1)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x5eddcf+'\x20('+_0xf95fef+')';return _0x54a670(0x25a)+_0x5eddcf;}export function buildVerifyFeatureCliDebugPrompt(_0x5550df,_0x160b5e){const _0x4ab73a=_0x26f0,_0xba3999={'SBiPG':function(_0x44c02a,_0x5b901b,_0x56799f){return _0x44c02a(_0x5b901b,_0x56799f);},'vnEkW':_0x4ab73a(0x1d3),'OCOGV':function(_0xed99e0,_0x50df55,_0x5f73e){return _0xed99e0(_0x50df55,_0x5f73e);},'ymhiQ':function(_0x6bea4b,_0x7e8c66){return _0x6bea4b(_0x7e8c66);},'vkNer':function(_0x249765,_0x58227b){return _0x249765(_0x58227b);}},_0x27deca=_0xba3999[_0x4ab73a(0x208)](buildCliArtifactPath,_0x160b5e,'00_mozilla-homepage.yml'),_0x2fef4b=_0xba3999['SBiPG'](buildCliArtifactPath,_0x160b5e,_0xba3999[_0x4ab73a(0x1e0)]),_0x592ed2=_0xba3999['SBiPG'](buildCliArtifactPath,_0x160b5e,_0x4ab73a(0x1f3)),_0x416607=_0xba3999['OCOGV'](buildCliArtifactPath,_0x160b5e,'03_learn-more.png'),_0x59a633=quoteShellArg(_0x27deca),_0x9eac7b=_0xba3999[_0x4ab73a(0x206)](quoteShellArg,_0x2fef4b),_0x1b8b8a=_0xba3999[_0x4ab73a(0x214)](quoteShellArg,_0x592ed2),_0x235e6b=quoteShellArg(_0x416607);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x5550df+'\x0a\x0a1.\x20Run\x20`'+_0x5550df+_0x4ab73a(0x1ca)+_0x5550df+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x5550df+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x160b5e+_0x4ab73a(0x1ee)+_0x5550df+_0x4ab73a(0x216)+_0x59a633+_0x4ab73a(0x20d)+_0x5550df+'\x20screenshot\x20--filename\x20'+_0x9eac7b+_0x4ab73a(0x226)+_0x5550df+'\x20snapshot\x20--filename\x20'+_0x1b8b8a+_0x4ab73a(0x1dc)+_0x5550df+_0x4ab73a(0x251)+_0x235e6b+_0x4ab73a(0x25c);}export function buildVerifyFeatureCliPrompt(_0x5cd4d1){const _0x3f3b61=_0x26f0,_0x58de63={'hSMus':_0x3f3b61(0x1e7),'facyf':_0x3f3b61(0x236),'EUAjO':'numeric','MlvFW':'Reviewer','ktiUZ':function(_0x255c32,_0x45fb1d,_0x231f84){return _0x255c32(_0x45fb1d,_0x231f84);},'iNXYX':function(_0x3b1ea7,_0x123eb4){return _0x3b1ea7(_0x123eb4);},'bOlxN':function(_0x3b3f15,_0x8e5037){return _0x3b3f15>_0x8e5037;},'CFrgl':function(_0x50fcff,_0x1fb8d6){return _0x50fcff(_0x1fb8d6);},'CurRx':'02_button-clicked.png','OskzB':function(_0x22b234,_0x5b5ed0,_0x546e01){return _0x22b234(_0x5b5ed0,_0x546e01);},'bugBC':_0x3f3b61(0x1f5)},{checklistItem:_0x29178c,itemFeedback:_0x326d81,taskDescription:_0x13ff61,cliCommandPrefix:_0x1959df,cliArtifactDir:_0xc69a78,isCdpMode:_0x5115c9,url:_0x333f77,cdpEndpoint:_0x294e0c,loginInstructions:_0x162ae1}=_0x5cd4d1,_0x5f2e26=buildCliArtifactPath(_0xc69a78,_0x3f3b61(0x1d8)),_0x2a3915=buildCliArtifactPath(_0xc69a78,_0x3f3b61(0x1fa)),_0x4ddbbc=_0x58de63['ktiUZ'](buildCliArtifactPath,_0xc69a78,'key_03_success-state.png'),_0x3a220d=buildCliArtifactPath(_0xc69a78,_0x3f3b61(0x203)),_0x8b4a55=quoteShellArg(_0x5f2e26),_0x440383=quoteShellArg(_0x2a3915),_0x37b269=_0x58de63[_0x3f3b61(0x256)](quoteShellArg,_0x4ddbbc),_0x5a801e=_0x58de63['iNXYX'](quoteShellArg,_0x3a220d),_0x256b06=_0x29178c['notes']?_0x3f3b61(0x240)+_0x29178c['notes']:'';let _0x4ff6bb='';if(_0x326d81&&_0x58de63['bOlxN'](_0x326d81[_0x3f3b61(0x1f7)][_0x3f3b61(0x24e)],0x0)){const _0x1c7e05=_0x326d81['unaddressedComments']['map'](_0x11532a=>{const _0x4bade9=_0x3f3b61,_0x1dd9a2=new Date(_0x11532a[_0x4bade9(0x1fb)])['toLocaleDateString'](_0x58de63[_0x4bade9(0x212)],{'month':_0x58de63['facyf'],'day':_0x58de63['EUAjO']}),_0x4a37a9=_0x11532a[_0x4bade9(0x21a)]||_0x11532a[_0x4bade9(0x260)]||_0x58de63[_0x4bade9(0x231)],_0x109057=_0x11532a[_0x4bade9(0x258)]?'\x20(on\x20element:\x20<'+(_0x11532a['domRef']['selector'][_0x4bade9(0x1f6)](_0x4bade9(0x1d1))[_0x4bade9(0x22e)]()?.['split'](':')[0x0]||_0x4bade9(0x1f9))+'>\x20\x22'+(_0x11532a[_0x4bade9(0x258)][_0x4bade9(0x227)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x4bade9(0x218)+_0x11532a['id']+_0x4bade9(0x215)+_0x4a37a9+_0x4bade9(0x220)+_0x1dd9a2+_0x4bade9(0x1d0)+_0x11532a[_0x4bade9(0x1fc)]+'\x22'+_0x109057;})['join']('\x0a');_0x4ff6bb=_0x3f3b61(0x233)+_0x1c7e05;}const _0x20b26a=_0x326d81?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x326d81['canonicalFlow']:'',_0x5a3de5=_0x5115c9?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x294e0c+_0x3f3b61(0x1e9):_0x3f3b61(0x1ea)+_0x333f77+_0x3f3b61(0x22c),_0x59d4bb=_0x333f77?_0x58de63[_0x3f3b61(0x1d2)](quoteShellArg,_0x333f77):'',_0x2096ff=_0x5115c9?_0x3f3b61(0x23e)+_0x1959df+_0x3f3b61(0x1fe)+_0x1959df+'\x20tracing-start`,\x20then\x20`'+_0x1959df+_0x3f3b61(0x209)+_0xc69a78+_0x3f3b61(0x237)+_0x1959df+_0x3f3b61(0x216)+_0x8b4a55+_0x3f3b61(0x23f)+_0x1959df+_0x3f3b61(0x251)+_0x5a801e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x1959df+_0x3f3b61(0x21d):_0x3f3b61(0x23e)+_0x1959df+'\x20open\x20'+_0x59d4bb+'`,\x20then\x20`'+_0x1959df+'\x20tracing-start`,\x20then\x20`'+_0x1959df+_0x3f3b61(0x209)+_0xc69a78+_0x3f3b61(0x237)+_0x1959df+'\x20snapshot\x20--filename\x20'+_0x8b4a55+_0x3f3b61(0x222)+_0x1959df+_0x3f3b61(0x251)+_0x5a801e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x1959df+'\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',_0x106ba5=_0x5115c9?_0x3f3b61(0x213):'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0xa58776=_0x162ae1?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x162ae1+'\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 _0x3f3b61(0x204)+_0x29178c[_0x3f3b61(0x253)]+_0x256b06+_0x4ff6bb+_0x20b26a+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x13ff61+'\x0a\x0a'+_0x5a3de5+_0xa58776+'\x0a\x0a'+_0x2096ff+_0x3f3b61(0x259)+_0x1959df+_0x3f3b61(0x1f2)+_0xc69a78+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x440383+'`\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'+_0x37b269+_0x3f3b61(0x20b)+_0xc69a78+'`:\x20\x22'+_0x3a220d+'\x22,\x20\x22'+_0x58de63[_0x3f3b61(0x230)](buildCliArtifactPath,_0xc69a78,_0x58de63[_0x3f3b61(0x1df)])+'\x22,\x20\x22'+_0x58de63['OskzB'](buildCliArtifactPath,_0xc69a78,_0x58de63['bugBC'])+_0x3f3b61(0x1d5)+buildCliArtifactPath(_0xc69a78,'key_04_success-state.png')+'\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'+_0x106ba5+_0x3f3b61(0x22f);}export function summarizeVerifyFeatureCliCommandAvailability(_0x15d0c0){const _0x306dd4=_0x26f0,_0x27b0b9=[..._0x15d0c0[_0x306dd4(0x249)]()]['sort']();let _0x239ff8=0x0;for(const _0x2fce20 of _0x15d0c0[_0x306dd4(0x23d)]()){_0x239ff8+=_0x2fce20;}return{'cliCommandCount':_0x239ff8,'cliCommandsSeen':_0x27b0b9,'noCliCommandsCalled':_0x239ff8===0x0};}export function createVerifyFeatureCliHooks(_0x38ac90){const _0x50b84f=_0x26f0,_0x3c4b54={'icMzz':_0x50b84f(0x25b),'QbnTO':function(_0x16c23d,_0x425986){return _0x16c23d(_0x425986);},'YDhcJ':_0x50b84f(0x1f1),'kNMmz':'playwright-cli','gfqAr':function(_0xd403a5,_0x1956e7,_0x1ef58c,_0x2a5d7d){return _0xd403a5(_0x1956e7,_0x1ef58c,_0x2a5d7d);},'MWOHe':'PostToolUseFailure','oGZCz':function(_0x1d274e,_0x47ebb9){return _0x1d274e!==_0x47ebb9;},'mUDHK':_0x50b84f(0x1e2)},_0x1df119=new Map(),_0x11a6ba=async _0x124e2c=>{const _0x288928=_0x50b84f;if(_0x124e2c['hook_event_name']!==_0x3c4b54[_0x288928(0x224)])return{};const _0x557432=_0x124e2c;if(_0x557432['tool_name']!==_0x288928(0x24a))return{};const _0x2cc94f=_0x557432['tool_input'],_0xe8c924=_0x3c4b54['QbnTO'](extractBashCommand,_0x2cc94f);if(!_0xe8c924)return{};const _0x16b7ed=_0x3c4b54[_0x288928(0x244)](parsePlaywrightCliCommand,_0xe8c924);if(!_0x16b7ed)return{};return _0x1df119[_0x288928(0x200)](_0x16b7ed,(_0x1df119['get'](_0x16b7ed)||0x0)+0x1),_0x38ac90[_0x288928(0x21c)]('tool_call',{'transport':'playwright-cli','toolName':_0x16b7ed}),_0x38ac90['trackPhaseEnd'](_0x3c4b54['YDhcJ'],{'transport':_0x3c4b54['kNMmz'],'toolName':_0x16b7ed,'bashCommandPreview':truncatePreview(_0xe8c924)}),_0x16b7ed!==_0x288928(0x23a)&&console['log'](_0x3c4b54[_0x288928(0x23b)](formatPlaywrightCliConsoleLogMessage,_0x2cc94f,_0xe8c924,_0x16b7ed)),{};},_0x58369b=async _0x551e19=>{const _0x3da5b1=_0x50b84f;if(_0x551e19['hook_event_name']!==_0x3c4b54[_0x3da5b1(0x1ec)])return{};const _0x2e4204=_0x551e19;if(_0x3c4b54[_0x3da5b1(0x210)](_0x2e4204[_0x3da5b1(0x245)],_0x3da5b1(0x24a)))return{};return await _0x38ac90['trackPhaseError'](_0x3c4b54['mUDHK'],_0x2e4204['error'],{'transport':'playwright-cli','toolName':'Bash'}),{};};return{'postToolUseHook':_0x11a6ba,'postToolUseFailureHook':_0x58369b,'commandCounts':_0x1df119};}async function runPlaywrightCliLifecycleCommand(_0xade7ec){const _0x410e8a=_0x26f0,_0x5df0af={'jwxlO':function(_0x1492cf,_0x34e266){return _0x1492cf??_0x34e266;},'SbmFH':function(_0x16d5b3,_0x36d314,_0x1fa600){return _0x16d5b3(_0x36d314,_0x1fa600);},'CUuhX':function(_0x595d40,_0x4bbe5b,_0x31aa0b){return _0x595d40(_0x4bbe5b,_0x31aa0b);}},{sessionId:_0x375ec5,configPath:_0x43ce9d,commandArgs:_0x329f10,env:_0x9e15e8,telemetry:_0x17e2ed,phase:_0x62478,metadata:_0xaa1a5b,timeoutMs:_0x212917}=_0xade7ec;_0x17e2ed[_0x410e8a(0x21c)](_0x62478,_0xaa1a5b);try{const _0x2ba9b1=await runPlaywrightCliCommand({'sessionId':_0x375ec5,'configPath':_0x43ce9d,'commandArgs':_0x329f10,'cwd':process['cwd'](),'env':_0x9e15e8,'timeoutMs':_0x5df0af[_0x410e8a(0x21e)](_0x212917,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x17e2ed[_0x410e8a(0x1e6)](_0x62478,{..._0xaa1a5b,'subcommand':_0x2ba9b1['invocation']['subcommand'],'stdoutPreview':_0x5df0af[_0x410e8a(0x1cc)](truncatePreview,_0x2ba9b1['stdout'],0x7d0),'stderrPreview':_0x5df0af[_0x410e8a(0x1cb)](truncatePreview,_0x2ba9b1['stderr'],0x7d0)});}catch(_0x11545e){await _0x17e2ed[_0x410e8a(0x20f)](_0x62478,_0x11545e,_0xaa1a5b);throw _0x11545e;}}export async function finalizeVerifyFeatureCliSession(_0x3b9e6c){const _0x284010=_0x26f0,_0x5b3900={'EdGSr':'playwright_cli_tracing_stop','EApcI':_0x284010(0x1e8),'ZNOyp':_0x284010(0x254),'FUlSk':function(_0x3d1e44,_0x2d0bf0){return _0x3d1e44(_0x2d0bf0);}},{telemetry:_0x2cd80a,sessionId:_0x50643b,configPath:_0x1a9a6e,cliArtifactDir:_0x2f3b0c,env:_0x2ef489,transportMetadata:_0xc67560}=_0x3b9e6c,_0xfbe489=[{'phase':_0x5b3900[_0x284010(0x221)],'commandArgs':[_0x5b3900[_0x284010(0x1cf)]]},{'phase':'playwright_cli_video_stop','commandArgs':[_0x284010(0x22b),'--filename='+buildCliArtifactPath(_0x2f3b0c,_0x5b3900[_0x284010(0x1f0)])]},{'phase':_0x284010(0x239),'commandArgs':['close']}];for(const _0x6ad159 of _0xfbe489){try{await _0x5b3900['FUlSk'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x50643b,'configPath':_0x1a9a6e,'commandArgs':[..._0x6ad159[_0x284010(0x250)]],'env':_0x2ef489,'telemetry':_0x2cd80a,'phase':_0x6ad159[_0x284010(0x223)],'metadata':_0xc67560});}catch{}}}function _0x26f0(_0x3dbc7c,_0x13e89e){_0x3dbc7c=_0x3dbc7c-0x1ca;const _0x1bdf93=_0x1bdf();let _0x26f0dd=_0x1bdf93[_0x3dbc7c];return _0x26f0dd;}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x2d0ae7){const _0x24cb96=_0x26f0,_0x11b5ff={'joUVJ':function(_0x44888c,_0x39e208,_0x5ee2c0){return _0x44888c(_0x39e208,_0x5ee2c0);},'DVcEs':function(_0x2b3b42,_0x5345ab){return _0x2b3b42(_0x5345ab);}},_0x1cf4e8=[_0x24cb96(0x22a),_0x24cb96(0x207)];for(const _0x5c118f of _0x1cf4e8){const _0x3ce627=_0x11b5ff[_0x24cb96(0x1ce)](join,_0x2d0ae7,_0x5c118f);try{return{'buffer':await _0x11b5ff[_0x24cb96(0x232)](readFile,_0x3ce627),'source':_0x3ce627};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x5a04dd){const _0x522e1d=_0x26f0,_0x8c0d30={'UoCxr':function(_0x14b4fd,_0x3bd5de,_0x4de6f9){return _0x14b4fd(_0x3bd5de,_0x4de6f9);},'LTuXP':function(_0x4b500c,_0x19b41e){return _0x4b500c(_0x19b41e);},'GVidF':function(_0x3c298a,_0x7ba02f){return _0x3c298a+_0x7ba02f;},'cnPrN':function(_0x252b21,_0x2cbef6){return _0x252b21===_0x2cbef6;}},{cwd:_0x5e6d83,cliArtifactDir:_0x1c57a9,startTime:_0x3e5970}=_0x5a04dd,_0x1a7e10=[];await _0x8c0d30[_0x522e1d(0x238)](mkdir,_0x1c57a9,{'recursive':!![]});const _0x408c01=await _0x8c0d30[_0x522e1d(0x238)](readdir,_0x5e6d83,{'withFileTypes':!![]});for(const _0x51b745 of _0x408c01){if(!_0x51b745[_0x522e1d(0x1f8)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x51b745['name']))continue;const _0x3d1292=join(_0x5e6d83,_0x51b745['name']),_0x31158f=await _0x8c0d30[_0x522e1d(0x246)](stat,_0x3d1292);if(_0x8c0d30[_0x522e1d(0x1da)](_0x31158f[_0x522e1d(0x1eb)],0x7d0)<_0x3e5970)continue;const _0x314c20=buildCliArtifactPath(_0x1c57a9,_0x51b745[_0x522e1d(0x235)]);if(_0x8c0d30[_0x522e1d(0x217)](_0x3d1292,_0x314c20))continue;await rename(_0x3d1292,_0x314c20),_0x1a7e10['push'](_0x51b745['name']);}return _0x1a7e10['sort']();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x120ed1=_0x19c7;(function(_0x16910e,_0x5e1380){const _0x3113ba=_0x19c7,_0x5fd737=_0x16910e();while(!![]){try{const _0x59a7e0=parseInt(_0x3113ba(0x25a))/0x1+-parseInt(_0x3113ba(0x2b2))/0x2*(parseInt(_0x3113ba(0x1d9))/0x3)+-parseInt(_0x3113ba(0x274))/0x4+-parseInt(_0x3113ba(0x258))/0x5+parseInt(_0x3113ba(0x254))/0x6+-parseInt(_0x3113ba(0x269))/0x7+parseInt(_0x3113ba(0x292))/0x8;if(_0x59a7e0===_0x5e1380)break;else _0x5fd737['push'](_0x5fd737['shift']());}catch(_0x5297f2){_0x5fd737['push'](_0x5fd737['shift']());}}}(_0x1700,0xe6670));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';function _0x19c7(_0x5878d8,_0x451b6f){_0x5878d8=_0x5878d8-0x1d9;const _0x17004f=_0x1700();let _0x19c7ce=_0x17004f[_0x5878d8];return _0x19c7ce;}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([_0x120ed1(0x2b3),_0x120ed1(0x2bb),'verify','ask','goto','wait-for',_0x120ed1(0x222),_0x120ed1(0x297)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x10126d,_0x11a7a8){const _0x53a9fd=_0x120ed1,_0x2fde3c={'ktTIK':function(_0x29fba4,_0x9f3293,_0x157fab){return _0x29fba4(_0x9f3293,_0x157fab);}};return _0x2fde3c[_0x53a9fd(0x213)](join,_0x10126d,_0x11a7a8);}export class NovaActArtifactRecorder{['params'];[_0x120ed1(0x223)]=null;[_0x120ed1(0x2b8)]=null;['frameSession']=null;['frameWrites']=[];['frameCount']=0x0;[_0x120ed1(0x26e)]=0x0;['traceSampleTimer']=null;[_0x120ed1(0x2a4)]=null;['tracingStarted']=![];[_0x120ed1(0x284)]=![];[_0x120ed1(0x2b0)]=![];['stopped']=![];constructor(_0x1cfaea){const _0x3689ec=_0x120ed1;this[_0x3689ec(0x1ed)]=_0x1cfaea;}async[_0x120ed1(0x220)](){const _0x773f78=_0x120ed1,_0x4bc3f8={'toXPr':'nova_act_artifact_recording'};if(this['startAttempted'])return;this[_0x773f78(0x2b0)]=!![];const _0x20eefe=await this['readSessionMetadataWithRetry'](),_0x3ffc6a=_0x20eefe[_0x773f78(0x2a5)];if(!_0x3ffc6a)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x773f78(0x1ed)]['novaOptions'][_0x773f78(0x1e9)]);await mkdir(this[_0x773f78(0x1ed)][_0x773f78(0x1e1)],{'recursive':!![]}),this[_0x773f78(0x223)]=await chromium['connectOverCDP'](_0x3ffc6a,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x773f78(0x223)]['contexts']()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this[_0x773f78(0x2b8)][_0x773f78(0x286)][_0x773f78(0x220)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this['startTraceSampling'](),await this[_0x773f78(0x2af)](),this['params']['telemetry'][_0x773f78(0x201)](_0x773f78(0x234),{...this[_0x773f78(0x1ed)][_0x773f78(0x246)],'cdpEndpoint':_0x3ffc6a,'browserPid':_0x20eefe['browser_pid'],'sessionState':_0x20eefe['state']}),this['params'][_0x773f78(0x206)][_0x773f78(0x23c)](_0x4bc3f8[_0x773f78(0x1e4)],{...this[_0x773f78(0x1ed)]['transportMetadata'],'tracingStarted':this[_0x773f78(0x25b)],'screencastStarted':this['screencastStarted']});}async[_0x120ed1(0x1f1)](){const _0x196390=_0x120ed1,_0x55e29b={'tqRrf':'nova_act_artifact_recording_stop'};if(this[_0x196390(0x226)])return;this['stopped']=!![];const _0xb4a36b={...this['params']['transportMetadata'],'frameCount':this[_0x196390(0x231)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x196390(0x25b)],'screencastStarted':this['screencastStarted']};this['params'][_0x196390(0x206)][_0x196390(0x201)](_0x196390(0x22c),_0xb4a36b);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise[_0x196390(0x2a1)](this['frameWrites']);this['context']&&this['tracingStarted']&&await this['context'][_0x196390(0x286)][_0x196390(0x1f1)]({'path':buildCliArtifactPath(this[_0x196390(0x1ed)]['cliArtifactDir'],_0x196390(0x208))});const _0x4355f7=await this['encodeScreencastVideo']();this[_0x196390(0x1ed)][_0x196390(0x206)][_0x196390(0x23c)](_0x55e29b[_0x196390(0x20e)],{..._0xb4a36b,'videoPath':_0x4355f7});}catch(_0x57a2ad){await this['params']['telemetry']['trackPhaseError'](_0x55e29b[_0x196390(0x20e)],_0x57a2ad,_0xb4a36b);}finally{await this[_0x196390(0x223)]?.['close']()['catch'](()=>undefined),this[_0x196390(0x223)]=null,this[_0x196390(0x2b8)]=null,this[_0x196390(0x249)]=null;}}async[_0x120ed1(0x251)](){const _0x3090b9=_0x120ed1,_0x1154a6={'GwKxJ':function(_0x2b253d,_0x4cebf2,_0x357e37,_0x34139d,_0x1d6bc3,_0x366bfc){return _0x2b253d(_0x4cebf2,_0x357e37,_0x34139d,_0x1d6bc3,_0x366bfc);},'xvLXg':function(_0x6d6739){return _0x6d6739();},'uqLls':_0x3090b9(0x299),'ZFcYd':'sessions','eMyGV':function(_0x270036,_0x4bd289,_0x4c89db){return _0x270036(_0x4bd289,_0x4c89db);},'pYauk':'utf-8','tIUzs':function(_0x201186,_0x5aa343){return _0x201186(_0x5aa343);},'zDeIR':function(_0x17ebb3,_0x2e514e){return _0x17ebb3 instanceof _0x2e514e;}},_0x3e4203=_0x1154a6[_0x3090b9(0x217)](join,_0x1154a6['xvLXg'](homedir),_0x1154a6[_0x3090b9(0x21c)],'browser',_0x1154a6[_0x3090b9(0x23b)],this[_0x3090b9(0x1ed)][_0x3090b9(0x1f0)][_0x3090b9(0x1e9)]+_0x3090b9(0x2a8)),_0x73d866=Date[_0x3090b9(0x267)]();let _0x5bcf0a;do{try{const _0x114ddb=JSON[_0x3090b9(0x247)](await _0x1154a6['eMyGV'](readFile,_0x3e4203,_0x1154a6['pYauk']));if(_0x114ddb['cdp_endpoint'])return _0x114ddb;_0x5bcf0a=new Error(_0x3090b9(0x22b)+_0x3e4203);}catch(_0x36ad6e){_0x5bcf0a=_0x36ad6e;}await _0x1154a6['tIUzs'](delay,0x64);}while(Date[_0x3090b9(0x267)]()-_0x73d866<NOVA_ARTIFACT_METADATA_WAIT_MS);if(_0x1154a6[_0x3090b9(0x215)](_0x5bcf0a,Error))throw _0x5bcf0a;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x3e4203);}async[_0x120ed1(0x2af)](){const _0x2fb620=_0x120ed1,_0x184e3e={'tACoK':function(_0x2fd9a3,_0x573241,_0x162b61){return _0x2fd9a3(_0x573241,_0x162b61);},'PVMHn':function(_0x320bce,_0x2ef472){return _0x320bce(_0x2ef472);},'mPIBm':_0x2fb620(0x29c)};if(!this[_0x2fb620(0x2b8)])return;const _0x1ba3ff=this[_0x2fb620(0x2b8)][_0x2fb620(0x262)]()[0x0];if(!_0x1ba3ff)return;const _0x277516=this[_0x2fb620(0x202)]();await mkdir(_0x277516,{'recursive':!![]});const _0x4682da=await this['context']['newCDPSession'](_0x1ba3ff);this[_0x2fb620(0x249)]=_0x4682da,_0x4682da['on']('Page.screencastFrame',_0x239331=>{const _0x53c3b6=_0x2fb620,_0x593b77=++this['frameCount'],_0x51a23a=_0x184e3e[_0x53c3b6(0x280)](join,_0x277516,'frame-'+_0x184e3e['PVMHn'](String,_0x593b77)['padStart'](0x6,'0')+_0x53c3b6(0x1de)),_0x5eca46=writeFile(_0x51a23a,Buffer[_0x53c3b6(0x29e)](_0x239331[_0x53c3b6(0x24b)],_0x184e3e[_0x53c3b6(0x2ad)]))['catch'](()=>undefined)['finally'](()=>_0x4682da['send'](_0x53c3b6(0x1eb),{'sessionId':_0x239331['sessionId']}))[_0x53c3b6(0x2ba)](()=>undefined)['catch'](()=>undefined);this['frameWrites']['push'](_0x5eca46);}),await _0x4682da['send']('Page.startScreencast',{'format':_0x2fb620(0x2a2),'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async[_0x120ed1(0x211)](){const _0xa40d77=_0x120ed1;if(!this['frameSession']||!this['screencastStarted'])return;await this[_0xa40d77(0x249)]['send'](_0xa40d77(0x28b))[_0xa40d77(0x240)](()=>undefined);}[_0x120ed1(0x218)](){const _0x282595=_0x120ed1,_0x3b58db={'azvos':function(_0x561a9b,_0x3e49fe,_0x59437d){return _0x561a9b(_0x3e49fe,_0x59437d);}};this['queueTraceSample'](),this[_0x282595(0x25c)]=_0x3b58db['azvos'](setInterval,()=>this[_0x282595(0x21f)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x120ed1(0x21f)](){const _0x34dc88=_0x120ed1;if(this['traceSampleInFlight'])return;this[_0x34dc88(0x2a4)]=this[_0x34dc88(0x271)]()[_0x34dc88(0x227)](()=>{this['traceSampleInFlight']=null;});}async[_0x120ed1(0x2a9)](){const _0x415632=_0x120ed1;this[_0x415632(0x25c)]&&(clearInterval(this[_0x415632(0x25c)]),this['traceSampleTimer']=null),await this['traceSampleInFlight']?.['catch'](()=>undefined);}async[_0x120ed1(0x271)](){const _0x40cf00=_0x120ed1,_0x1ee5c4=this['context']?.[_0x40cf00(0x262)]()[0x0];if(!_0x1ee5c4)return;try{await _0x1ee5c4[_0x40cf00(0x256)]('body')[_0x40cf00(0x27b)](_0x278d19=>_0x278d19[_0x40cf00(0x279)],undefined,{'timeout':0x3e8}),this[_0x40cf00(0x26e)]++;}catch{}}async[_0x120ed1(0x238)](){const _0x5f5426=_0x120ed1,_0xaad526={'fuLrG':function(_0x28d071,_0x524b0a){return _0x28d071<_0x524b0a;},'PSGcT':function(_0x2d67d5,_0x55bf66,_0x8f6db7){return _0x2d67d5(_0x55bf66,_0x8f6db7);},'guNdx':'videos','mWQJN':function(_0x862d6b,_0x4fbfab,_0x412cd2){return _0x862d6b(_0x4fbfab,_0x412cd2);},'WhJie':'session-recording.webm','ouisL':function(_0xf65284,_0x5c8e96,_0x3ef3d8){return _0xf65284(_0x5c8e96,_0x3ef3d8);},'XVcrD':'-hide_banner','Tnkto':_0x5f5426(0x239),'pNeTi':'-framerate','nkMPr':function(_0x5d72c2,_0xcd34d7,_0x1e7255){return _0x5d72c2(_0xcd34d7,_0x1e7255);},'FMJHM':'frame-%06d.jpg','eOFno':'scale=trunc(iw/2)*2:trunc(ih/2)*2','HmVmh':'-c:v','zYqPm':'-pix_fmt','dmgCF':'yuv420p'};if(_0xaad526['fuLrG'](this['frameCount'],0x2))return null;const _0x3c91e6=await resolveFfmpegPath();if(!_0x3c91e6)return null;const _0x1e3f82=_0xaad526['PSGcT'](join,this['params']['cliArtifactDir'],_0xaad526['guNdx']);await _0xaad526[_0x5f5426(0x1e2)](mkdir,_0x1e3f82,{'recursive':!![]});const _0x3039cb=_0xaad526['mWQJN'](join,_0x1e3f82,_0xaad526[_0x5f5426(0x270)]);return await _0xaad526['ouisL'](execFileAsync,_0x3c91e6,['-y',_0xaad526[_0x5f5426(0x298)],_0x5f5426(0x28f),_0xaad526['Tnkto'],_0xaad526['pNeTi'],'10','-i',_0xaad526['nkMPr'](join,this['getFrameDir'](),_0xaad526[_0x5f5426(0x287)]),_0x5f5426(0x1f5),_0xaad526[_0x5f5426(0x1db)],_0xaad526['HmVmh'],'libvpx-vp9',_0xaad526['zYqPm'],_0xaad526['dmgCF'],_0x3039cb]),_0x3039cb;}['getFrameDir'](){const _0x4febfe=_0x120ed1,_0x592cbf={'yVmco':_0x4febfe(0x264)};return join(this['params']['cliArtifactDir'],_0x592cbf[_0x4febfe(0x22d)]);}}async function delay(_0xeed980){await new Promise(_0x57e48b=>setTimeout(_0x57e48b,_0xeed980));}async function resolveFfmpegPath(){const _0x49bf35=_0x120ed1,_0x468205={'TODQK':_0x49bf35(0x26c),'OiakH':function(_0x1c5103){return _0x1c5103();},'GQZOv':_0x49bf35(0x242),'bswPV':function(_0x200001,_0x7ccd73,_0xff2212,_0x3bd47b){return _0x200001(_0x7ccd73,_0xff2212,_0x3bd47b);},'opzXu':_0x49bf35(0x205),'rjYpn':function(_0x3f9160,_0x53cb3d){return _0x3f9160(_0x53cb3d);}};if(await canRunFfmpeg(_0x49bf35(0x26c)))return _0x468205['TODQK'];const _0x4a36dc=[join(_0x468205[_0x49bf35(0x236)](homedir),_0x49bf35(0x1ee),_0x468205[_0x49bf35(0x288)],_0x49bf35(0x205)),_0x468205[_0x49bf35(0x1fb)](join,_0x468205[_0x49bf35(0x236)](homedir),'.cache',_0x468205[_0x49bf35(0x225)])];for(const _0x28cd3b of _0x4a36dc){try{const _0x3a88c7=await _0x468205['rjYpn'](readdir,_0x28cd3b),_0x7ea000=_0x3a88c7[_0x49bf35(0x1f9)](_0x4ed238=>_0x4ed238['startsWith'](_0x49bf35(0x22e)))[_0x49bf35(0x283)]()['reverse']()[_0x49bf35(0x29b)](_0x2024cf=>[join(_0x28cd3b,_0x2024cf,_0x49bf35(0x207)),join(_0x28cd3b,_0x2024cf,_0x49bf35(0x294)),join(_0x28cd3b,_0x2024cf,_0x49bf35(0x243))]);for(const _0xb7d728 of _0x7ea000){if(await _0x468205[_0x49bf35(0x2b1)](canRunFfmpeg,_0xb7d728))return _0xb7d728;}}catch{}}return null;}async function canRunFfmpeg(_0x2bd685){const _0x86c66c=_0x120ed1,_0x488edd={'SYQTk':function(_0x3de5a8,_0x457514,_0x32b570){return _0x3de5a8(_0x457514,_0x32b570);}};try{return await _0x488edd[_0x86c66c(0x257)](execFileAsync,_0x2bd685,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x2a81b2){const _0x48cc07=_0x120ed1,_0x3804b6=basename(_0x2a81b2)[_0x48cc07(0x1f3)](/\.(?:png|ya?ml)$/i,'')[_0x48cc07(0x1f3)](/^key_/i,'')[_0x48cc07(0x1f3)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3804b6,'isKeyStep':/^key_/i[_0x48cc07(0x1fc)](basename(_0x2a81b2))};}function extractShellValue(_0x3e784d){if(!_0x3e784d)return null;return _0x3e784d[0x1]??_0x3e784d[0x2]??_0x3e784d[0x3]??null;}function extractOutputOption(_0x529874){const _0x56a1c3=_0x120ed1,_0x5df6eb={'chFdY':function(_0x3b7d6b,_0x127875){return _0x3b7d6b(_0x127875);}};return _0x5df6eb[_0x56a1c3(0x1da)](extractShellValue,_0x529874[_0x56a1c3(0x28c)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x7647ee,_0x1c448d){const _0x417ca8=_0x120ed1,_0x4a6bb0={'iqdJs':'create\x20Nova\x20browser\x20session','sWlWu':_0x417ca8(0x277),'RjROv':_0x417ca8(0x22a),'yztFs':_0x417ca8(0x28a),'whQzU':'goto','KbSpP':_0x417ca8(0x1dc),'PDqGI':function(_0x2d5655,_0x1f2017){return _0x2d5655(_0x1f2017);},'UTJri':_0x417ca8(0x259),'KOBLg':_0x417ca8(0x297)};switch(_0x1c448d){case'session\x20create':return _0x4a6bb0['iqdJs'];case _0x417ca8(0x2bb):return _0x4a6bb0['sWlWu'];case _0x4a6bb0[_0x417ca8(0x23a)]:return _0x417ca8(0x20a);case'ask':return _0x4a6bb0[_0x417ca8(0x212)];case _0x4a6bb0['whQzU']:return'navigate\x20browser';case'wait-for':return _0x4a6bb0['KbSpP'];case'snapshot':{const _0x37be87=_0x4a6bb0[_0x417ca8(0x1ea)](extractOutputOption,_0x7647ee);if(!_0x37be87)return _0x4a6bb0['UTJri'];const {name:_0x3a5e36}=toStepDisplayName(_0x37be87);return _0x417ca8(0x1f2)+_0x3a5e36+'`';}case _0x4a6bb0['KOBLg']:{const _0x4f421a=extractOutputOption(_0x7647ee);if(!_0x4f421a)return'capture\x20screenshot';const {name:_0x287cf6,isKeyStep:_0x2bf1ab}=_0x4a6bb0[_0x417ca8(0x1ea)](toStepDisplayName,_0x4f421a);return _0x2bf1ab?'capture\x20key\x20step\x20`'+_0x287cf6+'`':_0x417ca8(0x27c)+_0x287cf6+'`';}case _0x417ca8(0x214):return _0x417ca8(0x21b);default:return _0x1c448d;}}function getNovaActCliCommandBlockReason(_0x8c9742){const _0x797f18=_0x120ed1,_0x4661fb={'MesPe':_0x797f18(0x229),'JFYxs':function(_0x2d99e5,_0xe98112){return _0x2d99e5===_0xe98112;},'HSGOU':_0x797f18(0x22a),'gsJBS':_0x797f18(0x20d),'Kjzve':_0x797f18(0x29d)},_0x38ba5c=parseNovaActCliCommand(_0x8c9742);if(!_0x38ba5c)return _0x4661fb[_0x797f18(0x2bc)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x797f18(0x2a7)](_0x38ba5c))return'Nova\x20command\x20`'+_0x38ba5c+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x4661fb[_0x797f18(0x22f)](_0x38ba5c,_0x4661fb[_0x797f18(0x1ef)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x797f18(0x1fc)](_0x8c9742))return _0x4661fb[_0x797f18(0x260)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x8c9742))return _0x4661fb[_0x797f18(0x24d)];return null;}function buildFeedbackSection(_0x695ecc){const _0x12c6e4=_0x120ed1,_0x5350d9={'npObW':'en-US','kiGpI':_0x12c6e4(0x1fa),'sDuru':'numeric','cnUAb':_0x12c6e4(0x204),'rcudW':'element'};if(!_0x695ecc||_0x695ecc['unaddressedComments']['length']===0x0)return'';const _0x302ab8=_0x695ecc[_0x12c6e4(0x228)]['map'](_0x4cd115=>{const _0x16bded=_0x12c6e4,_0x11824b=new Date(_0x4cd115[_0x16bded(0x263)])[_0x16bded(0x235)](_0x5350d9[_0x16bded(0x290)],{'month':_0x5350d9['kiGpI'],'day':_0x5350d9['sDuru']}),_0x44a9e6=_0x4cd115[_0x16bded(0x2b9)]||_0x4cd115[_0x16bded(0x1fe)]||_0x5350d9['cnUAb'],_0x4a72c2=_0x4cd115[_0x16bded(0x24c)]?'\x20(on\x20element:\x20<'+(_0x4cd115['domRef']['selector'][_0x16bded(0x282)](_0x16bded(0x1e5))['pop']()?.[_0x16bded(0x282)](':')[0x0]||_0x5350d9[_0x16bded(0x295)])+'>\x20\x22'+(_0x4cd115['domRef'][_0x16bded(0x1dd)]||'')[_0x16bded(0x2ac)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4cd115['id']+']\x20**'+_0x44a9e6+'**\x20('+_0x11824b+'):\x20\x22'+_0x4cd115[_0x16bded(0x210)]+'\x22'+_0x4a72c2;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x302ab8;}function buildNovaSharedOptionsInstruction(_0xe5868a){const _0x1fa86c=_0x120ed1;if(!_0xe5868a[_0x1fa86c(0x255)]())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 _0x1fa86c(0x1ec)+_0xe5868a;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x4e39d3){const _0x47babb=_0x120ed1,_0x4f3f3f={'zSLmq':'00_initial-state.yml','QVxIC':function(_0x4a3026,_0x47cb18,_0x20a321){return _0x4a3026(_0x47cb18,_0x20a321);},'CLrse':'02_final-state.yml','PIUOs':_0x47babb(0x21a),'NwzXa':function(_0x586065,_0x55d47b){return _0x586065(_0x55d47b);},'mxuVj':function(_0x843049,_0x39bf60){return _0x843049(_0x39bf60);}},{novaCommandPrefix:_0x5dc16c,novaSharedOptionsSuffix:_0x2cf6f2,cliArtifactDir:_0x460f7e,url:_0x23950c}=_0x4e39d3,_0x3a1a66=buildCliArtifactPath(_0x460f7e,_0x4f3f3f[_0x47babb(0x26b)]),_0x4e7220=_0x4f3f3f['QVxIC'](buildCliArtifactPath,_0x460f7e,'01_initial-state.png'),_0x4c1ca5=buildCliArtifactPath(_0x460f7e,_0x4f3f3f[_0x47babb(0x26d)]),_0xf4bd7a=buildCliArtifactPath(_0x460f7e,_0x4f3f3f['PIUOs']);return _0x47babb(0x245)+_0x5dc16c+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x2cf6f2)+'\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`'+_0x5dc16c+'\x20session\x20create\x20'+quoteShellArg(_0x23950c)+'\x20'+_0x2cf6f2+'`\x0a2.\x20Run\x20`'+_0x5dc16c+_0x47babb(0x27a)+quoteShellArg(_0x3a1a66)+'\x20'+_0x2cf6f2+_0x47babb(0x250)+_0x5dc16c+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x4e7220)+'\x20'+_0x2cf6f2+_0x47babb(0x26a)+_0x5dc16c+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x5dc16c+'\x20snapshot\x20--output\x20'+_0x4f3f3f[_0x47babb(0x24e)](quoteShellArg,_0x4c1ca5)+'\x20'+_0x2cf6f2+_0x47babb(0x252)+_0x5dc16c+'\x20screenshot\x20--output\x20'+_0x4f3f3f[_0x47babb(0x1ff)](quoteShellArg,_0xf4bd7a)+'\x20'+_0x2cf6f2+_0x47babb(0x272)+_0x460f7e+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x5c46cd){const _0x4105c8=_0x120ed1,_0x4228a3={'hoxMg':function(_0x7a5ff7,_0x487f47,_0x138285){return _0x7a5ff7(_0x487f47,_0x138285);},'ZfxQu':_0x4105c8(0x20f),'RJVOU':_0x4105c8(0x232),'tlYkF':function(_0x3727c6,_0x382838,_0x19b71a){return _0x3727c6(_0x382838,_0x19b71a);},'OIERJ':'key_03_success-state.png','WRgMz':function(_0x3d04fb,_0x4b065e){return _0x3d04fb(_0x4b065e);},'EHIJP':function(_0x2cc53c,_0x5780be){return _0x2cc53c(_0x5780be);},'htNda':function(_0x4ece6f,_0x4333b0){return _0x4ece6f(_0x4333b0);},'rAVAP':function(_0xff1e3b,_0x59fbd1){return _0xff1e3b(_0x59fbd1);}},{checklistItem:_0x452dbc,itemFeedback:_0x30cb39,taskDescription:_0x5158ab,novaCommandPrefix:_0x1a25f7,novaSharedOptionsSuffix:_0x10737b,cliArtifactDir:_0x517aba,url:_0x3c24ff,loginInstructions:_0x496f35}=_0x5c46cd,_0x5e1f8d=_0x452dbc['notes']?_0x4105c8(0x278)+_0x452dbc['notes']:'',_0x2084af=buildFeedbackSection(_0x30cb39),_0xe21a41=_0x30cb39?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x30cb39['canonicalFlow']:'',_0x13f792=_0x496f35?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x496f35+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x25bf96=_0x4228a3['hoxMg'](buildCliArtifactPath,_0x517aba,_0x4228a3['ZfxQu']),_0x427d25=buildCliArtifactPath(_0x517aba,_0x4228a3['RJVOU']),_0x2be22f=_0x4228a3[_0x4105c8(0x219)](buildCliArtifactPath,_0x517aba,_0x4228a3[_0x4105c8(0x224)]);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'+_0x452dbc['description']+_0x5e1f8d+_0x2084af+_0xe21a41+_0x4105c8(0x2ae)+_0x5158ab+_0x4105c8(0x2a3)+_0x3c24ff+'\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'+_0x13f792+_0x4105c8(0x24f)+_0x1a25f7+'\x20session\x20create\x20'+_0x4228a3[_0x4105c8(0x27f)](quoteShellArg,_0x3c24ff)+'\x20'+_0x10737b+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x517aba+_0x4105c8(0x1f6)+_0x1a25f7+_0x4105c8(0x27a)+quoteShellArg(_0x25bf96)+'\x20'+_0x10737b+_0x4105c8(0x241)+_0x1a25f7+_0x4105c8(0x244)+_0x4228a3[_0x4105c8(0x275)](quoteShellArg,_0x427d25)+'\x20'+_0x10737b+'`.\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`'+_0x2be22f+'`.\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`'+_0x1a25f7+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x10737b['trim']()?'`'+_0x10737b+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+_0x4228a3['htNda'](buildNovaSharedOptionsInstruction,_0x10737b)+'\x0a\x0aExamples:\x0a-\x20`'+_0x1a25f7+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x10737b+_0x4105c8(0x233)+_0x1a25f7+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x10737b+'`\x0a-\x20`'+_0x1a25f7+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x25bf96)+'\x20'+_0x10737b+_0x4105c8(0x233)+_0x1a25f7+_0x4105c8(0x244)+_0x4228a3[_0x4105c8(0x1fd)](quoteShellArg,_0x2be22f)+'\x20'+_0x10737b+_0x4105c8(0x203);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x342806){const _0x7ce335=_0x120ed1,_0x1e8e83={'psXFF':function(_0x520606,_0x46f68f){return _0x520606===_0x46f68f;}},_0x44ad84=[..._0x342806[_0x7ce335(0x268)]()][_0x7ce335(0x283)]();let _0x3309e7=0x0;for(const _0x2cbe8d of _0x342806['values']()){_0x3309e7+=_0x2cbe8d;}return{'cliCommandCount':_0x3309e7,'cliCommandsSeen':_0x44ad84,'noCliCommandsCalled':_0x1e8e83[_0x7ce335(0x2b6)](_0x3309e7,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x752693,_0x296f00){const _0xc6df78=_0x120ed1,_0x3a60d8={'siyAj':_0xc6df78(0x2b5),'RwTbr':function(_0x35c1bc,_0x119b14){return _0x35c1bc!==_0x119b14;},'HKJFv':function(_0x26ec39,_0x4141fe){return _0x26ec39(_0x4141fe);},'pjhyN':_0xc6df78(0x21e),'hxPXk':function(_0x1e5bb8,_0x1d6091){return _0x1e5bb8!==_0x1d6091;},'wImip':_0xc6df78(0x273),'FKicX':function(_0x353094,_0x3251a6){return _0x353094(_0x3251a6);},'jZCNH':'nova_act_command','OhHTD':'nova_act_artifact_recording','pCVsR':_0xc6df78(0x1df),'tAXYe':_0xc6df78(0x265)},_0x3caf4b=new Map(),_0x5ab842=async _0x55398d=>{const _0xe883d8=_0xc6df78;if(_0x55398d['hook_event_name']!==_0x3a60d8['siyAj'])return{};const _0x10709d=_0x55398d;if(_0x3a60d8['RwTbr'](_0x10709d[_0xe883d8(0x216)],_0xe883d8(0x273)))return{};const _0x38bbe3=_0x10709d[_0xe883d8(0x293)],_0x565098=extractBashCommand(_0x38bbe3);if(!_0x565098)return{};const _0x1f068e=_0x3a60d8[_0xe883d8(0x200)](getNovaActCliCommandBlockReason,_0x565098);if(!_0x1f068e)return{};return{'decision':_0x3a60d8['pjhyN'],'reason':_0x1f068e};},_0x366b3f=async _0x1ca57f=>{const _0x3a0197=_0xc6df78;if(_0x1ca57f['hook_event_name']!==_0x3a0197(0x230))return{};const _0x361955=_0x1ca57f;if(_0x3a60d8['hxPXk'](_0x361955['tool_name'],_0x3a60d8['wImip']))return{};const _0x1f6b49=_0x361955['tool_input'],_0x302b33=extractBashCommand(_0x1f6b49);if(!_0x302b33)return{};const _0x17c3ad=_0x3a60d8['FKicX'](parseNovaActCliCommand,_0x302b33);if(!_0x17c3ad)return{};_0x3caf4b[_0x3a0197(0x29f)](_0x17c3ad,(_0x3caf4b['get'](_0x17c3ad)||0x0)+0x1),_0x752693[_0x3a0197(0x201)](_0x3a0197(0x237),{'subcommand':_0x17c3ad}),_0x752693['trackPhaseEnd'](_0x3a60d8['jZCNH'],{'subcommand':_0x17c3ad,'commandPreview':previewNovaActCliCommand(_0x302b33)}),console[_0x3a0197(0x25f)](_0x3a0197(0x21d)+formatNovaActCliLog(_0x302b33,_0x17c3ad));if(_0x17c3ad===_0x3a0197(0x2b3)&&_0x296f00)try{await _0x296f00[_0x3a0197(0x220)]();}catch(_0x27b4c4){await _0x752693['trackPhaseError'](_0x3a60d8[_0x3a0197(0x1e8)],_0x27b4c4,{'transport':_0x3a60d8['pCVsR']});}return{};},_0x3c33bf=async _0x2f29f7=>{const _0x6e86eb=_0xc6df78;if(_0x2f29f7['hook_event_name']!==_0x6e86eb(0x2b7))return{};const _0x3e35fa=_0x2f29f7;if(_0x3a60d8[_0x6e86eb(0x20c)](_0x3e35fa['tool_name'],_0x3a60d8['wImip']))return{};return await _0x752693[_0x6e86eb(0x25e)](_0x3a60d8[_0x6e86eb(0x1e6)],_0x3e35fa[_0x6e86eb(0x239)],{'transport':_0x3a60d8[_0x6e86eb(0x281)],'toolName':_0x3a60d8[_0x6e86eb(0x2a0)]}),{};};return{'preToolUseHook':_0x5ab842,'postToolUseHook':_0x366b3f,'postToolUseFailureHook':_0x3c33bf,'commandCounts':_0x3caf4b};}async function runNovaLifecycleCommand(_0xd28a4f){const _0x2c7fb0=_0x120ed1,_0x2b308a={'WGrWB':function(_0x385386,_0x43547b){return _0x385386(_0x43547b);}},{novaOptions:_0x4dc3d5,commandArgs:_0x5c2b15,telemetry:_0x1be8ea,phase:_0x4713cb,metadata:_0x5c63de,timeoutMs:_0x13742a}=_0xd28a4f;_0x1be8ea['trackPhaseStart'](_0x4713cb,_0x5c63de);try{const _0x3cb64b=await runNovaActCliCommand({..._0x4dc3d5,'commandArgs':_0x5c2b15,'cwd':process[_0x2c7fb0(0x1e7)](),'env':process['env'],'timeoutMs':_0x13742a??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x1be8ea[_0x2c7fb0(0x23c)](_0x4713cb,{..._0x5c63de,'subcommand':_0x3cb64b[_0x2c7fb0(0x266)][_0x2c7fb0(0x291)],'commandPreview':previewNovaActCliCommand(_0x3cb64b[_0x2c7fb0(0x266)]['shellCommand']),'stdoutPreview':_0x2b308a[_0x2c7fb0(0x26f)](previewNovaActCliCommand,_0x3cb64b[_0x2c7fb0(0x1e3)]),'stderrPreview':_0x2b308a[_0x2c7fb0(0x26f)](previewNovaActCliCommand,_0x3cb64b['stderr']),'logDir':extractNovaActLogDir(_0x3cb64b['stdout'])});}catch(_0x4a5947){await _0x1be8ea['trackPhaseError'](_0x4713cb,_0x4a5947,_0x5c63de);throw _0x4a5947;}}export async function finalizeVerifyFeatureNovaCliSession(_0x588710){const _0x150f68=_0x120ed1,_0x57fad3={'Jepav':_0x150f68(0x276),'cYoFF':'--output','wCwEy':'key_final-state.png','ZaKuG':_0x150f68(0x23e),'NROuJ':'--format','OObEn':'export','yXTmG':function(_0x2bef77,_0x2ace8b){return _0x2bef77(_0x2ace8b);}},{telemetry:_0x17adad,novaOptions:_0x3368aa,cliArtifactDir:_0x3185be,transportMetadata:_0x5305eb,artifactRecorder:_0x45d9f8}=_0x588710,_0x407a20=[{'phase':_0x57fad3['Jepav'],'commandArgs':['screenshot',_0x57fad3['cYoFF'],buildCliArtifactPath(_0x3185be,_0x57fad3[_0x150f68(0x27e)])]},{'phase':'nova_act_final_snapshot','commandArgs':['snapshot',_0x57fad3[_0x150f68(0x1e0)],buildCliArtifactPath(_0x3185be,_0x57fad3[_0x150f68(0x25d)])]},{'phase':_0x150f68(0x1f7),'commandArgs':['session',_0x150f68(0x2aa),_0x57fad3['NROuJ'],'json',_0x57fad3['cYoFF'],buildCliArtifactPath(_0x3185be,_0x150f68(0x1f4))]},{'phase':'nova_act_session_report','commandArgs':['session',_0x57fad3['OObEn'],_0x150f68(0x296),'--output-dir',buildCliArtifactPath(_0x3185be,_0x150f68(0x28d))]},{'phase':'nova_act_session_close','commandArgs':['session',_0x150f68(0x24a)]}];for(const _0x5c21cc of _0x407a20){_0x5c21cc['phase']===_0x150f68(0x23d)&&await _0x45d9f8?.[_0x150f68(0x1f1)]();try{await _0x57fad3['yXTmG'](runNovaLifecycleCommand,{'novaOptions':_0x3368aa,'commandArgs':[..._0x5c21cc['commandArgs']],'telemetry':_0x17adad,'phase':_0x5c21cc['phase'],'metadata':_0x5305eb});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x16b833){const _0x549dcb=_0x120ed1,_0x27a5b1={'ngKdh':function(_0xa2d8b9,_0x1488c3,_0x38b060){return _0xa2d8b9(_0x1488c3,_0x38b060);},'TemqC':function(_0x438d4c,_0x4c4a26){return _0x438d4c(_0x4c4a26);},'JeqCH':function(_0x4f386c,_0x4844dd){return _0x4f386c+_0x4844dd;},'TDYJO':function(_0x177d92,_0x3158e7){return _0x177d92===_0x3158e7;},'fJhLL':function(_0x44b832,_0x5eec68,_0x4fb5f0){return _0x44b832(_0x5eec68,_0x4fb5f0);}},{cwd:_0x52e3bd,cliArtifactDir:_0x4c3b30,startTime:_0x4bc6c4}=_0x16b833,_0x158d9e=[];await _0x27a5b1['ngKdh'](mkdir,_0x4c3b30,{'recursive':!![]});const _0x16f2c7=await _0x27a5b1[_0x549dcb(0x285)](readdir,_0x52e3bd,{'withFileTypes':!![]});for(const _0x2d10b1 of _0x16f2c7){if(!_0x2d10b1[_0x549dcb(0x2ab)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x549dcb(0x1fc)](_0x2d10b1[_0x549dcb(0x23f)]))continue;const _0x460562=join(_0x52e3bd,_0x2d10b1['name']),_0x492bb2=await _0x27a5b1[_0x549dcb(0x253)](stat,_0x460562);if(_0x27a5b1[_0x549dcb(0x261)](_0x492bb2['mtimeMs'],0x7d0)<_0x4bc6c4)continue;const _0x438a1c=_0x27a5b1[_0x549dcb(0x285)](buildCliArtifactPath,_0x4c3b30,_0x2d10b1[_0x549dcb(0x23f)]);if(_0x27a5b1['TDYJO'](_0x460562,_0x438a1c))continue;await _0x27a5b1[_0x549dcb(0x2b4)](rename,_0x460562,_0x438a1c),_0x158d9e['push'](_0x2d10b1[_0x549dcb(0x23f)]);}return _0x158d9e['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x13c3e5){const _0x27c162=_0x120ed1,_0x5654d6={'ogPOf':function(_0xf507c2,_0x4d8e55,_0x31f38c){return _0xf507c2(_0x4d8e55,_0x31f38c);},'JirUH':'trace.zip','cAPqS':function(_0x187328,_0xa1ee83){return _0x187328(_0xa1ee83);},'MXMly':function(_0x247688,_0x52d1a5){return _0x247688(_0x52d1a5);}},_0x22ca45=_0x5654d6[_0x27c162(0x1f8)](join,_0x13c3e5,_0x5654d6['JirUH']);try{return{'buffer':await _0x5654d6['cAPqS'](readFile,_0x22ca45),'source':_0x22ca45};}catch{return{'buffer':await _0x5654d6['MXMly'](zipVerifyFeatureNovaArtifacts,_0x13c3e5),'source':_0x13c3e5};}}async function zipVerifyFeatureNovaArtifacts(_0x5bbb3e){const _0x46a3aa=_0x120ed1,_0x16f306={'HUIMd':function(_0x24d2b4,_0x4e9b73,_0x1331bd,_0x35c55f){return _0x24d2b4(_0x4e9b73,_0x1331bd,_0x35c55f);},'WCGne':_0x46a3aa(0x289),'IOrID':function(_0x64e981,_0x517de9,_0x39c789,_0x33e0e7){return _0x64e981(_0x517de9,_0x39c789,_0x33e0e7);},'hYMFk':_0x46a3aa(0x29a)},_0x5852e3=_0x16f306[_0x46a3aa(0x221)](join,_0x5bbb3e,'..',_0x16f306['WCGne']);try{return await _0x16f306[_0x46a3aa(0x248)](execFileAsync,'zip',[_0x16f306['hYMFk'],_0x5852e3,'.','-x',_0x46a3aa(0x20b)],{'cwd':_0x5bbb3e}),await readFile(_0x5852e3);}finally{await rm(_0x5852e3,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x1f95d7){const _0x3789f4=_0x120ed1,_0x546d9c={'DEILi':function(_0x3d80d6,_0x1ce101,_0x2e67f4){return _0x3d80d6(_0x1ce101,_0x2e67f4);},'uwRnw':function(_0x48faaf,_0x2b2504){return _0x48faaf(_0x2b2504);}},_0x7717d9=_0x546d9c['DEILi'](buildNovaActCliInvocation,_0x1f95d7[_0x3789f4(0x1f0)],_0x1f95d7[_0x3789f4(0x209)]);return{'command':_0x7717d9['command'],'args':_0x7717d9[_0x3789f4(0x28e)],'commandPreview':_0x546d9c[_0x3789f4(0x2a6)](previewNovaActCliCommand,_0x7717d9['shellCommand']),'subcommand':_0x7717d9[_0x3789f4(0x291)],'sharedOptionsSuffix':_0x546d9c[_0x3789f4(0x27d)](buildNovaActCliSharedOptionsSuffix,_0x1f95d7[_0x3789f4(0x1f0)],_0x1f95d7[_0x3789f4(0x209)])};}function _0x1700(){const _0x52ad73=['novaOptions','stop','capture\x20snapshot\x20`','replace','nova-session-export.json','-vf','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','nova_act_session_export','ogPOf','filter','short','bswPV','test','rAVAP','authorEmail','mxuVj','HKJFv','trackPhaseStart','getFrameDir','`\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.','Reviewer','ms-playwright','telemetry','ffmpeg-mac','trace.zip','commandArgs','verify\x20page\x20condition','nova-user-data/*','hxPXk','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.','tqRrf','01_initial.yml','content','stopScreencast','yztFs','ktTIK','session\x20export','zDeIR','tool_name','GwKxJ','startTraceSampling','tlYkF','03_final-state.png','export\x20Nova\x20session','uqLls','[nova-act-cli]\x20','block','queueTraceSample','start','HUIMd','snapshot','browser','OIERJ','opzXu','stopped','finally','unaddressedComments','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','verify','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','nova_act_artifact_recording_stop','yVmco','ffmpeg-','JFYxs','PostToolUse','frameCount','01_initial-state.png','`\x0a-\x20`','nova_act_artifact_recording','toLocaleDateString','OiakH','nova_act_command','encodeScreencastVideo','error','RjROv','ZFcYd','trackPhaseEnd','nova_act_session_close','final-state.yaml','name','catch','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','Caches','ffmpeg.exe','\x20screenshot\x20--output\x20','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','transportMetadata','parse','IOrID','frameSession','close','data','domRef','Kjzve','NwzXa','\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`','`\x0a3.\x20Run\x20`','readSessionMetadataWithRetry','`\x0a6.\x20Run\x20`','TemqC','5301402jJOayz','trim','locator','SYQTk','2426190qRDFMA','capture\x20snapshot','1070117sFCGAA','tracingStarted','traceSampleTimer','ZaKuG','trackPhaseError','log','gsJBS','JeqCH','pages','createdAt','nova-video-frames','nova_act_command_failure','invocation','now','keys','32445fNBCEI','`\x0a4.\x20Run\x20one\x20batched\x20`','zSLmq','ffmpeg','CLrse','traceSampleCount','WGrWB','WhJie','captureTraceSample','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','Bash','4578176sesqXA','EHIJP','nova_act_final_screenshot','execute\x20Nova\x20browser\x20action','\x0a\x0a##\x20Additional\x20Notes\x0a','tagName','\x20snapshot\x20--output\x20','evaluate','capture\x20step\x20`','DEILi','wCwEy','WRgMz','tACoK','pCVsR','split','sort','screencastStarted','ngKdh','tracing','FMJHM','GQZOv','nova-artifacts.zip','ask\x20page\x20question','Page.stopScreencast','match','nova-report','args','-loglevel','npObW','subcommand','9762664NNdrfv','tool_input','ffmpeg-linux','rcudW','--report','screenshot','XVcrD','.act_cli','-qr','flatMap','base64','Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.','from','set','wImip','allSettled','jpeg','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','traceSampleInFlight','cdp_endpoint','uwRnw','has','.json','stopTraceSampling','export','isFile','slice','mPIBm','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','startScreencast','startAttempted','rjYpn','198624eNDwfL','session\x20create','fJhLL','PreToolUse','psXFF','PostToolUseFailure','context','authorName','then','execute','MesPe','18mIxDns','chFdY','eOFno','wait\x20for\x20page\x20condition','textContent','.jpg','nova-act-cli','cYoFF','cliArtifactDir','PSGcT','stdout','toXPr','\x20>\x20','tAXYe','cwd','OhHTD','sessionId','PDqGI','Page.screencastFrameAck','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','params','Library','HSGOU'];_0x1700=function(){return _0x52ad73;};return _0x1700();}
|
|
@@ -264,7 +264,7 @@ If you encounter authentication issues:
|
|
|
264
264
|
1. **Log in with provided credentials**: Set `RANGER_TEST_USERNAME` and `RANGER_TEST_PASSWORD` and re-run `ranger-cli go ...`. The CLI uses those credentials to log in and reuses the same profile on subsequent runs.
|
|
265
265
|
2. **Check existing profiles**: Run `ranger-cli profile ls` to see all configured profiles.
|
|
266
266
|
3. **Pin a specific profile**: Use `ranger-cli profile use <profile-name>` (or pass `--profile <name>` / set `RANGER_PROFILE`).
|
|
267
|
-
4. **Refresh auth**: For server-side relogin (headless, no human needed), set `RANGER_TEST_USERNAME` / `RANGER_TEST_PASSWORD` and re-run `ranger-cli go ...`. For SSO/OAuth profiles,
|
|
267
|
+
4. **Refresh auth**: For server-side relogin (headless, no human needed), set `RANGER_TEST_USERNAME` / `RANGER_TEST_PASSWORD` and re-run `ranger-cli go ...`. For SSO/OAuth profiles, run `ranger-cli profile update <account-email>` to re-capture the session (server-side login when configured, headed browser otherwise).
|
|
268
268
|
|
|
269
269
|
|
|
270
270
|
### Authentication Issues to Ranger
|