@ranger-testing/ranger-cli 3.1.7-alpha.a5be4ca-60 → 3.1.7-alpha.e26cd28-63
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/actors.js +1 -0
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +5 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x39ddb2,_0x180288){const _0x3599e5=_0x2a3a,_0x13028c=_0x39ddb2();while(!![]){try{const _0x4de75a=-parseInt(_0x3599e5(0xeb))/0x1+parseInt(_0x3599e5(0xfd))/0x2+parseInt(_0x3599e5(0x112))/0x3*(-parseInt(_0x3599e5(0xed))/0x4)+-parseInt(_0x3599e5(0xc7))/0x5+-parseInt(_0x3599e5(0x8f))/0x6+parseInt(_0x3599e5(0xcb))/0x7*(parseInt(_0x3599e5(0x10d))/0x8)+-parseInt(_0x3599e5(0xea))/0x9*(-parseInt(_0x3599e5(0xa8))/0xa);if(_0x4de75a===_0x180288)break;else _0x13028c['push'](_0x13028c['shift']());}catch(_0x109557){_0x13028c['push'](_0x13028c['shift']());}}}(_0x5b50,0x6c429));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(_0x5cbf25,_0x51a712=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x2b8da=_0x2a3a,_0x285030={'bDiyP':function(_0x108167,_0x3b04ba){return _0x108167>_0x3b04ba;},'OLrZM':'...'};return _0x285030[_0x2b8da(0xa3)](_0x5cbf25[_0x2b8da(0xc2)],_0x51a712)?_0x5cbf25['slice'](0x0,_0x51a712)+_0x285030[_0x2b8da(0x99)]:_0x5cbf25;}function _0x5b50(){const _0x1c9409=['\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','hbPAm','key_04_success-state.png','\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','tool_call','TzNus','en-US','bDiyP','phase','QrIkh','target','select\x20tab\x20','1352210pwVBrb','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','aEsWT','\x20screenshot\x20--filename\x20','cwd','tab-new','GnzXE','tracing-stop','screenshot','WwMNw','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','run\x20custom\x20Playwright\x20code','log','JMCuP','trace.zip','AVgYe','canonicalFlow','OkLeW','split','snapshot','02_learn-more.yml','mbAlp','start\x20video\x20recording','mxGaR','bXvcb','notes','length','Reviewer','\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`','select\x20tab','--filename=','1088305DCAzCx','tVLaX','isFile','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','581ALCWng','stdout','aRWUy','jMHtN','textContent','name','PvXAl','ljock','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','oTYkC','`\x0a-\x20`snapshot\x20--filename\x20','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','NpVUQ','unaddressedComments','\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','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','-\x20[','ObrVs','tool_name','dqhyM','vKbsi','playwright-cli','description',']\x20**','subcommand','DEBUG','open\x20new\x20tab\x20','mtimeMs','stop\x20tracing','Daeyd','playwright_cli_close','72tbVXEp','220246bMbJkP','playwright_cli_tracing_stop','16rDETlk','ZLrVI','PmjaY','set','`\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`','mJhTT','`\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`','fill','`\x20to\x20inspect\x20the\x20current\x20app\x20state.\x0a5.\x20Read\x20snapshot\x20YAML\x20files\x20to\x20find\x20element\x20references\x20like\x20`e12`,\x20then\x20use\x20them\x20with\x20`click`,\x20`fill`,\x20`check`,\x20or\x20`select`.\x0a6.\x20Use\x20`','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','aIVBW','LBIwj','BQlKE','selector','biElC','ZKRvx','238278lJNmSZ','**\x20(','\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','RpCCE','replace','nrefd','map','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\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','03_learn-more.png','\x20(on\x20element:\x20<','authorEmail','test','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','session-recording.webm','trackPhaseError','45128iNhNzu','click\x20','error','element','UojSy','100365vxDzMw','capture\x20snapshot\x20`','\x20tracing-start`,\x20then\x20`','tXyPo','XJowA','\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.','zFkKv','vSUbN','authorName','content','TlIsl','check','[ranger-verification-agent]\x20','hook_event_name','open\x20browser','stop\x20video\x20recording','domRef','3923700WrIqwK','invocation','stringify','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','sort','toLocaleDateString','01_initial-state.png','open\x20new\x20tab','\x20tracing-start`\x0a3.\x20Run\x20`','click','OLrZM','match','`\x0a9.\x20Run\x20`'];_0x5b50=function(){return _0x1c9409;};return _0x5b50();}function buildCliArtifactPath(_0x1e4fae,_0x5eb2dd){return join(_0x1e4fae,_0x5eb2dd);}function toStepDisplayName(_0x24d9a9){const _0x2a4c55=_0x2a3a,_0x5cda1b=basename(_0x24d9a9)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x2a4c55(0x101)](/^key_/i,'')[_0x2a4c55(0x101)](/^\d+_/,'')[_0x2a4c55(0x101)](/-/g,'\x20');return{'name':_0x5cda1b,'isKeyStep':/^key_/i[_0x2a4c55(0x109)](basename(_0x24d9a9))};}function extractShellValue(_0x298e02){if(!_0x298e02)return null;return _0x298e02[0x1]??_0x298e02[0x2]??_0x298e02[0x3]??null;}function extractFilenameOption(_0x485d03){const _0x54b5a2=_0x2a3a,_0x2da070={'aRWUy':function(_0x5f1bb4,_0xf6667c){return _0x5f1bb4(_0xf6667c);}};return _0x2da070[_0x54b5a2(0xcd)](extractShellValue,_0x485d03[_0x54b5a2(0x9a)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function _0x2a3a(_0x4d55aa,_0x5a22e3){_0x4d55aa=_0x4d55aa-0x8f;const _0x5b506e=_0x5b50();let _0x2a3a6a=_0x5b506e[_0x4d55aa];return _0x2a3a6a;}function extractFirstCommandArgument(_0x549162,_0x31c211){const _0x3666ae={'FoJew':'\x5c$&'},_0x19fd80=_0x31c211['replace'](/[.*+?^${}()|[\]\\]/g,_0x3666ae['FoJew']);return extractShellValue(_0x549162['match'](new RegExp('(?:^|\x5cs)'+_0x19fd80+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x1e8a80){const _0x5dcfbe=_0x2a3a,_0x4b7196={'cLauK':_0x5dcfbe(0xa6),'bXvcb':function(_0x50528f,_0x3b6e6d,_0xc53396){return _0x50528f(_0x3b6e6d,_0xc53396);}};if(!_0x1e8a80)return _0x4b7196['cLauK'];if(/^e\d+$/i['test'](_0x1e8a80))return'ref\x20'+_0x1e8a80;return JSON[_0x5dcfbe(0x91)](_0x4b7196[_0x5dcfbe(0xc0)](truncatePreview,_0x1e8a80,0x78));}function formatPlaywrightCliLog(_0x1583db,_0x2b9324){const _0x42dd07=_0x2a3a,_0x1889ce={'LBIwj':'open','nrefd':function(_0x4726fc,_0x554e9f,_0x3dfe72){return _0x4726fc(_0x554e9f,_0x3dfe72);},'dqhyM':'start\x20tracing','LwoGl':'video-start','vKbsi':'video-stop','BQlKE':_0x42dd07(0x121),'oTYkC':function(_0x4301e5,_0x2d480c){return _0x4301e5(_0x2d480c);},'hlxus':'capture\x20screenshot','PvXAl':_0x42dd07(0x98),'Daeyd':function(_0x5710a2,_0x4101fc){return _0x5710a2(_0x4101fc);},'NpVUQ':_0x42dd07(0xf4),'ftjpC':function(_0x44c577,_0x24be06,_0x4c6c4e){return _0x44c577(_0x24be06,_0x4c6c4e);},'UyuHq':'run-code','EjnAY':_0x42dd07(0xb3),'XJowA':_0x42dd07(0xad),'aEsWT':'tab-select','ZkcsC':_0x42dd07(0xc5)};switch(_0x2b9324){case _0x1889ce[_0x42dd07(0xf8)]:{const _0x50701c=_0x1889ce['nrefd'](extractFirstCommandArgument,_0x1583db,_0x2b9324);return _0x50701c?'open\x20'+_0x50701c:_0x42dd07(0x120);}case'tracing-start':return _0x1889ce[_0x42dd07(0xde)];case _0x42dd07(0xaf):return _0x42dd07(0xe7);case _0x1889ce['LwoGl']:return _0x42dd07(0xbe);case _0x1889ce[_0x42dd07(0xdf)]:return _0x1889ce[_0x42dd07(0xf9)];case _0x42dd07(0xbb):{const _0x451a29=_0x1889ce[_0x42dd07(0xd4)](extractFilenameOption,_0x1583db);if(!_0x451a29)return'capture\x20snapshot';const {name:_0x286ae2}=_0x1889ce[_0x42dd07(0xd4)](toStepDisplayName,_0x451a29);return _0x42dd07(0x113)+_0x286ae2+'`';}case _0x42dd07(0xb0):{const _0x5da3be=extractFilenameOption(_0x1583db);if(!_0x5da3be)return _0x1889ce['hlxus'];const {name:_0x14bf62,isKeyStep:_0x2e8180}=_0x1889ce[_0x42dd07(0xd4)](toStepDisplayName,_0x5da3be);return _0x2e8180?'capture\x20key\x20step\x20`'+_0x14bf62+'`':'capture\x20step\x20`'+_0x14bf62+'`';}case _0x1889ce[_0x42dd07(0xd1)]:return _0x42dd07(0x10e)+formatCommandTarget(extractFirstCommandArgument(_0x1583db,_0x2b9324));case _0x42dd07(0x11d):return'check\x20'+_0x1889ce[_0x42dd07(0xe8)](formatCommandTarget,_0x1889ce[_0x42dd07(0x102)](extractFirstCommandArgument,_0x1583db,_0x2b9324));case _0x1889ce[_0x42dd07(0xd7)]:return'fill\x20'+_0x1889ce[_0x42dd07(0xe8)](formatCommandTarget,extractFirstCommandArgument(_0x1583db,_0x2b9324));case'press':return'press\x20'+_0x1889ce['Daeyd'](formatCommandTarget,_0x1889ce['ftjpC'](extractFirstCommandArgument,_0x1583db,_0x2b9324));case _0x1889ce['UyuHq']:return _0x1889ce['EjnAY'];case _0x1889ce[_0x42dd07(0x116)]:{const _0x47dd98=extractFirstCommandArgument(_0x1583db,_0x2b9324);return _0x47dd98?_0x42dd07(0xe5)+_0x47dd98:_0x42dd07(0x96);}case _0x1889ce[_0x42dd07(0xaa)]:{const _0xbd5c9b=_0x1889ce[_0x42dd07(0x102)](extractFirstCommandArgument,_0x1583db,_0x2b9324);return _0xbd5c9b?_0x42dd07(0xa7)+_0xbd5c9b:_0x1889ce['ZkcsC'];}default:return _0x2b9324;}}function extractPlaywrightCliToolDescription(_0x555104){const _0x23814e=_0x2a3a,_0x33e24d={'DiawZ':function(_0x539214,_0x550a7a){return _0x539214!==_0x550a7a;}},_0x1f84a1=_0x555104[_0x23814e(0xe1)];if(_0x33e24d['DiawZ'](typeof _0x1f84a1,'string'))return null;const _0x467b4e=_0x1f84a1['trim']()['replace'](/\s+/g,'\x20');return _0x467b4e[_0x23814e(0xc2)]>0x0?_0x467b4e:null;}export function formatPlaywrightCliConsoleLogMessage(_0x4e7736,_0x588ea3,_0x117e15){const _0x5d7729=_0x2a3a,_0x32710a={'RpCCE':function(_0x5ec0d,_0x4bc8f4,_0x4e43ad){return _0x5ec0d(_0x4bc8f4,_0x4e43ad);}},_0x3aa0a0=_0x32710a[_0x5d7729(0x100)](formatPlaywrightCliLog,_0x588ea3,_0x117e15),_0x14c1f1=extractPlaywrightCliToolDescription(_0x4e7736);if(!_0x14c1f1)return'[playwright-cli]\x20'+_0x3aa0a0;if(process['env'][_0x5d7729(0xe4)])return'[ranger-verification-agent]\x20'+_0x14c1f1+'\x20('+_0x3aa0a0+')';return _0x5d7729(0x11e)+_0x14c1f1;}export function buildVerifyFeatureCliDebugPrompt(_0x1ba676,_0xba4192){const _0x48ddd2=_0x2a3a,_0x37d3c0={'jMHtN':'00_mozilla-homepage.yml','OlFez':function(_0x46cf1e,_0x1d5c76,_0x468ebd){return _0x46cf1e(_0x1d5c76,_0x468ebd);},'fKUxv':'01_mozilla-homepage.png','tXyPo':_0x48ddd2(0xbc),'mxGaR':function(_0x4ac786,_0x53562c){return _0x4ac786(_0x53562c);}},_0x31cc06=buildCliArtifactPath(_0xba4192,_0x37d3c0[_0x48ddd2(0xce)]),_0x52c8ae=_0x37d3c0['OlFez'](buildCliArtifactPath,_0xba4192,_0x37d3c0['fKUxv']),_0xcefd58=buildCliArtifactPath(_0xba4192,_0x37d3c0[_0x48ddd2(0x115)]),_0x5e3880=buildCliArtifactPath(_0xba4192,_0x48ddd2(0x106)),_0x30e115=quoteShellArg(_0x31cc06),_0x5de7c8=_0x37d3c0['mxGaR'](quoteShellArg,_0x52c8ae),_0x459e49=_0x37d3c0[_0x48ddd2(0xbf)](quoteShellArg,_0xcefd58),_0x3f4197=quoteShellArg(_0x5e3880);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x1ba676+'\x0a\x0a1.\x20Run\x20`'+_0x1ba676+_0x48ddd2(0xc4)+_0x1ba676+_0x48ddd2(0x97)+_0x1ba676+_0x48ddd2(0x92)+_0xba4192+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x1ba676+'\x20snapshot\x20--filename\x20'+_0x30e115+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x1ba676+'\x20screenshot\x20--filename\x20'+_0x5de7c8+_0x48ddd2(0xa9)+_0x1ba676+'\x20snapshot\x20--filename\x20'+_0x459e49+_0x48ddd2(0x9b)+_0x1ba676+'\x20screenshot\x20--filename\x20'+_0x3f4197+_0x48ddd2(0xb2);}export function buildVerifyFeatureCliPrompt(_0x52785a){const _0xc1f474=_0x2a3a,_0xd4bf80={'QrIkh':_0xc1f474(0xa2),'mJhTT':'short','VHyQb':'numeric','zFkKv':_0xc1f474(0xc3),'TlIsl':'\x20>\x20','PmjaY':_0xc1f474(0x110),'ZKRvx':function(_0x1defa0,_0x393cf2,_0x584850){return _0x1defa0(_0x393cf2,_0x584850);},'aIVBW':'02_state.yml','UzSdT':_0xc1f474(0x95),'ljock':function(_0x4ec0a1,_0x2cb9d3){return _0x4ec0a1(_0x2cb9d3);},'vSUbN':function(_0x5dd359,_0x592cf2){return _0x5dd359(_0x592cf2);},'tVLaX':function(_0x58a43c,_0x2d28d4){return _0x58a43c(_0x2d28d4);},'UojSy':function(_0x203148,_0x266228){return _0x203148>_0x266228;},'TzNus':function(_0x153f79,_0x4adc67,_0x32c24b){return _0x153f79(_0x4adc67,_0x32c24b);},'mbAlp':'02_button-clicked.png','OkLeW':'03_result-visible.png','AAPHU':function(_0x27c9e5,_0x5a1ff5,_0x2d8054){return _0x27c9e5(_0x5a1ff5,_0x2d8054);}},{checklistItem:_0x565beb,itemFeedback:_0x1ca551,taskDescription:_0x400d71,cliCommandPrefix:_0x4566cd,cliArtifactDir:_0x5e01fb,isCdpMode:_0x77750b,url:_0x2f7063,cdpEndpoint:_0x34d013,loginInstructions:_0x31c277}=_0x52785a,_0x9b57f1=_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,'01_initial.yml'),_0x1641f3=_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,_0xd4bf80[_0xc1f474(0xf7)]),_0x304736=_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,'key_03_success-state.png'),_0x22bdc4=buildCliArtifactPath(_0x5e01fb,_0xd4bf80['UzSdT']),_0x4bbf48=quoteShellArg(_0x9b57f1),_0x3c6b79=_0xd4bf80[_0xc1f474(0xd2)](quoteShellArg,_0x1641f3),_0x3bbabc=_0xd4bf80[_0xc1f474(0x119)](quoteShellArg,_0x304736),_0x5c5f3f=_0xd4bf80[_0xc1f474(0xc8)](quoteShellArg,_0x22bdc4),_0x254f73=_0x565beb[_0xc1f474(0xc1)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x565beb[_0xc1f474(0xc1)]:'';let _0x25c64e='';if(_0x1ca551&&_0xd4bf80[_0xc1f474(0x111)](_0x1ca551['unaddressedComments']['length'],0x0)){const _0x2f52d2=_0x1ca551[_0xc1f474(0xd8)][_0xc1f474(0x103)](_0x46b044=>{const _0x1e31c6=_0xc1f474,_0x4f2a7f=new Date(_0x46b044['createdAt'])[_0x1e31c6(0x94)](_0xd4bf80[_0x1e31c6(0xa5)],{'month':_0xd4bf80[_0x1e31c6(0xf2)],'day':_0xd4bf80['VHyQb']}),_0x1aa566=_0x46b044[_0x1e31c6(0x11a)]||_0x46b044[_0x1e31c6(0x108)]||_0xd4bf80[_0x1e31c6(0x118)],_0x30ae3e=_0x46b044[_0x1e31c6(0x122)]?_0x1e31c6(0x107)+(_0x46b044['domRef'][_0x1e31c6(0xfa)]['split'](_0xd4bf80[_0x1e31c6(0x11c)])['pop']()?.[_0x1e31c6(0xba)](':')[0x0]||_0xd4bf80[_0x1e31c6(0xef)])+'>\x20\x22'+(_0x46b044['domRef'][_0x1e31c6(0xcf)]||'')['slice'](0x0,0x32)+'\x22)':'';return _0x1e31c6(0xdb)+_0x46b044['id']+_0x1e31c6(0xe2)+_0x1aa566+_0x1e31c6(0xfe)+_0x4f2a7f+'):\x20\x22'+_0x46b044[_0x1e31c6(0x11b)]+'\x22'+_0x30ae3e;})['join']('\x0a');_0x25c64e=_0xc1f474(0xd9)+_0x2f52d2;}const _0x5c355c=_0x1ca551?.[_0xc1f474(0xb8)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1ca551[_0xc1f474(0xb8)]:'',_0x241a33=_0x77750b?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x34d013+_0xc1f474(0xf6):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x2f7063+_0xc1f474(0x105),_0x2ff3a4=_0x2f7063?_0xd4bf80['tVLaX'](quoteShellArg,_0x2f7063):'',_0x580625=_0x77750b?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4566cd+'\x20open`,\x20then\x20`'+_0x4566cd+'\x20tracing-start`,\x20then\x20`'+_0x4566cd+_0xc1f474(0x10a)+_0x5e01fb+_0xc1f474(0xda)+_0x4566cd+'\x20snapshot\x20--filename\x20'+_0x4bbf48+_0xc1f474(0xf5)+_0x4566cd+_0xc1f474(0xab)+_0x5c5f3f+_0xc1f474(0x104)+_0x4566cd+_0xc1f474(0xd6):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x4566cd+'\x20open\x20'+_0x2ff3a4+'`,\x20then\x20`'+_0x4566cd+_0xc1f474(0x114)+_0x4566cd+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x5e01fb+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x4566cd+'\x20snapshot\x20--filename\x20'+_0x4bbf48+_0xc1f474(0xf1)+_0x4566cd+'\x20screenshot\x20--filename\x20'+_0x5c5f3f+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x4566cd+'\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',_0x38995e=_0x77750b?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\x20Login/sign-in/auth\x20pages\x20when\x20no\x20Authentication\x20section\x20is\x20present\x20in\x20this\x20prompt\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.',_0xa5422=_0x31c277?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x31c277+'\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 _0xc1f474(0xca)+_0x565beb['description']+_0x254f73+_0x25c64e+_0x5c355c+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x400d71+'\x0a\x0a'+_0x241a33+_0xa5422+'\x0a\x0a'+_0x580625+_0xc1f474(0x9c)+_0x4566cd+_0xc1f474(0xd3)+_0x5e01fb+_0xc1f474(0xd5)+_0x3c6b79+'`\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'+_0x3bbabc+_0xc1f474(0xf3)+_0x5e01fb+'`:\x20\x22'+_0x22bdc4+'\x22,\x20\x22'+_0xd4bf80[_0xc1f474(0xa1)](buildCliArtifactPath,_0x5e01fb,_0xd4bf80[_0xc1f474(0xbd)])+'\x22,\x20\x22'+_0xd4bf80[_0xc1f474(0xfc)](buildCliArtifactPath,_0x5e01fb,_0xd4bf80[_0xc1f474(0xb9)])+_0xc1f474(0x9f)+_0xd4bf80['AAPHU'](buildCliArtifactPath,_0x5e01fb,_0xc1f474(0x9e))+_0xc1f474(0xff)+_0x38995e+_0xc1f474(0x117);}export function summarizeVerifyFeatureCliCommandAvailability(_0x203424){const _0x2592b0=_0x2a3a,_0x412fd4=[..._0x203424['keys']()][_0x2592b0(0x93)]();let _0x52e9f6=0x0;for(const _0x1a0c06 of _0x203424['values']()){_0x52e9f6+=_0x1a0c06;}return{'cliCommandCount':_0x52e9f6,'cliCommandsSeen':_0x412fd4,'noCliCommandsCalled':_0x52e9f6===0x0};}export function createVerifyFeatureCliHooks(_0x3352da){const _0x2a216e={'JMCuP':function(_0x118c8a,_0x458276){return _0x118c8a!==_0x458276;},'AVgYe':function(_0x161e82,_0x3d8de3){return _0x161e82(_0x3d8de3);},'GnzXE':'playwright-cli','Inopf':'snapshot','MpCbi':function(_0x38d08d,_0x1cc9f1){return _0x38d08d!==_0x1cc9f1;},'hbPAm':'Bash'},_0x4139a7=new Map(),_0x460026=async _0x49f25f=>{const _0x23a6c0=_0x2a3a;if(_0x49f25f[_0x23a6c0(0x11f)]!=='PostToolUse')return{};const _0x2fa1bb=_0x49f25f;if(_0x2a216e[_0x23a6c0(0xb5)](_0x2fa1bb[_0x23a6c0(0xdd)],'Bash'))return{};const _0x3c1a31=_0x2fa1bb['tool_input'],_0x32233f=_0x2a216e['AVgYe'](extractBashCommand,_0x3c1a31);if(!_0x32233f)return{};const _0x29f749=parsePlaywrightCliCommand(_0x32233f);if(!_0x29f749)return{};return _0x4139a7[_0x23a6c0(0xf0)](_0x29f749,(_0x4139a7['get'](_0x29f749)||0x0)+0x1),_0x3352da['trackPhaseStart']('tool_call',{'transport':_0x2a216e['GnzXE'],'toolName':_0x29f749}),_0x3352da['trackPhaseEnd'](_0x23a6c0(0xa0),{'transport':_0x23a6c0(0xe0),'toolName':_0x29f749,'bashCommandPreview':_0x2a216e[_0x23a6c0(0xb7)](truncatePreview,_0x32233f)}),_0x2a216e['JMCuP'](_0x29f749,_0x2a216e['Inopf'])&&console[_0x23a6c0(0xb4)](formatPlaywrightCliConsoleLogMessage(_0x3c1a31,_0x32233f,_0x29f749)),{};},_0x2ad988=async _0x4f368b=>{const _0x35a62f=_0x2a3a;if(_0x4f368b['hook_event_name']!=='PostToolUseFailure')return{};const _0x1c3a19=_0x4f368b;if(_0x2a216e['MpCbi'](_0x1c3a19[_0x35a62f(0xdd)],'Bash'))return{};return await _0x3352da['trackPhaseError']('tool_failure',_0x1c3a19[_0x35a62f(0x10f)],{'transport':_0x2a216e[_0x35a62f(0xae)],'toolName':_0x2a216e[_0x35a62f(0x9d)]}),{};};return{'postToolUseHook':_0x460026,'postToolUseFailureHook':_0x2ad988,'commandCounts':_0x4139a7};}async function runPlaywrightCliLifecycleCommand(_0xa35bd5){const _0x29a473=_0x2a3a,_0x11afe5={'IfsCP':function(_0x328a90,_0x171a83){return _0x328a90(_0x171a83);},'vVQPX':function(_0x51fd4d,_0xfaaa00){return _0x51fd4d??_0xfaaa00;},'xbmvY':function(_0x5506e7,_0x356731,_0x370783){return _0x5506e7(_0x356731,_0x370783);}},{sessionId:_0x5bae77,configPath:_0x44eb6a,commandArgs:_0x2ceeaa,env:_0x393624,telemetry:_0x37736b,phase:_0x5a804d,metadata:_0x2f327b,timeoutMs:_0x58d2bf}=_0xa35bd5;_0x37736b['trackPhaseStart'](_0x5a804d,_0x2f327b);try{const _0xa47e6d=await _0x11afe5['IfsCP'](runPlaywrightCliCommand,{'sessionId':_0x5bae77,'configPath':_0x44eb6a,'commandArgs':_0x2ceeaa,'cwd':process[_0x29a473(0xac)](),'env':_0x393624,'timeoutMs':_0x11afe5['vVQPX'](_0x58d2bf,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x37736b['trackPhaseEnd'](_0x5a804d,{..._0x2f327b,'subcommand':_0xa47e6d[_0x29a473(0x90)][_0x29a473(0xe3)],'stdoutPreview':_0x11afe5['xbmvY'](truncatePreview,_0xa47e6d[_0x29a473(0xcc)],0x7d0),'stderrPreview':truncatePreview(_0xa47e6d['stderr'],0x7d0)});}catch(_0x294763){await _0x37736b[_0x29a473(0x10c)](_0x5a804d,_0x294763,_0x2f327b);throw _0x294763;}}export async function finalizeVerifyFeatureCliSession(_0x500517){const _0x1860ab=_0x2a3a,_0x423d91={'aMWZV':'playwright_cli_video_stop','ZLrVI':'video-stop','UZwEf':function(_0x250b22,_0x5dc667,_0x57fa77){return _0x250b22(_0x5dc667,_0x57fa77);},'EBnpF':_0x1860ab(0xe9),'biElC':function(_0xb9a82a,_0x56d24a){return _0xb9a82a(_0x56d24a);}},{telemetry:_0x2ac68f,sessionId:_0x49ef73,configPath:_0x24db89,cliArtifactDir:_0x477a7d,env:_0x123c13,transportMetadata:_0x4cd74f}=_0x500517,_0x56ef16=[{'phase':_0x1860ab(0xec),'commandArgs':['tracing-stop']},{'phase':_0x423d91['aMWZV'],'commandArgs':[_0x423d91[_0x1860ab(0xee)],_0x1860ab(0xc6)+_0x423d91['UZwEf'](buildCliArtifactPath,_0x477a7d,_0x1860ab(0x10b))]},{'phase':_0x423d91['EBnpF'],'commandArgs':['close']}];for(const _0x4c277e of _0x56ef16){try{await _0x423d91[_0x1860ab(0xfb)](runPlaywrightCliLifecycleCommand,{'sessionId':_0x49ef73,'configPath':_0x24db89,'commandArgs':[..._0x4c277e['commandArgs']],'env':_0x123c13,'telemetry':_0x2ac68f,'phase':_0x4c277e[_0x1860ab(0xa4)],'metadata':_0x4cd74f});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x89805d){const _0x307d6c=_0x2a3a,_0xdaec4f={'cxJBY':_0x307d6c(0xb6),'xukXl':'trace.trace.zip'},_0x4c4b27=[_0xdaec4f['cxJBY'],_0xdaec4f['xukXl']];for(const _0x10e6d1 of _0x4c4b27){const _0x2daf6d=join(_0x89805d,_0x10e6d1);try{return{'buffer':await readFile(_0x2daf6d),'source':_0x2daf6d};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x5840bd){const _0x5595d7=_0x2a3a,_0x24871f={'ObrVs':function(_0x507786,_0x113134,_0x5a6e44){return _0x507786(_0x113134,_0x5a6e44);},'DzXCV':function(_0x10cfe0,_0x3c71cc){return _0x10cfe0(_0x3c71cc);},'WwMNw':function(_0x544a13,_0x554423){return _0x544a13<_0x554423;},'bkhDc':function(_0x479fdb,_0x2eda4e){return _0x479fdb===_0x2eda4e;}},{cwd:_0x40bd2c,cliArtifactDir:_0x346ba3,startTime:_0x181522}=_0x5840bd,_0x550dbe=[];await mkdir(_0x346ba3,{'recursive':!![]});const _0x1ef664=await readdir(_0x40bd2c,{'withFileTypes':!![]});for(const _0x566e57 of _0x1ef664){if(!_0x566e57[_0x5595d7(0xc9)]()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN[_0x5595d7(0x109)](_0x566e57[_0x5595d7(0xd0)]))continue;const _0x368fa1=_0x24871f[_0x5595d7(0xdc)](join,_0x40bd2c,_0x566e57[_0x5595d7(0xd0)]),_0x28386f=await _0x24871f['DzXCV'](stat,_0x368fa1);if(_0x24871f[_0x5595d7(0xb1)](_0x28386f[_0x5595d7(0xe6)]+0x7d0,_0x181522))continue;const _0x5f312d=buildCliArtifactPath(_0x346ba3,_0x566e57[_0x5595d7(0xd0)]);if(_0x24871f['bkhDc'](_0x368fa1,_0x5f312d))continue;await rename(_0x368fa1,_0x5f312d),_0x550dbe['push'](_0x566e57[_0x5595d7(0xd0)]);}return _0x550dbe[_0x5595d7(0x93)]();}
|
|
1
|
+
(function(_0x353726,_0x269089){const _0x574628=_0x308d,_0x504c9c=_0x353726();while(!![]){try{const _0x56f7b0=-parseInt(_0x574628(0x1e7))/0x1*(parseInt(_0x574628(0x1da))/0x2)+parseInt(_0x574628(0x21a))/0x3*(-parseInt(_0x574628(0x238))/0x4)+parseInt(_0x574628(0x207))/0x5+-parseInt(_0x574628(0x1fd))/0x6+parseInt(_0x574628(0x232))/0x7*(-parseInt(_0x574628(0x24a))/0x8)+parseInt(_0x574628(0x23b))/0x9+parseInt(_0x574628(0x255))/0xa;if(_0x56f7b0===_0x269089)break;else _0x504c9c['push'](_0x504c9c['shift']());}catch(_0xb348c0){_0x504c9c['push'](_0x504c9c['shift']());}}}(_0x5e2c,0x53846));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(_0x3f75cc,_0x3bc8f9=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x360ad3=_0x308d,_0x211347={'dvPiv':function(_0x42b0c1,_0x2e9316){return _0x42b0c1>_0x2e9316;},'UjCVc':function(_0x4090b6,_0x3efc8a){return _0x4090b6+_0x3efc8a;},'XypzW':_0x360ad3(0x21b)};return _0x211347['dvPiv'](_0x3f75cc['length'],_0x3bc8f9)?_0x211347[_0x360ad3(0x1e0)](_0x3f75cc['slice'](0x0,_0x3bc8f9),_0x211347[_0x360ad3(0x248)]):_0x3f75cc;}function buildCliArtifactPath(_0x3e4753,_0x12943a){return join(_0x3e4753,_0x12943a);}function toStepDisplayName(_0x16a71b){const _0x7c58e0=_0x308d,_0x1d9114={'TvbBs':function(_0x2974c7,_0x2a8e8f){return _0x2974c7(_0x2a8e8f);}},_0x58179f=_0x1d9114['TvbBs'](basename,_0x16a71b)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x58179f,'isKeyStep':/^key_/i[_0x7c58e0(0x254)](basename(_0x16a71b))};}function extractShellValue(_0x5f4d92){if(!_0x5f4d92)return null;return _0x5f4d92[0x1]??_0x5f4d92[0x2]??_0x5f4d92[0x3]??null;}function extractFilenameOption(_0x40b347){const _0x466769=_0x308d;return extractShellValue(_0x40b347[_0x466769(0x24e)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x251de4,_0x1c2bce){const _0x5b2e6d=_0x308d,_0x287df8={'RuGQV':_0x5b2e6d(0x200)},_0x5bcf5d=_0x1c2bce['replace'](/[.*+?^${}()|[\]\\]/g,_0x287df8[_0x5b2e6d(0x1fe)]);return extractShellValue(_0x251de4['match'](new RegExp(_0x5b2e6d(0x209)+_0x5bcf5d+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x5e2c(){const _0x2acc26=['commandArgs','fFbqK','YPimV','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a9.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a10.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','test','12398740qeMTPD','`\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`','DtxrK','trim','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`',']\x20**','mIOQf','playwright_cli_close','open','XcIEE','capture\x20key\x20step\x20`','stdout','PostToolUseFailure','snapshot','PhUHv','TKgjd','sort','\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.','invocation','rUSlQ','3610vNJuid','hook_event_name','\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.','video-stop','createdAt','`\x0a-\x20`run-code\x20\x22await\x20page.waitForTimeout(1000)\x22`\x20for\x20waits\x20or\x20small\x20custom\x20checks','UjCVc','\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.','key_04_success-state.png','`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','):\x20pick\x20the\x20prefix\x20whose\x20label\x20matches\x20the\x20step\x27s\x20actor.\x0a-\x20The\x20prefix\x20shown\x20in\x20\x22Browser\x20Command\x20Reference\x22\x20above\x20drives\x20','stop\x20video\x20recording','107AehVPP','split','canonicalFlow','playwright_cli_video_stop','\x20screenshot\x20--filename\x20','playwright-cli','\x20(on\x20element:\x20<','GpTlM','`\x0a9.\x20Run\x20`','join','env','YdgRQ','click\x20','capture\x20snapshot','01_mozilla-homepage.png','ref\x20','\x20snapshot\x20--filename\x20','tool_call','03_learn-more.png','short','**\x20(','VQYFL','3146556OYDaAO','RuGQV','oBxDt','\x5c$&','target','03_result-visible.png','HusCy','apzQC','>\x20\x22','kACBq','880150UTkOjO','length','(?:^|\x5cs)','\x20run-code\x20\x22<playwright\x20code>\x22`.\x0a7.\x20Do\x20not\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`;\x20the\x20host\x20finalizes\x20the\x20session\x20and\x20artifacts.\x0a8.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','authorEmail','HGhcV','\x0a\x0a##\x20Additional\x20Notes\x0a','bNCNn','notes','capture\x20screenshot','label','\x0a\x0a-\x20Each\x20actor\x20has\x20its\x20OWN\x20artifact\x20directory\x20—\x20save\x20each\x20actor\x27s\x20screenshots\x20under\x20that\x20actor\x27s\x20directory\x20shown\x20above;\x20do\x20NOT\x20write\x20one\x20actor\x27s\x20screenshots\x20into\x20another\x20actor\x27s\x20directory.\x0a-\x20Switch\x20actors\x20as\x20the\x20scenario\x20dictates\x20(',',\x20…\x22','element','log','nrQYq','KHyNi','-\x20As\x20','session-recording.webm','21toxGcA','...','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','tool_failure','PBpSa','eihdR','aGPqN','EJXNX','error','\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`','LzhtT','map','VapgJ','name','actorPrefixes','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','bEHDd','playwright_cli_tracing_stop','`\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`','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','select\x20tab\x20','mtimeMs','--filename=','hRHuk','14zhxuPk','en-US','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','02_button-clicked.png','PostToolUse','uMEYf','56276VciQeB','artifactDir','prefix','2824758MEJbHA','aNOGj','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','\x20open\x20','tool_name','tool_input','\x22,\x20\x22','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','-\x20[','\x20tracing-start`\x0a3.\x20Run\x20`','tab-new','Bash','BzQve','XypzW','tab-select','2286544jiuZbW','01_initial.yml','open\x20','trackPhaseStart','match','aXVrg'];_0x5e2c=function(){return _0x2acc26;};return _0x5e2c();}function _0x308d(_0x3c4329,_0x100de0){_0x3c4329=_0x3c4329-0x1d5;const _0x5e2c6e=_0x5e2c();let _0x308d45=_0x5e2c6e[_0x3c4329];return _0x308d45;}function formatCommandTarget(_0xad6522){const _0x332c2a=_0x308d,_0x9a5da0={'AOscf':function(_0x10c4dd,_0x3c4f2e,_0x287afb){return _0x10c4dd(_0x3c4f2e,_0x287afb);}};if(!_0xad6522)return _0x332c2a(0x201);if(/^e\d+$/i['test'](_0xad6522))return _0x332c2a(0x1f6)+_0xad6522;return JSON['stringify'](_0x9a5da0['AOscf'](truncatePreview,_0xad6522,0x78));}function formatPlaywrightCliLog(_0x5416af,_0x9da80c){const _0x4ba015=_0x308d,_0x3dbcb0={'XcIEE':function(_0x156704,_0x40da87,_0x487106){return _0x156704(_0x40da87,_0x487106);},'vAOan':'start\x20tracing','QSPiT':'tracing-stop','cWCsP':'screenshot','HGhcV':function(_0x106460,_0xc8d7f){return _0x106460(_0xc8d7f);},'eihdR':_0x4ba015(0x210),'EJXNX':'click','aGPqN':function(_0x21ebe7,_0x2c2742,_0x1fc21f){return _0x21ebe7(_0x2c2742,_0x1fc21f);},'HMGjy':'check','wylyq':'fill','mIOQf':_0x4ba015(0x245),'aNOGj':function(_0x253242,_0x2cabe5,_0x4be8df){return _0x253242(_0x2cabe5,_0x4be8df);}};switch(_0x9da80c){case _0x4ba015(0x25d):{const _0x1b4ac6=_0x3dbcb0[_0x4ba015(0x25e)](extractFirstCommandArgument,_0x5416af,_0x9da80c);return _0x1b4ac6?_0x4ba015(0x24c)+_0x1b4ac6:'open\x20browser';}case'tracing-start':return _0x3dbcb0['vAOan'];case _0x3dbcb0['QSPiT']:return'stop\x20tracing';case'video-start':return'start\x20video\x20recording';case'video-stop':return _0x4ba015(0x1e6);case _0x4ba015(0x262):{const _0x3f9de7=extractFilenameOption(_0x5416af);if(!_0x3f9de7)return _0x4ba015(0x1f4);const {name:_0x15cc9d}=toStepDisplayName(_0x3f9de7);return'capture\x20snapshot\x20`'+_0x15cc9d+'`';}case _0x3dbcb0['cWCsP']:{const _0x350830=_0x3dbcb0[_0x4ba015(0x20c)](extractFilenameOption,_0x5416af);if(!_0x350830)return _0x3dbcb0[_0x4ba015(0x21f)];const {name:_0x2ea801,isKeyStep:_0x39f1c8}=toStepDisplayName(_0x350830);return _0x39f1c8?_0x4ba015(0x25f)+_0x2ea801+'`':'capture\x20step\x20`'+_0x2ea801+'`';}case _0x3dbcb0[_0x4ba015(0x221)]:return _0x4ba015(0x1f3)+formatCommandTarget(_0x3dbcb0[_0x4ba015(0x220)](extractFirstCommandArgument,_0x5416af,_0x9da80c));case _0x3dbcb0['HMGjy']:return'check\x20'+formatCommandTarget(_0x3dbcb0['XcIEE'](extractFirstCommandArgument,_0x5416af,_0x9da80c));case _0x3dbcb0['wylyq']:return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5416af,_0x9da80c));case'press':return'press\x20'+formatCommandTarget(extractFirstCommandArgument(_0x5416af,_0x9da80c));case'run-code':return'run\x20custom\x20Playwright\x20code';case _0x3dbcb0[_0x4ba015(0x25b)]:{const _0x19dd32=_0x3dbcb0[_0x4ba015(0x23c)](extractFirstCommandArgument,_0x5416af,_0x9da80c);return _0x19dd32?'open\x20new\x20tab\x20'+_0x19dd32:'open\x20new\x20tab';}case _0x4ba015(0x249):{const _0xb7f8b=extractFirstCommandArgument(_0x5416af,_0x9da80c);return _0xb7f8b?_0x4ba015(0x22e)+_0xb7f8b:'select\x20tab';}default:return _0x9da80c;}}function extractPlaywrightCliToolDescription(_0x5eb8e1){const _0x5cfefe=_0x308d,_0x3224ef={'bEHDd':function(_0x422052,_0x35def7){return _0x422052!==_0x35def7;}},_0x464fe6=_0x5eb8e1['description'];if(_0x3224ef[_0x5cfefe(0x22a)](typeof _0x464fe6,'string'))return null;const _0x372c15=_0x464fe6[_0x5cfefe(0x258)]()['replace'](/\s+/g,'\x20');return _0x372c15['length']>0x0?_0x372c15:null;}export function formatPlaywrightCliConsoleLogMessage(_0x1e8b0c,_0x376449,_0x4c8c1f){const _0x1818be=_0x308d,_0x271921={'xgRBW':function(_0x4aa58b,_0x133006){return _0x4aa58b(_0x133006);}},_0x6bcdab=formatPlaywrightCliLog(_0x376449,_0x4c8c1f),_0x3aa317=_0x271921['xgRBW'](extractPlaywrightCliToolDescription,_0x1e8b0c);if(!_0x3aa317)return'[playwright-cli]\x20'+_0x6bcdab;if(process[_0x1818be(0x1f1)]['DEBUG'])return'[ranger-verification-agent]\x20'+_0x3aa317+'\x20('+_0x6bcdab+')';return'[ranger-verification-agent]\x20'+_0x3aa317;}export function buildVerifyFeatureCliDebugPrompt(_0x2f9d71,_0x4dbb7f){const _0x167374=_0x308d,_0x2dd60d={'TYwkq':function(_0x5e1a0b,_0x407b29,_0x3054f6){return _0x5e1a0b(_0x407b29,_0x3054f6);},'ApXax':_0x167374(0x1f5),'fFbqK':_0x167374(0x1f9),'oBxDt':function(_0x5a5879,_0x4f65e2){return _0x5a5879(_0x4f65e2);}},_0x50b836=buildCliArtifactPath(_0x4dbb7f,'00_mozilla-homepage.yml'),_0x1ade27=_0x2dd60d['TYwkq'](buildCliArtifactPath,_0x4dbb7f,_0x2dd60d['ApXax']),_0x42d694=buildCliArtifactPath(_0x4dbb7f,'02_learn-more.yml'),_0x195157=buildCliArtifactPath(_0x4dbb7f,_0x2dd60d[_0x167374(0x251)]),_0x2173b4=_0x2dd60d['oBxDt'](quoteShellArg,_0x50b836),_0x1a98dd=_0x2dd60d['oBxDt'](quoteShellArg,_0x1ade27),_0x5b501d=_0x2dd60d[_0x167374(0x1ff)](quoteShellArg,_0x42d694),_0x186e13=quoteShellArg(_0x195157);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x2f9d71+'\x0a\x0a1.\x20Run\x20`'+_0x2f9d71+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x2f9d71+_0x167374(0x244)+_0x2f9d71+_0x167374(0x242)+_0x4dbb7f+_0x167374(0x1e4)+_0x2f9d71+_0x167374(0x1f7)+_0x2173b4+_0x167374(0x1e3)+_0x2f9d71+'\x20screenshot\x20--filename\x20'+_0x1a98dd+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x2f9d71+'\x20snapshot\x20--filename\x20'+_0x5b501d+_0x167374(0x1ef)+_0x2f9d71+_0x167374(0x1eb)+_0x186e13+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x553dfc){const _0x510888=_0x308d,_0x298af0={'YPimV':_0x510888(0x1fa),'uMEYf':'\x20>\x20','aIqEp':_0x510888(0x214),'KHyNi':_0x510888(0x24b),'dlzcq':function(_0x40ecbc,_0x221668,_0x264185){return _0x40ecbc(_0x221668,_0x264185);},'LzhtT':'02_state.yml','jkVbI':function(_0x503835,_0x25c9b1,_0x4e1c20){return _0x503835(_0x25c9b1,_0x4e1c20);},'TKgjd':function(_0x3a0ba0,_0x2343b8){return _0x3a0ba0(_0x2343b8);},'DWpxl':function(_0x3148be,_0xee7377){return _0x3148be(_0xee7377);},'YdgRQ':function(_0x514d61,_0x340c21){return _0x514d61(_0x340c21);},'VapgJ':function(_0x1ea1b2,_0x11402c){return _0x1ea1b2>=_0x11402c;},'EaCZG':'\x20/\x20','XCEOw':'the\x20primary\x20actor','fgrEa':function(_0x4b9e47,_0x479550,_0x35bf3b){return _0x4b9e47(_0x479550,_0x35bf3b);},'GpTlM':_0x510888(0x1e2)},{checklistItem:_0x296954,itemFeedback:_0x3613e2,taskDescription:_0x5cdcb2,cliCommandPrefix:_0x2f9d06,cliArtifactDir:_0x11ea36,isCdpMode:_0x2055b0,url:_0x5a9e71,cdpEndpoint:_0x3019b2,loginInstructions:_0x51c389}=_0x553dfc,_0x151fa8=buildCliArtifactPath(_0x11ea36,_0x298af0[_0x510888(0x217)]),_0x5bac8a=_0x298af0['dlzcq'](buildCliArtifactPath,_0x11ea36,_0x298af0[_0x510888(0x224)]),_0x25275e=buildCliArtifactPath(_0x11ea36,'key_03_success-state.png'),_0x31065c=_0x298af0['jkVbI'](buildCliArtifactPath,_0x11ea36,'01_initial-state.png'),_0x418d2a=_0x298af0[_0x510888(0x1d5)](quoteShellArg,_0x151fa8),_0x1317cf=_0x298af0['DWpxl'](quoteShellArg,_0x5bac8a),_0x18168b=_0x298af0['DWpxl'](quoteShellArg,_0x25275e),_0x42b10a=_0x298af0['DWpxl'](quoteShellArg,_0x31065c),_0x283d03=_0x296954[_0x510888(0x20f)]?_0x510888(0x20d)+_0x296954['notes']:'';let _0x485e7a='';if(_0x3613e2&&_0x3613e2['unaddressedComments'][_0x510888(0x208)]>0x0){const _0x2ed452=_0x3613e2['unaddressedComments'][_0x510888(0x225)](_0x1b8b8c=>{const _0xd9fb57=_0x510888,_0x3386c0=new Date(_0x1b8b8c[_0xd9fb57(0x1de)])['toLocaleDateString'](_0xd9fb57(0x233),{'month':_0x298af0[_0xd9fb57(0x252)],'day':'numeric'}),_0x398f3f=_0x1b8b8c['authorName']||_0x1b8b8c[_0xd9fb57(0x20b)]||'Reviewer',_0x2a33d9=_0x1b8b8c['domRef']?_0xd9fb57(0x1ed)+(_0x1b8b8c['domRef']['selector'][_0xd9fb57(0x1e8)](_0x298af0[_0xd9fb57(0x237)])['pop']()?.['split'](':')[0x0]||_0x298af0['aIqEp'])+_0xd9fb57(0x205)+(_0x1b8b8c['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return _0xd9fb57(0x243)+_0x1b8b8c['id']+_0xd9fb57(0x25a)+_0x398f3f+_0xd9fb57(0x1fb)+_0x3386c0+'):\x20\x22'+_0x1b8b8c['content']+'\x22'+_0x2a33d9;})['join']('\x0a');_0x485e7a='\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'+_0x2ed452;}const _0x1deb61=_0x3613e2?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x3613e2[_0x510888(0x1e9)]:'',_0x3601f1=_0x2055b0?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x3019b2+_0x510888(0x23d):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x5a9e71+'\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',_0x2efc08=_0x5a9e71?_0x298af0[_0x510888(0x1f2)](quoteShellArg,_0x5a9e71):'',_0x20717c=_0x2055b0?_0x510888(0x22d)+_0x2f9d06+'\x20open`,\x20then\x20`'+_0x2f9d06+'\x20tracing-start`,\x20then\x20`'+_0x2f9d06+_0x510888(0x21c)+_0x11ea36+_0x510888(0x229)+_0x2f9d06+'\x20snapshot\x20--filename\x20'+_0x418d2a+_0x510888(0x256)+_0x2f9d06+'\x20screenshot\x20--filename\x20'+_0x42b10a+_0x510888(0x259)+_0x2f9d06+_0x510888(0x20a):'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x2f9d06+_0x510888(0x23e)+_0x2efc08+'`,\x20then\x20`'+_0x2f9d06+'\x20tracing-start`,\x20then\x20`'+_0x2f9d06+_0x510888(0x21c)+_0x11ea36+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x2f9d06+'\x20snapshot\x20--filename\x20'+_0x418d2a+_0x510888(0x22c)+_0x2f9d06+'\x20screenshot\x20--filename\x20'+_0x42b10a+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x2f9d06+_0x510888(0x253),_0x1c1881=_0x2055b0?'\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.':_0x510888(0x1d7),_0x243c92=_0x51c389?_0x510888(0x234)+_0x51c389+_0x510888(0x1e1):'',_0x22cacb=_0x553dfc['actorPrefixes']&&_0x298af0[_0x510888(0x226)](_0x553dfc[_0x510888(0x228)]['length'],0x2)?'\x0a\x0a##\x20Multiple\x20Actors\x20—\x20one\x20live\x20browser\x20session\x20each\x0aRun\x20every\x20browser\x20command\x20with\x20the\x20prefix\x20for\x20the\x20actor\x20named\x20in\x20the\x20step.\x20Each\x20actor\x20is\x20a\x20separate,\x20independent\x20browser\x20session\x20(its\x20own\x20login,\x20cookies,\x20and\x20storage)\x20—\x20the\x20same\x20prefix\x20always\x20drives\x20the\x20same\x20actor\x27s\x20session.\x0a\x0a'+_0x553dfc['actorPrefixes']['map'](_0x3b40c5=>_0x510888(0x218)+_0x3b40c5['label']+',\x20…\x20\x20→\x20\x20`'+_0x3b40c5['prefix']+'`\x20<subcommand>\x20…\x20\x20and\x20save\x20this\x20actor\x27s\x20screenshots/snapshots\x20UNDER\x20`'+_0x3b40c5[_0x510888(0x239)]+'`\x20(e.g.\x20`'+_0x3b40c5[_0x510888(0x23a)]+'\x20screenshot\x20--filename\x20'+_0x3b40c5[_0x510888(0x239)]+'/01_state.png`).')[_0x510888(0x1f0)]('\x0a')+_0x510888(0x212)+_0x553dfc['actorPrefixes'][_0x510888(0x225)](_0x595b35=>'\x22As\x20'+_0x595b35[_0x510888(0x211)]+_0x510888(0x213))['join'](_0x298af0['EaCZG'])+_0x510888(0x1e5)+(_0x553dfc[_0x510888(0x228)][0x0]?.[_0x510888(0x211)]??_0x298af0['XCEOw'])+'\x20(the\x20primary\x20actor).\x0a-\x20You\x20may\x20still\x20run\x20`tracing-start`\x20/\x20`video-start`\x20once\x20per\x20actor\x20session,\x20exactly\x20as\x20you\x20do\x20for\x20the\x20single\x20prefix.\x0a-\x20Do\x20NOT\x20run\x20`close`,\x20`tracing-stop`,\x20or\x20`video-stop`\x20for\x20any\x20actor;\x20the\x20host\x20finalizes\x20every\x20actor\x27s\x20session\x20and\x20artifacts.':'';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'+_0x296954['description']+_0x283d03+_0x485e7a+_0x1deb61+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x5cdcb2+'\x0a\x0a'+_0x3601f1+_0x243c92+'\x0a\x0a'+_0x20717c+_0x510888(0x223)+_0x2f9d06+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x11ea36+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x1317cf+'`\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'+_0x18168b+_0x510888(0x1df)+_0x22cacb+'\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`'+_0x11ea36+'`:\x20\x22'+_0x31065c+_0x510888(0x241)+buildCliArtifactPath(_0x11ea36,_0x510888(0x235))+'\x22,\x20\x22'+buildCliArtifactPath(_0x11ea36,_0x510888(0x202))+'\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'+_0x298af0['fgrEa'](buildCliArtifactPath,_0x11ea36,_0x298af0[_0x510888(0x1ee)])+'\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'+_0x1c1881+_0x510888(0x1dc);}export function summarizeVerifyFeatureCliCommandAvailability(_0x5a3b8a){const _0x536066=_0x308d,_0x495e10={'BzQve':function(_0x60a7ef,_0x2bea2a){return _0x60a7ef===_0x2bea2a;}},_0x4d30ce=[..._0x5a3b8a['keys']()][_0x536066(0x1d6)]();let _0x223263=0x0;for(const _0x403cd5 of _0x5a3b8a['values']()){_0x223263+=_0x403cd5;}return{'cliCommandCount':_0x223263,'cliCommandsSeen':_0x4d30ce,'noCliCommandsCalled':_0x495e10[_0x536066(0x247)](_0x223263,0x0)};}export function createVerifyFeatureCliHooks(_0x587ac3){const _0x173446=_0x308d,_0x5d6388={'nrQYq':_0x173446(0x236),'apzQC':function(_0x31d358,_0x1a83de){return _0x31d358!==_0x1a83de;},'hRHuk':function(_0x592c84,_0x193d7d){return _0x592c84(_0x193d7d);},'fQGRU':_0x173446(0x1f8),'VQYFL':function(_0x5b6a6c,_0x4afe1c,_0x437c89,_0x2f0076){return _0x5b6a6c(_0x4afe1c,_0x437c89,_0x2f0076);},'DtxrK':_0x173446(0x21d),'FDjaO':_0x173446(0x1ec)},_0x27cce0=new Map(),_0x366f14=async _0x3fe061=>{const _0x46e819=_0x173446;if(_0x3fe061[_0x46e819(0x1db)]!==_0x5d6388[_0x46e819(0x216)])return{};const _0x3dcc89=_0x3fe061;if(_0x5d6388['apzQC'](_0x3dcc89[_0x46e819(0x23f)],_0x46e819(0x246)))return{};const _0x378387=_0x3dcc89[_0x46e819(0x240)],_0x2798da=_0x5d6388[_0x46e819(0x231)](extractBashCommand,_0x378387);if(!_0x2798da)return{};const _0x46a6fc=_0x5d6388[_0x46e819(0x231)](parsePlaywrightCliCommand,_0x2798da);if(!_0x46a6fc)return{};return _0x27cce0['set'](_0x46a6fc,(_0x27cce0['get'](_0x46a6fc)||0x0)+0x1),_0x587ac3['trackPhaseStart'](_0x5d6388['fQGRU'],{'transport':'playwright-cli','toolName':_0x46a6fc}),_0x587ac3['trackPhaseEnd']('tool_call',{'transport':_0x46e819(0x1ec),'toolName':_0x46a6fc,'bashCommandPreview':_0x5d6388[_0x46e819(0x231)](truncatePreview,_0x2798da)}),_0x5d6388[_0x46e819(0x204)](_0x46a6fc,_0x46e819(0x262))&&console[_0x46e819(0x215)](_0x5d6388[_0x46e819(0x1fc)](formatPlaywrightCliConsoleLogMessage,_0x378387,_0x2798da,_0x46a6fc)),{};},_0x1b2cc2=async _0x15c304=>{const _0x3bdea1=_0x173446;if(_0x5d6388[_0x3bdea1(0x204)](_0x15c304[_0x3bdea1(0x1db)],_0x3bdea1(0x261)))return{};const _0x3c7b27=_0x15c304;if(_0x5d6388['apzQC'](_0x3c7b27['tool_name'],'Bash'))return{};return await _0x587ac3['trackPhaseError'](_0x5d6388[_0x3bdea1(0x257)],_0x3c7b27[_0x3bdea1(0x222)],{'transport':_0x5d6388['FDjaO'],'toolName':_0x3bdea1(0x246)}),{};};return{'postToolUseHook':_0x366f14,'postToolUseFailureHook':_0x1b2cc2,'commandCounts':_0x27cce0};}async function runPlaywrightCliLifecycleCommand(_0x3b5532){const _0x17832f=_0x308d,_0x18d215={'kACBq':function(_0x1285dd,_0x3f9101){return _0x1285dd??_0x3f9101;},'tfofC':function(_0x8aeab7,_0x1a22c9,_0x1bc841){return _0x8aeab7(_0x1a22c9,_0x1bc841);},'MVQhn':function(_0x275e90,_0x168704,_0x15b815){return _0x275e90(_0x168704,_0x15b815);}},{sessionId:_0x202f43,configPath:_0x5e14a4,commandArgs:_0x5b0137,env:_0x56b9f9,telemetry:_0x453a83,phase:_0x54200c,metadata:_0x1c09e4,timeoutMs:_0x453243}=_0x3b5532;_0x453a83[_0x17832f(0x24d)](_0x54200c,_0x1c09e4);try{const _0x47ac8a=await runPlaywrightCliCommand({'sessionId':_0x202f43,'configPath':_0x5e14a4,'commandArgs':_0x5b0137,'cwd':process['cwd'](),'env':_0x56b9f9,'timeoutMs':_0x18d215[_0x17832f(0x206)](_0x453243,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x453a83['trackPhaseEnd'](_0x54200c,{..._0x1c09e4,'subcommand':_0x47ac8a[_0x17832f(0x1d8)]['subcommand'],'stdoutPreview':_0x18d215['tfofC'](truncatePreview,_0x47ac8a[_0x17832f(0x260)],0x7d0),'stderrPreview':_0x18d215['MVQhn'](truncatePreview,_0x47ac8a['stderr'],0x7d0)});}catch(_0x52347d){await _0x453a83['trackPhaseError'](_0x54200c,_0x52347d,_0x1c09e4);throw _0x52347d;}}export async function finalizeVerifyFeatureCliSession(_0x475235){const _0x5897f2=_0x308d,_0x1d2b38={'TKspf':_0x5897f2(0x22b),'fKHIj':_0x5897f2(0x1ea),'HusCy':_0x5897f2(0x1dd),'FvFsG':_0x5897f2(0x25c),'IRaKu':'close'},{telemetry:_0x1f6209,sessionId:_0x4dbf33,configPath:_0x49d662,cliArtifactDir:_0x3e3a81,env:_0x19c5d3,transportMetadata:_0x3d08ca}=_0x475235,_0x196582=[{'phase':_0x1d2b38['TKspf'],'commandArgs':['tracing-stop']},{'phase':_0x1d2b38['fKHIj'],'commandArgs':[_0x1d2b38[_0x5897f2(0x203)],_0x5897f2(0x230)+buildCliArtifactPath(_0x3e3a81,_0x5897f2(0x219))]},{'phase':_0x1d2b38['FvFsG'],'commandArgs':[_0x1d2b38['IRaKu']]}];for(const _0x78396e of _0x196582){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x4dbf33,'configPath':_0x49d662,'commandArgs':[..._0x78396e[_0x5897f2(0x250)]],'env':_0x19c5d3,'telemetry':_0x1f6209,'phase':_0x78396e['phase'],'metadata':_0x3d08ca});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x304015){const _0x3fede1=_0x308d,_0x5aad1a={'bNCNn':'trace.zip','joUUF':function(_0x599e39,_0xb00c99,_0x386d92){return _0x599e39(_0xb00c99,_0x386d92);},'KUuwd':function(_0x21947b,_0x43869d){return _0x21947b(_0x43869d);}},_0x569180=[_0x5aad1a[_0x3fede1(0x20e)],'trace.trace.zip'];for(const _0x286558 of _0x569180){const _0x350146=_0x5aad1a['joUUF'](join,_0x304015,_0x286558);try{return{'buffer':await _0x5aad1a['KUuwd'](readFile,_0x350146),'source':_0x350146};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x595e2d){const _0x9d24a5=_0x308d,_0xea26d={'rUSlQ':function(_0x15b536,_0x3172a4,_0x34d64c){return _0x15b536(_0x3172a4,_0x34d64c);},'aXVrg':function(_0x4113b7,_0x5ee47a){return _0x4113b7<_0x5ee47a;},'PBpSa':function(_0x20f468,_0x8a6e80){return _0x20f468+_0x8a6e80;},'PhUHv':function(_0xac01c8,_0x243465){return _0xac01c8===_0x243465;}},{cwd:_0x3e7450,cliArtifactDir:_0x202e0d,startTime:_0x1caf96}=_0x595e2d,_0x53b55e=[];await _0xea26d[_0x9d24a5(0x1d9)](mkdir,_0x202e0d,{'recursive':!![]});const _0x19b03e=await _0xea26d[_0x9d24a5(0x1d9)](readdir,_0x3e7450,{'withFileTypes':!![]});for(const _0x5d4f72 of _0x19b03e){if(!_0x5d4f72['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x5d4f72['name']))continue;const _0x36febf=_0xea26d[_0x9d24a5(0x1d9)](join,_0x3e7450,_0x5d4f72['name']),_0x2239ad=await stat(_0x36febf);if(_0xea26d[_0x9d24a5(0x24f)](_0xea26d[_0x9d24a5(0x21e)](_0x2239ad[_0x9d24a5(0x22f)],0x7d0),_0x1caf96))continue;const _0x3925f4=buildCliArtifactPath(_0x202e0d,_0x5d4f72[_0x9d24a5(0x227)]);if(_0xea26d[_0x9d24a5(0x263)](_0x36febf,_0x3925f4))continue;await _0xea26d['rUSlQ'](rename,_0x36febf,_0x3925f4),_0x53b55e['push'](_0x5d4f72[_0x9d24a5(0x227)]);}return _0x53b55e['sort']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xe620d5=_0x50f2;(function(_0x817a4,_0x355e23){const _0x5ea058=_0x50f2,_0x5e0902=_0x817a4();while(!![]){try{const _0x44bf34=parseInt(_0x5ea058(0x283))/0x1+parseInt(_0x5ea058(0x1f4))/0x2+parseInt(_0x5ea058(0x216))/0x3+-parseInt(_0x5ea058(0x295))/0x4*(parseInt(_0x5ea058(0x224))/0x5)+-parseInt(_0x5ea058(0x1ef))/0x6+-parseInt(_0x5ea058(0x22b))/0x7+parseInt(_0x5ea058(0x26e))/0x8;if(_0x44bf34===_0x355e23)break;else _0x5e0902['push'](_0x5e0902['shift']());}catch(_0x34db32){_0x5e0902['push'](_0x5e0902['shift']());}}}(_0x5947,0xe1644));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([_0xe620d5(0x228),'execute','verify','ask','goto','wait-for','snapshot',_0xe620d5(0x259)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x19063a,_0x1d9ee1){return join(_0x19063a,_0x1d9ee1);}export class NovaActArtifactRecorder{[_0xe620d5(0x287)];[_0xe620d5(0x218)]=null;['context']=null;[_0xe620d5(0x1e9)]=null;['frameWrites']=[];[_0xe620d5(0x222)]=0x0;[_0xe620d5(0x1d3)]=0x0;[_0xe620d5(0x1df)]=null;['traceSampleInFlight']=null;[_0xe620d5(0x208)]=![];['screencastStarted']=![];[_0xe620d5(0x1e5)]=![];[_0xe620d5(0x267)]=![];constructor(_0x2ac057){this['params']=_0x2ac057;}async[_0xe620d5(0x1fa)](){const _0x444ad6=_0xe620d5,_0x154819={'pltGI':function(_0x49e16f,_0x3b3c8c,_0xea7c0b){return _0x49e16f(_0x3b3c8c,_0xea7c0b);}};if(this[_0x444ad6(0x1e5)])return;this[_0x444ad6(0x1e5)]=!![];const _0x24a547=await this['readSessionMetadataWithRetry'](),_0x32daf5=_0x24a547['cdp_endpoint'];if(!_0x32daf5)throw new Error(_0x444ad6(0x201)+this['params']['novaOptions']['sessionId']);await _0x154819['pltGI'](mkdir,this[_0x444ad6(0x287)]['cliArtifactDir'],{'recursive':!![]}),this[_0x444ad6(0x218)]=await chromium[_0x444ad6(0x227)](_0x32daf5,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x444ad6(0x1c9)]=this['browser']['contexts']()[0x0]??null;if(!this[_0x444ad6(0x1c9)])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this['context'][_0x444ad6(0x221)][_0x444ad6(0x1fa)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x444ad6(0x208)]=!![],this[_0x444ad6(0x1f9)](),await this['startScreencast'](),this['params']['telemetry']['trackPhaseStart']('nova_act_artifact_recording',{...this[_0x444ad6(0x287)]['transportMetadata'],'cdpEndpoint':_0x32daf5,'browserPid':_0x24a547[_0x444ad6(0x268)],'sessionState':_0x24a547['state']}),this['params']['telemetry']['trackPhaseEnd']('nova_act_artifact_recording',{...this['params']['transportMetadata'],'tracingStarted':this[_0x444ad6(0x208)],'screencastStarted':this[_0x444ad6(0x261)]});}async['stop'](){const _0x7179e1=_0xe620d5,_0x50bf1a={'hKHpL':'nova_act_artifact_recording_stop','DnVkW':function(_0x487386,_0x583e33,_0xdce52e){return _0x487386(_0x583e33,_0xdce52e);}};if(this[_0x7179e1(0x267)])return;this['stopped']=!![];const _0x2f46b0={...this['params']['transportMetadata'],'frameCount':this[_0x7179e1(0x222)],'traceSampleCount':this[_0x7179e1(0x1d3)],'tracingStarted':this[_0x7179e1(0x208)],'screencastStarted':this[_0x7179e1(0x261)]};this[_0x7179e1(0x287)]['telemetry']['trackPhaseStart'](_0x50bf1a[_0x7179e1(0x266)],_0x2f46b0);try{await this[_0x7179e1(0x260)](),await this[_0x7179e1(0x240)](),await this['stopScreencast'](),await Promise['allSettled'](this['frameWrites']);this[_0x7179e1(0x1c9)]&&this[_0x7179e1(0x208)]&&await this['context']['tracing']['stop']({'path':_0x50bf1a[_0x7179e1(0x254)](buildCliArtifactPath,this[_0x7179e1(0x287)]['cliArtifactDir'],_0x7179e1(0x289))});const _0x2f9637=await this[_0x7179e1(0x288)]();this['params']['telemetry']['trackPhaseEnd'](_0x50bf1a[_0x7179e1(0x266)],{..._0x2f46b0,'videoPath':_0x2f9637});}catch(_0x5c0b0a){await this['params']['telemetry'][_0x7179e1(0x245)]('nova_act_artifact_recording_stop',_0x5c0b0a,_0x2f46b0);}finally{await this[_0x7179e1(0x218)]?.['close']()[_0x7179e1(0x251)](()=>undefined),this['browser']=null,this[_0x7179e1(0x1c9)]=null,this['frameSession']=null;}}async[_0xe620d5(0x285)](){const _0x15ce9d=_0xe620d5,_0x3058b4={'mrfkh':function(_0x43a083,_0x4d429a,_0x260c5d,_0x58635f,_0xa0ae3d,_0x1df621){return _0x43a083(_0x4d429a,_0x260c5d,_0x58635f,_0xa0ae3d,_0x1df621);},'styIa':_0x15ce9d(0x23d),'ifJQR':'utf-8','DovQu':function(_0x3b4d8b,_0x58fd65){return _0x3b4d8b<_0x58fd65;},'IYHAi':function(_0x1885ef,_0x25e2b3){return _0x1885ef-_0x25e2b3;}},_0x259e38=_0x3058b4[_0x15ce9d(0x1d4)](join,homedir(),'.act_cli','browser',_0x3058b4['styIa'],this[_0x15ce9d(0x287)]['novaOptions'][_0x15ce9d(0x265)]+'.json'),_0x4ebac4=Date['now']();let _0x32e258;do{try{const _0x55e6e0=JSON[_0x15ce9d(0x1e2)](await readFile(_0x259e38,_0x3058b4['ifJQR']));if(_0x55e6e0['cdp_endpoint'])return _0x55e6e0;_0x32e258=new Error(_0x15ce9d(0x26b)+_0x259e38);}catch(_0x2b3546){_0x32e258=_0x2b3546;}await delay(0x64);}while(_0x3058b4[_0x15ce9d(0x219)](_0x3058b4[_0x15ce9d(0x1f5)](Date['now'](),_0x4ebac4),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x32e258 instanceof Error)throw _0x32e258;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x259e38);}async['startScreencast'](){const _0x3b3982=_0xe620d5,_0x44053f={'CRzva':function(_0x35de41,_0x31d03a,_0x4d0e72){return _0x35de41(_0x31d03a,_0x4d0e72);},'OeJPa':function(_0x1ed574,_0x8d0071){return _0x1ed574(_0x8d0071);},'ObsUb':_0x3b3982(0x29b)};if(!this[_0x3b3982(0x1c9)])return;const _0x1c6cbb=this[_0x3b3982(0x1c9)][_0x3b3982(0x1cb)]()[0x0];if(!_0x1c6cbb)return;const _0xe7ec97=this[_0x3b3982(0x29d)]();await mkdir(_0xe7ec97,{'recursive':!![]});const _0x4feb1f=await this['context']['newCDPSession'](_0x1c6cbb);this['frameSession']=_0x4feb1f,_0x4feb1f['on'](_0x3b3982(0x204),_0x268147=>{const _0x57bd07=_0x3b3982,_0x538c4b=++this[_0x57bd07(0x222)],_0x2f434a=_0x44053f[_0x57bd07(0x26f)](join,_0xe7ec97,_0x57bd07(0x239)+_0x44053f[_0x57bd07(0x26d)](String,_0x538c4b)[_0x57bd07(0x296)](0x6,'0')+_0x57bd07(0x23b)),_0x509fec=writeFile(_0x2f434a,Buffer[_0x57bd07(0x1cf)](_0x268147['data'],'base64'))['catch'](()=>undefined)[_0x57bd07(0x1eb)](()=>_0x4feb1f['send']('Page.screencastFrameAck',{'sessionId':_0x268147[_0x57bd07(0x265)]}))[_0x57bd07(0x1c8)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x57bd07(0x263)](_0x509fec);}),await _0x4feb1f['send']('Page.startScreencast',{'format':_0x44053f[_0x3b3982(0x213)],'quality':0x4b,'everyNthFrame':0x6}),this[_0x3b3982(0x261)]=!![];}async[_0xe620d5(0x298)](){const _0x5e127c=_0xe620d5,_0x5581fb={'ZnWgX':_0x5e127c(0x29e)};if(!this[_0x5e127c(0x1e9)]||!this[_0x5e127c(0x261)])return;await this['frameSession']['send'](_0x5581fb['ZnWgX'])[_0x5e127c(0x251)](()=>undefined);}['startTraceSampling'](){const _0x1c110a=_0xe620d5;this['queueTraceSample'](),this[_0x1c110a(0x1df)]=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x3e3edb=_0xe620d5;if(this['traceSampleInFlight'])return;this[_0x3e3edb(0x294)]=this['captureTraceSample']()[_0x3e3edb(0x1eb)](()=>{const _0x5e91ea=_0x3e3edb;this[_0x5e91ea(0x294)]=null;});}async[_0xe620d5(0x260)](){const _0x39bae2=_0xe620d5,_0x55e446={'yNfDG':function(_0x3ecf14,_0x2dc15a){return _0x3ecf14(_0x2dc15a);}};this['traceSampleTimer']&&(_0x55e446[_0x39bae2(0x20b)](clearInterval,this[_0x39bae2(0x1df)]),this['traceSampleTimer']=null),await this[_0x39bae2(0x294)]?.[_0x39bae2(0x251)](()=>undefined);}async['captureTraceSample'](){const _0xcdc8e1=_0xe620d5,_0xc68084={'LZVhP':'body'},_0x1f3386=this['context']?.[_0xcdc8e1(0x1cb)]()[0x0];if(!_0x1f3386)return;try{await _0x1f3386[_0xcdc8e1(0x25d)](_0xc68084[_0xcdc8e1(0x256)])['evaluate'](_0x3c8094=>_0x3c8094[_0xcdc8e1(0x24c)],undefined,{'timeout':0x3e8}),this[_0xcdc8e1(0x1d3)]++;}catch{}}async[_0xe620d5(0x288)](){const _0x1270d5=_0xe620d5,_0x3710ae={'OEJqr':function(_0x51c7b2,_0x2c962a){return _0x51c7b2<_0x2c962a;},'TsIFq':function(_0x23abd0){return _0x23abd0();},'Qhmzz':_0x1270d5(0x293),'qZpRm':function(_0x1e87f8,_0x39b0be,_0x5bf0be){return _0x1e87f8(_0x39b0be,_0x5bf0be);},'JHUgt':function(_0x1f809b,_0x49d88a,_0x49a5a1){return _0x1f809b(_0x49d88a,_0x49a5a1);},'zZawo':_0x1270d5(0x282),'Swtue':_0x1270d5(0x22c),'jPEIK':_0x1270d5(0x2a0),'FXAKt':_0x1270d5(0x1cc),'omwdX':'libvpx-vp9','VtTAy':'-pix_fmt','iUcMN':_0x1270d5(0x1ec)};if(_0x3710ae['OEJqr'](this['frameCount'],0x2))return null;const _0x1e549c=await _0x3710ae[_0x1270d5(0x25b)](resolveFfmpegPath);if(!_0x1e549c)return null;const _0x44c866=join(this['params'][_0x1270d5(0x1f3)],_0x3710ae['Qhmzz']);await _0x3710ae['qZpRm'](mkdir,_0x44c866,{'recursive':!![]});const _0x1f6904=_0x3710ae[_0x1270d5(0x214)](join,_0x44c866,'session-recording.webm');return await execFileAsync(_0x1e549c,['-y',_0x3710ae[_0x1270d5(0x210)],_0x1270d5(0x241),_0x3710ae[_0x1270d5(0x28c)],'-framerate','10','-i',_0x3710ae[_0x1270d5(0x207)](join,this[_0x1270d5(0x29d)](),_0x3710ae['jPEIK']),'-vf','scale=trunc(iw/2)*2:trunc(ih/2)*2',_0x3710ae[_0x1270d5(0x1e3)],_0x3710ae[_0x1270d5(0x21d)],_0x3710ae['VtTAy'],_0x3710ae['iUcMN'],_0x1f6904]),_0x1f6904;}[_0xe620d5(0x29d)](){const _0x3de459=_0xe620d5,_0x250870={'HHJyV':'nova-video-frames'};return join(this[_0x3de459(0x287)]['cliArtifactDir'],_0x250870[_0x3de459(0x21c)]);}}async function delay(_0x39a3b7){await new Promise(_0x27567c=>setTimeout(_0x27567c,_0x39a3b7));}async function resolveFfmpegPath(){const _0x324fcc=_0xe620d5,_0x3a58de={'XCVwD':function(_0x27da8e,_0x2be6d6,_0x1b986b,_0x457ba4,_0x5d2eb1){return _0x27da8e(_0x2be6d6,_0x1b986b,_0x457ba4,_0x5d2eb1);},'PDtcd':function(_0x55c80c){return _0x55c80c();},'gwzQA':function(_0x5d95e3,_0x23e094,_0xa53db8,_0x118d7e){return _0x5d95e3(_0x23e094,_0xa53db8,_0x118d7e);},'oDzJN':function(_0x43d6ea){return _0x43d6ea();},'xzEwR':_0x324fcc(0x236),'dxDOJ':'ms-playwright','jGyNn':function(_0x228b4a,_0x53a9af){return _0x228b4a(_0x53a9af);}};if(await canRunFfmpeg('ffmpeg'))return _0x324fcc(0x255);const _0x52784e=[_0x3a58de['XCVwD'](join,_0x3a58de['PDtcd'](homedir),'Library',_0x324fcc(0x23c),_0x324fcc(0x1db)),_0x3a58de['gwzQA'](join,_0x3a58de['oDzJN'](homedir),_0x3a58de['xzEwR'],_0x3a58de[_0x324fcc(0x200)])];for(const _0x497325 of _0x52784e){try{const _0x488833=await _0x3a58de['jGyNn'](readdir,_0x497325),_0x47b936=_0x488833[_0x324fcc(0x1dd)](_0x34b9b7=>_0x34b9b7[_0x324fcc(0x24d)](_0x324fcc(0x1d7)))['sort']()['reverse']()[_0x324fcc(0x25a)](_0x12aca2=>[join(_0x497325,_0x12aca2,'ffmpeg-mac'),join(_0x497325,_0x12aca2,_0x324fcc(0x248)),join(_0x497325,_0x12aca2,'ffmpeg.exe')]);for(const _0x404f11 of _0x47b936){if(await _0x3a58de['jGyNn'](canRunFfmpeg,_0x404f11))return _0x404f11;}}catch{}}return null;}async function canRunFfmpeg(_0x56d00f){const _0x4c394e={'MrHBN':function(_0xc679da,_0x4b6c3a,_0x50d409){return _0xc679da(_0x4b6c3a,_0x50d409);}};try{return await _0x4c394e['MrHBN'](execFileAsync,_0x56d00f,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0x464ca1){const _0x205cf6=_0xe620d5,_0xc99bff={'enLLn':function(_0x52284a,_0x51ffdf){return _0x52284a(_0x51ffdf);}},_0x6b9108=_0xc99bff[_0x205cf6(0x242)](basename,_0x464ca1)[_0x205cf6(0x28a)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x205cf6(0x28a)](/^\d+_/,'')[_0x205cf6(0x28a)](/-/g,'\x20');return{'name':_0x6b9108,'isKeyStep':/^key_/i[_0x205cf6(0x262)](basename(_0x464ca1))};}function extractShellValue(_0x214efe){if(!_0x214efe)return null;return _0x214efe[0x1]??_0x214efe[0x2]??_0x214efe[0x3]??null;}function extractOutputOption(_0x2fe5e2){const _0x4e9b16=_0xe620d5,_0x81c674={'nnrHV':function(_0xe3bc3f,_0x14dc9a){return _0xe3bc3f(_0x14dc9a);}};return _0x81c674['nnrHV'](extractShellValue,_0x2fe5e2[_0x4e9b16(0x215)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x1ca9cd,_0x1f7c4f){const _0x4f6443=_0xe620d5,_0x4abeca={'qUNgA':_0x4f6443(0x244),'WqWbQ':'execute','ficTh':'execute\x20Nova\x20browser\x20action','acRds':_0x4f6443(0x27c),'CyaeS':_0x4f6443(0x273),'PyJDj':'navigate\x20browser','Vabse':_0x4f6443(0x1f6),'FdfvI':'wait\x20for\x20page\x20condition','tnWPa':_0x4f6443(0x206),'Siivy':'screenshot','NbAyP':function(_0x450df3,_0xe2c777){return _0x450df3(_0xe2c777);},'FKqAy':_0x4f6443(0x269)};switch(_0x1f7c4f){case'session\x20create':return _0x4abeca['qUNgA'];case _0x4abeca[_0x4f6443(0x232)]:return _0x4abeca['ficTh'];case _0x4f6443(0x23e):return _0x4abeca['acRds'];case _0x4abeca['CyaeS']:return _0x4f6443(0x247);case'goto':return _0x4abeca['PyJDj'];case _0x4abeca[_0x4f6443(0x1d0)]:return _0x4abeca['FdfvI'];case'snapshot':{const _0xe6aaa=extractOutputOption(_0x1ca9cd);if(!_0xe6aaa)return _0x4abeca['tnWPa'];const {name:_0x26d12c}=toStepDisplayName(_0xe6aaa);return _0x4f6443(0x1ee)+_0x26d12c+'`';}case _0x4abeca[_0x4f6443(0x212)]:{const _0x203e35=_0x4abeca[_0x4f6443(0x290)](extractOutputOption,_0x1ca9cd);if(!_0x203e35)return'capture\x20screenshot';const {name:_0x3aab95,isKeyStep:_0x45455f}=toStepDisplayName(_0x203e35);return _0x45455f?'capture\x20key\x20step\x20`'+_0x3aab95+'`':_0x4f6443(0x299)+_0x3aab95+'`';}case'session\x20export':return _0x4abeca[_0x4f6443(0x1f0)];default:return _0x1f7c4f;}}function getNovaActCliCommandBlockReason(_0x124289){const _0x1b1e1f=_0xe620d5,_0x5d885a={'dMlzo':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','kSkRZ':function(_0x5b44f5,_0x194ab2){return _0x5b44f5===_0x194ab2;},'NkAet':'verify','qwTuZ':_0x1b1e1f(0x21b)},_0x46901b=parseNovaActCliCommand(_0x124289);if(!_0x46901b)return _0x5d885a['dMlzo'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x1b1e1f(0x20f)](_0x46901b))return'Nova\x20command\x20`'+_0x46901b+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x5d885a['kSkRZ'](_0x46901b,_0x5d885a['NkAet'])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x1b1e1f(0x262)](_0x124289))return _0x5d885a['qwTuZ'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x124289))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x27155a){const _0x1d8e92=_0xe620d5,_0x580102={'KsdiF':'en-US','zbvgI':_0x1d8e92(0x270),'vVrHD':_0x1d8e92(0x1f7),'Pivif':_0x1d8e92(0x258)};if(!_0x27155a||_0x27155a[_0x1d8e92(0x20c)]['length']===0x0)return'';const _0x34e39d=_0x27155a['unaddressedComments']['map'](_0x257dca=>{const _0x5432e9=_0x1d8e92,_0x2939a2=new Date(_0x257dca['createdAt'])['toLocaleDateString'](_0x580102['KsdiF'],{'month':_0x580102['zbvgI'],'day':_0x580102['vVrHD']}),_0x1be812=_0x257dca[_0x5432e9(0x29a)]||_0x257dca[_0x5432e9(0x1fb)]||'Reviewer',_0x47ece1=_0x257dca['domRef']?'\x20(on\x20element:\x20<'+(_0x257dca['domRef']['selector']['split'](_0x580102['Pivif'])['pop']()?.['split'](':')[0x0]||_0x5432e9(0x27b))+_0x5432e9(0x26c)+(_0x257dca['domRef']['textContent']||'')[_0x5432e9(0x238)](0x0,0x32)+'\x22)':'';return _0x5432e9(0x24e)+_0x257dca['id']+']\x20**'+_0x1be812+_0x5432e9(0x237)+_0x2939a2+'):\x20\x22'+_0x257dca['content']+'\x22'+_0x47ece1;})[_0x1d8e92(0x1f2)]('\x0a');return _0x1d8e92(0x1d2)+_0x34e39d;}function buildNovaSharedOptionsInstruction(_0x1d0884){const _0x3efc7=_0xe620d5;if(!_0x1d0884['trim']())return _0x3efc7(0x25e);return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x1d0884;}function _0x5947(){const _0x29b817=['trace.zip','replace','`\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.','Swtue','zvgjt','folpE','nova_act_command_failure','NbAyP','export','`\x0a2.\x20Run\x20`','videos','traceSampleInFlight','4rzbFTr','padStart','-qr','stopScreencast','capture\x20step\x20`','authorName','jpeg','\x20screenshot\x20--output\x20','getFrameDir','Page.stopScreencast','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','frame-%06d.jpg','pBlkh','ahGpN','then','context','args','pages','-c:v','trackPhaseStart','zuqKZ','from','Vabse','`.\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`','\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','traceSampleCount','mrfkh','DzQZf','cwd','ffmpeg-','trackPhaseEnd','name','nova_act_session_export','ms-playwright','NKgRT','filter','--output-dir','traceSampleTimer','isFile','KzXHI','parse','FXAKt','PostToolUseFailure','startAttempted','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','shellCommand','MIUFS','frameSession','iTwcQ','finally','yuv420p','nova-report','capture\x20snapshot\x20`','1130706FVcbrq','FKqAy','`\x0a-\x20`','join','cliArtifactDir','1688386EtqQbr','IYHAi','wait-for','numeric','hhuxC','startTraceSampling','start','authorEmail','values','[nova-act-cli]\x20','tool_input','final-state.yaml','dxDOJ','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','`\x0a3.\x20Run\x20`','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','Page.screencastFrame','block','capture\x20snapshot','qZpRm','tracingStarted','LJrrz','03_final-state.png','yNfDG','unaddressedComments','session','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','has','zZawo','TOpBx','Siivy','ObsUb','JHUgt','match','1804218DvgmXu','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','browser','DovQu','\x0a\x0a##\x20Additional\x20Notes\x0a','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.','HHJyV','omwdX','nova_act_command','subcommand','EAHyR','tracing','frameCount','CWFBw','6292635nLftIO','commandArgs','key_final-state.png','connectOverCDP','session\x20create','snapshot','fOwaK','3358838DdVrQA','error','DoeDt','nova_act_final_screenshot','nova-user-data/*','\x20snapshot\x20--output\x20','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','WqWbQ','--output','Bash','command','.cache','**\x20(','slice','frame-','nova-session-export.json','.jpg','Caches','sessions','verify','irZTL','captureTraceSample','-loglevel','enLLn','stop','create\x20Nova\x20browser\x20session','trackPhaseError','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','ask\x20page\x20question','ffmpeg-linux','GylJj','Wqokr','vnzYY','tagName','startsWith','-\x20[','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','\x20session\x20create\x20','catch','phase','MAmHZ','DnVkW','ffmpeg','LZVhP','yZZnf','\x20>\x20','screenshot','flatMap','TsIFq','ozwKB','locator','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.','01_initial-state.png','stopTraceSampling','screencastStarted','test','push','json','sessionId','hKHpL','stopped','browser_pid','export\x20Nova\x20session','WPWIi','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','>\x20\x22','OeJPa','288784hYMYvS','CRzva','short','tool_name','Ffsqh','ask','trim','hwQKd','notes','FgEil','PpGab','nova-act-cli','\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','element','verify\x20page\x20condition','wtlkP','--report','--format','hook_event_name','invocation','-hide_banner','1368319japsMT','close','readSessionMetadataWithRetry','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','params','encodeScreencastVideo'];_0x5947=function(){return _0x29b817;};return _0x5947();}export function buildVerifyFeatureNovaCliDebugPrompt(_0xe11a2f){const _0x47a203=_0xe620d5,_0x2acd13={'ahGpN':function(_0xbff668,_0x3bcd5c,_0x4dd94a){return _0xbff668(_0x3bcd5c,_0x4dd94a);},'AubHH':'00_initial-state.yml','WPWIi':function(_0x2cf5cc,_0x2b9ba5,_0x58165f){return _0x2cf5cc(_0x2b9ba5,_0x58165f);},'zvgjt':_0x47a203(0x25f),'tjBhp':'02_final-state.yml','SBsJm':_0x47a203(0x20a),'BvrbK':function(_0x2238d1,_0x2923d9){return _0x2238d1(_0x2923d9);},'GylJj':function(_0x44e27d,_0x42f6e4){return _0x44e27d(_0x42f6e4);}},{novaCommandPrefix:_0x5e20c4,novaSharedOptionsSuffix:_0x41ca3e,cliArtifactDir:_0x41b1ed,url:_0x5911c0}=_0xe11a2f,_0x11904b=_0x2acd13['ahGpN'](buildCliArtifactPath,_0x41b1ed,_0x2acd13['AubHH']),_0x59057b=_0x2acd13[_0x47a203(0x26a)](buildCliArtifactPath,_0x41b1ed,_0x2acd13[_0x47a203(0x28d)]),_0x156267=_0x2acd13[_0x47a203(0x2a2)](buildCliArtifactPath,_0x41b1ed,_0x2acd13['tjBhp']),_0x18eda4=buildCliArtifactPath(_0x41b1ed,_0x2acd13['SBsJm']);return _0x47a203(0x286)+_0x5e20c4+'\x0a\x0a'+_0x2acd13['BvrbK'](buildNovaSharedOptionsInstruction,_0x41ca3e)+'\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`'+_0x5e20c4+'\x20session\x20create\x20'+_0x2acd13[_0x47a203(0x249)](quoteShellArg,_0x5911c0)+'\x20'+_0x41ca3e+_0x47a203(0x292)+_0x5e20c4+_0x47a203(0x230)+quoteShellArg(_0x11904b)+'\x20'+_0x41ca3e+_0x47a203(0x202)+_0x5e20c4+_0x47a203(0x29c)+quoteShellArg(_0x59057b)+'\x20'+_0x41ca3e+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x5e20c4+'\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`'+_0x5e20c4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x156267)+'\x20'+_0x41ca3e+'`\x0a6.\x20Run\x20`'+_0x5e20c4+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x18eda4)+'\x20'+_0x41ca3e+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x41b1ed+_0x47a203(0x20e);}export function buildVerifyFeatureNovaCliPrompt(_0x1f3219){const _0xd88050=_0xe620d5,_0x2b66ee={'rLRdV':function(_0x1319b8,_0x14a279){return _0x1319b8(_0x14a279);},'fOwaK':function(_0x4153f5,_0x1d72ad,_0x28745e){return _0x4153f5(_0x1d72ad,_0x28745e);},'irZTL':'01_initial.yml','gEZth':'key_03_success-state.png'},{checklistItem:_0x433bdd,itemFeedback:_0x413e07,taskDescription:_0x6e5866,novaCommandPrefix:_0x1ec7a4,novaSharedOptionsSuffix:_0xc170e9,cliArtifactDir:_0x4a5ca4,url:_0x8913e4,loginInstructions:_0x568266}=_0x1f3219,_0x5599bd=_0x433bdd[_0xd88050(0x276)]?_0xd88050(0x21a)+_0x433bdd[_0xd88050(0x276)]:'',_0x4be258=_0x2b66ee['rLRdV'](buildFeedbackSection,_0x413e07),_0x2c6bcb=_0x413e07?.['canonicalFlow']?_0xd88050(0x231)+_0x413e07['canonicalFlow']:'',_0x6c3568=_0x568266?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x568266+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x54df61=_0x2b66ee[_0xd88050(0x22a)](buildCliArtifactPath,_0x4a5ca4,_0x2b66ee[_0xd88050(0x23f)]),_0x19c984=buildCliArtifactPath(_0x4a5ca4,'01_initial-state.png'),_0x46c5f8=buildCliArtifactPath(_0x4a5ca4,_0x2b66ee['gEZth']);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'+_0x433bdd['description']+_0x5599bd+_0x4be258+_0x2c6bcb+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x6e5866+_0xd88050(0x203)+_0x8913e4+_0xd88050(0x27a)+_0x6c3568+'\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`'+_0x1ec7a4+_0xd88050(0x250)+quoteShellArg(_0x8913e4)+'\x20'+_0xc170e9+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4a5ca4+_0xd88050(0x1e6)+_0x1ec7a4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x54df61)+'\x20'+_0xc170e9+_0xd88050(0x217)+_0x1ec7a4+_0xd88050(0x29c)+quoteShellArg(_0x19c984)+'\x20'+_0xc170e9+'`.\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`'+_0x46c5f8+_0xd88050(0x1d1)+_0x1ec7a4+_0xd88050(0x246)+(_0xc170e9[_0xd88050(0x274)]()?'`'+_0xc170e9+'`':_0xd88050(0x29f))+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0xc170e9)+'\x0a\x0aExamples:\x0a-\x20`'+_0x1ec7a4+_0xd88050(0x24f)+_0xc170e9+_0xd88050(0x1f1)+_0x1ec7a4+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0xc170e9+_0xd88050(0x1f1)+_0x1ec7a4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x54df61)+'\x20'+_0xc170e9+'`\x0a-\x20`'+_0x1ec7a4+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x46c5f8)+'\x20'+_0xc170e9+_0xd88050(0x28b);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x1adc20){const _0x3f9d25=_0xe620d5,_0x1a5041={'DoeDt':function(_0x1a2a9b,_0x3ebb8f){return _0x1a2a9b===_0x3ebb8f;}},_0x1c862a=[..._0x1adc20['keys']()]['sort']();let _0x35ebac=0x0;for(const _0x1f3448 of _0x1adc20[_0x3f9d25(0x1fc)]()){_0x35ebac+=_0x1f3448;}return{'cliCommandCount':_0x35ebac,'cliCommandsSeen':_0x1c862a,'noCliCommandsCalled':_0x1a5041[_0x3f9d25(0x22d)](_0x35ebac,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x351b77,_0x1772f2){const _0x5cc26=_0xe620d5,_0x8d6602={'MAmHZ':'PreToolUse','LJrrz':function(_0x37d67e,_0x2f1cae){return _0x37d67e(_0x2f1cae);},'dBnNu':_0x5cc26(0x205),'Wqokr':'PostToolUse','oJoUF':function(_0xdbf29b,_0x2a3ca8){return _0xdbf29b(_0x2a3ca8);},'bqxqH':_0x5cc26(0x21e),'FgEil':function(_0x17342b,_0x2eed0c){return _0x17342b!==_0x2eed0c;},'CWFBw':_0x5cc26(0x234)},_0x5ef954=new Map(),_0x12d9cd=async _0x159845=>{const _0x2dc3e9=_0x5cc26;if(_0x159845[_0x2dc3e9(0x280)]!==_0x8d6602[_0x2dc3e9(0x253)])return{};const _0x4592c8=_0x159845;if(_0x4592c8['tool_name']!=='Bash')return{};const _0x59c32e=_0x4592c8[_0x2dc3e9(0x1fe)],_0x2872cb=extractBashCommand(_0x59c32e);if(!_0x2872cb)return{};const _0x4ebf02=_0x8d6602[_0x2dc3e9(0x209)](getNovaActCliCommandBlockReason,_0x2872cb);if(!_0x4ebf02)return{};return{'decision':_0x8d6602['dBnNu'],'reason':_0x4ebf02};},_0x3d52cd=async _0x3e9ec8=>{const _0x15f3d0=_0x5cc26;if(_0x3e9ec8['hook_event_name']!==_0x8d6602[_0x15f3d0(0x24a)])return{};const _0x5d5d25=_0x3e9ec8;if(_0x5d5d25[_0x15f3d0(0x271)]!==_0x15f3d0(0x234))return{};const _0x562b15=_0x5d5d25['tool_input'],_0x4fa16f=_0x8d6602[_0x15f3d0(0x209)](extractBashCommand,_0x562b15);if(!_0x4fa16f)return{};const _0x1a65ae=_0x8d6602['oJoUF'](parseNovaActCliCommand,_0x4fa16f);if(!_0x1a65ae)return{};_0x5ef954['set'](_0x1a65ae,(_0x5ef954['get'](_0x1a65ae)||0x0)+0x1),_0x351b77['trackPhaseStart'](_0x8d6602['bqxqH'],{'subcommand':_0x1a65ae}),_0x351b77[_0x15f3d0(0x1d8)](_0x15f3d0(0x21e),{'subcommand':_0x1a65ae,'commandPreview':previewNovaActCliCommand(_0x4fa16f)}),console['log'](_0x15f3d0(0x1fd)+formatNovaActCliLog(_0x4fa16f,_0x1a65ae));if(_0x1a65ae==='session\x20create'&&_0x1772f2)try{await _0x1772f2[_0x15f3d0(0x1fa)]();}catch(_0x3cdbe4){await _0x351b77[_0x15f3d0(0x245)]('nova_act_artifact_recording',_0x3cdbe4,{'transport':'nova-act-cli'});}return{};},_0x5a5d8b=async _0x54ea89=>{const _0x59c8b6=_0x5cc26;if(_0x8d6602[_0x59c8b6(0x277)](_0x54ea89['hook_event_name'],_0x59c8b6(0x1e4)))return{};const _0x2b0c64=_0x54ea89;if(_0x8d6602['FgEil'](_0x2b0c64[_0x59c8b6(0x271)],_0x8d6602['CWFBw']))return{};return await _0x351b77['trackPhaseError'](_0x59c8b6(0x28f),_0x2b0c64['error'],{'transport':_0x59c8b6(0x279),'toolName':_0x8d6602[_0x59c8b6(0x223)]}),{};};return{'preToolUseHook':_0x12d9cd,'postToolUseHook':_0x3d52cd,'postToolUseFailureHook':_0x5a5d8b,'commandCounts':_0x5ef954};}async function runNovaLifecycleCommand(_0x5adb9c){const _0x1b3841=_0xe620d5,_0xc4b0f9={'Ffsqh':function(_0x356fe6,_0x5ae3af){return _0x356fe6(_0x5ae3af);},'tVUXA':function(_0x2ff149,_0x36f2a9){return _0x2ff149??_0x36f2a9;}},{novaOptions:_0x5ac76e,commandArgs:_0x5eb138,telemetry:_0x360c13,phase:_0x4be70e,metadata:_0x225b5f,timeoutMs:_0x3d99d6}=_0x5adb9c;_0x360c13[_0x1b3841(0x1cd)](_0x4be70e,_0x225b5f);try{const _0x4307a8=await _0xc4b0f9['Ffsqh'](runNovaActCliCommand,{..._0x5ac76e,'commandArgs':_0x5eb138,'cwd':process[_0x1b3841(0x1d6)](),'env':process['env'],'timeoutMs':_0xc4b0f9['tVUXA'](_0x3d99d6,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x360c13['trackPhaseEnd'](_0x4be70e,{..._0x225b5f,'subcommand':_0x4307a8['invocation'][_0x1b3841(0x21f)],'commandPreview':previewNovaActCliCommand(_0x4307a8[_0x1b3841(0x281)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x4307a8['stdout']),'stderrPreview':previewNovaActCliCommand(_0x4307a8['stderr']),'logDir':_0xc4b0f9[_0x1b3841(0x272)](extractNovaActLogDir,_0x4307a8['stdout'])});}catch(_0x55162b){await _0x360c13[_0x1b3841(0x245)](_0x4be70e,_0x55162b,_0x225b5f);throw _0x55162b;}}export async function finalizeVerifyFeatureNovaCliSession(_0x1795b5){const _0x3754dd=_0xe620d5,_0x51a543={'TOpBx':_0x3754dd(0x22e),'hwQKd':_0x3754dd(0x226),'jGVuF':'nova_act_final_snapshot','wtlkP':_0x3754dd(0x229),'pBlkh':_0x3754dd(0x233),'NKgRT':_0x3754dd(0x27f),'ozwKB':_0x3754dd(0x264),'jcZZs':_0x3754dd(0x23a),'zuqKZ':'nova_act_session_report','PpGab':_0x3754dd(0x27e),'DzQZf':function(_0x4e781e,_0x28f3e9,_0x1d12d4){return _0x4e781e(_0x28f3e9,_0x1d12d4);},'iTwcQ':_0x3754dd(0x1ed),'hhuxC':'nova_act_session_close','hHgct':_0x3754dd(0x284),'KzXHI':function(_0x46b9e5,_0x2ef6fa){return _0x46b9e5(_0x2ef6fa);}},{telemetry:_0x14834d,novaOptions:_0x49554e,cliArtifactDir:_0xb1026d,transportMetadata:_0x34979d,artifactRecorder:_0x1e4ffa}=_0x1795b5,_0x5e2a7f=[{'phase':_0x51a543[_0x3754dd(0x211)],'commandArgs':['screenshot',_0x3754dd(0x233),buildCliArtifactPath(_0xb1026d,_0x51a543[_0x3754dd(0x275)])]},{'phase':_0x51a543['jGVuF'],'commandArgs':[_0x51a543[_0x3754dd(0x27d)],_0x51a543[_0x3754dd(0x2a1)],buildCliArtifactPath(_0xb1026d,_0x3754dd(0x1ff))]},{'phase':_0x3754dd(0x1da),'commandArgs':[_0x3754dd(0x20d),'export',_0x51a543[_0x3754dd(0x1dc)],_0x51a543[_0x3754dd(0x25c)],_0x3754dd(0x233),buildCliArtifactPath(_0xb1026d,_0x51a543['jcZZs'])]},{'phase':_0x51a543[_0x3754dd(0x1ce)],'commandArgs':['session',_0x3754dd(0x291),_0x51a543[_0x3754dd(0x278)],_0x3754dd(0x1de),_0x51a543[_0x3754dd(0x1d5)](buildCliArtifactPath,_0xb1026d,_0x51a543[_0x3754dd(0x1ea)])]},{'phase':_0x51a543[_0x3754dd(0x1f8)],'commandArgs':['session',_0x51a543['hHgct']]}];for(const _0x3b5344 of _0x5e2a7f){_0x3b5344[_0x3754dd(0x252)]===_0x51a543[_0x3754dd(0x1f8)]&&await _0x1e4ffa?.[_0x3754dd(0x243)]();try{await _0x51a543[_0x3754dd(0x1e1)](runNovaLifecycleCommand,{'novaOptions':_0x49554e,'commandArgs':[..._0x3b5344[_0x3754dd(0x225)]],'telemetry':_0x14834d,'phase':_0x3b5344[_0x3754dd(0x252)],'metadata':_0x34979d});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x5316ac){const _0x348f56=_0xe620d5,_0x551fcb={'yZZnf':function(_0x329ee5,_0xb033bc,_0x151105){return _0x329ee5(_0xb033bc,_0x151105);},'qkQJD':function(_0xfab531,_0x9dcdc1){return _0xfab531<_0x9dcdc1;},'MIUFS':function(_0x16f952,_0x14fbbb,_0x1515df){return _0x16f952(_0x14fbbb,_0x1515df);}},{cwd:_0x2996a0,cliArtifactDir:_0x287b2a,startTime:_0x4e30ed}=_0x5316ac,_0x549a1f=[];await _0x551fcb[_0x348f56(0x257)](mkdir,_0x287b2a,{'recursive':!![]});const _0x2084a6=await _0x551fcb[_0x348f56(0x257)](readdir,_0x2996a0,{'withFileTypes':!![]});for(const _0x41c45c of _0x2084a6){if(!_0x41c45c[_0x348f56(0x1e0)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN[_0x348f56(0x262)](_0x41c45c[_0x348f56(0x1d9)]))continue;const _0x2210e6=join(_0x2996a0,_0x41c45c[_0x348f56(0x1d9)]),_0x5e4d31=await stat(_0x2210e6);if(_0x551fcb['qkQJD'](_0x5e4d31['mtimeMs']+0x7d0,_0x4e30ed))continue;const _0x5907fd=buildCliArtifactPath(_0x287b2a,_0x41c45c[_0x348f56(0x1d9)]);if(_0x2210e6===_0x5907fd)continue;await _0x551fcb[_0x348f56(0x1e8)](rename,_0x2210e6,_0x5907fd),_0x549a1f[_0x348f56(0x263)](_0x41c45c[_0x348f56(0x1d9)]);}return _0x549a1f['sort']();}function _0x50f2(_0x488d86,_0xb9a6f3){_0x488d86=_0x488d86-0x1c8;const _0x594792=_0x5947();let _0x50f2a0=_0x594792[_0x488d86];return _0x50f2a0;}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x49c66e){const _0x7271d0=_0xe620d5,_0x408646={'EYjLE':function(_0x469814,_0x4808c9,_0x729b89){return _0x469814(_0x4808c9,_0x729b89);},'folpE':function(_0x4ea304,_0x5639d3){return _0x4ea304(_0x5639d3);}},_0x23d2ef=_0x408646['EYjLE'](join,_0x49c66e,'trace.zip');try{return{'buffer':await _0x408646[_0x7271d0(0x28e)](readFile,_0x23d2ef),'source':_0x23d2ef};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x49c66e),'source':_0x49c66e};}}async function zipVerifyFeatureNovaArtifacts(_0x39b72b){const _0x5ca638=_0xe620d5,_0x5bcc63={'dZFve':function(_0x489727,_0x512a9b,_0x53eef2,_0x47cbcd){return _0x489727(_0x512a9b,_0x53eef2,_0x47cbcd);},'sUNrD':'zip','BwPzZ':_0x5ca638(0x297),'vnzYY':_0x5ca638(0x22f)},_0x44840a=join(_0x39b72b,'..','nova-artifacts.zip');try{return await _0x5bcc63['dZFve'](execFileAsync,_0x5bcc63['sUNrD'],[_0x5bcc63['BwPzZ'],_0x44840a,'.','-x',_0x5bcc63[_0x5ca638(0x24b)]],{'cwd':_0x39b72b}),await readFile(_0x44840a);}finally{await rm(_0x44840a,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x1e3bb8){const _0x3da896=_0xe620d5,_0x14a6f9={'EAHyR':function(_0x167027,_0x35d823,_0x23e4b6){return _0x167027(_0x35d823,_0x23e4b6);}},_0xe5de56=_0x14a6f9[_0x3da896(0x220)](buildNovaActCliInvocation,_0x1e3bb8['novaOptions'],_0x1e3bb8['commandArgs']);return{'command':_0xe5de56[_0x3da896(0x235)],'args':_0xe5de56[_0x3da896(0x1ca)],'commandPreview':previewNovaActCliCommand(_0xe5de56[_0x3da896(0x1e7)]),'subcommand':_0xe5de56[_0x3da896(0x21f)],'sharedOptionsSuffix':_0x14a6f9['EAHyR'](buildNovaActCliSharedOptionsSuffix,_0x1e3bb8['novaOptions'],_0x1e3bb8['commandArgs'])};}
|
|
1
|
+
const _0x26d722=_0xe6e8;(function(_0x7d925d,_0x2e9109){const _0x4d9111=_0xe6e8,_0x19cdbe=_0x7d925d();while(!![]){try{const _0x5927bb=-parseInt(_0x4d9111(0x17f))/0x1*(-parseInt(_0x4d9111(0x1c6))/0x2)+parseInt(_0x4d9111(0x185))/0x3*(-parseInt(_0x4d9111(0x18c))/0x4)+parseInt(_0x4d9111(0x1b9))/0x5*(-parseInt(_0x4d9111(0x1e0))/0x6)+-parseInt(_0x4d9111(0x116))/0x7*(parseInt(_0x4d9111(0x19c))/0x8)+-parseInt(_0x4d9111(0x126))/0x9*(parseInt(_0x4d9111(0x1e1))/0xa)+parseInt(_0x4d9111(0x1bc))/0xb+parseInt(_0x4d9111(0x1a2))/0xc;if(_0x5927bb===_0x2e9109)break;else _0x19cdbe['push'](_0x19cdbe['shift']());}catch(_0x408e98){_0x19cdbe['push'](_0x19cdbe['shift']());}}}(_0x4ee9,0xb4084));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';function _0x4ee9(){const _0xc90ea4=['screencastStarted','-hide_banner','session\x20create','mPajH','fmquP','SFUfa','textContent','Caches','JTfWl','sort','push','UlMgx','args','nova_act_artifact_recording_stop','\x20snapshot\x20--output\x20','wait-for','key_final-state.png','ffmpeg-mac','params','\x20session\x20create\x20','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','Bash','awpOj','ZmJUm','get','tool_name','now','canonicalFlow','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','tracingStarted','lOzpD','eiBwU','76196tFwsPw','`.\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`','locator','NFvuX','pbANp','traceSampleInFlight','3kstqRp','mtimeMs','verify','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','execute','cSgek','ZwGqU','4360604svYspC','jdOxu','ask\x20page\x20question','screenshot','unaddressedComments','isFile','--output','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','ZzsCT','khrPI','nova-act-cli','snapshot','tEpJR','error','capture\x20screenshot','tool_input','2200TxisbG','kYZxV','TEWXc','sIPKf','nova-user-data/*','\x20screenshot\x20--output\x20','28257936bAvpFh','traceSampleTimer','reverse','ms-playwright','telemetry','trim','yTTzG','**\x20(','`\x0a-\x20`','nova-artifacts.zip','trackPhaseStart','--output-dir','BAMMN','Page.screencastFrameAck','eambJ','startScreencast','connectOverCDP','zip','seEnw','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','test','-version','navigate\x20browser','1865ZBFRSf','\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','invocation','11083171TEpsQP','qeIlU','XuNuJ','session-recording.webm','trackPhaseError','goto','RVsYR','name','Jlhkq','stop','28gKvBeU','start','xKhiT','block','context','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.','frame-','frameCount','browser','mZzdD','stdout','catch','keys','encodeScreencastVideo','NkVjL','set','[nova-act-cli]\x20','\x20(on\x20element:\x20<','EikZc','Library','nova_act_command','body','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','nova_act_final_snapshot','\x20>\x20','shellCommand','14754gHNqgf','3132190UMsPFh','execute\x20Nova\x20browser\x20action','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','PostToolUse','\x0a\x0a##\x20Additional\x20Notes\x0a','nova-session-export.json','frameWrites','`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','dBPWs','\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20','content','oTuOU','hook_event_name','TcbLd','split','uzQkv','frameSession','utf-8','wjOrD','NaXKO','zoiYl','flatMap','command','`\x0a3.\x20Run\x20`','xDasR','00_initial-state.yml','values','26929VeSlWT','selector','log','msRiU','close','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','send','trackPhaseEnd','`.\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`','01_initial-state.png','startTraceSampling','getFrameDir','sRmTZ','nova_act_session_report','18PxASBA','ffmpeg.exe','PreToolUse','`\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.','kIoZL','replace','cliArtifactDir','-loglevel','queueTraceSample','Page.startScreencast','\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','novaOptions','givwS','Page.stopScreencast','onwvC','Page.screencastFrame','nova_act_artifact_recording','.act_cli','startAttempted','.json','oMOmB','-framerate','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','domRef','\x0a\x0aExamples:\x0a-\x20`','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','.jpg','then','ffmpeg','readSessionMetadataWithRetry','ffmpeg-linux','parse','captureTraceSample','jpeg','filter','sessions','gWSwn','pages','toLocaleDateString','EOuDP','bmXIu','jLPSd','nova-video-frames','dtVjR','BwBJF','notes','trace.zip','stderr','wait\x20for\x20page\x20condition','short','element','export\x20Nova\x20session','subcommand','slKwb','commandArgs','description','stopped'];_0x4ee9=function(){return _0xc90ea4;};return _0x4ee9();}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([_0x26d722(0x161),_0x26d722(0x189),_0x26d722(0x187),'ask','goto',_0x26d722(0x16e),_0x26d722(0x197),_0x26d722(0x18f)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x588683,_0x14d8f0){return join(_0x588683,_0x14d8f0);}export class NovaActArtifactRecorder{[_0x26d722(0x171)];[_0x26d722(0x1ce)]=null;['context']=null;['frameSession']=null;['frameWrites']=[];[_0x26d722(0x1cd)]=0x0;['traceSampleCount']=0x0;[_0x26d722(0x1a3)]=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];[_0x26d722(0x138)]=![];['stopped']=![];constructor(_0x5383b8){const _0x5bdfa9=_0x26d722;this[_0x5bdfa9(0x171)]=_0x5383b8;}async[_0x26d722(0x1c7)](){const _0x32f10d=_0x26d722,_0x3e4e64={'ZmJUm':function(_0x69a31,_0x4a3771,_0x34a526){return _0x69a31(_0x4a3771,_0x34a526);}};if(this['startAttempted'])return;this['startAttempted']=!![];const _0x160d86=await this[_0x32f10d(0x143)](),_0x251d9b=_0x160d86['cdp_endpoint'];if(!_0x251d9b)throw new Error(_0x32f10d(0x17b)+this['params'][_0x32f10d(0x131)]['sessionId']);await _0x3e4e64[_0x32f10d(0x176)](mkdir,this[_0x32f10d(0x171)]['cliArtifactDir'],{'recursive':!![]}),this['browser']=await chromium[_0x32f10d(0x1b2)](_0x251d9b,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x32f10d(0x1ca)]=this['browser']['contexts']()[0x0]??null;if(!this[_0x32f10d(0x1ca)])throw new Error(_0x32f10d(0x188));await this[_0x32f10d(0x1ca)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this['tracingStarted']=!![],this[_0x32f10d(0x122)](),await this[_0x32f10d(0x1b1)](),this[_0x32f10d(0x171)]['telemetry'][_0x32f10d(0x1ac)](_0x32f10d(0x136),{...this[_0x32f10d(0x171)]['transportMetadata'],'cdpEndpoint':_0x251d9b,'browserPid':_0x160d86['browser_pid'],'sessionState':_0x160d86['state']}),this['params']['telemetry']['trackPhaseEnd']('nova_act_artifact_recording',{...this[_0x32f10d(0x171)]['transportMetadata'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x26d722(0x1c5)](){const _0x64605=_0x26d722,_0x2ba7de={'eIiSv':_0x64605(0x16c),'jdOxu':function(_0x14cc43,_0x52c142,_0x284ac9){return _0x14cc43(_0x52c142,_0x284ac9);}};if(this['stopped'])return;this[_0x64605(0x15e)]=!![];const _0x2e09e2={...this[_0x64605(0x171)]['transportMetadata'],'frameCount':this[_0x64605(0x1cd)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x64605(0x171)]['telemetry'][_0x64605(0x1ac)](_0x2ba7de['eIiSv'],_0x2e09e2);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise['allSettled'](this[_0x64605(0x1e7)]);this[_0x64605(0x1ca)]&&this[_0x64605(0x17c)]&&await this['context']['tracing'][_0x64605(0x1c5)]({'path':_0x2ba7de[_0x64605(0x18d)](buildCliArtifactPath,this[_0x64605(0x171)]['cliArtifactDir'],_0x64605(0x154))});const _0x53e038=await this['encodeScreencastVideo']();this['params'][_0x64605(0x1a6)]['trackPhaseEnd'](_0x64605(0x16c),{..._0x2e09e2,'videoPath':_0x53e038});}catch(_0x3adf80){await this['params']['telemetry']['trackPhaseError']('nova_act_artifact_recording_stop',_0x3adf80,_0x2e09e2);}finally{await this[_0x64605(0x1ce)]?.[_0x64605(0x11a)]()[_0x64605(0x1d1)](()=>undefined),this['browser']=null,this[_0x64605(0x1ca)]=null,this[_0x64605(0x10b)]=null;}}async['readSessionMetadataWithRetry'](){const _0x1a82f0=_0x26d722,_0x59ce3f={'BwBJF':_0x1a82f0(0x137),'oTuOU':_0x1a82f0(0x1ce),'QPDrF':_0x1a82f0(0x149),'TEWXc':_0x1a82f0(0x10c),'sRmTZ':function(_0x247f5a,_0xc3b7eb){return _0x247f5a<_0xc3b7eb;},'oMOmB':function(_0x2b4346,_0x2744b9){return _0x2b4346-_0x2744b9;},'UpCPb':function(_0x49461b,_0x201269){return _0x49461b instanceof _0x201269;}},_0x2d7494=join(homedir(),_0x59ce3f[_0x1a82f0(0x152)],_0x59ce3f[_0x1a82f0(0x1ec)],_0x59ce3f['QPDrF'],this[_0x1a82f0(0x171)][_0x1a82f0(0x131)]['sessionId']+_0x1a82f0(0x139)),_0x3585b8=Date[_0x1a82f0(0x179)]();let _0x2a467f;do{try{const _0x206d7c=JSON[_0x1a82f0(0x145)](await readFile(_0x2d7494,_0x59ce3f[_0x1a82f0(0x19e)]));if(_0x206d7c['cdp_endpoint'])return _0x206d7c;_0x2a467f=new Error(_0x1a82f0(0x1e3)+_0x2d7494);}catch(_0x40dde8){_0x2a467f=_0x40dde8;}await delay(0x64);}while(_0x59ce3f[_0x1a82f0(0x124)](_0x59ce3f[_0x1a82f0(0x13a)](Date['now'](),_0x3585b8),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x59ce3f['UpCPb'](_0x2a467f,Error))throw _0x2a467f;throw new Error(_0x1a82f0(0x1dc)+_0x2d7494);}async[_0x26d722(0x1b1)](){const _0x24c607=_0x26d722,_0x1e7773={'xlJyu':function(_0x4f7cc9,_0x12fcb9,_0x2db27b){return _0x4f7cc9(_0x12fcb9,_0x2db27b);},'wonUg':'base64','IMQrB':function(_0x2017a5,_0x2c002e,_0x3d5d73){return _0x2017a5(_0x2c002e,_0x3d5d73);},'bXUTG':_0x24c607(0x135),'JTfWl':_0x24c607(0x147)};if(!this['context'])return;const _0x183647=this['context'][_0x24c607(0x14b)]()[0x0];if(!_0x183647)return;const _0x2da176=this[_0x24c607(0x123)]();await _0x1e7773['IMQrB'](mkdir,_0x2da176,{'recursive':!![]});const _0x283a05=await this[_0x24c607(0x1ca)]['newCDPSession'](_0x183647);this['frameSession']=_0x283a05,_0x283a05['on'](_0x1e7773['bXUTG'],_0x14f4d7=>{const _0x2123f5=_0x24c607,_0x4f5ab9=++this['frameCount'],_0x38116e=_0x1e7773['xlJyu'](join,_0x2da176,_0x2123f5(0x1cc)+String(_0x4f5ab9)['padStart'](0x6,'0')+_0x2123f5(0x140)),_0x367db7=writeFile(_0x38116e,Buffer['from'](_0x14f4d7['data'],_0x1e7773['wonUg']))[_0x2123f5(0x1d1)](()=>undefined)['finally'](()=>_0x283a05['send'](_0x2123f5(0x1af),{'sessionId':_0x14f4d7['sessionId']}))[_0x2123f5(0x141)](()=>undefined)[_0x2123f5(0x1d1)](()=>undefined);this[_0x2123f5(0x1e7)][_0x2123f5(0x169)](_0x367db7);}),await _0x283a05[_0x24c607(0x11e)](_0x24c607(0x12f),{'format':_0x1e7773[_0x24c607(0x167)],'quality':0x4b,'everyNthFrame':0x6}),this['screencastStarted']=!![];}async['stopScreencast'](){const _0x228a7a=_0x26d722,_0x3fed77={'vaPLH':_0x228a7a(0x133)};if(!this[_0x228a7a(0x10b)]||!this[_0x228a7a(0x15f)])return;await this['frameSession']['send'](_0x3fed77['vaPLH'])[_0x228a7a(0x1d1)](()=>undefined);}[_0x26d722(0x122)](){const _0x3ee08d=_0x26d722;this[_0x3ee08d(0x12e)](),this[_0x3ee08d(0x1a3)]=setInterval(()=>this[_0x3ee08d(0x12e)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}[_0x26d722(0x12e)](){const _0x1a81b3=_0x26d722;if(this['traceSampleInFlight'])return;this[_0x1a81b3(0x184)]=this['captureTraceSample']()['finally'](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x5edc09=_0x26d722;this['traceSampleTimer']&&(clearInterval(this['traceSampleTimer']),this[_0x5edc09(0x1a3)]=null),await this[_0x5edc09(0x184)]?.['catch'](()=>undefined);}async[_0x26d722(0x146)](){const _0x15de66=_0x26d722,_0x2d66b6=this[_0x15de66(0x1ca)]?.[_0x15de66(0x14b)]()[0x0];if(!_0x2d66b6)return;try{await _0x2d66b6[_0x15de66(0x181)](_0x15de66(0x1db))['evaluate'](_0xd975f6=>_0xd975f6['tagName'],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x26d722(0x1d3)](){const _0x57ca2a=_0x26d722,_0x16df39={'khrPI':function(_0x4cdece,_0x4f3e63){return _0x4cdece<_0x4f3e63;},'ZzsCT':function(_0x39cc5a){return _0x39cc5a();},'gKASj':function(_0x1944b9,_0x25b8b4,_0x414e6c){return _0x1944b9(_0x25b8b4,_0x414e6c);},'XKnuT':'videos','jLPSd':function(_0x2c7ded,_0x417d4,_0x2eeb6e){return _0x2c7ded(_0x417d4,_0x2eeb6e);},'EOuDP':_0x57ca2a(0x1bf),'RVsYR':function(_0x3f7c8f,_0xe1db83,_0x1d9858){return _0x3f7c8f(_0xe1db83,_0x1d9858);},'PBYMK':_0x57ca2a(0x160),'EultA':function(_0x5b21a2,_0x1efcd5,_0x2066fb){return _0x5b21a2(_0x1efcd5,_0x2066fb);},'seEnw':'frame-%06d.jpg','kYZxV':'-vf','Jlhkq':'scale=trunc(iw/2)*2:trunc(ih/2)*2'};if(_0x16df39[_0x57ca2a(0x195)](this['frameCount'],0x2))return null;const _0x491fab=await _0x16df39[_0x57ca2a(0x194)](resolveFfmpegPath);if(!_0x491fab)return null;const _0x102436=_0x16df39['gKASj'](join,this['params'][_0x57ca2a(0x12c)],_0x16df39['XKnuT']);await mkdir(_0x102436,{'recursive':!![]});const _0xcb0771=_0x16df39[_0x57ca2a(0x14f)](join,_0x102436,_0x16df39[_0x57ca2a(0x14d)]);return await _0x16df39[_0x57ca2a(0x1c2)](execFileAsync,_0x491fab,['-y',_0x16df39['PBYMK'],_0x57ca2a(0x12d),_0x57ca2a(0x199),_0x57ca2a(0x13b),'10','-i',_0x16df39['EultA'](join,this['getFrameDir'](),_0x16df39[_0x57ca2a(0x1b4)]),_0x16df39[_0x57ca2a(0x19d)],_0x16df39[_0x57ca2a(0x1c4)],'-c:v','libvpx-vp9','-pix_fmt','yuv420p',_0xcb0771]),_0xcb0771;}[_0x26d722(0x123)](){const _0x4947cb=_0x26d722;return join(this[_0x4947cb(0x171)][_0x4947cb(0x12c)],_0x4947cb(0x150));}}async function delay(_0x5daab3){await new Promise(_0x18a5ec=>setTimeout(_0x18a5ec,_0x5daab3));}async function resolveFfmpegPath(){const _0x55e111=_0x26d722,_0x5a7867={'svJHC':function(_0x3cff5c,_0x270943){return _0x3cff5c(_0x270943);},'kMNKa':_0x55e111(0x1d9),'IfNSp':'ms-playwright','boESL':function(_0x5da936,_0x3b1670,_0x4d6ef1,_0x80f9fc){return _0x5da936(_0x3b1670,_0x4d6ef1,_0x80f9fc);},'rBNMs':'.cache','sIPKf':function(_0x1906d5,_0x5227f2){return _0x1906d5(_0x5227f2);}};if(await _0x5a7867['svJHC'](canRunFfmpeg,'ffmpeg'))return _0x55e111(0x142);const _0x2a2d4b=[join(homedir(),_0x5a7867['kMNKa'],_0x55e111(0x166),_0x5a7867['IfNSp']),_0x5a7867['boESL'](join,homedir(),_0x5a7867['rBNMs'],_0x55e111(0x1a5))];for(const _0x29c9d8 of _0x2a2d4b){try{const _0x1d2dc6=await readdir(_0x29c9d8),_0xf03694=_0x1d2dc6[_0x55e111(0x148)](_0x54a6ec=>_0x54a6ec['startsWith']('ffmpeg-'))[_0x55e111(0x168)]()[_0x55e111(0x1a4)]()[_0x55e111(0x110)](_0x4e887f=>[join(_0x29c9d8,_0x4e887f,_0x55e111(0x170)),join(_0x29c9d8,_0x4e887f,_0x55e111(0x144)),join(_0x29c9d8,_0x4e887f,_0x55e111(0x127))]);for(const _0x33e8ae of _0xf03694){if(await _0x5a7867[_0x55e111(0x19f)](canRunFfmpeg,_0x33e8ae))return _0x33e8ae;}}catch{}}return null;}async function canRunFfmpeg(_0x5922af){const _0x22360b=_0x26d722;try{return await execFileAsync(_0x5922af,[_0x22360b(0x1b7)]),!![];}catch{return![];}}function _0xe6e8(_0x59de20,_0x3bf5fb){_0x59de20=_0x59de20-0x109;const _0x4ee919=_0x4ee9();let _0xe6e85d=_0x4ee919[_0x59de20];return _0xe6e85d;}function toStepDisplayName(_0x3fa306){const _0x141c27=_0x26d722,_0x12d600=basename(_0x3fa306)['replace'](/\.(?:png|ya?ml)$/i,'')[_0x141c27(0x12b)](/^key_/i,'')['replace'](/^\d+_/,'')[_0x141c27(0x12b)](/-/g,'\x20');return{'name':_0x12d600,'isKeyStep':/^key_/i['test'](basename(_0x3fa306))};}function extractShellValue(_0x522e31){if(!_0x522e31)return null;return _0x522e31[0x1]??_0x522e31[0x2]??_0x522e31[0x3]??null;}function extractOutputOption(_0x459de6){const _0x31ea14=_0x26d722,_0x37b41b={'mZzdD':function(_0x5a0cc0,_0x5825a0){return _0x5a0cc0(_0x5825a0);}};return _0x37b41b[_0x31ea14(0x1cf)](extractShellValue,_0x459de6['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x33a823,_0x52de2e){const _0x4f6936=_0x26d722,_0x9b338={'NkVjL':'session\x20create','YvwtJ':'execute','wjOrD':_0x4f6936(0x1e2),'lkwid':_0x4f6936(0x187),'TwcDv':_0x4f6936(0x18e),'KWFGw':_0x4f6936(0x156),'NaXKO':_0x4f6936(0x197),'RnEXf':function(_0x20307b,_0x11811f){return _0x20307b(_0x11811f);},'awpOj':_0x4f6936(0x159)};switch(_0x52de2e){case _0x9b338[_0x4f6936(0x1d4)]:return'create\x20Nova\x20browser\x20session';case _0x9b338['YvwtJ']:return _0x9b338[_0x4f6936(0x10d)];case _0x9b338['lkwid']:return'verify\x20page\x20condition';case'ask':return _0x9b338['TwcDv'];case _0x4f6936(0x1c1):return _0x4f6936(0x1b8);case _0x4f6936(0x16e):return _0x9b338['KWFGw'];case _0x9b338[_0x4f6936(0x10e)]:{const _0x145f6a=_0x9b338['RnEXf'](extractOutputOption,_0x33a823);if(!_0x145f6a)return'capture\x20snapshot';const {name:_0x105618}=_0x9b338['RnEXf'](toStepDisplayName,_0x145f6a);return'capture\x20snapshot\x20`'+_0x105618+'`';}case'screenshot':{const _0x4a054a=_0x9b338['RnEXf'](extractOutputOption,_0x33a823);if(!_0x4a054a)return _0x4f6936(0x19a);const {name:_0x5319bf,isKeyStep:_0x54b480}=toStepDisplayName(_0x4a054a);return _0x54b480?'capture\x20key\x20step\x20`'+_0x5319bf+'`':'capture\x20step\x20`'+_0x5319bf+'`';}case'session\x20export':return _0x9b338[_0x4f6936(0x175)];default:return _0x52de2e;}}function getNovaActCliCommandBlockReason(_0x4df814){const _0x42f666=_0x26d722,_0x4ff0b7={'LjPFy':function(_0x50961f,_0x42511d){return _0x50961f(_0x42511d);},'mPajH':'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','bFZYt':function(_0x26acef,_0x49f2c8){return _0x26acef===_0x49f2c8;},'NFvuX':_0x42f666(0x187),'hfZMN':_0x42f666(0x1cb),'uuHOu':'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.'},_0x101a14=_0x4ff0b7['LjPFy'](parseNovaActCliCommand,_0x4df814);if(!_0x101a14)return _0x4ff0b7[_0x42f666(0x162)];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x101a14))return'Nova\x20command\x20`'+_0x101a14+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x4ff0b7['bFZYt'](_0x101a14,_0x4ff0b7[_0x42f666(0x182)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x42f666(0x1b6)](_0x4df814))return _0x4ff0b7['hfZMN'];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x4df814))return _0x4ff0b7['uuHOu'];return null;}function buildFeedbackSection(_0x5b882d){const _0x5de8cc=_0x26d722,_0x3a7046={'bmXIu':'numeric','yTTzG':'Reviewer','fNdSE':function(_0x311b3a,_0x1ad5c8){return _0x311b3a===_0x1ad5c8;}};if(!_0x5b882d||_0x3a7046['fNdSE'](_0x5b882d[_0x5de8cc(0x190)]['length'],0x0))return'';const _0x17cd3d=_0x5b882d[_0x5de8cc(0x190)]['map'](_0x293fa8=>{const _0x26c7b0=_0x5de8cc,_0x13bd82=new Date(_0x293fa8['createdAt'])[_0x26c7b0(0x14c)]('en-US',{'month':_0x26c7b0(0x157),'day':_0x3a7046[_0x26c7b0(0x14e)]}),_0x14f425=_0x293fa8['authorName']||_0x293fa8['authorEmail']||_0x3a7046[_0x26c7b0(0x1a8)],_0x2a344d=_0x293fa8[_0x26c7b0(0x13d)]?_0x26c7b0(0x1d7)+(_0x293fa8['domRef'][_0x26c7b0(0x117)]['split'](_0x26c7b0(0x1de))['pop']()?.[_0x26c7b0(0x109)](':')[0x0]||_0x26c7b0(0x158))+'>\x20\x22'+(_0x293fa8['domRef'][_0x26c7b0(0x165)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x293fa8['id']+']\x20**'+_0x14f425+_0x26c7b0(0x1a9)+_0x13bd82+'):\x20\x22'+_0x293fa8[_0x26c7b0(0x1eb)]+'\x22'+_0x2a344d;})['join']('\x0a');return _0x5de8cc(0x1ba)+_0x17cd3d;}function buildNovaSharedOptionsInstruction(_0x199e39){const _0x362a44=_0x26d722;if(!_0x199e39[_0x362a44(0x1a7)]())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 _0x362a44(0x1b5)+_0x199e39;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x12e7a7){const _0x42a3c1=_0x26d722,_0x43a22b={'givwS':function(_0x251524,_0x9e1fb5,_0x54bc60){return _0x251524(_0x9e1fb5,_0x54bc60);},'EikZc':_0x42a3c1(0x114),'jwTjL':'02_final-state.yml','pbLrf':'03_final-state.png','XuNuJ':function(_0x198e8e,_0x1776db){return _0x198e8e(_0x1776db);},'pbANp':function(_0x5c737f,_0x4656f5){return _0x5c737f(_0x4656f5);},'BAMMN':function(_0x1ffb16,_0x561c4f){return _0x1ffb16(_0x561c4f);}},{novaCommandPrefix:_0x126f9d,novaSharedOptionsSuffix:_0x312944,cliArtifactDir:_0x1f47c5,url:_0x31455e}=_0x12e7a7,_0x2aad34=_0x43a22b['givwS'](buildCliArtifactPath,_0x1f47c5,_0x43a22b[_0x42a3c1(0x1d8)]),_0x23fa0e=_0x43a22b['givwS'](buildCliArtifactPath,_0x1f47c5,_0x42a3c1(0x121)),_0x44b1ff=_0x43a22b[_0x42a3c1(0x132)](buildCliArtifactPath,_0x1f47c5,_0x43a22b['jwTjL']),_0x12fdd3=buildCliArtifactPath(_0x1f47c5,_0x43a22b['pbLrf']);return _0x42a3c1(0x13c)+_0x126f9d+'\x0a\x0a'+_0x43a22b[_0x42a3c1(0x1be)](buildNovaSharedOptionsInstruction,_0x312944)+'\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`'+_0x126f9d+_0x42a3c1(0x172)+quoteShellArg(_0x31455e)+'\x20'+_0x312944+'`\x0a2.\x20Run\x20`'+_0x126f9d+_0x42a3c1(0x16d)+quoteShellArg(_0x2aad34)+'\x20'+_0x312944+_0x42a3c1(0x112)+_0x126f9d+'\x20screenshot\x20--output\x20'+_0x43a22b[_0x42a3c1(0x183)](quoteShellArg,_0x23fa0e)+'\x20'+_0x312944+'`\x0a4.\x20Run\x20one\x20batched\x20`'+_0x126f9d+_0x42a3c1(0x11d)+_0x126f9d+'\x20snapshot\x20--output\x20'+_0x43a22b[_0x42a3c1(0x1ae)](quoteShellArg,_0x44b1ff)+'\x20'+_0x312944+'`\x0a6.\x20Run\x20`'+_0x126f9d+_0x42a3c1(0x1a1)+quoteShellArg(_0x12fdd3)+'\x20'+_0x312944+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x1f47c5+_0x42a3c1(0x173);}export function buildVerifyFeatureNovaCliPrompt(_0x102056){const _0x162325=_0x26d722,_0x4e4754={'QpNFS':'01_initial.yml','tEpJR':_0x162325(0x121),'fmquP':function(_0x435db4,_0xa38a54,_0x7498ed){return _0x435db4(_0xa38a54,_0x7498ed);},'gWSwn':function(_0x51b89a,_0x1a956d){return _0x51b89a(_0x1a956d);},'xDasR':_0x162325(0x193)},{checklistItem:_0x5b164b,itemFeedback:_0x1f0e9e,taskDescription:_0x333501,novaCommandPrefix:_0x219495,novaSharedOptionsSuffix:_0x369ba7,cliArtifactDir:_0x4e21b6,url:_0x38333f,loginInstructions:_0x59c198}=_0x102056,_0x4a1054=_0x5b164b[_0x162325(0x153)]?_0x162325(0x1e5)+_0x5b164b[_0x162325(0x153)]:'',_0x6b791d=buildFeedbackSection(_0x1f0e9e),_0x5f0e08=_0x1f0e9e?.[_0x162325(0x17a)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1f0e9e[_0x162325(0x17a)]:'',_0x344545=_0x59c198?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x59c198+_0x162325(0x130):'',_0x3d2d9f=buildCliArtifactPath(_0x4e21b6,_0x4e4754['QpNFS']),_0x55f124=buildCliArtifactPath(_0x4e21b6,_0x4e4754[_0x162325(0x198)]),_0x38e818=_0x4e4754[_0x162325(0x163)](buildCliArtifactPath,_0x4e21b6,'key_03_success-state.png');return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0x5b164b[_0x162325(0x15d)]+_0x4a1054+_0x6b791d+_0x5f0e08+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x333501+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x38333f+'\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'+_0x344545+'\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`'+_0x219495+_0x162325(0x172)+quoteShellArg(_0x38333f)+'\x20'+_0x369ba7+_0x162325(0x1e8)+_0x4e21b6+_0x162325(0x11c)+_0x219495+_0x162325(0x16d)+_0x4e4754[_0x162325(0x14a)](quoteShellArg,_0x3d2d9f)+'\x20'+_0x369ba7+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x219495+'\x20screenshot\x20--output\x20'+_0x4e4754['gWSwn'](quoteShellArg,_0x55f124)+'\x20'+_0x369ba7+_0x162325(0x120)+_0x38e818+_0x162325(0x180)+_0x219495+_0x162325(0x11b)+(_0x369ba7[_0x162325(0x1a7)]()?'`'+_0x369ba7+'`':_0x4e4754[_0x162325(0x113)])+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x369ba7)+_0x162325(0x13e)+_0x219495+_0x162325(0x13f)+_0x369ba7+_0x162325(0x1aa)+_0x219495+_0x162325(0x1ea)+_0x369ba7+_0x162325(0x1aa)+_0x219495+'\x20snapshot\x20--output\x20'+_0x4e4754[_0x162325(0x14a)](quoteShellArg,_0x3d2d9f)+'\x20'+_0x369ba7+_0x162325(0x1aa)+_0x219495+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x38e818)+'\x20'+_0x369ba7+_0x162325(0x129);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x22b9df){const _0x9f7237=_0x26d722,_0x45ab98={'lMJYK':function(_0x40035a,_0x1009f6){return _0x40035a===_0x1009f6;}},_0x581373=[..._0x22b9df[_0x9f7237(0x1d2)]()]['sort']();let _0x398cc8=0x0;for(const _0x13dcfd of _0x22b9df[_0x9f7237(0x115)]()){_0x398cc8+=_0x13dcfd;}return{'cliCommandCount':_0x398cc8,'cliCommandsSeen':_0x581373,'noCliCommandsCalled':_0x45ab98['lMJYK'](_0x398cc8,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x2bc7e1,_0x3b2def){const _0x41fa75=_0x26d722,_0x45d6c0={'slKwb':_0x41fa75(0x128),'kIoZL':'Bash','xKhiT':function(_0x481701,_0x1181a0){return _0x481701(_0x1181a0);},'onwvC':function(_0x3e383b,_0x39f08e){return _0x3e383b(_0x39f08e);},'wLfiW':_0x41fa75(0x1e4),'cSgek':function(_0x21fb46,_0x50bee2){return _0x21fb46!==_0x50bee2;},'jEglt':function(_0x408c55,_0x7990a0){return _0x408c55(_0x7990a0);},'TcbLd':_0x41fa75(0x1da),'qeIlU':function(_0x5e0267,_0x152ede){return _0x5e0267===_0x152ede;},'dtVjR':_0x41fa75(0x161),'zoiYl':'nova_act_artifact_recording','oryet':'PostToolUseFailure','cpblU':'nova_act_command_failure','eiBwU':'nova-act-cli'},_0x888b7b=new Map(),_0x550402=async _0x50e10d=>{const _0x52b381=_0x41fa75;if(_0x50e10d[_0x52b381(0x1ed)]!==_0x45d6c0[_0x52b381(0x15b)])return{};const _0x523f17=_0x50e10d;if(_0x523f17[_0x52b381(0x178)]!==_0x45d6c0[_0x52b381(0x12a)])return{};const _0x30d2e6=_0x523f17['tool_input'],_0x54a238=_0x45d6c0[_0x52b381(0x1c8)](extractBashCommand,_0x30d2e6);if(!_0x54a238)return{};const _0x3a20f3=_0x45d6c0[_0x52b381(0x134)](getNovaActCliCommandBlockReason,_0x54a238);if(!_0x3a20f3)return{};return{'decision':_0x52b381(0x1c9),'reason':_0x3a20f3};},_0x54bf94=async _0x323557=>{const _0x548d6a=_0x41fa75;if(_0x323557['hook_event_name']!==_0x45d6c0['wLfiW'])return{};const _0x52ae4e=_0x323557;if(_0x45d6c0[_0x548d6a(0x18a)](_0x52ae4e[_0x548d6a(0x178)],_0x45d6c0['kIoZL']))return{};const _0x567dba=_0x52ae4e[_0x548d6a(0x19b)],_0x3db616=_0x45d6c0['jEglt'](extractBashCommand,_0x567dba);if(!_0x3db616)return{};const _0x20e3fa=parseNovaActCliCommand(_0x3db616);if(!_0x20e3fa)return{};_0x888b7b[_0x548d6a(0x1d5)](_0x20e3fa,(_0x888b7b[_0x548d6a(0x177)](_0x20e3fa)||0x0)+0x1),_0x2bc7e1[_0x548d6a(0x1ac)](_0x45d6c0[_0x548d6a(0x1ee)],{'subcommand':_0x20e3fa}),_0x2bc7e1['trackPhaseEnd'](_0x548d6a(0x1da),{'subcommand':_0x20e3fa,'commandPreview':previewNovaActCliCommand(_0x3db616)}),console[_0x548d6a(0x118)](_0x548d6a(0x1d6)+formatNovaActCliLog(_0x3db616,_0x20e3fa));if(_0x45d6c0[_0x548d6a(0x1bd)](_0x20e3fa,_0x45d6c0[_0x548d6a(0x151)])&&_0x3b2def)try{await _0x3b2def['start']();}catch(_0x41ffa7){await _0x2bc7e1['trackPhaseError'](_0x45d6c0[_0x548d6a(0x10f)],_0x41ffa7,{'transport':_0x548d6a(0x196)});}return{};},_0x328db6=async _0x3f8e62=>{const _0xea4414=_0x41fa75;if(_0x45d6c0['cSgek'](_0x3f8e62['hook_event_name'],_0x45d6c0['oryet']))return{};const _0x4b46f6=_0x3f8e62;if(_0x4b46f6[_0xea4414(0x178)]!=='Bash')return{};return await _0x2bc7e1['trackPhaseError'](_0x45d6c0['cpblU'],_0x4b46f6['error'],{'transport':_0x45d6c0[_0xea4414(0x17e)],'toolName':_0xea4414(0x174)}),{};};return{'preToolUseHook':_0x550402,'postToolUseHook':_0x54bf94,'postToolUseFailureHook':_0x328db6,'commandCounts':_0x888b7b};}async function runNovaLifecycleCommand(_0x4d311b){const _0x11581b=_0x26d722,_0xb9d48e={'msRiU':function(_0x3e9533,_0x39974f){return _0x3e9533(_0x39974f);},'lOzpD':function(_0xb3b43d,_0x351a21){return _0xb3b43d(_0x351a21);}},{novaOptions:_0x29a9df,commandArgs:_0x8c94c3,telemetry:_0x179608,phase:_0x50ef10,metadata:_0x3bc498,timeoutMs:_0xaf1435}=_0x4d311b;_0x179608[_0x11581b(0x1ac)](_0x50ef10,_0x3bc498);try{const _0x9754f3=await runNovaActCliCommand({..._0x29a9df,'commandArgs':_0x8c94c3,'cwd':process['cwd'](),'env':process['env'],'timeoutMs':_0xaf1435??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x179608[_0x11581b(0x11f)](_0x50ef10,{..._0x3bc498,'subcommand':_0x9754f3[_0x11581b(0x1bb)]['subcommand'],'commandPreview':_0xb9d48e[_0x11581b(0x119)](previewNovaActCliCommand,_0x9754f3[_0x11581b(0x1bb)][_0x11581b(0x1df)]),'stdoutPreview':_0xb9d48e['msRiU'](previewNovaActCliCommand,_0x9754f3[_0x11581b(0x1d0)]),'stderrPreview':_0xb9d48e[_0x11581b(0x17d)](previewNovaActCliCommand,_0x9754f3[_0x11581b(0x155)]),'logDir':_0xb9d48e[_0x11581b(0x119)](extractNovaActLogDir,_0x9754f3[_0x11581b(0x1d0)])});}catch(_0x270b6a){await _0x179608[_0x11581b(0x1c0)](_0x50ef10,_0x270b6a,_0x3bc498);throw _0x270b6a;}}export async function finalizeVerifyFeatureNovaCliSession(_0x38ab73){const _0x18d525=_0x26d722,_0x14b816={'mjdMd':'nova_act_final_screenshot','lEkwB':_0x18d525(0x192),'vhehz':function(_0x48b4be,_0x24edd2,_0x256c7b){return _0x48b4be(_0x24edd2,_0x256c7b);},'uCHMS':'final-state.yaml','ZwGqU':'--format','dgEPG':function(_0x1692c6,_0x1d5ac8,_0x206c69){return _0x1692c6(_0x1d5ac8,_0x206c69);},'Puysz':_0x18d525(0x1e6),'SFUfa':'session','eambJ':'export','cKszC':'nova_act_session_close','gSyMD':'close','fGMnq':function(_0x176f78,_0x15160e){return _0x176f78===_0x15160e;}},{telemetry:_0x26d4f4,novaOptions:_0x328313,cliArtifactDir:_0x24e5a7,transportMetadata:_0x3486fd,artifactRecorder:_0x104f82}=_0x38ab73,_0x580c35=[{'phase':_0x14b816['mjdMd'],'commandArgs':['screenshot',_0x18d525(0x192),buildCliArtifactPath(_0x24e5a7,_0x18d525(0x16f))]},{'phase':_0x18d525(0x1dd),'commandArgs':['snapshot',_0x14b816['lEkwB'],_0x14b816['vhehz'](buildCliArtifactPath,_0x24e5a7,_0x14b816['uCHMS'])]},{'phase':'nova_act_session_export','commandArgs':['session','export',_0x14b816[_0x18d525(0x18b)],'json','--output',_0x14b816['dgEPG'](buildCliArtifactPath,_0x24e5a7,_0x14b816['Puysz'])]},{'phase':_0x18d525(0x125),'commandArgs':[_0x14b816[_0x18d525(0x164)],_0x14b816[_0x18d525(0x1b0)],'--report',_0x18d525(0x1ad),buildCliArtifactPath(_0x24e5a7,'nova-report')]},{'phase':_0x14b816['cKszC'],'commandArgs':['session',_0x14b816['gSyMD']]}];for(const _0x1d1bac of _0x580c35){_0x14b816['fGMnq'](_0x1d1bac['phase'],'nova_act_session_close')&&await _0x104f82?.['stop']();try{await runNovaLifecycleCommand({'novaOptions':_0x328313,'commandArgs':[..._0x1d1bac[_0x18d525(0x15c)]],'telemetry':_0x26d4f4,'phase':_0x1d1bac['phase'],'metadata':_0x3486fd});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0xcfb1bb){const _0x1d61f8=_0x26d722,_0x49fd6a={'QYRLk':function(_0x74252a,_0x4d0dba,_0x33ce84){return _0x74252a(_0x4d0dba,_0x33ce84);},'dBPWs':function(_0x415e51,_0x563503,_0x3c60cd){return _0x415e51(_0x563503,_0x3c60cd);},'kJPZE':function(_0x2669a9,_0x46b0b1){return _0x2669a9(_0x46b0b1);},'UlMgx':function(_0x33c354,_0x354e88){return _0x33c354+_0x354e88;},'qkRqp':function(_0x18562a,_0x56398d,_0x38c1f8){return _0x18562a(_0x56398d,_0x38c1f8);}},{cwd:_0x408a05,cliArtifactDir:_0x53d220,startTime:_0x417fad}=_0xcfb1bb,_0x3faa13=[];await _0x49fd6a['QYRLk'](mkdir,_0x53d220,{'recursive':!![]});const _0x3aaea6=await _0x49fd6a[_0x1d61f8(0x1e9)](readdir,_0x408a05,{'withFileTypes':!![]});for(const _0x450c35 of _0x3aaea6){if(!_0x450c35[_0x1d61f8(0x191)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x450c35['name']))continue;const _0x2ef3d2=join(_0x408a05,_0x450c35[_0x1d61f8(0x1c3)]),_0x1e7bca=await _0x49fd6a['kJPZE'](stat,_0x2ef3d2);if(_0x49fd6a[_0x1d61f8(0x16a)](_0x1e7bca[_0x1d61f8(0x186)],0x7d0)<_0x417fad)continue;const _0x3b6f6f=buildCliArtifactPath(_0x53d220,_0x450c35['name']);if(_0x2ef3d2===_0x3b6f6f)continue;await _0x49fd6a['qkRqp'](rename,_0x2ef3d2,_0x3b6f6f),_0x3faa13['push'](_0x450c35['name']);}return _0x3faa13[_0x1d61f8(0x168)]();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x22bad3){const _0x130109={'XoZAs':function(_0x303b6a,_0x1ea85e){return _0x303b6a(_0x1ea85e);}},_0x31231f=join(_0x22bad3,'trace.zip');try{return{'buffer':await _0x130109['XoZAs'](readFile,_0x31231f),'source':_0x31231f};}catch{return{'buffer':await _0x130109['XoZAs'](zipVerifyFeatureNovaArtifacts,_0x22bad3),'source':_0x22bad3};}}async function zipVerifyFeatureNovaArtifacts(_0x53fb03){const _0xf35d24=_0x26d722,_0x4acb76={'uzQkv':function(_0x10a0e1,_0x33a36c,_0x4d8037,_0x31a051){return _0x10a0e1(_0x33a36c,_0x4d8037,_0x31a051);},'UszyE':_0xf35d24(0x1b3)},_0x5a6c84=_0x4acb76[_0xf35d24(0x10a)](join,_0x53fb03,'..',_0xf35d24(0x1ab));try{return await execFileAsync(_0x4acb76['UszyE'],['-qr',_0x5a6c84,'.','-x',_0xf35d24(0x1a0)],{'cwd':_0x53fb03}),await readFile(_0x5a6c84);}finally{await rm(_0x5a6c84,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x5391db){const _0x3bf362=_0x26d722,_0x4ea1cc=buildNovaActCliInvocation(_0x5391db[_0x3bf362(0x131)],_0x5391db[_0x3bf362(0x15c)]);return{'command':_0x4ea1cc[_0x3bf362(0x111)],'args':_0x4ea1cc[_0x3bf362(0x16b)],'commandPreview':previewNovaActCliCommand(_0x4ea1cc['shellCommand']),'subcommand':_0x4ea1cc[_0x3bf362(0x15a)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x5391db[_0x3bf362(0x131)],_0x5391db[_0x3bf362(0x15c)])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x2b7448,_0xa53566){const _0x368bc7=_0x1673,_0xf8fa2e=_0x2b7448();while(!![]){try{const _0x56b14c=-parseInt(_0x368bc7(0x14d))/0x1*(parseInt(_0x368bc7(0xff))/0x2)+-parseInt(_0x368bc7(0x14a))/0x3*(-parseInt(_0x368bc7(0x13f))/0x4)+parseInt(_0x368bc7(0x12d))/0x5*(-parseInt(_0x368bc7(0x114))/0x6)+parseInt(_0x368bc7(0xf4))/0x7+-parseInt(_0x368bc7(0x11d))/0x8*(-parseInt(_0x368bc7(0xf8))/0x9)+-parseInt(_0x368bc7(0x14f))/0xa*(-parseInt(_0x368bc7(0x110))/0xb)+-parseInt(_0x368bc7(0x13d))/0xc;if(_0x56b14c===_0xa53566)break;else _0xf8fa2e['push'](_0xf8fa2e['shift']());}catch(_0x42d4aa){_0xf8fa2e['push'](_0xf8fa2e['shift']());}}}(_0x35b8,0x419bf));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(_0x224b41,_0x43a87c=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x32e962=_0x1673,_0x7dd7c7={'vrFyT':function(_0x50e308,_0x4ba412){return _0x50e308+_0x4ba412;},'yjCkJ':'...'};return _0x224b41[_0x32e962(0x100)]>_0x43a87c?_0x7dd7c7[_0x32e962(0xf3)](_0x224b41[_0x32e962(0xf1)](0x0,_0x43a87c),_0x7dd7c7[_0x32e962(0x11c)]):_0x224b41;}function extractShellValue(_0x2d760c){if(!_0x2d760c)return null;return _0x2d760c[0x1]??_0x2d760c[0x2]??_0x2d760c[0x3]??null;}function extractFirstCommandArgument(_0x21134d,_0x14f688){const _0xe01c75=_0x1673,_0x400bd1={'WyNbV':_0xe01c75(0x104),'zVZRo':function(_0x496c11,_0x43daa9){return _0x496c11(_0x43daa9);}},_0x5409c0=_0x14f688[_0xe01c75(0x143)](/[.*+?^${}()|[\]\\]/g,_0x400bd1['WyNbV']);return _0x400bd1['zVZRo'](extractShellValue,_0x21134d['match'](new RegExp(_0xe01c75(0x13c)+_0x5409c0+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x42ebb2){const _0x1be2d8=_0x1673,_0x148f05={'ZIjyL':_0x1be2d8(0x148),'jSNIB':function(_0x58d923,_0x54292c,_0x5c5fd0){return _0x58d923(_0x54292c,_0x5c5fd0);}};if(!_0x42ebb2)return _0x148f05['ZIjyL'];if(/^e\d+$/i[_0x1be2d8(0x106)](_0x42ebb2))return _0x1be2d8(0x134)+_0x42ebb2;return JSON[_0x1be2d8(0xfc)](_0x148f05['jSNIB'](truncatePreview,_0x42ebb2,0x78));}function _0x35b8(){const _0x38e213=['content','vrFyT','3232537DTCmRr','01_initial-state.png','join','trackPhaseError','2925dGUppg','authorEmail','):\x20\x22','tKmfL','stringify','stop\x20video\x20recording','ibDgU','1051530Wtqjxr','length','IJSNB','get','PostToolUseFailure','\x5c$&','>\x20\x22','test','xvZcJ','wzqYr','authorName','tool_input','PostToolUse','trackPhaseEnd','phase','inspect','PKtnD','22llMhAJ','MgYiY','tool_name','textContent','6lPDQJF','error','gayPn','uIXPm','close','rangerwright_cli_command','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','[rangerwright-cli]\x20','yjCkJ','13120qdYbdT','sort','split','push','fZZsi','matchAll','xsiaZ','meJco','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','\x20>\x20','tracing-stop','notes','Bash','\x20open-and-inspect\x20','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','weBwN','2451420bxScPN','inspect\x20page','commandPrefix','VoPLn','srrPU','key_02_learn-more.png','open\x20and\x20inspect','ref\x20','zFsAe','values','keys','rangerwright_cli_video_stop','fill','domRef','unaddressedComments','(?:^|\x5cs)','2358948gAIplK','\x20--screenshot-path\x20','8WdfRRt','numeric','trackPhaseStart','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','replace','lAiUE','click\x20and\x20inspect\x20','MJKeL','stderr','target','map','453339kpYDrJ','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','HZGBq','1tqGGCH','Reviewer','921730sfLRuY','NzAYu','PGunP','subcommand','slice'];_0x35b8=function(){return _0x38e213;};return _0x35b8();}function formatRangerwrightCliLog(_0x20fed3,_0x29d92c){const _0xedccae=_0x1673,_0x153122={'myQUu':'open-and-inspect','xsiaZ':function(_0x1cc623,_0x11675b,_0x142261){return _0x1cc623(_0x11675b,_0x142261);},'qMCEX':'click-and-inspect','wzqYr':function(_0x4a15fd,_0x52f99a){return _0x4a15fd(_0x52f99a);},'PKtnD':function(_0x3cb09e,_0x257841,_0x3e61c8){return _0x3cb09e(_0x257841,_0x3e61c8);},'jKPIi':_0xedccae(0x139),'RoGOe':'go\x20back\x20and\x20inspect','hOIaz':_0xedccae(0x12e),'GrUid':_0xedccae(0x127),'jdQVq':'video-stop','tQwcb':_0xedccae(0xfd),'PWRfb':'close\x20browser\x20session'};switch(_0x29d92c){case _0x153122['myQUu']:{const _0x2e18fc=_0x153122[_0xedccae(0x123)](extractFirstCommandArgument,_0x20fed3,_0x29d92c);return _0x2e18fc?'open\x20and\x20inspect\x20'+_0x2e18fc:_0xedccae(0x133);}case _0x153122['qMCEX']:return _0xedccae(0x145)+_0x153122[_0xedccae(0x108)](formatCommandTarget,_0x153122[_0xedccae(0x10f)](extractFirstCommandArgument,_0x20fed3,_0x29d92c));case _0x153122['jKPIi']:case'fill-and-inspect':return'fill\x20'+formatCommandTarget(extractFirstCommandArgument(_0x20fed3,_0x29d92c));case'back-and-inspect':return _0x153122['RoGOe'];case _0xedccae(0x10e):return _0x153122['hOIaz'];case _0x153122['GrUid']:return'stop\x20tracing';case _0x153122['jdQVq']:return _0x153122['tQwcb'];case _0xedccae(0x118):return _0x153122['PWRfb'];default:return _0x29d92c;}}function renderScenarioSections(_0x52fd2e){const _0x596404=_0x1673,_0x3e3f17={'HZGBq':'en-US','NzAYu':'short','MJKeL':_0x596404(0x14e),'VoPLn':_0x596404(0x126),'yubFB':'element','fZZsi':function(_0x157468,_0x25bfa1){return _0x157468>_0x25bfa1;}},{checklistItem:_0x1068aa,itemFeedback:_0x1979e2}=_0x52fd2e,_0xdeac24=_0x1068aa[_0x596404(0x128)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x1068aa[_0x596404(0x128)]:'';let _0x2fba0f='';if(_0x1979e2&&_0x3e3f17[_0x596404(0x121)](_0x1979e2[_0x596404(0x13b)]['length'],0x0)){const _0x2f27c3=_0x1979e2[_0x596404(0x13b)][_0x596404(0x149)](_0x47d945=>{const _0x1889c6=_0x596404,_0x47d614=new Date(_0x47d945['createdAt'])['toLocaleDateString'](_0x3e3f17[_0x1889c6(0x14c)],{'month':_0x3e3f17[_0x1889c6(0x150)],'day':_0x1889c6(0x140)}),_0x5a89d1=_0x47d945[_0x1889c6(0x109)]||_0x47d945[_0x1889c6(0xf9)]||_0x3e3f17[_0x1889c6(0x146)],_0x427ead=_0x47d945[_0x1889c6(0x13a)]?'\x20(on\x20element:\x20<'+(_0x47d945['domRef']['selector'][_0x1889c6(0x11f)](_0x3e3f17[_0x1889c6(0x130)])['pop']()?.['split'](':')[0x0]||_0x3e3f17['yubFB'])+_0x1889c6(0x105)+(_0x47d945[_0x1889c6(0x13a)][_0x1889c6(0x113)]||'')[_0x1889c6(0xf1)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x47d945['id']+']\x20'+_0x5a89d1+'\x20('+_0x47d614+_0x1889c6(0xfa)+_0x47d945[_0x1889c6(0xf2)]+'\x22'+_0x427ead;})[_0x596404(0xf6)]('\x0a');_0x2fba0f='\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'+_0x2f27c3;}const _0x5764cc=_0x1979e2?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x1979e2['canonicalFlow']:'';return''+_0x1068aa['description']+_0xdeac24+_0x2fba0f+_0x5764cc;}function _0x1673(_0x3c28ef,_0x5e0177){_0x3c28ef=_0x3c28ef-0xf0;const _0x35b8a5=_0x35b8();let _0x16735a=_0x35b8a5[_0x3c28ef];return _0x16735a;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x2b2b88){const _0x2b95e3=_0x1673,_0x2cab96={'xvZcJ':'key_99_final-state.png','uIXPm':function(_0x30b63b,_0x111d41){return _0x30b63b(_0x111d41);},'ibDgU':function(_0x24c767,_0x16b17a){return _0x24c767(_0x16b17a);},'YuNCB':function(_0x252ea4,_0x3b1207){return _0x252ea4(_0x3b1207);}},{checklistItem:_0x31fd49,itemFeedback:_0x2d33ad,taskDescription:_0x6133f8,commandPrefix:_0xcbf0c8,isCdpMode:_0x4d7082,url:_0x584a5b,cdpEndpoint:_0x292877,loginInstructions:_0x5e214d}=_0x2b2b88,_0x118eea=_0x2b95e3(0xf5),_0x4a9b19=_0x2cab96[_0x2b95e3(0x107)],_0x5a87aa=_0x4d7082?_0xcbf0c8+'\x20inspect\x20--screenshot-path\x20'+quoteShellArg(_0x118eea):_0xcbf0c8+_0x2b95e3(0x12a)+_0x2cab96[_0x2b95e3(0x117)](quoteShellArg,_0x584a5b??'about:blank')+_0x2b95e3(0x13e)+_0x2cab96['ibDgU'](quoteShellArg,_0x118eea),_0x4f2c8b=_0x4d7082?_0x2b95e3(0x125)+_0x292877+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x584a5b+'\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.',_0x4b3691=_0x5e214d?_0x2b95e3(0x12b)+_0x5e214d+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x2b95e3(0x14b)+_0x2cab96['YuNCB'](renderScenarioSections,{'checklistItem':_0x31fd49,'itemFeedback':_0x2d33ad})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x6133f8+'\x0a\x0a'+_0x4f2c8b+_0x4b3691+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0xcbf0c8+'\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'+_0x5a87aa+'\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'+_0xcbf0c8+_0x2b95e3(0x142)+_0x2cab96[_0x2b95e3(0xfe)](quoteShellArg,_0x4a9b19)+'\x0a\x0aRefs\x20like\x20e37\x20are\x20only\x20valid\x20for\x20the\x20snapshot\x20that\x20produced\x20them.\x20Refresh\x20refs\x20after\x20navigation.\x0a\x0aUse\x20short\x20concrete\x20checkpoints\x20internally:\x20what\x20target\x20is\x20visible,\x20what\x20command\x20changes\x20state,\x20and\x20what\x20evidence\x20is\x20still\x20missing.\x20Issue\x20one\x20browser\x20command\x20at\x20a\x20time.\x20After\x20navigation,\x20validation,\x20or\x20a\x20changed\x20page,\x20inspect\x20before\x20deciding\x20the\x20next\x20action.\x0a\x0aBefore\x20reporting\x20success,\x20compare\x20each\x20required\x20CTA,\x20page\x20purpose,\x20and\x20topic\x20against\x20visible\x20page\x20evidence.\x20A\x20related\x20page\x20does\x20not\x20satisfy\x20a\x20different\x20required\x20topic\x20unless\x20the\x20page\x20text\x20directly\x20supports\x20that\x20topic\x20or\x20an\x20obvious\x20synonym.\x20If\x20required\x20evidence\x20is\x20missing,\x20mismatched,\x20or\x20only\x20inferred\x20from\x20adjacent\x20content,\x20report\x20that\x20plainly\x20and\x20do\x20not\x20mark\x20the\x20task\x20verified.\x0a\x0aFor\x20goals\x20with\x20more\x20than\x20one\x20required\x20condition,\x20use\x20an\x20internal\x20checklist\x20built\x20from\x20the\x20user\x27s\x20exact\x20requested\x20conditions.\x20Verify\x20each\x20checklist\x20item\x20against\x20visible\x20evidence\x20from\x20the\x20latest\x20browser\x20result.\x20If\x20any\x20item\x20lacks\x20direct\x20evidence,\x20report\x20the\x20task\x20as\x20not\x20verified\x20and\x20name\x20the\x20missing\x20item.\x0a\x0aOn\x20forms,\x20fill\x20only\x20visible\x20task-relevant\x20editable\x20fields\x20in\x20the\x20current\x20step\x20before\x20submitting\x20or\x20advancing.\x20Use\x20labels,\x20placeholders,\x20and\x20current\x20page\x20text\x20to\x20decide\x20which\x20fields\x20are\x20required.\x20Do\x20not\x20fill\x20fields\x20that\x20are\x20not\x20visible\x20in\x20the\x20latest\x20snapshot.\x0a\x0aUse\x20one\x20fill\x20command\x20per\x20field.\x20Do\x20not\x20combine\x20multiple\x20fields\x20into\x20one\x20fill\x20command\x20with\x20semicolons.\x0a\x0aIf\x20an\x20inspect-action\x20click\x20returns\x20the\x20same\x20page\x20or\x20shows\x20validation,\x20inspect\x20the\x20current\x20page\x20and\x20fill\x20blank\x20required\x20fields\x20before\x20retrying.\x20Do\x20not\x20repeat\x20the\x20same\x20blocked\x20click\x20unchanged.\x0a\x0aIf\x20a\x20click-and-inspect\x20result\x20keeps\x20the\x20same\x20URL\x20and\x20does\x20not\x20show\x20the\x20intended\x20target,\x20treat\x20it\x20as\x20a\x20no-op.\x20Refresh\x20refs\x20and\x20choose\x20a\x20different\x20visible\x20link,\x20or\x20use\x20back-and-inspect\x20if\x20you\x20need\x20the\x20prior\x20page.\x0a\x0aA\x20page\x20with\x20visible\x20required\x20fields\x20and\x20a\x20next,\x20submit,\x20continue,\x20or\x20confirm\x20control\x20is\x20still\x20actionable.\x20Fill\x20the\x20required\x20fields\x20with\x20values\x20from\x20the\x20task\x20before\x20reporting\x20incomplete\x20or\x20blocked.\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20first\x20inspect\x20result,\x20check\x20for\x20blocking\x20errors:\x0a-\x20HTTP\x20404,\x20500,\x20400,\x20\x22Not\x20Found\x22,\x20\x22Server\x20Error\x22,\x20or\x20\x22Bad\x20Request\x22\x0a-\x20Framework\x20error\x20pages\x0a-\x20Blank\x20pages\x20with\x20no\x20content\x0a-\x20App\x20crash\x20or\x20error\x20dialogs\x0a\x0aIf\x20any\x20blocking\x20error\x20is\x20visible,\x20return\x20evaluation\x20\x22blocked\x22\x20immediately\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0xd043b9){const _0x5e4399=_0x1673,_0x5948f8={'iGkFv':'01_mozilla-homepage.png','meJco':function(_0x29e51f,_0x4e85ff){return _0x29e51f(_0x4e85ff);}},_0x15073c=_0x5948f8['iGkFv'],_0x7b5284=_0x5e4399(0x132);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'+_0xd043b9['commandPrefix']+'\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`'+_0xd043b9[_0x5e4399(0x12f)]+_0x5e4399(0x12a)+quoteShellArg(_0xd043b9['url'])+'\x20--screenshot-path\x20'+_0x5948f8[_0x5e4399(0x124)](quoteShellArg,_0x15073c)+_0x5e4399(0x11a)+_0xd043b9[_0x5e4399(0x12f)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x7b5284)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x20eb03){const _0x22e1f2=_0x1673,_0x303ba9={'srrPU':function(_0x9151be,_0x1e2484){return _0x9151be(_0x1e2484);}};if(!_0x303ba9[_0x22e1f2(0x131)](parseRangerwrightCliCommand,_0x20eb03))return[];const _0x25e8bd=[],_0x25c138=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0x22751e of _0x20eb03[_0x22e1f2(0x122)](_0x25c138)){const _0x40a560=_0x22751e[0x1]??_0x22751e[0x2]??_0x22751e[0x3]??'',_0x3c50c0=_0x40a560['startsWith']('./')?_0x40a560['slice'](0x2):_0x40a560;if(!_0x3c50c0||_0x3c50c0['startsWith']('/'))continue;_0x25e8bd[_0x22e1f2(0x120)](_0x3c50c0);}return _0x25e8bd;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x1b31af){const _0xefbacf=_0x1673,_0x347153=[..._0x1b31af[_0xefbacf(0x137)]()][_0xefbacf(0x11e)]();let _0x2a7bf6=0x0;for(const _0x3806ad of _0x1b31af[_0xefbacf(0x136)]()){_0x2a7bf6+=_0x3806ad;}return{'cliCommandCount':_0x2a7bf6,'cliCommandsSeen':_0x347153,'noCliCommandsCalled':_0x2a7bf6===0x0};}export function createVerifyFeatureRangerwrightCliHooks(_0x6b0bf1){const _0x4a6de2=_0x1673,_0x46492a={'lAiUE':function(_0x57637d,_0x582c48){return _0x57637d!==_0x582c48;},'tKmfL':'Bash','sqQpQ':_0x4a6de2(0x119),'zFsAe':function(_0x347cfe,_0x7413fd){return _0x347cfe(_0x7413fd);},'PGunP':function(_0x35a835,_0x55e2fd,_0x4045b9){return _0x35a835(_0x55e2fd,_0x4045b9);},'weBwN':_0x4a6de2(0x103)},_0x20768d=new Map(),_0x18476a=async _0x8a98d9=>{const _0x45abe3=_0x4a6de2;if(_0x46492a[_0x45abe3(0x144)](_0x8a98d9['hook_event_name'],_0x45abe3(0x10b)))return{};const _0x46a370=_0x8a98d9;if(_0x46a370[_0x45abe3(0x112)]!==_0x46492a['tKmfL'])return{};const _0x133964=_0x46a370[_0x45abe3(0x10a)],_0x414927=extractBashCommand(_0x133964);if(!_0x414927)return{};const _0x3bd3eb=parseRangerwrightCliCommand(_0x414927);if(!_0x3bd3eb)return{};return _0x20768d['set'](_0x3bd3eb,(_0x20768d[_0x45abe3(0x102)](_0x3bd3eb)||0x0)+0x1),_0x6b0bf1[_0x45abe3(0x141)]('rangerwright_cli_command',{'subcommand':_0x3bd3eb}),_0x6b0bf1[_0x45abe3(0x10c)](_0x46492a['sqQpQ'],{'subcommand':_0x3bd3eb,'commandPreview':_0x46492a[_0x45abe3(0x135)](truncatePreview,_0x414927)}),console['log'](_0x45abe3(0x11b)+_0x46492a[_0x45abe3(0x151)](formatRangerwrightCliLog,_0x414927,_0x3bd3eb)),{};},_0x1f4e19=async _0x329b02=>{const _0x4dd98d=_0x4a6de2;if(_0x46492a[_0x4dd98d(0x144)](_0x329b02['hook_event_name'],_0x46492a[_0x4dd98d(0x12c)]))return{};const _0x168a11=_0x329b02;if(_0x168a11[_0x4dd98d(0x112)]!==_0x46492a[_0x4dd98d(0xfb)])return{};return await _0x6b0bf1[_0x4dd98d(0xf7)]('rangerwright_cli_command_failure',_0x168a11[_0x4dd98d(0x115)],{'transport':'rangerwright-cli','toolName':_0x4dd98d(0x129)}),{};};return{'postToolUseHook':_0x18476a,'postToolUseFailureHook':_0x1f4e19,'commandCounts':_0x20768d};}async function runRangerwrightLifecycleCommand(_0x324c90){const _0x2754ab=_0x1673,_0x204c16={'IJSNB':function(_0x18788e,_0xfb378a){return _0x18788e(_0xfb378a);},'gayPn':function(_0x1118b0,_0x34b94d){return _0x1118b0??_0x34b94d;}},{options:_0x239ce6,commandArgs:_0x23f2bb,env:_0x3129af,telemetry:_0x194692,phase:_0x149388,metadata:_0x54ad82,timeoutMs:_0x23182a}=_0x324c90;_0x194692['trackPhaseStart'](_0x149388,_0x54ad82);try{const _0x1b3f98=await _0x204c16[_0x2754ab(0x101)](runRangerwrightCliCommand,{..._0x239ce6,'commandArgs':_0x23f2bb,'cwd':process['cwd'](),'env':_0x3129af,'timeoutMs':_0x204c16[_0x2754ab(0x116)](_0x23182a,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x194692['trackPhaseEnd'](_0x149388,{..._0x54ad82,'subcommand':_0x1b3f98['invocation'][_0x2754ab(0xf0)],'stdoutPreview':truncatePreview(_0x1b3f98['stdout'],0x7d0),'stderrPreview':truncatePreview(_0x1b3f98[_0x2754ab(0x147)],0x7d0)});}catch(_0x267362){await _0x194692['trackPhaseError'](_0x149388,_0x267362,_0x54ad82);throw _0x267362;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x515717){const _0x577048=_0x1673,_0x2ca0ea={'MgYiY':'rangerwright_cli_tracing_stop','QZqOJ':_0x577048(0x138),'CpaBO':function(_0xe042d9,_0x245ddf){return _0xe042d9(_0x245ddf);}},{telemetry:_0x4570ce,rangerwrightOptions:_0x474c5c,env:_0x5140e5,transportMetadata:_0x184827}=_0x515717,_0x5ddcf5=[{'phase':_0x2ca0ea[_0x577048(0x111)],'commandArgs':['tracing-stop']},{'phase':_0x2ca0ea['QZqOJ'],'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x577048(0x118)]}];for(const _0x5eaaf6 of _0x5ddcf5){try{await _0x2ca0ea['CpaBO'](runRangerwrightLifecycleCommand,{'options':_0x474c5c,'commandArgs':[..._0x5eaaf6['commandArgs']],'env':_0x5140e5,'telemetry':_0x4570ce,'phase':_0x5eaaf6[_0x577048(0x10d)],'metadata':_0x184827});}catch{}}}
|
|
1
|
+
function _0x3cb2(_0x220d8d,_0x18a838){_0x220d8d=_0x220d8d-0x154;const _0xe910a8=_0xe910();let _0x3cb25e=_0xe910a8[_0x220d8d];return _0x3cb25e;}(function(_0x282992,_0x3a85db){const _0x4005a6=_0x3cb2,_0x3cd202=_0x282992();while(!![]){try{const _0x5f4d37=parseInt(_0x4005a6(0x1ad))/0x1+-parseInt(_0x4005a6(0x155))/0x2+parseInt(_0x4005a6(0x162))/0x3+-parseInt(_0x4005a6(0x169))/0x4*(-parseInt(_0x4005a6(0x184))/0x5)+-parseInt(_0x4005a6(0x168))/0x6+parseInt(_0x4005a6(0x1a5))/0x7+-parseInt(_0x4005a6(0x15f))/0x8;if(_0x5f4d37===_0x3a85db)break;else _0x3cd202['push'](_0x3cd202['shift']());}catch(_0x584a83){_0x3cd202['push'](_0x3cd202['shift']());}}}(_0xe910,0xd13ff));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(_0x4ed94f,_0x3a1d42=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x396385=_0x3cb2;return _0x4ed94f[_0x396385(0x161)]>_0x3a1d42?_0x4ed94f['slice'](0x0,_0x3a1d42)+_0x396385(0x197):_0x4ed94f;}function extractShellValue(_0x47b52e){if(!_0x47b52e)return null;return _0x47b52e[0x1]??_0x47b52e[0x2]??_0x47b52e[0x3]??null;}function extractFirstCommandArgument(_0x387386,_0x4b0b65){const _0x9fee88=_0x3cb2,_0x4137ea=_0x4b0b65['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x387386['match'](new RegExp('(?:^|\x5cs)'+_0x4137ea+_0x9fee88(0x163))));}function _0xe910(){const _0x696877=['5480538npidbM','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','\x20>\x20','stop\x20video\x20recording','cZLia','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','HVeZX','\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.','1593490LuWClq','ZZPPk','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','fill','url','01_initial-state.png','close\x20browser\x20session','push','Reviewer','unaddressedComments','iwITL','CXmSy','matchAll','2517500WuQNRS','toLocaleDateString','selector','error','commandPrefix','close','rangerwright_cli_command','tool_input','values','map','18519232MjMbKX','inspect\x20page','length','4249158PNAwzs','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','key_99_final-state.png','vOQzp','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','target','5320380yEPyzo','3188nPzINc','fill-and-inspect','trackPhaseStart','VoIiK','rangerwright_cli_video_stop','subcommand','canonicalFlow','Etpxl','owkUM','split','numeric','stdout','BDeuv','keys','\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','xYSZq','NuVHN','XQoLv','OzYmA','short','01_mozilla-homepage.png','tjVSt','authorEmail','authorName','domRef','ebNZo','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','9565BExTdW','textContent','rangerwright_cli_close','log','createdAt','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','tracing-stop','mVRpO','click\x20and\x20inspect\x20','[rangerwright-cli]\x20','video-stop','\x20(on\x20element:\x20<','pwsFb','GmpNN','cRdFa','trackPhaseEnd','WqYYv','set','stop\x20tracing','...','\x20--screenshot-path\x20','rangerwright-cli','get','\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.','oQgYq','phase','hook_event_name','commandArgs','slice','\x20open-and-inspect\x20','ouqIP','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','vysGq'];_0xe910=function(){return _0x696877;};return _0xe910();}function formatCommandTarget(_0x5cf4ec){const _0x15b825=_0x3cb2,_0x4b1269={'XQoLv':_0x15b825(0x167),'VoIiK':function(_0x243217,_0x14fbfb,_0x312b87){return _0x243217(_0x14fbfb,_0x312b87);}};if(!_0x5cf4ec)return _0x4b1269[_0x15b825(0x17a)];if(/^e\d+$/i['test'](_0x5cf4ec))return'ref\x20'+_0x5cf4ec;return JSON['stringify'](_0x4b1269[_0x15b825(0x16c)](truncatePreview,_0x5cf4ec,0x78));}function formatRangerwrightCliLog(_0x19022f,_0x4e1e78){const _0x45b8a0=_0x3cb2,_0x1b8d26={'BDeuv':function(_0x5ee91b,_0x5d4cfa,_0x3a0ce7){return _0x5ee91b(_0x5d4cfa,_0x3a0ce7);},'CXmSy':'open\x20and\x20inspect','ApBhu':_0x45b8a0(0x1b0),'sokSd':function(_0x134947,_0x3dfc93){return _0x134947(_0x3dfc93);},'vysGq':function(_0x31df3c,_0x36315b,_0x4509ff){return _0x31df3c(_0x36315b,_0x4509ff);},'bdYzL':'back-and-inspect','NuVHN':'go\x20back\x20and\x20inspect','BTPca':'inspect','cRdFa':'video-stop','uWWNl':_0x45b8a0(0x1a8),'pwsFb':_0x45b8a0(0x15a)};switch(_0x4e1e78){case'open-and-inspect':{const _0x31a4e1=_0x1b8d26['BDeuv'](extractFirstCommandArgument,_0x19022f,_0x4e1e78);return _0x31a4e1?'open\x20and\x20inspect\x20'+_0x31a4e1:_0x1b8d26[_0x45b8a0(0x1b8)];}case'click-and-inspect':return _0x45b8a0(0x18c)+formatCommandTarget(_0x1b8d26[_0x45b8a0(0x175)](extractFirstCommandArgument,_0x19022f,_0x4e1e78));case _0x1b8d26['ApBhu']:case _0x45b8a0(0x16a):return'fill\x20'+_0x1b8d26['sokSd'](formatCommandTarget,_0x1b8d26[_0x45b8a0(0x1a4)](extractFirstCommandArgument,_0x19022f,_0x4e1e78));case _0x1b8d26['bdYzL']:return _0x1b8d26[_0x45b8a0(0x179)];case _0x1b8d26['BTPca']:return _0x45b8a0(0x160);case _0x45b8a0(0x18a):return _0x45b8a0(0x196);case _0x1b8d26[_0x45b8a0(0x192)]:return _0x1b8d26['uWWNl'];case _0x1b8d26[_0x45b8a0(0x190)]:return _0x45b8a0(0x1b3);default:return _0x4e1e78;}}function renderScenarioSections(_0x390feb){const _0x5df8af=_0x3cb2,_0x59c773={'hTBuo':'en-US','dSVkE':_0x5df8af(0x17c),'pgkRP':_0x5df8af(0x173),'OzYmA':_0x5df8af(0x1b5),'moxGx':'element'},{checklistItem:_0x53e739,itemFeedback:_0x4bd9cc}=_0x390feb,_0x13b672=_0x53e739['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x53e739['notes']:'';let _0x568896='';if(_0x4bd9cc&&_0x4bd9cc[_0x5df8af(0x1b6)]['length']>0x0){const _0x2d8779=_0x4bd9cc['unaddressedComments'][_0x5df8af(0x15e)](_0x114fc6=>{const _0x550046=_0x5df8af,_0x18d6db=new Date(_0x114fc6[_0x550046(0x188)])[_0x550046(0x156)](_0x59c773['hTBuo'],{'month':_0x59c773['dSVkE'],'day':_0x59c773['pgkRP']}),_0x3affb3=_0x114fc6[_0x550046(0x180)]||_0x114fc6[_0x550046(0x17f)]||_0x59c773[_0x550046(0x17b)],_0x992771=_0x114fc6[_0x550046(0x181)]?_0x550046(0x18f)+(_0x114fc6[_0x550046(0x181)][_0x550046(0x157)]['split'](_0x550046(0x1a7))['pop']()?.[_0x550046(0x172)](':')[0x0]||_0x59c773['moxGx'])+'>\x20\x22'+(_0x114fc6[_0x550046(0x181)][_0x550046(0x185)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x114fc6['id']+']\x20'+_0x3affb3+'\x20('+_0x18d6db+'):\x20\x22'+_0x114fc6['content']+'\x22'+_0x992771;})['join']('\x0a');_0x568896=_0x5df8af(0x177)+_0x2d8779;}const _0x399522=_0x4bd9cc?.[_0x5df8af(0x16f)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x4bd9cc[_0x5df8af(0x16f)]:'';return''+_0x53e739['description']+_0x13b672+_0x568896+_0x399522;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x45fe01){const _0x523a90=_0x3cb2,_0x37d8c0={'ebNZo':function(_0x5d5802,_0x2daab0){return _0x5d5802(_0x2daab0);},'ouqIP':function(_0x1135c7,_0x3c59f5){return _0x1135c7??_0x3c59f5;},'XXQmw':'about:blank'},{checklistItem:_0x56ab3d,itemFeedback:_0x57936b,taskDescription:_0x389d0f,commandPrefix:_0x4a26a5,isCdpMode:_0x37ca0f,url:_0x162478,cdpEndpoint:_0x12e187,loginInstructions:_0x5212e0}=_0x45fe01,_0x29156d=_0x523a90(0x1b2),_0x1653f9=_0x523a90(0x164),_0x457ef4=_0x37ca0f?_0x4a26a5+'\x20inspect\x20--screenshot-path\x20'+_0x37d8c0['ebNZo'](quoteShellArg,_0x29156d):_0x4a26a5+_0x523a90(0x1a1)+quoteShellArg(_0x37d8c0[_0x523a90(0x1a2)](_0x162478,_0x37d8c0['XXQmw']))+_0x523a90(0x198)+_0x37d8c0[_0x523a90(0x182)](quoteShellArg,_0x29156d),_0x8d8741=_0x37ca0f?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20'+_0x12e187+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':_0x523a90(0x189)+_0x162478+_0x523a90(0x1ac),_0x27b977=_0x5212e0?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x5212e0+_0x523a90(0x1a3):'';return _0x523a90(0x166)+renderScenarioSections({'checklistItem':_0x56ab3d,'itemFeedback':_0x57936b})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x389d0f+'\x0a\x0a'+_0x8d8741+_0x27b977+_0x523a90(0x1a6)+_0x4a26a5+'\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'+_0x457ef4+'\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'+_0x4a26a5+_0x523a90(0x183)+quoteShellArg(_0x1653f9)+_0x523a90(0x19b);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x1157dd){const _0x28aee6=_0x3cb2,_0x5e41fe={'kOVDu':function(_0x110627,_0x393832){return _0x110627(_0x393832);},'ZHrKl':function(_0x50a854,_0x3e49a0){return _0x50a854(_0x3e49a0);},'mVRpO':function(_0x1e0e6e,_0x52ec00){return _0x1e0e6e(_0x52ec00);}},_0x5c4718=_0x28aee6(0x17d),_0x28b126='key_02_learn-more.png';return _0x28aee6(0x1af)+_0x1157dd['commandPrefix']+'\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`'+_0x1157dd[_0x28aee6(0x159)]+_0x28aee6(0x1a1)+_0x5e41fe['kOVDu'](quoteShellArg,_0x1157dd[_0x28aee6(0x1b1)])+'\x20--screenshot-path\x20'+_0x5e41fe['ZHrKl'](quoteShellArg,_0x5c4718)+_0x28aee6(0x1aa)+_0x1157dd['commandPrefix']+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+_0x5e41fe[_0x28aee6(0x18b)](quoteShellArg,_0x28b126)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function extractRangerwrightScreenshotPaths(_0x54f862){const _0x31f00a=_0x3cb2;if(!parseRangerwrightCliCommand(_0x54f862))return[];const _0x517e02=[],_0x2f9825=/--screenshot-path(?:=|\s+)(?:"([^"]*)"|'([^']*)'|(\S+))/g;for(const _0xd7a74a of _0x54f862[_0x31f00a(0x154)](_0x2f9825)){const _0xa8c82e=_0xd7a74a[0x1]??_0xd7a74a[0x2]??_0xd7a74a[0x3]??'',_0x3823a0=_0xa8c82e['startsWith']('./')?_0xa8c82e[_0x31f00a(0x1a0)](0x2):_0xa8c82e;if(!_0x3823a0||_0x3823a0['startsWith']('/'))continue;if(_0x3823a0['split']('/')['some'](_0x5a5be1=>_0x5a5be1==='..'))continue;_0x517e02[_0x31f00a(0x1b4)](_0x3823a0);}return _0x517e02;}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x321687){const _0x454ae1=_0x3cb2,_0x4e3032={'oQgYq':function(_0x2b4817,_0x567daa){return _0x2b4817===_0x567daa;}},_0x5053b8=[..._0x321687[_0x454ae1(0x176)]()]['sort']();let _0x515a34=0x0;for(const _0xfd5377 of _0x321687[_0x454ae1(0x15d)]()){_0x515a34+=_0xfd5377;}return{'cliCommandCount':_0x515a34,'cliCommandsSeen':_0x5053b8,'noCliCommandsCalled':_0x4e3032[_0x454ae1(0x19c)](_0x515a34,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0xd26fd7){const _0x161e4c={'HVeZX':function(_0x28f893,_0x3ff8c8){return _0x28f893!==_0x3ff8c8;},'ZZPPk':'PostToolUse','ANXpf':'Bash','tjVSt':function(_0x11e681,_0x2c7816){return _0x11e681(_0x2c7816);},'vOQzp':function(_0x16f195,_0x797f85){return _0x16f195+_0x797f85;},'LjbNU':'rangerwright_cli_command','WqYYv':'rangerwright_cli_command_failure'},_0x3d3954=new Map(),_0x56c8f7=async _0x4c9672=>{const _0x5722d3=_0x3cb2;if(_0x161e4c[_0x5722d3(0x1ab)](_0x4c9672[_0x5722d3(0x19e)],_0x161e4c[_0x5722d3(0x1ae)]))return{};const _0x38a85f=_0x4c9672;if(_0x38a85f['tool_name']!==_0x161e4c['ANXpf'])return{};const _0x207dee=_0x38a85f[_0x5722d3(0x15c)],_0x318825=_0x161e4c['tjVSt'](extractBashCommand,_0x207dee);if(!_0x318825)return{};const _0x3361b1=_0x161e4c[_0x5722d3(0x17e)](parseRangerwrightCliCommand,_0x318825);if(!_0x3361b1)return{};return _0x3d3954[_0x5722d3(0x195)](_0x3361b1,_0x161e4c[_0x5722d3(0x165)](_0x3d3954[_0x5722d3(0x19a)](_0x3361b1)||0x0,0x1)),_0xd26fd7[_0x5722d3(0x16b)](_0x161e4c['LjbNU'],{'subcommand':_0x3361b1}),_0xd26fd7[_0x5722d3(0x193)](_0x5722d3(0x15b),{'subcommand':_0x3361b1,'commandPreview':truncatePreview(_0x318825)}),console[_0x5722d3(0x187)](_0x5722d3(0x18d)+formatRangerwrightCliLog(_0x318825,_0x3361b1)),{};},_0x1c5f66=async _0x4acb8c=>{const _0x579023=_0x3cb2;if(_0x4acb8c['hook_event_name']!=='PostToolUseFailure')return{};const _0x216e7d=_0x4acb8c;if(_0x216e7d['tool_name']!=='Bash')return{};return await _0xd26fd7['trackPhaseError'](_0x161e4c[_0x579023(0x194)],_0x216e7d[_0x579023(0x158)],{'transport':_0x579023(0x199),'toolName':'Bash'}),{};};return{'postToolUseHook':_0x56c8f7,'postToolUseFailureHook':_0x1c5f66,'commandCounts':_0x3d3954};}async function runRangerwrightLifecycleCommand(_0x43e224){const _0x229b47=_0x3cb2,_0x2e4a9c={'iwITL':function(_0x5cf6fc,_0x7eeda8){return _0x5cf6fc(_0x7eeda8);},'xYSZq':function(_0x17f031,_0x2624e1,_0x29e0fb){return _0x17f031(_0x2624e1,_0x29e0fb);},'HNnWd':function(_0x3cb781,_0x5327cd,_0x55ddda){return _0x3cb781(_0x5327cd,_0x55ddda);}},{options:_0x535720,commandArgs:_0x16aab8,env:_0x2ef56d,telemetry:_0x4dd13b,phase:_0x5f199e,metadata:_0xf0fa29,timeoutMs:_0x5e0108}=_0x43e224;_0x4dd13b['trackPhaseStart'](_0x5f199e,_0xf0fa29);try{const _0x5e90f6=await _0x2e4a9c[_0x229b47(0x1b7)](runRangerwrightCliCommand,{..._0x535720,'commandArgs':_0x16aab8,'cwd':process['cwd'](),'env':_0x2ef56d,'timeoutMs':_0x5e0108??RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0x4dd13b[_0x229b47(0x193)](_0x5f199e,{..._0xf0fa29,'subcommand':_0x5e90f6['invocation'][_0x229b47(0x16e)],'stdoutPreview':_0x2e4a9c[_0x229b47(0x178)](truncatePreview,_0x5e90f6[_0x229b47(0x174)],0x7d0),'stderrPreview':_0x2e4a9c['HNnWd'](truncatePreview,_0x5e90f6['stderr'],0x7d0)});}catch(_0x1efdfc){await _0x4dd13b['trackPhaseError'](_0x5f199e,_0x1efdfc,_0xf0fa29);throw _0x1efdfc;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x586ce8){const _0x575b71=_0x3cb2,_0x56acbc={'Etpxl':'rangerwright_cli_tracing_stop','oMGdN':_0x575b71(0x16d),'GmpNN':_0x575b71(0x18e),'owkUM':_0x575b71(0x186),'cZLia':function(_0x372530,_0x14efef){return _0x372530(_0x14efef);}},{telemetry:_0x4fd47c,rangerwrightOptions:_0x353c06,env:_0x179aea,transportMetadata:_0xb59b8c}=_0x586ce8,_0x3d4cd4=[{'phase':_0x56acbc[_0x575b71(0x170)],'commandArgs':['tracing-stop']},{'phase':_0x56acbc['oMGdN'],'commandArgs':[_0x56acbc[_0x575b71(0x191)]]},{'phase':_0x56acbc[_0x575b71(0x171)],'commandArgs':['close']}];for(const _0x58eee7 of _0x3d4cd4){try{await _0x56acbc[_0x575b71(0x1a9)](runRangerwrightLifecycleCommand,{'options':_0x353c06,'commandArgs':[..._0x58eee7[_0x575b71(0x19f)]],'env':_0x179aea,'telemetry':_0x4fd47c,'phase':_0x58eee7[_0x575b71(0x19d)],'metadata':_0xb59b8c});}catch{}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ranger-testing/ranger-cli",
|
|
3
|
-
"version": "3.1.7-alpha.
|
|
3
|
+
"version": "3.1.7-alpha.e26cd28-63",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ranger": "./build/cli.js",
|
|
@@ -21,12 +21,11 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@anthropic-ai/claude-agent-sdk": "^0.1.0",
|
|
24
|
-
"@playwright/cli": "0.1.
|
|
25
|
-
"@
|
|
26
|
-
"@ranger-testing/rangerwright": "^0.0.32",
|
|
24
|
+
"@playwright/cli": "0.1.1",
|
|
25
|
+
"@ranger-testing/rangerwright": "^0.0.27",
|
|
27
26
|
"dotenv": "^16.4.5",
|
|
28
27
|
"inquirer": "^9.2.12",
|
|
29
|
-
"playwright": "1.
|
|
28
|
+
"playwright": "1.56.1",
|
|
30
29
|
"ws": "^8.20.1",
|
|
31
30
|
"yargs": "^17.7.2",
|
|
32
31
|
"zod": "^3.23.8"
|
|
@@ -46,14 +45,6 @@
|
|
|
46
45
|
"brace-expansion": "^5.0.6",
|
|
47
46
|
"fast-uri": "3.1.2",
|
|
48
47
|
"@babel/core": "^7.29.6",
|
|
49
|
-
"js-yaml": "^4.2.0"
|
|
50
|
-
"@playwright/cli": {
|
|
51
|
-
"playwright": "1.60.0",
|
|
52
|
-
"playwright-core": "1.60.0"
|
|
53
|
-
},
|
|
54
|
-
"@playwright/mcp": {
|
|
55
|
-
"playwright": "1.60.0",
|
|
56
|
-
"playwright-core": "1.60.0"
|
|
57
|
-
}
|
|
48
|
+
"js-yaml": "^4.2.0"
|
|
58
49
|
}
|
|
59
50
|
}
|