@ranger-testing/ranger-cli 3.0.1-alpha.ffffb5b-28 → 3.1.1-alpha.b22d278-38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -0
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -0
- 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/tunnelClient.js +1 -0
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -0
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x937ffc,_0xaab4f4){const _0x1530cd=_0x4ba3,_0x3b2f97=_0x937ffc();while(!![]){try{const _0x3907ee=parseInt(_0x1530cd(0x160))/0x1+parseInt(_0x1530cd(0x17d))/0x2*(parseInt(_0x1530cd(0x18c))/0x3)+-parseInt(_0x1530cd(0x192))/0x4+-parseInt(_0x1530cd(0x194))/0x5*(parseInt(_0x1530cd(0x1c4))/0x6)+-parseInt(_0x1530cd(0x19c))/0x7+-parseInt(_0x1530cd(0x183))/0x8*(parseInt(_0x1530cd(0x190))/0x9)+-parseInt(_0x1530cd(0x1c8))/0xa*(-parseInt(_0x1530cd(0x171))/0xb);if(_0x3907ee===_0xaab4f4)break;else _0x3b2f97['push'](_0x3b2f97['shift']());}catch(_0x5485d1){_0x3b2f97['push'](_0x3b2f97['shift']());}}}(_0x22d0,0xa94b6));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';const PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,PLAYWRIGHT_CLI_PREVIEW_LIMIT=0xf0,VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|session-recording(?:-\d+)?\.webm|trace(?:\.trace)?(?:-\d+)?\.zip|current_snap\.ya?ml)$/i;function truncatePreview(_0xc7f5ac,_0x4309fa=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x36db44=_0x4ba3,_0x47089d={'Svaoe':function(_0x1323d4,_0x55e8c5){return _0x1323d4>_0x55e8c5;}};return _0x47089d[_0x36db44(0x1cc)](_0xc7f5ac['length'],_0x4309fa)?_0xc7f5ac[_0x36db44(0x195)](0x0,_0x4309fa)+_0x36db44(0x186):_0xc7f5ac;}function buildCliArtifactPath(_0xc4ba68,_0x23d15c){return join(_0xc4ba68,_0x23d15c);}function _0x22d0(){const _0x128a01=['jmQuE','`,\x20then\x20`','tab-new','open\x20new\x20tab','playwright_cli_video_stop',']\x20**','select\x20tab\x20','\x22,\x20\x22','select\x20tab','anxgt','NXqqG','312751IuVgIy','eZBQS','push','Bash','lJSIt','twEuU','\x20tracing-start`\x0a3.\x20Run\x20`','tool_failure','CQcww','capture\x20snapshot\x20`','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x0a\x0a1.\x20Run\x20`','error','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','check','FMlqe','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','85206BdLoEE','tool_call','wCvoa','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','bSwFB','match','QQkZR','WAsTx','\x5c$&','replace','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','zxQIA','42296osadAW','tool_name','env','tjOuT','CHqzr','canonicalFlow','1016KqSvRm','video-start','BZRnd','...','stop\x20video\x20recording','BxmlV','textContent','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','trackPhaseStart','93tCjQrz','name','WQeGB','authorEmail','16938UzDDwr','hook_event_name','2979988vlMoKo','\x20(on\x20element:\x20<','113335Adrvss','slice','VMGaG','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','sort','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','pop','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20Playwright\x20CLI\x20screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames\x20under\x20`','1618344aKCFxZ','log','dWqsV','efMco','VgrAr','stdout','tracing-start','QIrSW','open\x20browser','split','\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','key_03_success-state.png','Reviewer','gsHQO','KTRPS','zIWdy','tracing-stop','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','open','short','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','fill\x20','unaddressedComments','xyEBv','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','trace.trace.zip','mtimeMs','numeric','\x20snapshot\x20--filename\x20','playwright-cli','TiSiK','NBIVJ','screenshot','LwasC','stderr','phase','owArR','notes','**\x20(','string','276iDXTul','`:\x20\x22','02_learn-more.yml','set','2560xjyBEe','02_button-clicked.png','map','snapshot','Svaoe','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','IbcHh','NMQDO','\x20tracing-start`,\x20then\x20`','cwd','PostToolUseFailure','subcommand','\x20screenshot\x20--filename\x20'];_0x22d0=function(){return _0x128a01;};return _0x22d0();}function toStepDisplayName(_0x5ce2c1){const _0x140fef=_0x4ba3,_0x4462b7=basename(_0x5ce2c1)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x140fef(0x17a)](/^key_/i,'')[_0x140fef(0x17a)](/^\d+_/,'')[_0x140fef(0x17a)](/-/g,'\x20');return{'name':_0x4462b7,'isKeyStep':/^key_/i['test'](basename(_0x5ce2c1))};}function extractShellValue(_0x2f66f9){if(!_0x2f66f9)return null;return _0x2f66f9[0x1]??_0x2f66f9[0x2]??_0x2f66f9[0x3]??null;}function extractFilenameOption(_0xf9ea23){const _0x38c70c=_0x4ba3,_0x5bb96b={'wxHWL':function(_0x4171e0,_0x2753f7){return _0x4171e0(_0x2753f7);}};return _0x5bb96b['wxHWL'](extractShellValue,_0xf9ea23[_0x38c70c(0x176)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x7b9f9f,_0x5bb729){const _0x299741=_0x4ba3,_0x495c93={'YLZIi':_0x299741(0x179),'lJSIt':function(_0x1caea1,_0x3ef7eb){return _0x1caea1(_0x3ef7eb);}},_0x58b409=_0x5bb729['replace'](/[.*+?^${}()|[\]\\]/g,_0x495c93['YLZIi']);return _0x495c93[_0x299741(0x164)](extractShellValue,_0x7b9f9f['match'](new RegExp('(?:^|\x5cs)'+_0x58b409+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x54fe16){if(!_0x54fe16)return'target';if(/^e\d+$/i['test'](_0x54fe16))return'ref\x20'+_0x54fe16;return JSON['stringify'](truncatePreview(_0x54fe16,0x78));}function formatPlaywrightCliLog(_0x1b06eb,_0x2ab031){const _0x86ed1a=_0x4ba3,_0x387f6d={'jmQuE':_0x86ed1a(0x1ae),'YGIrn':_0x86ed1a(0x1a2),'FMlqe':_0x86ed1a(0x184),'Toyvv':'start\x20video\x20recording','JTnVc':_0x86ed1a(0x1cb),'EIJke':'capture\x20screenshot','ZwYKB':'click','HwPRt':function(_0x7071a,_0x465f54,_0x51bd38){return _0x7071a(_0x465f54,_0x51bd38);},'zxQIA':function(_0x2cbff3,_0x127dff){return _0x2cbff3(_0x127dff);},'owArR':function(_0x25ff70,_0x1b8de4,_0x56659d){return _0x25ff70(_0x1b8de4,_0x56659d);},'eZBQS':function(_0x44351b,_0x2a8a0f){return _0x44351b(_0x2a8a0f);},'dWqsV':function(_0x3de911,_0x29ed96,_0xc67c78){return _0x3de911(_0x29ed96,_0xc67c78);},'gsHQO':'run-code','jUpdm':'tab-select'};switch(_0x2ab031){case _0x387f6d[_0x86ed1a(0x155)]:{const _0x3bc115=extractFirstCommandArgument(_0x1b06eb,_0x2ab031);return _0x3bc115?'open\x20'+_0x3bc115:_0x86ed1a(0x1a4);}case _0x387f6d['YGIrn']:return'start\x20tracing';case _0x86ed1a(0x1ac):return'stop\x20tracing';case _0x387f6d[_0x86ed1a(0x16f)]:return _0x387f6d['Toyvv'];case'video-stop':return _0x86ed1a(0x187);case _0x387f6d['JTnVc']:{const _0x291d74=extractFilenameOption(_0x1b06eb);if(!_0x291d74)return'capture\x20snapshot';const {name:_0x32ff47}=toStepDisplayName(_0x291d74);return _0x86ed1a(0x169)+_0x32ff47+'`';}case _0x86ed1a(0x1bc):{const _0x31239f=extractFilenameOption(_0x1b06eb);if(!_0x31239f)return _0x387f6d['EIJke'];const {name:_0x4334ca,isKeyStep:_0x1b9d83}=toStepDisplayName(_0x31239f);return _0x1b9d83?'capture\x20key\x20step\x20`'+_0x4334ca+'`':'capture\x20step\x20`'+_0x4334ca+'`';}case _0x387f6d['ZwYKB']:return'click\x20'+formatCommandTarget(_0x387f6d['HwPRt'](extractFirstCommandArgument,_0x1b06eb,_0x2ab031));case _0x86ed1a(0x16e):return'check\x20'+_0x387f6d[_0x86ed1a(0x17c)](formatCommandTarget,_0x387f6d['owArR'](extractFirstCommandArgument,_0x1b06eb,_0x2ab031));case'fill':return _0x86ed1a(0x1b1)+formatCommandTarget(extractFirstCommandArgument(_0x1b06eb,_0x2ab031));case'press':return'press\x20'+_0x387f6d[_0x86ed1a(0x161)](formatCommandTarget,_0x387f6d[_0x86ed1a(0x19e)](extractFirstCommandArgument,_0x1b06eb,_0x2ab031));case _0x387f6d[_0x86ed1a(0x1a9)]:return'run\x20custom\x20Playwright\x20code';case _0x86ed1a(0x157):{const _0x24f946=_0x387f6d[_0x86ed1a(0x1c0)](extractFirstCommandArgument,_0x1b06eb,_0x2ab031);return _0x24f946?'open\x20new\x20tab\x20'+_0x24f946:_0x86ed1a(0x158);}case _0x387f6d['jUpdm']:{const _0x48cfbf=extractFirstCommandArgument(_0x1b06eb,_0x2ab031);return _0x48cfbf?_0x86ed1a(0x15b)+_0x48cfbf:_0x86ed1a(0x15d);}default:return _0x2ab031;}}function _0x4ba3(_0x30a51e,_0x5ab915){_0x30a51e=_0x30a51e-0x14e;const _0x22d029=_0x22d0();let _0x4ba310=_0x22d029[_0x30a51e];return _0x4ba310;}function extractPlaywrightCliToolDescription(_0x4908dd){const _0x298c94=_0x4ba3,_0x118b78={'TiSiK':function(_0x1354b6,_0x11db5e){return _0x1354b6!==_0x11db5e;},'WQeGB':_0x298c94(0x1c3)},_0x552b03=_0x4908dd['description'];if(_0x118b78[_0x298c94(0x1ba)](typeof _0x552b03,_0x118b78[_0x298c94(0x18e)]))return null;const _0x555483=_0x552b03['trim']()[_0x298c94(0x17a)](/\s+/g,'\x20');return _0x555483['length']>0x0?_0x555483:null;}export function formatPlaywrightCliConsoleLogMessage(_0x2d1b90,_0x51b3c7,_0x459e96){const _0x33e58e=_0x4ba3,_0x37c172={'UnXNB':function(_0x21936c,_0x19e2c1,_0x4819f4){return _0x21936c(_0x19e2c1,_0x4819f4);}},_0x3ac356=_0x37c172['UnXNB'](formatPlaywrightCliLog,_0x51b3c7,_0x459e96),_0x4411d0=extractPlaywrightCliToolDescription(_0x2d1b90);if(!_0x4411d0)return'[playwright-cli]\x20'+_0x3ac356;if(process[_0x33e58e(0x17f)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x4411d0+'\x20('+_0x3ac356+')';return'[ranger-verification-agent]\x20'+_0x4411d0;}export function buildVerifyFeatureCliDebugPrompt(_0x11537c,_0x1184e5){const _0x57b2c2=_0x4ba3,_0x3aa1f8={'efMco':function(_0x3fb0f7,_0x164905,_0x560354){return _0x3fb0f7(_0x164905,_0x560354);},'NMQDO':'01_mozilla-homepage.png','qKvUE':_0x57b2c2(0x1c6),'NXqqG':'03_learn-more.png','aYJvW':function(_0x36c67d,_0x427b7b){return _0x36c67d(_0x427b7b);}},_0x1e78a6=_0x3aa1f8[_0x57b2c2(0x19f)](buildCliArtifactPath,_0x1184e5,'00_mozilla-homepage.yml'),_0x40c33a=_0x3aa1f8[_0x57b2c2(0x19f)](buildCliArtifactPath,_0x1184e5,_0x3aa1f8[_0x57b2c2(0x14f)]),_0x5c9241=buildCliArtifactPath(_0x1184e5,_0x3aa1f8['qKvUE']),_0x36b21d=buildCliArtifactPath(_0x1184e5,_0x3aa1f8[_0x57b2c2(0x15f)]),_0x532844=quoteShellArg(_0x1e78a6),_0x4f7a4f=quoteShellArg(_0x40c33a),_0x56bf1c=quoteShellArg(_0x5c9241),_0x59de24=_0x3aa1f8['aYJvW'](quoteShellArg,_0x36b21d);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x11537c+_0x57b2c2(0x16b)+_0x11537c+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x11537c+_0x57b2c2(0x166)+_0x11537c+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1184e5+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x11537c+'\x20snapshot\x20--filename\x20'+_0x532844+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x11537c+_0x57b2c2(0x154)+_0x4f7a4f+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x11537c+'\x20snapshot\x20--filename\x20'+_0x56bf1c+'`\x0a9.\x20Run\x20`'+_0x11537c+_0x57b2c2(0x154)+_0x59de24+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x5457ee){const _0x3cbd38=_0x4ba3,_0x2af660={'VMGaG':'en-US','IbcHh':_0x3cbd38(0x1af),'ROmqp':_0x3cbd38(0x1b7),'NBIVJ':'\x20>\x20','BEOfA':'element','CHqzr':function(_0x39311e,_0x53a840,_0x56c15d){return _0x39311e(_0x53a840,_0x56c15d);},'EyrVa':'02_state.yml','wCvoa':function(_0x36f1d6,_0x5c5327,_0x48a974){return _0x36f1d6(_0x5c5327,_0x48a974);},'VgrAr':function(_0x3c458a,_0x3803f5){return _0x3c458a(_0x3803f5);},'xyEBv':function(_0x3e37d3,_0x55c330){return _0x3e37d3(_0x55c330);},'SiCgc':'03_result-visible.png','QIrSW':'key_04_success-state.png'},{checklistItem:_0x1059de,itemFeedback:_0x275144,taskDescription:_0x111ed9,cliCommandPrefix:_0xf6c6e3,cliArtifactDir:_0x1db481,isCdpMode:_0x100317,url:_0x166fda,cdpEndpoint:_0x659c1a,loginInstructions:_0x47232b}=_0x5457ee,_0x3db2fc=_0x2af660[_0x3cbd38(0x181)](buildCliArtifactPath,_0x1db481,'01_initial.yml'),_0x1d4c00=_0x2af660['CHqzr'](buildCliArtifactPath,_0x1db481,_0x2af660['EyrVa']),_0xf53b45=_0x2af660[_0x3cbd38(0x173)](buildCliArtifactPath,_0x1db481,_0x3cbd38(0x1a7)),_0x460f47=_0x2af660['wCvoa'](buildCliArtifactPath,_0x1db481,'01_initial-state.png'),_0x33ccac=_0x2af660[_0x3cbd38(0x1a0)](quoteShellArg,_0x3db2fc),_0x4bdea3=_0x2af660[_0x3cbd38(0x1b3)](quoteShellArg,_0x1d4c00),_0x14486a=quoteShellArg(_0xf53b45),_0x3b8288=_0x2af660[_0x3cbd38(0x1a0)](quoteShellArg,_0x460f47),_0x445331=_0x1059de[_0x3cbd38(0x1c1)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1059de[_0x3cbd38(0x1c1)]:'';let _0x21717c='';if(_0x275144&&_0x275144[_0x3cbd38(0x1b2)]['length']>0x0){const _0x4a5af0=_0x275144[_0x3cbd38(0x1b2)][_0x3cbd38(0x1ca)](_0x1de2bf=>{const _0x4fe870=_0x3cbd38,_0x3b2d81=new Date(_0x1de2bf['createdAt'])['toLocaleDateString'](_0x2af660[_0x4fe870(0x196)],{'month':_0x2af660[_0x4fe870(0x14e)],'day':_0x2af660['ROmqp']}),_0x16a3b6=_0x1de2bf['authorName']||_0x1de2bf[_0x4fe870(0x18f)]||_0x4fe870(0x1a8),_0x2fff9c=_0x1de2bf['domRef']?_0x4fe870(0x193)+(_0x1de2bf['domRef']['selector']['split'](_0x2af660[_0x4fe870(0x1bb)])[_0x4fe870(0x19a)]()?.[_0x4fe870(0x1a5)](':')[0x0]||_0x2af660['BEOfA'])+'>\x20\x22'+(_0x1de2bf['domRef'][_0x4fe870(0x189)]||'')[_0x4fe870(0x195)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x1de2bf['id']+_0x4fe870(0x15a)+_0x16a3b6+_0x4fe870(0x1c2)+_0x3b2d81+'):\x20\x22'+_0x1de2bf['content']+'\x22'+_0x2fff9c;})['join']('\x0a');_0x21717c=_0x3cbd38(0x174)+_0x4a5af0;}const _0x3c3347=_0x275144?.['canonicalFlow']?_0x3cbd38(0x197)+_0x275144[_0x3cbd38(0x182)]:'',_0x364a5c=_0x100317?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x659c1a+_0x3cbd38(0x170):_0x3cbd38(0x1ad)+_0x166fda+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification',_0x292d42=_0x166fda?quoteShellArg(_0x166fda):'',_0x475ed2=_0x100317?_0x3cbd38(0x17b)+_0xf6c6e3+'\x20open`,\x20then\x20`'+_0xf6c6e3+_0x3cbd38(0x150)+_0xf6c6e3+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x1db481+_0x3cbd38(0x1b4)+_0xf6c6e3+'\x20snapshot\x20--filename\x20'+_0x33ccac+'`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`'+_0xf6c6e3+'\x20screenshot\x20--filename\x20'+_0x3b8288+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0xf6c6e3+_0x3cbd38(0x16d):_0x3cbd38(0x17b)+_0xf6c6e3+'\x20open\x20'+_0x292d42+_0x3cbd38(0x156)+_0xf6c6e3+'\x20tracing-start`,\x20then\x20`'+_0xf6c6e3+_0x3cbd38(0x199)+_0x1db481+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0xf6c6e3+_0x3cbd38(0x1b8)+_0x33ccac+_0x3cbd38(0x1cd)+_0xf6c6e3+'\x20screenshot\x20--filename\x20'+_0x3b8288+_0x3cbd38(0x16a)+_0xf6c6e3+'\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x1cf00d=_0x100317?_0x3cbd38(0x1b0):'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0xab85f1=_0x47232b?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x47232b+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x1059de['description']+_0x445331+_0x21717c+_0x3c3347+_0x3cbd38(0x18a)+_0x111ed9+'\x0a\x0a'+_0x364a5c+_0xab85f1+'\x0a\x0a'+_0x475ed2+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0xf6c6e3+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x1db481+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x4bdea3+'`\x20writes\x20a\x20YAML\x20snapshot\x20you\x20can\x20read\x20for\x20element\x20refs\x0a-\x20`click\x20<ref>`,\x20`fill\x20<ref>\x20\x22text\x22`,\x20`check\x20<ref>`,\x20`press\x20Enter`\x0a-\x20`tab-list`,\x20`tab-select\x20<index>`,\x20`tab-new\x20<url>`\x0a-\x20`screenshot\x20--filename\x20'+_0x14486a+_0x3cbd38(0x19b)+_0x1db481+_0x3cbd38(0x1c5)+_0x460f47+'\x22,\x20\x22'+buildCliArtifactPath(_0x1db481,_0x3cbd38(0x1c9))+_0x3cbd38(0x15c)+buildCliArtifactPath(_0x1db481,_0x2af660['SiCgc'])+'\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22'+_0x2af660[_0x3cbd38(0x173)](buildCliArtifactPath,_0x1db481,_0x2af660[_0x3cbd38(0x1a3)])+_0x3cbd38(0x1a6)+_0x1cf00d+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureCliCommandAvailability(_0x2ce2ec){const _0x4d6ebd=_0x4ba3,_0x1c20b4=[..._0x2ce2ec['keys']()][_0x4d6ebd(0x198)]();let _0xe0eec7=0x0;for(const _0x530466 of _0x2ce2ec['values']()){_0xe0eec7+=_0x530466;}return{'cliCommandCount':_0xe0eec7,'cliCommandsSeen':_0x1c20b4,'noCliCommandsCalled':_0xe0eec7===0x0};}export function createVerifyFeatureCliHooks(_0x375287){const _0x3e8ba2=_0x4ba3,_0x448edb={'QQkZR':function(_0x4f9e95,_0x35cd21){return _0x4f9e95!==_0x35cd21;},'EYSKV':'PostToolUse','LwasC':function(_0x1970ba,_0x487020){return _0x1970ba(_0x487020);},'jbGEW':_0x3e8ba2(0x172),'BZRnd':_0x3e8ba2(0x1b9),'bSwFB':_0x3e8ba2(0x1cb),'leETG':_0x3e8ba2(0x152),'WAsTx':function(_0x2e81f8,_0x4c13fe){return _0x2e81f8!==_0x4c13fe;},'voeCn':_0x3e8ba2(0x167),'uubIb':'Bash'},_0x2fe791=new Map(),_0x20d8f3=async _0x32001b=>{const _0x3ef8b6=_0x3e8ba2;if(_0x448edb['QQkZR'](_0x32001b[_0x3ef8b6(0x191)],_0x448edb['EYSKV']))return{};const _0x4018b5=_0x32001b;if(_0x4018b5['tool_name']!==_0x3ef8b6(0x163))return{};const _0x3128d6=_0x4018b5['tool_input'],_0x4cf071=_0x448edb[_0x3ef8b6(0x1bd)](extractBashCommand,_0x3128d6);if(!_0x4cf071)return{};const _0x2d5c61=parsePlaywrightCliCommand(_0x4cf071);if(!_0x2d5c61)return{};return _0x2fe791[_0x3ef8b6(0x1c7)](_0x2d5c61,(_0x2fe791['get'](_0x2d5c61)||0x0)+0x1),_0x375287[_0x3ef8b6(0x18b)](_0x448edb['jbGEW'],{'transport':_0x448edb['BZRnd'],'toolName':_0x2d5c61}),_0x375287['trackPhaseEnd'](_0x448edb['jbGEW'],{'transport':_0x448edb[_0x3ef8b6(0x185)],'toolName':_0x2d5c61,'bashCommandPreview':truncatePreview(_0x4cf071)}),_0x2d5c61!==_0x448edb[_0x3ef8b6(0x175)]&&console[_0x3ef8b6(0x19d)](formatPlaywrightCliConsoleLogMessage(_0x3128d6,_0x4cf071,_0x2d5c61)),{};},_0x1fa2c0=async _0x48130e=>{const _0x9094c1=_0x3e8ba2;if(_0x448edb[_0x9094c1(0x177)](_0x48130e[_0x9094c1(0x191)],_0x448edb['leETG']))return{};const _0x439628=_0x48130e;if(_0x448edb[_0x9094c1(0x178)](_0x439628[_0x9094c1(0x17e)],'Bash'))return{};return await _0x375287['trackPhaseError'](_0x448edb['voeCn'],_0x439628[_0x9094c1(0x16c)],{'transport':_0x448edb[_0x9094c1(0x185)],'toolName':_0x448edb['uubIb']}),{};};return{'postToolUseHook':_0x20d8f3,'postToolUseFailureHook':_0x1fa2c0,'commandCounts':_0x2fe791};}async function runPlaywrightCliLifecycleCommand(_0x317ae2){const _0x2d52d6=_0x4ba3,_0x543e55={'KTRPS':function(_0x5c17a1,_0x500e38,_0x5a7dde){return _0x5c17a1(_0x500e38,_0x5a7dde);}},{sessionId:_0x55787f,configPath:_0x2fa581,commandArgs:_0x31a1cd,env:_0x14fd37,telemetry:_0x325830,phase:_0x30f18b,metadata:_0x2e3fcb,timeoutMs:_0xd23d55}=_0x317ae2;_0x325830['trackPhaseStart'](_0x30f18b,_0x2e3fcb);try{const _0x1177b7=await runPlaywrightCliCommand({'sessionId':_0x55787f,'configPath':_0x2fa581,'commandArgs':_0x31a1cd,'cwd':process[_0x2d52d6(0x151)](),'env':_0x14fd37,'timeoutMs':_0xd23d55??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x325830['trackPhaseEnd'](_0x30f18b,{..._0x2e3fcb,'subcommand':_0x1177b7['invocation'][_0x2d52d6(0x153)],'stdoutPreview':_0x543e55[_0x2d52d6(0x1aa)](truncatePreview,_0x1177b7[_0x2d52d6(0x1a1)],0x7d0),'stderrPreview':truncatePreview(_0x1177b7[_0x2d52d6(0x1be)],0x7d0)});}catch(_0x3ee1b7){await _0x325830['trackPhaseError'](_0x30f18b,_0x3ee1b7,_0x2e3fcb);throw _0x3ee1b7;}}export async function finalizeVerifyFeatureCliSession(_0x1c2737){const _0x296f79=_0x4ba3,_0x347788={'tjOuT':'playwright_cli_tracing_stop','vQhYG':'tracing-stop','BTboC':function(_0x5203be,_0x3f8395){return _0x5203be(_0x3f8395);}},{telemetry:_0x3b85e8,sessionId:_0x334a6c,configPath:_0x279e87,cliArtifactDir:_0x3ca6ce,env:_0x5e45bd,transportMetadata:_0x44e6cd}=_0x1c2737,_0x3e16e1=[{'phase':_0x347788[_0x296f79(0x180)],'commandArgs':[_0x347788['vQhYG']]},{'phase':_0x296f79(0x159),'commandArgs':['video-stop','--filename='+buildCliArtifactPath(_0x3ca6ce,'session-recording.webm')]},{'phase':'playwright_cli_close','commandArgs':['close']}];for(const _0x520023 of _0x3e16e1){try{await _0x347788['BTboC'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x334a6c,'configPath':_0x279e87,'commandArgs':[..._0x520023['commandArgs']],'env':_0x5e45bd,'telemetry':_0x3b85e8,'phase':_0x520023[_0x296f79(0x1bf)],'metadata':_0x44e6cd});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0xfad86b){const _0x57a83f=_0x4ba3,_0x43fca9={'zIWdy':function(_0x58729f,_0x1b4326){return _0x58729f(_0x1b4326);}},_0x32bdd2=['trace.zip',_0x57a83f(0x1b5)];for(const _0x5f9349 of _0x32bdd2){const _0x4ebaf9=join(_0xfad86b,_0x5f9349);try{return{'buffer':await _0x43fca9[_0x57a83f(0x1ab)](readFile,_0x4ebaf9),'source':_0x4ebaf9};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x370ef4){const _0x3fc70a=_0x4ba3,_0x5bc0d8={'twEuU':function(_0x15656f,_0x3846f5,_0x4f674d){return _0x15656f(_0x3846f5,_0x4f674d);},'BxmlV':function(_0x5c3400,_0xf0bf4a,_0x5e8477){return _0x5c3400(_0xf0bf4a,_0x5e8477);},'CQcww':function(_0x194325,_0xa4e365){return _0x194325===_0xa4e365;},'anxgt':function(_0x2ba598,_0x522f90,_0x536939){return _0x2ba598(_0x522f90,_0x536939);}},{cwd:_0x387a85,cliArtifactDir:_0x3867e1,startTime:_0x35ad54}=_0x370ef4,_0x488651=[];await mkdir(_0x3867e1,{'recursive':!![]});const _0x56d157=await _0x5bc0d8['twEuU'](readdir,_0x387a85,{'withFileTypes':!![]});for(const _0x275b10 of _0x56d157){if(!_0x275b10['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x275b10[_0x3fc70a(0x18d)]))continue;const _0x60089d=_0x5bc0d8[_0x3fc70a(0x165)](join,_0x387a85,_0x275b10[_0x3fc70a(0x18d)]),_0x4aa821=await stat(_0x60089d);if(_0x4aa821[_0x3fc70a(0x1b6)]+0x7d0<_0x35ad54)continue;const _0x32e91d=_0x5bc0d8[_0x3fc70a(0x188)](buildCliArtifactPath,_0x3867e1,_0x275b10['name']);if(_0x5bc0d8[_0x3fc70a(0x168)](_0x60089d,_0x32e91d))continue;await _0x5bc0d8[_0x3fc70a(0x15e)](rename,_0x60089d,_0x32e91d),_0x488651[_0x3fc70a(0x162)](_0x275b10['name']);}return _0x488651[_0x3fc70a(0x198)]();}
|
|
1
|
+
(function(_0x6d4362,_0x3904de){const _0x301bf5=_0x55f1,_0x5a9ed7=_0x6d4362();while(!![]){try{const _0x27514d=parseInt(_0x301bf5(0x1bb))/0x1+-parseInt(_0x301bf5(0x1e4))/0x2*(-parseInt(_0x301bf5(0x1d6))/0x3)+-parseInt(_0x301bf5(0x1fd))/0x4*(-parseInt(_0x301bf5(0x22a))/0x5)+-parseInt(_0x301bf5(0x22f))/0x6+-parseInt(_0x301bf5(0x1eb))/0x7*(-parseInt(_0x301bf5(0x1d3))/0x8)+-parseInt(_0x301bf5(0x23e))/0x9+-parseInt(_0x301bf5(0x235))/0xa*(-parseInt(_0x301bf5(0x1e3))/0xb);if(_0x27514d===_0x3904de)break;else _0x5a9ed7['push'](_0x5a9ed7['shift']());}catch(_0x12df5e){_0x5a9ed7['push'](_0x5a9ed7['shift']());}}}(_0x3fd8,0x55a57));import{mkdir,readFile,readdir,rename,stat}from'fs/promises';import{basename,join}from'path';import{extractBashCommand,parsePlaywrightCliCommand,quoteShellArg,runPlaywrightCliCommand}from'./utils/playwrightCli.js';function _0x3fd8(){const _0x270f89=['AlDjP','02_state.yml','env','qQTQq','key_04_success-state.png','HiGaE','push','stdout','keys','log','tool_call','tool_name','dsFXX','HJJgL','\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.','commandArgs','select\x20tab','862180xJyKfu','notes','unaddressedComments','WCEAX','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','1022652xuVrlV','\x0a\x0a1.\x20Run\x20`','`\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','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','Bash','values','15310Ygdxov','snapshot','DvvQP','fGDbE','QwkKF','subcommand','\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','playwright_cli_close','close','6012882YNAGFF','[ranger-verification-agent]\x20','rjqlK','authorName','XMOOI','mtimeMs','\x20tracing-start`\x0a3.\x20Run\x20`','`,\x20then\x20`','jpHgN','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','\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','276347mGXOkv','yPAPi','length','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','check\x20','createdAt','start\x20video\x20recording','\x20open\x20','JRfOQ','press','):\x20\x22','\x22,\x20\x22','oGibE','QsejL','hxQHI','ulEwN','`\x0a9.\x20Run\x20`','\x20snapshot\x20--filename\x20','UOMdd','playwright-cli','tracing-stop','content','fill','trackPhaseError','16pweLBx','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','description','518907CKefbJ','RxCNW','get','EkIdV','numeric','press\x20','\x20tracing-start`,\x20then\x20`','trackPhaseEnd','string','Reviewer','trim','ApQCt','playwright_cli_tracing_stop','1749SlRAMH','2ShXHJQ','PostToolUse','BGwYx','SJSca','hook_event_name','EPLrY','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','531055GiKtSI','name','GkWjV','\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.','stderr','vhcYu','nlHcT','video-stop','\x20>\x20','nrwtA','\x0a\x0a##\x20Additional\x20Notes\x0a','domRef','stop\x20tracing','BtssC','VdqFH','[playwright-cli]\x20','open\x20','run\x20custom\x20Playwright\x20code','8BTxjlJ','**\x20(','element','open\x20new\x20tab','\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.','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','open','ref\x20','uVALp','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','fill\x20','capture\x20snapshot\x20`','`\x0a-\x20`snapshot\x20--filename\x20','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','set','pyRmI','PeqRm','selector','02_learn-more.yml','authorEmail','tab-select','invocation','capture\x20screenshot','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','open\x20browser','trackPhaseStart','You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a','HxsQs'];_0x3fd8=function(){return _0x270f89;};return _0x3fd8();}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(_0xbcae2b,_0x572732=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2b8e3f=_0x55f1,_0x11fb8d={'EkIdV':function(_0x74af94,_0xd471ff){return _0x74af94>_0xd471ff;}};return _0x11fb8d[_0x2b8e3f(0x1d9)](_0xbcae2b['length'],_0x572732)?_0xbcae2b['slice'](0x0,_0x572732)+'...':_0xbcae2b;}function buildCliArtifactPath(_0x2c08b8,_0x518e52){const _0x55bdc5=_0x55f1,_0x424337={'HxsQs':function(_0x340275,_0x11f26e,_0x588715){return _0x340275(_0x11f26e,_0x588715);}};return _0x424337[_0x55bdc5(0x218)](join,_0x2c08b8,_0x518e52);}function toStepDisplayName(_0x1d29da){const _0x5f5b47={'tSeDN':function(_0x3e7690,_0x2ab1d9){return _0x3e7690(_0x2ab1d9);}},_0x3f524e=basename(_0x1d29da)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3f524e,'isKeyStep':/^key_/i['test'](_0x5f5b47['tSeDN'](basename,_0x1d29da))};}function extractShellValue(_0x30df66){if(!_0x30df66)return null;return _0x30df66[0x1]??_0x30df66[0x2]??_0x30df66[0x3]??null;}function extractFilenameOption(_0x402f37){const _0x46d70f={'HvkwL':function(_0x593e6f,_0x58ddf7){return _0x593e6f(_0x58ddf7);}};return _0x46d70f['HvkwL'](extractShellValue,_0x402f37['match'](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0xf7d666,_0x57e81f){const _0x1be201=_0x57e81f['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0xf7d666['match'](new RegExp('(?:^|\x5cs)'+_0x1be201+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x9d48eb){const _0x3857fb=_0x55f1,_0x1dfc7d={'uVALp':function(_0x5cca68,_0x302e3c,_0x158481){return _0x5cca68(_0x302e3c,_0x158481);}};if(!_0x9d48eb)return'target';if(/^e\d+$/i['test'](_0x9d48eb))return _0x3857fb(0x204)+_0x9d48eb;return JSON['stringify'](_0x1dfc7d[_0x3857fb(0x205)](truncatePreview,_0x9d48eb,0x78));}function formatPlaywrightCliLog(_0x195b21,_0x38701d){const _0x560ee2=_0x55f1,_0x126c12={'aHdsn':_0x560ee2(0x203),'ulEwN':function(_0x1cd707,_0x25260f,_0x4d0e41){return _0x1cd707(_0x25260f,_0x4d0e41);},'ZgNFZ':_0x560ee2(0x1f7),'hxQHI':_0x560ee2(0x1c1),'KWIwn':_0x560ee2(0x1f2),'GkWjV':_0x560ee2(0x236),'nrwtA':function(_0x3580f7,_0x28b8a7){return _0x3580f7(_0x28b8a7);},'yUcRF':function(_0x3a86d7,_0x147889){return _0x3a86d7(_0x147889);},'boxvt':function(_0x46abfb,_0x1d9c14){return _0x46abfb(_0x1d9c14);},'DvvQP':'check','KPRhD':_0x560ee2(0x1d1),'HJJgL':function(_0x48fe2c,_0x5db675){return _0x48fe2c(_0x5db675);},'nnEWE':_0x560ee2(0x1c4),'QHXvj':_0x560ee2(0x200),'yPAPi':function(_0x23d9df,_0x1081c5,_0x98b672){return _0x23d9df(_0x1081c5,_0x98b672);}};switch(_0x38701d){case _0x126c12['aHdsn']:{const _0x3ea18b=_0x126c12['ulEwN'](extractFirstCommandArgument,_0x195b21,_0x38701d);return _0x3ea18b?_0x560ee2(0x1fb)+_0x3ea18b:_0x560ee2(0x215);}case'tracing-start':return'start\x20tracing';case _0x560ee2(0x1cf):return _0x126c12['ZgNFZ'];case'video-start':return _0x126c12[_0x560ee2(0x1c9)];case _0x126c12['KWIwn']:return'stop\x20video\x20recording';case _0x126c12[_0x560ee2(0x1ed)]:{const _0x8f3468=_0x126c12[_0x560ee2(0x1f4)](extractFilenameOption,_0x195b21);if(!_0x8f3468)return'capture\x20snapshot';const {name:_0x2d0d08}=_0x126c12['yUcRF'](toStepDisplayName,_0x8f3468);return _0x560ee2(0x208)+_0x2d0d08+'`';}case'screenshot':{const _0x232c74=extractFilenameOption(_0x195b21);if(!_0x232c74)return _0x560ee2(0x213);const {name:_0x5dced3,isKeyStep:_0x5a985e}=_0x126c12['boxvt'](toStepDisplayName,_0x232c74);return _0x5a985e?'capture\x20key\x20step\x20`'+_0x5dced3+'`':'capture\x20step\x20`'+_0x5dced3+'`';}case'click':return'click\x20'+formatCommandTarget(_0x126c12[_0x560ee2(0x1ca)](extractFirstCommandArgument,_0x195b21,_0x38701d));case _0x126c12[_0x560ee2(0x237)]:return _0x560ee2(0x1bf)+_0x126c12[_0x560ee2(0x1f4)](formatCommandTarget,_0x126c12[_0x560ee2(0x1ca)](extractFirstCommandArgument,_0x195b21,_0x38701d));case _0x126c12['KPRhD']:return _0x560ee2(0x207)+_0x126c12[_0x560ee2(0x226)](formatCommandTarget,extractFirstCommandArgument(_0x195b21,_0x38701d));case _0x126c12['nnEWE']:return _0x560ee2(0x1db)+formatCommandTarget(_0x126c12[_0x560ee2(0x1ca)](extractFirstCommandArgument,_0x195b21,_0x38701d));case'run-code':return _0x560ee2(0x1fc);case'tab-new':{const _0x464b20=extractFirstCommandArgument(_0x195b21,_0x38701d);return _0x464b20?'open\x20new\x20tab\x20'+_0x464b20:_0x126c12['QHXvj'];}case _0x560ee2(0x211):{const _0xd1fe94=_0x126c12[_0x560ee2(0x1bc)](extractFirstCommandArgument,_0x195b21,_0x38701d);return _0xd1fe94?'select\x20tab\x20'+_0xd1fe94:_0x560ee2(0x229);}default:return _0x38701d;}}function extractPlaywrightCliToolDescription(_0x15d8c3){const _0x6468c9=_0x55f1,_0x1de1ba={'BtssC':function(_0x228fa4,_0x2bbab1){return _0x228fa4!==_0x2bbab1;},'aymqB':_0x6468c9(0x1de),'rjqlK':function(_0x21e5c5,_0x28b4fd){return _0x21e5c5>_0x28b4fd;}},_0x461023=_0x15d8c3['description'];if(_0x1de1ba[_0x6468c9(0x1f8)](typeof _0x461023,_0x1de1ba['aymqB']))return null;const _0xce2a51=_0x461023[_0x6468c9(0x1e0)]()['replace'](/\s+/g,'\x20');return _0x1de1ba[_0x6468c9(0x240)](_0xce2a51['length'],0x0)?_0xce2a51:null;}export function formatPlaywrightCliConsoleLogMessage(_0x1b563c,_0x50faa0,_0x23cae8){const _0x29c0fb=_0x55f1,_0x5e6fcd={'JRfOQ':function(_0x2421a4,_0x2a9b8f,_0x3ebb14){return _0x2421a4(_0x2a9b8f,_0x3ebb14);}},_0x33c8e9=_0x5e6fcd[_0x29c0fb(0x1c3)](formatPlaywrightCliLog,_0x50faa0,_0x23cae8),_0x55ae1f=extractPlaywrightCliToolDescription(_0x1b563c);if(!_0x55ae1f)return _0x29c0fb(0x1fa)+_0x33c8e9;if(process[_0x29c0fb(0x21b)]['DEBUG'])return _0x29c0fb(0x23f)+_0x55ae1f+'\x20('+_0x33c8e9+')';return'[ranger-verification-agent]\x20'+_0x55ae1f;}export function buildVerifyFeatureCliDebugPrompt(_0x5980bb,_0x3170bd){const _0x1061d8=_0x55f1,_0x56dbaf={'VctYh':function(_0x5e7381,_0x4e7f6c,_0x297a4e){return _0x5e7381(_0x4e7f6c,_0x297a4e);},'zuTeH':'01_mozilla-homepage.png','nlHcT':_0x1061d8(0x20f),'PeqRm':'03_learn-more.png','vhcYu':function(_0x9d4a34,_0x19439c){return _0x9d4a34(_0x19439c);}},_0x35ff25=_0x56dbaf['VctYh'](buildCliArtifactPath,_0x3170bd,'00_mozilla-homepage.yml'),_0x396171=_0x56dbaf['VctYh'](buildCliArtifactPath,_0x3170bd,_0x56dbaf['zuTeH']),_0x701304=buildCliArtifactPath(_0x3170bd,_0x56dbaf[_0x1061d8(0x1f1)]),_0x159d73=buildCliArtifactPath(_0x3170bd,_0x56dbaf[_0x1061d8(0x20d)]),_0x5c36e9=quoteShellArg(_0x35ff25),_0x26609d=_0x56dbaf['vhcYu'](quoteShellArg,_0x396171),_0x552e81=_0x56dbaf['vhcYu'](quoteShellArg,_0x701304),_0x399385=_0x56dbaf[_0x1061d8(0x1f0)](quoteShellArg,_0x159d73);return _0x1061d8(0x217)+_0x5980bb+_0x1061d8(0x230)+_0x5980bb+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x5980bb+_0x1061d8(0x244)+_0x5980bb+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x3170bd+_0x1061d8(0x232)+_0x5980bb+_0x1061d8(0x1cc)+_0x5c36e9+_0x1061d8(0x202)+_0x5980bb+'\x20screenshot\x20--filename\x20'+_0x26609d+_0x1061d8(0x214)+_0x5980bb+'\x20snapshot\x20--filename\x20'+_0x552e81+_0x1061d8(0x1cb)+_0x5980bb+'\x20screenshot\x20--filename\x20'+_0x399385+_0x1061d8(0x1be);}function _0x55f1(_0x5daa14,_0x303844){_0x5daa14=_0x5daa14-0x1b9;const _0x3fd8ce=_0x3fd8();let _0x55f175=_0x3fd8ce[_0x5daa14];return _0x55f175;}export function buildVerifyFeatureCliPrompt(_0x22a63d){const _0x4df720=_0x55f1,_0x54338e={'VdqFH':'en-US','AlDjP':_0x4df720(0x1f3),'jpHgN':_0x4df720(0x1ff),'oGibE':function(_0x45dd9e,_0x1b9a17,_0x51566d){return _0x45dd9e(_0x1b9a17,_0x51566d);},'QwkKF':'key_03_success-state.png','UOMdd':'01_initial-state.png','qQTQq':function(_0x59b2b7,_0x22ff49){return _0x59b2b7(_0x22ff49);},'lhpEv':function(_0x271d13,_0x4d67bb){return _0x271d13(_0x4d67bb);},'uPTtY':'03_result-visible.png','SJSca':_0x4df720(0x21d)},{checklistItem:_0x471bd6,itemFeedback:_0x1f5e9d,taskDescription:_0x38fc22,cliCommandPrefix:_0x51ac46,cliArtifactDir:_0x5c5665,isCdpMode:_0x280152,url:_0x1d4ce5,cdpEndpoint:_0x5c479f,loginInstructions:_0xa864fb}=_0x22a63d,_0x2ec22e=_0x54338e['oGibE'](buildCliArtifactPath,_0x5c5665,'01_initial.yml'),_0x3dd268=_0x54338e[_0x4df720(0x1c7)](buildCliArtifactPath,_0x5c5665,_0x4df720(0x21a)),_0x20f423=buildCliArtifactPath(_0x5c5665,_0x54338e[_0x4df720(0x239)]),_0x2ba967=_0x54338e[_0x4df720(0x1c7)](buildCliArtifactPath,_0x5c5665,_0x54338e[_0x4df720(0x1cd)]),_0x1c8a7d=_0x54338e[_0x4df720(0x21c)](quoteShellArg,_0x2ec22e),_0x14bc7a=quoteShellArg(_0x3dd268),_0x41dbcb=quoteShellArg(_0x20f423),_0x56da3f=_0x54338e['qQTQq'](quoteShellArg,_0x2ba967),_0x5949a4=_0x471bd6[_0x4df720(0x22b)]?_0x4df720(0x1f5)+_0x471bd6[_0x4df720(0x22b)]:'';let _0x180b5d='';if(_0x1f5e9d&&_0x1f5e9d[_0x4df720(0x22c)][_0x4df720(0x1bd)]>0x0){const _0x2983fc=_0x1f5e9d['unaddressedComments']['map'](_0x2d89a1=>{const _0x22ba18=_0x4df720,_0x3ccf0c=new Date(_0x2d89a1[_0x22ba18(0x1c0)])['toLocaleDateString'](_0x54338e[_0x22ba18(0x1f9)],{'month':'short','day':_0x22ba18(0x1da)}),_0x12d521=_0x2d89a1[_0x22ba18(0x241)]||_0x2d89a1[_0x22ba18(0x210)]||_0x22ba18(0x1df),_0x188816=_0x2d89a1['domRef']?'\x20(on\x20element:\x20<'+(_0x2d89a1[_0x22ba18(0x1f6)][_0x22ba18(0x20e)]['split'](_0x54338e[_0x22ba18(0x219)])['pop']()?.['split'](':')[0x0]||_0x54338e[_0x22ba18(0x246)])+'>\x20\x22'+(_0x2d89a1[_0x22ba18(0x1f6)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2d89a1['id']+']\x20**'+_0x12d521+_0x22ba18(0x1fe)+_0x3ccf0c+_0x22ba18(0x1c5)+_0x2d89a1[_0x22ba18(0x1d0)]+'\x22'+_0x188816;})['join']('\x0a');_0x180b5d='\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'+_0x2983fc;}const _0x5e66cb=_0x1f5e9d?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1f5e9d['canonicalFlow']:'',_0x47b14f=_0x280152?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x5c479f+'.\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'+_0x1d4ce5+'\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',_0x5c81d2=_0x1d4ce5?_0x54338e['lhpEv'](quoteShellArg,_0x1d4ce5):'',_0x1923c4=_0x280152?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x51ac46+'\x20open`,\x20then\x20`'+_0x51ac46+_0x4df720(0x1dc)+_0x51ac46+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5c5665+_0x4df720(0x20a)+_0x51ac46+'\x20snapshot\x20--filename\x20'+_0x1c8a7d+'`\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`'+_0x51ac46+'\x20screenshot\x20--filename\x20'+_0x56da3f+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x51ac46+_0x4df720(0x1ba):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x51ac46+_0x4df720(0x1c2)+_0x5c81d2+_0x4df720(0x245)+_0x51ac46+'\x20tracing-start`,\x20then\x20`'+_0x51ac46+_0x4df720(0x22e)+_0x5c5665+_0x4df720(0x20a)+_0x51ac46+_0x4df720(0x1cc)+_0x1c8a7d+'`\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`'+_0x51ac46+'\x20screenshot\x20--filename\x20'+_0x56da3f+_0x4df720(0x1ea)+_0x51ac46+_0x4df720(0x23b),_0x25275a=_0x280152?_0x4df720(0x1ee):_0x4df720(0x1b9),_0x54419b=_0xa864fb?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0xa864fb+_0x4df720(0x201):'';return _0x4df720(0x206)+_0x471bd6[_0x4df720(0x1d5)]+_0x5949a4+_0x180b5d+_0x5e66cb+_0x4df720(0x1d4)+_0x38fc22+'\x0a\x0a'+_0x47b14f+_0x54419b+'\x0a\x0a'+_0x1923c4+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x51ac46+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x5c5665+_0x4df720(0x209)+_0x14bc7a+_0x4df720(0x231)+_0x41dbcb+'`\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`'+_0x5c5665+'`:\x20\x22'+_0x2ba967+_0x4df720(0x1c6)+_0x54338e['oGibE'](buildCliArtifactPath,_0x5c5665,'02_button-clicked.png')+'\x22,\x20\x22'+buildCliArtifactPath(_0x5c5665,_0x54338e['uPTtY'])+'\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'+_0x54338e[_0x4df720(0x1c7)](buildCliArtifactPath,_0x5c5665,_0x54338e[_0x4df720(0x1e7)])+'\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'+_0x25275a+_0x4df720(0x227);}export function summarizeVerifyFeatureCliCommandAvailability(_0x271f84){const _0x395f0b=_0x55f1,_0x3a77f0={'OgTbh':function(_0x2e110a,_0x28bd91){return _0x2e110a===_0x28bd91;}},_0x3ddab0=[..._0x271f84[_0x395f0b(0x221)]()]['sort']();let _0x560717=0x0;for(const _0x23c63d of _0x271f84[_0x395f0b(0x234)]()){_0x560717+=_0x23c63d;}return{'cliCommandCount':_0x560717,'cliCommandsSeen':_0x3ddab0,'noCliCommandsCalled':_0x3a77f0['OgTbh'](_0x560717,0x0)};}export function createVerifyFeatureCliHooks(_0x2a2bbe){const _0x9a9ab=_0x55f1,_0x266d4c={'QsejL':_0x9a9ab(0x1e5),'XMOOI':'Bash','WCEAX':function(_0x5bc304,_0x3ce95c){return _0x5bc304(_0x3ce95c);},'MkGUa':function(_0x2b92ac,_0x413ea8){return _0x2b92ac+_0x413ea8;},'ApQCt':'tool_call','fGDbE':function(_0x3d863a,_0xb30418){return _0x3d863a!==_0xb30418;},'pyRmI':'PostToolUseFailure','sShuR':'tool_failure','JeeiC':_0x9a9ab(0x1ce)},_0x46020a=new Map(),_0x235e80=async _0x6718b8=>{const _0x53c5e2=_0x9a9ab;if(_0x6718b8[_0x53c5e2(0x1e8)]!==_0x266d4c[_0x53c5e2(0x1c8)])return{};const _0x291a74=_0x6718b8;if(_0x291a74['tool_name']!==_0x266d4c[_0x53c5e2(0x242)])return{};const _0x750eff=_0x291a74['tool_input'],_0x54a9dc=extractBashCommand(_0x750eff);if(!_0x54a9dc)return{};const _0x1c26a3=_0x266d4c[_0x53c5e2(0x22d)](parsePlaywrightCliCommand,_0x54a9dc);if(!_0x1c26a3)return{};return _0x46020a[_0x53c5e2(0x20b)](_0x1c26a3,_0x266d4c['MkGUa'](_0x46020a[_0x53c5e2(0x1d8)](_0x1c26a3)||0x0,0x1)),_0x2a2bbe[_0x53c5e2(0x216)](_0x266d4c[_0x53c5e2(0x1e1)],{'transport':'playwright-cli','toolName':_0x1c26a3}),_0x2a2bbe['trackPhaseEnd'](_0x53c5e2(0x223),{'transport':_0x53c5e2(0x1ce),'toolName':_0x1c26a3,'bashCommandPreview':_0x266d4c[_0x53c5e2(0x22d)](truncatePreview,_0x54a9dc)}),_0x1c26a3!=='snapshot'&&console[_0x53c5e2(0x222)](formatPlaywrightCliConsoleLogMessage(_0x750eff,_0x54a9dc,_0x1c26a3)),{};},_0x37c2ab=async _0x383ac3=>{const _0x152e3c=_0x9a9ab;if(_0x266d4c['fGDbE'](_0x383ac3['hook_event_name'],_0x266d4c[_0x152e3c(0x20c)]))return{};const _0x470471=_0x383ac3;if(_0x266d4c[_0x152e3c(0x238)](_0x470471[_0x152e3c(0x224)],'Bash'))return{};return await _0x2a2bbe[_0x152e3c(0x1d2)](_0x266d4c['sShuR'],_0x470471['error'],{'transport':_0x266d4c['JeeiC'],'toolName':_0x152e3c(0x233)}),{};};return{'postToolUseHook':_0x235e80,'postToolUseFailureHook':_0x37c2ab,'commandCounts':_0x46020a};}async function runPlaywrightCliLifecycleCommand(_0x47dd52){const _0x83dada=_0x55f1,_0x2a385f={'dsFXX':function(_0x5b874c,_0x5010e3){return _0x5b874c??_0x5010e3;},'RxCNW':function(_0x44c830,_0x312d16,_0x588aa8){return _0x44c830(_0x312d16,_0x588aa8);}},{sessionId:_0x456afc,configPath:_0x21029d,commandArgs:_0x18d446,env:_0xa84d56,telemetry:_0x44181f,phase:_0x57b3db,metadata:_0xaa5ea9,timeoutMs:_0x1ea28a}=_0x47dd52;_0x44181f[_0x83dada(0x216)](_0x57b3db,_0xaa5ea9);try{const _0x295b5c=await runPlaywrightCliCommand({'sessionId':_0x456afc,'configPath':_0x21029d,'commandArgs':_0x18d446,'cwd':process['cwd'](),'env':_0xa84d56,'timeoutMs':_0x2a385f[_0x83dada(0x225)](_0x1ea28a,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x44181f[_0x83dada(0x1dd)](_0x57b3db,{..._0xaa5ea9,'subcommand':_0x295b5c[_0x83dada(0x212)][_0x83dada(0x23a)],'stdoutPreview':_0x2a385f[_0x83dada(0x1d7)](truncatePreview,_0x295b5c[_0x83dada(0x220)],0x7d0),'stderrPreview':truncatePreview(_0x295b5c[_0x83dada(0x1ef)],0x7d0)});}catch(_0x18949b){await _0x44181f[_0x83dada(0x1d2)](_0x57b3db,_0x18949b,_0xaa5ea9);throw _0x18949b;}}export async function finalizeVerifyFeatureCliSession(_0x3b03ba){const _0x2b5628=_0x55f1,_0x1b2bec={'HiGaE':'playwright_cli_video_stop','EPLrY':'session-recording.webm','yTTEQ':function(_0x5e0571,_0x3f3304){return _0x5e0571(_0x3f3304);}},{telemetry:_0x2c2a73,sessionId:_0x4f3f94,configPath:_0x551577,cliArtifactDir:_0x50c521,env:_0x662168,transportMetadata:_0x121305}=_0x3b03ba,_0x152ae4=[{'phase':_0x2b5628(0x1e2),'commandArgs':[_0x2b5628(0x1cf)]},{'phase':_0x1b2bec[_0x2b5628(0x21e)],'commandArgs':[_0x2b5628(0x1f2),'--filename='+buildCliArtifactPath(_0x50c521,_0x1b2bec[_0x2b5628(0x1e9)])]},{'phase':_0x2b5628(0x23c),'commandArgs':[_0x2b5628(0x23d)]}];for(const _0x4637d9 of _0x152ae4){try{await _0x1b2bec['yTTEQ'](runPlaywrightCliLifecycleCommand,{'sessionId':_0x4f3f94,'configPath':_0x551577,'commandArgs':[..._0x4637d9[_0x2b5628(0x228)]],'env':_0x662168,'telemetry':_0x2c2a73,'phase':_0x4637d9['phase'],'metadata':_0x121305});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x1ef284){const _0x20181c={'KbCNq':'trace.zip','TLDin':'trace.trace.zip','QjWpT':function(_0x2404f9,_0xedfef1,_0x341791){return _0x2404f9(_0xedfef1,_0x341791);}},_0x56a444=[_0x20181c['KbCNq'],_0x20181c['TLDin']];for(const _0x5071b5 of _0x56a444){const _0x22ced8=_0x20181c['QjWpT'](join,_0x1ef284,_0x5071b5);try{return{'buffer':await readFile(_0x22ced8),'source':_0x22ced8};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x392b5f){const _0x2e8f5c=_0x55f1,_0x40ad48={'BGwYx':function(_0x3a394b,_0x4e3cad,_0x549c29){return _0x3a394b(_0x4e3cad,_0x549c29);},'QQsqz':function(_0x8a3726,_0x4560b2,_0x96ed4f){return _0x8a3726(_0x4560b2,_0x96ed4f);},'CchYC':function(_0xd1096b,_0x7ba403){return _0xd1096b(_0x7ba403);},'bfoLd':function(_0x333965,_0x32b614){return _0x333965<_0x32b614;},'mgTtj':function(_0x17c2b1,_0x16fab8){return _0x17c2b1+_0x16fab8;},'VEqoK':function(_0x4e9c36,_0x187b36){return _0x4e9c36===_0x187b36;}},{cwd:_0x1e9774,cliArtifactDir:_0x437c0a,startTime:_0x468d73}=_0x392b5f,_0x34b423=[];await mkdir(_0x437c0a,{'recursive':!![]});const _0x3cd56d=await _0x40ad48[_0x2e8f5c(0x1e6)](readdir,_0x1e9774,{'withFileTypes':!![]});for(const _0x43d23a of _0x3cd56d){if(!_0x43d23a['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x43d23a[_0x2e8f5c(0x1ec)]))continue;const _0x2952ae=_0x40ad48['QQsqz'](join,_0x1e9774,_0x43d23a[_0x2e8f5c(0x1ec)]),_0x234690=await _0x40ad48['CchYC'](stat,_0x2952ae);if(_0x40ad48['bfoLd'](_0x40ad48['mgTtj'](_0x234690[_0x2e8f5c(0x243)],0x7d0),_0x468d73))continue;const _0x204a07=buildCliArtifactPath(_0x437c0a,_0x43d23a['name']);if(_0x40ad48['VEqoK'](_0x2952ae,_0x204a07))continue;await rename(_0x2952ae,_0x204a07),_0x34b423[_0x2e8f5c(0x21f)](_0x43d23a['name']);}return _0x34b423['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2539ac=_0x5833;(function(_0x25d811,_0x45ea3d){const _0x45c01f=_0x5833,_0x2fdec2=_0x25d811();while(!![]){try{const _0x2cfcdc=parseInt(_0x45c01f(0x1f5))/0x1*(-parseInt(_0x45c01f(0x287))/0x2)+parseInt(_0x45c01f(0x28b))/0x3+parseInt(_0x45c01f(0x28c))/0x4+parseInt(_0x45c01f(0x2c2))/0x5*(-parseInt(_0x45c01f(0x2af))/0x6)+-parseInt(_0x45c01f(0x225))/0x7*(-parseInt(_0x45c01f(0x206))/0x8)+parseInt(_0x45c01f(0x27b))/0x9*(parseInt(_0x45c01f(0x2bf))/0xa)+parseInt(_0x45c01f(0x214))/0xb*(parseInt(_0x45c01f(0x22d))/0xc);if(_0x2cfcdc===_0x45ea3d)break;else _0x2fdec2['push'](_0x2fdec2['shift']());}catch(_0x3e1fc3){_0x2fdec2['push'](_0x2fdec2['shift']());}}}(_0x436f,0xe9370));import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create',_0x2539ac(0x247),_0x2539ac(0x200),'ask',_0x2539ac(0x1e1),_0x2539ac(0x1e4),'snapshot',_0x2539ac(0x251)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3e11d7,_0x4c12e1){const _0x51c229={'ANaNw':function(_0x18cddf,_0xb8ff46,_0x1167df){return _0x18cddf(_0xb8ff46,_0x1167df);}};return _0x51c229['ANaNw'](join,_0x3e11d7,_0x4c12e1);}function _0x5833(_0x49e6e1,_0x4d68d4){_0x49e6e1=_0x49e6e1-0x1d8;const _0x436f99=_0x436f();let _0x583323=_0x436f99[_0x49e6e1];return _0x583323;}export class NovaActArtifactRecorder{[_0x2539ac(0x285)];[_0x2539ac(0x210)]=null;['context']=null;['frameSession']=null;[_0x2539ac(0x277)]=[];[_0x2539ac(0x263)]=0x0;['traceSampleCount']=0x0;[_0x2539ac(0x290)]=null;[_0x2539ac(0x203)]=null;['tracingStarted']=![];[_0x2539ac(0x20a)]=![];['startAttempted']=![];[_0x2539ac(0x293)]=![];constructor(_0x33128f){const _0x154260=_0x2539ac;this[_0x154260(0x285)]=_0x33128f;}async[_0x2539ac(0x1d9)](){const _0x3b4eaf=_0x2539ac,_0x33daa0={'UyDzl':_0x3b4eaf(0x2b3),'yKCWX':_0x3b4eaf(0x28a)};if(this['startAttempted'])return;this[_0x3b4eaf(0x269)]=!![];const _0x1e608d=await this[_0x3b4eaf(0x296)](),_0x87e148=_0x1e608d['cdp_endpoint'];if(!_0x87e148)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this[_0x3b4eaf(0x285)][_0x3b4eaf(0x250)][_0x3b4eaf(0x1fc)]);await mkdir(this[_0x3b4eaf(0x285)][_0x3b4eaf(0x26f)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x87e148,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x3b4eaf(0x267)]=this[_0x3b4eaf(0x210)][_0x3b4eaf(0x249)]()[0x0]??null;if(!this[_0x3b4eaf(0x267)])throw new Error(_0x33daa0[_0x3b4eaf(0x272)]);await this[_0x3b4eaf(0x267)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x3b4eaf(0x2be)](),await this[_0x3b4eaf(0x2a8)](),this['params']['telemetry']['trackPhaseStart'](_0x33daa0['yKCWX'],{...this['params']['transportMetadata'],'cdpEndpoint':_0x87e148,'browserPid':_0x1e608d['browser_pid'],'sessionState':_0x1e608d['state']}),this[_0x3b4eaf(0x285)]['telemetry']['trackPhaseEnd'](_0x33daa0[_0x3b4eaf(0x1f9)],{...this['params']['transportMetadata'],'tracingStarted':this[_0x3b4eaf(0x24c)],'screencastStarted':this[_0x3b4eaf(0x20a)]});}async[_0x2539ac(0x278)](){const _0x11e347=_0x2539ac,_0x7b79ba={'EuUEi':function(_0x381055,_0x2177df,_0x1df808){return _0x381055(_0x2177df,_0x1df808);},'PyUKN':_0x11e347(0x29b),'oKWgI':_0x11e347(0x299)};if(this['stopped'])return;this['stopped']=!![];const _0xe599ba={...this[_0x11e347(0x285)][_0x11e347(0x20f)],'frameCount':this[_0x11e347(0x263)],'traceSampleCount':this[_0x11e347(0x27d)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x11e347(0x285)]['telemetry'][_0x11e347(0x257)]('nova_act_artifact_recording_stop',_0xe599ba);try{await this[_0x11e347(0x1e9)](),await this['captureTraceSample'](),await this[_0x11e347(0x22e)](),await Promise[_0x11e347(0x25b)](this['frameWrites']);this[_0x11e347(0x267)]&&this[_0x11e347(0x24c)]&&await this[_0x11e347(0x267)]['tracing']['stop']({'path':_0x7b79ba[_0x11e347(0x245)](buildCliArtifactPath,this[_0x11e347(0x285)]['cliArtifactDir'],_0x7b79ba['PyUKN'])});const _0x4e61fc=await this['encodeScreencastVideo']();this[_0x11e347(0x285)][_0x11e347(0x261)][_0x11e347(0x208)](_0x7b79ba['oKWgI'],{..._0xe599ba,'videoPath':_0x4e61fc});}catch(_0x300e12){await this['params'][_0x11e347(0x261)]['trackPhaseError'](_0x7b79ba[_0x11e347(0x1fb)],_0x300e12,_0xe599ba);}finally{await this[_0x11e347(0x210)]?.['close']()[_0x11e347(0x2b4)](()=>undefined),this['browser']=null,this['context']=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x260113=_0x2539ac,_0x500027={'dwZOu':function(_0x358b23){return _0x358b23();},'epOFI':_0x260113(0x243),'qnsPD':function(_0x1828df,_0x54b23d){return _0x1828df(_0x54b23d);},'ZlEJR':function(_0x3b177d,_0x542ea3){return _0x3b177d<_0x542ea3;},'dDUxs':function(_0x2788b2,_0x6b5826){return _0x2788b2-_0x6b5826;},'pjCbV':function(_0x748e20,_0x1b3dff){return _0x748e20 instanceof _0x1b3dff;}},_0x2d53d4=join(_0x500027[_0x260113(0x255)](homedir),_0x500027['epOFI'],_0x260113(0x210),'sessions',this['params']['novaOptions'][_0x260113(0x1fc)]+_0x260113(0x28e)),_0x5a0156=Date['now']();let _0x137aa0;do{try{const _0xad42ba=JSON[_0x260113(0x1d8)](await readFile(_0x2d53d4,_0x260113(0x295)));if(_0xad42ba['cdp_endpoint'])return _0xad42ba;_0x137aa0=new Error(_0x260113(0x24d)+_0x2d53d4);}catch(_0x2a7b23){_0x137aa0=_0x2a7b23;}await _0x500027['qnsPD'](delay,0x64);}while(_0x500027['ZlEJR'](_0x500027[_0x260113(0x1ec)](Date[_0x260113(0x1e5)](),_0x5a0156),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x500027[_0x260113(0x25d)](_0x137aa0,Error))throw _0x137aa0;throw new Error(_0x260113(0x271)+_0x2d53d4);}async['startScreencast'](){const _0x209f27=_0x2539ac,_0x22a89a={'tAMFi':'base64','pLcSe':function(_0x3b031b,_0x32fa94,_0x40dc56){return _0x3b031b(_0x32fa94,_0x40dc56);},'KlIBE':_0x209f27(0x21b)};if(!this['context'])return;const _0x36f7b3=this[_0x209f27(0x267)][_0x209f27(0x1f2)]()[0x0];if(!_0x36f7b3)return;const _0x5091e1=this['getFrameDir']();await _0x22a89a['pLcSe'](mkdir,_0x5091e1,{'recursive':!![]});const _0x462181=await this['context']['newCDPSession'](_0x36f7b3);this['frameSession']=_0x462181,_0x462181['on'](_0x209f27(0x2a2),_0x4ab15b=>{const _0x270856=_0x209f27,_0x1c0fff=++this['frameCount'],_0x31ba19=join(_0x5091e1,_0x270856(0x23b)+String(_0x1c0fff)['padStart'](0x6,'0')+'.jpg'),_0x35fd30=writeFile(_0x31ba19,Buffer[_0x270856(0x24b)](_0x4ab15b['data'],_0x22a89a[_0x270856(0x1df)]))[_0x270856(0x2b4)](()=>undefined)['finally'](()=>_0x462181[_0x270856(0x2b6)]('Page.screencastFrameAck',{'sessionId':_0x4ab15b[_0x270856(0x1fc)]}))[_0x270856(0x298)](()=>undefined)['catch'](()=>undefined);this[_0x270856(0x277)]['push'](_0x35fd30);}),await _0x462181[_0x209f27(0x2b6)]('Page.startScreencast',{'format':_0x22a89a['KlIBE'],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x1afb14=_0x2539ac,_0x358113={'pzwRi':_0x1afb14(0x27f)};if(!this[_0x1afb14(0x202)]||!this['screencastStarted'])return;await this[_0x1afb14(0x202)]['send'](_0x358113['pzwRi'])[_0x1afb14(0x2b4)](()=>undefined);}['startTraceSampling'](){const _0x16c4e0=_0x2539ac;this['queueTraceSample'](),this[_0x16c4e0(0x290)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x2539ac(0x275)](){if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()['finally'](()=>{const _0x5960ab=_0x5833;this[_0x5960ab(0x203)]=null;});}async['stopTraceSampling'](){const _0x1cad6f=_0x2539ac,_0x2cbf5c={'Xxstm':function(_0x1136cc,_0x4830f4){return _0x1136cc(_0x4830f4);}};this[_0x1cad6f(0x290)]&&(_0x2cbf5c['Xxstm'](clearInterval,this['traceSampleTimer']),this[_0x1cad6f(0x290)]=null),await this[_0x1cad6f(0x203)]?.['catch'](()=>undefined);}async['captureTraceSample'](){const _0x29309f=_0x2539ac,_0x42b4cf={'iwbem':_0x29309f(0x26a)},_0x4cc256=this[_0x29309f(0x267)]?.[_0x29309f(0x1f2)]()[0x0];if(!_0x4cc256)return;try{await _0x4cc256[_0x29309f(0x2bc)](_0x42b4cf[_0x29309f(0x2b8)])['evaluate'](_0x3883db=>_0x3883db[_0x29309f(0x20e)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async['encodeScreencastVideo'](){const _0x30587d=_0x2539ac,_0x372c56={'VfJdd':function(_0x44b23f,_0x4c0c5c){return _0x44b23f<_0x4c0c5c;},'tRhXw':function(_0x3634d4,_0xe2ea9c,_0x78697a){return _0x3634d4(_0xe2ea9c,_0x78697a);},'kyzMu':function(_0x38f09c,_0x3800ed,_0x2e61bf){return _0x38f09c(_0x3800ed,_0x2e61bf);},'hmjta':_0x30587d(0x1f3),'JYTYr':'-hide_banner','ekvUU':_0x30587d(0x256),'WcEZl':'-framerate','zGdvi':_0x30587d(0x232),'ktHoZ':_0x30587d(0x235),'iGZQt':_0x30587d(0x205),'ePAAB':_0x30587d(0x281),'gyBPG':'libvpx-vp9'};if(_0x372c56['VfJdd'](this[_0x30587d(0x263)],0x2))return null;const _0xf4c52f=await resolveFfmpegPath();if(!_0xf4c52f)return null;const _0x1b701e=join(this[_0x30587d(0x285)][_0x30587d(0x26f)],'videos');await _0x372c56['tRhXw'](mkdir,_0x1b701e,{'recursive':!![]});const _0x4640c9=_0x372c56[_0x30587d(0x244)](join,_0x1b701e,_0x372c56[_0x30587d(0x282)]);return await _0x372c56['tRhXw'](execFileAsync,_0xf4c52f,['-y',_0x372c56[_0x30587d(0x2b5)],_0x30587d(0x2a1),_0x372c56[_0x30587d(0x1eb)],_0x372c56[_0x30587d(0x2a7)],'10','-i',join(this[_0x30587d(0x1ee)](),_0x372c56[_0x30587d(0x231)]),_0x372c56[_0x30587d(0x211)],_0x372c56['iGZQt'],_0x372c56['ePAAB'],_0x372c56['gyBPG'],_0x30587d(0x242),_0x30587d(0x283),_0x4640c9]),_0x4640c9;}['getFrameDir'](){const _0x2a03fa=_0x2539ac;return join(this['params'][_0x2a03fa(0x26f)],'nova-video-frames');}}async function delay(_0x301327){await new Promise(_0x182587=>setTimeout(_0x182587,_0x301327));}async function resolveFfmpegPath(){const _0x19c885=_0x2539ac,_0x27b5bd={'rwJfG':'ffmpeg','JEzvB':function(_0x120200,_0x594266,_0x34f507,_0x413967,_0x4f04db){return _0x120200(_0x594266,_0x34f507,_0x413967,_0x4f04db);},'XVaZV':function(_0xb5f388){return _0xb5f388();},'CqdOe':_0x19c885(0x29f),'kASDe':_0x19c885(0x248),'cHCpX':function(_0x30129b,_0x4c3c3a){return _0x30129b(_0x4c3c3a);}};if(await canRunFfmpeg('ffmpeg'))return _0x27b5bd[_0x19c885(0x291)];const _0x4637c1=[_0x27b5bd['JEzvB'](join,_0x27b5bd[_0x19c885(0x1de)](homedir),_0x19c885(0x20d),_0x19c885(0x23c),_0x27b5bd[_0x19c885(0x2a5)]),join(homedir(),_0x27b5bd['kASDe'],_0x27b5bd[_0x19c885(0x2a5)])];for(const _0x4ac1a of _0x4637c1){try{const _0x361013=await readdir(_0x4ac1a),_0x11c02e=_0x361013[_0x19c885(0x260)](_0x1ca722=>_0x1ca722[_0x19c885(0x1f1)](_0x19c885(0x204)))[_0x19c885(0x27e)]()[_0x19c885(0x2bb)]()['flatMap'](_0x5ded53=>[join(_0x4ac1a,_0x5ded53,'ffmpeg-mac'),join(_0x4ac1a,_0x5ded53,_0x19c885(0x22b)),join(_0x4ac1a,_0x5ded53,_0x19c885(0x238))]);for(const _0x2ab66c of _0x11c02e){if(await _0x27b5bd[_0x19c885(0x1f4)](canRunFfmpeg,_0x2ab66c))return _0x2ab66c;}}catch{}}return null;}async function canRunFfmpeg(_0x347624){const _0x69b945=_0x2539ac,_0x2f030a={'jDIhK':'-version'};try{return await execFileAsync(_0x347624,[_0x2f030a[_0x69b945(0x2ab)]]),!![];}catch{return![];}}function toStepDisplayName(_0x463953){const _0x11fb2c=_0x2539ac,_0x43e379=basename(_0x463953)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x11fb2c(0x229)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x43e379,'isKeyStep':/^key_/i['test'](basename(_0x463953))};}function extractShellValue(_0xca8de){if(!_0xca8de)return null;return _0xca8de[0x1]??_0xca8de[0x2]??_0xca8de[0x3]??null;}function extractOutputOption(_0x52950f){const _0x20345a=_0x2539ac;return extractShellValue(_0x52950f[_0x20345a(0x253)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x4856e8,_0x81daf3){const _0x35866f=_0x2539ac,_0x42b907={'Uknrk':_0x35866f(0x21d),'sXBKH':_0x35866f(0x218),'UCZYg':'goto','JSVCU':_0x35866f(0x1fe),'farkY':'wait-for','WHxwt':'wait\x20for\x20page\x20condition','Mhezn':function(_0x2f1fee,_0x1418f9){return _0x2f1fee(_0x1418f9);},'BRrPT':_0x35866f(0x251),'MYpxg':_0x35866f(0x240),'LfFLU':'export\x20Nova\x20session'};switch(_0x81daf3){case _0x42b907[_0x35866f(0x21e)]:return _0x35866f(0x1e7);case _0x35866f(0x247):return _0x35866f(0x230);case _0x35866f(0x200):return _0x42b907['sXBKH'];case _0x35866f(0x2aa):return'ask\x20page\x20question';case _0x42b907[_0x35866f(0x270)]:return _0x42b907['JSVCU'];case _0x42b907['farkY']:return _0x42b907['WHxwt'];case'snapshot':{const _0x5db3b4=extractOutputOption(_0x4856e8);if(!_0x5db3b4)return _0x35866f(0x24e);const {name:_0x2f7db3}=_0x42b907['Mhezn'](toStepDisplayName,_0x5db3b4);return _0x35866f(0x2ad)+_0x2f7db3+'`';}case _0x42b907['BRrPT']:{const _0x346cb4=extractOutputOption(_0x4856e8);if(!_0x346cb4)return _0x35866f(0x274);const {name:_0x343b00,isKeyStep:_0x170d92}=toStepDisplayName(_0x346cb4);return _0x170d92?_0x35866f(0x1db)+_0x343b00+'`':_0x35866f(0x284)+_0x343b00+'`';}case _0x42b907['MYpxg']:return _0x42b907['LfFLU'];default:return _0x81daf3;}}function getNovaActCliCommandBlockReason(_0x16e30f){const _0x26795a=_0x2539ac,_0x2aa016={'RAPCw':function(_0x2a723c,_0x470668){return _0x2a723c(_0x470668);},'xYkvk':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','UXoOM':_0x26795a(0x200),'hPueP':'Evaluate\x20visited-page\x20aggregate\x20requirements\x20from\x20the\x20collected\x20URLs,\x20titles,\x20headings,\x20verify\x20results,\x20and\x20screenshots.\x20Do\x20not\x20run\x20another\x20browser\x20command\x20to\x20re-check\x20pages\x20already\x20visited.'},_0x203484=_0x2aa016['RAPCw'](parseNovaActCliCommand,_0x16e30f);if(!_0x203484)return _0x2aa016['xYkvk'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x26795a(0x1f7)](_0x203484))return _0x26795a(0x2b2)+_0x203484+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x203484===_0x2aa016[_0x26795a(0x1e0)]&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x16e30f))return _0x2aa016['hPueP'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x16e30f))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x4d60c3){const _0x10d515=_0x2539ac,_0x19b40f={'xuBsY':_0x10d515(0x289),'gOOoF':_0x10d515(0x28d),'Ydtwo':_0x10d515(0x1e2),'KOzHr':'Reviewer','CiioT':'\x20>\x20','HrCDz':_0x10d515(0x1f6)};if(!_0x4d60c3||_0x4d60c3[_0x10d515(0x276)]['length']===0x0)return'';const _0x53dffb=_0x4d60c3[_0x10d515(0x276)][_0x10d515(0x292)](_0x4748c1=>{const _0x2c6743=_0x10d515,_0x476f47=new Date(_0x4748c1[_0x2c6743(0x2c1)])['toLocaleDateString'](_0x19b40f['xuBsY'],{'month':_0x19b40f['gOOoF'],'day':_0x19b40f['Ydtwo']}),_0x48ba3e=_0x4748c1[_0x2c6743(0x21f)]||_0x4748c1['authorEmail']||_0x19b40f[_0x2c6743(0x228)],_0x2ad7f9=_0x4748c1[_0x2c6743(0x1e6)]?_0x2c6743(0x1da)+(_0x4748c1[_0x2c6743(0x1e6)]['selector']['split'](_0x19b40f[_0x2c6743(0x262)])[_0x2c6743(0x1fd)]()?.[_0x2c6743(0x2b0)](':')[0x0]||_0x19b40f['HrCDz'])+'>\x20\x22'+(_0x4748c1[_0x2c6743(0x1e6)]['textContent']||'')[_0x2c6743(0x264)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x4748c1['id']+_0x2c6743(0x2a9)+_0x48ba3e+_0x2c6743(0x1ef)+_0x476f47+'):\x20\x22'+_0x4748c1[_0x2c6743(0x1dc)]+'\x22'+_0x2ad7f9;})['join']('\x0a');return _0x10d515(0x227)+_0x53dffb;}function _0x436f(){const _0x471132=['screenshot','SBqnT','match','03_final-state.png','dwZOu','error','trackPhaseStart','JFbxo','canonicalFlow','YYQQN','allSettled','args','pjCbV','keys','stderr','filter','telemetry','CiioT','frameCount','slice','close','PostToolUse','context','FAicx','startAttempted','body','env','Bash','description','nova-session-export.json','cliArtifactDir','UCZYg','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','UyDzl','values','capture\x20screenshot','queueTraceSample','unaddressedComments','frameWrites','stop','stdout','nova_act_session_close','19206chMmuR','ibKZc','traceSampleCount','sort','Page.stopScreencast','tool_name','-c:v','hmjta','yuv420p','capture\x20step\x20`','params','`.\x0a7.\x20Optimize\x20for\x20few\x20browser\x20round\x20trips.\x20Each\x20Nova\x20CLI\x20call\x20has\x20high\x20latency.\x0a8.\x20Use\x203-5\x20high-level\x20`execute`\x20commands\x20total.\x20Each\x20`execute`\x20should\x20contain\x202-5\x20concrete\x20browser\x20steps\x20and\x20should\x20drive\x20to\x20the\x20next\x20milestone\x20page.\x0a9.\x20Do\x20not\x20split\x20a\x20simple\x20navigation\x20into\x20separate\x20commands\x20like\x20\x22open\x20menu\x22,\x20then\x20\x22click\x20link\x22,\x20then\x20\x22screenshot\x22.\x20Batch\x20those\x20into\x20one\x20`execute`\x20when\x20the\x20target\x20is\x20clear.\x0a10.\x20Do\x20not\x20use\x20`ask`\x20unless\x20you\x20are\x20genuinely\x20stuck\x20or\x20need\x20to\x20disambiguate\x20visible\x20page\x20content.\x20Prefer\x20reading\x20the\x20output\x20from\x20`execute`,\x20`snapshot`,\x20and\x20`verify`.\x0a11.\x20Use\x20`verify`\x20only\x20at\x20milestone\x20pages\x20that\x20map\x20directly\x20to\x20scenario\x20requirements.\x20Do\x20not\x20verify\x20after\x20every\x20click.\x0a12.\x20Take\x20screenshots\x20for\x20each\x20scenario\x20milestone\x20so\x20every\x20verified\x20step\x20has\x20reviewable\x20image\x20evidence,\x20including\x20the\x20final\x20state.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page.\x0a13.\x20After\x20the\x20required\x20initial\x20snapshot,\x20do\x20not\x20take\x20separate\x20milestone\x20snapshots\x20unless\x20you\x20cannot\x20understand\x20the\x20page\x20from\x20the\x20`execute`,\x20`verify`,\x20and\x20screenshot\x20outputs.\x0a14.\x20Mark\x20the\x20most\x20important\x20proof\x20screenshot\x20with\x20`key_`,\x20for\x20example\x20`','757766fmPbnv','hook_event_name','en-US','nova_act_artifact_recording','3584370JuzbBs','2846876KIisYp','short','.json','nova-user-data/*','traceSampleTimer','rwJfG','map','stopped','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x27s\x20origin.\x0a-\x20Do\x20not\x20navigate\x20to\x20any\x20different\x20protocol,\x20host,\x20or\x20port.\x0a-\x20If\x20the\x20browser\x20leaves\x20this\x20origin,\x20navigate\x20back\x20once.\x20If\x20you\x20cannot\x20recover,\x20return\x20evaluation\x20\x22blocked\x22.\x0a','utf-8','readSessionMetadataWithRetry','get','then','nova_act_artifact_recording_stop','nova_act_command_failure','trace.zip','yadrw','XCvPE','00_initial-state.yml','ms-playwright','phase','-loglevel','Page.screencastFrame','nova_act_final_screenshot','\x20session\x20create\x20','CqdOe','kEBIf','WcEZl','startScreencast',']\x20**','ask','jDIhK','sVYOA','capture\x20snapshot\x20`','IqxNT','6hYKZGz','split','pzFaE','Nova\x20command\x20`','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','catch','JYTYr','send','trackPhaseError','iwbem','nova_act_session_export','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','reverse','locator','YfnPb','startTraceSampling','4390vuCcSR','trim','createdAt','8649370kcLMXc','parse','start','\x20(on\x20element:\x20<','capture\x20key\x20step\x20`','content','\x20screenshot\x20--output\x20','XVaZV','tAMFi','UXoOM','goto','numeric','\x20snapshot\x20--output\x20','wait-for','now','domRef','create\x20Nova\x20browser\x20session','--output','stopTraceSampling','GVTWw','ekvUU','dDUxs','Nfzkm','getFrameDir','**\x20(','nova-report','startsWith','pages','session-recording.webm','cHCpX','3RApeOP','element','has','name','yKCWX','set','oKWgI','sessionId','pop','navigate\x20browser','final-state.yaml','verify','zip','frameSession','traceSampleInFlight','ffmpeg-','scale=trunc(iw/2)*2:trunc(ih/2)*2','755128viIetl','EXyWb','trackPhaseEnd','[nova-act-cli]\x20','screencastStarted','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','tool_input','Library','tagName','transportMetadata','browser','ktHoZ','Vncof','SGiQb','5571291pCxZTY','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','pOHHT','log','verify\x20page\x20condition','`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','nova_act_session_report','jpeg','prrxG','session\x20create','Uknrk','authorName','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','`\x0a3.\x20Run\x20`','-qr','vlgJH','`\x0a-\x20`','35zAjqhR','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a','KOzHr','replace','commandArgs','ffmpeg-linux','fcQlD','12mXIfUd','stopScreencast','shellCommand','execute\x20Nova\x20browser\x20action','zGdvi','frame-%06d.jpg','dHQAe','nova-act-cli','-vf','YBpxt','lcKaL','ffmpeg.exe','OJjPG','ztDwN','frame-','Caches','iHCFr','ZoFgs','--output-dir','session\x20export','notes','-pix_fmt','.act_cli','kyzMu','EuUEi','subcommand','execute','.cache','contexts','--format','from','tracingStarted','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','capture\x20snapshot','ybmCb','novaOptions'];_0x436f=function(){return _0x471132;};return _0x436f();}function buildNovaSharedOptionsInstruction(_0x480138){const _0x3e99f3=_0x2539ac;if(!_0x480138[_0x3e99f3(0x2c0)]())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return _0x3e99f3(0x226)+_0x480138;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x52be69){const _0x52baff=_0x2539ac,_0x43255c={'JFbxo':function(_0x2244e5,_0x296165,_0x28312a){return _0x2244e5(_0x296165,_0x28312a);},'tyTJU':_0x52baff(0x29e),'OJjPG':'01_initial-state.png','ztDwN':function(_0x4c4f5a,_0x666e9e,_0x21610d){return _0x4c4f5a(_0x666e9e,_0x21610d);},'CqoiV':_0x52baff(0x254),'CdAaE':function(_0x45295c,_0x248fd4){return _0x45295c(_0x248fd4);},'YBpxt':function(_0x2f9900,_0x1a3706){return _0x2f9900(_0x1a3706);}},{novaCommandPrefix:_0x20ff40,novaSharedOptionsSuffix:_0x3fb7db,cliArtifactDir:_0x130b16,url:_0x4496e3}=_0x52be69,_0x2dc145=_0x43255c[_0x52baff(0x258)](buildCliArtifactPath,_0x130b16,_0x43255c['tyTJU']),_0xd07e45=buildCliArtifactPath(_0x130b16,_0x43255c[_0x52baff(0x239)]),_0x12abf5=_0x43255c['JFbxo'](buildCliArtifactPath,_0x130b16,'02_final-state.yml'),_0x1141b2=_0x43255c[_0x52baff(0x23a)](buildCliArtifactPath,_0x130b16,_0x43255c['CqoiV']);return'You\x20are\x20testing\x20Nova\x20Act\x20browser\x20automation.\x20Your\x20task\x20is\x20simple.\x0a\x0aUse\x20Bash\x20and\x20Nova\x20Act\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x20ff40+'\x0a\x0a'+_0x43255c['CdAaE'](buildNovaSharedOptionsInstruction,_0x3fb7db)+'\x0a\x0aThe\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20on\x20PATH.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20or\x20run\x20setup.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20the\x20session\x20create\x20command\x20below.\x0a\x0a1.\x20Run\x20`'+_0x20ff40+'\x20session\x20create\x20'+quoteShellArg(_0x4496e3)+'\x20'+_0x3fb7db+'`\x0a2.\x20Run\x20`'+_0x20ff40+'\x20snapshot\x20--output\x20'+_0x43255c[_0x52baff(0x236)](quoteShellArg,_0x2dc145)+'\x20'+_0x3fb7db+_0x52baff(0x221)+_0x20ff40+'\x20screenshot\x20--output\x20'+quoteShellArg(_0xd07e45)+'\x20'+_0x3fb7db+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x20ff40+_0x52baff(0x220)+_0x20ff40+_0x52baff(0x1e3)+_0x43255c[_0x52baff(0x236)](quoteShellArg,_0x12abf5)+'\x20'+_0x3fb7db+'`\x0a6.\x20Run\x20`'+_0x20ff40+_0x52baff(0x1dd)+_0x43255c[_0x52baff(0x236)](quoteShellArg,_0x1141b2)+'\x20'+_0x3fb7db+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x130b16+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x214b5c){const _0x956ce1=_0x2539ac,_0xbd1481={'djPUx':function(_0xe41321,_0x14d6c4){return _0xe41321(_0x14d6c4);},'yadrw':'01_initial.yml','eUEmg':'key_03_success-state.png','YfnPb':function(_0x4fbd53,_0x4eff7f){return _0x4fbd53(_0x4eff7f);}},{checklistItem:_0x3a0293,itemFeedback:_0xd9f674,taskDescription:_0x502e87,novaCommandPrefix:_0x4ecb9f,novaSharedOptionsSuffix:_0x57b35e,cliArtifactDir:_0x25d2fb,url:_0x222507,loginInstructions:_0x4f8573}=_0x214b5c,_0x5ec498=_0x3a0293[_0x956ce1(0x241)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3a0293['notes']:'',_0x446025=_0xbd1481['djPUx'](buildFeedbackSection,_0xd9f674),_0x57d672=_0xd9f674?.[_0x956ce1(0x259)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0xd9f674['canonicalFlow']:'',_0x206b65=_0x4f8573?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4f8573+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x46c7ee=buildCliArtifactPath(_0x25d2fb,_0xbd1481[_0x956ce1(0x29c)]),_0x466504=buildCliArtifactPath(_0x25d2fb,'01_initial-state.png'),_0x2ec1b5=buildCliArtifactPath(_0x25d2fb,_0xbd1481['eUEmg']);return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x3a0293[_0x956ce1(0x26d)]+_0x5ec498+_0x446025+_0x57d672+_0x956ce1(0x2ba)+_0x502e87+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x222507+_0x956ce1(0x294)+_0x206b65+'\x0a\x0a##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Nova\x20Act\x20CLI\x20only.\x20Do\x20not\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20The\x20act\x20CLI\x20is\x20already\x20installed\x20and\x20available\x20through\x20the\x20browser\x20command\x20prefix\x20below.\x20Do\x20not\x20search\x20the\x20filesystem\x20for\x20Nova,\x20install\x20packages,\x20inspect\x20docs,\x20check\x20AWS/auth\x20status,\x20read\x20env\x20files,\x20run\x20setup,\x20or\x20call\x20raw\x20`act\x20browser`.\x0a3.\x20Your\x20first\x20Bash\x20command\x20must\x20be\x20`'+_0x4ecb9f+_0x956ce1(0x2a4)+_0xbd1481['YfnPb'](quoteShellArg,_0x222507)+'\x20'+_0x57b35e+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x25d2fb+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x4ecb9f+'\x20snapshot\x20--output\x20'+_0xbd1481[_0x956ce1(0x2bd)](quoteShellArg,_0x46c7ee)+'\x20'+_0x57b35e+_0x956ce1(0x215)+_0x4ecb9f+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x466504)+'\x20'+_0x57b35e+_0x956ce1(0x286)+_0x2ec1b5+'`.\x0a15.\x20As\x20soon\x20as\x20all\x20scenario\x20requirements\x20are\x20satisfied,\x20return\x20structured\x20output\x20immediately.\x20Do\x20not\x20keep\x20exploring,\x20asking,\x20or\x20taking\x20extra\x20screenshots.\x0a16.\x20Treat\x20a\x20Nova\x20`verify`\x20result\x20with\x20`ASSERTION_FAILED`\x20as\x20useful\x20evidence,\x20not\x20as\x20a\x20tool\x20crash.\x20Do\x20not\x20retry\x20the\x20same\x20assertion\x20or\x20search\x20for\x20alternatives\x20unless\x20the\x20scenario\x20explicitly\x20asks\x20you\x20to\x20find\x20any\x20matching\x20page.\x0a17.\x20Stay\x20within\x20the\x20pages\x20and\x20flow\x20named\x20by\x20the\x20scenario.\x20If\x20a\x20required\x20condition\x20is\x20absent\x20after\x20checking\x20the\x20relevant\x20named\x20page\x20once,\x20stop\x20and\x20return\x20\x22partial\x22\x20or\x20\x22failed\x22\x20with\x20the\x20missing\x20requirement.\x20Do\x20not\x20expand\x20into\x20unrelated\x20pages\x20or\x20broad\x20site\x20searches.\x0a18.\x20After\x20you\x20reach\x20and\x20screenshot\x20the\x20final\x20named\x20scenario\x20page,\x20do\x20not\x20execute\x20more\x20browser\x20commands.\x20Evaluate\x20any\x20\x22at\x20least\x20one\x20visited\x20page\x22\x20requirement\x20from\x20the\x20pages\x20already\x20visited\x20and\x20the\x20evidence\x20already\x20collected.\x0a19.\x20Do\x20not\x20run\x20`session\x20close`,\x20`session\x20list`,\x20`session\x20export`,\x20`script`,\x20`doctor`,\x20`--help`,\x20`aws`,\x20`find`,\x20`grep`,\x20`env`,\x20`printenv`,\x20package\x20managers,\x20or\x20setup\x20commands.\x20The\x20host\x20owns\x20setup,\x20auth,\x20session\x20cleanup,\x20and\x20artifact\x20export.\x0a20.\x20The\x20host\x20also\x20captures\x20final\x20screenshots,\x20snapshots,\x20and\x20exports\x20after\x20you\x20finish,\x20but\x20every\x20scenario\x20milestone\x20still\x20needs\x20an\x20accessible\x20screenshot.\x20If\x20the\x20last\x20milestone\x20is\x20the\x20final\x20browser\x20state\x20and\x20you\x20have\x20already\x20captured\x20it,\x20you\x20do\x20not\x20need\x20a\x20duplicate\x20final\x20screenshot.\x0a21.\x20Do\x20not\x20close\x20the\x20Nova\x20session.\x20The\x20host\x20exports\x20artifacts\x20after\x20you\x20finish.\x0a22.\x20The\x20structured\x20output\x20is\x20your\x20final\x20response.\x20After\x20returning\x20it,\x20do\x20not\x20write\x20a\x20separate\x20markdown\x20summary\x20or\x20repeat\x20the\x20findings.\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Nova\x20Act\x20CLI\x20commands\x20with\x20this\x20prefix:\x0a`'+_0x4ecb9f+'`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a'+(_0x57b35e[_0x956ce1(0x2c0)]()?'`'+_0x57b35e+'`':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`')+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x57b35e)+'\x0a\x0aExamples:\x0a-\x20`'+_0x4ecb9f+_0x956ce1(0x20b)+_0x57b35e+'`\x0a-\x20`'+_0x4ecb9f+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x57b35e+_0x956ce1(0x224)+_0x4ecb9f+_0x956ce1(0x1e3)+_0xbd1481['YfnPb'](quoteShellArg,_0x46c7ee)+'\x20'+_0x57b35e+_0x956ce1(0x224)+_0x4ecb9f+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2ec1b5)+'\x20'+_0x57b35e+_0x956ce1(0x219);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x3313b5){const _0x47f014=_0x2539ac,_0x17147c={'EHNkg':function(_0x443989,_0x1b3862){return _0x443989===_0x1b3862;}},_0x4034e7=[..._0x3313b5[_0x47f014(0x25e)]()][_0x47f014(0x27e)]();let _0x28c1b4=0x0;for(const _0x4e0c86 of _0x3313b5[_0x47f014(0x273)]()){_0x28c1b4+=_0x4e0c86;}return{'cliCommandCount':_0x28c1b4,'cliCommandsSeen':_0x4034e7,'noCliCommandsCalled':_0x17147c['EHNkg'](_0x28c1b4,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x438e55,_0x49307a){const _0x156e99=_0x2539ac,_0x2dbb64={'IqxNT':function(_0x29c1fa,_0x3342af){return _0x29c1fa!==_0x3342af;},'IgIBF':function(_0x5a5a77,_0x34b789){return _0x5a5a77(_0x34b789);},'Nfzkm':'block','awKlD':_0x156e99(0x266),'MAtiM':function(_0x15eeb7,_0x34e65f){return _0x15eeb7(_0x34e65f);},'ucPeY':function(_0x2ab685,_0x235991){return _0x2ab685+_0x235991;},'Yzfzs':'nova_act_command','dHQAe':function(_0x210d42,_0x18320f){return _0x210d42===_0x18320f;},'HVHLt':_0x156e99(0x28a),'FAicx':_0x156e99(0x234),'iHCFr':'PostToolUseFailure'},_0x272a91=new Map(),_0x4faec4=async _0x4df169=>{const _0x5e22b0=_0x156e99;if(_0x2dbb64[_0x5e22b0(0x2ae)](_0x4df169[_0x5e22b0(0x288)],'PreToolUse'))return{};const _0x406084=_0x4df169;if(_0x2dbb64['IqxNT'](_0x406084[_0x5e22b0(0x280)],'Bash'))return{};const _0x555fac=_0x406084[_0x5e22b0(0x20c)],_0x5b0e5e=_0x2dbb64['IgIBF'](extractBashCommand,_0x555fac);if(!_0x5b0e5e)return{};const _0x4a79c1=_0x2dbb64['IgIBF'](getNovaActCliCommandBlockReason,_0x5b0e5e);if(!_0x4a79c1)return{};return{'decision':_0x2dbb64[_0x5e22b0(0x1ed)],'reason':_0x4a79c1};},_0x3f9712=async _0xd9bcba=>{const _0x167e25=_0x156e99;if(_0xd9bcba['hook_event_name']!==_0x2dbb64['awKlD'])return{};const _0x3a6d7d=_0xd9bcba;if(_0x3a6d7d[_0x167e25(0x280)]!==_0x167e25(0x26c))return{};const _0x1b6b47=_0x3a6d7d[_0x167e25(0x20c)],_0x4dffb4=_0x2dbb64['MAtiM'](extractBashCommand,_0x1b6b47);if(!_0x4dffb4)return{};const _0x2be4fa=parseNovaActCliCommand(_0x4dffb4);if(!_0x2be4fa)return{};_0x272a91[_0x167e25(0x1fa)](_0x2be4fa,_0x2dbb64['ucPeY'](_0x272a91[_0x167e25(0x297)](_0x2be4fa)||0x0,0x1)),_0x438e55[_0x167e25(0x257)]('nova_act_command',{'subcommand':_0x2be4fa}),_0x438e55[_0x167e25(0x208)](_0x2dbb64['Yzfzs'],{'subcommand':_0x2be4fa,'commandPreview':previewNovaActCliCommand(_0x4dffb4)}),console[_0x167e25(0x217)](_0x167e25(0x209)+formatNovaActCliLog(_0x4dffb4,_0x2be4fa));if(_0x2dbb64[_0x167e25(0x233)](_0x2be4fa,_0x167e25(0x21d))&&_0x49307a)try{await _0x49307a[_0x167e25(0x1d9)]();}catch(_0x1e7986){await _0x438e55[_0x167e25(0x2b7)](_0x2dbb64['HVHLt'],_0x1e7986,{'transport':_0x2dbb64[_0x167e25(0x268)]});}return{};},_0x138905=async _0x571993=>{const _0x677ef4=_0x156e99;if(_0x571993['hook_event_name']!==_0x2dbb64[_0x677ef4(0x23d)])return{};const _0x5a77b7=_0x571993;if(_0x5a77b7[_0x677ef4(0x280)]!==_0x677ef4(0x26c))return{};return await _0x438e55['trackPhaseError'](_0x677ef4(0x29a),_0x5a77b7['error'],{'transport':_0x2dbb64['FAicx'],'toolName':_0x677ef4(0x26c)}),{};};return{'preToolUseHook':_0x4faec4,'postToolUseHook':_0x3f9712,'postToolUseFailureHook':_0x138905,'commandCounts':_0x272a91};}async function runNovaLifecycleCommand(_0x176c00){const _0x305924=_0x2539ac,_0x44b949={'fcQlD':function(_0x3da59f,_0x159a8b){return _0x3da59f(_0x159a8b);},'vlgJH':function(_0x19f1e7,_0xa1ef38){return _0x19f1e7(_0xa1ef38);}},{novaOptions:_0x4979de,commandArgs:_0x31ecd7,telemetry:_0x1665eb,phase:_0x198d03,metadata:_0x459043,timeoutMs:_0x1decba}=_0x176c00;_0x1665eb[_0x305924(0x257)](_0x198d03,_0x459043);try{const _0x3fa560=await _0x44b949[_0x305924(0x22c)](runNovaActCliCommand,{..._0x4979de,'commandArgs':_0x31ecd7,'cwd':process['cwd'](),'env':process[_0x305924(0x26b)],'timeoutMs':_0x1decba??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x1665eb['trackPhaseEnd'](_0x198d03,{..._0x459043,'subcommand':_0x3fa560['invocation'][_0x305924(0x246)],'commandPreview':_0x44b949[_0x305924(0x223)](previewNovaActCliCommand,_0x3fa560['invocation'][_0x305924(0x22f)]),'stdoutPreview':previewNovaActCliCommand(_0x3fa560[_0x305924(0x279)]),'stderrPreview':previewNovaActCliCommand(_0x3fa560[_0x305924(0x25f)]),'logDir':extractNovaActLogDir(_0x3fa560[_0x305924(0x279)])});}catch(_0x305110){await _0x1665eb['trackPhaseError'](_0x198d03,_0x305110,_0x459043);throw _0x305110;}}export async function finalizeVerifyFeatureNovaCliSession(_0x3dd6c9){const _0x1a8a57=_0x2539ac,_0x428180={'YYQQN':'screenshot','XCvPE':_0x1a8a57(0x1e8),'pzFaE':function(_0x56f02c,_0x3a6c8e,_0x137e1a){return _0x56f02c(_0x3a6c8e,_0x137e1a);},'SBqnT':'key_final-state.png','Vncof':'nova_act_final_snapshot','fQcoj':'snapshot','NHeYL':_0x1a8a57(0x1ff),'sVYOA':_0x1a8a57(0x2b9),'kEBIf':'session','ZoFgs':'export','ibKZc':_0x1a8a57(0x24a),'KXfrj':_0x1a8a57(0x21a),'GVTWw':_0x1a8a57(0x1f0),'pOHHT':_0x1a8a57(0x27a),'EXyWb':_0x1a8a57(0x265),'obMCD':function(_0x24ede0,_0x585fbe){return _0x24ede0===_0x585fbe;}},{telemetry:_0x3eef3f,novaOptions:_0x174c00,cliArtifactDir:_0x39a36f,transportMetadata:_0x1e5db7,artifactRecorder:_0x3abff9}=_0x3dd6c9,_0xde24d5=[{'phase':_0x1a8a57(0x2a3),'commandArgs':[_0x428180[_0x1a8a57(0x25a)],_0x428180[_0x1a8a57(0x29d)],_0x428180['pzFaE'](buildCliArtifactPath,_0x39a36f,_0x428180[_0x1a8a57(0x252)])]},{'phase':_0x428180[_0x1a8a57(0x212)],'commandArgs':[_0x428180['fQcoj'],_0x428180['XCvPE'],buildCliArtifactPath(_0x39a36f,_0x428180['NHeYL'])]},{'phase':_0x428180[_0x1a8a57(0x2ac)],'commandArgs':[_0x428180[_0x1a8a57(0x2a6)],_0x428180[_0x1a8a57(0x23e)],_0x428180[_0x1a8a57(0x27c)],'json',_0x428180['XCvPE'],buildCliArtifactPath(_0x39a36f,_0x1a8a57(0x26e))]},{'phase':_0x428180['KXfrj'],'commandArgs':['session','export','--report',_0x1a8a57(0x23f),_0x428180[_0x1a8a57(0x2b1)](buildCliArtifactPath,_0x39a36f,_0x428180[_0x1a8a57(0x1ea)])]},{'phase':_0x428180[_0x1a8a57(0x216)],'commandArgs':[_0x428180[_0x1a8a57(0x2a6)],_0x428180[_0x1a8a57(0x207)]]}];for(const _0x293eb9 of _0xde24d5){_0x428180['obMCD'](_0x293eb9[_0x1a8a57(0x2a0)],_0x428180[_0x1a8a57(0x216)])&&await _0x3abff9?.[_0x1a8a57(0x278)]();try{await runNovaLifecycleCommand({'novaOptions':_0x174c00,'commandArgs':[..._0x293eb9[_0x1a8a57(0x22a)]],'telemetry':_0x3eef3f,'phase':_0x293eb9[_0x1a8a57(0x2a0)],'metadata':_0x1e5db7});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x5717c1){const _0x366c42=_0x2539ac,_0x486bb5={'SGiQb':function(_0x5c39fa,_0x18c958,_0xf6d9f4){return _0x5c39fa(_0x18c958,_0xf6d9f4);},'OfGeq':function(_0x58296c,_0x380269){return _0x58296c(_0x380269);},'axrTl':function(_0x3ddd92,_0x35f0d7){return _0x3ddd92+_0x35f0d7;},'lcKaL':function(_0x273e67,_0x3a6233){return _0x273e67===_0x3a6233;}},{cwd:_0x132015,cliArtifactDir:_0x133a65,startTime:_0x25a39c}=_0x5717c1,_0x433b79=[];await mkdir(_0x133a65,{'recursive':!![]});const _0x52f14b=await readdir(_0x132015,{'withFileTypes':!![]});for(const _0x1f6b48 of _0x52f14b){if(!_0x1f6b48['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x1f6b48[_0x366c42(0x1f8)]))continue;const _0x1e418f=_0x486bb5['SGiQb'](join,_0x132015,_0x1f6b48['name']),_0x319fe3=await _0x486bb5['OfGeq'](stat,_0x1e418f);if(_0x486bb5['axrTl'](_0x319fe3['mtimeMs'],0x7d0)<_0x25a39c)continue;const _0x1f7aed=_0x486bb5['SGiQb'](buildCliArtifactPath,_0x133a65,_0x1f6b48[_0x366c42(0x1f8)]);if(_0x486bb5[_0x366c42(0x237)](_0x1e418f,_0x1f7aed))continue;await _0x486bb5[_0x366c42(0x213)](rename,_0x1e418f,_0x1f7aed),_0x433b79['push'](_0x1f6b48[_0x366c42(0x1f8)]);}return _0x433b79[_0x366c42(0x27e)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x4e0e4e){const _0x106eaf={'DwDQk':function(_0x5317b2,_0x3e0161,_0x38a014){return _0x5317b2(_0x3e0161,_0x38a014);},'KuxgC':'trace.zip'},_0x5a73b7=_0x106eaf['DwDQk'](join,_0x4e0e4e,_0x106eaf['KuxgC']);try{return{'buffer':await readFile(_0x5a73b7),'source':_0x5a73b7};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x4e0e4e),'source':_0x4e0e4e};}}async function zipVerifyFeatureNovaArtifacts(_0x3ed24a){const _0x51afe9=_0x2539ac,_0x127d8e={'prrxG':function(_0x21d25d,_0x7a2c80,_0x2f849b,_0x1ea522){return _0x21d25d(_0x7a2c80,_0x2f849b,_0x1ea522);},'Ijocp':function(_0x111202,_0x3c3c13,_0x4ce1ce,_0x46ba44){return _0x111202(_0x3c3c13,_0x4ce1ce,_0x46ba44);},'jnTPY':_0x51afe9(0x222),'ubRdE':_0x51afe9(0x28f),'ybmCb':function(_0x178914,_0xcf6107,_0x2a9dc1){return _0x178914(_0xcf6107,_0x2a9dc1);}},_0x5be1fa=_0x127d8e[_0x51afe9(0x21c)](join,_0x3ed24a,'..','nova-artifacts.zip');try{return await _0x127d8e['Ijocp'](execFileAsync,_0x51afe9(0x201),[_0x127d8e['jnTPY'],_0x5be1fa,'.','-x',_0x127d8e['ubRdE']],{'cwd':_0x3ed24a}),await readFile(_0x5be1fa);}finally{await _0x127d8e[_0x51afe9(0x24f)](rm,_0x5be1fa,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x47f97a){const _0x23cb45=_0x2539ac,_0x54bb24={'oyhcG':function(_0x3a1871,_0x3908d6,_0x48e614){return _0x3a1871(_0x3908d6,_0x48e614);}},_0x265b3f=buildNovaActCliInvocation(_0x47f97a['novaOptions'],_0x47f97a['commandArgs']);return{'command':_0x265b3f['command'],'args':_0x265b3f[_0x23cb45(0x25c)],'commandPreview':previewNovaActCliCommand(_0x265b3f['shellCommand']),'subcommand':_0x265b3f[_0x23cb45(0x246)],'sharedOptionsSuffix':_0x54bb24['oyhcG'](buildNovaActCliSharedOptionsSuffix,_0x47f97a['novaOptions'],_0x47f97a[_0x23cb45(0x22a)])};}
|
|
1
|
+
const _0x2c576b=_0x4886;(function(_0x4f854f,_0x57bc35){const _0x46d6b5=_0x4886,_0x4fbba1=_0x4f854f();while(!![]){try{const _0x36b3f7=parseInt(_0x46d6b5(0x11a))/0x1+-parseInt(_0x46d6b5(0xd3))/0x2+parseInt(_0x46d6b5(0x12e))/0x3+parseInt(_0x46d6b5(0xa0))/0x4+parseInt(_0x46d6b5(0xdc))/0x5+parseInt(_0x46d6b5(0xc3))/0x6+-parseInt(_0x46d6b5(0x162))/0x7*(-parseInt(_0x46d6b5(0x153))/0x8);if(_0x36b3f7===_0x57bc35)break;else _0x4fbba1['push'](_0x4fbba1['shift']());}catch(_0x34ceb1){_0x4fbba1['push'](_0x4fbba1['shift']());}}}(_0x546c,0xa7a29));function _0x4886(_0x45a77c,_0x26dae7){_0x45a77c=_0x45a77c-0x9a;const _0x546c1e=_0x546c();let _0x488674=_0x546c1e[_0x45a77c];return _0x488674;}import{execFile}from'child_process';import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set([_0x2c576b(0x158),_0x2c576b(0x124),_0x2c576b(0x14a),'ask','goto',_0x2c576b(0x15f),'snapshot',_0x2c576b(0x9b)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x262170,_0x5db811){const _0xec0fce=_0x2c576b,_0x1abc1a={'dWWqC':function(_0x4b8511,_0x37ef8d,_0x304417){return _0x4b8511(_0x37ef8d,_0x304417);}};return _0x1abc1a[_0xec0fce(0x148)](join,_0x262170,_0x5db811);}export class NovaActArtifactRecorder{[_0x2c576b(0xd8)];[_0x2c576b(0x107)]=null;[_0x2c576b(0x14d)]=null;[_0x2c576b(0xc1)]=null;['frameWrites']=[];[_0x2c576b(0xf0)]=0x0;['traceSampleCount']=0x0;[_0x2c576b(0x151)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x2c576b(0xf9)]=![];[_0x2c576b(0x15a)]=![];constructor(_0x65c490){const _0x2c6dee=_0x2c576b;this[_0x2c6dee(0xd8)]=_0x65c490;}async['start'](){const _0xa3919e=_0x2c576b,_0x52ae59={'bnLIR':'Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','uDJNL':_0xa3919e(0xed)};if(this[_0xa3919e(0xf9)])return;this[_0xa3919e(0xf9)]=!![];const _0x33d760=await this[_0xa3919e(0xd0)](),_0x3ef9be=_0x33d760['cdp_endpoint'];if(!_0x3ef9be)throw new Error(_0xa3919e(0xb9)+this[_0xa3919e(0xd8)]['novaOptions'][_0xa3919e(0xe5)]);await mkdir(this[_0xa3919e(0xd8)][_0xa3919e(0xbf)],{'recursive':!![]}),this['browser']=await chromium['connectOverCDP'](_0x3ef9be,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0xa3919e(0x14d)]=this['browser'][_0xa3919e(0xfa)]()[0x0]??null;if(!this[_0xa3919e(0x14d)])throw new Error(_0x52ae59['bnLIR']);await this['context'][_0xa3919e(0x166)][_0xa3919e(0x14f)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0xa3919e(0x106)]=!![],this[_0xa3919e(0xa6)](),await this[_0xa3919e(0xff)](),this[_0xa3919e(0xd8)]['telemetry'][_0xa3919e(0x136)](_0x52ae59['uDJNL'],{...this['params']['transportMetadata'],'cdpEndpoint':_0x3ef9be,'browserPid':_0x33d760['browser_pid'],'sessionState':_0x33d760[_0xa3919e(0xcd)]}),this[_0xa3919e(0xd8)][_0xa3919e(0x14e)][_0xa3919e(0x154)](_0x52ae59['uDJNL'],{...this['params']['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x2c576b(0xcf)](){const _0xdec446=_0x2c576b,_0x491697={'jFoNm':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x2e179c={...this['params'][_0xdec446(0x14b)],'frameCount':this[_0xdec446(0xf0)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0xdec446(0xd8)]['telemetry'][_0xdec446(0x136)](_0x491697[_0xdec446(0xf5)],_0x2e179c);try{await this[_0xdec446(0xdb)](),await this[_0xdec446(0x150)](),await this['stopScreencast'](),await Promise['allSettled'](this[_0xdec446(0xa7)]);this['context']&&this['tracingStarted']&&await this['context']['tracing'][_0xdec446(0xcf)]({'path':buildCliArtifactPath(this[_0xdec446(0xd8)][_0xdec446(0xbf)],'trace.zip')});const _0x274ef5=await this[_0xdec446(0xc6)]();this['params']['telemetry']['trackPhaseEnd'](_0xdec446(0xba),{..._0x2e179c,'videoPath':_0x274ef5});}catch(_0x2868e9){await this['params']['telemetry'][_0xdec446(0x120)](_0xdec446(0xba),_0x2868e9,_0x2e179c);}finally{await this[_0xdec446(0x107)]?.[_0xdec446(0x103)]()['catch'](()=>undefined),this['browser']=null,this['context']=null,this['frameSession']=null;}}async['readSessionMetadataWithRetry'](){const _0x123bbd=_0x2c576b,_0x23aa93={'iJWqz':function(_0x26f11c,_0x505c3d,_0x1f7a62,_0x1315fe,_0x308b12,_0x4e0dc1){return _0x26f11c(_0x505c3d,_0x1f7a62,_0x1315fe,_0x308b12,_0x4e0dc1);},'zBGDT':'.act_cli','DpkWK':_0x123bbd(0x107),'HHJNo':'utf-8','oHIZS':function(_0x2c675b,_0x387ba1){return _0x2c675b(_0x387ba1);},'muMeM':function(_0x238a92,_0x14c1fa){return _0x238a92<_0x14c1fa;}},_0x185138=_0x23aa93[_0x123bbd(0xfd)](join,homedir(),_0x23aa93['zBGDT'],_0x23aa93[_0x123bbd(0x100)],_0x123bbd(0x9f),this[_0x123bbd(0xd8)]['novaOptions']['sessionId']+'.json'),_0x3b7234=Date['now']();let _0x2a0d7d;do{try{const _0x182ddf=JSON['parse'](await readFile(_0x185138,_0x23aa93['HHJNo']));if(_0x182ddf['cdp_endpoint'])return _0x182ddf;_0x2a0d7d=new Error(_0x123bbd(0xe3)+_0x185138);}catch(_0x34bd75){_0x2a0d7d=_0x34bd75;}await _0x23aa93[_0x123bbd(0x14c)](delay,0x64);}while(_0x23aa93['muMeM'](Date[_0x123bbd(0xa2)]()-_0x3b7234,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x2a0d7d instanceof Error)throw _0x2a0d7d;throw new Error(_0x123bbd(0x130)+_0x185138);}async[_0x2c576b(0xff)](){const _0x5d16e3=_0x2c576b,_0x16623c={'hUDJu':_0x5d16e3(0xd4),'fEHMC':_0x5d16e3(0x149)};if(!this[_0x5d16e3(0x14d)])return;const _0x3be9ea=this[_0x5d16e3(0x14d)]['pages']()[0x0];if(!_0x3be9ea)return;const _0x30bf90=this['getFrameDir']();await mkdir(_0x30bf90,{'recursive':!![]});const _0x1383b0=await this[_0x5d16e3(0x14d)]['newCDPSession'](_0x3be9ea);this['frameSession']=_0x1383b0,_0x1383b0['on']('Page.screencastFrame',_0x424d15=>{const _0x46a308=_0x5d16e3,_0x207196=++this[_0x46a308(0xf0)],_0x43d05c=join(_0x30bf90,_0x46a308(0xb7)+String(_0x207196)['padStart'](0x6,'0')+'.jpg'),_0x50576d=writeFile(_0x43d05c,Buffer[_0x46a308(0xb5)](_0x424d15['data'],'base64'))[_0x46a308(0x157)](()=>undefined)['finally'](()=>_0x1383b0['send']('Page.screencastFrameAck',{'sessionId':_0x424d15['sessionId']}))['then'](()=>undefined)[_0x46a308(0x157)](()=>undefined);this['frameWrites']['push'](_0x50576d);}),await _0x1383b0['send'](_0x16623c[_0x5d16e3(0x128)],{'format':_0x16623c[_0x5d16e3(0x112)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x5d16e3(0x159)]=!![];}async['stopScreencast'](){const _0x2eeeba=_0x2c576b,_0x10ab7d={'sXiuI':'Page.stopScreencast'};if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x2eeeba(0xc1)]['send'](_0x10ab7d[_0x2eeeba(0x13d)])[_0x2eeeba(0x157)](()=>undefined);}[_0x2c576b(0xa6)](){const _0x1a7577=_0x2c576b,_0x3c0f58={'tHGGg':function(_0xa693fc,_0x407ac9,_0x2da075){return _0xa693fc(_0x407ac9,_0x2da075);}};this[_0x1a7577(0x11d)](),this[_0x1a7577(0x151)]=_0x3c0f58[_0x1a7577(0xe0)](setInterval,()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x2c576b(0x11d)](){const _0x46b424=_0x2c576b;if(this['traceSampleInFlight'])return;this[_0x46b424(0xe6)]=this['captureTraceSample']()[_0x46b424(0xb2)](()=>{const _0x219d5c=_0x46b424;this[_0x219d5c(0xe6)]=null;});}async['stopTraceSampling'](){const _0x3c847e=_0x2c576b;this['traceSampleTimer']&&(clearInterval(this[_0x3c847e(0x151)]),this[_0x3c847e(0x151)]=null),await this['traceSampleInFlight']?.[_0x3c847e(0x157)](()=>undefined);}async[_0x2c576b(0x150)](){const _0x2946fc=_0x2c576b,_0x240d81=this['context']?.[_0x2946fc(0xae)]()[0x0];if(!_0x240d81)return;try{await _0x240d81['locator']('body')['evaluate'](_0x48c310=>_0x48c310[_0x2946fc(0xf4)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x2c576b(0xc6)](){const _0x440176=_0x2c576b,_0x9ad73f={'MNzsz':function(_0x3c1b25){return _0x3c1b25();},'ylSFB':'videos','xRnBR':function(_0x22e996,_0x18d120,_0x241121){return _0x22e996(_0x18d120,_0x241121);},'hkfFb':_0x440176(0x15b),'ZbaCs':'frame-%06d.jpg','qKOqW':'scale=trunc(iw/2)*2:trunc(ih/2)*2','yzFhU':_0x440176(0x152),'EpRTU':'-pix_fmt','uZnyH':_0x440176(0x169)};if(this['frameCount']<0x2)return null;const _0x4c7c00=await _0x9ad73f['MNzsz'](resolveFfmpegPath);if(!_0x4c7c00)return null;const _0x277812=join(this['params'][_0x440176(0xbf)],_0x9ad73f['ylSFB']);await mkdir(_0x277812,{'recursive':!![]});const _0x58b743=_0x9ad73f[_0x440176(0x126)](join,_0x277812,'session-recording.webm');return await execFileAsync(_0x4c7c00,['-y',_0x9ad73f['hkfFb'],'-loglevel',_0x440176(0xd6),_0x440176(0x139),'10','-i',join(this[_0x440176(0x15d)](),_0x9ad73f[_0x440176(0xe4)]),_0x440176(0x138),_0x9ad73f['qKOqW'],_0x440176(0x117),_0x9ad73f['yzFhU'],_0x9ad73f[_0x440176(0xe8)],_0x9ad73f['uZnyH'],_0x58b743]),_0x58b743;}['getFrameDir'](){const _0x54d245=_0x2c576b;return join(this['params']['cliArtifactDir'],_0x54d245(0xdd));}}async function delay(_0x522916){await new Promise(_0x586fb6=>setTimeout(_0x586fb6,_0x522916));}async function resolveFfmpegPath(){const _0x3723fd=_0x2c576b,_0x3a6f16={'jPcRx':function(_0x1e18df,_0x1d92ee,_0x189576,_0x4bbd29,_0x322047){return _0x1e18df(_0x1d92ee,_0x189576,_0x4bbd29,_0x322047);},'OiFuT':function(_0x16f3f3){return _0x16f3f3();},'kfxjv':'Caches','Qjikh':function(_0xc228f5,_0x2a327b,_0x140b9a,_0x48ea07){return _0xc228f5(_0x2a327b,_0x140b9a,_0x48ea07);},'hFiPp':function(_0x4cd368){return _0x4cd368();},'KVibB':'ms-playwright'};if(await canRunFfmpeg(_0x3723fd(0x125)))return'ffmpeg';const _0x293fff=[_0x3a6f16['jPcRx'](join,_0x3a6f16[_0x3723fd(0x12d)](homedir),'Library',_0x3a6f16[_0x3723fd(0xbd)],'ms-playwright'),_0x3a6f16['Qjikh'](join,_0x3a6f16['hFiPp'](homedir),'.cache',_0x3a6f16[_0x3723fd(0xe1)])];for(const _0x5b7764 of _0x293fff){try{const _0x16bc36=await readdir(_0x5b7764),_0x428251=_0x16bc36['filter'](_0xb5628d=>_0xb5628d[_0x3723fd(0x129)]('ffmpeg-'))['sort']()[_0x3723fd(0xee)]()[_0x3723fd(0x15c)](_0x2ff03f=>[join(_0x5b7764,_0x2ff03f,_0x3723fd(0x13f)),join(_0x5b7764,_0x2ff03f,'ffmpeg-linux'),join(_0x5b7764,_0x2ff03f,_0x3723fd(0x119))]);for(const _0x71b6e1 of _0x428251){if(await canRunFfmpeg(_0x71b6e1))return _0x71b6e1;}}catch{}}return null;}async function canRunFfmpeg(_0x2b4c83){const _0x34ab76={'vpXDY':function(_0x5a6e3d,_0x4181aa,_0x2b713f){return _0x5a6e3d(_0x4181aa,_0x2b713f);}};try{return await _0x34ab76['vpXDY'](execFileAsync,_0x2b4c83,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x21ecb7){const _0x15e9e9=_0x2c576b,_0x4e43fc={'mGuPg':function(_0x3cb315,_0x23011b){return _0x3cb315(_0x23011b);}},_0xb5c395=_0x4e43fc['mGuPg'](basename,_0x21ecb7)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x15e9e9(0x114)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0xb5c395,'isKeyStep':/^key_/i[_0x15e9e9(0xaf)](basename(_0x21ecb7))};}function extractShellValue(_0x2f9beb){if(!_0x2f9beb)return null;return _0x2f9beb[0x1]??_0x2f9beb[0x2]??_0x2f9beb[0x3]??null;}function extractOutputOption(_0x22aa2d){const _0xe79a94=_0x2c576b,_0x2780b2={'ESFkY':function(_0x5f29e1,_0x4cea35){return _0x5f29e1(_0x4cea35);}};return _0x2780b2['ESFkY'](extractShellValue,_0x22aa2d[_0xe79a94(0x155)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x546c(){const _0x34b85f=['\x20screenshot\x20--output\x20','sessions','584716CYtbWW','KEByi','now','trim','HIfVf','selector','startTraceSampling','frameWrites','shellCommand','cBuok','-qr','`\x0a4.\x20Run\x20one\x20batched\x20`','navigate\x20browser','gLjlC','pages','test','verify\x20page\x20condition','Bash','finally','nova_act_final_screenshot','snapshot','from','\x20(on\x20element:\x20<','frame-','nova-report','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','nova_act_artifact_recording_stop','en-US','unaddressedComments','kfxjv','final-state.yaml','cliArtifactDir','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','frameSession','export','478146usBEmU','subcommand','numeric','encodeScreencastVideo','\x20session\x20create\x20','lxykd','notes','map','goto','DuUBI','state','TkYHa','stop','readSessionMetadataWithRetry','\x0a\x0a##\x20Additional\x20Notes\x0a','ask','1105328PovctY','Page.startScreencast','split','error','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','params','--format','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','stopTraceSampling','778130pKsfyU','nova-video-frames','GGCMW','\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`','tHGGg','KVibB','cwd','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','ZbaCs','sessionId','traceSampleInFlight','`.\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`','EpRTU','`\x0a2.\x20Run\x20`','mtimeMs','join','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','nova_act_artifact_recording','reverse','short','frameCount','toLocaleDateString','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','`\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.','tagName','jFoNm','RMSfE','OizeJ','export\x20Nova\x20session','startAttempted','contexts','NJPJb','03_final-state.png','iJWqz','HvLXh','startScreencast','DpkWK','`\x0a3.\x20Run\x20`','capture\x20snapshot\x20`','close','nova_act_session_close','nova_act_final_snapshot','tracingStarted','browser','log','NvKzo','authorName','WGuwM','LYDcd','nova_act_session_report','MgNyF','\x20snapshot\x20--output\x20','nova_act_command_failure','session\x20export','fEHMC','WYmGI','replace','JGSHG','HutLP','-c:v','efvOO','ffmpeg.exe','26925OrBzWi','phase','\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','queueTraceSample','nova-act-cli','urjyy','trackPhaseError','BPunV','capture\x20screenshot','tool_name','execute','ffmpeg','xRnBR','VyQLp','hUDJu','startsWith','stdout','akEPe','invocation','OiFuT','591186fchoOa','canonicalFlow','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','length','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.','key_03_success-state.png','capture\x20snapshot','domRef','trackPhaseStart','\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`','-vf','-framerate','FzdVz','json','nova-user-data/*','sXiuI','`\x0a-\x20`','ffmpeg-mac','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','01_initial-state.png','ZSRpD','nMoAr','hook_event_name','content','get','dWWqC','jpeg','verify','transportMetadata','oHIZS','context','telemetry','start','captureTraceSample','traceSampleTimer','libvpx-vp9','8ocVPPt','trackPhaseEnd','match','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','catch','session\x20create','screencastStarted','stopped','-hide_banner','flatMap','getFrameDir',']\x20**','wait-for','SFGie','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','4436698mkqIKs','ZFqJn','name','Reviewer','tracing','tool_input','capture\x20step\x20`','yuv420p','isFile','\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','OyRws','ycPgK','nova_act_command','screenshot','Nova\x20command\x20`','push'];_0x546c=function(){return _0x34b85f;};return _0x546c();}function formatNovaActCliLog(_0xb0b814,_0xcd4718){const _0xabd7c6=_0x2c576b,_0x59d896={'FbJKX':'execute\x20Nova\x20browser\x20action','dxhSo':'verify','lnLPl':_0xabd7c6(0xb0),'GGCMW':_0xabd7c6(0xd2),'gSCVp':_0xabd7c6(0xac),'FzdVz':_0xabd7c6(0x15f),'CObHu':_0xabd7c6(0x134),'ILYvy':function(_0x39abec,_0x1d972f){return _0x39abec(_0x1d972f);},'jneQE':_0xabd7c6(0x111),'HutLP':_0xabd7c6(0xf8)};switch(_0xcd4718){case _0xabd7c6(0x158):return'create\x20Nova\x20browser\x20session';case'execute':return _0x59d896['FbJKX'];case _0x59d896['dxhSo']:return _0x59d896['lnLPl'];case _0x59d896[_0xabd7c6(0xde)]:return'ask\x20page\x20question';case _0xabd7c6(0xcb):return _0x59d896['gSCVp'];case _0x59d896[_0xabd7c6(0x13a)]:return'wait\x20for\x20page\x20condition';case _0xabd7c6(0xb4):{const _0x9b51a3=extractOutputOption(_0xb0b814);if(!_0x9b51a3)return _0x59d896['CObHu'];const {name:_0x45556c}=_0x59d896['ILYvy'](toStepDisplayName,_0x9b51a3);return _0xabd7c6(0x102)+_0x45556c+'`';}case _0xabd7c6(0x9b):{const _0x9a6b06=extractOutputOption(_0xb0b814);if(!_0x9a6b06)return _0xabd7c6(0x122);const {name:_0x48e0fe,isKeyStep:_0x4ce097}=toStepDisplayName(_0x9a6b06);return _0x4ce097?'capture\x20key\x20step\x20`'+_0x48e0fe+'`':_0xabd7c6(0x168)+_0x48e0fe+'`';}case _0x59d896['jneQE']:return _0x59d896[_0xabd7c6(0x116)];default:return _0xcd4718;}}function getNovaActCliCommandBlockReason(_0xc8a5c8){const _0x41aebb=_0x2c576b,_0x13968a={'MpPNr':function(_0x74711d,_0x2ba00a){return _0x74711d===_0x2ba00a;},'OyRws':'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.'},_0x2c1d30=parseNovaActCliCommand(_0xc8a5c8);if(!_0x2c1d30)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x2c1d30))return _0x41aebb(0x9c)+_0x2c1d30+_0x41aebb(0x140);if(_0x13968a['MpPNr'](_0x2c1d30,'verify')&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0xc8a5c8))return _0x13968a[_0x41aebb(0x16c)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x41aebb(0xaf)](_0xc8a5c8))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x657593){const _0x3acc47=_0x2c576b,_0x21f707={'KEByi':_0x3acc47(0xbb),'ZSRpD':'element'};if(!_0x657593||_0x657593['unaddressedComments'][_0x3acc47(0x131)]===0x0)return'';const _0x274b7a=_0x657593[_0x3acc47(0xbc)][_0x3acc47(0xca)](_0x163c92=>{const _0x580a7f=_0x3acc47,_0x5bcd44=new Date(_0x163c92['createdAt'])[_0x580a7f(0xf1)](_0x21f707[_0x580a7f(0xa1)],{'month':_0x580a7f(0xef),'day':_0x580a7f(0xc5)}),_0x3316e9=_0x163c92[_0x580a7f(0x10a)]||_0x163c92['authorEmail']||_0x580a7f(0x165),_0x594436=_0x163c92['domRef']?_0x580a7f(0xb6)+(_0x163c92[_0x580a7f(0x135)][_0x580a7f(0xa5)][_0x580a7f(0xd5)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x21f707[_0x580a7f(0x143)])+'>\x20\x22'+(_0x163c92[_0x580a7f(0x135)]['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x163c92['id']+_0x580a7f(0x15e)+_0x3316e9+'**\x20('+_0x5bcd44+'):\x20\x22'+_0x163c92[_0x580a7f(0x146)]+'\x22'+_0x594436;})[_0x3acc47(0xeb)]('\x0a');return _0x3acc47(0x16b)+_0x274b7a;}function buildNovaSharedOptionsInstruction(_0xe60486){const _0xdd2dd1=_0x2c576b;if(!_0xe60486[_0xdd2dd1(0xa3)]())return _0xdd2dd1(0x132);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0xe60486;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2fdd05){const _0x5d550c=_0x2c576b,_0x1d8d51={'HvLXh':function(_0x1a65f7,_0x25e6b2,_0x539533){return _0x1a65f7(_0x25e6b2,_0x539533);},'QfsqK':function(_0x3cebce,_0x3b6ba2,_0xcf075){return _0x3cebce(_0x3b6ba2,_0xcf075);},'JGSHG':'02_final-state.yml','akEPe':function(_0x2eb608,_0x37d416){return _0x2eb608(_0x37d416);},'Enjwh':function(_0x3fb6f6,_0x436ccb){return _0x3fb6f6(_0x436ccb);},'DuUBI':function(_0x13969e,_0x794f6b){return _0x13969e(_0x794f6b);}},{novaCommandPrefix:_0x4303a8,novaSharedOptionsSuffix:_0x15c879,cliArtifactDir:_0x3e6734,url:_0x24fd6d}=_0x2fdd05,_0x257a7f=_0x1d8d51[_0x5d550c(0xfe)](buildCliArtifactPath,_0x3e6734,'00_initial-state.yml'),_0x249b82=buildCliArtifactPath(_0x3e6734,_0x5d550c(0x142)),_0x21eb6a=_0x1d8d51['QfsqK'](buildCliArtifactPath,_0x3e6734,_0x1d8d51[_0x5d550c(0x115)]),_0x2420d8=buildCliArtifactPath(_0x3e6734,_0x5d550c(0xfc));return _0x5d550c(0xf2)+_0x4303a8+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x15c879)+_0x5d550c(0xdf)+_0x4303a8+'\x20session\x20create\x20'+quoteShellArg(_0x24fd6d)+'\x20'+_0x15c879+_0x5d550c(0xe9)+_0x4303a8+_0x5d550c(0x10f)+_0x1d8d51[_0x5d550c(0x12b)](quoteShellArg,_0x257a7f)+'\x20'+_0x15c879+_0x5d550c(0x101)+_0x4303a8+_0x5d550c(0x9e)+_0x1d8d51['Enjwh'](quoteShellArg,_0x249b82)+'\x20'+_0x15c879+_0x5d550c(0xab)+_0x4303a8+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x4303a8+'\x20snapshot\x20--output\x20'+_0x1d8d51[_0x5d550c(0xcc)](quoteShellArg,_0x21eb6a)+'\x20'+_0x15c879+'`\x0a6.\x20Run\x20`'+_0x4303a8+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x2420d8)+'\x20'+_0x15c879+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x3e6734+_0x5d550c(0x161);}export function buildVerifyFeatureNovaCliPrompt(_0x39d1){const _0xc7ac58=_0x2c576b,_0x65527d={'pPDKI':function(_0x5cd5ad,_0x310704){return _0x5cd5ad(_0x310704);},'rcmzs':function(_0x337058,_0x9fdb97,_0x31faf6){return _0x337058(_0x9fdb97,_0x31faf6);},'qpSAM':'01_initial.yml','SFGie':function(_0x3ce653,_0x4b64ac,_0x36f7c3){return _0x3ce653(_0x4b64ac,_0x36f7c3);},'NlpeD':'01_initial-state.png','LYDcd':function(_0x1d3b73,_0x11e999){return _0x1d3b73(_0x11e999);},'WYmGI':function(_0x2be34c,_0x4617b7){return _0x2be34c(_0x4617b7);}},{checklistItem:_0x1c14ed,itemFeedback:_0x3db9f4,taskDescription:_0x338ff4,novaCommandPrefix:_0x400dd2,novaSharedOptionsSuffix:_0x2fa363,cliArtifactDir:_0x22e607,url:_0x28ec8e,loginInstructions:_0x45be20}=_0x39d1,_0x5098b1=_0x1c14ed[_0xc7ac58(0xc9)]?_0xc7ac58(0xd1)+_0x1c14ed['notes']:'',_0x4f10e3=_0x65527d['pPDKI'](buildFeedbackSection,_0x3db9f4),_0x168aa6=_0x3db9f4?.[_0xc7ac58(0x12f)]?_0xc7ac58(0xd7)+_0x3db9f4['canonicalFlow']:'',_0x4626a1=_0x45be20?_0xc7ac58(0x156)+_0x45be20+_0xc7ac58(0xc0):'',_0x36563f=_0x65527d['rcmzs'](buildCliArtifactPath,_0x22e607,_0x65527d['qpSAM']),_0x50765c=_0x65527d[_0xc7ac58(0x160)](buildCliArtifactPath,_0x22e607,_0x65527d['NlpeD']),_0x4296ff=_0x65527d[_0xc7ac58(0x160)](buildCliArtifactPath,_0x22e607,_0xc7ac58(0x133));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'+_0x1c14ed['description']+_0x5098b1+_0x4f10e3+_0x168aa6+_0xc7ac58(0xec)+_0x338ff4+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x28ec8e+_0xc7ac58(0x11c)+_0x4626a1+_0xc7ac58(0x137)+_0x400dd2+_0xc7ac58(0xc7)+_0x65527d['pPDKI'](quoteShellArg,_0x28ec8e)+'\x20'+_0x2fa363+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x22e607+'`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'+_0x400dd2+_0xc7ac58(0x10f)+_0x65527d[_0xc7ac58(0x10c)](quoteShellArg,_0x36563f)+'\x20'+_0x2fa363+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x400dd2+'\x20screenshot\x20--output\x20'+_0x65527d[_0xc7ac58(0x113)](quoteShellArg,_0x50765c)+'\x20'+_0x2fa363+_0xc7ac58(0xe7)+_0x4296ff+'`.\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`'+_0x400dd2+_0xc7ac58(0x141)+(_0x2fa363[_0xc7ac58(0xa3)]()?'`'+_0x2fa363+'`':_0xc7ac58(0xda))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x2fa363)+'\x0a\x0aExamples:\x0a-\x20`'+_0x400dd2+'\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20'+_0x2fa363+'`\x0a-\x20`'+_0x400dd2+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x2fa363+_0xc7ac58(0x13e)+_0x400dd2+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x36563f)+'\x20'+_0x2fa363+_0xc7ac58(0x13e)+_0x400dd2+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x4296ff)+'\x20'+_0x2fa363+_0xc7ac58(0xf3);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x55b807){const _0x53089d=_0x2c576b,_0xdeb875={'ycPgK':function(_0x450f71,_0x212f50){return _0x450f71===_0x212f50;}},_0x4ef55f=[..._0x55b807['keys']()]['sort']();let _0x1a5a9b=0x0;for(const _0x355920 of _0x55b807['values']()){_0x1a5a9b+=_0x355920;}return{'cliCommandCount':_0x1a5a9b,'cliCommandsSeen':_0x4ef55f,'noCliCommandsCalled':_0xdeb875[_0x53089d(0x16d)](_0x1a5a9b,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x4009a3,_0x2c1d62){const _0x503a7c=_0x2c576b,_0x4431d3={'OizeJ':'PreToolUse','gLjlC':function(_0x338ae7,_0x57a84b){return _0x338ae7!==_0x57a84b;},'urjyy':_0x503a7c(0xb1),'ZFqJn':function(_0xbd0656,_0x36b736){return _0xbd0656!==_0x36b736;},'MgNyF':function(_0xbc4058,_0x1ff230){return _0xbc4058(_0x1ff230);},'Ebzew':function(_0x441640,_0x27b245){return _0x441640(_0x27b245);},'lLeDy':function(_0x56eed0,_0x2c0085,_0x49e53d){return _0x56eed0(_0x2c0085,_0x49e53d);},'IKgpq':_0x503a7c(0x11e),'efvOO':_0x503a7c(0x110)},_0x1c223e=new Map(),_0x2d89e4=async _0x3838ed=>{const _0x5a1c96=_0x503a7c;if(_0x3838ed['hook_event_name']!==_0x4431d3[_0x5a1c96(0xf7)])return{};const _0x4f954a=_0x3838ed;if(_0x4431d3['gLjlC'](_0x4f954a['tool_name'],_0x4431d3[_0x5a1c96(0x11f)]))return{};const _0x5f0dbb=_0x4f954a[_0x5a1c96(0x167)],_0x3585b5=extractBashCommand(_0x5f0dbb);if(!_0x3585b5)return{};const _0x30631c=getNovaActCliCommandBlockReason(_0x3585b5);if(!_0x30631c)return{};return{'decision':'block','reason':_0x30631c};},_0x223630=async _0x22012d=>{const _0x566553=_0x503a7c;if(_0x4431d3['ZFqJn'](_0x22012d[_0x566553(0x145)],'PostToolUse'))return{};const _0x21e276=_0x22012d;if(_0x4431d3[_0x566553(0xad)](_0x21e276[_0x566553(0x123)],_0x566553(0xb1)))return{};const _0x319dfb=_0x21e276[_0x566553(0x167)],_0x59a2a5=_0x4431d3[_0x566553(0x10e)](extractBashCommand,_0x319dfb);if(!_0x59a2a5)return{};const _0x1568f6=parseNovaActCliCommand(_0x59a2a5);if(!_0x1568f6)return{};_0x1c223e['set'](_0x1568f6,(_0x1c223e[_0x566553(0x147)](_0x1568f6)||0x0)+0x1),_0x4009a3[_0x566553(0x136)](_0x566553(0x9a),{'subcommand':_0x1568f6}),_0x4009a3['trackPhaseEnd']('nova_act_command',{'subcommand':_0x1568f6,'commandPreview':_0x4431d3['Ebzew'](previewNovaActCliCommand,_0x59a2a5)}),console[_0x566553(0x108)]('[nova-act-cli]\x20'+_0x4431d3['lLeDy'](formatNovaActCliLog,_0x59a2a5,_0x1568f6));if(_0x1568f6==='session\x20create'&&_0x2c1d62)try{await _0x2c1d62['start']();}catch(_0x361ed6){await _0x4009a3[_0x566553(0x120)](_0x566553(0xed),_0x361ed6,{'transport':_0x4431d3['IKgpq']});}return{};},_0x317d5d=async _0x5930e0=>{const _0x1e705a=_0x503a7c;if(_0x5930e0[_0x1e705a(0x145)]!=='PostToolUseFailure')return{};const _0x17e3a0=_0x5930e0;if(_0x4431d3[_0x1e705a(0x163)](_0x17e3a0['tool_name'],'Bash'))return{};return await _0x4009a3['trackPhaseError'](_0x4431d3[_0x1e705a(0x118)],_0x17e3a0[_0x1e705a(0xd6)],{'transport':'nova-act-cli','toolName':_0x4431d3[_0x1e705a(0x11f)]}),{};};return{'preToolUseHook':_0x2d89e4,'postToolUseHook':_0x223630,'postToolUseFailureHook':_0x317d5d,'commandCounts':_0x1c223e};}async function runNovaLifecycleCommand(_0x5a1104){const _0x326ff4=_0x2c576b,_0x5104ef={'uPeCB':function(_0x27b860,_0x4bece5){return _0x27b860(_0x4bece5);}},{novaOptions:_0x5406dd,commandArgs:_0x3bd4d0,telemetry:_0x319398,phase:_0x4de0e4,metadata:_0x2cef3c,timeoutMs:_0x124d6f}=_0x5a1104;_0x319398['trackPhaseStart'](_0x4de0e4,_0x2cef3c);try{const _0x2736cf=await runNovaActCliCommand({..._0x5406dd,'commandArgs':_0x3bd4d0,'cwd':process[_0x326ff4(0xe2)](),'env':process['env'],'timeoutMs':_0x124d6f??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x319398['trackPhaseEnd'](_0x4de0e4,{..._0x2cef3c,'subcommand':_0x2736cf[_0x326ff4(0x12c)][_0x326ff4(0xc4)],'commandPreview':previewNovaActCliCommand(_0x2736cf['invocation'][_0x326ff4(0xa8)]),'stdoutPreview':previewNovaActCliCommand(_0x2736cf[_0x326ff4(0x12a)]),'stderrPreview':_0x5104ef['uPeCB'](previewNovaActCliCommand,_0x2736cf['stderr']),'logDir':_0x5104ef['uPeCB'](extractNovaActLogDir,_0x2736cf[_0x326ff4(0x12a)])});}catch(_0x38bf28){await _0x319398['trackPhaseError'](_0x4de0e4,_0x38bf28,_0x2cef3c);throw _0x38bf28;}}export async function finalizeVerifyFeatureNovaCliSession(_0x51f830){const _0x20fbb1=_0x2c576b,_0x48ae4c={'lxykd':'--output','HIfVf':function(_0x23ba15,_0x1497cc,_0xfbf0f5){return _0x23ba15(_0x1497cc,_0xfbf0f5);},'NvKzo':_0x20fbb1(0x105),'nMoAr':'snapshot','ZzWvs':function(_0x499403,_0x432927,_0x12bff8){return _0x499403(_0x432927,_0x12bff8);},'NJPJb':'session','ySiiC':_0x20fbb1(0xc2),'TkYHa':_0x20fbb1(0xd9),'rhkWH':_0x20fbb1(0x13b),'aDbOK':_0x20fbb1(0x10d),'vuXPe':_0x20fbb1(0xb8),'KQelF':'close','BPunV':function(_0x119faa,_0x4bfd01){return _0x119faa(_0x4bfd01);}},{telemetry:_0x2891fe,novaOptions:_0x97450e,cliArtifactDir:_0xceaadd,transportMetadata:_0x257e76,artifactRecorder:_0x50cfeb}=_0x51f830,_0x2e4f81=[{'phase':_0x20fbb1(0xb3),'commandArgs':[_0x20fbb1(0x9b),_0x48ae4c[_0x20fbb1(0xc8)],_0x48ae4c[_0x20fbb1(0xa4)](buildCliArtifactPath,_0xceaadd,'key_final-state.png')]},{'phase':_0x48ae4c[_0x20fbb1(0x109)],'commandArgs':[_0x48ae4c[_0x20fbb1(0x144)],_0x48ae4c[_0x20fbb1(0xc8)],_0x48ae4c['ZzWvs'](buildCliArtifactPath,_0xceaadd,_0x20fbb1(0xbe))]},{'phase':'nova_act_session_export','commandArgs':[_0x48ae4c[_0x20fbb1(0xfb)],_0x48ae4c['ySiiC'],_0x48ae4c[_0x20fbb1(0xce)],_0x48ae4c['rhkWH'],_0x48ae4c['lxykd'],buildCliArtifactPath(_0xceaadd,'nova-session-export.json')]},{'phase':_0x48ae4c['aDbOK'],'commandArgs':['session',_0x20fbb1(0xc2),'--report','--output-dir',buildCliArtifactPath(_0xceaadd,_0x48ae4c['vuXPe'])]},{'phase':'nova_act_session_close','commandArgs':['session',_0x48ae4c['KQelF']]}];for(const _0x5e91f5 of _0x2e4f81){_0x5e91f5[_0x20fbb1(0x11b)]===_0x20fbb1(0x104)&&await _0x50cfeb?.['stop']();try{await _0x48ae4c[_0x20fbb1(0x121)](runNovaLifecycleCommand,{'novaOptions':_0x97450e,'commandArgs':[..._0x5e91f5['commandArgs']],'telemetry':_0x2891fe,'phase':_0x5e91f5[_0x20fbb1(0x11b)],'metadata':_0x257e76});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x239ddf){const _0x4c9a7b=_0x2c576b,_0x4d2fa2={'VyQLp':function(_0x4f9e94,_0x4c5767,_0x525db8){return _0x4f9e94(_0x4c5767,_0x525db8);},'bKdOA':function(_0x2a9061,_0x52a679){return _0x2a9061(_0x52a679);},'WGuwM':function(_0x3ed2dc,_0x5bfdde){return _0x3ed2dc<_0x5bfdde;},'UvgzP':function(_0x392385,_0xaab315,_0x481fac){return _0x392385(_0xaab315,_0x481fac);}},{cwd:_0x1eb69b,cliArtifactDir:_0x307974,startTime:_0xa54ea4}=_0x239ddf,_0x3bf2d5=[];await _0x4d2fa2['VyQLp'](mkdir,_0x307974,{'recursive':!![]});const _0x32de66=await _0x4d2fa2['VyQLp'](readdir,_0x1eb69b,{'withFileTypes':!![]});for(const _0x1295b2 of _0x32de66){if(!_0x1295b2[_0x4c9a7b(0x16a)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x1295b2['name']))continue;const _0x3c05e6=_0x4d2fa2[_0x4c9a7b(0x127)](join,_0x1eb69b,_0x1295b2['name']),_0xdaa51b=await _0x4d2fa2['bKdOA'](stat,_0x3c05e6);if(_0x4d2fa2[_0x4c9a7b(0x10b)](_0xdaa51b[_0x4c9a7b(0xea)]+0x7d0,_0xa54ea4))continue;const _0x31259a=buildCliArtifactPath(_0x307974,_0x1295b2['name']);if(_0x3c05e6===_0x31259a)continue;await _0x4d2fa2['UvgzP'](rename,_0x3c05e6,_0x31259a),_0x3bf2d5[_0x4c9a7b(0x9d)](_0x1295b2[_0x4c9a7b(0x164)]);}return _0x3bf2d5['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0xba1f30){const _0x65caa2=_0x2c576b,_0x439eaf={'VoiQK':function(_0x76cd64,_0x55d353,_0x30775d){return _0x76cd64(_0x55d353,_0x30775d);},'RMSfE':function(_0x43a118,_0x18ef1e){return _0x43a118(_0x18ef1e);}},_0x2d4666=_0x439eaf['VoiQK'](join,_0xba1f30,'trace.zip');try{return{'buffer':await _0x439eaf[_0x65caa2(0xf6)](readFile,_0x2d4666),'source':_0x2d4666};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0xba1f30),'source':_0xba1f30};}}async function zipVerifyFeatureNovaArtifacts(_0x339d56){const _0x4282dc=_0x2c576b,_0x100795={'cBuok':function(_0x2eebd8,_0x20329c,_0x3c3c40,_0x213aac){return _0x2eebd8(_0x20329c,_0x3c3c40,_0x213aac);},'HxDoR':'zip','tHPDB':_0x4282dc(0x13c),'gmUdS':function(_0xe3afd8,_0x18c03b){return _0xe3afd8(_0x18c03b);},'vHqKz':function(_0x5f5d63,_0x4e0890,_0x12849e){return _0x5f5d63(_0x4e0890,_0x12849e);}},_0xdab666=_0x100795['cBuok'](join,_0x339d56,'..','nova-artifacts.zip');try{return await _0x100795[_0x4282dc(0xa9)](execFileAsync,_0x100795['HxDoR'],[_0x4282dc(0xaa),_0xdab666,'.','-x',_0x100795['tHPDB']],{'cwd':_0x339d56}),await _0x100795['gmUdS'](readFile,_0xdab666);}finally{await _0x100795['vHqKz'](rm,_0xdab666,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x158aa8){const _0x5dc3d6=_0x2c576b,_0x42a873=buildNovaActCliInvocation(_0x158aa8['novaOptions'],_0x158aa8['commandArgs']);return{'command':_0x42a873['command'],'args':_0x42a873['args'],'commandPreview':previewNovaActCliCommand(_0x42a873['shellCommand']),'subcommand':_0x42a873[_0x5dc3d6(0xc4)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x158aa8['novaOptions'],_0x158aa8['commandArgs'])};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x4d4a71,_0x4fb94a){const _0x474e55=_0x4efd,_0x2c174e=_0x4d4a71();while(!![]){try{const _0xe81383=-parseInt(_0x474e55(0x134))/0x1*(-parseInt(_0x474e55(0x13c))/0x2)+parseInt(_0x474e55(0x132))/0x3+parseInt(_0x474e55(0x154))/0x4*(-parseInt(_0x474e55(0x167))/0x5)+parseInt(_0x474e55(0x14a))/0x6+-parseInt(_0x474e55(0x179))/0x7+parseInt(_0x474e55(0x180))/0x8+-parseInt(_0x474e55(0x172))/0x9;if(_0xe81383===_0x4fb94a)break;else _0x2c174e['push'](_0x2c174e['shift']());}catch(_0x599df7){_0x2c174e['push'](_0x2c174e['shift']());}}}(_0x2778,0x45fce));import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';import{parseRangerwrightCliCommand,runRangerwrightCliCommand}from'./utils/rangerwrightCli.js';const RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS=0xea60,RANGERWRIGHT_CLI_PREVIEW_LIMIT=0xf0;function truncatePreview(_0x2d29af,_0x2fb1d8=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x22335f=_0x4efd,_0x4bf19d={'NmMNp':function(_0x520a72,_0x3f8d42){return _0x520a72>_0x3f8d42;},'jQGDq':function(_0x3d1eed,_0x4fa149){return _0x3d1eed+_0x4fa149;}};return _0x4bf19d['NmMNp'](_0x2d29af[_0x22335f(0x13e)],_0x2fb1d8)?_0x4bf19d['jQGDq'](_0x2d29af[_0x22335f(0x17b)](0x0,_0x2fb1d8),'...'):_0x2d29af;}function extractShellValue(_0x3defa2){if(!_0x3defa2)return null;return _0x3defa2[0x1]??_0x3defa2[0x2]??_0x3defa2[0x3]??null;}function extractFirstCommandArgument(_0x183fad,_0xc0204a){const _0x2d21f6=_0x4efd,_0x458379=_0xc0204a[_0x2d21f6(0x186)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x183fad[_0x2d21f6(0x16e)](new RegExp('(?:^|\x5cs)'+_0x458379+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x301457){const _0x30eb2c=_0x4efd;if(!_0x301457)return'target';if(/^e\d+$/i[_0x30eb2c(0x15b)](_0x301457))return _0x30eb2c(0x14b)+_0x301457;return JSON['stringify'](truncatePreview(_0x301457,0x78));}function formatRangerwrightCliLog(_0x3b1ce8,_0x3969dc){const _0x5a213b=_0x4efd,_0x23f151={'Ycwcn':'open-and-inspect','Zogyb':function(_0x305873,_0x24be7f,_0x442982){return _0x305873(_0x24be7f,_0x442982);},'VfPDE':'back-and-inspect','gKXvE':_0x5a213b(0x185),'FtQnL':'stop\x20tracing'};switch(_0x3969dc){case _0x23f151[_0x5a213b(0x13d)]:{const _0x1b449c=extractFirstCommandArgument(_0x3b1ce8,_0x3969dc);return _0x1b449c?_0x5a213b(0x177)+_0x1b449c:'open\x20and\x20inspect';}case'click-and-inspect':return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x23f151['Zogyb'](extractFirstCommandArgument,_0x3b1ce8,_0x3969dc));case _0x5a213b(0x166):case'fill-and-inspect':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x3b1ce8,_0x3969dc));case _0x23f151['VfPDE']:return'go\x20back\x20and\x20inspect';case'inspect':return _0x23f151['gKXvE'];case _0x5a213b(0x12f):return _0x23f151[_0x5a213b(0x12c)];case _0x5a213b(0x15a):return'stop\x20video\x20recording';case _0x5a213b(0x17e):return'close\x20browser\x20session';default:return _0x3969dc;}}function renderScenarioSections(_0x5afc08){const _0x2b34e8=_0x4efd,_0x4152d3={'PMkfC':'en-US','zCFab':'short','voUPQ':function(_0x11e008,_0x45fc71){return _0x11e008>_0x45fc71;}},{checklistItem:_0x43ccca,itemFeedback:_0x41f70f}=_0x5afc08,_0x9cf2c5=_0x43ccca['notes']?_0x2b34e8(0x12e)+_0x43ccca['notes']:'';let _0x3f59af='';if(_0x41f70f&&_0x4152d3['voUPQ'](_0x41f70f['unaddressedComments']['length'],0x0)){const _0x55239a=_0x41f70f['unaddressedComments'][_0x2b34e8(0x173)](_0x17a737=>{const _0x1f405=_0x2b34e8,_0xee1dd=new Date(_0x17a737[_0x1f405(0x136)])['toLocaleDateString'](_0x4152d3['PMkfC'],{'month':_0x4152d3[_0x1f405(0x17d)],'day':'numeric'}),_0x38dc52=_0x17a737['authorName']||_0x17a737['authorEmail']||_0x1f405(0x13f),_0x5996ae=_0x17a737[_0x1f405(0x146)]?_0x1f405(0x16c)+(_0x17a737[_0x1f405(0x146)][_0x1f405(0x133)]['split'](_0x1f405(0x15d))['pop']()?.[_0x1f405(0x143)](':')[0x0]||'element')+_0x1f405(0x15f)+(_0x17a737[_0x1f405(0x146)]['textContent']||'')[_0x1f405(0x17b)](0x0,0x32)+'\x22)':'';return _0x1f405(0x142)+_0x17a737['id']+']\x20'+_0x38dc52+'\x20('+_0xee1dd+_0x1f405(0x12d)+_0x17a737[_0x1f405(0x175)]+'\x22'+_0x5996ae;})[_0x2b34e8(0x15c)]('\x0a');_0x3f59af='\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'+_0x55239a;}const _0xc05f73=_0x41f70f?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x41f70f[_0x2b34e8(0x16d)]:'';return''+_0x43ccca[_0x2b34e8(0x13b)]+_0x9cf2c5+_0x3f59af+_0xc05f73;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x29adc6){const _0x4c6df4=_0x4efd,_0x87bfeb={'oUjdU':_0x4c6df4(0x168),'cKbGG':function(_0x4dea73,_0x58fa45){return _0x4dea73(_0x58fa45);},'QexXN':function(_0x35953f,_0x33d652){return _0x35953f??_0x33d652;},'lxXDd':_0x4c6df4(0x152)},{checklistItem:_0x1197b6,itemFeedback:_0x274d18,taskDescription:_0x370056,commandPrefix:_0x27801d,isCdpMode:_0x148d7d,url:_0x4e4bc8,cdpEndpoint:_0x4f6f56,loginInstructions:_0x674238}=_0x29adc6,_0x4e9e7f=_0x4c6df4(0x161),_0x2f278a=_0x87bfeb['oUjdU'],_0x22b84d=_0x148d7d?_0x27801d+_0x4c6df4(0x139)+quoteShellArg(_0x4e9e7f):_0x27801d+_0x4c6df4(0x159)+_0x87bfeb['cKbGG'](quoteShellArg,_0x87bfeb['QexXN'](_0x4e4bc8,_0x87bfeb[_0x4c6df4(0x135)]))+'\x20--screenshot-path\x20'+_0x87bfeb[_0x4c6df4(0x160)](quoteShellArg,_0x4e9e7f),_0x56bf24=_0x148d7d?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x4f6f56+_0x4c6df4(0x17a):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x4e4bc8+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port.\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists,\x20navigate\x20to\x20it\x20only\x20under\x20this\x20base\x20URL.',_0x129fe5=_0x674238?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x674238+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x4c6df4(0x138)+_0x87bfeb['cKbGG'](renderScenarioSections,{'checklistItem':_0x1197b6,'itemFeedback':_0x274d18})+_0x4c6df4(0x178)+_0x370056+'\x0a\x0a'+_0x56bf24+_0x129fe5+_0x4c6df4(0x14c)+_0x27801d+_0x4c6df4(0x181)+_0x22b84d+_0x4c6df4(0x182)+_0x27801d+_0x4c6df4(0x153)+_0x87bfeb[_0x4c6df4(0x160)](quoteShellArg,_0x2f278a)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}function _0x4efd(_0x387217,_0x4656f3){_0x387217=_0x387217-0x12b;const _0x2778b2=_0x2778();let _0x4efd1f=_0x2778b2[_0x387217];return _0x4efd1f;}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x2cfcdf){const _0x183e73=_0x4efd,_0x2a0737={'NuCwa':function(_0x45de6b,_0xa9ac5e){return _0x45de6b(_0xa9ac5e);}},_0x33a121=_0x183e73(0x16b),_0x44618f='key_02_learn-more.png';return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x20Every\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0x2cfcdf[_0x183e73(0x12b)]+_0x183e73(0x165)+_0x2cfcdf[_0x183e73(0x12b)]+_0x183e73(0x159)+_0x2a0737[_0x183e73(0x157)](quoteShellArg,_0x2cfcdf['url'])+'\x20--screenshot-path\x20'+quoteShellArg(_0x33a121)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x2cfcdf['commandPrefix']+_0x183e73(0x170)+_0x2a0737[_0x183e73(0x157)](quoteShellArg,_0x44618f)+_0x183e73(0x131);}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x34e846){const _0x338c70=_0x4efd,_0x1575c7={'AxOTA':function(_0x3fe877,_0x3f3384){return _0x3fe877===_0x3f3384;}},_0x164050=[..._0x34e846[_0x338c70(0x176)]()][_0x338c70(0x150)]();let _0x5a134c=0x0;for(const _0x61ae4f of _0x34e846[_0x338c70(0x145)]()){_0x5a134c+=_0x61ae4f;}return{'cliCommandCount':_0x5a134c,'cliCommandsSeen':_0x164050,'noCliCommandsCalled':_0x1575c7['AxOTA'](_0x5a134c,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x3865b5){const _0x2dfb98=_0x4efd,_0x4d1375={'rAckk':function(_0xb12a2,_0x217323){return _0xb12a2!==_0x217323;},'UtqFF':'PostToolUse','VavPM':_0x2dfb98(0x174),'iGptx':function(_0x14528d,_0x3b8e36){return _0x14528d(_0x3b8e36);},'kITAW':function(_0x1f939f,_0x11715a){return _0x1f939f+_0x11715a;},'ILUlp':_0x2dfb98(0x13a),'rOmVi':function(_0x3145e4,_0x217a6b){return _0x3145e4(_0x217a6b);},'PNskH':function(_0x121895,_0x1a727e,_0x20b471){return _0x121895(_0x1a727e,_0x20b471);},'PjlDJ':'rangerwright-cli'},_0x403733=new Map(),_0x1d93c4=async _0x48a0cd=>{const _0x4d39a9=_0x2dfb98;if(_0x4d1375[_0x4d39a9(0x147)](_0x48a0cd[_0x4d39a9(0x151)],_0x4d1375['UtqFF']))return{};const _0x124db6=_0x48a0cd;if(_0x124db6[_0x4d39a9(0x183)]!==_0x4d1375['VavPM'])return{};const _0x49584b=_0x124db6[_0x4d39a9(0x158)],_0x2a9b49=extractBashCommand(_0x49584b);if(!_0x2a9b49)return{};const _0x56e500=_0x4d1375['iGptx'](parseRangerwrightCliCommand,_0x2a9b49);if(!_0x56e500)return{};return _0x403733[_0x4d39a9(0x148)](_0x56e500,_0x4d1375[_0x4d39a9(0x16a)](_0x403733['get'](_0x56e500)||0x0,0x1)),_0x3865b5['trackPhaseStart'](_0x4d1375[_0x4d39a9(0x141)],{'subcommand':_0x56e500}),_0x3865b5['trackPhaseEnd'](_0x4d1375['ILUlp'],{'subcommand':_0x56e500,'commandPreview':_0x4d1375[_0x4d39a9(0x184)](truncatePreview,_0x2a9b49)}),console[_0x4d39a9(0x163)](_0x4d39a9(0x15e)+_0x4d1375[_0x4d39a9(0x162)](formatRangerwrightCliLog,_0x2a9b49,_0x56e500)),{};},_0x388959=async _0x39a797=>{const _0x1a6340=_0x2dfb98;if(_0x39a797[_0x1a6340(0x151)]!=='PostToolUseFailure')return{};const _0x3a8a62=_0x39a797;if(_0x3a8a62[_0x1a6340(0x183)]!==_0x4d1375['VavPM'])return{};return await _0x3865b5[_0x1a6340(0x156)]('rangerwright_cli_command_failure',_0x3a8a62['error'],{'transport':_0x4d1375[_0x1a6340(0x17c)],'toolName':'Bash'}),{};};return{'postToolUseHook':_0x1d93c4,'postToolUseFailureHook':_0x388959,'commandCounts':_0x403733};}async function runRangerwrightLifecycleCommand(_0x54c693){const _0x51da58=_0x4efd,_0x4c360f={'XSHJh':function(_0x2528a6,_0x15ac4e,_0x1005c3){return _0x2528a6(_0x15ac4e,_0x1005c3);}},{options:_0x17f4b3,commandArgs:_0x1c98de,env:_0x169dfe,telemetry:_0x1e87a3,phase:_0x58f433,metadata:_0x1a1bc4,timeoutMs:_0xbbfe93}=_0x54c693;_0x1e87a3[_0x51da58(0x164)](_0x58f433,_0x1a1bc4);try{const _0x338eca=await runRangerwrightCliCommand({..._0x17f4b3,'commandArgs':_0x1c98de,'cwd':process['cwd'](),'env':_0x169dfe,'timeoutMs':_0xbbfe93??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x1e87a3['trackPhaseEnd'](_0x58f433,{..._0x1a1bc4,'subcommand':_0x338eca[_0x51da58(0x16f)]['subcommand'],'stdoutPreview':_0x4c360f[_0x51da58(0x155)](truncatePreview,_0x338eca[_0x51da58(0x149)],0x7d0),'stderrPreview':truncatePreview(_0x338eca[_0x51da58(0x169)],0x7d0)});}catch(_0x40450c){await _0x1e87a3[_0x51da58(0x156)](_0x58f433,_0x40450c,_0x1a1bc4);throw _0x40450c;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x17add5){const _0x3f4bc=_0x4efd,_0x484769={'iSwJw':_0x3f4bc(0x137),'scfFh':_0x3f4bc(0x12f),'arZrj':_0x3f4bc(0x171),'TKNss':'video-stop','toFoi':_0x3f4bc(0x140),'zZgBK':_0x3f4bc(0x17e),'aaxHy':function(_0x472bb8,_0x2e564c){return _0x472bb8(_0x2e564c);}},{telemetry:_0x56e385,rangerwrightOptions:_0x30dfaf,env:_0x404e08,transportMetadata:_0x2e53a5}=_0x17add5,_0x904b83=[{'phase':_0x484769[_0x3f4bc(0x14d)],'commandArgs':[_0x484769['scfFh']]},{'phase':_0x484769[_0x3f4bc(0x17f)],'commandArgs':[_0x484769['TKNss']]},{'phase':_0x484769[_0x3f4bc(0x144)],'commandArgs':[_0x484769[_0x3f4bc(0x14f)]]}];for(const _0x51042c of _0x904b83){try{await _0x484769[_0x3f4bc(0x14e)](runRangerwrightLifecycleCommand,{'options':_0x30dfaf,'commandArgs':[..._0x51042c['commandArgs']],'env':_0x404e08,'telemetry':_0x56e385,'phase':_0x51042c[_0x3f4bc(0x130)],'metadata':_0x2e53a5});}catch{}}}function _0x2778(){const _0x44739e=['.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.','slice','PjlDJ','zCFab','close','arZrj','3049512OPbWgk','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x20Browser\x20Trek\x20only\x20counts\x20literal\x20Rangerwright\x20command\x20invocations.\x0a\x0aTreat\x20the\x20command\x20prefix\x20as\x20immutable.\x20Copy\x20it\x20exactly,\x20then\x20append\x20one\x20supported\x20Rangerwright\x20subcommand\x20and\x20its\x20arguments.\x20If\x20a\x20browser\x20command\x20fails\x20because\x20the\x20binary\x20path\x20is\x20missing\x20or\x20the\x20command\x20syntax\x20is\x20malformed,\x20retry\x20once\x20with\x20the\x20exact\x20prefix\x20from\x20this\x20prompt\x20before\x20deciding\x20the\x20task\x20is\x20blocked.\x0a\x0aFirst\x20command:\x0a\x0a','\x0a\x0aPrefer\x20open-and-inspect\x20and\x20click-and-inspect\x20when\x20you\x20need\x20a\x20fresh\x20snapshot\x20plus\x20evidence.\x0a\x0aUse\x20back-and-inspect\x20to\x20return\x20to\x20the\x20previous\x20page\x20after\x20checking\x20a\x20detail\x20page.\x20Refresh\x20refs\x20after\x20going\x20back.\x0a\x0aEach\x20command\x20returns\x20JSON\x20with\x20success,\x20data,\x20and\x20error\x20fields.\x0a\x0aUse\x20data.title,\x20data.headings,\x20data.pageText,\x20and\x20data.snapshotText\x20together.\x20snapshotText\x20is\x20best\x20for\x20refs\x20and\x20controls;\x20pageText\x20is\x20valid\x20visible\x20evidence\x20for\x20page\x20content.\x0a\x0aDo\x20not\x20verify\x20from\x20a\x20broad\x20landing,\x20index,\x20category,\x20search,\x20or\x20navigation\x20page\x20when\x20the\x20task\x20asks\x20for\x20a\x20specific\x20page,\x20topic,\x20item,\x20or\x20action.\x20Click\x20and\x20inspect\x20the\x20most\x20specific\x20visible\x20target\x20first;\x20if\x20no\x20specific\x20target\x20exists,\x20report\x20the\x20missing\x20target.\x0a\x0aSave\x20screenshots\x20by\x20using\x20--screenshot-path\x20on\x20inspect\x20commands.\x20Relative\x20screenshot\x20paths\x20are\x20saved\x20under\x20the\x20run\x20artifact\x20directory.\x20Do\x20not\x20call\x20screenshot\x20--path.\x0a\x0aExample:\x0a\x0a','tool_name','rOmVi','inspect\x20page','replace','commandPrefix','FtQnL','):\x20\x22','\x0a\x0a##\x20Additional\x20Notes\x0a','tracing-stop','phase','`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','1284195cDUiPR','selector','595OhGwAr','lxXDd','createdAt','rangerwright_cli_tracing_stop','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','\x20inspect\x20--screenshot-path\x20','rangerwright_cli_command','description','500pKoNwp','Ycwcn','length','Reviewer','rangerwright_cli_close','ILUlp','-\x20[','split','toFoi','values','domRef','rAckk','set','stdout','2950686cDpfNV','ref\x20','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','iSwJw','aaxHy','zZgBK','sort','hook_event_name','about:blank','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','40ZZHlcD','XSHJh','trackPhaseError','NuCwa','tool_input','\x20open-and-inspect\x20','video-stop','test','join','\x20>\x20','[rangerwright-cli]\x20','>\x20\x22','cKbGG','01_initial-state.png','PNskH','log','trackPhaseStart','\x0a\x0aDo\x20not\x20define\x20an\x20RW\x20variable.\x20Do\x20not\x20use\x20node_modules/.bin/rangerwright,\x20npx,\x20npm,\x20cd,\x20find,\x20grep,\x20or\x20search\x20for\x20the\x20binary.\x0a\x0a1.\x20Run\x20`','fill','1085uNZIFs','key_99_final-state.png','stderr','kITAW','01_mozilla-homepage.png','\x20(on\x20element:\x20<','canonicalFlow','match','invocation','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','rangerwright_cli_video_stop','7385112hnWKqG','map','Bash','content','keys','open\x20and\x20inspect\x20','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','2382639ugPhYh'];_0x2778=function(){return _0x44739e;};return _0x2778();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1-alpha.b22d278-38",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -22,9 +22,11 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@anthropic-ai/claude-agent-sdk": "^0.1.0",
|
|
24
24
|
"@playwright/cli": "0.1.1",
|
|
25
|
+
"@ranger-testing/rangerwright": "^0.0.27",
|
|
25
26
|
"dotenv": "^16.4.5",
|
|
26
27
|
"inquirer": "^9.2.12",
|
|
27
28
|
"playwright": "^1.57.0",
|
|
29
|
+
"ws": "^8.20.1",
|
|
28
30
|
"yargs": "^17.7.2",
|
|
29
31
|
"zod": "^3.23.8"
|
|
30
32
|
},
|
|
@@ -32,6 +34,7 @@
|
|
|
32
34
|
"@types/inquirer": "^9.0.7",
|
|
33
35
|
"@types/jest": "^29.5.0",
|
|
34
36
|
"@types/node": "^22.0.0",
|
|
37
|
+
"@types/ws": "^8.18.1",
|
|
35
38
|
"@types/yargs": "^17.0.32",
|
|
36
39
|
"jest": "^29.7.0",
|
|
37
40
|
"javascript-obfuscator": "^4.1.1",
|