@ranger-testing/ranger-cli 3.1.4-alpha.fb796e7-45 → 3.1.4-alpha.ffeeafe-46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -0
- 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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x113bee,_0x6ee006){const _0x4cc655=_0x6ed2,_0x136962=_0x113bee();while(!![]){try{const _0x380f77=parseInt(_0x4cc655(0xe3))/0x1*(-parseInt(_0x4cc655(0xd3))/0x2)+-parseInt(_0x4cc655(0xca))/0x3+-parseInt(_0x4cc655(0xb1))/0x4+-parseInt(_0x4cc655(0xc1))/0x5+-parseInt(_0x4cc655(0x110))/0x6*(-parseInt(_0x4cc655(0x8d))/0x7)+parseInt(_0x4cc655(0x91))/0x8+parseInt(_0x4cc655(0xe4))/0x9;if(_0x380f77===_0x6ee006)break;else _0x136962['push'](_0x136962['shift']());}catch(_0x141d5d){_0x136962['push'](_0x136962['shift']());}}}(_0xadf9,0xb0640));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(_0x2b278d,_0x1baf62=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x5ca957=_0x6ed2,_0x3d785a={'CXWtE':function(_0x1ef047,_0x55d6e2){return _0x1ef047>_0x55d6e2;},'JMMfS':function(_0x500649,_0x5198df){return _0x500649+_0x5198df;},'iIkTh':_0x5ca957(0xd7)};return _0x3d785a['CXWtE'](_0x2b278d['length'],_0x1baf62)?_0x3d785a['JMMfS'](_0x2b278d[_0x5ca957(0xc0)](0x0,_0x1baf62),_0x3d785a['iIkTh']):_0x2b278d;}function buildCliArtifactPath(_0x24c1b5,_0x35665f){const _0xada84b=_0x6ed2,_0x541f06={'erOKt':function(_0x5506f5,_0x242da2,_0x464d1e){return _0x5506f5(_0x242da2,_0x464d1e);}};return _0x541f06[_0xada84b(0x10c)](join,_0x24c1b5,_0x35665f);}function toStepDisplayName(_0xc03acd){const _0xaf33b7=_0x6ed2,_0x1bbee8={'JFJit':function(_0x221efa,_0x584130){return _0x221efa(_0x584130);}},_0x3cccfe=_0x1bbee8[_0xaf33b7(0x94)](basename,_0xc03acd)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0xaf33b7(0x118)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x3cccfe,'isKeyStep':/^key_/i['test'](_0x1bbee8['JFJit'](basename,_0xc03acd))};}function extractShellValue(_0xe5fa2f){if(!_0xe5fa2f)return null;return _0xe5fa2f[0x1]??_0xe5fa2f[0x2]??_0xe5fa2f[0x3]??null;}function extractFilenameOption(_0x316680){const _0x3ad46b=_0x6ed2,_0x21adff={'HrVZd':function(_0x2e3a18,_0x4d4417){return _0x2e3a18(_0x4d4417);}};return _0x21adff[_0x3ad46b(0xd1)](extractShellValue,_0x316680[_0x3ad46b(0xec)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x5b4bca,_0x5c8b4e){const _0x470f19=_0x6ed2,_0x2de9ea={'bxEWv':_0x470f19(0x106)},_0x1d4814=_0x5c8b4e[_0x470f19(0x118)](/[.*+?^${}()|[\]\\]/g,_0x2de9ea[_0x470f19(0xfd)]);return extractShellValue(_0x5b4bca['match'](new RegExp('(?:^|\x5cs)'+_0x1d4814+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function formatCommandTarget(_0x3e58e3){const _0x9045e5=_0x6ed2,_0x33e3a7={'bebZT':function(_0x1f4138,_0x347c9b,_0x597ef9){return _0x1f4138(_0x347c9b,_0x597ef9);}};if(!_0x3e58e3)return _0x9045e5(0xaf);if(/^e\d+$/i[_0x9045e5(0xf1)](_0x3e58e3))return'ref\x20'+_0x3e58e3;return JSON[_0x9045e5(0x8c)](_0x33e3a7[_0x9045e5(0x115)](truncatePreview,_0x3e58e3,0x78));}function formatPlaywrightCliLog(_0x59e526,_0x2e28b0){const _0x2ee5f1=_0x6ed2,_0x4166ec={'xazmL':_0x2ee5f1(0x107),'FpeCb':function(_0x512a52,_0x14122c,_0x54e86a){return _0x512a52(_0x14122c,_0x54e86a);},'PMjph':'open\x20browser','wwvDG':'stop\x20tracing','XgsRY':'video-start','fQrei':_0x2ee5f1(0xc5),'ztPQG':function(_0x101472,_0x147e1b){return _0x101472(_0x147e1b);},'ntJns':_0x2ee5f1(0x98),'VKfyg':function(_0x5384f3,_0x51c6c1){return _0x5384f3(_0x51c6c1);},'zbgJW':function(_0xed4c7a,_0x4910f1){return _0xed4c7a(_0x4910f1);},'jOtWy':function(_0x437eb6,_0x5d1850,_0x33d471){return _0x437eb6(_0x5d1850,_0x33d471);},'jWdxA':'tab-new','jhhip':function(_0x47d312,_0x13d635,_0x5a647e){return _0x47d312(_0x13d635,_0x5a647e);},'JzxqY':_0x2ee5f1(0xb9),'HjOnu':function(_0x15d06d,_0x385c02,_0x256f5c){return _0x15d06d(_0x385c02,_0x256f5c);},'swAXb':'select\x20tab'};switch(_0x2e28b0){case _0x4166ec['xazmL']:{const _0x120fc8=_0x4166ec['FpeCb'](extractFirstCommandArgument,_0x59e526,_0x2e28b0);return _0x120fc8?_0x2ee5f1(0x113)+_0x120fc8:_0x4166ec['PMjph'];}case'tracing-start':return _0x2ee5f1(0xa5);case'tracing-stop':return _0x4166ec[_0x2ee5f1(0xb7)];case _0x4166ec[_0x2ee5f1(0x89)]:return'start\x20video\x20recording';case'video-stop':return _0x4166ec['fQrei'];case _0x2ee5f1(0xed):{const _0x2133b5=extractFilenameOption(_0x59e526);if(!_0x2133b5)return'capture\x20snapshot';const {name:_0x312bc5}=_0x4166ec['ztPQG'](toStepDisplayName,_0x2133b5);return'capture\x20snapshot\x20`'+_0x312bc5+'`';}case _0x4166ec[_0x2ee5f1(0xcd)]:{const _0x17b25e=extractFilenameOption(_0x59e526);if(!_0x17b25e)return'capture\x20screenshot';const {name:_0x4ab7ee,isKeyStep:_0x42efcc}=_0x4166ec[_0x2ee5f1(0xee)](toStepDisplayName,_0x17b25e);return _0x42efcc?_0x2ee5f1(0x10e)+_0x4ab7ee+'`':_0x2ee5f1(0xdd)+_0x4ab7ee+'`';}case _0x2ee5f1(0xcb):return'click\x20'+formatCommandTarget(extractFirstCommandArgument(_0x59e526,_0x2e28b0));case'check':return _0x2ee5f1(0x9f)+_0x4166ec['ztPQG'](formatCommandTarget,extractFirstCommandArgument(_0x59e526,_0x2e28b0));case'fill':return _0x2ee5f1(0x88)+formatCommandTarget(extractFirstCommandArgument(_0x59e526,_0x2e28b0));case'press':return'press\x20'+_0x4166ec[_0x2ee5f1(0x97)](formatCommandTarget,_0x4166ec['jOtWy'](extractFirstCommandArgument,_0x59e526,_0x2e28b0));case'run-code':return'run\x20custom\x20Playwright\x20code';case _0x4166ec['jWdxA']:{const _0x3b76bd=_0x4166ec['jhhip'](extractFirstCommandArgument,_0x59e526,_0x2e28b0);return _0x3b76bd?_0x2ee5f1(0xb0)+_0x3b76bd:_0x2ee5f1(0xfc);}case _0x4166ec['JzxqY']:{const _0x38307f=_0x4166ec[_0x2ee5f1(0xb8)](extractFirstCommandArgument,_0x59e526,_0x2e28b0);return _0x38307f?'select\x20tab\x20'+_0x38307f:_0x4166ec['swAXb'];}default:return _0x2e28b0;}}function _0xadf9(){const _0x5d1231=['capture\x20step\x20`','keys','tool_call','trim','\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','trackPhaseStart','151909LaHYjo','24938433apnKTF','key_04_success-state.png','QxToR','trace.trace.zip','ZFmTn','`\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`','cmuHS','02_learn-more.yml','match','snapshot','VKfyg','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','en-US','test','\x0a\x0a1.\x20Run\x20`','session-recording.webm','\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.','`\x20and\x20read\x20the\x20snapshot\x20file\x20to\x20inspect\x20the\x20page.\x0a5.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding.**\x0a6.\x20Execute\x20the\x20task\x20step-by-step\x20with\x20Playwright\x20CLI\x20commands.\x0a7.\x20Use\x20`','\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','mtimeMs','\x20tracing-start`,\x20then\x20`','content','CReSy','notes','open\x20new\x20tab','bxEWv','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`','name','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','createdAt','MlgMW','\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','playwright_cli_tracing_stop','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','\x5c$&','open','tool_name','playwright-cli','get','`\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`','erOKt','string','capture\x20key\x20step\x20`','\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`','24QOScio','\x20snapshot\x20--filename\x20','selector','open\x20','element','bebZT','PBJQy','01_initial-state.png','replace','kqAdM','fill\x20','XgsRY','description','stdout','stringify','59752paqmhC','subcommand','video-stop','numeric','362472yqXsKS','DEBUG','`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','JFJit','stderr','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','zbgJW','screenshot','IbgMl','trackPhaseEnd','xcyIO','split','dlKxT','`\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','check\x20','):\x20\x22','mlFpM','\x20screenshot\x20--filename\x20','tracing-stop','`:\x20\x22','start\x20tracing','gLzKE','ELsMx','00_mozilla-homepage.yml','ZmZeY','\x20open\x20','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','tOsBM','trackPhaseError','`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`','target','open\x20new\x20tab\x20','2400420uBoRtT','key_03_success-state.png','03_learn-more.png','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a','kvJWj','AZwez','wwvDG','HjOnu','tab-select','hook_event_name','`,\x20then\x20`','##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','wIhhZ','\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','Bash','slice','4880965iSspFD','03_result-visible.png','\x22,\x20\x22','[ranger-verification-agent]\x20','stop\x20video\x20recording','\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',']\x20**','cwd','baXyO','1199061EGTXqE','click','length','ntJns','\x0a\x0a##\x20Additional\x20Notes\x0a','\x20(on\x20element:\x20<','**\x20(','HrVZd','RbYyD','2qznNRt','error','domRef','\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','...','Reviewer','UXdHf','unaddressedComments','phase','PostToolUse'];_0xadf9=function(){return _0x5d1231;};return _0xadf9();}function extractPlaywrightCliToolDescription(_0x3b5df4){const _0x2390cc=_0x6ed2,_0x1ab470={'AZwez':function(_0xabedb0,_0x110451){return _0xabedb0>_0x110451;}},_0x2dd454=_0x3b5df4[_0x2390cc(0x8a)];if(typeof _0x2dd454!==_0x2390cc(0x10d))return null;const _0x21c7e1=_0x2dd454[_0x2390cc(0xe0)]()['replace'](/\s+/g,'\x20');return _0x1ab470[_0x2390cc(0xb6)](_0x21c7e1['length'],0x0)?_0x21c7e1:null;}export function formatPlaywrightCliConsoleLogMessage(_0x22095a,_0x40760b,_0x324931){const _0x88ea86=_0x6ed2,_0x3f8e7e={'ELsMx':function(_0xac7a6d,_0x3c2d6e){return _0xac7a6d(_0x3c2d6e);}},_0x48350e=formatPlaywrightCliLog(_0x40760b,_0x324931),_0x7386d=_0x3f8e7e[_0x88ea86(0xa7)](extractPlaywrightCliToolDescription,_0x22095a);if(!_0x7386d)return'[playwright-cli]\x20'+_0x48350e;if(process['env'][_0x88ea86(0x92)])return _0x88ea86(0xc4)+_0x7386d+'\x20('+_0x48350e+')';return _0x88ea86(0xc4)+_0x7386d;}export function buildVerifyFeatureCliDebugPrompt(_0x57f81e,_0x171758){const _0x43e7d9=_0x6ed2,_0x8cfbe7={'dlKxT':'01_mozilla-homepage.png','CmqHQ':_0x43e7d9(0xeb),'ETWiT':function(_0x3e0131,_0x12e290,_0x873a73){return _0x3e0131(_0x12e290,_0x873a73);},'baXyO':_0x43e7d9(0xb3),'QxToR':function(_0x21e38f,_0x4566d4){return _0x21e38f(_0x4566d4);},'uthmk':function(_0x15c66c,_0x70b1fa){return _0x15c66c(_0x70b1fa);}},_0x157f85=buildCliArtifactPath(_0x171758,_0x43e7d9(0xa8)),_0x378b23=buildCliArtifactPath(_0x171758,_0x8cfbe7[_0x43e7d9(0x9d)]),_0x25bb58=buildCliArtifactPath(_0x171758,_0x8cfbe7['CmqHQ']),_0x3051e1=_0x8cfbe7['ETWiT'](buildCliArtifactPath,_0x171758,_0x8cfbe7[_0x43e7d9(0xc9)]),_0xc47ee4=_0x8cfbe7[_0x43e7d9(0xe6)](quoteShellArg,_0x157f85),_0x29a8dd=_0x8cfbe7['QxToR'](quoteShellArg,_0x378b23),_0x5f3d90=_0x8cfbe7['uthmk'](quoteShellArg,_0x25bb58),_0x103308=quoteShellArg(_0x3051e1);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x57f81e+_0x43e7d9(0xf2)+_0x57f81e+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x57f81e+'\x20tracing-start`\x0a3.\x20Run\x20`'+_0x57f81e+_0x43e7d9(0xf6)+_0x171758+_0x43e7d9(0xfe)+_0x57f81e+_0x43e7d9(0x111)+_0xc47ee4+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x57f81e+_0x43e7d9(0xa2)+_0x29a8dd+'`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`'+_0x57f81e+'\x20snapshot\x20--filename\x20'+_0x5f3d90+'`\x0a9.\x20Run\x20`'+_0x57f81e+'\x20screenshot\x20--filename\x20'+_0x103308+_0x43e7d9(0x93);}export function buildVerifyFeatureCliPrompt(_0x46fd7f){const _0x359a5c=_0x6ed2,_0x214d28={'PBJQy':'short','ZUptj':'\x20>\x20','IbgMl':function(_0x2a0371,_0x1d6ab1,_0x57774f){return _0x2a0371(_0x1d6ab1,_0x57774f);},'RbYyD':function(_0x5c8564,_0x1ac9c5,_0x1fbdde){return _0x5c8564(_0x1ac9c5,_0x1fbdde);},'UXdHf':_0x359a5c(0x117),'kqAdM':function(_0x275be0,_0x28bbb1){return _0x275be0(_0x28bbb1);},'TsCtx':function(_0x33ba4a,_0x3171d6){return _0x33ba4a(_0x3171d6);},'YBAvK':function(_0x102f66,_0x86ad7){return _0x102f66(_0x86ad7);},'thcQf':function(_0x413042,_0xe7bd9f,_0x49c626){return _0x413042(_0xe7bd9f,_0x49c626);}},{checklistItem:_0xbbba9e,itemFeedback:_0x2dc928,taskDescription:_0x14ab4f,cliCommandPrefix:_0x3bb8a6,cliArtifactDir:_0x4a6776,isCdpMode:_0x18ad03,url:_0x20135a,cdpEndpoint:_0x50f73e,loginInstructions:_0xd29029}=_0x46fd7f,_0x11e410=_0x214d28[_0x359a5c(0x99)](buildCliArtifactPath,_0x4a6776,'01_initial.yml'),_0x5d3de9=buildCliArtifactPath(_0x4a6776,'02_state.yml'),_0x52344c=buildCliArtifactPath(_0x4a6776,_0x359a5c(0xb2)),_0x48d6c0=_0x214d28[_0x359a5c(0xd2)](buildCliArtifactPath,_0x4a6776,_0x214d28[_0x359a5c(0xd9)]),_0x2436b7=quoteShellArg(_0x11e410),_0x3ff527=_0x214d28[_0x359a5c(0x87)](quoteShellArg,_0x5d3de9),_0x1b3672=quoteShellArg(_0x52344c),_0x1c5064=_0x214d28['TsCtx'](quoteShellArg,_0x48d6c0),_0x4e42bc=_0xbbba9e['notes']?_0x359a5c(0xce)+_0xbbba9e[_0x359a5c(0xfb)]:'';let _0x1e1500='';if(_0x2dc928&&_0x2dc928[_0x359a5c(0xda)][_0x359a5c(0xcc)]>0x0){const _0x3e1f56=_0x2dc928[_0x359a5c(0xda)]['map'](_0x51cf4a=>{const _0x47699f=_0x359a5c,_0x48faec=new Date(_0x51cf4a[_0x47699f(0x101)])['toLocaleDateString'](_0x47699f(0xf0),{'month':_0x214d28[_0x47699f(0x116)],'day':_0x47699f(0x90)}),_0x3bd10c=_0x51cf4a['authorName']||_0x51cf4a['authorEmail']||_0x47699f(0xd8),_0x23c9d9=_0x51cf4a[_0x47699f(0xd5)]?_0x47699f(0xcf)+(_0x51cf4a['domRef'][_0x47699f(0x112)][_0x47699f(0x9c)](_0x214d28['ZUptj'])['pop']()?.[_0x47699f(0x9c)](':')[0x0]||_0x47699f(0x114))+'>\x20\x22'+(_0x51cf4a['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x51cf4a['id']+_0x47699f(0xc7)+_0x3bd10c+_0x47699f(0xd0)+_0x48faec+_0x47699f(0xa0)+_0x51cf4a[_0x47699f(0xf9)]+'\x22'+_0x23c9d9;})['join']('\x0a');_0x1e1500=_0x359a5c(0xbe)+_0x3e1f56;}const _0xc87098=_0x2dc928?.['canonicalFlow']?_0x359a5c(0x96)+_0x2dc928['canonicalFlow']:'',_0x360813=_0x18ad03?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x50f73e+_0x359a5c(0x105):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x20135a+_0x359a5c(0x103),_0x2b73d4=_0x20135a?_0x214d28['YBAvK'](quoteShellArg,_0x20135a):'',_0x4bf91e=_0x18ad03?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x3bb8a6+'\x20open`,\x20then\x20`'+_0x3bb8a6+'\x20tracing-start`,\x20then\x20`'+_0x3bb8a6+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x4a6776+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x3bb8a6+_0x359a5c(0x111)+_0x2436b7+_0x359a5c(0xe9)+_0x3bb8a6+_0x359a5c(0xa2)+_0x1c5064+'`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`'+_0x3bb8a6+_0x359a5c(0xd6):_0x359a5c(0xbc)+_0x3bb8a6+_0x359a5c(0xaa)+_0x2b73d4+_0x359a5c(0xbb)+_0x3bb8a6+_0x359a5c(0xf8)+_0x3bb8a6+_0x359a5c(0x10f)+_0x4a6776+_0x359a5c(0xef)+_0x3bb8a6+_0x359a5c(0x111)+_0x2436b7+_0x359a5c(0xf5)+_0x3bb8a6+'\x20screenshot\x20--filename\x20'+_0x1c5064+_0x359a5c(0x100)+_0x3bb8a6+_0x359a5c(0xc6),_0x559911=_0x18ad03?_0x359a5c(0xf4):'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a-\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.',_0x4451a0=_0xd29029?_0x359a5c(0xb4)+_0xd29029+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return'You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a'+_0xbbba9e['description']+_0x4e42bc+_0x1e1500+_0xc87098+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x14ab4f+'\x0a\x0a'+_0x360813+_0x4451a0+'\x0a\x0a'+_0x4bf91e+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x3bb8a6+_0x359a5c(0xae)+_0x4a6776+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x3ff527+_0x359a5c(0x9e)+_0x1b3672+_0x359a5c(0x10b)+_0x4a6776+_0x359a5c(0xa4)+_0x48d6c0+_0x359a5c(0xc3)+buildCliArtifactPath(_0x4a6776,'02_button-clicked.png')+'\x22,\x20\x22'+_0x214d28['thcQf'](buildCliArtifactPath,_0x4a6776,_0x359a5c(0xc2))+_0x359a5c(0xe1)+buildCliArtifactPath(_0x4a6776,_0x359a5c(0xe5))+'\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'+_0x559911+_0x359a5c(0xab);}export function summarizeVerifyFeatureCliCommandAvailability(_0x289f9d){const _0x434e36=_0x6ed2,_0x3ecaa6=[..._0x289f9d[_0x434e36(0xde)]()]['sort']();let _0x20e0dd=0x0;for(const _0x2b6d04 of _0x289f9d['values']()){_0x20e0dd+=_0x2b6d04;}return{'cliCommandCount':_0x20e0dd,'cliCommandsSeen':_0x3ecaa6,'noCliCommandsCalled':_0x20e0dd===0x0};}export function createVerifyFeatureCliHooks(_0x4e032d){const _0x461ad4=_0x6ed2,_0x4ad117={'gLzKE':function(_0x2193d3,_0x559a0b){return _0x2193d3!==_0x559a0b;},'ZmZeY':_0x461ad4(0xbf),'fxUbu':function(_0x121aee,_0x4fe749){return _0x121aee(_0x4fe749);},'AvfjU':function(_0x332122,_0x532fba){return _0x332122+_0x532fba;},'tOsBM':'tool_call','cmuHS':_0x461ad4(0x109),'xcyIO':function(_0xdd23b5,_0x3a5ac3,_0x478375,_0x3624f3){return _0xdd23b5(_0x3a5ac3,_0x478375,_0x3624f3);},'CReSy':'tool_failure'},_0x584498=new Map(),_0x3650f6=async _0x11d729=>{const _0x2b024a=_0x461ad4;if(_0x11d729['hook_event_name']!==_0x2b024a(0xdc))return{};const _0x340145=_0x11d729;if(_0x4ad117[_0x2b024a(0xa6)](_0x340145[_0x2b024a(0x108)],_0x4ad117['ZmZeY']))return{};const _0x1b34b2=_0x340145['tool_input'],_0x46d0da=_0x4ad117['fxUbu'](extractBashCommand,_0x1b34b2);if(!_0x46d0da)return{};const _0x1a9e78=parsePlaywrightCliCommand(_0x46d0da);if(!_0x1a9e78)return{};return _0x584498['set'](_0x1a9e78,_0x4ad117['AvfjU'](_0x584498[_0x2b024a(0x10a)](_0x1a9e78)||0x0,0x1)),_0x4e032d[_0x2b024a(0xe2)](_0x2b024a(0xdf),{'transport':'playwright-cli','toolName':_0x1a9e78}),_0x4e032d[_0x2b024a(0x9a)](_0x4ad117[_0x2b024a(0xac)],{'transport':_0x4ad117[_0x2b024a(0xea)],'toolName':_0x1a9e78,'bashCommandPreview':truncatePreview(_0x46d0da)}),_0x1a9e78!==_0x2b024a(0xed)&&console['log'](_0x4ad117[_0x2b024a(0x9b)](formatPlaywrightCliConsoleLogMessage,_0x1b34b2,_0x46d0da,_0x1a9e78)),{};},_0x1940be=async _0x5a74d1=>{const _0x53d355=_0x461ad4;if(_0x4ad117['gLzKE'](_0x5a74d1[_0x53d355(0xba)],'PostToolUseFailure'))return{};const _0x5f4874=_0x5a74d1;if(_0x4ad117['gLzKE'](_0x5f4874[_0x53d355(0x108)],_0x53d355(0xbf)))return{};return await _0x4e032d['trackPhaseError'](_0x4ad117[_0x53d355(0xfa)],_0x5f4874[_0x53d355(0xd4)],{'transport':_0x4ad117[_0x53d355(0xea)],'toolName':_0x4ad117[_0x53d355(0xa9)]}),{};};return{'postToolUseHook':_0x3650f6,'postToolUseFailureHook':_0x1940be,'commandCounts':_0x584498};}async function runPlaywrightCliLifecycleCommand(_0x1c831a){const _0x39ab57=_0x6ed2,_0x5b4645={'wIhhZ':function(_0x2d81f5,_0x159cd1){return _0x2d81f5(_0x159cd1);},'mlFpM':function(_0x54ed46,_0x2e5734){return _0x54ed46??_0x2e5734;},'IiYez':function(_0x16fd19,_0x54e597,_0x2c3622){return _0x16fd19(_0x54e597,_0x2c3622);}},{sessionId:_0x88da8,configPath:_0x2aa4a5,commandArgs:_0x231e74,env:_0x2cdce8,telemetry:_0x527923,phase:_0x1494d7,metadata:_0x818f6f,timeoutMs:_0x4f850a}=_0x1c831a;_0x527923['trackPhaseStart'](_0x1494d7,_0x818f6f);try{const _0x3475e1=await _0x5b4645[_0x39ab57(0xbd)](runPlaywrightCliCommand,{'sessionId':_0x88da8,'configPath':_0x2aa4a5,'commandArgs':_0x231e74,'cwd':process[_0x39ab57(0xc8)](),'env':_0x2cdce8,'timeoutMs':_0x5b4645[_0x39ab57(0xa1)](_0x4f850a,PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x527923['trackPhaseEnd'](_0x1494d7,{..._0x818f6f,'subcommand':_0x3475e1['invocation'][_0x39ab57(0x8e)],'stdoutPreview':_0x5b4645['IiYez'](truncatePreview,_0x3475e1[_0x39ab57(0x8b)],0x7d0),'stderrPreview':_0x5b4645['IiYez'](truncatePreview,_0x3475e1[_0x39ab57(0x95)],0x7d0)});}catch(_0x2b3390){await _0x527923[_0x39ab57(0xad)](_0x1494d7,_0x2b3390,_0x818f6f);throw _0x2b3390;}}function _0x6ed2(_0x21dfb2,_0x228301){_0x21dfb2=_0x21dfb2-0x87;const _0xadf989=_0xadf9();let _0x6ed21a=_0xadf989[_0x21dfb2];return _0x6ed21a;}export async function finalizeVerifyFeatureCliSession(_0x5254e2){const _0x5db244=_0x6ed2,_0x3c1bee={'OrJlq':_0x5db244(0x104),'basUi':'playwright_cli_video_stop','aObGU':_0x5db244(0x8f),'MlgMW':'playwright_cli_close'},{telemetry:_0x325a14,sessionId:_0x130ec7,configPath:_0x1c4452,cliArtifactDir:_0x33912f,env:_0x499a65,transportMetadata:_0x21c641}=_0x5254e2,_0x3b7150=[{'phase':_0x3c1bee['OrJlq'],'commandArgs':[_0x5db244(0xa3)]},{'phase':_0x3c1bee['basUi'],'commandArgs':[_0x3c1bee['aObGU'],'--filename='+buildCliArtifactPath(_0x33912f,_0x5db244(0xf3))]},{'phase':_0x3c1bee[_0x5db244(0x102)],'commandArgs':['close']}];for(const _0x594513 of _0x3b7150){try{await runPlaywrightCliLifecycleCommand({'sessionId':_0x130ec7,'configPath':_0x1c4452,'commandArgs':[..._0x594513['commandArgs']],'env':_0x499a65,'telemetry':_0x325a14,'phase':_0x594513[_0x5db244(0xdb)],'metadata':_0x21c641});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x142bc6){const _0x433795=_0x6ed2,_0x1e2e25={'lfKEh':_0x433795(0xe7),'kvJWj':function(_0x4b47c9,_0x22b608){return _0x4b47c9(_0x22b608);}},_0x2511b7=['trace.zip',_0x1e2e25['lfKEh']];for(const _0x4c32e8 of _0x2511b7){const _0x18346c=join(_0x142bc6,_0x4c32e8);try{return{'buffer':await _0x1e2e25[_0x433795(0xb5)](readFile,_0x18346c),'source':_0x18346c};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0x44c0cb){const _0x15d8ca=_0x6ed2,_0xd14862={'ZFmTn':function(_0x4290e1,_0x3cd115,_0x38840f){return _0x4290e1(_0x3cd115,_0x38840f);},'SXZAZ':function(_0x11284d,_0x4a3d46){return _0x11284d(_0x4a3d46);}},{cwd:_0x13ea0c,cliArtifactDir:_0xd358df,startTime:_0x163308}=_0x44c0cb,_0x309b6e=[];await mkdir(_0xd358df,{'recursive':!![]});const _0x23e1c6=await readdir(_0x13ea0c,{'withFileTypes':!![]});for(const _0x29c258 of _0x23e1c6){if(!_0x29c258['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x29c258[_0x15d8ca(0xff)]))continue;const _0x35e409=_0xd14862[_0x15d8ca(0xe8)](join,_0x13ea0c,_0x29c258['name']),_0x35b75f=await _0xd14862['SXZAZ'](stat,_0x35e409);if(_0x35b75f[_0x15d8ca(0xf7)]+0x7d0<_0x163308)continue;const _0xbd578e=buildCliArtifactPath(_0xd358df,_0x29c258[_0x15d8ca(0xff)]);if(_0x35e409===_0xbd578e)continue;await rename(_0x35e409,_0xbd578e),_0x309b6e['push'](_0x29c258[_0x15d8ca(0xff)]);}return _0x309b6e['sort']();}
|
|
1
|
+
(function(_0x10dbe5,_0x268f94){const _0xfb8d92=_0x2dbb,_0x1332de=_0x10dbe5();while(!![]){try{const _0x14fda7=-parseInt(_0xfb8d92(0xd6))/0x1*(parseInt(_0xfb8d92(0x104))/0x2)+-parseInt(_0xfb8d92(0xfa))/0x3*(parseInt(_0xfb8d92(0xe8))/0x4)+parseInt(_0xfb8d92(0xec))/0x5*(-parseInt(_0xfb8d92(0x115))/0x6)+-parseInt(_0xfb8d92(0xc0))/0x7*(parseInt(_0xfb8d92(0x124))/0x8)+parseInt(_0xfb8d92(0xe5))/0x9+-parseInt(_0xfb8d92(0xfb))/0xa+-parseInt(_0xfb8d92(0xb7))/0xb*(-parseInt(_0xfb8d92(0x12a))/0xc);if(_0x14fda7===_0x268f94)break;else _0x1332de['push'](_0x1332de['shift']());}catch(_0x3e71f8){_0x1332de['push'](_0x1332de['shift']());}}}(_0x4820,0x43858));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(_0x3c7c0c,_0x2c3248=PLAYWRIGHT_CLI_PREVIEW_LIMIT){const _0x174fe5=_0x2dbb,_0x1c178a={'yeden':function(_0x3b8575,_0x3cd8b2){return _0x3b8575+_0x3cd8b2;}};return _0x3c7c0c[_0x174fe5(0xcf)]>_0x2c3248?_0x1c178a['yeden'](_0x3c7c0c[_0x174fe5(0xba)](0x0,_0x2c3248),'...'):_0x3c7c0c;}function buildCliArtifactPath(_0x5bf586,_0x96859a){return join(_0x5bf586,_0x96859a);}function toStepDisplayName(_0x22ce0a){const _0x2ec69a=_0x2dbb,_0x5e92b8={'pZokJ':function(_0x8346d2,_0x5d6680){return _0x8346d2(_0x5d6680);},'aCyEu':function(_0x2c8141,_0x1127c4){return _0x2c8141(_0x1127c4);}},_0x1710ed=_0x5e92b8[_0x2ec69a(0x121)](basename,_0x22ce0a)[_0x2ec69a(0xce)](/\.(?:png|ya?ml)$/i,'')[_0x2ec69a(0xce)](/^key_/i,'')[_0x2ec69a(0xce)](/^\d+_/,'')[_0x2ec69a(0xce)](/-/g,'\x20');return{'name':_0x1710ed,'isKeyStep':/^key_/i[_0x2ec69a(0xda)](_0x5e92b8['aCyEu'](basename,_0x22ce0a))};}function extractShellValue(_0x139ff1){if(!_0x139ff1)return null;return _0x139ff1[0x1]??_0x139ff1[0x2]??_0x139ff1[0x3]??null;}function extractFilenameOption(_0x1dadba){const _0x1e99b4=_0x2dbb;return extractShellValue(_0x1dadba[_0x1e99b4(0xaf)](/--filename(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function extractFirstCommandArgument(_0x546221,_0x1c77d1){const _0x49da55=_0x2dbb,_0x46af28={'WNAMf':function(_0x1b4a5b,_0x55a977){return _0x1b4a5b(_0x55a977);}},_0x53622a=_0x1c77d1[_0x49da55(0xce)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x46af28[_0x49da55(0xf3)](extractShellValue,_0x546221['match'](new RegExp('(?:^|\x5cs)'+_0x53622a+'(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))')));}function _0x2dbb(_0x2c3c48,_0x48435d){_0x2c3c48=_0x2c3c48-0xae;const _0x4820ce=_0x4820();let _0x2dbb5e=_0x4820ce[_0x2c3c48];return _0x2dbb5e;}function formatCommandTarget(_0x1b8e3d){const _0x4e3afd=_0x2dbb;if(!_0x1b8e3d)return _0x4e3afd(0xbc);if(/^e\d+$/i[_0x4e3afd(0xda)](_0x1b8e3d))return'ref\x20'+_0x1b8e3d;return JSON[_0x4e3afd(0x10d)](truncatePreview(_0x1b8e3d,0x78));}function formatPlaywrightCliLog(_0x572554,_0x33cc37){const _0x54ebf4=_0x2dbb,_0xc94714={'UREsC':'open','qeGlj':function(_0x1dbd49,_0x1c6cbc,_0x249f11){return _0x1dbd49(_0x1c6cbc,_0x249f11);},'ltHUX':_0x54ebf4(0xd3),'zvClc':'stop\x20tracing','xKxcD':_0x54ebf4(0x11b),'IoIWB':'video-stop','oHBxF':function(_0x33640f,_0x4a5771){return _0x33640f(_0x4a5771);},'wzGEV':function(_0x160e14,_0x3c197f){return _0x160e14(_0x3c197f);},'lgruM':function(_0xfba460,_0x103e4f,_0x2b1e07){return _0xfba460(_0x103e4f,_0x2b1e07);},'ngQHu':'check','ucRob':'fill','ALiEC':function(_0x28c955,_0x35eb8b){return _0x28c955(_0x35eb8b);},'OMnEK':function(_0x15de2d,_0x12badb){return _0x15de2d(_0x12badb);},'UyaZY':'tab-new'};switch(_0x33cc37){case _0xc94714[_0x54ebf4(0xed)]:{const _0x23dd80=_0xc94714[_0x54ebf4(0xe1)](extractFirstCommandArgument,_0x572554,_0x33cc37);return _0x23dd80?'open\x20'+_0x23dd80:_0x54ebf4(0xae);}case _0x54ebf4(0xd4):return'start\x20tracing';case _0xc94714['ltHUX']:return _0xc94714['zvClc'];case _0xc94714['xKxcD']:return'start\x20video\x20recording';case _0xc94714['IoIWB']:return _0x54ebf4(0x10e);case'snapshot':{const _0x3898ab=_0xc94714[_0x54ebf4(0xc7)](extractFilenameOption,_0x572554);if(!_0x3898ab)return'capture\x20snapshot';const {name:_0x4c8d93}=_0xc94714['oHBxF'](toStepDisplayName,_0x3898ab);return'capture\x20snapshot\x20`'+_0x4c8d93+'`';}case _0x54ebf4(0x12b):{const _0x1f549f=_0xc94714['wzGEV'](extractFilenameOption,_0x572554);if(!_0x1f549f)return _0x54ebf4(0x123);const {name:_0x4774fb,isKeyStep:_0x2c9169}=toStepDisplayName(_0x1f549f);return _0x2c9169?'capture\x20key\x20step\x20`'+_0x4774fb+'`':_0x54ebf4(0xff)+_0x4774fb+'`';}case'click':return'click\x20'+_0xc94714[_0x54ebf4(0x106)](formatCommandTarget,_0xc94714[_0x54ebf4(0xd7)](extractFirstCommandArgument,_0x572554,_0x33cc37));case _0xc94714[_0x54ebf4(0x101)]:return _0x54ebf4(0xca)+formatCommandTarget(extractFirstCommandArgument(_0x572554,_0x33cc37));case _0xc94714[_0x54ebf4(0xbd)]:return _0x54ebf4(0xf2)+_0xc94714[_0x54ebf4(0xb6)](formatCommandTarget,extractFirstCommandArgument(_0x572554,_0x33cc37));case _0x54ebf4(0x127):return _0x54ebf4(0x114)+_0xc94714['OMnEK'](formatCommandTarget,extractFirstCommandArgument(_0x572554,_0x33cc37));case'run-code':return _0x54ebf4(0xf8);case _0xc94714['UyaZY']:{const _0x525760=extractFirstCommandArgument(_0x572554,_0x33cc37);return _0x525760?_0x54ebf4(0x12f)+_0x525760:'open\x20new\x20tab';}case'tab-select':{const _0x33d933=_0xc94714[_0x54ebf4(0xe1)](extractFirstCommandArgument,_0x572554,_0x33cc37);return _0x33d933?_0x54ebf4(0x112)+_0x33d933:'select\x20tab';}default:return _0x33cc37;}}function extractPlaywrightCliToolDescription(_0x13ac83){const _0xb40395=_0x2dbb,_0x3401cd={'DWJdc':_0xb40395(0x11c),'fdTOZ':function(_0x5e46e6,_0x23825b){return _0x5e46e6>_0x23825b;}},_0x3b39cc=_0x13ac83[_0xb40395(0xd1)];if(typeof _0x3b39cc!==_0x3401cd[_0xb40395(0xc9)])return null;const _0xd6c4e3=_0x3b39cc[_0xb40395(0xea)]()['replace'](/\s+/g,'\x20');return _0x3401cd[_0xb40395(0xe3)](_0xd6c4e3[_0xb40395(0xcf)],0x0)?_0xd6c4e3:null;}export function formatPlaywrightCliConsoleLogMessage(_0x28aea9,_0x4fae50,_0x4c4c0f){const _0x172f52=_0x2dbb,_0x24de65=formatPlaywrightCliLog(_0x4fae50,_0x4c4c0f),_0x1c2ad3=extractPlaywrightCliToolDescription(_0x28aea9);if(!_0x1c2ad3)return'[playwright-cli]\x20'+_0x24de65;if(process['env'][_0x172f52(0x102)])return _0x172f52(0xcd)+_0x1c2ad3+'\x20('+_0x24de65+')';return _0x172f52(0xcd)+_0x1c2ad3;}export function buildVerifyFeatureCliDebugPrompt(_0x596b71,_0x472609){const _0x46813f=_0x2dbb,_0x4f9f9d={'iohYf':_0x46813f(0x117),'aPYim':_0x46813f(0xe2),'bohdr':function(_0x125ddb,_0x528d5a,_0x49019f){return _0x125ddb(_0x528d5a,_0x49019f);},'HWonc':function(_0x3678e6,_0x135611){return _0x3678e6(_0x135611);}},_0x46189f=buildCliArtifactPath(_0x472609,_0x4f9f9d[_0x46813f(0x118)]),_0x29896b=buildCliArtifactPath(_0x472609,'01_mozilla-homepage.png'),_0x3d5397=buildCliArtifactPath(_0x472609,_0x4f9f9d[_0x46813f(0xc4)]),_0x555ae8=_0x4f9f9d['bohdr'](buildCliArtifactPath,_0x472609,_0x46813f(0xf0)),_0x372312=quoteShellArg(_0x46189f),_0x285854=_0x4f9f9d['HWonc'](quoteShellArg,_0x29896b),_0x2def4b=quoteShellArg(_0x3d5397),_0x4d3b30=_0x4f9f9d[_0x46813f(0x11e)](quoteShellArg,_0x555ae8);return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0aUse\x20Bash\x20and\x20Playwright\x20CLI\x20only.\x20The\x20browser\x20command\x20prefix\x20is:\x0a'+_0x596b71+_0x46813f(0xe6)+_0x596b71+'\x20open\x20https://www.mozilla.org`\x0a2.\x20Run\x20`'+_0x596b71+_0x46813f(0xf4)+_0x596b71+'\x20video-start`\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x472609+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a5.\x20Run\x20`'+_0x596b71+'\x20snapshot\x20--filename\x20'+_0x372312+'`\x0a5.\x20Read\x20the\x20snapshot\x20file\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20reference\x0a6.\x20Run\x20`'+_0x596b71+'\x20screenshot\x20--filename\x20'+_0x285854+_0x46813f(0x116)+_0x596b71+_0x46813f(0xb4)+_0x2def4b+'`\x0a9.\x20Run\x20`'+_0x596b71+_0x46813f(0xbf)+_0x4d3b30+'`\x0a10.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureCliPrompt(_0x295949){const _0x592116=_0x2dbb,_0x5002b2={'ydBYY':'en-US','GuEsu':'element','POdzc':'01_initial.yml','sHjOM':function(_0x102b08,_0x39a215,_0x18d031){return _0x102b08(_0x39a215,_0x18d031);},'JHGpo':'01_initial-state.png','TCUgt':function(_0x30cf9f,_0xe56888){return _0x30cf9f(_0xe56888);}},{checklistItem:_0x3263f2,itemFeedback:_0x153cb8,taskDescription:_0x5e3ee5,cliCommandPrefix:_0x2f7d0c,cliArtifactDir:_0x12611e,isCdpMode:_0x4d9509,url:_0x48f8f4,cdpEndpoint:_0x35144e,loginInstructions:_0x58e8e6}=_0x295949,_0x791ed6=buildCliArtifactPath(_0x12611e,_0x5002b2['POdzc']),_0x27f685=_0x5002b2['sHjOM'](buildCliArtifactPath,_0x12611e,_0x592116(0x113)),_0x3d9c3a=_0x5002b2[_0x592116(0x11a)](buildCliArtifactPath,_0x12611e,_0x592116(0x105)),_0x15605e=_0x5002b2[_0x592116(0x11a)](buildCliArtifactPath,_0x12611e,_0x5002b2[_0x592116(0xd2)]),_0x57d352=quoteShellArg(_0x791ed6),_0x3b055a=quoteShellArg(_0x27f685),_0x1122a2=quoteShellArg(_0x3d9c3a),_0x56d611=quoteShellArg(_0x15605e),_0x41b57d=_0x3263f2['notes']?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x3263f2['notes']:'';let _0x384fd2='';if(_0x153cb8&&_0x153cb8[_0x592116(0x109)]['length']>0x0){const _0x1f126e=_0x153cb8[_0x592116(0x109)]['map'](_0x5cff72=>{const _0x19f32c=_0x592116,_0x5ba932=new Date(_0x5cff72[_0x19f32c(0xc5)])[_0x19f32c(0xfc)](_0x5002b2[_0x19f32c(0x11f)],{'month':_0x19f32c(0x130),'day':_0x19f32c(0xb2)}),_0x25e6e3=_0x5cff72['authorName']||_0x5cff72['authorEmail']||_0x19f32c(0x10a),_0x129858=_0x5cff72[_0x19f32c(0xe4)]?'\x20(on\x20element:\x20<'+(_0x5cff72['domRef']['selector'][_0x19f32c(0xc1)](_0x19f32c(0xeb))[_0x19f32c(0x131)]()?.[_0x19f32c(0xc1)](':')[0x0]||_0x5002b2['GuEsu'])+'>\x20\x22'+(_0x5cff72[_0x19f32c(0xe4)]['textContent']||'')[_0x19f32c(0xba)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x5cff72['id']+']\x20**'+_0x25e6e3+'**\x20('+_0x5ba932+_0x19f32c(0x126)+_0x5cff72[_0x19f32c(0xd9)]+'\x22'+_0x129858;})['join']('\x0a');_0x384fd2=_0x592116(0xf5)+_0x1f126e;}const _0xa5419e=_0x153cb8?.[_0x592116(0xd8)]?_0x592116(0x111)+_0x153cb8[_0x592116(0xd8)]:'',_0x292e31=_0x4d9509?_0x592116(0x107)+_0x35144e+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':_0x592116(0xdb)+_0x48f8f4+_0x592116(0xd0),_0x355069=_0x48f8f4?_0x5002b2[_0x592116(0x11d)](quoteShellArg,_0x48f8f4):'',_0x9abfa3=_0x4d9509?'##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`'+_0x2f7d0c+_0x592116(0xb0)+_0x2f7d0c+'\x20tracing-start`,\x20then\x20`'+_0x2f7d0c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x12611e+'`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`'+_0x2f7d0c+_0x592116(0xb4)+_0x57d352+'`\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`'+_0x2f7d0c+'\x20screenshot\x20--filename\x20'+_0x56d611+_0x592116(0x119)+_0x2f7d0c+_0x592116(0xb1):_0x592116(0xc2)+_0x2f7d0c+_0x592116(0x12d)+_0x355069+'`,\x20then\x20`'+_0x2f7d0c+_0x592116(0xdd)+_0x2f7d0c+'\x20video-start`.\x0a3.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x12611e+_0x592116(0xe7)+_0x2f7d0c+'\x20snapshot\x20--filename\x20'+_0x57d352+'`\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`'+_0x2f7d0c+'\x20screenshot\x20--filename\x20'+_0x56d611+_0x592116(0xdf)+_0x2f7d0c+_0x592116(0xbb),_0x19f33d=_0x4d9509?_0x592116(0xd5):'\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.',_0x6c2988=_0x58e8e6?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20you\x20MUST\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x58e8e6+_0x592116(0xf7):'';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'+_0x3263f2['description']+_0x41b57d+_0x384fd2+_0xa5419e+_0x592116(0xe0)+_0x5e3ee5+'\x0a\x0a'+_0x292e31+_0x6c2988+'\x0a\x0a'+_0x9abfa3+'\x0a\x0a##\x20Browser\x20Command\x20Reference\x0aUse\x20Bash\x20to\x20run\x20Playwright\x20CLI\x20commands\x20with\x20this\x20exact\x20prefix:\x0a`'+_0x2f7d0c+'`\x0a\x0a-\x20Write\x20all\x20artifacts\x20under\x20`'+_0x12611e+'`\x0a-\x20`snapshot\x20--filename\x20'+_0x3b055a+'`\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'+_0x1122a2+'`\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`'+_0x12611e+'`:\x20\x22'+_0x15605e+'\x22,\x20\x22'+_0x5002b2['sHjOM'](buildCliArtifactPath,_0x12611e,'02_button-clicked.png')+_0x592116(0xef)+_0x5002b2['sHjOM'](buildCliArtifactPath,_0x12611e,'03_result-visible.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'+buildCliArtifactPath(_0x12611e,'key_04_success-state.png')+_0x592116(0x122)+_0x19f33d+_0x592116(0x128);}export function summarizeVerifyFeatureCliCommandAvailability(_0x170228){const _0x284f4a=_0x2dbb,_0x181363=[..._0x170228[_0x284f4a(0x125)]()]['sort']();let _0x257ef9=0x0;for(const _0x491fdb of _0x170228[_0x284f4a(0xb8)]()){_0x257ef9+=_0x491fdb;}return{'cliCommandCount':_0x257ef9,'cliCommandsSeen':_0x181363,'noCliCommandsCalled':_0x257ef9===0x0};}export function createVerifyFeatureCliHooks(_0x297521){const _0xb620b4=_0x2dbb,_0x4d2e8c={'uOFWf':function(_0x3c1bc0,_0x454b48){return _0x3c1bc0(_0x454b48);},'QiJrM':function(_0x2227dc,_0x299795){return _0x2227dc+_0x299795;},'CvIso':'playwright-cli','jBTgL':function(_0x264f7,_0x3028e3){return _0x264f7!==_0x3028e3;},'JGpta':function(_0x1b3338,_0x16fc45,_0x33b208,_0x2dd0c2){return _0x1b3338(_0x16fc45,_0x33b208,_0x2dd0c2);},'pdXmo':_0xb620b4(0x12c),'VTMKb':'Bash'},_0x5e27fe=new Map(),_0x40ccb7=async _0x438c3a=>{const _0x278cae=_0xb620b4;if(_0x438c3a['hook_event_name']!=='PostToolUse')return{};const _0x2fa9cf=_0x438c3a;if(_0x2fa9cf['tool_name']!=='Bash')return{};const _0x3f02ab=_0x2fa9cf[_0x278cae(0xb3)],_0xfcdc00=extractBashCommand(_0x3f02ab);if(!_0xfcdc00)return{};const _0x54817b=_0x4d2e8c[_0x278cae(0xf1)](parsePlaywrightCliCommand,_0xfcdc00);if(!_0x54817b)return{};return _0x5e27fe[_0x278cae(0xb9)](_0x54817b,_0x4d2e8c['QiJrM'](_0x5e27fe[_0x278cae(0xf9)](_0x54817b)||0x0,0x1)),_0x297521['trackPhaseStart'](_0x278cae(0xde),{'transport':_0x4d2e8c[_0x278cae(0x110)],'toolName':_0x54817b}),_0x297521['trackPhaseEnd']('tool_call',{'transport':_0x278cae(0xf6),'toolName':_0x54817b,'bashCommandPreview':truncatePreview(_0xfcdc00)}),_0x4d2e8c[_0x278cae(0xcc)](_0x54817b,'snapshot')&&console['log'](_0x4d2e8c['JGpta'](formatPlaywrightCliConsoleLogMessage,_0x3f02ab,_0xfcdc00,_0x54817b)),{};},_0x5beb85=async _0x4ae9ac=>{const _0x191ada=_0xb620b4;if(_0x4ae9ac[_0x191ada(0xbe)]!==_0x4d2e8c['pdXmo'])return{};const _0x348c5f=_0x4ae9ac;if(_0x348c5f['tool_name']!==_0x4d2e8c[_0x191ada(0x12e)])return{};return await _0x297521[_0x191ada(0xe9)]('tool_failure',_0x348c5f['error'],{'transport':'playwright-cli','toolName':_0x4d2e8c[_0x191ada(0x12e)]}),{};};return{'postToolUseHook':_0x40ccb7,'postToolUseFailureHook':_0x5beb85,'commandCounts':_0x5e27fe};}async function runPlaywrightCliLifecycleCommand(_0x14555c){const _0x2857d2=_0x2dbb,_0x4270b5={'OdbIR':function(_0x575ea9,_0x492eb1){return _0x575ea9(_0x492eb1);},'aICVX':function(_0x3efc98,_0x4e7013,_0x27f195){return _0x3efc98(_0x4e7013,_0x27f195);}},{sessionId:_0x3f9c55,configPath:_0x530b62,commandArgs:_0x23ce01,env:_0x3437c0,telemetry:_0xcea613,phase:_0x367d8d,metadata:_0x2e05a6,timeoutMs:_0x1b3454}=_0x14555c;_0xcea613[_0x2857d2(0xc3)](_0x367d8d,_0x2e05a6);try{const _0x586fef=await _0x4270b5[_0x2857d2(0xc6)](runPlaywrightCliCommand,{'sessionId':_0x3f9c55,'configPath':_0x530b62,'commandArgs':_0x23ce01,'cwd':process['cwd'](),'env':_0x3437c0,'timeoutMs':_0x1b3454??PLAYWRIGHT_CLI_COMMAND_TIMEOUT_MS});_0xcea613[_0x2857d2(0x129)](_0x367d8d,{..._0x2e05a6,'subcommand':_0x586fef['invocation']['subcommand'],'stdoutPreview':_0x4270b5['aICVX'](truncatePreview,_0x586fef[_0x2857d2(0xee)],0x7d0),'stderrPreview':truncatePreview(_0x586fef['stderr'],0x7d0)});}catch(_0x1fb3a1){await _0xcea613[_0x2857d2(0xe9)](_0x367d8d,_0x1fb3a1,_0x2e05a6);throw _0x1fb3a1;}}function _0x4820(){const _0x479431=['##\x20Instructions\x0a1.\x20Use\x20Bash\x20plus\x20Playwright\x20CLI\x20only.\x20Do\x20NOT\x20call\x20MCP\x20browser\x20tools.\x0a2.\x20Start\x20by\x20running\x20`','trackPhaseStart','aPYim','createdAt','OdbIR','oHBxF','sort','DWJdc','check\x20','commandArgs','jBTgL','[ranger-verification-agent]\x20','replace','length','\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','description','JHGpo','tracing-stop','tracing-start','\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.','5NwAmaM','lgruM','canonicalFlow','content','test','CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20','JvQBf','\x20tracing-start`,\x20then\x20`','tool_call','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a8.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','qeGlj','02_learn-more.yml','fdTOZ','domRef','2481516qMsDcC','\x0a\x0a1.\x20Run\x20`','`\x20using\x20absolute\x20paths\x20only.\x20Do\x20not\x20use\x20relative\x20filenames.\x0a4.\x20Take\x20a\x20snapshot\x20with\x20`','340mtFgeV','trackPhaseError','trim','\x20>\x20','40GuUEvW','UREsC','stdout','\x22,\x20\x22','03_learn-more.png','uOFWf','fill\x20','WNAMf','\x20tracing-start`\x0a3.\x20Run\x20`','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','playwright-cli','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20immediately\x20with\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','run\x20custom\x20Playwright\x20code','get','16047SERyAF','303760VoliLY','toLocaleDateString','playwright_cli_tracing_stop','push','capture\x20step\x20`','SLhPa','ngQHu','DEBUG','trace.zip','218998mhczSO','key_03_success-state.png','wzGEV','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20','--filename=','unaddressedComments','Reviewer','video-stop','name','stringify','stop\x20video\x20recording','MgaWt','CvIso','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','select\x20tab\x20','02_state.yml','press\x20','174252UTWwGw','`\x0a7.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20with\x20Playwright\x20CLI\x0a8.\x20Run\x20`','00_mozilla-homepage.yml','iohYf','`\x20style\x20absolute\x20paths\x20at\x20key\x20moments.\x0a6.\x20If\x20you\x20need\x20waits\x20or\x20custom\x20assertions,\x20use\x20`','sHjOM','video-start','string','TCUgt','HWonc','ydBYY','egXor','pZokJ','\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','capture\x20screenshot','8bLZIHz','keys','):\x20\x22','press','\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.','trackPhaseEnd','87816jRjLXr','screenshot','PostToolUseFailure','\x20open\x20','VTMKb','open\x20new\x20tab\x20','short','pop','open\x20browser','match','\x20open`,\x20then\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','numeric','tool_input','\x20snapshot\x20--filename\x20','playwright_cli_close','ALiEC','2035EtbgtK','values','set','slice','\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','target','ucRob','hook_event_name','\x20screenshot\x20--filename\x20','616798KSmAhY','split'];_0x4820=function(){return _0x479431;};return _0x4820();}export async function finalizeVerifyFeatureCliSession(_0x18c460){const _0xe57074=_0x2dbb,_0x134672={'PzuKc':'tracing-stop','JvQBf':'playwright_cli_video_stop','SdaQo':function(_0x170995,_0x1d813b,_0x2c9951){return _0x170995(_0x1d813b,_0x2c9951);},'Orbcd':_0xe57074(0xb5),'MgaWt':'close','TZyBZ':function(_0xda0ae2,_0x96718f){return _0xda0ae2(_0x96718f);}},{telemetry:_0x4efa91,sessionId:_0xb2ea53,configPath:_0x5ae853,cliArtifactDir:_0x40f7f8,env:_0x45f376,transportMetadata:_0x56e7d4}=_0x18c460,_0x15cdab=[{'phase':_0xe57074(0xfd),'commandArgs':[_0x134672['PzuKc']]},{'phase':_0x134672[_0xe57074(0xdc)],'commandArgs':[_0xe57074(0x10b),_0xe57074(0x108)+_0x134672['SdaQo'](buildCliArtifactPath,_0x40f7f8,'session-recording.webm')]},{'phase':_0x134672['Orbcd'],'commandArgs':[_0x134672[_0xe57074(0x10f)]]}];for(const _0x1e8d27 of _0x15cdab){try{await _0x134672['TZyBZ'](runPlaywrightCliLifecycleCommand,{'sessionId':_0xb2ea53,'configPath':_0x5ae853,'commandArgs':[..._0x1e8d27[_0xe57074(0xcb)]],'env':_0x45f376,'telemetry':_0x4efa91,'phase':_0x1e8d27['phase'],'metadata':_0x56e7d4});}catch{}}}export async function loadVerifyFeatureCliTraceUploadArtifact(_0x5ba4d0){const _0x3789e3=_0x2dbb,_0x3db845={'wxkqF':_0x3789e3(0x103),'eWnuO':function(_0x231fba,_0x40bee9,_0x1759f8){return _0x231fba(_0x40bee9,_0x1759f8);},'egXor':function(_0x66952a,_0x719087){return _0x66952a(_0x719087);}},_0x5d360d=[_0x3db845['wxkqF'],'trace.trace.zip'];for(const _0x51354f of _0x5d360d){const _0x25ac42=_0x3db845['eWnuO'](join,_0x5ba4d0,_0x51354f);try{return{'buffer':await _0x3db845[_0x3789e3(0x120)](readFile,_0x25ac42),'source':_0x25ac42};}catch{}}return null;}export async function rehomeVerifyFeatureCliArtifacts(_0xade93e){const _0x55bc7a=_0x2dbb,_0x282e5f={'SLhPa':function(_0x4e1d06,_0x5e7a1c,_0x512430){return _0x4e1d06(_0x5e7a1c,_0x512430);},'ZyEUZ':function(_0x5f6c3d,_0x484fcf){return _0x5f6c3d(_0x484fcf);},'DzREu':function(_0x323bdd,_0x168dbe){return _0x323bdd+_0x168dbe;}},{cwd:_0xaad92f,cliArtifactDir:_0x5d6e5a,startTime:_0x5532ad}=_0xade93e,_0x1571a0=[];await _0x282e5f[_0x55bc7a(0x100)](mkdir,_0x5d6e5a,{'recursive':!![]});const _0x3dc678=await _0x282e5f[_0x55bc7a(0x100)](readdir,_0xaad92f,{'withFileTypes':!![]});for(const _0x47e777 of _0x3dc678){if(!_0x47e777['isFile']()||!VERIFY_FEATURE_CLI_ARTIFACT_FILE_PATTERN['test'](_0x47e777[_0x55bc7a(0x10c)]))continue;const _0x49bcec=_0x282e5f[_0x55bc7a(0x100)](join,_0xaad92f,_0x47e777[_0x55bc7a(0x10c)]),_0x1f9493=await _0x282e5f['ZyEUZ'](stat,_0x49bcec);if(_0x282e5f['DzREu'](_0x1f9493['mtimeMs'],0x7d0)<_0x5532ad)continue;const _0x24c1e8=buildCliArtifactPath(_0x5d6e5a,_0x47e777[_0x55bc7a(0x10c)]);if(_0x49bcec===_0x24c1e8)continue;await rename(_0x49bcec,_0x24c1e8),_0x1571a0[_0x55bc7a(0xfe)](_0x47e777[_0x55bc7a(0x10c)]);}return _0x1571a0[_0x55bc7a(0xc8)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2686a7=_0x4567;(function(_0x58e956,_0x738a79){const _0x23afca=_0x4567,_0x22194a=_0x58e956();while(!![]){try{const _0x5d9904=-parseInt(_0x23afca(0x20b))/0x1*(parseInt(_0x23afca(0x20a))/0x2)+parseInt(_0x23afca(0x244))/0x3*(-parseInt(_0x23afca(0x296))/0x4)+-parseInt(_0x23afca(0x2a8))/0x5+parseInt(_0x23afca(0x2a5))/0x6*(-parseInt(_0x23afca(0x2ad))/0x7)+-parseInt(_0x23afca(0x24d))/0x8*(parseInt(_0x23afca(0x250))/0x9)+-parseInt(_0x23afca(0x260))/0xa+parseInt(_0x23afca(0x2c1))/0xb;if(_0x5d9904===_0x738a79)break;else _0x22194a['push'](_0x22194a['shift']());}catch(_0x52ed7c){_0x22194a['push'](_0x22194a['shift']());}}}(_0x5ce0,0xaf804));import{execFile}from'child_process';function _0x5ce0(){const _0x204664=['length','goto','nova_act_artifact_recording_stop','telemetry','ffmpeg-linux','Bash','`.\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`','stopTraceSampling','traceSampleTimer','json','screenshot','iJnkQ','WJkfi','\x0a\x0a##\x20Additional\x20Notes\x0a','env','traceSampleInFlight','KHiSd','`\x0a-\x20`','EzjXl','Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20','canonicalFlow','evtGX','pages','replace','\x0a\x0aExamples:\x0a-\x20`','`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.','`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`','newCDPSession','nova_act_final_screenshot','.json','filter','domRef','QjsDP','FQPcb','startsWith','tool_name','navigate\x20browser','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','captureTraceSample','ffmpeg.exe','push','authorName','2251604nfTsfS','1XCUWws','Library','execute\x20Nova\x20browser\x20action','\x20snapshot\x20--output\x20','execute','Tuvkg','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','nZdyL','context','[nova-act-cli]\x20','`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.','close','padStart','cuFUF','Caches','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','vyneB','kRiDE','gBVSy','get','JVGIn','\x20session\x20create\x20','subcommand','match','\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20','XBuXO','-pix_fmt','from','frameWrites','test','then','Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context','xuesl','xZTFS','browser_pid','novaOptions','aUrex','cwd','frame-%06d.jpg','export','params','nova_act_session_report','startScreencast','cliArtifactDir','nova_act_command','--report','tracingStarted','frameSession','BtaNC','nmPbn','mtimeMs','session','RSKcC','VZdbq','`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`','readSessionMetadataWithRetry','-loglevel','3xovgzp','split','tracing','01_initial-state.png','jaexW','JyCVJ','iMMuX','tool_input','-vf','37288ppWScV','stopped','encodeScreencastVideo','1845YkwFOv','capture\x20key\x20step\x20`','pIBHY','locator','nova-user-data/*','nova-act-cli',']\x20**','zINpg','`\x0a4.\x20Run\x20one\x20batched\x20`','mDcVL','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','GtzZg','frameCount','PostToolUse','session\x20export','export\x20Nova\x20session','298090ctsLmf','rctfM','BgfzU','browser','now','transportMetadata','--format','key_03_success-state.png','zxVXH','toLocaleDateString','connectOverCDP','queueTraceSample','start','eXdhB','-framerate','gNIhJ','-hide_banner','phase','ommjy','--output-dir','\x20screenshot\x20--output\x20','screencastStarted','ZIhkt','eEPzN','Page.screencastFrame','sort','wait-for','data','pYJxf','cBPKv','getFrameDir','VNlvG','name','Page.stopScreencast','trace.zip','startAttempted','catch','stop','SLeuT','unaddressedComments','key_final-state.png','DPxaa','utf-8','ask','has','`\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.','jjNSN','sessionId','map','Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20','capture\x20screenshot','sessions','trackPhaseStart','oWznd','2476984ELLDGV','nova_act_session_export','RYkxQ','YHIrX','startTraceSampling','XTacG','invocation','trackPhaseEnd','Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20','EiWlx','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','YhLSE','hLRNQ','send','nova_act_session_close','4979370zqViRu','error','Reviewer','5490600mMIsfs','create\x20Nova\x20browser\x20session','uZyiA','avhDf','commandArgs','7UBErDp','SIXFb','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','PywLp','stdout','values','capture\x20snapshot\x20`','traceSampleCount','IWUPt','keys','allSettled','PreToolUse','JlgwH','YTXtl','XqqSj','hook_event_name','csRGe','abPOp','JaSPa','59149519imShkf','kgFzZ','Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.','trim','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`'];_0x5ce0=function(){return _0x204664;};return _0x5ce0();}import{mkdir,readdir,readFile,rename,rm,stat,writeFile}from'fs/promises';import{homedir}from'os';import{basename,join}from'path';import{promisify}from'util';import{chromium}from'playwright';import{buildNovaActCliInvocation,buildNovaActCliSharedOptionsSuffix,extractNovaActLogDir,parseNovaActCliCommand,previewNovaActCliCommand,runNovaActCliCommand}from'./utils/novaActCli.js';import{extractBashCommand,quoteShellArg}from'./utils/playwrightCli.js';const NOVA_ACT_CLI_COMMAND_TIMEOUT_MS=0x1d4c0,NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS=0x3a98,NOVA_ARTIFACT_METADATA_WAIT_MS=0x1388,NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS=0x1388,VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN=/^(?:\d{2}_.+\.(?:png|ya?ml)|key_.+\.png|final-state\.ya?ml|nova-session-export\.json)$/i,NOVA_ACT_ALLOWED_AGENT_COMMANDS=new Set(['session\x20create','execute','verify',_0x2686a7(0x28b),'goto','wait-for','snapshot',_0x2686a7(0x1ea)]),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x120091,_0x452b74){const _0x5e0b43=_0x2686a7,_0x449e71={'pIBHY':function(_0x29b23e,_0x4c8809,_0x5d72a8){return _0x29b23e(_0x4c8809,_0x5d72a8);}};return _0x449e71[_0x5e0b43(0x252)](join,_0x120091,_0x452b74);}export class NovaActArtifactRecorder{[_0x2686a7(0x233)];['browser']=null;[_0x2686a7(0x213)]=null;['frameSession']=null;[_0x2686a7(0x227)]=[];['frameCount']=0x0;[_0x2686a7(0x2b5)]=0x0;['traceSampleTimer']=null;[_0x2686a7(0x1ef)]=null;['tracingStarted']=![];['screencastStarted']=![];[_0x2686a7(0x283)]=![];[_0x2686a7(0x24e)]=![];constructor(_0x1611fd){const _0x2c8e6b=_0x2686a7;this[_0x2c8e6b(0x233)]=_0x1611fd;}async[_0x2686a7(0x26c)](){const _0x1a4af0=_0x2686a7,_0x2782e3={'ZpSYP':function(_0x1dd971,_0x595a8c,_0x603e84){return _0x1dd971(_0x595a8c,_0x603e84);},'BgfzU':'nova_act_artifact_recording'};if(this[_0x1a4af0(0x283)])return;this[_0x1a4af0(0x283)]=!![];const _0x21075f=await this[_0x1a4af0(0x242)](),_0x4327cd=_0x21075f['cdp_endpoint'];if(!_0x4327cd)throw new Error(_0x1a4af0(0x29e)+this[_0x1a4af0(0x233)]['novaOptions']['sessionId']);await _0x2782e3['ZpSYP'](mkdir,this['params']['cliArtifactDir'],{'recursive':!![]}),this[_0x1a4af0(0x263)]=await chromium[_0x1a4af0(0x26a)](_0x4327cd,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this[_0x1a4af0(0x213)]=this['browser']['contexts']()[0x0]??null;if(!this['context'])throw new Error(_0x1a4af0(0x22a));await this[_0x1a4af0(0x213)]['tracing']['start']({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x1a4af0(0x239)]=!![],this['startTraceSampling'](),await this[_0x1a4af0(0x235)](),this['params']['telemetry'][_0x1a4af0(0x294)](_0x2782e3[_0x1a4af0(0x262)],{...this['params'][_0x1a4af0(0x265)],'cdpEndpoint':_0x4327cd,'browserPid':_0x21075f[_0x1a4af0(0x22d)],'sessionState':_0x21075f['state']}),this[_0x1a4af0(0x233)]['telemetry'][_0x1a4af0(0x29d)](_0x2782e3[_0x1a4af0(0x262)],{...this[_0x1a4af0(0x233)][_0x1a4af0(0x265)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']});}async[_0x2686a7(0x285)](){const _0x25f631=_0x2686a7,_0xc9b8b3={'aUrex':_0x25f631(0x1e2),'DkBgM':_0x25f631(0x282)};if(this[_0x25f631(0x24e)])return;this[_0x25f631(0x24e)]=!![];const _0x5bb5ed={...this['params']['transportMetadata'],'frameCount':this[_0x25f631(0x25c)],'traceSampleCount':this[_0x25f631(0x2b5)],'tracingStarted':this['tracingStarted'],'screencastStarted':this['screencastStarted']};this[_0x25f631(0x233)][_0x25f631(0x1e3)]['trackPhaseStart'](_0xc9b8b3['aUrex'],_0x5bb5ed);try{await this['stopTraceSampling'](),await this['captureTraceSample'](),await this['stopScreencast'](),await Promise[_0x25f631(0x2b8)](this['frameWrites']);this[_0x25f631(0x213)]&&this[_0x25f631(0x239)]&&await this[_0x25f631(0x213)][_0x25f631(0x246)]['stop']({'path':buildCliArtifactPath(this['params'][_0x25f631(0x236)],_0xc9b8b3['DkBgM'])});const _0x228984=await this[_0x25f631(0x24f)]();this['params']['telemetry']['trackPhaseEnd'](_0xc9b8b3[_0x25f631(0x22f)],{..._0x5bb5ed,'videoPath':_0x228984});}catch(_0x4db984){await this[_0x25f631(0x233)][_0x25f631(0x1e3)]['trackPhaseError'](_0xc9b8b3['aUrex'],_0x4db984,_0x5bb5ed);}finally{await this['browser']?.[_0x25f631(0x216)]()[_0x25f631(0x284)](()=>undefined),this['browser']=null,this[_0x25f631(0x213)]=null,this[_0x25f631(0x23a)]=null;}}async['readSessionMetadataWithRetry'](){const _0x47ef68=_0x2686a7,_0x52f602={'abPOp':'.act_cli','xLySK':_0x47ef68(0x293),'YhLSE':function(_0xa9b95d,_0x19bca8){return _0xa9b95d(_0x19bca8);},'cBPKv':function(_0x357748,_0x486081){return _0x357748<_0x486081;},'mDcVL':function(_0x50c38d,_0x2ca807){return _0x50c38d-_0x2ca807;},'jjNSN':function(_0x11107f,_0x33fd1c){return _0x11107f instanceof _0x33fd1c;}},_0x23f8b6=join(homedir(),_0x52f602[_0x47ef68(0x2bf)],_0x47ef68(0x263),_0x52f602['xLySK'],this['params'][_0x47ef68(0x22e)]['sessionId']+_0x47ef68(0x1fd)),_0x2d7129=Date[_0x47ef68(0x264)]();let _0x4e1733;do{try{const _0x570105=JSON['parse'](await readFile(_0x23f8b6,_0x47ef68(0x28a)));if(_0x570105['cdp_endpoint'])return _0x570105;_0x4e1733=new Error(_0x47ef68(0x1f3)+_0x23f8b6);}catch(_0x324e8b){_0x4e1733=_0x324e8b;}await _0x52f602[_0x47ef68(0x2a1)](delay,0x64);}while(_0x52f602[_0x47ef68(0x27d)](_0x52f602[_0x47ef68(0x259)](Date[_0x47ef68(0x264)](),_0x2d7129),NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x52f602[_0x47ef68(0x28e)](_0x4e1733,Error))throw _0x4e1733;throw new Error(_0x47ef68(0x291)+_0x23f8b6);}async[_0x2686a7(0x235)](){const _0x1315af=_0x2686a7,_0x113110={'ZIhkt':function(_0x31bd66,_0x2e130a,_0x506a70){return _0x31bd66(_0x2e130a,_0x506a70);},'kRiDE':function(_0x1f66e6,_0x38ecf9){return _0x1f66e6(_0x38ecf9);},'WnKZt':_0x1315af(0x278),'uRofg':'jpeg'};if(!this[_0x1315af(0x213)])return;const _0x21336a=this[_0x1315af(0x213)][_0x1315af(0x1f6)]()[0x0];if(!_0x21336a)return;const _0x15a67b=this[_0x1315af(0x27e)]();await mkdir(_0x15a67b,{'recursive':!![]});const _0xed13cd=await this[_0x1315af(0x213)][_0x1315af(0x1fb)](_0x21336a);this['frameSession']=_0xed13cd,_0xed13cd['on'](_0x113110['WnKZt'],_0x35381f=>{const _0x4d48d4=_0x1315af,_0x34f409=++this['frameCount'],_0x1151b2=_0x113110['ZIhkt'](join,_0x15a67b,'frame-'+_0x113110[_0x4d48d4(0x21c)](String,_0x34f409)[_0x4d48d4(0x217)](0x6,'0')+'.jpg'),_0x156492=_0x113110[_0x4d48d4(0x276)](writeFile,_0x1151b2,Buffer[_0x4d48d4(0x226)](_0x35381f[_0x4d48d4(0x27b)],'base64'))[_0x4d48d4(0x284)](()=>undefined)['finally'](()=>_0xed13cd['send']('Page.screencastFrameAck',{'sessionId':_0x35381f[_0x4d48d4(0x28f)]}))[_0x4d48d4(0x229)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x4d48d4(0x208)](_0x156492);}),await _0xed13cd['send']('Page.startScreencast',{'format':_0x113110['uRofg'],'quality':0x4b,'everyNthFrame':0x6}),this[_0x1315af(0x275)]=!![];}async['stopScreencast'](){const _0x3bc851=_0x2686a7;if(!this['frameSession']||!this['screencastStarted'])return;await this['frameSession'][_0x3bc851(0x2a3)](_0x3bc851(0x281))[_0x3bc851(0x284)](()=>undefined);}[_0x2686a7(0x29a)](){const _0x30b66f=_0x2686a7,_0xf338d0={'yNfeF':function(_0xad38a4,_0xbcce36,_0xf5e520){return _0xad38a4(_0xbcce36,_0xf5e520);}};this[_0x30b66f(0x26b)](),this[_0x30b66f(0x1e8)]=_0xf338d0['yNfeF'](setInterval,()=>this[_0x30b66f(0x26b)](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x4b7db9=_0x2686a7;if(this['traceSampleInFlight'])return;this[_0x4b7db9(0x1ef)]=this['captureTraceSample']()['finally'](()=>{const _0x4c08fb=_0x4b7db9;this[_0x4c08fb(0x1ef)]=null;});}async[_0x2686a7(0x1e7)](){const _0x416203=_0x2686a7;this[_0x416203(0x1e8)]&&(clearInterval(this['traceSampleTimer']),this['traceSampleTimer']=null),await this[_0x416203(0x1ef)]?.['catch'](()=>undefined);}async[_0x2686a7(0x206)](){const _0x45e93d=_0x2686a7,_0x476e89={'nZdyL':'body'},_0x13696f=this[_0x45e93d(0x213)]?.['pages']()[0x0];if(!_0x13696f)return;try{await _0x13696f[_0x45e93d(0x253)](_0x476e89[_0x45e93d(0x212)])['evaluate'](_0x211a75=>_0x211a75['tagName'],undefined,{'timeout':0x3e8}),this[_0x45e93d(0x2b5)]++;}catch{}}async['encodeScreencastVideo'](){const _0x27c6b1=_0x2686a7,_0x4eeff9={'lPTKF':function(_0x503579){return _0x503579();},'eEPzN':function(_0x50684e,_0x5af057,_0x502aaf){return _0x50684e(_0x5af057,_0x502aaf);},'jlaST':_0x27c6b1(0x270),'vyneB':_0x27c6b1(0x243),'atXUT':_0x27c6b1(0x2a6),'eFCTg':_0x27c6b1(0x26e),'rXvkM':'scale=trunc(iw/2)*2:trunc(ih/2)*2','JVGIn':'-c:v','QTygQ':_0x27c6b1(0x225),'YTXtl':'yuv420p'};if(this['frameCount']<0x2)return null;const _0xca1e7f=await _0x4eeff9['lPTKF'](resolveFfmpegPath);if(!_0xca1e7f)return null;const _0x40a65c=join(this['params']['cliArtifactDir'],'videos');await mkdir(_0x40a65c,{'recursive':!![]});const _0x1e4570=join(_0x40a65c,'session-recording.webm');return await _0x4eeff9[_0x27c6b1(0x277)](execFileAsync,_0xca1e7f,['-y',_0x4eeff9['jlaST'],_0x4eeff9[_0x27c6b1(0x21b)],_0x4eeff9['atXUT'],_0x4eeff9['eFCTg'],'10','-i',_0x4eeff9[_0x27c6b1(0x277)](join,this[_0x27c6b1(0x27e)](),_0x27c6b1(0x231)),_0x27c6b1(0x24c),_0x4eeff9['rXvkM'],_0x4eeff9[_0x27c6b1(0x21f)],'libvpx-vp9',_0x4eeff9['QTygQ'],_0x4eeff9[_0x27c6b1(0x2bb)],_0x1e4570]),_0x1e4570;}[_0x2686a7(0x27e)](){const _0x4fee02=_0x2686a7,_0x537ce6={'rctfM':function(_0x4782f0,_0x17083a,_0x837f63){return _0x4782f0(_0x17083a,_0x837f63);},'RSKcC':'nova-video-frames'};return _0x537ce6[_0x4fee02(0x261)](join,this['params'][_0x4fee02(0x236)],_0x537ce6[_0x4fee02(0x23f)]);}}async function delay(_0x1f0fa0){await new Promise(_0x24c102=>setTimeout(_0x24c102,_0x1f0fa0));}async function resolveFfmpegPath(){const _0x4b17d4=_0x2686a7,_0x3c7ff6={'wvZKj':function(_0x26243e,_0x4db991){return _0x26243e(_0x4db991);},'klnXE':function(_0x1df71b,_0x286a13,_0x3dc33d,_0x41bb16){return _0x1df71b(_0x286a13,_0x3dc33d,_0x41bb16);},'xuesl':function(_0x3e4f35){return _0x3e4f35();},'PbZok':'.cache','stODU':'ms-playwright','JYgxb':function(_0x24168d,_0x214088){return _0x24168d(_0x214088);}};if(await _0x3c7ff6['wvZKj'](canRunFfmpeg,'ffmpeg'))return'ffmpeg';const _0x258fbf=[join(homedir(),_0x4b17d4(0x20c),_0x4b17d4(0x219),'ms-playwright'),_0x3c7ff6['klnXE'](join,_0x3c7ff6[_0x4b17d4(0x22b)](homedir),_0x3c7ff6['PbZok'],_0x3c7ff6['stODU'])];for(const _0x28a5cc of _0x258fbf){try{const _0x261f2d=await _0x3c7ff6['JYgxb'](readdir,_0x28a5cc),_0x153c44=_0x261f2d[_0x4b17d4(0x1fe)](_0x460db1=>_0x460db1[_0x4b17d4(0x202)]('ffmpeg-'))['sort']()['reverse']()['flatMap'](_0x257f45=>[join(_0x28a5cc,_0x257f45,'ffmpeg-mac'),join(_0x28a5cc,_0x257f45,_0x4b17d4(0x1e4)),join(_0x28a5cc,_0x257f45,_0x4b17d4(0x207))]);for(const _0x5acd01 of _0x153c44){if(await canRunFfmpeg(_0x5acd01))return _0x5acd01;}}catch{}}return null;}async function canRunFfmpeg(_0x397452){const _0x3ba4f5={'sgccD':function(_0x5f40cf,_0x25b588,_0x50d96d){return _0x5f40cf(_0x25b588,_0x50d96d);}};try{return await _0x3ba4f5['sgccD'](execFileAsync,_0x397452,['-version']),!![];}catch{return![];}}function toStepDisplayName(_0xa9a5a6){const _0x480649=_0x2686a7,_0x13df07={'DPxaa':function(_0x2ffd0f,_0xf751a2){return _0x2ffd0f(_0xf751a2);}},_0x220b55=basename(_0xa9a5a6)[_0x480649(0x1f7)](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')[_0x480649(0x1f7)](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x220b55,'isKeyStep':/^key_/i[_0x480649(0x228)](_0x13df07[_0x480649(0x289)](basename,_0xa9a5a6))};}function extractShellValue(_0x503c51){if(!_0x503c51)return null;return _0x503c51[0x1]??_0x503c51[0x2]??_0x503c51[0x3]??null;}function extractOutputOption(_0x475993){const _0x42a3f7=_0x2686a7,_0x5311e8={'OKuoc':function(_0x5d2faa,_0x29e4e7){return _0x5d2faa(_0x29e4e7);}};return _0x5311e8['OKuoc'](extractShellValue,_0x475993[_0x42a3f7(0x222)](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0x543b70,_0x267998){const _0x3b7385=_0x2686a7,_0x5ecac4={'evtGX':_0x3b7385(0x2a9),'jaexW':_0x3b7385(0x20f),'QjsDP':'ask\x20page\x20question','BtaNC':_0x3b7385(0x1e1),'XqqSj':'wait\x20for\x20page\x20condition','ohlZn':'snapshot','IWUPt':'capture\x20snapshot','gNIhJ':_0x3b7385(0x1ea),'sgLWS':function(_0x2c52cf,_0x128bfe){return _0x2c52cf(_0x128bfe);},'FMHiw':function(_0x507051,_0xee3481){return _0x507051(_0xee3481);},'cfGgw':_0x3b7385(0x25e),'zpdez':_0x3b7385(0x25f)};switch(_0x267998){case'session\x20create':return _0x5ecac4[_0x3b7385(0x1f5)];case _0x5ecac4[_0x3b7385(0x248)]:return _0x3b7385(0x20d);case'verify':return'verify\x20page\x20condition';case _0x3b7385(0x28b):return _0x5ecac4[_0x3b7385(0x200)];case _0x5ecac4[_0x3b7385(0x23b)]:return _0x3b7385(0x204);case _0x3b7385(0x27a):return _0x5ecac4[_0x3b7385(0x2bc)];case _0x5ecac4['ohlZn']:{const _0x4da3d5=extractOutputOption(_0x543b70);if(!_0x4da3d5)return _0x5ecac4[_0x3b7385(0x2b6)];const {name:_0x28f4d4}=toStepDisplayName(_0x4da3d5);return _0x3b7385(0x2b4)+_0x28f4d4+'`';}case _0x5ecac4[_0x3b7385(0x26f)]:{const _0x565dcb=_0x5ecac4['sgLWS'](extractOutputOption,_0x543b70);if(!_0x565dcb)return _0x3b7385(0x292);const {name:_0x38a019,isKeyStep:_0x1c6b20}=_0x5ecac4['FMHiw'](toStepDisplayName,_0x565dcb);return _0x1c6b20?_0x3b7385(0x251)+_0x38a019+'`':'capture\x20step\x20`'+_0x38a019+'`';}case _0x5ecac4['cfGgw']:return _0x5ecac4['zpdez'];default:return _0x267998;}}function getNovaActCliCommandBlockReason(_0x34c257){const _0x495ba2=_0x2686a7,_0xc4ae79={'Tuvkg':function(_0x28efb1,_0x44ea54){return _0x28efb1(_0x44ea54);},'bZQkz':_0x495ba2(0x2c3),'JlgwH':'verify','FQPcb':'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.'},_0x4eaf77=_0xc4ae79[_0x495ba2(0x210)](parseNovaActCliCommand,_0x34c257);if(!_0x4eaf77)return _0xc4ae79['bZQkz'];if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS[_0x495ba2(0x28c)](_0x4eaf77))return'Nova\x20command\x20`'+_0x4eaf77+_0x495ba2(0x1f9);if(_0x4eaf77===_0xc4ae79[_0x495ba2(0x2ba)]&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i[_0x495ba2(0x228)](_0x34c257))return _0xc4ae79[_0x495ba2(0x201)];if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/[_0x495ba2(0x228)](_0x34c257))return'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.';return null;}function buildFeedbackSection(_0x5233f9){const _0x102946=_0x2686a7,_0x429d22={'SLeuT':'en-US','avhDf':'short','uZyiA':_0x102946(0x2a7)};if(!_0x5233f9||_0x5233f9[_0x102946(0x287)][_0x102946(0x1e0)]===0x0)return'';const _0x296fd2=_0x5233f9['unaddressedComments'][_0x102946(0x290)](_0x3c5549=>{const _0x424784=_0x102946,_0x4b4a43=new Date(_0x3c5549['createdAt'])[_0x424784(0x269)](_0x429d22[_0x424784(0x286)],{'month':_0x429d22[_0x424784(0x2ab)],'day':'numeric'}),_0x2c353d=_0x3c5549[_0x424784(0x209)]||_0x3c5549['authorEmail']||_0x429d22[_0x424784(0x2aa)],_0x387320=_0x3c5549['domRef']?'\x20(on\x20element:\x20<'+(_0x3c5549[_0x424784(0x1ff)]['selector']['split']('\x20>\x20')['pop']()?.[_0x424784(0x245)](':')[0x0]||'element')+'>\x20\x22'+(_0x3c5549['domRef']['textContent']||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x3c5549['id']+_0x424784(0x256)+_0x2c353d+'**\x20('+_0x4b4a43+'):\x20\x22'+_0x3c5549['content']+'\x22'+_0x387320;})['join']('\x0a');return'\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20in\x20addressedCommentIds.\x0a\x0a'+_0x296fd2;}function buildNovaSharedOptionsInstruction(_0x1fb9a0){if(!_0x1fb9a0['trim']())return'The\x20command\x20prefix\x20already\x20injects\x20session,\x20auth,\x20region,\x20workflow,\x20user-data,\x20headless,\x20and\x20JSON\x20options.\x0aDo\x20not\x20run\x20raw\x20`act\x20browser`.\x20Do\x20not\x20add\x20`--auth-mode`,\x20`--aws-profile`,\x20`--region`,\x20`--workflow-name`,\x20`--session-id`,\x20`--user-data-dir`,\x20`--headless`,\x20or\x20`--headed`\x20yourself.';return'Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a'+_0x1fb9a0;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x4bcb98){const _0x497fa9=_0x2686a7,_0x346ea9={'VZdbq':'00_initial-state.yml','gBVSy':function(_0x157696,_0x528681,_0x556b35){return _0x157696(_0x528681,_0x556b35);},'OgZto':_0x497fa9(0x247),'MvIiH':'02_final-state.yml','EiWlx':function(_0xc0206f,_0x372f3d){return _0xc0206f(_0x372f3d);},'RYkxQ':function(_0x132fb6,_0x21ce8f){return _0x132fb6(_0x21ce8f);}},{novaCommandPrefix:_0x4cb400,novaSharedOptionsSuffix:_0x4d8dde,cliArtifactDir:_0x349f3d,url:_0xe12b53}=_0x4bcb98,_0x3dd9f9=buildCliArtifactPath(_0x349f3d,_0x346ea9[_0x497fa9(0x240)]),_0x510aeb=_0x346ea9['gBVSy'](buildCliArtifactPath,_0x349f3d,_0x346ea9['OgZto']),_0x4300be=_0x346ea9[_0x497fa9(0x21d)](buildCliArtifactPath,_0x349f3d,_0x346ea9['MvIiH']),_0x200b4b=buildCliArtifactPath(_0x349f3d,'03_final-state.png');return _0x497fa9(0x205)+_0x4cb400+'\x0a\x0a'+buildNovaSharedOptionsInstruction(_0x4d8dde)+'\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`'+_0x4cb400+_0x497fa9(0x220)+_0x346ea9[_0x497fa9(0x29f)](quoteShellArg,_0xe12b53)+'\x20'+_0x4d8dde+'`\x0a2.\x20Run\x20`'+_0x4cb400+'\x20snapshot\x20--output\x20'+_0x346ea9[_0x497fa9(0x29f)](quoteShellArg,_0x3dd9f9)+'\x20'+_0x4d8dde+'`\x0a3.\x20Run\x20`'+_0x4cb400+_0x497fa9(0x274)+_0x346ea9[_0x497fa9(0x298)](quoteShellArg,_0x510aeb)+'\x20'+_0x4d8dde+_0x497fa9(0x258)+_0x4cb400+_0x497fa9(0x2b0)+_0x4cb400+'\x20snapshot\x20--output\x20'+_0x346ea9['EiWlx'](quoteShellArg,_0x4300be)+'\x20'+_0x4d8dde+'`\x0a6.\x20Run\x20`'+_0x4cb400+'\x20screenshot\x20--output\x20'+quoteShellArg(_0x200b4b)+'\x20'+_0x4d8dde+_0x497fa9(0x241)+_0x349f3d+_0x497fa9(0x215);}export function buildVerifyFeatureNovaCliPrompt(_0x7456ed){const _0x31d38f=_0x2686a7,_0x18454a={'VNlvG':function(_0xd3c24c,_0x5dd03b){return _0xd3c24c(_0x5dd03b);},'nmPbn':'01_initial.yml','nrCRb':function(_0x43ecdc,_0x57fc34,_0x312372){return _0x43ecdc(_0x57fc34,_0x312372);},'IGHaL':_0x31d38f(0x267),'hrfcE':_0x31d38f(0x1fa),'kgFzZ':function(_0x5cbe46,_0x2757fa){return _0x5cbe46(_0x2757fa);}},{checklistItem:_0x9a5960,itemFeedback:_0x2f4e3c,taskDescription:_0x43d232,novaCommandPrefix:_0x186070,novaSharedOptionsSuffix:_0x46c2a1,cliArtifactDir:_0x692de2,url:_0x31aea8,loginInstructions:_0x3f8c51}=_0x7456ed,_0x28c8a8=_0x9a5960['notes']?_0x31d38f(0x1ed)+_0x9a5960['notes']:'',_0x11819e=_0x18454a['VNlvG'](buildFeedbackSection,_0x2f4e3c),_0x5a22ae=_0x2f4e3c?.[_0x31d38f(0x1f4)]?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x2f4e3c['canonicalFlow']:'',_0x3215cb=_0x3f8c51?_0x31d38f(0x2af)+_0x3f8c51+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x11fd3d=buildCliArtifactPath(_0x692de2,_0x18454a[_0x31d38f(0x23c)]),_0x724102=buildCliArtifactPath(_0x692de2,_0x31d38f(0x247)),_0x39bf18=_0x18454a['nrCRb'](buildCliArtifactPath,_0x692de2,_0x18454a['IGHaL']);return _0x31d38f(0x21a)+_0x9a5960['description']+_0x28c8a8+_0x11819e+_0x5a22ae+_0x31d38f(0x25a)+_0x43d232+_0x31d38f(0x223)+_0x31aea8+'\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'+_0x3215cb+'\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`'+_0x186070+_0x31d38f(0x220)+_0x18454a[_0x31d38f(0x27f)](quoteShellArg,_0x31aea8)+'\x20'+_0x46c2a1+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x692de2+_0x31d38f(0x1df)+_0x186070+_0x31d38f(0x20e)+_0x18454a['VNlvG'](quoteShellArg,_0x11fd3d)+'\x20'+_0x46c2a1+'`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`'+_0x186070+_0x31d38f(0x274)+quoteShellArg(_0x724102)+'\x20'+_0x46c2a1+'`.\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`'+_0x39bf18+_0x31d38f(0x1e6)+_0x186070+_0x31d38f(0x2a0)+(_0x46c2a1[_0x31d38f(0x2c4)]()?'`'+_0x46c2a1+'`':_0x18454a['hrfcE'])+'\x0a\x0a'+_0x18454a[_0x31d38f(0x2c2)](buildNovaSharedOptionsInstruction,_0x46c2a1)+_0x31d38f(0x1f8)+_0x186070+_0x31d38f(0x211)+_0x46c2a1+_0x31d38f(0x1f1)+_0x186070+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x46c2a1+_0x31d38f(0x1f1)+_0x186070+_0x31d38f(0x20e)+quoteShellArg(_0x11fd3d)+'\x20'+_0x46c2a1+'`\x0a-\x20`'+_0x186070+'\x20screenshot\x20--output\x20'+_0x18454a['VNlvG'](quoteShellArg,_0x39bf18)+'\x20'+_0x46c2a1+_0x31d38f(0x28d);}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x3daa69){const _0x590d22=_0x2686a7,_0x1e7d7c=[..._0x3daa69[_0x590d22(0x2b7)]()][_0x590d22(0x279)]();let _0x282396=0x0;for(const _0x48eeea of _0x3daa69[_0x590d22(0x2b3)]()){_0x282396+=_0x48eeea;}return{'cliCommandCount':_0x282396,'cliCommandsSeen':_0x1e7d7c,'noCliCommandsCalled':_0x282396===0x0};}function _0x4567(_0x24bd0e,_0x1d42fd){_0x24bd0e=_0x24bd0e-0x1df;const _0x5ce093=_0x5ce0();let _0x4567de=_0x5ce093[_0x24bd0e];return _0x4567de;}export function createVerifyFeatureNovaCliHooks(_0x3f3c77,_0x5e7e94){const _0xc20acc=_0x2686a7,_0x4ed99e={'JyCVJ':function(_0x2939f7,_0x1d8013){return _0x2939f7!==_0x1d8013;},'uWzyn':_0xc20acc(0x2b9),'ommjy':function(_0x35f968,_0x2f6916){return _0x35f968(_0x2f6916);},'WJkfi':'block','JGIRO':'Bash','nmHKm':function(_0x5d769f,_0x4468bb){return _0x5d769f+_0x4468bb;},'DSeHO':'nova_act_command','eXdhB':function(_0x4f0628,_0x2095c9){return _0x4f0628===_0x2095c9;},'hLIAl':'session\x20create','OwFyf':_0xc20acc(0x255),'hLRNQ':'PostToolUseFailure','EzjXl':function(_0x22537a,_0x1f6b46){return _0x22537a!==_0x1f6b46;}},_0x1dd6d3=new Map(),_0x4fc8f2=async _0x409cc7=>{const _0x19321f=_0xc20acc;if(_0x4ed99e[_0x19321f(0x249)](_0x409cc7['hook_event_name'],_0x4ed99e['uWzyn']))return{};const _0x4ea4ed=_0x409cc7;if(_0x4ed99e[_0x19321f(0x249)](_0x4ea4ed[_0x19321f(0x203)],_0x19321f(0x1e5)))return{};const _0x323ca7=_0x4ea4ed[_0x19321f(0x24b)],_0x42a2cf=extractBashCommand(_0x323ca7);if(!_0x42a2cf)return{};const _0x1b7296=_0x4ed99e[_0x19321f(0x272)](getNovaActCliCommandBlockReason,_0x42a2cf);if(!_0x1b7296)return{};return{'decision':_0x4ed99e[_0x19321f(0x1ec)],'reason':_0x1b7296};},_0x3d78de=async _0x55f01a=>{const _0x59ea0b=_0xc20acc;if(_0x4ed99e[_0x59ea0b(0x249)](_0x55f01a[_0x59ea0b(0x2bd)],_0x59ea0b(0x25d)))return{};const _0x162074=_0x55f01a;if(_0x4ed99e[_0x59ea0b(0x249)](_0x162074[_0x59ea0b(0x203)],_0x4ed99e['JGIRO']))return{};const _0x50cf49=_0x162074[_0x59ea0b(0x24b)],_0x1787b6=extractBashCommand(_0x50cf49);if(!_0x1787b6)return{};const _0x39d604=parseNovaActCliCommand(_0x1787b6);if(!_0x39d604)return{};_0x1dd6d3['set'](_0x39d604,_0x4ed99e['nmHKm'](_0x1dd6d3[_0x59ea0b(0x21e)](_0x39d604)||0x0,0x1)),_0x3f3c77[_0x59ea0b(0x294)](_0x4ed99e['DSeHO'],{'subcommand':_0x39d604}),_0x3f3c77['trackPhaseEnd'](_0x59ea0b(0x237),{'subcommand':_0x39d604,'commandPreview':previewNovaActCliCommand(_0x1787b6)}),console['log'](_0x59ea0b(0x214)+formatNovaActCliLog(_0x1787b6,_0x39d604));if(_0x4ed99e[_0x59ea0b(0x26d)](_0x39d604,_0x4ed99e['hLIAl'])&&_0x5e7e94)try{await _0x5e7e94['start']();}catch(_0x586f41){await _0x3f3c77['trackPhaseError']('nova_act_artifact_recording',_0x586f41,{'transport':_0x4ed99e['OwFyf']});}return{};},_0x4b7a12=async _0x4da257=>{const _0x2307e1=_0xc20acc;if(_0x4ed99e['JyCVJ'](_0x4da257['hook_event_name'],_0x4ed99e[_0x2307e1(0x2a2)]))return{};const _0x20850d=_0x4da257;if(_0x4ed99e[_0x2307e1(0x1f2)](_0x20850d[_0x2307e1(0x203)],_0x4ed99e['JGIRO']))return{};return await _0x3f3c77['trackPhaseError']('nova_act_command_failure',_0x20850d[_0x2307e1(0x2a6)],{'transport':'nova-act-cli','toolName':_0x4ed99e['JGIRO']}),{};};return{'preToolUseHook':_0x4fc8f2,'postToolUseHook':_0x3d78de,'postToolUseFailureHook':_0x4b7a12,'commandCounts':_0x1dd6d3};}async function runNovaLifecycleCommand(_0xaa6f6c){const _0x21cc9f=_0x2686a7,_0x574de9={'CbAuz':function(_0x47dd67,_0x2ff035){return _0x47dd67(_0x2ff035);}},{novaOptions:_0x1723da,commandArgs:_0x4aacb0,telemetry:_0x1e8357,phase:_0x39be8d,metadata:_0x430893,timeoutMs:_0x3588aa}=_0xaa6f6c;_0x1e8357[_0x21cc9f(0x294)](_0x39be8d,_0x430893);try{const _0x10bef2=await runNovaActCliCommand({..._0x1723da,'commandArgs':_0x4aacb0,'cwd':process[_0x21cc9f(0x230)](),'env':process[_0x21cc9f(0x1ee)],'timeoutMs':_0x3588aa??NOVA_ACT_CLI_COMMAND_TIMEOUT_MS});_0x1e8357['trackPhaseEnd'](_0x39be8d,{..._0x430893,'subcommand':_0x10bef2[_0x21cc9f(0x29c)]['subcommand'],'commandPreview':_0x574de9['CbAuz'](previewNovaActCliCommand,_0x10bef2[_0x21cc9f(0x29c)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x10bef2['stdout']),'stderrPreview':previewNovaActCliCommand(_0x10bef2['stderr']),'logDir':_0x574de9['CbAuz'](extractNovaActLogDir,_0x10bef2[_0x21cc9f(0x2b2)])});}catch(_0x472e0a){await _0x1e8357['trackPhaseError'](_0x39be8d,_0x472e0a,_0x430893);throw _0x472e0a;}}export async function finalizeVerifyFeatureNovaCliSession(_0x42a0c4){const _0x330749=_0x2686a7,_0x205ad1={'QNHRf':_0x330749(0x1fc),'JaSPa':'--output','aesQL':_0x330749(0x288),'iJnkQ':'nova_act_final_snapshot','gUWls':'snapshot','csRGe':_0x330749(0x23e),'tvnnA':function(_0x43c4b2,_0x5efffd,_0x25c6d3){return _0x43c4b2(_0x5efffd,_0x25c6d3);},'pzboz':'nova-session-export.json','vEaqT':_0x330749(0x232),'oWznd':_0x330749(0x238),'xZTFS':_0x330749(0x273),'cLGVB':function(_0x4b96dc,_0x28d4dc){return _0x4b96dc===_0x28d4dc;},'GtzZg':_0x330749(0x2a4),'pYJxf':function(_0x2dd7c2,_0x2b5da1){return _0x2dd7c2(_0x2b5da1);}},{telemetry:_0x287a2d,novaOptions:_0x54740c,cliArtifactDir:_0x573542,transportMetadata:_0x4cbd6f,artifactRecorder:_0x4446a8}=_0x42a0c4,_0x5cdb12=[{'phase':_0x205ad1['QNHRf'],'commandArgs':['screenshot',_0x205ad1[_0x330749(0x2c0)],buildCliArtifactPath(_0x573542,_0x205ad1['aesQL'])]},{'phase':_0x205ad1[_0x330749(0x1eb)],'commandArgs':[_0x205ad1['gUWls'],'--output',buildCliArtifactPath(_0x573542,'final-state.yaml')]},{'phase':_0x330749(0x297),'commandArgs':[_0x205ad1[_0x330749(0x2be)],'export',_0x330749(0x266),_0x330749(0x1e9),'--output',_0x205ad1['tvnnA'](buildCliArtifactPath,_0x573542,_0x205ad1['pzboz'])]},{'phase':_0x330749(0x234),'commandArgs':['session',_0x205ad1['vEaqT'],_0x205ad1[_0x330749(0x295)],_0x205ad1[_0x330749(0x22c)],buildCliArtifactPath(_0x573542,'nova-report')]},{'phase':_0x330749(0x2a4),'commandArgs':[_0x205ad1['csRGe'],'close']}];for(const _0x4f6f0a of _0x5cdb12){_0x205ad1['cLGVB'](_0x4f6f0a[_0x330749(0x271)],_0x205ad1[_0x330749(0x25b)])&&await _0x4446a8?.['stop']();try{await _0x205ad1[_0x330749(0x27c)](runNovaLifecycleCommand,{'novaOptions':_0x54740c,'commandArgs':[..._0x4f6f0a[_0x330749(0x2ac)]],'telemetry':_0x287a2d,'phase':_0x4f6f0a[_0x330749(0x271)],'metadata':_0x4cbd6f});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x2f7d57){const _0x3556e6=_0x2686a7,_0x3ad5e4={'SIXFb':function(_0xc3abf8,_0x5890f5,_0x4f3950){return _0xc3abf8(_0x5890f5,_0x4f3950);},'YHIrX':function(_0x588c36,_0x20795e){return _0x588c36<_0x20795e;},'iMMuX':function(_0xb5614a,_0x1d1a16){return _0xb5614a+_0x1d1a16;},'evbgk':function(_0x2cc6ca,_0x21022a,_0x48df18){return _0x2cc6ca(_0x21022a,_0x48df18);}},{cwd:_0x4b5a40,cliArtifactDir:_0x829cbd,startTime:_0x4851cc}=_0x2f7d57,_0x1b0ba9=[];await _0x3ad5e4[_0x3556e6(0x2ae)](mkdir,_0x829cbd,{'recursive':!![]});const _0x28a369=await _0x3ad5e4['SIXFb'](readdir,_0x4b5a40,{'withFileTypes':!![]});for(const _0x30e550 of _0x28a369){if(!_0x30e550['isFile']()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x30e550['name']))continue;const _0xb8f262=join(_0x4b5a40,_0x30e550['name']),_0x10df90=await stat(_0xb8f262);if(_0x3ad5e4[_0x3556e6(0x299)](_0x3ad5e4[_0x3556e6(0x24a)](_0x10df90[_0x3556e6(0x23d)],0x7d0),_0x4851cc))continue;const _0x2e1477=_0x3ad5e4[_0x3556e6(0x2ae)](buildCliArtifactPath,_0x829cbd,_0x30e550['name']);if(_0xb8f262===_0x2e1477)continue;await _0x3ad5e4['evbgk'](rename,_0xb8f262,_0x2e1477),_0x1b0ba9[_0x3556e6(0x208)](_0x30e550[_0x3556e6(0x280)]);}return _0x1b0ba9['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x20cf43){const _0x2814ca=_0x2686a7,_0x24bad2={'XBuXO':function(_0x3dca7f,_0x43e7f2,_0x172662){return _0x3dca7f(_0x43e7f2,_0x172662);},'zxVXH':_0x2814ca(0x282)},_0x177ac9=_0x24bad2[_0x2814ca(0x224)](join,_0x20cf43,_0x24bad2[_0x2814ca(0x268)]);try{return{'buffer':await readFile(_0x177ac9),'source':_0x177ac9};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x20cf43),'source':_0x20cf43};}}async function zipVerifyFeatureNovaArtifacts(_0x2d58a){const _0x1a97ea=_0x2686a7,_0x5654bb={'YYqiB':'nova-artifacts.zip','zINpg':function(_0x427dbe,_0x53e492,_0x18d7a4,_0x49d6e1){return _0x427dbe(_0x53e492,_0x18d7a4,_0x49d6e1);},'PywLp':'zip','XTacG':'-qr','cuFUF':function(_0x2b2b49,_0x54baf2,_0xf27757){return _0x2b2b49(_0x54baf2,_0xf27757);}},_0x3204f6=join(_0x2d58a,'..',_0x5654bb['YYqiB']);try{return await _0x5654bb[_0x1a97ea(0x257)](execFileAsync,_0x5654bb[_0x1a97ea(0x2b1)],[_0x5654bb[_0x1a97ea(0x29b)],_0x3204f6,'.','-x',_0x1a97ea(0x254)],{'cwd':_0x2d58a}),await readFile(_0x3204f6);}finally{await _0x5654bb[_0x1a97ea(0x218)](rm,_0x3204f6,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x44de1f){const _0xfde7b9=_0x2686a7,_0x57fe94={'KHiSd':function(_0x2ab238,_0x5a955e){return _0x2ab238(_0x5a955e);}},_0x2a84c2=buildNovaActCliInvocation(_0x44de1f['novaOptions'],_0x44de1f['commandArgs']);return{'command':_0x2a84c2['command'],'args':_0x2a84c2['args'],'commandPreview':_0x57fe94[_0xfde7b9(0x1f0)](previewNovaActCliCommand,_0x2a84c2['shellCommand']),'subcommand':_0x2a84c2[_0xfde7b9(0x221)],'sharedOptionsSuffix':buildNovaActCliSharedOptionsSuffix(_0x44de1f['novaOptions'],_0x44de1f[_0xfde7b9(0x2ac)])};}
|
|
1
|
+
const _0x578347=_0x3e49;(function(_0x2ff244,_0x5c5b80){const _0x240f5f=_0x3e49,_0x27c499=_0x2ff244();while(!![]){try{const _0x402001=parseInt(_0x240f5f(0x127))/0x1*(parseInt(_0x240f5f(0x118))/0x2)+parseInt(_0x240f5f(0x152))/0x3*(parseInt(_0x240f5f(0x1ab))/0x4)+-parseInt(_0x240f5f(0x107))/0x5*(-parseInt(_0x240f5f(0x114))/0x6)+-parseInt(_0x240f5f(0x121))/0x7+-parseInt(_0x240f5f(0x1a9))/0x8*(parseInt(_0x240f5f(0x126))/0x9)+parseInt(_0x240f5f(0x15a))/0xa*(parseInt(_0x240f5f(0x1ad))/0xb)+-parseInt(_0x240f5f(0x194))/0xc*(parseInt(_0x240f5f(0x17c))/0xd);if(_0x402001===_0x5c5b80)break;else _0x27c499['push'](_0x27c499['shift']());}catch(_0x4d1977){_0x27c499['push'](_0x27c499['shift']());}}}(_0xd603,0xaf316));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';function _0xd603(){const _0x2ae5da=['eUwDU','content','jRnHx','session','`\x20using\x20absolute\x20paths\x20only.\x0a5.\x20Take\x20an\x20initial\x20snapshot:\x20`','capture\x20snapshot','cliArtifactDir','tool_input','gVWSy','YaZCo','00_initial-state.yml','fZXYN','padStart','WuqGd','`.\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-\x20`','start','EawyU','key_final-state.png','trackPhaseEnd','\x0a\x0a##\x20Additional\x20Notes\x0a','stdout','-c:v','nova_act_artifact_recording','pop','-framerate','uzZxO','\x0a\x0aExamples:\x0a-\x20`','RoUUy','mCiuN','push','wait-for','ms-playwright','SGSIA','NheVZ','146874ZhxaAx','\x20screenshot\x20--output\x20','startScreencast','\x20session\x20create\x20','traceSampleInFlight','startTraceSampling','lIUMH','split','20ubHeTf','key_03_success-state.png','PMMZz','verify\x20page\x20condition','yJHuN','newCDPSession','DqpIN','`\x0a6.\x20Run\x20`','oNrcX','screencastStarted','length','reverse','frameWrites','nova_act_session_export','iAQVB','contexts','authorName','numeric','context','UYIhR','HpPVi','tOZhw','oSxSC','nova-user-data/*','frameSession','waGuV','session\x20create','browser','\x20(on\x20element:\x20<','command','pages','enOCS','tracingStarted','.act_cli','11585262LoafGx','now','MsNdo','verify','kCJfx','pqUTH','.cache','YIgZs','`.\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`','-loglevel','encodeScreencastVideo','\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','nova-video-frames','--report','Page.startScreencast','luhRA','trackPhaseStart','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','nova_act_artifact_recording_stop','captureTraceSample','nova-artifacts.zip','nova_act_command','\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a','hSfUj','12dPewLb','nova_act_command_failure','telemetry','UCfhv','Append\x20this\x20option\x20suffix\x20to\x20every\x20browser\x20command\x20unless\x20the\x20host\x20gives\x20a\x20more\x20specific\x20example:\x0a','libvpx-vp9','get','`.\x0a6.\x20Take\x20an\x20initial\x20screenshot:\x20`','sessionId','PostToolUse','toLocaleDateString','unaddressedComments','Reviewer','from','`\x0a\x0aAppend\x20this\x20option\x20suffix\x20to\x20browser\x20commands:\x0a','export\x20Nova\x20session','CcnZX','\x20snapshot\x20--output\x20','domRef','ask','goto','40nWWYUy','catch','28TayGse','gWFxy','7297796XmMGtB','state','xWYHt','transportMetadata','parse','invocation','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.','send','textContent','trackPhaseError','cwd','isFile','stopScreencast','startAttempted','yozty','frame-','stderr','frameCount','reBkY','tagName','name','01_initial.yml','02_final-state.yml','snapshot','then','Bash','lBWJN','hook_event_name','01_initial-state.png','ZPhHh','capture\x20snapshot\x20`','yCcOj','zip','en-US','novaOptions','sort','tool_name','ffmpeg.exe','Page.screencastFrame','mtimeMs','5275035qxpTcw','.json','flatMap','finally','`\x0a4.\x20Run\x20one\x20batched\x20`','`\x0a3.\x20Run\x20`','args','close','ffmpeg-mac','cdp_endpoint','\x20>\x20','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','locator','6wIUrWd','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','\x20execute\x20\x22...\x22`\x20command\x20to\x20exercise\x20the\x20current\x20page.\x0a5.\x20Run\x20`','traceSampleTimer','7082uAQSPt','params','join','FGoSO','LNHkx','traceSampleCount','\x20execute\x20\x221.\x20Open\x20the\x20account\x20settings\x20menu.\x202.\x20Click\x20Billing.\x203.\x20Wait\x20for\x20the\x20Billing\x20page\x20to\x20load.\x22\x20','getFrameDir','rpDOK','6393401JBHkld',']\x20**','stop','IrCqi','JmGbs','2384955asIVSf','317TrtPQr','GKwEI','wait\x20for\x20page\x20condition','bItLH','error','PreToolUse','body','ffmpeg-linux'];_0xd603=function(){return _0x2ae5da;};return _0xd603();}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([_0x578347(0x174),'execute','verify','ask',_0x578347(0x1a8),_0x578347(0x14e),'snapshot','screenshot']),execFileAsync=promisify(execFile);function buildCliArtifactPath(_0x3176c6,_0x3e9047){const _0x2e0ebc=_0x578347,_0x7175f8={'jRnHx':function(_0x5c8d9f,_0x1d039d,_0x514f22){return _0x5c8d9f(_0x1d039d,_0x514f22);}};return _0x7175f8[_0x2e0ebc(0x131)](join,_0x3176c6,_0x3e9047);}export class NovaActArtifactRecorder{['params'];['browser']=null;['context']=null;[_0x578347(0x172)]=null;[_0x578347(0x166)]=[];[_0x578347(0x1be)]=0x0;[_0x578347(0x11d)]=0x0;['traceSampleTimer']=null;['traceSampleInFlight']=null;['tracingStarted']=![];['screencastStarted']=![];['startAttempted']=![];['stopped']=![];constructor(_0xb2d59a){const _0x23dc86=_0x578347;this[_0x23dc86(0x119)]=_0xb2d59a;}async[_0x578347(0x13f)](){const _0x370f63=_0x578347,_0x14a24e={'LNHkx':function(_0x2c2dd0,_0x2b0999,_0x2bcabb){return _0x2c2dd0(_0x2b0999,_0x2bcabb);},'IRSzv':'nova_act_artifact_recording'};if(this[_0x370f63(0x1ba)])return;this['startAttempted']=!![];const _0xb5af6b=await this['readSessionMetadataWithRetry'](),_0x2a7e5f=_0xb5af6b['cdp_endpoint'];if(!_0x2a7e5f)throw new Error('Nova\x20session\x20metadata\x20did\x20not\x20include\x20cdp_endpoint\x20for\x20'+this['params']['novaOptions']['sessionId']);await _0x14a24e[_0x370f63(0x11c)](mkdir,this[_0x370f63(0x119)]['cliArtifactDir'],{'recursive':!![]}),this[_0x370f63(0x175)]=await chromium['connectOverCDP'](_0x2a7e5f,{'timeout':NOVA_ARTIFACT_CDP_CONNECT_TIMEOUT_MS}),this['context']=this[_0x370f63(0x175)][_0x370f63(0x169)]()[0x0]??null;if(!this['context'])throw new Error('Nova\x20CDP\x20connection\x20did\x20not\x20expose\x20a\x20browser\x20context');await this['context']['tracing'][_0x370f63(0x13f)]({'screenshots':!![],'snapshots':!![],'sources':!![]}),this[_0x370f63(0x17a)]=!![],this[_0x370f63(0x157)](),await this['startScreencast'](),this[_0x370f63(0x119)]['telemetry']['trackPhaseStart'](_0x14a24e['IRSzv'],{...this[_0x370f63(0x119)][_0x370f63(0x1b0)],'cdpEndpoint':_0x2a7e5f,'browserPid':_0xb5af6b['browser_pid'],'sessionState':_0xb5af6b[_0x370f63(0x1ae)]}),this['params']['telemetry'][_0x370f63(0x142)](_0x370f63(0x146),{...this['params']['transportMetadata'],'tracingStarted':this[_0x370f63(0x17a)],'screencastStarted':this[_0x370f63(0x163)]});}async['stop'](){const _0x2ece34=_0x578347,_0x21cb84={'BbHDg':function(_0x17e47f,_0x97376e,_0x38c3e6){return _0x17e47f(_0x97376e,_0x38c3e6);},'mJSyn':'trace.zip','mqenc':'nova_act_artifact_recording_stop'};if(this['stopped'])return;this['stopped']=!![];const _0x166355={...this[_0x2ece34(0x119)][_0x2ece34(0x1b0)],'frameCount':this[_0x2ece34(0x1be)],'traceSampleCount':this['traceSampleCount'],'tracingStarted':this[_0x2ece34(0x17a)],'screencastStarted':this['screencastStarted']};this[_0x2ece34(0x119)]['telemetry'][_0x2ece34(0x18c)]('nova_act_artifact_recording_stop',_0x166355);try{await this['stopTraceSampling'](),await this[_0x2ece34(0x18f)](),await this[_0x2ece34(0x1b9)](),await Promise['allSettled'](this[_0x2ece34(0x166)]);this['context']&&this['tracingStarted']&&await this['context']['tracing'][_0x2ece34(0x123)]({'path':_0x21cb84['BbHDg'](buildCliArtifactPath,this[_0x2ece34(0x119)]['cliArtifactDir'],_0x21cb84['mJSyn'])});const _0x101e81=await this['encodeScreencastVideo']();this[_0x2ece34(0x119)][_0x2ece34(0x196)][_0x2ece34(0x142)](_0x2ece34(0x18e),{..._0x166355,'videoPath':_0x101e81});}catch(_0x46ed7e){await this['params']['telemetry']['trackPhaseError'](_0x21cb84['mqenc'],_0x46ed7e,_0x166355);}finally{await this[_0x2ece34(0x175)]?.[_0x2ece34(0x10e)]()['catch'](()=>undefined),this[_0x2ece34(0x175)]=null,this['context']=null,this[_0x2ece34(0x172)]=null;}}async['readSessionMetadataWithRetry'](){const _0x4996dc=_0x578347,_0x68be6={'cQnMk':'sessions','lLDwZ':function(_0x390f3c,_0x332f8b){return _0x390f3c<_0x332f8b;},'hSfUj':function(_0x14893b,_0x49f341){return _0x14893b instanceof _0x49f341;}},_0x339701=join(homedir(),_0x4996dc(0x17b),_0x4996dc(0x175),_0x68be6['cQnMk'],this['params']['novaOptions'][_0x4996dc(0x19c)]+_0x4996dc(0x108)),_0x1e8c27=Date[_0x4996dc(0x17d)]();let _0x5cd485;do{try{const _0x1fe619=JSON[_0x4996dc(0x1b1)](await readFile(_0x339701,'utf-8'));if(_0x1fe619[_0x4996dc(0x110)])return _0x1fe619;_0x5cd485=new Error('Nova\x20metadata\x20missing\x20cdp_endpoint\x20at\x20'+_0x339701);}catch(_0x220627){_0x5cd485=_0x220627;}await delay(0x64);}while(_0x68be6['lLDwZ'](Date['now']()-_0x1e8c27,NOVA_ARTIFACT_METADATA_WAIT_MS));if(_0x68be6[_0x4996dc(0x193)](_0x5cd485,Error))throw _0x5cd485;throw new Error('Unable\x20to\x20read\x20Nova\x20session\x20metadata\x20at\x20'+_0x339701);}async[_0x578347(0x154)](){const _0x540c87=_0x578347,_0x1c0faa={'JmGbs':_0x540c87(0x18a)};if(!this[_0x540c87(0x16c)])return;const _0x1aa825=this[_0x540c87(0x16c)]['pages']()[0x0];if(!_0x1aa825)return;const _0x24e706=this[_0x540c87(0x11f)]();await mkdir(_0x24e706,{'recursive':!![]});const _0x20971=await this[_0x540c87(0x16c)][_0x540c87(0x15f)](_0x1aa825);this['frameSession']=_0x20971,_0x20971['on'](_0x540c87(0x105),_0x52be34=>{const _0x5b9cfb=_0x540c87,_0x1dfa20=++this[_0x5b9cfb(0x1be)],_0x955680=join(_0x24e706,_0x5b9cfb(0x1bc)+String(_0x1dfa20)[_0x5b9cfb(0x13b)](0x6,'0')+'.jpg'),_0x1bc631=writeFile(_0x955680,Buffer[_0x5b9cfb(0x1a1)](_0x52be34['data'],'base64'))['catch'](()=>undefined)[_0x5b9cfb(0x10a)](()=>_0x20971[_0x5b9cfb(0x1b4)]('Page.screencastFrameAck',{'sessionId':_0x52be34['sessionId']}))[_0x5b9cfb(0x1c5)](()=>undefined)['catch'](()=>undefined);this['frameWrites'][_0x5b9cfb(0x14d)](_0x1bc631);}),await _0x20971[_0x540c87(0x1b4)](_0x1c0faa[_0x540c87(0x125)],{'format':'jpeg','quality':0x4b,'everyNthFrame':0x6}),this[_0x540c87(0x163)]=!![];}async['stopScreencast'](){const _0x244d79=_0x578347;if(!this['frameSession']||!this['screencastStarted'])return;await this[_0x244d79(0x172)][_0x244d79(0x1b4)]('Page.stopScreencast')['catch'](()=>undefined);}['startTraceSampling'](){this['queueTraceSample'](),this['traceSampleTimer']=setInterval(()=>this['queueTraceSample'](),NOVA_ARTIFACT_TRACE_SAMPLE_INTERVAL_MS);}['queueTraceSample'](){const _0x563a58=_0x578347;if(this['traceSampleInFlight'])return;this['traceSampleInFlight']=this['captureTraceSample']()[_0x563a58(0x10a)](()=>{this['traceSampleInFlight']=null;});}async['stopTraceSampling'](){const _0x16b036=_0x578347,_0x4bbb02={'WuqGd':function(_0x59148e,_0x268195){return _0x59148e(_0x268195);}};this[_0x16b036(0x117)]&&(_0x4bbb02[_0x16b036(0x13c)](clearInterval,this['traceSampleTimer']),this[_0x16b036(0x117)]=null),await this[_0x16b036(0x156)]?.[_0x16b036(0x1aa)](()=>undefined);}async[_0x578347(0x18f)](){const _0x58a3db=_0x578347,_0x493cd2={'SpnPP':_0x58a3db(0x12d)},_0x3d93f4=this[_0x58a3db(0x16c)]?.[_0x58a3db(0x178)]()[0x0];if(!_0x3d93f4)return;try{await _0x3d93f4[_0x58a3db(0x113)](_0x493cd2['SpnPP'])['evaluate'](_0x5f0bfb=>_0x5f0bfb[_0x58a3db(0x1c0)],undefined,{'timeout':0x3e8}),this['traceSampleCount']++;}catch{}}async[_0x578347(0x186)](){const _0x47d854=_0x578347,_0x8e9c9={'kMeLR':'videos','yCcOj':function(_0x43628c,_0x3e2eb2,_0x43d0a3){return _0x43628c(_0x3e2eb2,_0x43d0a3);},'SIbqJ':'-hide_banner','eUwDU':_0x47d854(0x148),'CHZXl':'frame-%06d.jpg','FGoSO':'-vf','EawyU':'scale=trunc(iw/2)*2:trunc(ih/2)*2','NheVZ':_0x47d854(0x145),'TgOtP':_0x47d854(0x199)};if(this['frameCount']<0x2)return null;const _0x91e55d=await resolveFfmpegPath();if(!_0x91e55d)return null;const _0xa9e356=join(this['params'][_0x47d854(0x135)],_0x8e9c9['kMeLR']);await mkdir(_0xa9e356,{'recursive':!![]});const _0x235f76=join(_0xa9e356,'session-recording.webm');return await _0x8e9c9[_0x47d854(0xfe)](execFileAsync,_0x91e55d,['-y',_0x8e9c9['SIbqJ'],_0x47d854(0x185),'error',_0x8e9c9[_0x47d854(0x12f)],'10','-i',join(this['getFrameDir'](),_0x8e9c9['CHZXl']),_0x8e9c9[_0x47d854(0x11b)],_0x8e9c9[_0x47d854(0x140)],_0x8e9c9[_0x47d854(0x151)],_0x8e9c9['TgOtP'],'-pix_fmt','yuv420p',_0x235f76]),_0x235f76;}['getFrameDir'](){const _0x5c4107=_0x578347,_0x3fbea2={'yvcuc':function(_0x4c30c6,_0x5b70dd,_0x2fb3af){return _0x4c30c6(_0x5b70dd,_0x2fb3af);}};return _0x3fbea2['yvcuc'](join,this[_0x5c4107(0x119)][_0x5c4107(0x135)],_0x5c4107(0x188));}}function _0x3e49(_0x3b4bf4,_0x9cebd2){_0x3b4bf4=_0x3b4bf4-0xfc;const _0xd60313=_0xd603();let _0x3e49b4=_0xd60313[_0x3b4bf4];return _0x3e49b4;}async function delay(_0x4604ea){await new Promise(_0x59b22d=>setTimeout(_0x59b22d,_0x4604ea));}async function resolveFfmpegPath(){const _0x59b7ff=_0x578347,_0x1c9ce9={'xWYHt':'ffmpeg','YfitQ':function(_0x73b9c2,_0x4497d3,_0x1cfe75,_0x101033,_0x415381){return _0x73b9c2(_0x4497d3,_0x1cfe75,_0x101033,_0x415381);},'yozty':function(_0x434946){return _0x434946();},'DsDum':'Library','rltCR':'Caches','lBWJN':function(_0x5f330d,_0x532c73,_0x36d46b,_0x5eb9b8){return _0x5f330d(_0x532c73,_0x36d46b,_0x5eb9b8);},'UCfhv':_0x59b7ff(0x14f),'tOZhw':function(_0x4e5f88,_0x1ec84b){return _0x4e5f88(_0x1ec84b);},'FwwUK':function(_0x7b3317,_0x4e55b2){return _0x7b3317(_0x4e55b2);}};if(await canRunFfmpeg(_0x1c9ce9['xWYHt']))return _0x1c9ce9[_0x59b7ff(0x1af)];const _0x21a61f=[_0x1c9ce9['YfitQ'](join,_0x1c9ce9[_0x59b7ff(0x1bb)](homedir),_0x1c9ce9['DsDum'],_0x1c9ce9['rltCR'],_0x59b7ff(0x14f)),_0x1c9ce9[_0x59b7ff(0x1c7)](join,homedir(),_0x59b7ff(0x182),_0x1c9ce9[_0x59b7ff(0x197)])];for(const _0x177928 of _0x21a61f){try{const _0x549355=await _0x1c9ce9[_0x59b7ff(0x16f)](readdir,_0x177928),_0x28c86e=_0x549355['filter'](_0x2c2a3f=>_0x2c2a3f['startsWith']('ffmpeg-'))[_0x59b7ff(0x102)]()[_0x59b7ff(0x165)]()[_0x59b7ff(0x109)](_0x4c3b1b=>[join(_0x177928,_0x4c3b1b,_0x59b7ff(0x10f)),join(_0x177928,_0x4c3b1b,_0x59b7ff(0x12e)),join(_0x177928,_0x4c3b1b,_0x59b7ff(0x104))]);for(const _0x20efd0 of _0x28c86e){if(await _0x1c9ce9['FwwUK'](canRunFfmpeg,_0x20efd0))return _0x20efd0;}}catch{}}return null;}async function canRunFfmpeg(_0x4bef22){const _0x464829=_0x578347,_0x3b93d4={'oNrcX':'-version'};try{return await execFileAsync(_0x4bef22,[_0x3b93d4[_0x464829(0x162)]]),!![];}catch{return![];}}function toStepDisplayName(_0x25bae3){const _0x5f1303=_0x578347,_0x44b0f2={'iAQVB':function(_0x4e139d,_0x46d98b){return _0x4e139d(_0x46d98b);}},_0x1b0658=basename(_0x25bae3)['replace'](/\.(?:png|ya?ml)$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20');return{'name':_0x1b0658,'isKeyStep':/^key_/i['test'](_0x44b0f2[_0x5f1303(0x168)](basename,_0x25bae3))};}function extractShellValue(_0x2cdf6c){if(!_0x2cdf6c)return null;return _0x2cdf6c[0x1]??_0x2cdf6c[0x2]??_0x2cdf6c[0x3]??null;}function extractOutputOption(_0x3187c4){return extractShellValue(_0x3187c4['match'](/--output(?:=|\s+)(?:"([^"]+)"|'([^']+)'|(\S+))/));}function formatNovaActCliLog(_0xc4eeeb,_0x123c97){const _0x33615d=_0x578347,_0x5920f6={'wgpOU':_0x33615d(0x17f),'lIUMH':_0x33615d(0x15d),'HwhPi':'goto','fZXYN':'navigate\x20browser','KmQLf':'wait-for','DqpIN':_0x33615d(0x134),'RoUUy':function(_0x1026a9,_0x339bd9){return _0x1026a9(_0x339bd9);},'gVWSy':'session\x20export','YaZCo':_0x33615d(0x1a3)};switch(_0x123c97){case'session\x20create':return'create\x20Nova\x20browser\x20session';case'execute':return'execute\x20Nova\x20browser\x20action';case _0x5920f6['wgpOU']:return _0x5920f6[_0x33615d(0x158)];case _0x33615d(0x1a7):return'ask\x20page\x20question';case _0x5920f6['HwhPi']:return _0x5920f6[_0x33615d(0x13a)];case _0x5920f6['KmQLf']:return _0x33615d(0x129);case _0x33615d(0x1c4):{const _0x209124=extractOutputOption(_0xc4eeeb);if(!_0x209124)return _0x5920f6[_0x33615d(0x160)];const {name:_0x1b596e}=_0x5920f6['RoUUy'](toStepDisplayName,_0x209124);return _0x33615d(0xfd)+_0x1b596e+'`';}case'screenshot':{const _0x1c141d=_0x5920f6[_0x33615d(0x14b)](extractOutputOption,_0xc4eeeb);if(!_0x1c141d)return'capture\x20screenshot';const {name:_0x19d593,isKeyStep:_0x3274b2}=_0x5920f6[_0x33615d(0x14b)](toStepDisplayName,_0x1c141d);return _0x3274b2?'capture\x20key\x20step\x20`'+_0x19d593+'`':'capture\x20step\x20`'+_0x19d593+'`';}case _0x5920f6[_0x33615d(0x137)]:return _0x5920f6[_0x33615d(0x138)];default:return _0x123c97;}}function getNovaActCliCommandBlockReason(_0x4a2c47){const _0x43b15c=_0x578347,_0x3c1c18={'FZUBC':function(_0x6818d2,_0xb22fbb){return _0x6818d2(_0xb22fbb);},'awINo':function(_0x52b877,_0x3c7811){return _0x52b877===_0x3c7811;},'yJHuN':_0x43b15c(0x17f),'ytNsl':'Do\x20not\x20run\x20Nova\x20help,\x20doctor,\x20script,\x20session\x20list,\x20session\x20export,\x20or\x20session\x20close\x20commands\x20during\x20verification.'},_0x2d51bf=_0x3c1c18['FZUBC'](parseNovaActCliCommand,_0x4a2c47);if(!_0x2d51bf)return'Use\x20only\x20the\x20provided\x20Nova\x20browser\x20command\x20prefix\x20for\x20browser\x20verification.\x20Do\x20not\x20inspect\x20setup,\x20credentials,\x20files,\x20or\x20the\x20local\x20environment.';if(!NOVA_ACT_ALLOWED_AGENT_COMMANDS['has'](_0x2d51bf))return'Nova\x20command\x20`'+_0x2d51bf+'`\x20is\x20reserved\x20for\x20the\x20host.\x20Use\x20only\x20session\x20create,\x20execute,\x20verify,\x20ask,\x20goto,\x20wait-for,\x20snapshot,\x20and\x20screenshot.';if(_0x3c1c18['awINo'](_0x2d51bf,_0x3c1c18[_0x43b15c(0x15e)])&&/\b(?:previously visited|visited pages|pages visited|at least one of the pages visited)\b/i['test'](_0x4a2c47))return'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.';if(/\s--help\b|\bdoctor\b|\bscript\b|\bsession\s+(?:close|list|export)\b/['test'](_0x4a2c47))return _0x3c1c18['ytNsl'];return null;}function buildFeedbackSection(_0x19eca8){const _0x2f71b4=_0x578347,_0x346d15={'LcJUA':'short','CcnZX':_0x2f71b4(0x16b),'MIyyM':function(_0x24fd74,_0x5c1d7d){return _0x24fd74===_0x5c1d7d;}};if(!_0x19eca8||_0x346d15['MIyyM'](_0x19eca8['unaddressedComments'][_0x2f71b4(0x164)],0x0))return'';const _0x3e8480=_0x19eca8[_0x2f71b4(0x19f)]['map'](_0x2abd68=>{const _0x53e3d2=_0x2f71b4,_0x191925=new Date(_0x2abd68['createdAt'])[_0x53e3d2(0x19e)](_0x53e3d2(0x100),{'month':_0x346d15['LcJUA'],'day':_0x346d15[_0x53e3d2(0x1a4)]}),_0x283fda=_0x2abd68[_0x53e3d2(0x16a)]||_0x2abd68['authorEmail']||_0x53e3d2(0x1a0),_0x3f0e47=_0x2abd68[_0x53e3d2(0x1a6)]?_0x53e3d2(0x176)+(_0x2abd68['domRef']['selector'][_0x53e3d2(0x159)](_0x53e3d2(0x111))[_0x53e3d2(0x147)]()?.['split'](':')[0x0]||'element')+'>\x20\x22'+(_0x2abd68['domRef'][_0x53e3d2(0x1b5)]||'')['slice'](0x0,0x32)+'\x22)':'';return'-\x20['+_0x2abd68['id']+_0x53e3d2(0x122)+_0x283fda+'**\x20('+_0x191925+'):\x20\x22'+_0x2abd68[_0x53e3d2(0x130)]+'\x22'+_0x3f0e47;})[_0x2f71b4(0x11a)]('\x0a');return _0x2f71b4(0x187)+_0x3e8480;}function buildNovaSharedOptionsInstruction(_0x4f0963){const _0x49c8ed=_0x578347;if(!_0x4f0963['trim']())return _0x49c8ed(0x1b3);return _0x49c8ed(0x198)+_0x4f0963;}export function buildVerifyFeatureNovaCliDebugPrompt(_0x2728b3){const _0x1075df=_0x578347,_0x3bfa21={'waGuV':_0x1075df(0x1c3),'pqUTH':function(_0x314695,_0x2ebb51,_0x25ff87){return _0x314695(_0x2ebb51,_0x25ff87);},'dKzzz':function(_0x439cac,_0x3b5547){return _0x439cac(_0x3b5547);}},{novaCommandPrefix:_0x1e23a4,novaSharedOptionsSuffix:_0x397766,cliArtifactDir:_0x40600e,url:_0x39b7a8}=_0x2728b3,_0x3b9039=buildCliArtifactPath(_0x40600e,_0x1075df(0x139)),_0x5b2709=buildCliArtifactPath(_0x40600e,_0x1075df(0x1c9)),_0x4b452e=buildCliArtifactPath(_0x40600e,_0x3bfa21[_0x1075df(0x173)]),_0x5f4a3d=_0x3bfa21[_0x1075df(0x181)](buildCliArtifactPath,_0x40600e,'03_final-state.png');return _0x1075df(0x115)+_0x1e23a4+'\x0a\x0a'+_0x3bfa21['dKzzz'](buildNovaSharedOptionsInstruction,_0x397766)+'\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`'+_0x1e23a4+'\x20session\x20create\x20'+_0x3bfa21['dKzzz'](quoteShellArg,_0x39b7a8)+'\x20'+_0x397766+'`\x0a2.\x20Run\x20`'+_0x1e23a4+_0x1075df(0x1a5)+_0x3bfa21['dKzzz'](quoteShellArg,_0x3b9039)+'\x20'+_0x397766+_0x1075df(0x10c)+_0x1e23a4+_0x1075df(0x153)+_0x3bfa21['dKzzz'](quoteShellArg,_0x5b2709)+'\x20'+_0x397766+_0x1075df(0x10b)+_0x1e23a4+_0x1075df(0x116)+_0x1e23a4+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x4b452e)+'\x20'+_0x397766+_0x1075df(0x161)+_0x1e23a4+_0x1075df(0x153)+_0x3bfa21['dKzzz'](quoteShellArg,_0x5f4a3d)+'\x20'+_0x397766+'`\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aSave\x20every\x20artifact\x20under\x20`'+_0x40600e+'`\x20using\x20absolute\x20paths\x20only.\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function buildVerifyFeatureNovaCliPrompt(_0x573fc9){const _0x311041=_0x578347,_0x31d49e={'UYIhR':function(_0x2ea172,_0x15c0e4){return _0x2ea172(_0x15c0e4);},'MsNdo':function(_0x3541c7,_0x91e4d8,_0x2e49ae){return _0x3541c7(_0x91e4d8,_0x2e49ae);},'TioKc':_0x311041(0x15b),'enOCS':'`<none;\x20the\x20command\x20prefix\x20injects\x20shared\x20options>`'},{checklistItem:_0x285b51,itemFeedback:_0x253d2f,taskDescription:_0x41df73,novaCommandPrefix:_0x494109,novaSharedOptionsSuffix:_0x35b020,cliArtifactDir:_0x15a506,url:_0x4b0898,loginInstructions:_0x562b19}=_0x573fc9,_0x4f36a1=_0x285b51['notes']?_0x311041(0x143)+_0x285b51['notes']:'',_0x2defec=_0x31d49e[_0x311041(0x16d)](buildFeedbackSection,_0x253d2f),_0x4d4abb=_0x253d2f?.['canonicalFlow']?_0x311041(0x112)+_0x253d2f['canonicalFlow']:'',_0x29762e=_0x562b19?_0x311041(0x192)+_0x562b19+'\x0a\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'',_0x5cfd22=buildCliArtifactPath(_0x15a506,_0x311041(0x1c2)),_0x2178ac=buildCliArtifactPath(_0x15a506,'01_initial-state.png'),_0x23ce0e=_0x31d49e[_0x311041(0x17e)](buildCliArtifactPath,_0x15a506,_0x31d49e['TioKc']);return _0x311041(0x18d)+_0x285b51['description']+_0x4f36a1+_0x2defec+_0x4d4abb+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x41df73+'\x0a\x0a##\x20App\x20Context\x0aYour\x20base\x20URL\x20is:\x20'+_0x4b0898+'\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'+_0x29762e+'\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`'+_0x494109+_0x311041(0x155)+_0x31d49e['UYIhR'](quoteShellArg,_0x4b0898)+'\x20'+_0x35b020+'`.\x0a4.\x20Save\x20every\x20snapshot\x20and\x20screenshot\x20under\x20`'+_0x15a506+_0x311041(0x133)+_0x494109+'\x20snapshot\x20--output\x20'+quoteShellArg(_0x5cfd22)+'\x20'+_0x35b020+_0x311041(0x19b)+_0x494109+_0x311041(0x153)+quoteShellArg(_0x2178ac)+'\x20'+_0x35b020+_0x311041(0x184)+_0x23ce0e+_0x311041(0x13d)+_0x494109+_0x311041(0x1a2)+(_0x35b020['trim']()?'`'+_0x35b020+'`':_0x31d49e[_0x311041(0x179)])+'\x0a\x0a'+_0x31d49e['UYIhR'](buildNovaSharedOptionsInstruction,_0x35b020)+_0x311041(0x14a)+_0x494109+_0x311041(0x11e)+_0x35b020+_0x311041(0x13e)+_0x494109+'\x20verify\x20\x22The\x20Billing\x20page\x20is\x20visible\x20and\x20shows\x20the\x20current\x20plan.\x22\x20'+_0x35b020+_0x311041(0x13e)+_0x494109+'\x20snapshot\x20--output\x20'+_0x31d49e['UYIhR'](quoteShellArg,_0x5cfd22)+'\x20'+_0x35b020+'`\x0a-\x20`'+_0x494109+'\x20screenshot\x20--output\x20'+_0x31d49e['UYIhR'](quoteShellArg,_0x23ce0e)+'\x20'+_0x35b020+'`\x0a\x0a##\x20Screenshot\x20Guidelines\x0aTake\x20screenshots\x20at\x20scenario\x20milestones\x20so\x20a\x20human\x20can\x20review\x20each\x20completed\x20step\x20and\x20the\x20final\x20state.\x20Use\x20numbered\x20filenames\x20and\x20prefix\x201-2\x20key\x20proof\x20screenshots\x20with\x20`key_`.\x20Avoid\x20duplicate\x20screenshots\x20of\x20the\x20same\x20unchanged\x20page\x20when\x20an\x20existing\x20verifier\x20screenshot\x20or\x20host\x20final\x20screenshot\x20is\x20accessible.\x0a\x0a##\x20Snapshot\x20Guidelines\x0aYou\x20must\x20take\x20the\x20initial\x20snapshot\x20listed\x20above.\x20After\x20that,\x20prefer\x20screenshots\x20plus\x20the\x20page\x20summaries\x20returned\x20by\x20`execute`\x20and\x20`verify`.\x20Only\x20call\x20`snapshot`\x20again\x20if\x20you\x20cannot\x20determine\x20the\x20next\x20action\x20or\x20evaluation\x20from\x20those\x20outputs.\x0a\x0a##\x20Early\x20Error\x20Detection\x0aAfter\x20the\x20initial\x20snapshot\x20and\x20screenshot,\x20check\x20for\x20blocking\x20HTTP\x20errors,\x20framework\x20error\x20pages,\x20blank\x20pages,\x20and\x20authentication\x20failures.\x20If\x20any\x20blocking\x20issue\x20is\x20present,\x20stop\x20and\x20return\x20evaluation\x20\x22blocked\x22\x20with\x20a\x20specific\x20reason.\x0a\x0a##\x20Failed\x20Assertions\x0aIf\x20`verify`\x20returns\x20`ASSERTION_FAILED`,\x20use\x20its\x20`actual`\x20and\x20`evidence`\x20fields\x20as\x20proof\x20for\x20the\x20final\x20evaluation.\x20Continue\x20only\x20to\x20finish\x20other\x20already-named\x20scenario\x20milestones.\x20Do\x20not\x20retry,\x20ask\x20about,\x20or\x20search\x20around\x20the\x20failed\x20condition.\x0a\x0a##\x20Final\x20Page\x20Stop\x0aWhen\x20the\x20scenario\x20names\x20a\x20final\x20page\x20or\x20final\x20navigation\x20target,\x20that\x20page\x20is\x20the\x20last\x20browser\x20milestone.\x20Once\x20it\x20is\x20loaded\x20and\x20screenshotted,\x20make\x20the\x20final\x20evaluation\x20from\x20the\x20collected\x20evidence.\x20Do\x20not\x20navigate,\x20search,\x20ask,\x20or\x20verify\x20beyond\x20that\x20final\x20page\x20unless\x20the\x20scenario\x20explicitly\x20names\x20another\x20page.\x0a\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}export function summarizeVerifyFeatureNovaCliCommandAvailability(_0x27e62a){const _0x2e23d9=_0x578347,_0x27dce3={'ADcFT':function(_0xd14458,_0x3a557b){return _0xd14458===_0x3a557b;}},_0x39dc96=[..._0x27e62a['keys']()][_0x2e23d9(0x102)]();let _0x4643f0=0x0;for(const _0x190cef of _0x27e62a['values']()){_0x4643f0+=_0x190cef;}return{'cliCommandCount':_0x4643f0,'cliCommandsSeen':_0x39dc96,'noCliCommandsCalled':_0x27dce3['ADcFT'](_0x4643f0,0x0)};}export function createVerifyFeatureNovaCliHooks(_0x295ade,_0x373f67){const _0x3cbdac=_0x578347,_0x127fa3={'OdXFM':function(_0x1e6faa,_0x212793){return _0x1e6faa!==_0x212793;},'gWFxy':_0x3cbdac(0x1c6),'bFTsi':'block','NOoyy':function(_0xcd40da,_0xaf5278){return _0xcd40da!==_0xaf5278;},'uzZxO':function(_0x8dda19,_0x5531b1){return _0x8dda19(_0x5531b1);},'nhmuH':_0x3cbdac(0x191),'gQluQ':function(_0x51d10f,_0x100a3e,_0x25e3d3){return _0x51d10f(_0x100a3e,_0x25e3d3);},'vMdli':'session\x20create','FzEUY':'nova_act_artifact_recording','iGUoT':function(_0x296180,_0x1fe8f1){return _0x296180!==_0x1fe8f1;},'YIgZs':_0x3cbdac(0x195)},_0x5bfe31=new Map(),_0x514c37=async _0x1cbd46=>{const _0x2d6251=_0x3cbdac;if(_0x127fa3['OdXFM'](_0x1cbd46[_0x2d6251(0x1c8)],_0x2d6251(0x12c)))return{};const _0x5c3b85=_0x1cbd46;if(_0x5c3b85[_0x2d6251(0x103)]!==_0x127fa3[_0x2d6251(0x1ac)])return{};const _0x1ded9a=_0x5c3b85[_0x2d6251(0x136)],_0x338850=extractBashCommand(_0x1ded9a);if(!_0x338850)return{};const _0x490241=getNovaActCliCommandBlockReason(_0x338850);if(!_0x490241)return{};return{'decision':_0x127fa3['bFTsi'],'reason':_0x490241};},_0x5bfb25=async _0xa631f9=>{const _0x5266ce=_0x3cbdac;if(_0x127fa3['NOoyy'](_0xa631f9['hook_event_name'],_0x5266ce(0x19d)))return{};const _0x25467e=_0xa631f9;if(_0x25467e['tool_name']!==_0x127fa3[_0x5266ce(0x1ac)])return{};const _0x5bd291=_0x25467e['tool_input'],_0x2f5811=_0x127fa3[_0x5266ce(0x149)](extractBashCommand,_0x5bd291);if(!_0x2f5811)return{};const _0x4df0a2=_0x127fa3[_0x5266ce(0x149)](parseNovaActCliCommand,_0x2f5811);if(!_0x4df0a2)return{};_0x5bfe31['set'](_0x4df0a2,(_0x5bfe31[_0x5266ce(0x19a)](_0x4df0a2)||0x0)+0x1),_0x295ade[_0x5266ce(0x18c)](_0x5266ce(0x191),{'subcommand':_0x4df0a2}),_0x295ade[_0x5266ce(0x142)](_0x127fa3['nhmuH'],{'subcommand':_0x4df0a2,'commandPreview':previewNovaActCliCommand(_0x2f5811)}),console['log']('[nova-act-cli]\x20'+_0x127fa3['gQluQ'](formatNovaActCliLog,_0x2f5811,_0x4df0a2));if(_0x4df0a2===_0x127fa3['vMdli']&&_0x373f67)try{await _0x373f67['start']();}catch(_0x473d17){await _0x295ade['trackPhaseError'](_0x127fa3['FzEUY'],_0x473d17,{'transport':'nova-act-cli'});}return{};},_0x3ac2f1=async _0x574b0f=>{const _0x3ac46f=_0x3cbdac;if(_0x127fa3['iGUoT'](_0x574b0f['hook_event_name'],'PostToolUseFailure'))return{};const _0x110746=_0x574b0f;if(_0x127fa3['NOoyy'](_0x110746[_0x3ac46f(0x103)],_0x3ac46f(0x1c6)))return{};return await _0x295ade['trackPhaseError'](_0x127fa3[_0x3ac46f(0x183)],_0x110746[_0x3ac46f(0x12b)],{'transport':'nova-act-cli','toolName':_0x127fa3['gWFxy']}),{};};return{'preToolUseHook':_0x514c37,'postToolUseHook':_0x5bfb25,'postToolUseFailureHook':_0x3ac2f1,'commandCounts':_0x5bfe31};}async function runNovaLifecycleCommand(_0x49a6c2){const _0x541c08=_0x578347,_0x1b7a1f={'LWqqe':function(_0x49fcb3,_0x45ed28){return _0x49fcb3??_0x45ed28;},'kCJfx':function(_0x7658bc,_0x41df6e){return _0x7658bc(_0x41df6e);}},{novaOptions:_0x834d89,commandArgs:_0x4dd019,telemetry:_0x12836d,phase:_0x46f364,metadata:_0x321fb5,timeoutMs:_0x36ed37}=_0x49a6c2;_0x12836d[_0x541c08(0x18c)](_0x46f364,_0x321fb5);try{const _0x384058=await runNovaActCliCommand({..._0x834d89,'commandArgs':_0x4dd019,'cwd':process[_0x541c08(0x1b7)](),'env':process['env'],'timeoutMs':_0x1b7a1f['LWqqe'](_0x36ed37,NOVA_ACT_CLI_COMMAND_TIMEOUT_MS)});_0x12836d['trackPhaseEnd'](_0x46f364,{..._0x321fb5,'subcommand':_0x384058[_0x541c08(0x1b2)]['subcommand'],'commandPreview':_0x1b7a1f['kCJfx'](previewNovaActCliCommand,_0x384058[_0x541c08(0x1b2)]['shellCommand']),'stdoutPreview':previewNovaActCliCommand(_0x384058['stdout']),'stderrPreview':previewNovaActCliCommand(_0x384058[_0x541c08(0x1bd)]),'logDir':_0x1b7a1f[_0x541c08(0x180)](extractNovaActLogDir,_0x384058[_0x541c08(0x144)])});}catch(_0x424ad5){await _0x12836d[_0x541c08(0x1b6)](_0x46f364,_0x424ad5,_0x321fb5);throw _0x424ad5;}}export async function finalizeVerifyFeatureNovaCliSession(_0x416b14){const _0x4ebc6e=_0x578347,_0x528cdd={'bItLH':'nova_act_final_screenshot','RiZmY':'--output','PMMZz':'snapshot','reBkY':'export','IrCqi':'--format','ZPhHh':'json','NxvMu':_0x4ebc6e(0x189),'VffcS':'nova-report','HpPVi':'nova_act_session_close','ZQVuu':_0x4ebc6e(0x132),'rpDOK':_0x4ebc6e(0x10e),'bRuAZ':function(_0x37b939,_0x4b78a2){return _0x37b939===_0x4b78a2;}},{telemetry:_0x15c7d8,novaOptions:_0x2b0c35,cliArtifactDir:_0x4f8b1c,transportMetadata:_0xa9bf38,artifactRecorder:_0x3858e2}=_0x416b14,_0x16d349=[{'phase':_0x528cdd[_0x4ebc6e(0x12a)],'commandArgs':['screenshot',_0x528cdd['RiZmY'],buildCliArtifactPath(_0x4f8b1c,_0x4ebc6e(0x141))]},{'phase':'nova_act_final_snapshot','commandArgs':[_0x528cdd[_0x4ebc6e(0x15c)],'--output',buildCliArtifactPath(_0x4f8b1c,'final-state.yaml')]},{'phase':_0x4ebc6e(0x167),'commandArgs':[_0x4ebc6e(0x132),_0x528cdd[_0x4ebc6e(0x1bf)],_0x528cdd[_0x4ebc6e(0x124)],_0x528cdd[_0x4ebc6e(0xfc)],_0x528cdd['RiZmY'],buildCliArtifactPath(_0x4f8b1c,'nova-session-export.json')]},{'phase':'nova_act_session_report','commandArgs':[_0x4ebc6e(0x132),_0x528cdd['reBkY'],_0x528cdd['NxvMu'],'--output-dir',buildCliArtifactPath(_0x4f8b1c,_0x528cdd['VffcS'])]},{'phase':_0x528cdd[_0x4ebc6e(0x16e)],'commandArgs':[_0x528cdd['ZQVuu'],_0x528cdd[_0x4ebc6e(0x120)]]}];for(const _0x1c021a of _0x16d349){_0x528cdd['bRuAZ'](_0x1c021a['phase'],_0x528cdd['HpPVi'])&&await _0x3858e2?.[_0x4ebc6e(0x123)]();try{await runNovaLifecycleCommand({'novaOptions':_0x2b0c35,'commandArgs':[..._0x1c021a['commandArgs']],'telemetry':_0x15c7d8,'phase':_0x1c021a['phase'],'metadata':_0xa9bf38});}catch{}}}export async function harvestVerifyFeatureNovaCliArtifacts(_0x235f55){const _0x1bbe50=_0x578347,_0x15d3a1={'luhRA':function(_0x2db038,_0xd81684){return _0x2db038===_0xd81684;}},{cwd:_0x4a1be1,cliArtifactDir:_0x9149d8,startTime:_0x3e2f40}=_0x235f55,_0x5bef5f=[];await mkdir(_0x9149d8,{'recursive':!![]});const _0x298922=await readdir(_0x4a1be1,{'withFileTypes':!![]});for(const _0x27838a of _0x298922){if(!_0x27838a[_0x1bbe50(0x1b8)]()||!VERIFY_FEATURE_NOVA_ARTIFACT_FILE_PATTERN['test'](_0x27838a[_0x1bbe50(0x1c1)]))continue;const _0x213759=join(_0x4a1be1,_0x27838a['name']),_0x527897=await stat(_0x213759);if(_0x527897[_0x1bbe50(0x106)]+0x7d0<_0x3e2f40)continue;const _0x505912=buildCliArtifactPath(_0x9149d8,_0x27838a[_0x1bbe50(0x1c1)]);if(_0x15d3a1[_0x1bbe50(0x18b)](_0x213759,_0x505912))continue;await rename(_0x213759,_0x505912),_0x5bef5f['push'](_0x27838a['name']);}return _0x5bef5f['sort']();}export async function loadVerifyFeatureNovaTraceUploadArtifact(_0x3f58aa){const _0x2ac076=_0x578347,_0x2a72f6={'GKwEI':function(_0x48fc5b,_0x3645b2,_0x38ce0d){return _0x48fc5b(_0x3645b2,_0x38ce0d);},'mCiuN':function(_0x43a4cf,_0x1cc00b){return _0x43a4cf(_0x1cc00b);}},_0x351eb8=_0x2a72f6[_0x2ac076(0x128)](join,_0x3f58aa,'trace.zip');try{return{'buffer':await _0x2a72f6[_0x2ac076(0x14c)](readFile,_0x351eb8),'source':_0x351eb8};}catch{return{'buffer':await zipVerifyFeatureNovaArtifacts(_0x3f58aa),'source':_0x3f58aa};}}async function zipVerifyFeatureNovaArtifacts(_0x2726c8){const _0x412db5=_0x578347,_0x1fd80a={'oSxSC':function(_0x371bcb,_0x202d64,_0x3d2e40,_0x22545c){return _0x371bcb(_0x202d64,_0x3d2e40,_0x22545c);},'LFsBD':_0x412db5(0xff),'cjfvI':'-qr','vqYNm':function(_0x524c65,_0x4c90a7,_0x1b02e2){return _0x524c65(_0x4c90a7,_0x1b02e2);}},_0x17cc26=join(_0x2726c8,'..',_0x412db5(0x190));try{return await _0x1fd80a[_0x412db5(0x170)](execFileAsync,_0x1fd80a['LFsBD'],[_0x1fd80a['cjfvI'],_0x17cc26,'.','-x',_0x412db5(0x171)],{'cwd':_0x2726c8}),await readFile(_0x17cc26);}finally{await _0x1fd80a['vqYNm'](rm,_0x17cc26,{'force':!![]});}}export function buildNovaActCliDiagnostics(_0x2ee44c){const _0x190185=_0x578347,_0x31aeb3={'SGSIA':function(_0x5cecd4,_0x441a6,_0x8162ca){return _0x5cecd4(_0x441a6,_0x8162ca);}},_0x5976b1=_0x31aeb3[_0x190185(0x150)](buildNovaActCliInvocation,_0x2ee44c[_0x190185(0x101)],_0x2ee44c['commandArgs']);return{'command':_0x5976b1[_0x190185(0x177)],'args':_0x5976b1[_0x190185(0x10d)],'commandPreview':previewNovaActCliCommand(_0x5976b1['shellCommand']),'subcommand':_0x5976b1['subcommand'],'sharedOptionsSuffix':_0x31aeb3[_0x190185(0x150)](buildNovaActCliSharedOptionsSuffix,_0x2ee44c['novaOptions'],_0x2ee44c['commandArgs'])};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x2b790f,_0x503b33){const _0x326d7b=_0x6830,_0x36a51e=_0x2b790f();while(!![]){try{const _0x51bd4e=-parseInt(_0x326d7b(0x1aa))/0x1*(-parseInt(_0x326d7b(0x192))/0x2)+parseInt(_0x326d7b(0x1bf))/0x3+parseInt(_0x326d7b(0x18c))/0x4+-parseInt(_0x326d7b(0x1cd))/0x5*(parseInt(_0x326d7b(0x1e6))/0x6)+parseInt(_0x326d7b(0x1ac))/0x7*(parseInt(_0x326d7b(0x1a8))/0x8)+-parseInt(_0x326d7b(0x1ca))/0x9*(-parseInt(_0x326d7b(0x1ad))/0xa)+-parseInt(_0x326d7b(0x1d0))/0xb*(parseInt(_0x326d7b(0x1a7))/0xc);if(_0x51bd4e===_0x503b33)break;else _0x36a51e['push'](_0x36a51e['shift']());}catch(_0x2470bc){_0x36a51e['push'](_0x36a51e['shift']());}}}(_0x473d,0x9f06f));function _0x6830(_0x4bb8c9,_0x3579be){_0x4bb8c9=_0x4bb8c9-0x18c;const _0x473dd1=_0x473d();let _0x68307b=_0x473dd1[_0x4bb8c9];return _0x68307b;}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(_0x746416,_0x29098f=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x34aa4e=_0x6830,_0x38f997={'JhuZZ':_0x34aa4e(0x1d6)};return _0x746416[_0x34aa4e(0x1b2)]>_0x29098f?_0x746416['slice'](0x0,_0x29098f)+_0x38f997['JhuZZ']:_0x746416;}function extractShellValue(_0x480c87){if(!_0x480c87)return null;return _0x480c87[0x1]??_0x480c87[0x2]??_0x480c87[0x3]??null;}function extractFirstCommandArgument(_0x46d905,_0x49f6d4){const _0x17077e=_0x6830,_0xab3485=_0x49f6d4['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return extractShellValue(_0x46d905['match'](new RegExp(_0x17077e(0x1e5)+_0xab3485+_0x17077e(0x19c))));}function formatCommandTarget(_0x3f2ee1){const _0x261b17=_0x6830,_0x53dc56={'pqmGy':_0x261b17(0x1b1)};if(!_0x3f2ee1)return _0x53dc56[_0x261b17(0x18e)];if(/^e\d+$/i['test'](_0x3f2ee1))return'ref\x20'+_0x3f2ee1;return JSON['stringify'](truncatePreview(_0x3f2ee1,0x78));}function formatRangerwrightCliLog(_0x1e0a4e,_0x3382f3){const _0x5bd44a=_0x6830,_0x201035={'sTvbL':_0x5bd44a(0x1c1),'snlmH':'click-and-inspect','JPWII':function(_0x22cd77,_0x4e7b42){return _0x22cd77(_0x4e7b42);},'CwQTN':function(_0x510edc,_0x408fa2,_0x4c5c6f){return _0x510edc(_0x408fa2,_0x4c5c6f);},'LfzXH':'fill','mRcpy':_0x5bd44a(0x1e7),'LcJxM':'inspect\x20page','jkXhq':'close\x20browser\x20session'};switch(_0x3382f3){case _0x201035['sTvbL']:{const _0xac9a4a=extractFirstCommandArgument(_0x1e0a4e,_0x3382f3);return _0xac9a4a?'open\x20and\x20inspect\x20'+_0xac9a4a:'open\x20and\x20inspect';}case _0x201035['snlmH']:return _0x5bd44a(0x1cc)+_0x201035['JPWII'](formatCommandTarget,_0x201035['CwQTN'](extractFirstCommandArgument,_0x1e0a4e,_0x3382f3));case _0x201035['LfzXH']:case _0x5bd44a(0x193):return'fill\x20'+_0x201035['JPWII'](formatCommandTarget,_0x201035[_0x5bd44a(0x1d7)](extractFirstCommandArgument,_0x1e0a4e,_0x3382f3));case _0x201035['mRcpy']:return _0x5bd44a(0x1a5);case _0x5bd44a(0x1af):return _0x201035[_0x5bd44a(0x1d4)];case'tracing-stop':return _0x5bd44a(0x1ba);case _0x5bd44a(0x199):return _0x5bd44a(0x1b5);case'close':return _0x201035[_0x5bd44a(0x1d1)];default:return _0x3382f3;}}function _0x473d(){const _0x48c71b=['tool_name','3767913Lxtxzd','nOXfT','click\x20and\x20inspect\x20','1350315NOVnpR','`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`','values','7597755wOmAcP','jkXhq','\x0a\x0a##\x20Additional\x20Notes\x0a','CxzpP','LcJxM','-\x20[','...','CwQTN','selector','unaddressedComments','trackPhaseStart','authorName','\x20>\x20','commandPrefix','element','PostToolUse','cwd','keys','en-US','set','textContent','(?:^|\x5cs)','12hzRJHK','back-and-inspect','\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','2285364YGSfUh','subcommand','pqmGy','error','\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`','tracing-stop','26IeKtld','fill-and-inspect','sort','CCDuh','\x20--screenshot-path\x20','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','authorEmail','video-stop','stderr','\x0a\x0a##\x20Task\x20to\x20Execute\x0a','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','notes','Reviewer','\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','>\x20\x22','hook_event_name','rangerwright_cli_tracing_stop','GMGRt','PostToolUseFailure','go\x20back\x20and\x20inspect','toLocaleDateString','24oRedqB','440MvHMgn','slice','13118IxkXNt','[rangerwright-cli]\x20','80689IKBXlW','10Thxxkq','):\x20\x22','inspect','\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.','target','length','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','uMNVp','stop\x20video\x20recording','\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','trackPhaseEnd','createdAt','\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a','stop\x20tracing','EeGiO','log','ntXFi','\x20open-and-inspect\x20','2335182ZqekzR','key_99_final-state.png','open-and-inspect','01_initial-state.png','uZaSs','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','zkQnS','tool_input','domRef','niIqC'];_0x473d=function(){return _0x48c71b;};return _0x473d();}function renderScenarioSections(_0x5efec4){const _0x459f7d=_0x6830,_0x10bbfb={'eHoCj':'short','CCDuh':_0x459f7d(0x19e),'oYnEO':_0x459f7d(0x1dc),'jrqvG':function(_0x4b4110,_0x2528d6){return _0x4b4110>_0x2528d6;}},{checklistItem:_0x3848f2,itemFeedback:_0x26e9c1}=_0x5efec4,_0x2bf55f=_0x3848f2[_0x459f7d(0x19d)]?_0x459f7d(0x1d2)+_0x3848f2[_0x459f7d(0x19d)]:'';let _0x45030d='';if(_0x26e9c1&&_0x10bbfb['jrqvG'](_0x26e9c1['unaddressedComments']['length'],0x0)){const _0x221230=_0x26e9c1[_0x459f7d(0x1d9)]['map'](_0x246f7c=>{const _0x2c4a75=_0x459f7d,_0x11d5f8=new Date(_0x246f7c[_0x2c4a75(0x1b8)])[_0x2c4a75(0x1a6)](_0x2c4a75(0x1e2),{'month':_0x10bbfb['eHoCj'],'day':'numeric'}),_0x22b182=_0x246f7c[_0x2c4a75(0x1db)]||_0x246f7c[_0x2c4a75(0x198)]||_0x10bbfb[_0x2c4a75(0x195)],_0x2ecaec=_0x246f7c[_0x2c4a75(0x1c7)]?'\x20(on\x20element:\x20<'+(_0x246f7c[_0x2c4a75(0x1c7)][_0x2c4a75(0x1d8)]['split'](_0x10bbfb['oYnEO'])['pop']()?.['split'](':')[0x0]||_0x2c4a75(0x1de))+_0x2c4a75(0x1a0)+(_0x246f7c['domRef'][_0x2c4a75(0x1e4)]||'')[_0x2c4a75(0x1a9)](0x0,0x32)+'\x22)':'';return _0x2c4a75(0x1d5)+_0x246f7c['id']+']\x20'+_0x22b182+'\x20('+_0x11d5f8+_0x2c4a75(0x1ae)+_0x246f7c['content']+'\x22'+_0x2ecaec;})['join']('\x0a');_0x45030d=_0x459f7d(0x1e8)+_0x221230;}const _0x1d94f4=_0x26e9c1?.['canonicalFlow']?_0x459f7d(0x1b3)+_0x26e9c1['canonicalFlow']:'';return''+_0x3848f2['description']+_0x2bf55f+_0x45030d+_0x1d94f4;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x30a8c9){const _0x562afd=_0x6830,_0x26d11c={'dAbUw':_0x562afd(0x1c2),'fFuoT':_0x562afd(0x1c0),'niIqC':function(_0x406889,_0x41a627){return _0x406889(_0x41a627);},'zkQnS':'about:blank','EdtGU':function(_0x5c2a76,_0x561693){return _0x5c2a76(_0x561693);},'EeGiO':function(_0x369543,_0x1a072a){return _0x369543(_0x1a072a);}},{checklistItem:_0x5790f3,itemFeedback:_0x3ba73f,taskDescription:_0x1c54f4,commandPrefix:_0x377c5c,isCdpMode:_0x450853,url:_0x271065,cdpEndpoint:_0xff4def,loginInstructions:_0x4e460c}=_0x30a8c9,_0x1e8e42=_0x26d11c['dAbUw'],_0x4e4e5e=_0x26d11c['fFuoT'],_0x35c41d=_0x450853?_0x377c5c+'\x20inspect\x20--screenshot-path\x20'+_0x26d11c[_0x562afd(0x1c8)](quoteShellArg,_0x1e8e42):_0x377c5c+'\x20open-and-inspect\x20'+quoteShellArg(_0x271065??_0x26d11c[_0x562afd(0x1c5)])+_0x562afd(0x196)+_0x26d11c['EdtGU'](quoteShellArg,_0x1e8e42),_0x81614d=_0x450853?_0x562afd(0x197)+_0xff4def+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x271065+'\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.',_0x5d35ab=_0x4e460c?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x4e460c+_0x562afd(0x1b0):'';return _0x562afd(0x1c4)+renderScenarioSections({'checklistItem':_0x5790f3,'itemFeedback':_0x3ba73f})+_0x562afd(0x19b)+_0x1c54f4+'\x0a\x0a'+_0x81614d+_0x5d35ab+_0x562afd(0x1b9)+_0x377c5c+_0x562afd(0x1b6)+_0x35c41d+_0x562afd(0x19f)+_0x377c5c+'\x20click-and-inspect\x20e37\x20--screenshot-path\x20'+_0x26d11c[_0x562afd(0x1bb)](quoteShellArg,_0x4e4e5e)+'\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(_0x563742){const _0x37b35e=_0x6830,_0x57ddcf={'xPxNh':'01_mozilla-homepage.png','YQhxX':'key_02_learn-more.png','ntXFi':function(_0x40b52e,_0x4596fd){return _0x40b52e(_0x4596fd);}},_0x254abe=_0x57ddcf['xPxNh'],_0x505f9e=_0x57ddcf['YQhxX'];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'+_0x563742[_0x37b35e(0x1dd)]+_0x37b35e(0x190)+_0x563742['commandPrefix']+_0x37b35e(0x1be)+_0x57ddcf[_0x37b35e(0x1bd)](quoteShellArg,_0x563742['url'])+'\x20--screenshot-path\x20'+_0x57ddcf['ntXFi'](quoteShellArg,_0x254abe)+_0x37b35e(0x1ce)+_0x563742[_0x37b35e(0x1dd)]+'\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20'+quoteShellArg(_0x505f9e)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x2b11be){const _0x2c9331=_0x6830,_0x15b922={'nOXfT':function(_0x17dd2b,_0x28f657){return _0x17dd2b===_0x28f657;}},_0x186c2e=[..._0x2b11be[_0x2c9331(0x1e1)]()][_0x2c9331(0x194)]();let _0x2b6931=0x0;for(const _0x2b2b12 of _0x2b11be[_0x2c9331(0x1cf)]()){_0x2b6931+=_0x2b2b12;}return{'cliCommandCount':_0x2b6931,'cliCommandsSeen':_0x186c2e,'noCliCommandsCalled':_0x15b922[_0x2c9331(0x1cb)](_0x2b6931,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x2fdcf2){const _0x4122e4=_0x6830,_0x5c2ba8={'VvDIc':'Bash','uMNVp':function(_0x5ef481,_0x49dcd0){return _0x5ef481(_0x49dcd0);},'CxzpP':function(_0x1f683c,_0x4c4bc,_0x1ceb35){return _0x1f683c(_0x4c4bc,_0x1ceb35);},'GMGRt':_0x4122e4(0x1a4),'HPply':function(_0x3f7f93,_0x5d58e2){return _0x3f7f93!==_0x5d58e2;},'uZaSs':'rangerwright-cli'},_0x11e024=new Map(),_0x415fbf=async _0x38857d=>{const _0x3eb786=_0x4122e4;if(_0x38857d[_0x3eb786(0x1a1)]!==_0x3eb786(0x1df))return{};const _0x2907f9=_0x38857d;if(_0x2907f9[_0x3eb786(0x1c9)]!==_0x5c2ba8['VvDIc'])return{};const _0x58deda=_0x2907f9[_0x3eb786(0x1c6)],_0x331d29=extractBashCommand(_0x58deda);if(!_0x331d29)return{};const _0x55bd22=parseRangerwrightCliCommand(_0x331d29);if(!_0x55bd22)return{};return _0x11e024[_0x3eb786(0x1e3)](_0x55bd22,(_0x11e024['get'](_0x55bd22)||0x0)+0x1),_0x2fdcf2[_0x3eb786(0x1da)]('rangerwright_cli_command',{'subcommand':_0x55bd22}),_0x2fdcf2[_0x3eb786(0x1b7)]('rangerwright_cli_command',{'subcommand':_0x55bd22,'commandPreview':_0x5c2ba8[_0x3eb786(0x1b4)](truncatePreview,_0x331d29)}),console[_0x3eb786(0x1bc)](_0x3eb786(0x1ab)+_0x5c2ba8[_0x3eb786(0x1d3)](formatRangerwrightCliLog,_0x331d29,_0x55bd22)),{};},_0x4147cb=async _0x30aafa=>{const _0x2e4e11=_0x4122e4;if(_0x30aafa[_0x2e4e11(0x1a1)]!==_0x5c2ba8[_0x2e4e11(0x1a3)])return{};const _0x3598db=_0x30aafa;if(_0x5c2ba8['HPply'](_0x3598db[_0x2e4e11(0x1c9)],'Bash'))return{};return await _0x2fdcf2['trackPhaseError']('rangerwright_cli_command_failure',_0x3598db[_0x2e4e11(0x18f)],{'transport':_0x5c2ba8[_0x2e4e11(0x1c3)],'toolName':'Bash'}),{};};return{'postToolUseHook':_0x415fbf,'postToolUseFailureHook':_0x4147cb,'commandCounts':_0x11e024};}async function runRangerwrightLifecycleCommand(_0x17b596){const _0xc7799=_0x6830,_0x25408c={'CPTMz':function(_0x15f5f1,_0x2772e5){return _0x15f5f1??_0x2772e5;},'ZfJAL':function(_0x2d5492,_0x3158de,_0x57e601){return _0x2d5492(_0x3158de,_0x57e601);}},{options:_0x1234ad,commandArgs:_0x29615f,env:_0x3c898e,telemetry:_0xd2c877,phase:_0x579056,metadata:_0x44f9c3,timeoutMs:_0x451b40}=_0x17b596;_0xd2c877[_0xc7799(0x1da)](_0x579056,_0x44f9c3);try{const _0x4e62cb=await runRangerwrightCliCommand({..._0x1234ad,'commandArgs':_0x29615f,'cwd':process[_0xc7799(0x1e0)](),'env':_0x3c898e,'timeoutMs':_0x25408c['CPTMz'](_0x451b40,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0xd2c877[_0xc7799(0x1b7)](_0x579056,{..._0x44f9c3,'subcommand':_0x4e62cb['invocation'][_0xc7799(0x18d)],'stdoutPreview':truncatePreview(_0x4e62cb['stdout'],0x7d0),'stderrPreview':_0x25408c['ZfJAL'](truncatePreview,_0x4e62cb[_0xc7799(0x19a)],0x7d0)});}catch(_0x11aaa6){await _0xd2c877['trackPhaseError'](_0x579056,_0x11aaa6,_0x44f9c3);throw _0x11aaa6;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x39eb4a){const _0x213eb7=_0x6830,_0x43d1a6={'tHeov':'close'},{telemetry:_0x12a65f,rangerwrightOptions:_0x1dbf02,env:_0x51c233,transportMetadata:_0x34dd4f}=_0x39eb4a,_0x3f932e=[{'phase':_0x213eb7(0x1a2),'commandArgs':[_0x213eb7(0x191)]},{'phase':'rangerwright_cli_video_stop','commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x43d1a6['tHeov']]}];for(const _0x19e131 of _0x3f932e){try{await runRangerwrightLifecycleCommand({'options':_0x1dbf02,'commandArgs':[..._0x19e131['commandArgs']],'env':_0x51c233,'telemetry':_0x12a65f,'phase':_0x19e131['phase'],'metadata':_0x34dd4f});}catch{}}}
|
|
1
|
+
(function(_0x4828c5,_0xae13aa){const _0x3e5114=_0x5ac7,_0x5c9561=_0x4828c5();while(!![]){try{const _0x55b122=parseInt(_0x3e5114(0x1a0))/0x1*(-parseInt(_0x3e5114(0x15b))/0x2)+parseInt(_0x3e5114(0x1a6))/0x3+-parseInt(_0x3e5114(0x1a9))/0x4+-parseInt(_0x3e5114(0x163))/0x5*(parseInt(_0x3e5114(0x15e))/0x6)+-parseInt(_0x3e5114(0x165))/0x7*(-parseInt(_0x3e5114(0x170))/0x8)+-parseInt(_0x3e5114(0x16d))/0x9+parseInt(_0x3e5114(0x174))/0xa*(parseInt(_0x3e5114(0x19a))/0xb);if(_0x55b122===_0xae13aa)break;else _0x5c9561['push'](_0x5c9561['shift']());}catch(_0x51533e){_0x5c9561['push'](_0x5c9561['shift']());}}}(_0x5561,0x34629));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 _0x5561(){const _0x41c53f=['\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.','(?:\x5cs+(?:\x22([^\x22]+)\x22|\x27([^\x27]+)\x27|(\x5cS+)))','\x20--screenshot-path\x20','commandArgs','inspect\x20page','rangerwright_cli_video_stop','key_99_final-state.png','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','fill\x20','aiqRp','22VAUHRQ','fill','split','back-and-inspect','(?:^|\x5cs)','go\x20back\x20and\x20inspect','286293TmgsRB','UpJko','join','aGcAQ','):\x20\x22','authorName','923871XxMbJx','xMmCH','DAfSQ','167212cljPVf','get','\x20open-and-inspect\x20','error','set','length','rangerwright_cli_command_failure','udjcU','slice','stop\x20tracing','trackPhaseError','close\x20browser\x20session','tool_input','domRef','tPdym','BtOzX','about:blank','2yKuMXI','[rangerwright-cli]\x20','ZCyfM','6mbmpFa','stringify','unaddressedComments','stderr','\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','1637410iIXpaH','open-and-inspect','7EmIpzF','stdout','\x20click-and-inspect\x20<ref>\x20--screenshot-path\x20','\x0a\x0a##\x20Additional\x20Notes\x0a','map','rangerwright-cli','FoKLy','##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20at\x20','851139sGnkEP','\x20click-and-inspect\x20e37\x20--screenshot-path\x20','sort','1405752huVCWN','PostToolUse','element','Reviewer','2405210PSKwQr','RHaEH','unWLN','fill-and-inspect','NrPuC','nkglg','authorEmail','UkObk','PostToolUseFailure','notes','tool_name','invocation','sBmIS','LBkEc','...','trackPhaseStart','inspect','cwd','JpVwv','open\x20and\x20inspect\x20','VyXRy','commandPrefix','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','click-and-inspect','numeric','match','url','Bash'];_0x5561=function(){return _0x41c53f;};return _0x5561();}function truncatePreview(_0x4ea1ef,_0x157049=RANGERWRIGHT_CLI_PREVIEW_LIMIT){const _0x50c49c=_0x5ac7,_0x2b7055={'qfWVk':function(_0x1001e9,_0xbc6953){return _0x1001e9+_0xbc6953;}};return _0x4ea1ef['length']>_0x157049?_0x2b7055['qfWVk'](_0x4ea1ef[_0x50c49c(0x1b1)](0x0,_0x157049),_0x50c49c(0x182)):_0x4ea1ef;}function _0x5ac7(_0x245098,_0x137793){_0x245098=_0x245098-0x15a;const _0x55618d=_0x5561();let _0x5ac7c6=_0x55618d[_0x245098];return _0x5ac7c6;}function extractShellValue(_0x25af22){if(!_0x25af22)return null;return _0x25af22[0x1]??_0x25af22[0x2]??_0x25af22[0x3]??null;}function extractFirstCommandArgument(_0x3e6813,_0x571612){const _0x33b5ec=_0x5ac7,_0x2ecaa9={'FoKLy':function(_0x1fa691,_0x15f4a8){return _0x1fa691(_0x15f4a8);}},_0x1245c1=_0x571612['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return _0x2ecaa9[_0x33b5ec(0x16b)](extractShellValue,_0x3e6813[_0x33b5ec(0x18d)](new RegExp(_0x33b5ec(0x19e)+_0x1245c1+_0x33b5ec(0x191))));}function formatCommandTarget(_0x5056ee){const _0x4c6a63=_0x5ac7,_0x181ef2={'UkObk':function(_0x31f5d8,_0x39c342,_0x33ab9c){return _0x31f5d8(_0x39c342,_0x33ab9c);}};if(!_0x5056ee)return'target';if(/^e\d+$/i['test'](_0x5056ee))return'ref\x20'+_0x5056ee;return JSON[_0x4c6a63(0x15f)](_0x181ef2[_0x4c6a63(0x17b)](truncatePreview,_0x5056ee,0x78));}function formatRangerwrightCliLog(_0x272d84,_0x505cbb){const _0x57ec12=_0x5ac7,_0x456fd3={'JpVwv':function(_0x2a3809,_0x5e2ed7,_0x1cf25a){return _0x2a3809(_0x5e2ed7,_0x1cf25a);},'UfelR':'open\x20and\x20inspect','zthjp':_0x57ec12(0x19b),'unWLN':function(_0xe264a2,_0x9f99af,_0x421829){return _0xe264a2(_0x9f99af,_0x421829);},'NrPuC':_0x57ec12(0x19d),'AByLa':_0x57ec12(0x19f),'UpJko':'tracing-stop','tPdym':_0x57ec12(0x1b2),'PlEvZ':'video-stop'};switch(_0x505cbb){case _0x57ec12(0x164):{const _0x4e7407=_0x456fd3[_0x57ec12(0x186)](extractFirstCommandArgument,_0x272d84,_0x505cbb);return _0x4e7407?_0x57ec12(0x187)+_0x4e7407:_0x456fd3['UfelR'];}case _0x57ec12(0x18b):return'click\x20and\x20inspect\x20'+formatCommandTarget(_0x456fd3['JpVwv'](extractFirstCommandArgument,_0x272d84,_0x505cbb));case _0x456fd3['zthjp']:case _0x57ec12(0x177):return _0x57ec12(0x198)+formatCommandTarget(_0x456fd3[_0x57ec12(0x176)](extractFirstCommandArgument,_0x272d84,_0x505cbb));case _0x456fd3[_0x57ec12(0x178)]:return _0x456fd3['AByLa'];case _0x57ec12(0x184):return _0x57ec12(0x194);case _0x456fd3[_0x57ec12(0x1a1)]:return _0x456fd3[_0x57ec12(0x1b7)];case _0x456fd3['PlEvZ']:return'stop\x20video\x20recording';case'close':return _0x57ec12(0x1b4);default:return _0x505cbb;}}function renderScenarioSections(_0x3611ca){const _0x2d32e9=_0x5ac7,_0x3c1cad={'WfGNu':_0x2d32e9(0x173),'pLMIZ':_0x2d32e9(0x172),'bOJtI':function(_0x394e0e,_0x56f578){return _0x394e0e>_0x56f578;}},{checklistItem:_0x5ba2f7,itemFeedback:_0x260579}=_0x3611ca,_0x13e8f6=_0x5ba2f7[_0x2d32e9(0x17d)]?_0x2d32e9(0x168)+_0x5ba2f7['notes']:'';let _0x242c4d='';if(_0x260579&&_0x3c1cad['bOJtI'](_0x260579[_0x2d32e9(0x160)][_0x2d32e9(0x1ae)],0x0)){const _0x2e6089=_0x260579[_0x2d32e9(0x160)][_0x2d32e9(0x169)](_0x221554=>{const _0x4d8dca=_0x2d32e9,_0x39e241=new Date(_0x221554['createdAt'])['toLocaleDateString']('en-US',{'month':'short','day':_0x4d8dca(0x18c)}),_0x5cbb26=_0x221554[_0x4d8dca(0x1a5)]||_0x221554[_0x4d8dca(0x17a)]||_0x3c1cad['WfGNu'],_0x573488=_0x221554[_0x4d8dca(0x1b6)]?'\x20(on\x20element:\x20<'+(_0x221554['domRef']['selector'][_0x4d8dca(0x19c)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x3c1cad['pLMIZ'])+'>\x20\x22'+(_0x221554['domRef']['textContent']||'')[_0x4d8dca(0x1b1)](0x0,0x32)+'\x22)':'';return'-\x20['+_0x221554['id']+']\x20'+_0x5cbb26+'\x20('+_0x39e241+_0x4d8dca(0x1a4)+_0x221554['content']+'\x22'+_0x573488;})[_0x2d32e9(0x1a2)]('\x0a');_0x242c4d=_0x2d32e9(0x162)+_0x2e6089;}const _0x57bb89=_0x260579?.['canonicalFlow']?'\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x260579['canonicalFlow']:'';return''+_0x5ba2f7['description']+_0x13e8f6+_0x242c4d+_0x57bb89;}export function buildVerifyFeatureRangerwrightCliPrompt(_0x29bade){const _0x4565e7=_0x5ac7,_0x47bf76={'aiqRp':function(_0x55904f,_0x24da80){return _0x55904f(_0x24da80);},'VyXRy':function(_0x101314,_0x5b7bbc){return _0x101314(_0x5b7bbc);},'udjcU':_0x4565e7(0x15a),'GNZfS':function(_0x5c62dc,_0x43f886){return _0x5c62dc(_0x43f886);}},{checklistItem:_0x3bd395,itemFeedback:_0x4b34ff,taskDescription:_0x22fe63,commandPrefix:_0xfeddfd,isCdpMode:_0x4b3e28,url:_0x285d0f,cdpEndpoint:_0x3890c7,loginInstructions:_0x1845b7}=_0x29bade,_0x376215='01_initial-state.png',_0x2c2137=_0x4565e7(0x196),_0x563b30=_0x4b3e28?_0xfeddfd+'\x20inspect\x20--screenshot-path\x20'+_0x47bf76[_0x4565e7(0x199)](quoteShellArg,_0x376215):_0xfeddfd+'\x20open-and-inspect\x20'+_0x47bf76[_0x4565e7(0x188)](quoteShellArg,_0x285d0f??_0x47bf76[_0x4565e7(0x1b0)])+_0x4565e7(0x192)+quoteShellArg(_0x376215),_0x1f231b=_0x4b3e28?_0x4565e7(0x16c)+_0x3890c7+'.\x0aThe\x20app\x20is\x20already\x20running\x20and\x20connected.\x20Start\x20with\x20inspect\x20instead\x20of\x20opening\x20a\x20URL.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x285d0f+'\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.',_0x209fe2=_0x1845b7?'\x0a\x0a##\x20Authentication\x0aBEFORE\x20starting\x20the\x20verification\x20task,\x20authenticate\x20using\x20these\x20steps:\x0a'+_0x1845b7+'\x0a\x0aAfter\x20completing\x20authentication,\x20proceed\x20with\x20the\x20verification\x20task\x20below.\x0aIf\x20authentication\x20fails,\x20return\x20evaluation\x20\x22blocked\x22\x20and\x20describe\x20the\x20auth\x20failure.':'';return _0x4565e7(0x197)+renderScenarioSections({'checklistItem':_0x3bd395,'itemFeedback':_0x4b34ff})+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x22fe63+'\x0a\x0a'+_0x1f231b+_0x209fe2+'\x0a\x0a##\x20Rangerwright\x20Instructions\x0aUse\x20Bash\x20and\x20Rangerwright\x20only.\x0a\x0aEvery\x20browser\x20command\x20must\x20start\x20with\x20this\x20exact\x20literal\x20command\x20prefix:\x0a\x0a'+_0xfeddfd+'\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'+_0x563b30+'\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'+_0xfeddfd+_0x4565e7(0x16e)+_0x47bf76['GNZfS'](quoteShellArg,_0x2c2137)+_0x4565e7(0x190);}export function buildVerifyFeatureRangerwrightCliDebugPrompt(_0x292cd8){const _0x30303d=_0x5ac7,_0xe60763={'iSWVx':'key_02_learn-more.png','aGcAQ':function(_0x455c9f,_0x5be87f){return _0x455c9f(_0x5be87f);},'azeMs':function(_0x33b518,_0x57dfd2){return _0x33b518(_0x57dfd2);}},_0x5c3f61='01_mozilla-homepage.png',_0x3e51b5=_0xe60763['iSWVx'];return _0x30303d(0x18a)+_0x292cd8[_0x30303d(0x189)]+'\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`'+_0x292cd8['commandPrefix']+_0x30303d(0x1ab)+_0xe60763[_0x30303d(0x1a3)](quoteShellArg,_0x292cd8[_0x30303d(0x18e)])+_0x30303d(0x192)+_0xe60763['azeMs'](quoteShellArg,_0x5c3f61)+'`\x0a2.\x20Use\x20the\x20returned\x20JSON\x20to\x20find\x20the\x20\x22Learn\x20More\x22\x20link\x20ref.\x0a3.\x20Run\x20`'+_0x292cd8[_0x30303d(0x189)]+_0x30303d(0x167)+quoteShellArg(_0x3e51b5)+'`\x0a4.\x20Return\x20immediately\x20with\x20the\x20structured\x20output.\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}export function summarizeVerifyFeatureRangerwrightCliCommandAvailability(_0x261e7d){const _0x3e21ce=_0x5ac7,_0x2c4bd2={'ZCyfM':function(_0x332a29,_0x1f6b26){return _0x332a29===_0x1f6b26;}},_0x469fe9=[..._0x261e7d['keys']()][_0x3e21ce(0x16f)]();let _0x5599ce=0x0;for(const _0x44c83c of _0x261e7d['values']()){_0x5599ce+=_0x44c83c;}return{'cliCommandCount':_0x5599ce,'cliCommandsSeen':_0x469fe9,'noCliCommandsCalled':_0x2c4bd2[_0x3e21ce(0x15d)](_0x5599ce,0x0)};}export function createVerifyFeatureRangerwrightCliHooks(_0x1aec05){const _0x594bcb=_0x5ac7,_0x47b099={'RHaEH':function(_0x51b629,_0x1da916){return _0x51b629!==_0x1da916;},'sBmIS':_0x594bcb(0x18f),'xMmCH':function(_0x1a92d1,_0x2f2c93){return _0x1a92d1(_0x2f2c93);},'DAfSQ':function(_0x146f2a,_0x14b893){return _0x146f2a+_0x14b893;},'LBkEc':'rangerwright_cli_command','nkglg':_0x594bcb(0x17c),'YEBmH':_0x594bcb(0x1af)},_0x71f250=new Map(),_0x2a62da=async _0x286a19=>{const _0x3bd30f=_0x594bcb;if(_0x286a19['hook_event_name']!==_0x3bd30f(0x171))return{};const _0x2418a3=_0x286a19;if(_0x47b099['RHaEH'](_0x2418a3[_0x3bd30f(0x17e)],_0x47b099[_0x3bd30f(0x180)]))return{};const _0x5e889f=_0x2418a3[_0x3bd30f(0x1b5)],_0x21c87c=_0x47b099['xMmCH'](extractBashCommand,_0x5e889f);if(!_0x21c87c)return{};const _0x3fdeb3=_0x47b099[_0x3bd30f(0x1a7)](parseRangerwrightCliCommand,_0x21c87c);if(!_0x3fdeb3)return{};return _0x71f250[_0x3bd30f(0x1ad)](_0x3fdeb3,_0x47b099[_0x3bd30f(0x1a8)](_0x71f250[_0x3bd30f(0x1aa)](_0x3fdeb3)||0x0,0x1)),_0x1aec05['trackPhaseStart'](_0x47b099[_0x3bd30f(0x181)],{'subcommand':_0x3fdeb3}),_0x1aec05['trackPhaseEnd']('rangerwright_cli_command',{'subcommand':_0x3fdeb3,'commandPreview':_0x47b099[_0x3bd30f(0x1a7)](truncatePreview,_0x21c87c)}),console['log'](_0x3bd30f(0x15c)+formatRangerwrightCliLog(_0x21c87c,_0x3fdeb3)),{};},_0xa3637b=async _0x3e1f24=>{const _0x54a74b=_0x594bcb;if(_0x47b099[_0x54a74b(0x175)](_0x3e1f24['hook_event_name'],_0x47b099[_0x54a74b(0x179)]))return{};const _0x43c887=_0x3e1f24;if(_0x43c887['tool_name']!==_0x54a74b(0x18f))return{};return await _0x1aec05['trackPhaseError'](_0x47b099['YEBmH'],_0x43c887[_0x54a74b(0x1ac)],{'transport':_0x54a74b(0x16a),'toolName':_0x47b099[_0x54a74b(0x180)]}),{};};return{'postToolUseHook':_0x2a62da,'postToolUseFailureHook':_0xa3637b,'commandCounts':_0x71f250};}async function runRangerwrightLifecycleCommand(_0x4ad4e6){const _0x5f3965=_0x5ac7,_0x2f2cd8={'BtOzX':function(_0x5964d4,_0x42f63e){return _0x5964d4??_0x42f63e;}},{options:_0x5d2598,commandArgs:_0x43aa18,env:_0x166917,telemetry:_0x348fa9,phase:_0x279bc9,metadata:_0x24bdae,timeoutMs:_0x4fbd97}=_0x4ad4e6;_0x348fa9[_0x5f3965(0x183)](_0x279bc9,_0x24bdae);try{const _0x242444=await runRangerwrightCliCommand({..._0x5d2598,'commandArgs':_0x43aa18,'cwd':process[_0x5f3965(0x185)](),'env':_0x166917,'timeoutMs':_0x2f2cd8[_0x5f3965(0x1b8)](_0x4fbd97,RANGERWRIGHT_CLI_COMMAND_TIMEOUT_MS)});_0x348fa9['trackPhaseEnd'](_0x279bc9,{..._0x24bdae,'subcommand':_0x242444[_0x5f3965(0x17f)]['subcommand'],'stdoutPreview':truncatePreview(_0x242444[_0x5f3965(0x166)],0x7d0),'stderrPreview':truncatePreview(_0x242444[_0x5f3965(0x161)],0x7d0)});}catch(_0x38de02){await _0x348fa9[_0x5f3965(0x1b3)](_0x279bc9,_0x38de02,_0x24bdae);throw _0x38de02;}}export async function finalizeVerifyFeatureRangerwrightCliSession(_0x4e570a){const _0x4fd96c=_0x5ac7,_0x1a56bb={'ySAPZ':'close'},{telemetry:_0x2392c3,rangerwrightOptions:_0x258878,env:_0x159353,transportMetadata:_0x49fac7}=_0x4e570a,_0x9214d5=[{'phase':'rangerwright_cli_tracing_stop','commandArgs':['tracing-stop']},{'phase':_0x4fd96c(0x195),'commandArgs':['video-stop']},{'phase':'rangerwright_cli_close','commandArgs':[_0x1a56bb['ySAPZ']]}];for(const _0x43ad4c of _0x9214d5){try{await runRangerwrightLifecycleCommand({'options':_0x258878,'commandArgs':[..._0x43ad4c[_0x4fd96c(0x193)]],'env':_0x159353,'telemetry':_0x2392c3,'phase':_0x43ad4c['phase'],'metadata':_0x49fac7});}catch{}}}
|