@ranger-testing/ranger-cli 2.5.3 → 2.5.4-alpha.ed286f1-2
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/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/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/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/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- 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/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.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/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xc3785f,_0x6f68f4){const _0x1dcd5f=_0x1906,_0x14e9e8=_0xc3785f();while(!![]){try{const _0x2589a3=-parseInt(_0x1dcd5f(0x120))/0x1+-parseInt(_0x1dcd5f(0xbe))/0x2*(-parseInt(_0x1dcd5f(0x123))/0x3)+-parseInt(_0x1dcd5f(0xf3))/0x4+-parseInt(_0x1dcd5f(0xcd))/0x5+parseInt(_0x1dcd5f(0xfd))/0x6+parseInt(_0x1dcd5f(0xcc))/0x7*(parseInt(_0x1dcd5f(0x101))/0x8)+parseInt(_0x1dcd5f(0xda))/0x9*(parseInt(_0x1dcd5f(0x105))/0xa);if(_0x2589a3===_0x6f68f4)break;else _0x14e9e8['push'](_0x14e9e8['shift']());}catch(_0x476f29){_0x14e9e8['push'](_0x14e9e8['shift']());}}}(_0x3e1e,0xa034e));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 _0x3e1e(){const _0x595fd5=['nTWDe','--filename=','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','tool_call','mtimeMs','tZDQi','press','YwWpn','capture\x20snapshot','trackPhaseError','values','start\x20video\x20recording','fDzmm','02_state.yml','capture\x20snapshot\x20`','03_result-visible.png','QonmR','4266324YOKqMh','\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.','\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','\x0a\x0a##\x20Additional\x20Notes\x0a','\x22,\x20\x22','push','DEBUG','BlppD','mnoHK','snapshot','5525802DXcFnv','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','uBanL','221664iBYGYI','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','fill\x20','stderr','20QRFyQa','subcommand','jbeng','domRef','\x0a\x0a1.\x20Run\x20`','test','Hvgtu','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','pop','error','`\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`','BLagu','pFnGX','):\x20\x22','trackPhaseEnd','textContent','numeric','unaddressedComments','tracing-stop','capture\x20screenshot','voKXt','description','close','canonicalFlow','BrLHk','selector','tool_input','195319OvhOKS','env','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','3045XmydOW','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','PostToolUseFailure','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','check','eEPeT','GlgiT','isFile','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','ZAcWi','name','dXKXI','set','XNYyU','-\x20[','playwright-cli','cFoBI','RqMat','`\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`','ref\x20','\x20tracing-start`\x0a3.\x20Run\x20`','Bash','stop\x20tracing','map','invocation','authorName','ptAuM','mGyuo','iqcGc','EuGeZ','UVmLE','video-start','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','SesNj','hook_event_name','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','trace.zip','trim','run-code','\x20screenshot\x20--filename\x20','trackPhaseStart','cwd','fill','match','310MLINek','key_04_success-state.png','wccsK','split','\x20snapshot\x20--filename\x20','\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','run\x20custom\x20Playwright\x20code','HFjfv','replace','tracing-start','stop\x20video\x20recording','yjvfV','open','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','259zPMeKY','6294320exfDXP','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','trace.trace.zip','tool_name','03_learn-more.png','element','`\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`','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','sort','(?:^|\x5cs)','HKBvu','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','JuCFV','4830669TvfbrR','commandArgs','janFE','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','02_button-clicked.png','press\x20','\x5c$&','NdWgF'];_0x3e1e=function(){return _0x595fd5;};return _0x3e1e();}function truncatePreview(_0x20ed24,_0x12edfc=PLAYWRIGHT_CLI_PREVIEW_LIMIT){return _0x20ed24['length']>_0x12edfc?_0x20ed24['slice'](0x0,_0x12edfc)+'...':_0x20ed24;}function buildCliArtifactPath(_0x245d07,_0x4424a1){const _0x24b3b6=_0x1906,_0x271358={'ZAcWi':function(_0x339ade,_0x417183,_0x2a62f0){return _0x339ade(_0x417183,_0x2a62f0);}};return _0x271358[_0x24b3b6(0x12c)](join,_0x245d07,_0x4424a1);}function _0x1906(_0x13987c,_0x98b125){_0x13987c=_0x13987c-0xa6;const _0x3e1ed9=_0x3e1e();let _0x190632=_0x3e1ed9[_0x13987c];return _0x190632;}function toStepDisplayName(_0x611250){const _0x123f57=_0x1906,_0x13e715={'HFjfv':function(_0x51ae87,_0x25eff2){return _0x51ae87(_0x25eff2);}},_0x20c995=_0x13e715[_0x123f57(0xc5)](basename,_0x611250)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x123f57(0xc6)](/-/g,'\x20');return{'name':_0x20c995,'isKeyStep':/^key_/i['test'](basename(_0x611250))};}function extractShellValue(_0x98f4b7){if(!_0x98f4b7)return null;return _0x98f4b7[0x1]??_0x98f4b7[0x2]??_0x98f4b7[0x3]??null;}function extractFilenameOption(_0x118230){return extractShellValue(_0x118230['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x584aef,_0x27887e){const _0x19e55c=_0x1906,_0x360d43={'SesNj':_0x19e55c(0xe0),'fDzmm':function(_0x4b211e,_0x4ab5d4){return _0x4b211e(_0x4ab5d4);}},_0x11889b=_0x27887e[_0x19e55c(0xc6)](/[.*+?^${}()|[\]\\]/g,_0x360d43[_0x19e55c(0xb3)]);return _0x360d43[_0x19e55c(0xee)](extractShellValue,_0x584aef[_0x19e55c(0xbd)](new RegExp(_0x19e55c(0xd6)+_0x11889b+_0x19e55c(0xe4))));}function formatCommandTarget(_0x44523f){const _0x1a2230=_0x1906,_0x56bc82={'plrAw':'target'};if(!_0x44523f)return _0x56bc82['plrAw'];if(/^e\d+$/i[_0x1a2230(0x10a)](_0x44523f))return _0x1a2230(0x136)+_0x44523f;return JSON['stringify'](truncatePreview(_0x44523f,0x78));}function formatPlaywrightCliLog(_0x22859d,_0x6085c3){const _0x460921=_0x1906,_0x313a2c={'tXGvZ':_0x460921(0xca),'nTWDe':function(_0x33ae35,_0x40a40f,_0x2804be){return _0x33ae35(_0x40a40f,_0x2804be);},'voKXt':'open\x20browser','uBanL':_0x460921(0xc7),'HKBvu':'start\x20tracing','fCBFX':_0x460921(0xed),'bpDMK':_0x460921(0xc8),'QonmR':_0x460921(0xfc),'BlppD':function(_0x173337,_0x5df837){return _0x173337(_0x5df837);},'ZUKuF':'screenshot','BLagu':_0x460921(0x118),'dXKXI':'click','yXqPx':_0x460921(0xbc),'CVVIj':_0x460921(0xc4),'JuCFV':'open\x20new\x20tab','mGyuo':'tab-select','ptAuM':function(_0x13e6d5,_0x197a48,_0xf5f181){return _0x13e6d5(_0x197a48,_0xf5f181);}};switch(_0x6085c3){case _0x313a2c['tXGvZ']:{const _0x20f85b=_0x313a2c[_0x460921(0xe2)](extractFirstCommandArgument,_0x22859d,_0x6085c3);return _0x20f85b?'open\x20'+_0x20f85b:_0x313a2c[_0x460921(0x119)];}case _0x313a2c[_0x460921(0x100)]:return _0x313a2c[_0x460921(0xd7)];case _0x460921(0x117):return _0x460921(0xa8);case _0x460921(0xb1):return _0x313a2c['fCBFX'];case'video-stop':return _0x313a2c['bpDMK'];case _0x313a2c[_0x460921(0xf2)]:{const _0x25e76f=_0x313a2c[_0x460921(0xfa)](extractFilenameOption,_0x22859d);if(!_0x25e76f)return _0x460921(0xea);const {name:_0x198a44}=toStepDisplayName(_0x25e76f);return _0x460921(0xf0)+_0x198a44+'`';}case _0x313a2c['ZUKuF']:{const _0x470fe4=_0x313a2c[_0x460921(0xfa)](extractFilenameOption,_0x22859d);if(!_0x470fe4)return _0x313a2c[_0x460921(0x110)];const {name:_0x2795b6,isKeyStep:_0x277694}=toStepDisplayName(_0x470fe4);return _0x277694?'capture\x20key\x20step\x20`'+_0x2795b6+'`':'capture\x20step\x20`'+_0x2795b6+'`';}case _0x313a2c[_0x460921(0x12e)]:return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x22859d,_0x6085c3));case _0x460921(0x127):return'check\x20'+_0x313a2c[_0x460921(0xfa)](formatCommandTarget,_0x313a2c[_0x460921(0xe2)](extractFirstCommandArgument,_0x22859d,_0x6085c3));case _0x313a2c['yXqPx']:return _0x460921(0x103)+formatCommandTarget(extractFirstCommandArgument(_0x22859d,_0x6085c3));case _0x460921(0xe8):return _0x460921(0xdf)+formatCommandTarget(extractFirstCommandArgument(_0x22859d,_0x6085c3));case _0x460921(0xb8):return _0x313a2c['CVVIj'];case'tab-new':{const _0x30d17d=extractFirstCommandArgument(_0x22859d,_0x6085c3);return _0x30d17d?'open\x20new\x20tab\x20'+_0x30d17d:_0x313a2c[_0x460921(0xd9)];}case _0x313a2c[_0x460921(0xad)]:{const _0x51cb4e=_0x313a2c[_0x460921(0xac)](extractFirstCommandArgument,_0x22859d,_0x6085c3);return _0x51cb4e?'select\x20tab\x20'+_0x51cb4e:'select\x20tab';}default:return _0x6085c3;}}function extractPlaywrightCliToolDescription(_0x44118d){const _0xfdc1aa=_0x1906,_0x22232e=_0x44118d['description'];if(typeof _0x22232e!=='string')return null;const _0x48659c=_0x22232e[_0xfdc1aa(0xb7)]()['replace'](/\s+/g,'\x20');return _0x48659c['length']>0x0?_0x48659c:null;}export function formatPlaywrightCliConsoleLogMessage(_0x3d7b39,_0x5de6d2,_0x558024){const _0x28d829=_0x1906,_0x5adfac={'RqMat':function(_0x21c3f0,_0x3caf5d){return _0x21c3f0(_0x3caf5d);}},_0x4d0e92=formatPlaywrightCliLog(_0x5de6d2,_0x558024),_0x48ab94=_0x5adfac[_0x28d829(0x134)](extractPlaywrightCliToolDescription,_0x3d7b39);if(!_0x48ab94)return'[playwright-cli]\x20'+_0x4d0e92;if(process[_0x28d829(0x121)][_0x28d829(0xf9)])return'[ranger-verification-agent]\x20'+_0x48ab94+'\x20('+_0x4d0e92+')';return'[ranger-verification-agent]\x20'+_0x48ab94;}export function buildVerifyFeatureCliDebugPrompt(_0x15372b,_0x4b3fbf){const _0x2c640e=_0x1906,_0x411c4a={'mnoHK':function(_0x5122b2,_0x78efe3,_0x457bca){return _0x5122b2(_0x78efe3,_0x457bca);},'yjvfV':_0x2c640e(0xd1),'Hvgtu':function(_0x226946,_0x38d38e){return _0x226946(_0x38d38e);},'ZacWf':function(_0xf16cfe,_0x1d8018){return _0xf16cfe(_0x1d8018);}},_0x1e7239=_0x411c4a[_0x2c640e(0xfb)](buildCliArtifactPath,_0x4b3fbf,'00_mozilla-homepage.yml'),_0x1a178c=buildCliArtifactPath(_0x4b3fbf,'01_mozilla-homepage.png'),_0x20c7c3=buildCliArtifactPath(_0x4b3fbf,'02_learn-more.yml'),_0x8000a6=buildCliArtifactPath(_0x4b3fbf,_0x411c4a[_0x2c640e(0xc9)]),_0x2eb8a9=_0x411c4a[_0x2c640e(0x10b)](quoteShellArg,_0x1e7239),_0x116d28=_0x411c4a[_0x2c640e(0x10b)](quoteShellArg,_0x1a178c),_0x2f24c0=_0x411c4a['ZacWf'](quoteShellArg,_0x20c7c3),_0x1f604c=quoteShellArg(_0x8000a6);return _0x2c640e(0x102)+_0x15372b+_0x2c640e(0x109)+_0x15372b+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x15372b+_0x2c640e(0xa6)+_0x15372b+_0x2c640e(0xd4)+_0x4b3fbf+_0x2c640e(0x122)+_0x15372b+'\x20snapshot\x20--filename\x20'+_0x2eb8a9+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x15372b+_0x2c640e(0xb9)+_0x116d28+_0x2c640e(0xb2)+_0x15372b+'\x20snapshot\x20--filename\x20'+_0x2f24c0+'`\x0a9.\x20Run\x20`'+_0x15372b+'\x20screenshot\x20--filename\x20'+_0x1f604c+_0x2c640e(0xb5);}export function buildVerifyFeatureCliPrompt(_0x4eacd5){const _0x4dff8c=_0x1906,_0x18be0a={'zMDby':_0x4dff8c(0x115),'UcNGE':'\x20>\x20','GlgiT':function(_0x1bfef5,_0x37505f,_0x2c5517){return _0x1bfef5(_0x37505f,_0x2c5517);},'pFnGX':'key_03_success-state.png','GTjsq':function(_0x33b853,_0x48e804){return _0x33b853(_0x48e804);},'qlPUL':function(_0x4b04ac,_0x2ffd55){return _0x4b04ac(_0x2ffd55);},'YpUHw':function(_0x2d51ce,_0x37eae4){return _0x2d51ce(_0x37eae4);},'UVmLE':_0x4dff8c(0xde),'XnrLj':_0x4dff8c(0xbf)},{checklistItem:_0x1020a2,itemFeedback:_0x2bc69e,taskDescription:_0xff138e,cliCommandPrefix:_0x35b73e,cliArtifactDir:_0x34036f,isCdpMode:_0x247860,url:_0x1284ce,cdpEndpoint:_0x470506,loginInstructions:_0x48a385}=_0x4eacd5,_0x3c4aec=buildCliArtifactPath(_0x34036f,'01_initial.yml'),_0x35e5cd=buildCliArtifactPath(_0x34036f,_0x4dff8c(0xef)),_0x8061d0=_0x18be0a[_0x4dff8c(0x129)](buildCliArtifactPath,_0x34036f,_0x18be0a[_0x4dff8c(0x111)]),_0x3d503b=_0x18be0a[_0x4dff8c(0x129)](buildCliArtifactPath,_0x34036f,'01_initial-state.png'),_0x5b3c0f=_0x18be0a['GTjsq'](quoteShellArg,_0x3c4aec),_0x3c313f=quoteShellArg(_0x35e5cd),_0x3d20e7=_0x18be0a['qlPUL'](quoteShellArg,_0x8061d0),_0x18477e=_0x18be0a['qlPUL'](quoteShellArg,_0x3d503b),_0x45fe33=_0x1020a2['notes']?_0x4dff8c(0xf6)+_0x1020a2['notes']:'';let _0x5cbb7e='';if(_0x2bc69e&&_0x2bc69e['unaddressedComments']['length']>0x0){const _0x3c8de1=_0x2bc69e[_0x4dff8c(0x116)][_0x4dff8c(0xa9)](_0x13a784=>{const _0xe3073d=_0x4dff8c,_0x4a917c=new Date(_0x13a784['createdAt'])['toLocaleDateString']('en-US',{'month':'short','day':_0x18be0a['zMDby']}),_0x545cc5=_0x13a784[_0xe3073d(0xab)]||_0x13a784['authorEmail']||'Reviewer',_0x5e20c1=_0x13a784[_0xe3073d(0x108)]?'\x20(on\x20element:\x20<'+(_0x13a784[_0xe3073d(0x108)][_0xe3073d(0x11e)][_0xe3073d(0xc1)](_0x18be0a['UcNGE'])[_0xe3073d(0x10d)]()?.['split'](':')[0x0]||_0xe3073d(0xd2))+'>\x20\x22'+(_0x13a784['domRef'][_0xe3073d(0x114)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0xe3073d(0x131)+_0x13a784['id']+']\x20**'+_0x545cc5+'**\x20('+_0x4a917c+_0xe3073d(0x112)+_0x13a784['content']+'\x22'+_0x5e20c1;})['join']('\x0a');_0x5cbb7e='\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'+_0x3c8de1;}const _0x5b1ebe=_0x2bc69e?.[_0x4dff8c(0x11c)]?_0x4dff8c(0xd8)+_0x2bc69e['canonicalFlow']:'',_0x960474=_0x247860?_0x4dff8c(0x12b)+_0x470506+_0x4dff8c(0x126):_0x4dff8c(0x10c)+_0x1284ce+'\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',_0x50f248=_0x1284ce?_0x18be0a['YpUHw'](quoteShellArg,_0x1284ce):'',_0x4b30bf=_0x247860?_0x4dff8c(0xdd)+_0x35b73e+'\x20open`,\x20then\x20`'+_0x35b73e+'\x20tracing-start`,\x20then\x20`'+_0x35b73e+_0x4dff8c(0x124)+_0x34036f+_0x4dff8c(0xcb)+_0x35b73e+'\x20snapshot\x20--filename\x20'+_0x5b3c0f+_0x4dff8c(0x10f)+_0x35b73e+_0x4dff8c(0xb9)+_0x18477e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x35b73e+_0x4dff8c(0xff):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x35b73e+'\x20open\x20'+_0x50f248+'`,\x20then\x20`'+_0x35b73e+'\x20tracing-start`,\x20then\x20`'+_0x35b73e+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x34036f+_0x4dff8c(0xcb)+_0x35b73e+_0x4dff8c(0xc2)+_0x5b3c0f+_0x4dff8c(0xd3)+_0x35b73e+'\x20screenshot\x20--filename\x20'+_0x18477e+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x35b73e+_0x4dff8c(0xc3),_0x3b483b=_0x247860?_0x4dff8c(0xf4):'\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.',_0x5059c0=_0x48a385?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x48a385+'\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'+_0x1020a2[_0x4dff8c(0x11a)]+_0x45fe33+_0x5cbb7e+_0x5b1ebe+_0x4dff8c(0xce)+_0xff138e+'\x0a\x0a'+_0x960474+_0x5059c0+'\x0a\x0a'+_0x4b30bf+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x35b73e+_0x4dff8c(0xfe)+_0x34036f+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x3c313f+'`\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'+_0x3d20e7+_0x4dff8c(0x135)+_0x34036f+'`:\x20\x22'+_0x3d503b+_0x4dff8c(0xf7)+_0x18be0a[_0x4dff8c(0x129)](buildCliArtifactPath,_0x34036f,_0x18be0a[_0x4dff8c(0xb0)])+'\x22,\x20\x22'+buildCliArtifactPath(_0x34036f,_0x4dff8c(0xf1))+_0x4dff8c(0xf5)+_0x18be0a['GlgiT'](buildCliArtifactPath,_0x34036f,_0x18be0a['XnrLj'])+'\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'+_0x3b483b+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x533e79){const _0x5ec125=_0x1906,_0x22aed4=[..._0x533e79['keys']()][_0x5ec125(0xd5)]();let _0x3e8aab=0x0;for(const _0x1844a8 of _0x533e79[_0x5ec125(0xec)]()){_0x3e8aab+=_0x1844a8;}return{'cliCommandCount':_0x3e8aab,'cliCommandsSeen':_0x22aed4,'noCliCommandsCalled':_0x3e8aab===0x0};}export function createVerifyFeatureCliHooks(_0x4e9526){const _0x55684e=_0x1906,_0x44c979={'EuGeZ':function(_0xbf523d,_0x176df3){return _0xbf523d!==_0x176df3;},'mzTTf':'Bash','rxRne':function(_0x36d7dc,_0x3b1836){return _0x36d7dc(_0x3b1836);},'BrLHk':function(_0x2fb28c,_0x51cf20){return _0x2fb28c+_0x51cf20;},'eEPeT':_0x55684e(0xe5),'DvySY':'playwright-cli','vtQTx':function(_0x9933df,_0x1523ae){return _0x9933df(_0x1523ae);},'NdWgF':function(_0x56aafa,_0x18bce2,_0x15b37f,_0x3845d7){return _0x56aafa(_0x18bce2,_0x15b37f,_0x3845d7);},'wccsK':'tool_failure'},_0x178770=new Map(),_0x2f5229=async _0x25f706=>{const _0x359398=_0x55684e;if(_0x44c979[_0x359398(0xaf)](_0x25f706[_0x359398(0xb4)],'PostToolUse'))return{};const _0x1541c4=_0x25f706;if(_0x1541c4[_0x359398(0xd0)]!==_0x44c979['mzTTf'])return{};const _0x512277=_0x1541c4[_0x359398(0x11f)],_0x538d14=_0x44c979['rxRne'](extractBashCommand,_0x512277);if(!_0x538d14)return{};const _0x2dbb31=parsePlaywrightCliCommand(_0x538d14);if(!_0x2dbb31)return{};return _0x178770[_0x359398(0x12f)](_0x2dbb31,_0x44c979[_0x359398(0x11d)](_0x178770['get'](_0x2dbb31)||0x0,0x1)),_0x4e9526['trackPhaseStart'](_0x44c979[_0x359398(0x128)],{'transport':_0x44c979['DvySY'],'toolName':_0x2dbb31}),_0x4e9526[_0x359398(0x113)](_0x359398(0xe5),{'transport':_0x359398(0x132),'toolName':_0x2dbb31,'bashCommandPreview':_0x44c979['vtQTx'](truncatePreview,_0x538d14)}),_0x44c979['EuGeZ'](_0x2dbb31,'snapshot')&&console['log'](_0x44c979[_0x359398(0xe1)](formatPlaywrightCliConsoleLogMessage,_0x512277,_0x538d14,_0x2dbb31)),{};},_0xeb72a1=async _0x2f381d=>{const _0x5670ed=_0x55684e;if(_0x44c979[_0x5670ed(0xaf)](_0x2f381d['hook_event_name'],_0x5670ed(0x125)))return{};const _0x2691ce=_0x2f381d;if(_0x2691ce['tool_name']!==_0x5670ed(0xa7))return{};return await _0x4e9526[_0x5670ed(0xeb)](_0x44c979[_0x5670ed(0xc0)],_0x2691ce[_0x5670ed(0x10e)],{'transport':_0x5670ed(0x132),'toolName':_0x5670ed(0xa7)}),{};};return{'postToolUseHook':_0x2f5229,'postToolUseFailureHook':_0xeb72a1,'commandCounts':_0x178770};}async function runPlaywrightCliLifecycleCommand(_0x30b1ea){const _0x455014=_0x1906,_0x5525b5={'iqcGc':function(_0x134a84,_0x3aa5df){return _0x134a84??_0x3aa5df;},'cFoBI':function(_0x32f36f,_0x3b0cca,_0x39cda5){return _0x32f36f(_0x3b0cca,_0x39cda5);}},{sessionId:_0x15ee24,configPath:_0x1cb610,commandArgs:_0x242f93,env:_0x79b7a,telemetry:_0x282777,phase:_0x159a7,metadata:_0x27a80d,timeoutMs:_0x350b3b}=_0x30b1ea;_0x282777[_0x455014(0xba)](_0x159a7,_0x27a80d);try{const _0x574887=await runPlaywrightCliCommand({'sessionId':_0x15ee24,'configPath':_0x1cb610,'commandArgs':_0x242f93,'cwd':process[_0x455014(0xbb)](),'env':_0x79b7a,'timeoutMs':_0x5525b5[_0x455014(0xae)](_0x350b3b,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x282777[_0x455014(0x113)](_0x159a7,{..._0x27a80d,'subcommand':_0x574887[_0x455014(0xaa)][_0x455014(0x106)],'stdoutPreview':_0x5525b5[_0x455014(0x133)](truncatePreview,_0x574887['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x574887[_0x455014(0x104)],0x7d0)});}catch(_0x32134c){await _0x282777[_0x455014(0xeb)](_0x159a7,_0x32134c,_0x27a80d);throw _0x32134c;}}export async function finalizeVerifyFeatureCliSession(_0x3d40f5){const _0x574673=_0x1906,_0x2e2eb6={'RDSys':'playwright_cli_video_stop','YRJoO':_0x574673(0x11b),'jGFUo':function(_0xa168af,_0x22be95){return _0xa168af(_0x22be95);}},{telemetry:_0x3098e5,sessionId:_0x2a3ef1,configPath:_0x1f9628,cliArtifactDir:_0x28632b,env:_0x21e1b2,transportMetadata:_0x4c006e}=_0x3d40f5,_0xbab236=[{'phase':'playwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x2e2eb6['RDSys'],'commandArgs':['video-stop',_0x574673(0xe3)+buildCliArtifactPath(_0x28632b,'session-recording.webm')]},{'phase':'playwright_cli_close','commandArgs':[_0x2e2eb6['YRJoO']]}];for(const _0x3d73cf of _0xbab236){try{await _0x2e2eb6['jGFUo'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x2a3ef1,'configPath':_0x1f9628,'commandArgs':[..._0x3d73cf[_0x574673(0xdb)]],'env':_0x21e1b2,'telemetry':_0x3098e5,'phase':_0x3d73cf['phase'],'metadata':_0x4c006e});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x2c39fc){const _0x45682c=_0x1906,_0x2f8a1d={'tZDQi':_0x45682c(0xcf),'YwWpn':function(_0x164885,_0x208c69,_0x17b58f){return _0x164885(_0x208c69,_0x17b58f);},'XNYyU':function(_0x138229,_0x534186){return _0x138229(_0x534186);}},_0x3bb9e9=[_0x45682c(0xb6),_0x2f8a1d[_0x45682c(0xe7)]];for(const _0x5152c4 of _0x3bb9e9){const _0x2e0015=_0x2f8a1d[_0x45682c(0xe9)](join,_0x2c39fc,_0x5152c4);try{return{'buffer':await _0x2f8a1d[_0x45682c(0x130)](readFile,_0x2e0015),'source':_0x2e0015};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x1eb370){const _0x47b175=_0x1906,_0xdd8929={'janFE':function(_0x326471,_0x4ff840,_0x1493c1){return _0x326471(_0x4ff840,_0x1493c1);},'DhBPt':function(_0x55f9f5,_0xb6764){return _0x55f9f5(_0xb6764);},'jbeng':function(_0x448827,_0x518712){return _0x448827<_0x518712;},'QMTEM':function(_0x6a91be,_0x15a995){return _0x6a91be+_0x15a995;},'stTPr':function(_0x18f614,_0x3bcd35){return _0x18f614===_0x3bcd35;},'xlARc':function(_0x8c448a,_0x12bfa2,_0x30883c){return _0x8c448a(_0x12bfa2,_0x30883c);}},{cwd:_0x3ca8ef,cliArtifactDir:_0xe808ad,startTime:_0x511164}=_0x1eb370,_0xeeca37=[];await _0xdd8929[_0x47b175(0xdc)](mkdir,_0xe808ad,{'recursive':!![]});const _0x2e3988=await _0xdd8929[_0x47b175(0xdc)](readdir,_0x3ca8ef,{'withFileTypes':!![]});for(const _0x5e6938 of _0x2e3988){if(!_0x5e6938[_0x47b175(0x12a)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x5e6938['name']))continue;const _0x5c1045=join(_0x3ca8ef,_0x5e6938['name']),_0xedbee5=await _0xdd8929['DhBPt'](stat,_0x5c1045);if(_0xdd8929[_0x47b175(0x107)](_0xdd8929['QMTEM'](_0xedbee5[_0x47b175(0xe6)],0x7d0),_0x511164))continue;const _0x42f27b=buildCliArtifactPath(_0xe808ad,_0x5e6938[_0x47b175(0x12d)]);if(_0xdd8929['stTPr'](_0x5c1045,_0x42f27b))continue;await _0xdd8929['xlARc'](rename,_0x5c1045,_0x42f27b),_0xeeca37[_0x47b175(0xf8)](_0x5e6938['name']);}return _0xeeca37['sort']();}
|
|
1
|
+
(function(_0x49e888,_0x447eaf){const _0x3fa4c0=_0x49a5,_0x46b51a=_0x49e888();while(!![]){try{const _0x2acfcb=parseInt(_0x3fa4c0(0x14b))/0x1+parseInt(_0x3fa4c0(0x157))/0x2*(parseInt(_0x3fa4c0(0x161))/0x3)+parseInt(_0x3fa4c0(0x10a))/0x4*(parseInt(_0x3fa4c0(0x10b))/0x5)+-parseInt(_0x3fa4c0(0x174))/0x6+parseInt(_0x3fa4c0(0xf2))/0x7*(parseInt(_0x3fa4c0(0x127))/0x8)+-parseInt(_0x3fa4c0(0x14d))/0x9+-parseInt(_0x3fa4c0(0x130))/0xa*(parseInt(_0x3fa4c0(0x145))/0xb);if(_0x2acfcb===_0x447eaf)break;else _0x46b51a['push'](_0x46b51a['shift']());}catch(_0x44e2cd){_0x46b51a['push'](_0x46b51a['shift']());}}}(_0x245b,0x8e7e6));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(_0x5aafc0,_0xd2cca5=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x1e0fa4=_0x49a5,_0x79a7b={'Tldcr':function(_0x21779b,_0x321b66){return _0x21779b>_0x321b66;},'kOOGD':'...'};return _0x79a7b[_0x1e0fa4(0xf5)](_0x5aafc0['length'],_0xd2cca5)?_0x5aafc0[_0x1e0fa4(0x153)](0x0,_0xd2cca5)+_0x79a7b[_0x1e0fa4(0xf6)]:_0x5aafc0;}function buildCliArtifactPath(_0x42449a,_0x2a051c){return join(_0x42449a,_0x2a051c);}function _0x245b(){const _0xaf1bd1=['sort','qWcww','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','Reviewer','bnfyK','trackPhaseStart','tool_name','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','347677kOBopD','test','values','join','element','\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.','941136jSPXDf','uaVNT','7936632dHWTgr','playwright_cli_video_stop','stringify','WPEXi','run\x20custom\x20Playwright\x20code','\x20screenshot\x20--filename\x20','slice','TpIkR','name','PostToolUseFailure','86XjScMC','QbTnJ','split','OkrFn','twwKJ','03_result-visible.png','target','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','zGwmc','BmRqj','5178wajtJo','-\x20[','unaddressedComments','dGqvD','env','trackPhaseEnd','stdout','start\x20video\x20recording','):\x20\x22','selector','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','\x20snapshot\x20--filename\x20','WHUSY','BhoIb','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','authorName','00_mozilla-homepage.yml','`\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`','2133114EzCIsx','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','short','\x22,\x20\x22','authorEmail','stop\x20video\x20recording','description','`\x0a-\x20`snapshot\x20--filename\x20','vIFIa','ccVTV','isFile','02_button-clicked.png','inZwe','video-stop','DZncx','NXXcf','hLlGi','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','Rjnyz','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','numeric','4578lbSGkr','run-code','pRaQt','Tldcr','kOOGD','DEBUG','jTPIN','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','ref\x20','press','stderr','01_initial-state.png','ubwsv','commandArgs','yTEcH','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','playwright-cli','PostToolUse','KBYKo','\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.','02_learn-more.yml','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','(?:^|\x5cs)','148936WShlYf','10VQuipS','`,\x20then\x20`','key_03_success-state.png','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','[ranger-verification-agent]\x20','OkSzk','trackPhaseError','OjgnD','select\x20tab','\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.','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','replace','tool_call','nfFKZ','mlDDK','length','snapshot','content','textContent','phase','key_04_success-state.png','\x20(on\x20element:\x20<','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','domRef','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','Bash','\x20open\x20','tab-select','12424HRvzJm','map','\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','tracing-stop','`\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','open','`\x0a9.\x20Run\x20`','FbLMl','en-US','90fTeuLE','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\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`','capture\x20snapshot\x20`','notes','canonicalFlow','stop\x20tracing','BuDLq','oeDQv','keys','ZADGt','close','open\x20browser'];_0x245b=function(){return _0xaf1bd1;};return _0x245b();}function toStepDisplayName(_0x33dadd){const _0x481464=_0x49a5,_0x12413d={'mlDDK':function(_0xbffbc8,_0x3d82a7){return _0xbffbc8(_0x3d82a7);}},_0x51c950=basename(_0x33dadd)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x481464(0x116)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x51c950,'isKeyStep':/^key_/i[_0x481464(0x146)](_0x12413d[_0x481464(0x119)](basename,_0x33dadd))};}function extractShellValue(_0x5b7233){if(!_0x5b7233)return null;return _0x5b7233[0x1]??_0x5b7233[0x2]??_0x5b7233[0x3]??null;}function extractFilenameOption(_0x2fce7a){return extractShellValue(_0x2fce7a['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x19d5e,_0x169b72){const _0x124f5d=_0x49a5,_0xb6e98e={'QbTnJ':'\x5c$&','hxVPO':function(_0x435f5f,_0x45e792){return _0x435f5f(_0x45e792);}},_0x442691=_0x169b72['replace'](/[.*+?^${}()|[\]\\]/g,_0xb6e98e[_0x124f5d(0x158)]);return _0xb6e98e['hxVPO'](extractShellValue,_0x19d5e['match'](new RegExp(_0x124f5d(0x109)+_0x442691+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x26f495){const _0x52db9a=_0x49a5,_0x43b721={'ZTdHT':function(_0x27747b,_0xa770ec,_0x499f08){return _0x27747b(_0xa770ec,_0x499f08);}};if(!_0x26f495)return _0x52db9a(0x15d);if(/^e\d+$/i['test'](_0x26f495))return _0x52db9a(0xfb)+_0x26f495;return JSON[_0x52db9a(0x14f)](_0x43b721['ZTdHT'](truncatePreview,_0x26f495,0x78));}function formatPlaywrightCliLog(_0x102c75,_0x41ec36){const _0x4ab8ad=_0x49a5,_0x34de1f={'BhoIb':_0x4ab8ad(0x12c),'OjgnD':function(_0x543889,_0x1e4ce8,_0x592e42){return _0x543889(_0x1e4ce8,_0x592e42);},'pRaQt':_0x4ab8ad(0x13c),'HCIQD':'start\x20tracing','cAgqV':_0x4ab8ad(0x12a),'ccVTV':_0x4ab8ad(0x136),'hmCqm':'video-start','FbLMl':'video-stop','nUxII':_0x4ab8ad(0x179),'GMdfJ':function(_0x25adde,_0x484169){return _0x25adde(_0x484169);},'zQAYr':'capture\x20screenshot','ubwsv':function(_0x521666,_0x47e2f0){return _0x521666(_0x47e2f0);},'inZwe':function(_0x4b5968,_0x488856,_0x4c84ee){return _0x4b5968(_0x488856,_0x4c84ee);},'sQotj':function(_0x1f6269,_0x20b085){return _0x1f6269(_0x20b085);},'nfFKZ':'tab-new'};switch(_0x41ec36){case _0x34de1f[_0x4ab8ad(0x16f)]:{const _0x25b99f=_0x34de1f[_0x4ab8ad(0x112)](extractFirstCommandArgument,_0x102c75,_0x41ec36);return _0x25b99f?'open\x20'+_0x25b99f:_0x34de1f[_0x4ab8ad(0xf4)];}case'tracing-start':return _0x34de1f['HCIQD'];case _0x34de1f['cAgqV']:return _0x34de1f[_0x4ab8ad(0x17d)];case _0x34de1f['hmCqm']:return _0x4ab8ad(0x168);case _0x34de1f[_0x4ab8ad(0x12e)]:return _0x34de1f['nUxII'];case _0x4ab8ad(0x11b):{const _0x3a9a50=extractFilenameOption(_0x102c75);if(!_0x3a9a50)return'capture\x20snapshot';const {name:_0x5cd39c}=_0x34de1f['GMdfJ'](toStepDisplayName,_0x3a9a50);return _0x4ab8ad(0x133)+_0x5cd39c+'`';}case'screenshot':{const _0xd25dd2=extractFilenameOption(_0x102c75);if(!_0xd25dd2)return _0x34de1f['zQAYr'];const {name:_0x2e8489,isKeyStep:_0x8135be}=toStepDisplayName(_0xd25dd2);return _0x8135be?'capture\x20key\x20step\x20`'+_0x2e8489+'`':'capture\x20step\x20`'+_0x2e8489+'`';}case'click':return'click\x20'+_0x34de1f[_0x4ab8ad(0xff)](formatCommandTarget,_0x34de1f['OjgnD'](extractFirstCommandArgument,_0x102c75,_0x41ec36));case'check':return'check\x20'+formatCommandTarget(extractFirstCommandArgument(_0x102c75,_0x41ec36));case'fill':return'fill\x20'+formatCommandTarget(_0x34de1f[_0x4ab8ad(0xe8)](extractFirstCommandArgument,_0x102c75,_0x41ec36));case _0x4ab8ad(0xfc):return'press\x20'+_0x34de1f['sQotj'](formatCommandTarget,extractFirstCommandArgument(_0x102c75,_0x41ec36));case _0x4ab8ad(0xf3):return _0x4ab8ad(0x151);case _0x34de1f[_0x4ab8ad(0x118)]:{const _0x2d251b=extractFirstCommandArgument(_0x102c75,_0x41ec36);return _0x2d251b?'open\x20new\x20tab\x20'+_0x2d251b:'open\x20new\x20tab';}case _0x4ab8ad(0x126):{const _0x2edb82=_0x34de1f[_0x4ab8ad(0xe8)](extractFirstCommandArgument,_0x102c75,_0x41ec36);return _0x2edb82?'select\x20tab\x20'+_0x2edb82:_0x4ab8ad(0x113);}default:return _0x41ec36;}}function extractPlaywrightCliToolDescription(_0x19674a){const _0x2700f5=_0x49a5,_0x1bb2a1=_0x19674a['description'];if(typeof _0x1bb2a1!=='string')return null;const _0x1bd28a=_0x1bb2a1['trim']()['replace'](/\s+/g,'\x20');return _0x1bd28a[_0x2700f5(0x11a)]>0x0?_0x1bd28a:null;}export function formatPlaywrightCliConsoleLogMessage(_0xe07aca,_0x21eb4d,_0xcb594b){const _0x2be2ea=_0x49a5,_0x1c0e37={'oeDQv':function(_0x130dd2,_0x3eead3){return _0x130dd2(_0x3eead3);}},_0x54062c=formatPlaywrightCliLog(_0x21eb4d,_0xcb594b),_0x571bd=_0x1c0e37[_0x2be2ea(0x138)](extractPlaywrightCliToolDescription,_0xe07aca);if(!_0x571bd)return'[playwright-cli]\x20'+_0x54062c;if(process[_0x2be2ea(0x165)][_0x2be2ea(0xf7)])return _0x2be2ea(0x10f)+_0x571bd+'\x20('+_0x54062c+')';return _0x2be2ea(0x10f)+_0x571bd;}export function buildVerifyFeatureCliDebugPrompt(_0x5a8621,_0x28758e){const _0x8cdc2b=_0x49a5,_0x3b8d20={'dGqvD':function(_0x5d52ed,_0x2e457a,_0x19bbb8){return _0x5d52ed(_0x2e457a,_0x19bbb8);},'jTPIN':function(_0x123628,_0x577604,_0x414930){return _0x123628(_0x577604,_0x414930);},'OkrFn':'03_learn-more.png','vIFIa':function(_0x2b80a8,_0x5be207){return _0x2b80a8(_0x5be207);}},_0x42f2fc=buildCliArtifactPath(_0x28758e,_0x8cdc2b(0x172)),_0x36fda5=buildCliArtifactPath(_0x28758e,'01_mozilla-homepage.png'),_0x538297=_0x3b8d20[_0x8cdc2b(0x164)](buildCliArtifactPath,_0x28758e,_0x8cdc2b(0x107)),_0x57f591=_0x3b8d20[_0x8cdc2b(0xf8)](buildCliArtifactPath,_0x28758e,_0x3b8d20[_0x8cdc2b(0x15a)]),_0xd1517b=_0x3b8d20[_0x8cdc2b(0x17c)](quoteShellArg,_0x42f2fc),_0x1dccbd=quoteShellArg(_0x36fda5),_0x16ca52=quoteShellArg(_0x538297),_0x43855f=_0x3b8d20['vIFIa'](quoteShellArg,_0x57f591);return _0x8cdc2b(0x15e)+_0x5a8621+'\x0a\x0a1.\x20Run\x20`'+_0x5a8621+_0x8cdc2b(0x121)+_0x5a8621+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x5a8621+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x28758e+_0x8cdc2b(0x144)+_0x5a8621+'\x20snapshot\x20--filename\x20'+_0xd1517b+_0x8cdc2b(0x102)+_0x5a8621+'\x20screenshot\x20--filename\x20'+_0x1dccbd+_0x8cdc2b(0x16c)+_0x5a8621+_0x8cdc2b(0x16d)+_0x16ca52+_0x8cdc2b(0x12d)+_0x5a8621+_0x8cdc2b(0x152)+_0x43855f+_0x8cdc2b(0x123);}export function buildVerifyFeatureCliPrompt(_0xd09e01){const _0x17d872=_0x49a5,_0x2653c9={'BmRqj':_0x17d872(0x176),'FapwP':_0x17d872(0xf1),'ocehI':_0x17d872(0x140),'HjFCl':_0x17d872(0x149),'XLGuW':'02_state.yml','aTMhb':function(_0x528e40,_0x15c4ca,_0x1b8255){return _0x528e40(_0x15c4ca,_0x1b8255);},'BSIgp':_0x17d872(0x10d),'Rjnyz':function(_0x21e130,_0xe748c1,_0x490814){return _0x21e130(_0xe748c1,_0x490814);},'OkSzk':_0x17d872(0xfe),'IQkps':function(_0x439331,_0xefc282){return _0x439331(_0xefc282);},'qqGLb':function(_0x48b465,_0x24ef61){return _0x48b465>_0x24ef61;},'NXXcf':function(_0x424add,_0xd830ef){return _0x424add(_0xd830ef);},'qfJlS':function(_0x16fd08,_0x8f99bc,_0x39e8d1){return _0x16fd08(_0x8f99bc,_0x39e8d1);},'bnfyK':_0x17d872(0xe7),'WPEXi':_0x17d872(0x15c)},{checklistItem:_0x54ab6e,itemFeedback:_0x1e0323,taskDescription:_0xff06e8,cliCommandPrefix:_0x11d8a5,cliArtifactDir:_0x5eca7f,isCdpMode:_0x57aafa,url:_0x3a59d9,cdpEndpoint:_0x1ad1d2,loginInstructions:_0x36da80}=_0xd09e01,_0x4d1535=buildCliArtifactPath(_0x5eca7f,'01_initial.yml'),_0x2655c8=buildCliArtifactPath(_0x5eca7f,_0x2653c9['XLGuW']),_0x45ff20=_0x2653c9['aTMhb'](buildCliArtifactPath,_0x5eca7f,_0x2653c9['BSIgp']),_0x301220=_0x2653c9['Rjnyz'](buildCliArtifactPath,_0x5eca7f,_0x2653c9[_0x17d872(0x110)]),_0x17080b=_0x2653c9['IQkps'](quoteShellArg,_0x4d1535),_0x52dfa8=quoteShellArg(_0x2655c8),_0x13eb91=_0x2653c9['IQkps'](quoteShellArg,_0x45ff20),_0x16388c=quoteShellArg(_0x301220),_0x561fce=_0x54ab6e[_0x17d872(0x134)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x54ab6e['notes']:'';let _0x1bc343='';if(_0x1e0323&&_0x2653c9['qqGLb'](_0x1e0323[_0x17d872(0x163)]['length'],0x0)){const _0x58a923=_0x1e0323['unaddressedComments'][_0x17d872(0x128)](_0x3ac271=>{const _0x20046b=_0x17d872,_0x587a3b=new Date(_0x3ac271['createdAt'])['toLocaleDateString'](_0x20046b(0x12f),{'month':_0x2653c9[_0x20046b(0x160)],'day':_0x2653c9['FapwP']}),_0x1c16c7=_0x3ac271[_0x20046b(0x171)]||_0x3ac271[_0x20046b(0x178)]||_0x2653c9['ocehI'],_0x156b66=_0x3ac271[_0x20046b(0x122)]?_0x20046b(0x120)+(_0x3ac271['domRef'][_0x20046b(0x16a)]['split']('\x20>\x20')['pop']()?.[_0x20046b(0x159)](':')[0x0]||_0x2653c9['HjFCl'])+'>\x20\x22'+(_0x3ac271[_0x20046b(0x122)][_0x20046b(0x11d)]||'')[_0x20046b(0x153)](0x0,0x32)+'\x22)':'';return _0x20046b(0x162)+_0x3ac271['id']+']\x20**'+_0x1c16c7+'**\x20('+_0x587a3b+_0x20046b(0x169)+_0x3ac271[_0x20046b(0x11c)]+'\x22'+_0x156b66;})[_0x17d872(0x148)]('\x0a');_0x1bc343='\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'+_0x58a923;}const _0x224f38=_0x1e0323?.['canonicalFlow']?_0x17d872(0x108)+_0x1e0323[_0x17d872(0x135)]:'',_0x199307=_0x57aafa?_0x17d872(0x13f)+_0x1ad1d2+_0x17d872(0x10e):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x3a59d9+'\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',_0x34ca05=_0x3a59d9?_0x2653c9[_0x17d872(0xeb)](quoteShellArg,_0x3a59d9):'',_0x55bf0f=_0x57aafa?_0x17d872(0x16b)+_0x11d8a5+'\x20open`,\x20then\x20`'+_0x11d8a5+'\x20tracing-start`,\x20then\x20`'+_0x11d8a5+_0x17d872(0xf0)+_0x5eca7f+_0x17d872(0x170)+_0x11d8a5+_0x17d872(0x16d)+_0x17080b+_0x17d872(0x132)+_0x11d8a5+'\x20screenshot\x20--filename\x20'+_0x16388c+_0x17d872(0x131)+_0x11d8a5+'\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':_0x17d872(0x16b)+_0x11d8a5+_0x17d872(0x125)+_0x34ca05+_0x17d872(0x10c)+_0x11d8a5+'\x20tracing-start`,\x20then\x20`'+_0x11d8a5+_0x17d872(0xf0)+_0x5eca7f+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x11d8a5+_0x17d872(0x16d)+_0x17080b+_0x17d872(0x173)+_0x11d8a5+'\x20screenshot\x20--filename\x20'+_0x16388c+_0x17d872(0x115)+_0x11d8a5+'\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',_0x5e96cd=_0x57aafa?_0x17d872(0x14a):_0x17d872(0x106),_0x4d4710=_0x36da80?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x36da80+_0x17d872(0xfa):'';return _0x17d872(0xee)+_0x54ab6e[_0x17d872(0x17a)]+_0x561fce+_0x1bc343+_0x224f38+_0x17d872(0x175)+_0xff06e8+'\x0a\x0a'+_0x199307+_0x4d4710+'\x0a\x0a'+_0x55bf0f+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x11d8a5+_0x17d872(0xed)+_0x5eca7f+_0x17d872(0x17b)+_0x52dfa8+_0x17d872(0x12b)+_0x13eb91+'`\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`'+_0x5eca7f+'`:\x20\x22'+_0x301220+_0x17d872(0x177)+_0x2653c9['qfJlS'](buildCliArtifactPath,_0x5eca7f,_0x2653c9[_0x17d872(0x141)])+_0x17d872(0x177)+_0x2653c9[_0x17d872(0xef)](buildCliArtifactPath,_0x5eca7f,_0x2653c9[_0x17d872(0x150)])+_0x17d872(0x129)+buildCliArtifactPath(_0x5eca7f,_0x17d872(0x11f))+_0x17d872(0xf9)+_0x5e96cd+_0x17d872(0x114);}function _0x49a5(_0x84263c,_0x254d63){_0x84263c=_0x84263c-0xe6;const _0x245bfb=_0x245b();let _0x49a51b=_0x245bfb[_0x84263c];return _0x49a51b;}export function summarizeVerifyFeatureCliCommandAvailability(_0xe044de){const _0xa25f3=_0x49a5,_0x2cd6ea={'qiFSb':function(_0x4a11fe,_0xd6618a){return _0x4a11fe===_0xd6618a;}},_0x2081fc=[..._0xe044de[_0xa25f3(0x139)]()][_0xa25f3(0x13d)]();let _0x2600c0=0x0;for(const _0x431cf6 of _0xe044de[_0xa25f3(0x147)]()){_0x2600c0+=_0x431cf6;}return{'cliCommandCount':_0x2600c0,'cliCommandsSeen':_0x2081fc,'noCliCommandsCalled':_0x2cd6ea['qiFSb'](_0x2600c0,0x0)};}export function createVerifyFeatureCliHooks(_0x1fd72e){const _0x565236=_0x49a5,_0x47d643={'twwKJ':function(_0x314144,_0x159552){return _0x314144!==_0x159552;},'BuDLq':_0x565236(0x104),'aWRzN':function(_0x4d8e05,_0x3ea081){return _0x4d8e05!==_0x3ea081;},'oBpKx':function(_0x2788f3,_0x39a303){return _0x2788f3(_0x39a303);},'UNaiz':function(_0x43fafb,_0x4e5c27){return _0x43fafb+_0x4e5c27;},'qWcww':_0x565236(0x103),'hLlGi':_0x565236(0x117),'GvkSp':function(_0x345acb,_0xe5b061){return _0x345acb!==_0xe5b061;},'DZncx':_0x565236(0x124)},_0x40fd24=new Map(),_0x17c23d=async _0x957ce=>{const _0x11e1be=_0x565236;if(_0x47d643[_0x11e1be(0x15b)](_0x957ce['hook_event_name'],_0x47d643[_0x11e1be(0x137)]))return{};const _0x4c92b8=_0x957ce;if(_0x47d643['aWRzN'](_0x4c92b8[_0x11e1be(0x143)],_0x11e1be(0x124)))return{};const _0x5bbef2=_0x4c92b8['tool_input'],_0x3dd277=_0x47d643['oBpKx'](extractBashCommand,_0x5bbef2);if(!_0x3dd277)return{};const _0x6f50d5=parsePlaywrightCliCommand(_0x3dd277);if(!_0x6f50d5)return{};return _0x40fd24['set'](_0x6f50d5,_0x47d643['UNaiz'](_0x40fd24['get'](_0x6f50d5)||0x0,0x1)),_0x1fd72e[_0x11e1be(0x142)]('tool_call',{'transport':_0x47d643[_0x11e1be(0x13e)],'toolName':_0x6f50d5}),_0x1fd72e[_0x11e1be(0x166)](_0x47d643[_0x11e1be(0xec)],{'transport':'playwright-cli','toolName':_0x6f50d5,'bashCommandPreview':truncatePreview(_0x3dd277)}),_0x47d643['GvkSp'](_0x6f50d5,_0x11e1be(0x11b))&&console['log'](formatPlaywrightCliConsoleLogMessage(_0x5bbef2,_0x3dd277,_0x6f50d5)),{};},_0x57173e=async _0x2f5523=>{const _0x1df2cc=_0x565236;if(_0x47d643['GvkSp'](_0x2f5523['hook_event_name'],_0x1df2cc(0x156)))return{};const _0x1cd4ad=_0x2f5523;if(_0x47d643['twwKJ'](_0x1cd4ad['tool_name'],_0x1df2cc(0x124)))return{};return await _0x1fd72e['trackPhaseError']('tool_failure',_0x1cd4ad['error'],{'transport':'playwright-cli','toolName':_0x47d643[_0x1df2cc(0xea)]}),{};};return{'postToolUseHook':_0x17c23d,'postToolUseFailureHook':_0x57173e,'commandCounts':_0x40fd24};}async function runPlaywrightCliLifecycleCommand(_0xf41f6f){const _0x18c226=_0x49a5,_0x3fd6f9={'NnyRk':function(_0x5e865c,_0x5dfc4f,_0x9aaef6){return _0x5e865c(_0x5dfc4f,_0x9aaef6);}},{sessionId:_0x3d609f,configPath:_0x26a63c,commandArgs:_0x43224a,env:_0x11d1f1,telemetry:_0x3fe71a,phase:_0x9d9eaa,metadata:_0x126195,timeoutMs:_0x5e2939}=_0xf41f6f;_0x3fe71a['trackPhaseStart'](_0x9d9eaa,_0x126195);try{const _0x273337=await runPlaywrightCliCommand({'sessionId':_0x3d609f,'configPath':_0x26a63c,'commandArgs':_0x43224a,'cwd':process['cwd'](),'env':_0x11d1f1,'timeoutMs':_0x5e2939??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x3fe71a[_0x18c226(0x166)](_0x9d9eaa,{..._0x126195,'subcommand':_0x273337['invocation']['subcommand'],'stdoutPreview':_0x3fd6f9['NnyRk'](truncatePreview,_0x273337[_0x18c226(0x167)],0x7d0),'stderrPreview':truncatePreview(_0x273337[_0x18c226(0xfd)],0x7d0)});}catch(_0x4796ee){await _0x3fe71a[_0x18c226(0x111)](_0x9d9eaa,_0x4796ee,_0x126195);throw _0x4796ee;}}export async function finalizeVerifyFeatureCliSession(_0x4ef0ba){const _0x3cbd31=_0x49a5,_0x5b8e51={'zGwmc':'tracing-stop','ZADGt':'session-recording.webm','TpIkR':_0x3cbd31(0x13b),'cBhvR':function(_0x460fbb,_0x592770){return _0x460fbb(_0x592770);}},{telemetry:_0x3fd091,sessionId:_0x904b8,configPath:_0x5656c2,cliArtifactDir:_0x52c028,env:_0x483660,transportMetadata:_0x7db437}=_0x4ef0ba,_0x5eaff3=[{'phase':'playwright_cli_tracing_stop','commandArgs':[_0x5b8e51[_0x3cbd31(0x15f)]]},{'phase':_0x3cbd31(0x14e),'commandArgs':[_0x3cbd31(0xe9),'--filename='+buildCliArtifactPath(_0x52c028,_0x5b8e51[_0x3cbd31(0x13a)])]},{'phase':'playwright_cli_close','commandArgs':[_0x5b8e51[_0x3cbd31(0x154)]]}];for(const _0x197c46 of _0x5eaff3){try{await _0x5b8e51['cBhvR'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x904b8,'configPath':_0x5656c2,'commandArgs':[..._0x197c46[_0x3cbd31(0x100)]],'env':_0x483660,'telemetry':_0x3fd091,'phase':_0x197c46[_0x3cbd31(0x11e)],'metadata':_0x7db437});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x89b581){const _0x4cf83e=_0x49a5,_0x2a8037={'yTEcH':'trace.zip','KBYKo':function(_0x1549e3,_0x4d8911,_0x55118c){return _0x1549e3(_0x4d8911,_0x55118c);}},_0x4d05b9=[_0x2a8037[_0x4cf83e(0x101)],'trace.trace.zip'];for(const _0x53a3c4 of _0x4d05b9){const _0x14467c=_0x2a8037[_0x4cf83e(0x105)](join,_0x89b581,_0x53a3c4);try{return{'buffer':await readFile(_0x14467c),'source':_0x14467c};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x52d17c){const _0x480358=_0x49a5,_0x5aae2c={'URrMb':function(_0x4dcb53,_0x133cd7,_0x286f66){return _0x4dcb53(_0x133cd7,_0x286f66);},'WHUSY':function(_0x26433f,_0x3f5f7f){return _0x26433f(_0x3f5f7f);},'uaVNT':function(_0xeed622,_0x21084a){return _0xeed622+_0x21084a;}},{cwd:_0x5f0fa0,cliArtifactDir:_0x2e80e7,startTime:_0x535006}=_0x52d17c,_0x154775=[];await _0x5aae2c['URrMb'](mkdir,_0x2e80e7,{'recursive':!![]});const _0x44de32=await _0x5aae2c['URrMb'](readdir,_0x5f0fa0,{'withFileTypes':!![]});for(const _0x489b84 of _0x44de32){if(!_0x489b84[_0x480358(0xe6)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x480358(0x146)](_0x489b84['name']))continue;const _0x39cf31=join(_0x5f0fa0,_0x489b84[_0x480358(0x155)]),_0x3d83a9=await _0x5aae2c[_0x480358(0x16e)](stat,_0x39cf31);if(_0x5aae2c[_0x480358(0x14c)](_0x3d83a9['mtimeMs'],0x7d0)<_0x535006)continue;const _0x1456b9=_0x5aae2c['URrMb'](buildCliArtifactPath,_0x2e80e7,_0x489b84[_0x480358(0x155)]);if(_0x39cf31===_0x1456b9)continue;await rename(_0x39cf31,_0x1456b9),_0x154775['push'](_0x489b84['name']);}return _0x154775[_0x480358(0x13d)]();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.4-alpha.ed286f1-2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"obfuscate": "node scripts/obfuscate.cjs",
|
|
13
13
|
"dev": "tsx src/cli.ts",
|
|
14
14
|
"check-playwright-version": "node scripts/check-playwright-version.cjs",
|
|
15
|
-
"postinstall": "node scripts/postinstall.js"
|
|
15
|
+
"postinstall": "node scripts/postinstall.js",
|
|
16
|
+
"test": "jest --config jest.config.cjs"
|
|
16
17
|
},
|
|
17
18
|
"files": [
|
|
18
19
|
"build",
|
|
@@ -29,9 +30,12 @@
|
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
32
|
"@types/inquirer": "^9.0.7",
|
|
33
|
+
"@types/jest": "^29.5.0",
|
|
32
34
|
"@types/node": "^22.0.0",
|
|
33
35
|
"@types/yargs": "^17.0.32",
|
|
36
|
+
"jest": "^29.7.0",
|
|
34
37
|
"javascript-obfuscator": "^4.1.1",
|
|
38
|
+
"ts-jest": "^29.1.0",
|
|
35
39
|
"tsx": "^4.20.6",
|
|
36
40
|
"typescript": "^5.0.0"
|
|
37
41
|
},
|