@ranger-testing/ranger-cli 2.5.4-alpha.f940f0d-18 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -0
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -0
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -0
- package/build/skills/ranger/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x455191=_0xea2f;(function(_0x359d55,_0x73b88e){const _0x44de3b=_0xea2f,_0x4e5b80=_0x359d55();while(!![]){try{const _0x43b49e=parseInt(_0x44de3b(0x12d))/0x1*(parseInt(_0x44de3b(0xd2))/0x2)+parseInt(_0x44de3b(0x121))/0x3*(parseInt(_0x44de3b(0x144))/0x4)+-parseInt(_0x44de3b(0x11b))/0x5+-parseInt(_0x44de3b(0xfe))/0x6*(parseInt(_0x44de3b(0x116))/0x7)+-parseInt(_0x44de3b(0x131))/0x8+-parseInt(_0x44de3b(0x15c))/0x9*(parseInt(_0x44de3b(0x10d))/0xa)+parseInt(_0x44de3b(0x162))/0xb;if(_0x43b49e===_0x73b88e)break;else _0x4e5b80['push'](_0x4e5b80['shift']());}catch(_0x59beb1){_0x4e5b80['push'](_0x4e5b80['shift']());}}}(_0x4f03,0xd8510));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x49b5e8 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x455191(0xfa),bold=_0x529136=>_0x455191(0x184)+_0x529136+'\x1b[0m';function getGitRepoUrl(){const _0xffe878=_0x455191,_0x2e0ecb={'aaMgR':function(_0x5e661f,_0x4b9282,_0x322493){return _0x5e661f(_0x4b9282,_0x322493);},'JlihD':_0xffe878(0x182),'uQQec':'pipe','LYgRD':'github.com/'};try{const _0x306380=_0x2e0ecb['aaMgR'](execSync,_0x2e0ecb[_0xffe878(0x16a)],{'encoding':_0xffe878(0x1a5),'stdio':[_0x2e0ecb[_0xffe878(0x126)],_0x2e0ecb['uQQec'],_0x2e0ecb['uQQec']]})['trim']();return _0x306380[_0xffe878(0x192)](/\.git$/,'')[_0xffe878(0x192)](/^git@github\.com:/,_0x2e0ecb[_0xffe878(0x161)])[_0xffe878(0x192)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x247b84=_0x455191,_0x3ace9a={'wXNPI':_0x247b84(0x1a5),'jwYlB':_0x247b84(0x12e)};try{return execSync(_0x247b84(0x141),{'encoding':_0x3ace9a[_0x247b84(0xef)],'stdio':[_0x247b84(0x12e),_0x247b84(0x12e),_0x3ace9a[_0x247b84(0x114)]]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0xd56fd4={'PNtde':function(_0x34d083,_0x3b9e9e,_0x190d42){return _0x34d083(_0x3b9e9e,_0x190d42);},'MgDkV':function(_0x1045a0){return _0x1045a0();},'lrtUO':'utf-8'},_0x511aba=_0xd56fd4['PNtde'](join,_0xd56fd4['MgDkV'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x511aba))return null;try{const _0x4aa3eb=await _0xd56fd4['PNtde'](readFile,_0x511aba,_0xd56fd4['lrtUO']);return _0x4aa3eb['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x21b938){const _0x27d11f=_0x455191,_0x2f8f70={'VBkLd':function(_0x26fe22){return _0x26fe22();},'kDTzX':function(_0xd90a59,_0x236268,_0x1b39ed){return _0xd90a59(_0x236268,_0x1b39ed);},'HoeFG':function(_0x3a745b,_0x203639,_0x1d6d24,_0x18befe){return _0x3a745b(_0x203639,_0x1d6d24,_0x18befe);}},_0x5197c4=_0x2f8f70[_0x27d11f(0x17f)](getRangerDir),_0xc00c4e=join(_0x5197c4,ACTIVE_FEATURE_FILE);!existsSync(_0x5197c4)&&await _0x2f8f70[_0x27d11f(0x128)](mkdir,_0x5197c4,{'recursive':!![]}),await _0x2f8f70[_0x27d11f(0x150)](writeFile,_0xc00c4e,_0x21b938,'utf-8');}function getProgressDisplay(_0x5b54fb){const _0x32dd59=_0x455191,_0x392150={'AodpI':function(_0x3d76f5,_0x207f72){return _0x3d76f5+_0x207f72;},'EAmAQ':function(_0x22ce96,_0x509b11){return _0x22ce96===_0x509b11;},'UimQv':function(_0x1d9272,_0x33a413){return _0x1d9272*_0x33a413;},'YUJWP':function(_0x1bd9c6,_0x5da90c){return _0x1bd9c6-_0x5da90c;},'yfnZm':function(_0x4765df,_0x1dd426){return _0x4765df>_0x1dd426;}},_0x4e6f64=_0x5b54fb['verifiedItems']||0x0,_0x9383d1=_0x5b54fb[_0x32dd59(0x136)]||0x0,_0x264c7e=_0x5b54fb[_0x32dd59(0x119)]||0x0,_0x2b6143=_0x5b54fb[_0x32dd59(0xcc)]||0x0,_0x55543e=_0x5b54fb[_0x32dd59(0x16d)]||0x0,_0x1d5ac7=_0x392150[_0x32dd59(0x10f)](_0x4e6f64+_0x9383d1,_0x264c7e)+_0x2b6143+_0x55543e;if(_0x392150[_0x32dd59(0x17a)](_0x1d5ac7,0x0))return'-';const _0x3aedd3=0xa,_0x3268d4=Math['round'](_0x392150[_0x32dd59(0x129)](_0x4e6f64/_0x1d5ac7,_0x3aedd3)),_0x578466='█'['repeat'](_0x3268d4)+'░'[_0x32dd59(0xf4)](_0x392150['YUJWP'](_0x3aedd3,_0x3268d4)),_0xb820cd=[];if(_0x264c7e>0x0)_0xb820cd['push'](_0x264c7e+_0x32dd59(0x199));if(_0x392150[_0x32dd59(0x179)](_0x2b6143,0x0))_0xb820cd['push'](_0x2b6143+'\x20incomplete');if(_0x9383d1>0x0)_0xb820cd[_0x32dd59(0xf0)](_0x9383d1+'\x20in\x20progress');const _0x339adf=_0x392150['yfnZm'](_0xb820cd[_0x32dd59(0x19b)],0x0)?'\x20('+_0xb820cd[_0x32dd59(0x11a)](',\x20')+')':'';return _0x578466+'\x20'+_0x4e6f64+'/'+_0x1d5ac7+'\x20verified'+_0x339adf;}function getCurrentSessionItems(_0x367a6d,_0x446846){const _0x1adfac=_0x455191;if(!_0x367a6d[_0x1adfac(0x17d)])return _0x446846['filter'](_0x48bf26=>!_0x48bf26[_0x1adfac(0x18a)]);return _0x446846['filter'](_0xc60b2b=>_0xc60b2b[_0x1adfac(0x18a)]===_0x367a6d['currentSessionId']||!_0xc60b2b[_0x1adfac(0x18a)]);}function _0x4f03(){const _0x2d9638=['/artifacts/','\x20\x20\x20\x20\x20Progress:\x20','No\x20scenarios\x20found.','stats','ylNeY','latestReview','description','jEHkZ','RhhuZ','kSCSZ','write','toLocaleString','UbTfn','assetType','DFaVS','zfSiT','offset','wXNPI','push','):\x20\x22','get','YcArI','repeat','RsgbZ','VkABZ','\x20scenarios.','assets','blockedReason','active-feature.txt','in_progress','short','error','1542WLPlSB','\x0a✅\x20Resumed\x20feature\x20review:\x20','scenarios','JCSwn','incomplete','approved','trim','vrpql','\x20--current-branch','dashboardUrl','\x20\x20\x20\x20\x20📋\x20Selector:\x20','fxwYY','jdumC','textContent','\x20\x20\x20Branch:\x20','3948600wOEepS','pJhue','AodpI','asHeD','completedAt','.md','\x0a✅\x20Session\x20is\x20already\x20completed.','jwYlB','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','32088nzjWOM','screenshotUrls','type','blockedItems','join','4786470jycbpT','jCPPW','iftRX','mDLsj','all','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','54EcfLUg','agentResponse','RANGER_TEST_USERNAME','gitBranch','terminalReason','uQQec','\x0aConcluding\x20session...','kDTzX','UimQv','\x20\x20\x20ID:\x20','ready','scenario','5tNoTuk','pipe','\x20(v','has','11654224guGPEM','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20\x20Expected\x20flow:','verificationInProgressItems','linkedSession','No\x20active\x20session\x20for\x20this\x20feature\x20review.','tpRdg','\x20\x20\x20Created:\x20','incompleteReason','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','content','toLocaleDateString','limit','git\x20rev-parse\x20--abbrev-ref\x20HEAD','mTBuJ','XtFWL','210460PnhjYf','items','\x20\x20\x20\x20\x20\x20Blocked:\x20','yOAer','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','en-US','filter','Scenario\x20','AHwRP','\x0a⚠️\x20\x20','find','HoeFG','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','bPkSp','\x20—\x20','pjnTR','canonicalFlow','env','name','kWVZZ','\x20/\x20','\x0a❌\x20Invalid\x20scenario\x20index:\x20','9ZKqTAp','any','uqODk','\x0a\x20\x20\x20Scenarios:','uvRNy','LYgRD','39774757uttzAf','\x0a✅\x20Report\x20generated:\x20','authorName','stdout','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','submittedAt','sGjBc','version','JlihD','gitRepoUrl','isInteger','pendingItems','closed','dAKOv','log','split','reports','rNYCB','YpEBX','YVlzU','vPJVk','ohoQU','\x20\x20\x20\x20\x20\x20Incomplete:\x20','yfnZm','EAmAQ','isKeyStep','unaddressedComments','currentSessionId','selector','VBkLd','qGrpx','oGBpf','git\x20remote\x20get-url\x20origin','\x0a✅\x20Scenario\x20added','\x1b[1m','\x20\x20\x20Progress:\x20','createdAt','browserSessionId','ryDbh','domRef','sessionId','storage','\x20\x20\x20▶️\x20Started\x20session\x20','\x20--limit\x20','kppUY','bDdZT','spatial','Step\x20','replace','timing','qpjlv','\x20>\x20','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','wALUZ','WXXZS','\x20blocked','NNPBM','length','\x0a✅\x20Restored\x20feature\x20review:\x20','checklistItems','verification_in_progress','AoaAY','canceledReason','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','point','exit','\x0aNo\x20feature\x20reviews\x20found.','utf-8','slice','ziNyc','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','includeDeleted','\x20Session\x20','incompleteItems','\x20\x20\x20Repository:\x20','toFixed','PtwIt','\x0a✅\x20Scenario\x20updated','\x20scenario(s).','124038Fldfmx','status','map','cHaiC','YGNka','totalCount','Next\x20page:\x20ranger\x20list\x20--offset\x20','style','after','assetUrl','currentBranch','lckZM'];_0x4f03=function(){return _0x2d9638;};return _0x4f03();}function displayFeature(_0x3fff91,_0x4ffda3){const _0x9d6ec5=_0x455191,_0x37c34f={'ziNyc':function(_0x5a5ea6,_0x418280){return _0x5a5ea6>_0x418280;},'vrpql':_0x9d6ec5(0x15f),'DFaVS':function(_0x3c672c,_0x160f1e){return _0x3c672c===_0x160f1e;},'PtwIt':_0x9d6ec5(0x103),'YVlzU':_0x9d6ec5(0x102),'wALUZ':function(_0x4062eb,_0x514d31){return _0x4062eb===_0x514d31;},'uvRNy':_0x9d6ec5(0x16e),'fHrFs':_0x9d6ec5(0x19e),'rFFcl':function(_0x11c247,_0x260ab1){return _0x11c247>_0x260ab1;},'ohoQU':function(_0x3df8e0,_0x4658eb){return _0x3df8e0+_0x4658eb;},'bPkSp':function(_0x55cf4e,_0x27a9b4){return _0x55cf4e===_0x27a9b4;},'vXjPb':function(_0xe1364d,_0x2dc094){return _0xe1364d===_0x2dc094;}};console[_0x9d6ec5(0x170)]('\x0a'+_0x3fff91['name']+'\x20('+_0x3fff91[_0x9d6ec5(0x107)]+')');_0x3fff91[_0x9d6ec5(0xe1)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3fff91[_0x9d6ec5(0xe1)]));_0x3fff91[_0x9d6ec5(0xe4)]&&console[_0x9d6ec5(0x170)]('\x20\x20\x20Description:\x20'+_0x3fff91['description']);_0x3fff91['gitRepoUrl']&&console[_0x9d6ec5(0x170)](_0x9d6ec5(0xcd)+_0x3fff91[_0x9d6ec5(0x16b)]);_0x3fff91['gitBranch']&&console['log'](_0x9d6ec5(0x10c)+_0x3fff91['gitBranch']);console['log'](_0x9d6ec5(0x13a)+new Date(_0x3fff91[_0x9d6ec5(0x186)])['toLocaleString']());_0x3fff91['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3fff91['completedAt'])['toLocaleString']());if(_0x4ffda3&&_0x37c34f[_0x9d6ec5(0x1a7)](_0x4ffda3[_0x9d6ec5(0x19b)],0x0)){console['log'](_0x37c34f[_0x9d6ec5(0x105)]);for(let _0x88c204=0x0;_0x88c204<_0x4ffda3[_0x9d6ec5(0x19b)];_0x88c204++){const _0x589df8=_0x4ffda3[_0x88c204];let _0xb4b462;if(_0x37c34f[_0x9d6ec5(0xec)](_0x589df8['status'],_0x9d6ec5(0x16e))&&_0x589df8['terminalReason']===_0x37c34f[_0x9d6ec5(0xcf)])_0xb4b462='✅';else{if(_0x37c34f['DFaVS'](_0x589df8['status'],'verified'))_0xb4b462='🟢';else{if(_0x589df8['status']===_0x37c34f[_0x9d6ec5(0x175)])_0xb4b462='🟠';else{if(_0x37c34f['wALUZ'](_0x589df8['status'],'blocked'))_0xb4b462='🛑';else{if(_0x37c34f[_0x9d6ec5(0xec)](_0x589df8['status'],_0x37c34f[_0x9d6ec5(0x160)]))_0xb4b462='⛔';else _0x589df8['status']===_0x37c34f['fHrFs']?_0xb4b462='⏳':_0xb4b462='⬜';}}}}const _0x5c25d2=_0x37c34f['rFFcl'](_0x589df8[_0x9d6ec5(0x169)],0x1)?_0x9d6ec5(0x12f)+_0x589df8['version']+')':'',_0x5a9f5c=_0x589df8['version']>0x1&&_0x589df8['parentItemId']&&_0x589df8[_0x9d6ec5(0xd3)]!==_0x37c34f['uvRNy']&&_0x589df8['status']!=='verified'?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0x37c34f[_0x9d6ec5(0x177)](_0x88c204,0x1)+'.\x20'+_0xb4b462+'\x20'+_0x589df8['description']+_0x5c25d2+_0x5a9f5c);_0x589df8['status']==='blocked'&&_0x589df8['blockedReason']&&console[_0x9d6ec5(0x170)](_0x9d6ec5(0x146)+_0x589df8[_0x9d6ec5(0xf9)]);_0x37c34f[_0x9d6ec5(0x153)](_0x589df8[_0x9d6ec5(0xd3)],'incomplete')&&_0x589df8['incompleteReason']&&console['log'](_0x9d6ec5(0x178)+_0x589df8['incompleteReason']);if(_0x589df8[_0x9d6ec5(0xd3)]===_0x37c34f['uvRNy']&&_0x37c34f[_0x9d6ec5(0x197)](_0x589df8[_0x9d6ec5(0x125)],_0x9d6ec5(0x103)))console[_0x9d6ec5(0x170)]('\x20\x20\x20\x20\x20\x20Approved');else _0x37c34f['vXjPb'](_0x589df8['status'],_0x37c34f[_0x9d6ec5(0x160)])&&_0x589df8['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x589df8['canceledReason']);}}}export async function featureCreate(_0x25e41c,_0x3835b3){const _0x2e1050=_0x455191,_0x20da5b={'zfSiT':function(_0x282be5,_0x217655){return _0x282be5===_0x217655;},'RsgbZ':function(_0x31945d){return _0x31945d();},'AoaAY':'\x0aCreating\x20feature\x20review...','ONcpZ':function(_0x3e5a71,_0x3c3dbc){return _0x3e5a71(_0x3c3dbc);},'DlCdH':function(_0x4fcc28,_0x5310c8){return _0x4fcc28(_0x5310c8);},'NNPBM':function(_0x599c82,_0x226bdc){return _0x599c82(_0x226bdc);},'mmBxm':function(_0x34e4ea,_0x49d8b0,_0x4f6fd6){return _0x34e4ea(_0x49d8b0,_0x4f6fd6);}},{envNames:_0x3be200}=await getEnvNames();if(_0x3be200[_0x2e1050(0x19b)]===0x0&&!process['env'][_0x2e1050(0x123)]){let _0x4bf60c=0x0;try{_0x4bf60c=(await listCloudProfiles())[_0x2e1050(0x19b)];}catch{_0x4bf60c=0x1;}_0x20da5b[_0x2e1050(0xed)](_0x4bf60c,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x3b729d=>bold(_0x3b729d)));}const _0x4d5f44=_0x3835b3[_0x2e1050(0x100)]?_0x3835b3[_0x2e1050(0x100)]['map'](_0x5ac65c=>_0x5ac65c[_0x2e1050(0x104)]()):[],_0x29460b=getGitRepoUrl(),_0x4fcadd=_0x20da5b[_0x2e1050(0xf5)](getGitBranch);console['log'](_0x20da5b[_0x2e1050(0x19f)]);const _0x5b4ba6=await _0x20da5b['ONcpZ'](createFeature,{'name':_0x25e41c,'description':_0x3835b3[_0x2e1050(0xe4)],'checklist':_0x4d5f44,'gitRepoUrl':_0x29460b,'gitBranch':_0x4fcadd});await _0x20da5b['DlCdH'](setActiveFeatureId,_0x5b4ba6['id']),await _0x20da5b[_0x2e1050(0x19a)](tryStartCurrentSession,_0x5b4ba6['id']);const _0x1e148e=process[_0x2e1050(0x157)]['CLAUDE_SESSION_ID'];_0x1e148e&&_0x20da5b['mmBxm'](registerSession,_0x1e148e,_0x5b4ba6['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5b4ba6['id']),displayFeature(_0x5b4ba6,_0x5b4ba6[_0x2e1050(0x19d)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x486a01){const _0x528c80=_0x455191,_0x1be227={'WXXZS':function(_0x3197a6){return _0x3197a6();},'jCPPW':'1|5|4|2|0|3','OtAtF':function(_0x2f304,_0x5767e4){return _0x2f304(_0x5767e4);},'pEKft':'\x20--include-deleted'},_0x38da55={'limit':_0x486a01['limit']??0xa,'offset':_0x486a01['offset']??0x0,'includeDeleted':_0x486a01['includeDeleted']};_0x486a01[_0x528c80(0xdc)]&&(_0x38da55['gitRepoUrl']=_0x1be227[_0x528c80(0x198)](getGitRepoUrl),_0x38da55[_0x528c80(0x124)]=getGitBranch());const _0x30efcc=await listFeatures(_0x38da55);if(_0x30efcc[_0x528c80(0x145)]['length']===0x0){console['log'](_0x528c80(0x1a4));return;}const _0x361915=_0x30efcc[_0x528c80(0xd7)]>_0x30efcc['items'][_0x528c80(0x19b)]?'Showing\x20'+_0x30efcc['items']['length']+'\x20of\x20'+_0x30efcc[_0x528c80(0xd7)]:_0x30efcc[_0x528c80(0xd7)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x361915+':\x0a');for(const _0x3f59f7 of _0x30efcc['items']){const _0x45dceb=_0x1be227[_0x528c80(0x11c)]['split']('|');let _0x57cd56=0x0;while(!![]){switch(_0x45dceb[_0x57cd56++]){case'0':console['log'](_0x528c80(0x13a)+new Date(_0x3f59f7['createdAt'])['toLocaleDateString']());continue;case'1':console[_0x528c80(0x170)](''+_0x3f59f7[_0x528c80(0x158)]);continue;case'2':_0x3f59f7[_0x528c80(0x124)]&&console[_0x528c80(0x170)]('\x20\x20\x20Branch:\x20'+_0x3f59f7['gitBranch']);continue;case'3':console['log']('');continue;case'4':_0x3f59f7['stats']&&console[_0x528c80(0x170)](_0x528c80(0x185)+_0x1be227['OtAtF'](getProgressDisplay,_0x3f59f7['stats']));continue;case'5':console['log'](_0x528c80(0x12a)+_0x3f59f7['id']);continue;}break;}}const _0x48dbf8=_0x38da55[_0x528c80(0x140)]??0xa,_0x240f50=(_0x38da55[_0x528c80(0xee)]??0x0)+_0x30efcc['items']['length'];if(_0x240f50<_0x30efcc[_0x528c80(0xd7)]){const _0x5f4e2f=_0x48dbf8!==0xa?_0x528c80(0x18d)+_0x48dbf8:'',_0x1b4d2a=_0x486a01[_0x528c80(0xdc)]?_0x528c80(0x106):'',_0x404dbc=_0x486a01[_0x528c80(0x1a9)]?_0x1be227['pEKft']:'';console[_0x528c80(0x170)](_0x528c80(0xd8)+_0x240f50+_0x5f4e2f+_0x1b4d2a+_0x404dbc);}}export async function featureShow(_0x14d54d){const _0x4318dc=_0x455191,_0x2b20c6={'pJhue':function(_0x3360f5,_0x243cc1,_0x5614f9){return _0x3360f5(_0x243cc1,_0x5614f9);}},_0x183655=_0x14d54d||await getActiveFeatureId();if(!_0x183655)throw new Error(_0x4318dc(0x133));const _0x21d822=await getFeature(_0x183655);_0x2b20c6[_0x4318dc(0x10e)](displayFeature,_0x21d822,_0x21d822[_0x4318dc(0x19d)]);}export async function featureResume(_0x15beb3){const _0x1ef07c=_0x455191,_0x2eb68a={'qpjlv':function(_0x4da653,_0x3a0f9e){return _0x4da653(_0x3a0f9e);},'ryDbh':function(_0x3f7a5f){return _0x3f7a5f();},'InaGN':function(_0x4e7948,_0x14c639){return _0x4e7948!==_0x14c639;},'xhmeC':function(_0xebc01,_0x56f177,_0x1259d6){return _0xebc01(_0x56f177,_0x1259d6);},'fxwYY':function(_0x160706,_0x40d70c){return _0x160706(_0x40d70c);},'rNYCB':function(_0x39cb8a){return _0x39cb8a();},'NVSoZ':function(_0x5250b9,_0xc5f7c9){return _0x5250b9||_0xc5f7c9;},'hHgxq':_0x1ef07c(0x15d),'asHeD':'selected','dAKOv':function(_0x4bd0d3,_0x397aee){return _0x4bd0d3(_0x397aee);}};if(_0x15beb3){const _0x409118=await _0x2eb68a['qpjlv'](getFeature,_0x15beb3);await setActiveFeatureId(_0x409118['id']);const _0x555c4c=_0x2eb68a[_0x1ef07c(0x188)](getGitBranch);_0x555c4c&&_0x2eb68a['InaGN'](_0x555c4c,_0x409118['gitBranch'])&&(await _0x2eb68a['xhmeC'](updateFeature,_0x409118['id'],{'gitBranch':_0x555c4c}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x555c4c));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x409118[_0x1ef07c(0x158)]+'\x20('+_0x409118['id']+')'),await tryStartCurrentSession(_0x409118['id']);const _0x3c3c71=process['env']['CLAUDE_SESSION_ID'];_0x3c3c71&®isterSession(_0x3c3c71,_0x409118['id']);_0x2eb68a['xhmeC'](displayFeature,_0x409118,_0x409118['checklistItems']),await _0x2eb68a[_0x1ef07c(0x109)](printFeedbackNudge,_0x409118['id']);return;}const _0x7cf641=getGitRepoUrl(),_0x139047=_0x2eb68a[_0x1ef07c(0x173)](getGitBranch);if(!_0x7cf641&&!_0x139047)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x2eb68a['NVSoZ'](_0x7cf641,_0x2eb68a['hHgxq'])+_0x1ef07c(0x15a)+(_0x139047||_0x1ef07c(0x15d))+'...');const _0x17de42=await _0x2eb68a[_0x1ef07c(0x109)](listFeatures,{'gitRepoUrl':_0x7cf641,'gitBranch':_0x139047}),_0x229229=_0x17de42['items']['filter'](_0x2c4d0b=>_0x2c4d0b[_0x1ef07c(0xd3)]?_0x2c4d0b['status']!=='verified':!_0x2c4d0b['completedAt']);if(_0x229229[_0x1ef07c(0x19b)]===0x0){console[_0x1ef07c(0x170)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x1ef07c(0x170)](_0x1ef07c(0x166));return;}let _0x5d0fe1;if(_0x229229[_0x1ef07c(0x19b)]===0x1)_0x5d0fe1=_0x229229[0x0];else{const _0x4f98ae=process['stdin']['isTTY']&&process[_0x1ef07c(0x165)]['isTTY'];if(!_0x4f98ae){console['log'](_0x1ef07c(0x1a8));for(const _0x93184a of _0x229229){console['log']('\x20\x20'+_0x93184a['name']),console[_0x1ef07c(0x170)]('\x20\x20\x20\x20\x20ID:\x20'+_0x93184a['id']),_0x93184a['stats']&&console['log'](_0x1ef07c(0xdf)+_0x2eb68a['qpjlv'](getProgressDisplay,_0x93184a[_0x1ef07c(0xe1)])),_0x93184a[_0x1ef07c(0x124)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x93184a['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x94ecaf}=await _0x49b5e8['prompt']([{'type':'list','name':_0x2eb68a[_0x1ef07c(0x110)],'message':_0x1ef07c(0x115),'choices':_0x229229['map'](_0x419637=>({'name':_0x419637[_0x1ef07c(0x158)]+'\x20('+_0x419637['id']+')','value':_0x419637['id']}))}]);_0x5d0fe1=_0x229229[_0x1ef07c(0x14f)](_0x59cf4d=>_0x59cf4d['id']===_0x94ecaf);}await _0x2eb68a[_0x1ef07c(0x16f)](setActiveFeatureId,_0x5d0fe1['id']);_0x139047&&_0x139047!==_0x5d0fe1[_0x1ef07c(0x124)]&&(await updateFeature(_0x5d0fe1['id'],{'gitBranch':_0x139047}),console['log'](_0x1ef07c(0x152)+_0x139047));console['log'](_0x1ef07c(0xff)+_0x5d0fe1['name']+'\x20('+_0x5d0fe1['id']+')'),await _0x2eb68a[_0x1ef07c(0x194)](tryStartCurrentSession,_0x5d0fe1['id']);const _0x2fc5b3=await _0x2eb68a['dAKOv'](getFeature,_0x5d0fe1['id']),_0x1e0537=process['env']['CLAUDE_SESSION_ID'];_0x1e0537&®isterSession(_0x1e0537,_0x2fc5b3['id']),displayFeature(_0x2fc5b3,_0x2fc5b3['checklistItems']),await printFeedbackNudge(_0x2fc5b3['id']);}async function printFeedbackNudge(_0x4b250c){const _0x4a6e46=_0x455191;try{const {items:_0x277461}=await getActionItems(_0x4b250c);let _0x1a939e=0x0,_0x173c1a=0x0;for(const _0x6f4a41 of _0x277461){const _0x2bc67d=await getItemFeedback(_0x4b250c,_0x6f4a41['id']);_0x2bc67d['unaddressedComments']['length']>0x0&&(_0x1a939e+=_0x2bc67d['unaddressedComments'][_0x4a6e46(0x19b)],_0x173c1a++);}_0x1a939e>0x0&&(console[_0x4a6e46(0x170)](_0x4a6e46(0x14e)+_0x1a939e+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x173c1a+_0x4a6e46(0xd1)),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x20893b){const _0x573324=_0x455191,_0x519f8a={'AHwRP':function(_0x13c8b3,_0x9c9629){return _0x13c8b3(_0x9c9629);}};try{const {sessions:_0x41297c}=await _0x519f8a[_0x573324(0x14d)](listFeatureSessions,_0x20893b),_0xf705c6=_0x41297c['find'](_0x8a4735=>_0x8a4735['status']===_0x573324(0x12b));_0xf705c6&&(await startSession(_0x20893b,_0xf705c6['id']),console['log'](_0x573324(0x18c)+_0xf705c6['iteration']));}catch{}}function _0xea2f(_0x36d32,_0x41dad5){_0x36d32=_0x36d32-0xcc;const _0x4f039f=_0x4f03();let _0xea2fe4=_0x4f039f[_0x36d32];return _0xea2fe4;}export async function featureReport(_0x38209f,_0x50d07a){const _0x18de00=_0x455191,_0xe7de13={'mDLsj':function(_0x145a25){return _0x145a25();},'jWwMC':'\x0aGenerating\x20report...','jEHkZ':function(_0x5005fb,_0x67f808,_0x3fc0b9,_0x464bd2){return _0x5005fb(_0x67f808,_0x3fc0b9,_0x464bd2);},'HrjDH':function(_0x348fa7,_0xd5809c){return _0x348fa7(_0xd5809c);},'WtgBc':function(_0x35fce1,_0x404b1e,_0x321602){return _0x35fce1(_0x404b1e,_0x321602);}},_0x2ec03a=_0x38209f||await _0xe7de13[_0x18de00(0x11e)](getActiveFeatureId);if(!_0x2ec03a)throw new Error(_0x18de00(0x120));console['log'](_0xe7de13['jWwMC']);const _0x3cfb68=await getFeatureReportMarkdown(_0x2ec03a,{'style':_0x50d07a[_0x18de00(0xd9)]}),_0x34f96f=_0x50d07a['output']||_0xe7de13[_0x18de00(0xe5)](join,_0xe7de13[_0x18de00(0x11e)](getRangerDir),_0x18de00(0x172),_0x2ec03a+_0x18de00(0x112)),_0x4b644e=join(_0x34f96f,'..');!_0xe7de13['HrjDH'](existsSync,_0x4b644e)&&await _0xe7de13['WtgBc'](mkdir,_0x4b644e,{'recursive':!![]}),await _0xe7de13['jEHkZ'](writeFile,_0x34f96f,_0x3cfb68,'utf-8'),console['log'](_0x18de00(0x163)+_0x34f96f);}function getScenarioResult(_0x1dc3cd){const _0x5bd365=_0x455191,_0x53c795={'jdumC':function(_0x4cf2ae,_0x3f901e){return _0x4cf2ae===_0x3f901e;},'sGjBc':'closed','mRBgK':'verification_in_progress','uqODk':_0x5bd365(0xfb)};if(_0x53c795['jdumC'](_0x1dc3cd[_0x5bd365(0xd3)],_0x5bd365(0x16e)))return _0x1dc3cd['terminalReason']??_0x53c795[_0x5bd365(0x168)];if(_0x53c795[_0x5bd365(0x10a)](_0x1dc3cd[_0x5bd365(0xd3)],_0x53c795['mRBgK']))return _0x53c795[_0x5bd365(0x15e)];return _0x1dc3cd['status'];}function getScenarioRationale(_0x25f7c7,_0x5f126b){const _0x3d5ff1=_0x455191;if(_0x5f126b)return _0x5f126b;if(_0x25f7c7['blockedReason'])return _0x25f7c7[_0x3d5ff1(0xf9)];if(_0x25f7c7[_0x3d5ff1(0x13b)])return _0x25f7c7['incompleteReason'];if(_0x25f7c7['canceledReason'])return _0x25f7c7[_0x3d5ff1(0x1a0)];if(_0x25f7c7['notes'])return _0x25f7c7['notes'];return null;}export async function featureReportPrDescription(_0x972fe0,_0x2d08e9){const _0x23ef30=_0x455191,_0x5aca2e={'sRRLZ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','UWdzR':function(_0x26113c,_0x4f7b29,_0x3abaff){return _0x26113c(_0x4f7b29,_0x3abaff);},'ZwKRy':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','iQyBZ':function(_0x4fb5be,_0x12abb9){return _0x4fb5be+_0x12abb9;},'pCLCG':function(_0x224d13,_0x359437){return _0x224d13===_0x359437;},'tpRdg':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x5dd39e=_0x972fe0||await getActiveFeatureId();if(!_0x5dd39e)throw new Error(_0x5aca2e['sRRLZ']);const _0x23c05e=await getFeature(_0x5dd39e),_0x357595=_0x23c05e[_0x23ef30(0x19d)]||[],_0x41c68c=_0x5aca2e['UWdzR'](getCurrentSessionItems,_0x23c05e,_0x357595);_0x41c68c[_0x23ef30(0x19b)]===0x0&&(console['error'](_0x5aca2e['ZwKRy']),process['exit'](0x1));const _0x1becf5=_0x2d08e9['excludeScenarios']??[],_0x800b3a=_0x1becf5['filter'](_0x2af888=>!Number[_0x23ef30(0x16c)](_0x2af888)||_0x2af888<0x1||_0x2af888>_0x41c68c[_0x23ef30(0x19b)]);if(_0x800b3a[_0x23ef30(0x19b)]>0x0){console[_0x23ef30(0xfd)](_0x23ef30(0x151)+_0x800b3a[_0x23ef30(0x11a)](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2cc996=0x0;_0x2cc996<_0x41c68c['length'];_0x2cc996++){console['log']('\x20\x20'+_0x5aca2e['iQyBZ'](_0x2cc996,0x1)+'.\x20'+_0x41c68c[_0x2cc996]['description']);}process[_0x23ef30(0x1a3)](0x1);}const _0x25f875=new Set(_0x1becf5[_0x23ef30(0xd4)](_0x2747e6=>_0x2747e6-0x1)),_0x301bd5=_0x41c68c[_0x23ef30(0x14b)]((_0x1c104d,_0x4be15a)=>!_0x25f875[_0x23ef30(0x130)](_0x4be15a));_0x5aca2e['pCLCG'](_0x301bd5[_0x23ef30(0x19b)],0x0)&&(console['error'](_0x5aca2e[_0x23ef30(0x139)]),process[_0x23ef30(0x1a3)](0x1));if(_0x2d08e9['json'])await outputJsonReport(_0x5dd39e,_0x23c05e,_0x301bd5);else{const _0x237895=await getFeatureReportMarkdown(_0x5dd39e,{'itemIds':_0x301bd5['map'](_0x187d16=>_0x187d16['id'])});process[_0x23ef30(0x165)][_0x23ef30(0xe8)](_0x237895['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x4e459b,_0x4df671,_0x158848){const _0x10af0c=_0x455191,_0xc7d74e={'yOAer':function(_0x4d892a,_0x1cf148){return _0x4d892a(_0x1cf148);},'qfhoC':function(_0x5a1d36,_0x4cd4e0){return _0x5a1d36>_0x4cd4e0;},'YpEBX':function(_0x251cb8){return _0x251cb8();}},_0x58f43f=_0xc7d74e[_0x10af0c(0x174)](getApiBaseUrl),_0x502e6f=await getFeatureReport(_0x4e459b),_0x3e3076=new Map(_0x502e6f[_0x10af0c(0x19d)][_0x10af0c(0xd4)](_0x56bf0c=>[_0x56bf0c['id'],_0x56bf0c])),_0x5b5b49=await Promise[_0x10af0c(0x11f)](_0x158848[_0x10af0c(0xd4)](async _0x286121=>{const _0x206fe0=_0x10af0c,_0x5a0a96=_0x3e3076[_0x206fe0(0xf2)](_0x286121['id']),_0x315a05=_0x5a0a96?.[_0x206fe0(0x137)]??null;let _0x4edd4f=[];if(_0x286121['browserSessionId'])try{const {steps:_0x4662f7}=await _0xc7d74e['yOAer'](getBrowserSessionSteps,_0x286121[_0x206fe0(0x187)]);_0xc7d74e['qfhoC'](_0x4662f7['length'],0x0)&&(_0x4edd4f=_0x4662f7[_0x206fe0(0xd4)](_0x29144c=>{const _0xd2b2ac=_0x206fe0,_0x41aec2=_0x29144c['assets'][_0xd2b2ac(0x14f)](_0x243fef=>_0x243fef[_0xd2b2ac(0xeb)]==='screenshot'&&_0x243fef[_0xd2b2ac(0x193)]===_0xd2b2ac(0xda))??_0x29144c[_0xd2b2ac(0xf8)][_0xd2b2ac(0x14f)](_0x3188e0=>_0x3188e0[_0xd2b2ac(0xeb)]==='screenshot');let _0x548224=null,_0x4c5029=null;if(_0x41aec2){const _0xd7dc54=_0x41aec2[_0xd2b2ac(0x18b)]['location'][_0xd2b2ac(0x171)]('/')['pop']();_0x548224=_0x58f43f+'/api/v1/mcp/browser-sessions/'+_0x286121[_0xd2b2ac(0x187)]+_0xd2b2ac(0xde)+_0xd7dc54,_0xd7dc54&&(_0x4c5029=_0xd7dc54[_0xd2b2ac(0x192)](/\.\w+$/,'')[_0xd2b2ac(0x192)](/^(key_)?\d+_/,'')[_0xd2b2ac(0x192)](/[-_]/g,'\x20'));}return{'description':_0x4c5029||_0x29144c['description']||_0x29144c['stepName']||_0xd2b2ac(0x191)+_0x29144c['position'],'screenshot':_0x548224,'is_key_step':_0x29144c[_0xd2b2ac(0x17b)]};}));}catch{}return _0x4edd4f['length']===0x0&&_0x315a05?.['screenshotUrls']&&(_0x4edd4f=_0x315a05[_0x206fe0(0x117)][_0x206fe0(0xd4)]((_0x417ac2,_0x5adc53)=>({'description':'Screenshot\x20'+(_0x5adc53+0x1),'screenshot':_0x417ac2,'is_key_step':![]}))),{'description':_0x286121[_0x206fe0(0xe4)],'result':_0xc7d74e[_0x206fe0(0x147)](getScenarioResult,_0x286121),'rationale':getScenarioRationale(_0x286121,_0x315a05?.[_0x206fe0(0x122)]),'steps':_0x4edd4f};})),_0x42a526={'url':_0x4df671[_0x10af0c(0x107)],'scenarios':_0x5b5b49};process['stdout']['write'](JSON['stringify'](_0x42a526,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x168cfd){const _0x47e6c8=_0x455191,_0x37ba81={'JCSwn':function(_0x1dc737){return _0x1dc737();},'oGBpf':'completed','lckZM':function(_0x5caf77,_0x45cc18){return _0x5caf77!==_0x45cc18;}},_0x240fae=_0x168cfd||await _0x37ba81[_0x47e6c8(0x101)](getActiveFeatureId);if(!_0x240fae)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x29c456=await getFeature(_0x240fae);if(!_0x29c456['currentSessionId'])throw new Error(_0x47e6c8(0x138));const {sessions:_0x4c78e7}=await listFeatureSessions(_0x240fae),_0x5b4f4f=_0x4c78e7['find'](_0x241b45=>_0x241b45['id']===_0x29c456['currentSessionId']);if(!_0x5b4f4f)throw new Error('Current\x20session\x20not\x20found.');if(_0x5b4f4f[_0x47e6c8(0xd3)]===_0x37ba81[_0x47e6c8(0x181)]){console[_0x47e6c8(0x170)](_0x47e6c8(0x113));return;}if(_0x37ba81[_0x47e6c8(0xdd)](_0x5b4f4f[_0x47e6c8(0xd3)],_0x47e6c8(0xfb)))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x5b4f4f['status']);console['log'](_0x47e6c8(0x127)),await concludeSession(_0x240fae,_0x29c456[_0x47e6c8(0x17d)]),console[_0x47e6c8(0x170)]('\x0a✅\x20Session\x20'+_0x5b4f4f['iteration']+'\x20concluded.'),console[_0x47e6c8(0x170)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x429ddc){const _0x270719=_0x455191,_0x5d463c={'sIjqG':function(_0x51e36c){return _0x51e36c();},'XtFWL':function(_0xc381c0,_0x4af47f){return _0xc381c0(_0x4af47f);},'UAzdt':function(_0x465dff,_0x55fc74){return _0x465dff===_0x55fc74;},'QQxSa':'completed'},_0x5a59c8=_0x429ddc||await _0x5d463c['sIjqG'](getActiveFeatureId);if(!_0x5a59c8)throw new Error(_0x270719(0x120));const _0x1ca129=await _0x5d463c[_0x270719(0x143)](getFeature,_0x5a59c8);console[_0x270719(0x170)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x1ca129[_0x270719(0x158)]+'\x0a');const {sessions:_0x45e712}=await listFeatureSessions(_0x5a59c8);if(_0x5d463c['UAzdt'](_0x45e712[_0x270719(0x19b)],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x357a33 of _0x45e712){const _0x206e5d=_0x357a33['status']===_0x5d463c['QQxSa']?'✅':_0x357a33[_0x270719(0xd3)]==='in_progress'?'🔄':'▶️';console['log'](_0x206e5d+_0x270719(0x1aa)+_0x357a33['iteration']+'\x20('+_0x357a33['id']+')'),console[_0x270719(0x170)]('\x20\x20\x20Status:\x20'+_0x357a33['status']),console[_0x270719(0x170)]('\x20\x20\x20Created:\x20'+new Date(_0x357a33['createdAt'])[_0x270719(0xe9)]()),_0x357a33['completedAt']&&console[_0x270719(0x170)]('\x20\x20\x20Completed:\x20'+new Date(_0x357a33[_0x270719(0x111)])[_0x270719(0xe9)]()),console[_0x270719(0x170)]('');}}export async function featureAddScenario(_0x28b292,_0x3ec5b8){const _0x5a86a1=_0x455191,_0x2d2d1d={'ZFMPI':function(_0x63e4a8){return _0x63e4a8();},'WczBY':function(_0x15aab5,_0xf75251,_0x7e41c2){return _0x15aab5(_0xf75251,_0x7e41c2);}},_0x54ee5d=_0x3ec5b8||await _0x2d2d1d['ZFMPI'](getActiveFeatureId);if(!_0x54ee5d)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x977a83=await getFeature(_0x54ee5d);if(_0x977a83[_0x5a86a1(0xe3)]&&!_0x977a83['latestReview'][_0x5a86a1(0x167)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x977a83['dashboardUrl']);await _0x2d2d1d['WczBY'](createChecklistItem,_0x54ee5d,_0x28b292);const _0x231715=await getFeature(_0x54ee5d);console[_0x5a86a1(0x170)](_0x5a86a1(0x183)),displayFeature(_0x231715,_0x231715[_0x5a86a1(0x19d)]);}export async function featureEditScenario(_0x16cc0c,_0x2ed000){const _0x4a145a=_0x455191,_0x944d23={'OuXWm':function(_0x154c3e,_0x4589c1){return _0x154c3e(_0x4589c1);},'kSCSZ':'Please\x20finish\x20your\x20review\x20first:','vVcAh':function(_0x2c40d1,_0x5ba2f6){return _0x2c40d1===_0x5ba2f6;},'kWVZZ':_0x4a145a(0x1a1),'RhhuZ':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','klDff':'\x0aAvailable\x20scenarios:','YcArI':function(_0x11bbd5,_0x3d5d20){return _0x11bbd5<_0x3d5d20;},'OLTil':function(_0x337e8d,_0x3b2dbc){return _0x337e8d>=_0x3b2dbc;},'cHaiC':function(_0x2bbe0e,_0x345a67){return _0x2bbe0e+_0x345a67;},'pjnTR':function(_0x3a6bae,_0x1ccae2,_0x2da972,_0x4732cc){return _0x3a6bae(_0x1ccae2,_0x2da972,_0x4732cc);}},_0x443e80=_0x2ed000['id']||await getActiveFeatureId();!_0x443e80&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x4a145a(0xfd)](_0x4a145a(0x196)),process[_0x4a145a(0x1a3)](0x1));const _0x16719e=await _0x944d23['OuXWm'](getFeature,_0x443e80);_0x16719e[_0x4a145a(0xe3)]&&!_0x16719e['latestReview']['submittedAt']&&(console['error'](_0x4a145a(0x149)),console[_0x4a145a(0xfd)](_0x944d23[_0x4a145a(0xe7)]),console[_0x4a145a(0xfd)]('\x20\x20'+_0x16719e['dashboardUrl']),process[_0x4a145a(0x1a3)](0x1));const _0x446625=_0x16719e[_0x4a145a(0x19d)]||[];_0x944d23['vVcAh'](_0x446625['length'],0x0)&&(console[_0x4a145a(0xfd)](_0x944d23[_0x4a145a(0x159)]),process['exit'](0x1));if(_0x2ed000['scenario']===undefined){console['error'](_0x944d23[_0x4a145a(0xe6)]),console['log'](_0x944d23['klDff']);for(let _0x46d5fd=0x0;_0x46d5fd<_0x446625[_0x4a145a(0x19b)];_0x46d5fd++){console[_0x4a145a(0x170)]('\x20\x20'+(_0x46d5fd+0x1)+'.\x20'+_0x446625[_0x46d5fd]['description']);}process['exit'](0x1);}const _0x1f8653=_0x2ed000[_0x4a145a(0x12c)]-0x1;if(_0x944d23['YcArI'](_0x1f8653,0x0)||_0x944d23['OLTil'](_0x1f8653,_0x446625['length'])){console[_0x4a145a(0xfd)](_0x4a145a(0x15b)+_0x2ed000[_0x4a145a(0x12c)]+'.\x20Feature\x20review\x20has\x20'+_0x446625['length']+_0x4a145a(0xf7)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x335a1d=0x0;_0x944d23[_0x4a145a(0xf3)](_0x335a1d,_0x446625['length']);_0x335a1d++){console[_0x4a145a(0x170)]('\x20\x20'+_0x944d23[_0x4a145a(0xd5)](_0x335a1d,0x1)+'.\x20'+_0x446625[_0x335a1d][_0x4a145a(0xe4)]);}process[_0x4a145a(0x1a3)](0x1);}const _0x124b8d=_0x446625[_0x1f8653];await _0x944d23[_0x4a145a(0x155)](updateChecklistItem,_0x443e80,_0x124b8d['id'],{'description':_0x16cc0c});const _0xc50a13=await getFeature(_0x443e80);console['log'](_0x4a145a(0xd0)),displayFeature(_0xc50a13,_0xc50a13[_0x4a145a(0x19d)]);}async function downloadFeedbackImage(_0x171724,_0x152daa){const _0x56f26b=_0x455191,_0x5f06de={'mTBuJ':function(_0x210915,_0x37bb85,_0x36b8d9){return _0x210915(_0x37bb85,_0x36b8d9);},'iftRX':'feedback-images'};try{const _0x33b31d=_0x5f06de[_0x56f26b(0x142)](join,getRangerDir(),_0x5f06de[_0x56f26b(0x11d)]);await _0x5f06de[_0x56f26b(0x142)](mkdir,_0x33b31d,{'recursive':!![]});const _0x62742e=join(_0x33b31d,'comment_'+_0x152daa+'.png'),_0x1d943e=await fetch(_0x171724);if(!_0x1d943e['ok'])return null;const _0x55c536=Buffer['from'](await _0x1d943e['arrayBuffer']());return await writeFile(_0x62742e,_0x55c536),_0x62742e;}catch{return null;}}export async function featureGetReview(_0x4fb15c){const _0x159b6c=_0x455191,_0x211776={'bDdZT':_0x159b6c(0x133),'kppUY':function(_0x3b7428,_0x493369){return _0x3b7428(_0x493369);},'vPJVk':function(_0xeb1253,_0x5b0f5d){return _0xeb1253===_0x5b0f5d;},'BHgAY':_0x159b6c(0xe0),'JqDta':function(_0x4d9fb5,_0x296e43){return _0x4d9fb5<_0x296e43;},'uBJQJ':function(_0x15484e,_0x53e3cb){return _0x15484e>_0x53e3cb;},'iuRLJ':function(_0x548f31,_0x28f75b){return _0x548f31>_0x28f75b;},'qGrpx':function(_0x4f9a2f,_0x53275a){return _0x4f9a2f+_0x53275a;},'ylNeY':_0x159b6c(0x14a),'YGNka':'Unknown','UbTfn':function(_0x1342d1,_0x3f0ee7){return _0x1342d1===_0x3f0ee7;}},_0x25c1fe=_0x4fb15c||await getActiveFeatureId();if(!_0x25c1fe)throw new Error(_0x211776[_0x159b6c(0x18f)]);const _0x1d0ff7=await getFeature(_0x25c1fe),{items:_0x521281}=await _0x211776[_0x159b6c(0x18e)](getActionItems,_0x25c1fe);console[_0x159b6c(0x170)]('\x0a📋\x20Feedback\x20for:\x20'+_0x1d0ff7['name']+'\x20('+_0x1d0ff7['id']+')\x0a');if(_0x211776[_0x159b6c(0x176)](_0x521281['length'],0x0)){console[_0x159b6c(0x170)](_0x211776['BHgAY']);return;}for(let _0x26668b=0x0;_0x211776['JqDta'](_0x26668b,_0x521281[_0x159b6c(0x19b)]);_0x26668b++){const _0x369b20=_0x521281[_0x26668b],_0x2a1f71=_0x211776['uBJQJ'](_0x369b20[_0x159b6c(0x169)],0x1)?'\x20(v'+_0x369b20['version']+')':'',_0x2485f1=await getItemFeedback(_0x25c1fe,_0x369b20['id']);if(_0x211776['iuRLJ'](_0x2485f1[_0x159b6c(0x17c)][_0x159b6c(0x19b)],0x0)){console[_0x159b6c(0x170)](_0x159b6c(0x14c)+_0x211776[_0x159b6c(0x180)](_0x26668b,0x1)+':\x20\x22'+_0x369b20['description']+'\x22'+_0x2a1f71+_0x159b6c(0x154)+_0x2485f1[_0x159b6c(0x17c)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x343b63 of _0x2485f1['unaddressedComments']){const _0xdcedb=new Date(_0x343b63[_0x159b6c(0x186)])[_0x159b6c(0x13f)](_0x211776[_0x159b6c(0xe2)],{'month':_0x159b6c(0xfc),'day':'numeric'}),_0xf36755=_0x343b63[_0x159b6c(0x164)]||_0x343b63['authorEmail']||_0x211776[_0x159b6c(0xd6)];console['log']('\x20\x20💬\x20'+_0xf36755+'\x20('+_0xdcedb+_0x159b6c(0xf1)+_0x343b63[_0x159b6c(0x13e)]+'\x22');if(_0x343b63[_0x159b6c(0xdb)]){const _0x7682a3=await downloadFeedbackImage(_0x343b63['assetUrl'],_0x343b63['id']);_0x7682a3&&console[_0x159b6c(0x170)](_0x159b6c(0x13c)+_0x7682a3);}if(_0x343b63['domRef']){const _0x36ca1e=_0x343b63[_0x159b6c(0x189)][_0x159b6c(0x17e)]['split'](_0x159b6c(0x195))['pop']()?.[_0x159b6c(0x171)](':')[0x0]||'element',_0x5d7ee8=_0x343b63['domRef']['textContent']?'\x20\x22'+_0x343b63['domRef'][_0x159b6c(0x10b)][_0x159b6c(0x1a6)](0x0,0x3c)+'\x22':'';console['log'](_0x159b6c(0x148)+_0x36ca1e+'>'+_0x5d7ee8),console[_0x159b6c(0x170)](_0x159b6c(0x108)+_0x343b63['domRef']['selector']);}else{if(_0x343b63[_0x159b6c(0x190)]){const _0x413377=_0x343b63['spatial']['coordinates'];_0x211776[_0x159b6c(0xea)](_0x343b63['spatial']['type'],_0x159b6c(0x1a2))&&_0x413377['length']>=0x2?console['log'](_0x159b6c(0x132)+_0x413377[0x0][_0x159b6c(0xce)](0x2)+',\x20'+_0x413377[0x1]['toFixed'](0x2)+')'):console[_0x159b6c(0x170)](_0x159b6c(0x13d)+_0x343b63[_0x159b6c(0x190)][_0x159b6c(0x118)]+'\x20at\x20['+_0x413377['map'](_0x379d26=>_0x379d26[_0x159b6c(0xce)](0x2))['join'](',\x20')+']');}}}if(_0x2485f1['canonicalFlow']){console['log'](_0x159b6c(0x135));for(const _0x508c52 of _0x2485f1[_0x159b6c(0x156)][_0x159b6c(0x171)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x508c52);}}}else console['log']('Scenario\x20'+(_0x26668b+0x1)+':\x20\x22'+_0x369b20['description']+'\x22'+_0x2a1f71+'\x20—\x20no\x20comments'),console[_0x159b6c(0x170)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x1f5f43){const _0x5f3992=_0x455191,_0x2582b4={'VkABZ':function(_0x5599ed,_0x4afacb){return _0x5599ed+_0x4afacb;},'ixGVO':_0x5f3992(0x134)},_0x4c7c6c=_0x1f5f43||await getActiveFeatureId();if(!_0x4c7c6c)throw new Error(_0x5f3992(0x133));const _0xec401c=await getFeature(_0x4c7c6c);await softDeleteFeature(_0x4c7c6c),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0xec401c['name']+'\x20('+_0x4c7c6c+')'),console[_0x5f3992(0x170)](_0x2582b4[_0x5f3992(0xf6)](_0x2582b4['ixGVO'],_0x4c7c6c));}export async function featureRestore(_0x1d6b6e){const _0x3539cf=_0x455191,_0x2efde8={'iipao':function(_0x36257e,_0xc0f324){return _0x36257e(_0xc0f324);}};await restoreFeature(_0x1d6b6e);const _0x2130cc=await _0x2efde8['iipao'](getFeature,_0x1d6b6e);console[_0x3539cf(0x170)](_0x3539cf(0x19c)+_0x2130cc[_0x3539cf(0x158)]+'\x20('+_0x1d6b6e+')'),displayFeature(_0x2130cc,_0x2130cc[_0x3539cf(0x19d)]);}
|
|
1
|
+
(function(_0x4b6a67,_0x5e6da5){const _0x1bf96d=_0x4550,_0x54b617=_0x4b6a67();while(!![]){try{const _0x15f7dd=-parseInt(_0x1bf96d(0x128))/0x1+-parseInt(_0x1bf96d(0xc3))/0x2*(parseInt(_0x1bf96d(0x145))/0x3)+-parseInt(_0x1bf96d(0x147))/0x4+-parseInt(_0x1bf96d(0x106))/0x5+-parseInt(_0x1bf96d(0x73))/0x6*(parseInt(_0x1bf96d(0x98))/0x7)+parseInt(_0x1bf96d(0x7c))/0x8*(-parseInt(_0x1bf96d(0x112))/0x9)+parseInt(_0x1bf96d(0xe1))/0xa;if(_0x15f7dd===_0x5e6da5)break;else _0x54b617['push'](_0x54b617['shift']());}catch(_0x214aca){_0x54b617['push'](_0x54b617['shift']());}}}(_0x66b9,0x251e9));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x550f7e from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0xd68cf4=>'\x1b[1m'+_0xd68cf4+'\x1b[0m';function getGitRepoUrl(){const _0x38da3d=_0x4550,_0x1b7670={'IGApt':function(_0xc5a0d7,_0x151b10,_0x4bc021){return _0xc5a0d7(_0x151b10,_0x4bc021);},'whDMJ':_0x38da3d(0xa9),'amRdm':_0x38da3d(0x12f),'TjmiM':'github.com/'};try{const _0x416019=_0x1b7670[_0x38da3d(0x101)](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x1b7670['whDMJ'],'stdio':[_0x1b7670['amRdm'],_0x1b7670['amRdm'],'pipe']})[_0x38da3d(0x12a)]();return _0x416019['replace'](/\.git$/,'')[_0x38da3d(0x108)](/^git@github\.com:/,_0x1b7670['TjmiM'])[_0x38da3d(0x108)](/^https?:\/\//,'');}catch{return undefined;}}function _0x4550(_0x39d8d3,_0x1ce76c){_0x39d8d3=_0x39d8d3-0x6c;const _0x66b999=_0x66b9();let _0x455010=_0x66b999[_0x39d8d3];return _0x455010;}function getGitBranch(){const _0x25dfcb=_0x4550,_0x51d481={'pYxuu':function(_0x2bc48f,_0x5a0da6,_0x56cf74){return _0x2bc48f(_0x5a0da6,_0x56cf74);},'NdrJi':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','NtRBx':'utf-8','vnxxy':'pipe'};try{return _0x51d481['pYxuu'](execSync,_0x51d481[_0x25dfcb(0xcd)],{'encoding':_0x51d481[_0x25dfcb(0x124)],'stdio':[_0x25dfcb(0x12f),_0x51d481[_0x25dfcb(0xa7)],_0x51d481['vnxxy']]})[_0x25dfcb(0x12a)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x4226ad={'kAOqD':function(_0x5a87ee,_0x24ba6d){return _0x5a87ee(_0x24ba6d);},'GAyBQ':function(_0x461dd8,_0x166f57,_0x5c36d3){return _0x461dd8(_0x166f57,_0x5c36d3);}},_0x3b1db2=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x4226ad['kAOqD'](existsSync,_0x3b1db2))return null;try{const _0x5c9735=await _0x4226ad['GAyBQ'](readFile,_0x3b1db2,'utf-8');return _0x5c9735['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x13bc01){const _0x321a3d=_0x4550,_0x5dd790={'jXLSN':function(_0x180149){return _0x180149();},'PMyLa':function(_0x244908,_0x12f6f4){return _0x244908(_0x12f6f4);},'wPgGH':function(_0x3d08a4,_0x541b0c,_0x4fba31){return _0x3d08a4(_0x541b0c,_0x4fba31);},'pMOJW':function(_0x50ba87,_0x34532c,_0x5d792a,_0x2dc6ea){return _0x50ba87(_0x34532c,_0x5d792a,_0x2dc6ea);}},_0x590571=_0x5dd790['jXLSN'](getRangerDir),_0x3e15d5=join(_0x590571,ACTIVE_FEATURE_FILE);!_0x5dd790['PMyLa'](existsSync,_0x590571)&&await _0x5dd790[_0x321a3d(0xfe)](mkdir,_0x590571,{'recursive':!![]}),await _0x5dd790['pMOJW'](writeFile,_0x3e15d5,_0x13bc01,_0x321a3d(0xa9));}function _0x66b9(){const _0x347bb3=['\x20\x20\x20ID:\x20','555710JstqPB','\x0aNo\x20feature\x20reviews\x20found.','location','\x20\x20Expected\x20flow:','screenshot','sessionId','any','iteration','\x20verified','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','NdrJi','1|4|0|2|3|5','\x20\x20\x20\x20\x20\x20Cancelled:\x20','checklistItems','json','authorEmail','in_progress','\x20\x20\x20▶️\x20Started\x20session\x20','\x20blocked','\x20>\x20','timing','wVnnc','blockedReason','incompleteReason','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','scenario','verification_in_progress','feedback-images','filter','wGIGy','10700270btWiTY','Scenario\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','NegAc','verifiedItems','repeat','\x20—\x20','zPTHU','XdWdX','tnkrT','\x0aCreating\x20feature\x20review...','NoOht','ZnZQL','\x20scenario(s).','aopal','\x20\x20\x20Branch:\x20','style','LHqMf','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x20incomplete','latestReview','Current\x20session\x20not\x20found.','biAnR','write','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','No\x20active\x20session\x20for\x20this\x20feature\x20review.','JaLFN','wPgGH','Unknown','exit','IGApt','screenshotUrls','XngjZ','BUwYO','soSKV','151230zabxvm','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','replace','reports','pop','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','map','currentSessionId','domRef','Qepxl','CWYOj','...','5283HeDEjK','WRAsp','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','UVJXR',':\x20\x22','canonicalFlow','tHdkr','description','tsNaf','env','find','toFixed','zZGqw','toLocaleString','parentItemId','\x20(v','hetfZ','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','NtRBx','incomplete','version','xEtkD','145235iyiyDz','iyllo','trim','JZHgJ','QYSNN','isInteger','short','pipe','\x20\x20✅\x20No\x20feedback\x20to\x20address','selector','\x20at\x20[','hmtBk','items','includeDeleted','ExQoz','\x0aConcluding\x20session...','ready','status','cpgIq','blocked','CvujG','CoouP','lVbKI','length','\x20\x20\x20\x20\x20\x20Incomplete:\x20','BkPCZ','type','cEKFV','\x20\x20\x20Repository:\x20','3HgdjWy','tRKex','503960NDqtgP','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','\x20--current-branch','scenarios','\x0a✅\x20Feature\x20review\x20created:\x20','split','\x20\x20\x20Progress:\x20','\x0a\x20\x20\x20Scenarios:','pendingItems','mcvzS','list','\x20\x20\x20Created:\x20','\x20Session\x20','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','log','browserSessionId','12tBLKFV','\x0a✅\x20Scenario\x20added','dashboardUrl','storage','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x20\x20\x20Completed:\x20','GDenS','NknCz','hvNIL','1696CjkKSr','JwlZq','\x20\x20\x20Description:\x20','notes','unaddressedComments','/artifacts/','error','\x20\x20\x20\x20\x20📋\x20Selector:\x20','eNIcs','FkmIp','tQDrO','Spwzx','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','position','totalCount','selected','warn','fjuAu','Cannot\x20conclude\x20session\x20with\x20status:\x20','fQnJN','bINyg','aTeOh','completedAt','stdout','textContent','trimEnd','\x20scenarios.','spatial','749756PUvgjU','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','verified','\x0a⚠️\x20\x20','push','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','incompleteItems','\x20\x20\x20Status:\x20','stats','\x20\x20\x20Updated\x20branch\x20to:\x20','assets','\x20\x20\x20','WgwXg','completed','\x0a📋\x20Feedback\x20for:\x20','vnxxy','createdAt','utf-8','limit','lRxYh','name','assetType','offset','closed','\x0a✅\x20Session\x20is\x20already\x20completed.','\x20in\x20progress','):\x20\x22','\x0aAvailable\x20scenarios:','toLocaleDateString','fsrZa','slice','WMoul','gitBranch','No\x20scenarios\x20found.','\x0a✅\x20Scenario\x20updated','canceledReason','prompt','HjFGS','join','Not\x20in\x20a\x20git\x20repository.','\x20—\x20no\x20comments','terminalReason'];_0x66b9=function(){return _0x347bb3;};return _0x66b9();}function getProgressDisplay(_0x238b34){const _0x303246=_0x4550,_0x5186dd={'OaWRI':function(_0x1d6958,_0x483fb7){return _0x1d6958+_0x483fb7;},'PGPXK':function(_0x40247e,_0x8ea22){return _0x40247e+_0x8ea22;},'DIWGb':function(_0x43ece1,_0x1926dd){return _0x43ece1===_0x1926dd;},'CoouP':function(_0x2c935a,_0x5cadad){return _0x2c935a*_0x5cadad;},'wrtYs':function(_0x3e264f,_0x29a5b2){return _0x3e264f/_0x29a5b2;},'zZGqw':function(_0x13e195,_0x2824bc){return _0x13e195+_0x2824bc;},'bfHti':function(_0x4e6030,_0x1c4832){return _0x4e6030>_0x1c4832;},'NUoRH':function(_0x1cd8d5,_0x281d58){return _0x1cd8d5>_0x281d58;},'GDenS':function(_0xf790c6,_0x50b14a){return _0xf790c6>_0x50b14a;}},_0x4fb7b4=_0x238b34[_0x303246(0xe6)]||0x0,_0x4a63d5=_0x238b34['verificationInProgressItems']||0x0,_0x5ae5b3=_0x238b34['blockedItems']||0x0,_0x2f7cf0=_0x238b34[_0x303246(0x9e)]||0x0,_0x56bcaf=_0x238b34[_0x303246(0x14f)]||0x0,_0x15b2e1=_0x5186dd['OaWRI'](_0x5186dd['PGPXK'](_0x4fb7b4+_0x4a63d5,_0x5ae5b3)+_0x2f7cf0,_0x56bcaf);if(_0x5186dd['DIWGb'](_0x15b2e1,0x0))return'-';const _0x3d8b22=0xa,_0x1f9bd4=Math['round'](_0x5186dd[_0x303246(0x13d)](_0x5186dd['wrtYs'](_0x4fb7b4,_0x15b2e1),_0x3d8b22)),_0x12d28d=_0x5186dd[_0x303246(0x11e)]('█'[_0x303246(0xe7)](_0x1f9bd4),'░'['repeat'](_0x3d8b22-_0x1f9bd4)),_0x2ea857=[];if(_0x5186dd['bfHti'](_0x5ae5b3,0x0))_0x2ea857['push'](_0x5ae5b3+_0x303246(0xd5));if(_0x5186dd['NUoRH'](_0x2f7cf0,0x0))_0x2ea857[_0x303246(0x9c)](_0x2f7cf0+_0x303246(0xf5));if(_0x5186dd['NUoRH'](_0x4a63d5,0x0))_0x2ea857['push'](_0x4a63d5+_0x303246(0xb1));const _0x4f63b4=_0x5186dd[_0x303246(0x79)](_0x2ea857['length'],0x0)?'\x20('+_0x2ea857['join'](',\x20')+')':'';return _0x12d28d+'\x20'+_0x4fb7b4+'/'+_0x15b2e1+_0x303246(0xcb)+_0x4f63b4;}function getCurrentSessionItems(_0x5a3d0e,_0xb32573){const _0x1fa754=_0x4550;if(!_0x5a3d0e[_0x1fa754(0x10d)])return _0xb32573[_0x1fa754(0xdf)](_0x2892a2=>!_0x2892a2[_0x1fa754(0xc8)]);return _0xb32573['filter'](_0x2ddd0=>_0x2ddd0['sessionId']===_0x5a3d0e[_0x1fa754(0x10d)]||!_0x2ddd0['sessionId']);}function displayFeature(_0x1da177,_0x2a69af){const _0xa6bda9=_0x4550,_0x5ca62b={'aopal':function(_0x229373,_0x46302a){return _0x229373>_0x46302a;},'qmaej':function(_0x114460,_0x17702f){return _0x114460===_0x17702f;},'eUIsn':'approved','bINyg':_0xa6bda9(0x9a),'XngjZ':function(_0x120ecb,_0x574d5b){return _0x120ecb===_0x574d5b;},'FkmIp':function(_0x40d273,_0x1a91f0){return _0x40d273===_0x1a91f0;},'oebME':_0xa6bda9(0xaf),'BkPCZ':'verification_in_progress','JsXjf':function(_0x523159,_0x2796f0){return _0x523159>_0x2796f0;},'tZgaL':function(_0x342f1c,_0x3b8214){return _0x342f1c!==_0x3b8214;},'ddtgh':function(_0x3c3390,_0x562894){return _0x3c3390+_0x562894;},'YjfxS':_0xa6bda9(0x125),'IlZWw':function(_0x18e50a,_0x5aee22){return _0x18e50a===_0x5aee22;}};console[_0xa6bda9(0x71)]('\x0a'+_0x1da177[_0xa6bda9(0xac)]+'\x20('+_0x1da177['dashboardUrl']+')');_0x1da177[_0xa6bda9(0xa0)]&&console[_0xa6bda9(0x71)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1da177['stats']));_0x1da177['description']&&console[_0xa6bda9(0x71)](_0xa6bda9(0x7e)+_0x1da177['description']);_0x1da177['gitRepoUrl']&&console['log'](_0xa6bda9(0x144)+_0x1da177['gitRepoUrl']);_0x1da177['gitBranch']&&console['log'](_0xa6bda9(0xf1)+_0x1da177['gitBranch']);console['log'](_0xa6bda9(0x6e)+new Date(_0x1da177[_0xa6bda9(0xa8)])[_0xa6bda9(0x11f)]());_0x1da177['completedAt']&&console[_0xa6bda9(0x71)]('\x20\x20\x20Completed:\x20'+new Date(_0x1da177[_0xa6bda9(0x92)])['toLocaleString']());if(_0x2a69af&&_0x5ca62b[_0xa6bda9(0xf0)](_0x2a69af[_0xa6bda9(0x13f)],0x0)){console['log'](_0xa6bda9(0x14e));for(let _0x264334=0x0;_0x264334<_0x2a69af[_0xa6bda9(0x13f)];_0x264334++){const _0x28749c=_0x2a69af[_0x264334];let _0x1c070f;if(_0x5ca62b['qmaej'](_0x28749c[_0xa6bda9(0x139)],'closed')&&_0x28749c[_0xa6bda9(0xc1)]===_0x5ca62b['eUIsn'])_0x1c070f='✅';else{if(_0x28749c['status']===_0x5ca62b['bINyg'])_0x1c070f='🟢';else{if(_0x5ca62b[_0xa6bda9(0x103)](_0x28749c[_0xa6bda9(0x139)],'incomplete'))_0x1c070f='🟠';else{if(_0x28749c['status']===_0xa6bda9(0x13b))_0x1c070f='🛑';else{if(_0x5ca62b['FkmIp'](_0x28749c['status'],_0x5ca62b['oebME']))_0x1c070f='⛔';else _0x28749c['status']===_0x5ca62b[_0xa6bda9(0x141)]?_0x1c070f='⏳':_0x1c070f='⬜';}}}}const _0x2f3e49=_0x28749c['version']>0x1?_0xa6bda9(0x121)+_0x28749c['version']+')':'',_0x4576dd=_0x5ca62b['JsXjf'](_0x28749c[_0xa6bda9(0x126)],0x1)&&_0x28749c[_0xa6bda9(0x120)]&&_0x5ca62b['tZgaL'](_0x28749c[_0xa6bda9(0x139)],'closed')&&_0x28749c[_0xa6bda9(0x139)]!==_0x5ca62b[_0xa6bda9(0x90)]?'\x20[has\x20reviewer\x20feedback]':'';console['log'](_0xa6bda9(0xa3)+_0x5ca62b['ddtgh'](_0x264334,0x1)+'.\x20'+_0x1c070f+'\x20'+_0x28749c[_0xa6bda9(0x119)]+_0x2f3e49+_0x4576dd);_0x5ca62b[_0xa6bda9(0x85)](_0x28749c['status'],'blocked')&&_0x28749c['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x28749c[_0xa6bda9(0xd9)]);_0x5ca62b['XngjZ'](_0x28749c['status'],_0x5ca62b['YjfxS'])&&_0x28749c['incompleteReason']&&console[_0xa6bda9(0x71)](_0xa6bda9(0x140)+_0x28749c['incompleteReason']);if(_0x28749c[_0xa6bda9(0x139)]==='closed'&&_0x5ca62b['IlZWw'](_0x28749c['terminalReason'],_0x5ca62b['eUIsn']))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x5ca62b[_0xa6bda9(0x85)](_0x28749c['status'],'closed')&&_0x28749c['canceledReason']&&console[_0xa6bda9(0x71)](_0xa6bda9(0xcf)+_0x28749c['canceledReason']);}}}export async function featureCreate(_0x1c135d,_0x2b0716){const _0x299324=_0x4550,_0x35f40a={'oDGED':function(_0x2a44c6){return _0x2a44c6();},'xEhWX':function(_0x48a2f0,_0xf3f374){return _0x48a2f0===_0xf3f374;},'sGzgu':function(_0x422416,_0x39d8d6){return _0x422416(_0x39d8d6);},'gmJql':function(_0xced8bd){return _0xced8bd();},'NegAc':function(_0x5d777c){return _0x5d777c();},'lVbKI':function(_0x2f1398,_0x53022a){return _0x2f1398(_0x53022a);},'KwnHH':function(_0x5bf146,_0x5eb948){return _0x5bf146(_0x5eb948);}},{envNames:_0x814ed5}=await _0x35f40a['oDGED'](getEnvNames);if(_0x35f40a['xEhWX'](_0x814ed5[_0x299324(0x13f)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x3e31ca=0x0;try{_0x3e31ca=(await _0x35f40a['oDGED'](listCloudProfiles))[_0x299324(0x13f)];}catch{_0x3e31ca=0x1;}_0x3e31ca===0x0&&console[_0x299324(0x8c)]('\x0a'+_0x35f40a['sGzgu'](formatProfileRequiredMessage,_0x1ae27d=>bold(_0x1ae27d)));}const _0x3339f5=_0x2b0716[_0x299324(0x14a)]?_0x2b0716['scenarios'][_0x299324(0x10c)](_0xceb81c=>_0xceb81c[_0x299324(0x12a)]()):[],_0x35e44b=_0x35f40a['gmJql'](getGitRepoUrl),_0x5ce77b=_0x35f40a[_0x299324(0xe5)](getGitBranch);console['log'](_0x299324(0xec));const _0x353290=await _0x35f40a[_0x299324(0x13e)](createFeature,{'name':_0x1c135d,'description':_0x2b0716[_0x299324(0x119)],'checklist':_0x3339f5,'gitRepoUrl':_0x35e44b,'gitBranch':_0x5ce77b});await _0x35f40a['lVbKI'](setActiveFeatureId,_0x353290['id']),await _0x35f40a['KwnHH'](tryStartCurrentSession,_0x353290['id']);const _0x382715=process[_0x299324(0x11b)]['CLAUDE_SESSION_ID'];_0x382715&®isterSession(_0x382715,_0x353290['id']),console[_0x299324(0x71)](_0x299324(0x14b)+_0x353290['id']),displayFeature(_0x353290,_0x353290['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x393aaa){const _0x5e368b=_0x4550,_0x5c1e21={'xtTGf':_0x5e368b(0xc4),'JaLFN':function(_0x11ca80,_0x4c4c90){return _0x11ca80+_0x4c4c90;}},_0x34a0e1={'limit':_0x393aaa[_0x5e368b(0xaa)]??0xa,'offset':_0x393aaa['offset']??0x0,'includeDeleted':_0x393aaa[_0x5e368b(0x135)]};_0x393aaa['currentBranch']&&(_0x34a0e1['gitRepoUrl']=getGitRepoUrl(),_0x34a0e1[_0x5e368b(0xb8)]=getGitBranch());const _0xaf668=await listFeatures(_0x34a0e1);if(_0xaf668['items']['length']===0x0){console['log'](_0x5c1e21['xtTGf']);return;}const _0x39f254=_0xaf668[_0x5e368b(0x8a)]>_0xaf668[_0x5e368b(0x134)]['length']?'Showing\x20'+_0xaf668[_0x5e368b(0x134)][_0x5e368b(0x13f)]+'\x20of\x20'+_0xaf668['totalCount']:_0xaf668[_0x5e368b(0x8a)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x39f254+':\x0a');for(const _0xa02af9 of _0xaf668[_0x5e368b(0x134)]){console[_0x5e368b(0x71)](''+_0xa02af9['name']),console['log'](_0x5e368b(0xc2)+_0xa02af9['id']),_0xa02af9[_0x5e368b(0xa0)]&&console['log'](_0x5e368b(0x14d)+getProgressDisplay(_0xa02af9['stats'])),_0xa02af9[_0x5e368b(0xb8)]&&console['log']('\x20\x20\x20Branch:\x20'+_0xa02af9[_0x5e368b(0xb8)]),console[_0x5e368b(0x71)]('\x20\x20\x20Created:\x20'+new Date(_0xa02af9['createdAt'])['toLocaleDateString']()),console['log']('');}const _0x29340d=_0x34a0e1[_0x5e368b(0xaa)]??0xa,_0x55c88b=_0x5c1e21[_0x5e368b(0xfd)](_0x34a0e1[_0x5e368b(0xae)]??0x0,_0xaf668[_0x5e368b(0x134)][_0x5e368b(0x13f)]);if(_0x55c88b<_0xaf668['totalCount']){const _0x16ae16=_0x29340d!==0xa?'\x20--limit\x20'+_0x29340d:'',_0x1e4036=_0x393aaa['currentBranch']?_0x5e368b(0x149):'',_0x320718=_0x393aaa['includeDeleted']?'\x20--include-deleted':'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x55c88b+_0x16ae16+_0x1e4036+_0x320718);}}export async function featureShow(_0x1a4064){const _0x312edb=_0x4550,_0x39c414={'WMoul':_0x312edb(0xcc)},_0x11f114=_0x1a4064||await getActiveFeatureId();if(!_0x11f114)throw new Error(_0x39c414[_0x312edb(0xb7)]);const _0x6b9315=await getFeature(_0x11f114);displayFeature(_0x6b9315,_0x6b9315[_0x312edb(0xd0)]);}export async function featureResume(_0x5679fc){const _0x2a76f5=_0x4550,_0x100aab={'XdWdX':function(_0x512de4){return _0x512de4();},'cpgIq':function(_0x55fe1,_0x50be69){return _0x55fe1!==_0x50be69;},'CWYOj':function(_0x4b2da4,_0x2bddec){return _0x4b2da4(_0x2bddec);},'sGzBw':function(_0x306cb0){return _0x306cb0();},'lTBvL':function(_0x4b9acf,_0xd31aa7){return _0x4b9acf&&_0xd31aa7;},'NmXKy':_0x2a76f5(0xbf),'vFTBj':function(_0x505535,_0x3a2332){return _0x505535||_0x3a2332;},'wVWGI':'any','Qepxl':function(_0x120623,_0x1f86ad){return _0x120623(_0x1f86ad);},'vfyQt':function(_0x2f62e8,_0x1b1bcb){return _0x2f62e8===_0x1b1bcb;},'pKqQJ':_0x2a76f5(0x123),'LmHDs':_0x2a76f5(0x8b),'hvNIL':_0x2a76f5(0xf4),'zPTHU':function(_0x11ae1e,_0x18c32e){return _0x11ae1e(_0x18c32e);},'tQDrO':function(_0x4c9629,_0x2e73ca,_0x11713c){return _0x4c9629(_0x2e73ca,_0x11713c);},'NknCz':function(_0x4036e7,_0xa2df29){return _0x4036e7(_0xa2df29);}};if(_0x5679fc){const _0x32eed3=await getFeature(_0x5679fc);await setActiveFeatureId(_0x32eed3['id']);const _0x47c04b=_0x100aab[_0x2a76f5(0xea)](getGitBranch);_0x47c04b&&_0x100aab[_0x2a76f5(0x13a)](_0x47c04b,_0x32eed3['gitBranch'])&&(await updateFeature(_0x32eed3['id'],{'gitBranch':_0x47c04b}),console[_0x2a76f5(0x71)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x47c04b));console['log'](_0x2a76f5(0xe3)+_0x32eed3['name']+'\x20('+_0x32eed3['id']+')'),await _0x100aab[_0x2a76f5(0x110)](tryStartCurrentSession,_0x32eed3['id']);const _0x3d45dd=process[_0x2a76f5(0x11b)]['CLAUDE_SESSION_ID'];_0x3d45dd&®isterSession(_0x3d45dd,_0x32eed3['id']);displayFeature(_0x32eed3,_0x32eed3[_0x2a76f5(0xd0)]),await _0x100aab[_0x2a76f5(0x110)](printFeedbackNudge,_0x32eed3['id']);return;}const _0x159056=getGitRepoUrl(),_0x5c4bfd=_0x100aab['sGzBw'](getGitBranch);if(_0x100aab['lTBvL'](!_0x159056,!_0x5c4bfd))throw new Error(_0x100aab['NmXKy']);console[_0x2a76f5(0x71)](_0x2a76f5(0x114)+(_0x159056||_0x2a76f5(0xc9))+'\x20/\x20'+_0x100aab['vFTBj'](_0x5c4bfd,_0x100aab['wVWGI'])+_0x2a76f5(0x111));const _0x4a9d61=await _0x100aab[_0x2a76f5(0x10f)](listFeatures,{'gitRepoUrl':_0x159056,'gitBranch':_0x5c4bfd}),_0x1d6ddb=_0x4a9d61['items'][_0x2a76f5(0xdf)](_0x3e5366=>_0x3e5366['status']?_0x3e5366[_0x2a76f5(0x139)]!==_0x2a76f5(0x9a):!_0x3e5366['completedAt']);if(_0x100aab['vfyQt'](_0x1d6ddb['length'],0x0)){console[_0x2a76f5(0x71)](_0x100aab['pKqQJ']),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x8ef568;if(_0x1d6ddb[_0x2a76f5(0x13f)]===0x1)_0x8ef568=_0x1d6ddb[0x0];else{const _0x5dfc4b=process['stdin']['isTTY']&&process[_0x2a76f5(0x93)]['isTTY'];if(!_0x5dfc4b){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x3ffb67 of _0x1d6ddb){console[_0x2a76f5(0x71)]('\x20\x20'+_0x3ffb67[_0x2a76f5(0xac)]),console[_0x2a76f5(0x71)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3ffb67['id']),_0x3ffb67['stats']&&console[_0x2a76f5(0x71)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x100aab['Qepxl'](getProgressDisplay,_0x3ffb67[_0x2a76f5(0xa0)])),_0x3ffb67['gitBranch']&&console[_0x2a76f5(0x71)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3ffb67['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x4315fb}=await _0x550f7e[_0x2a76f5(0xbc)]([{'type':_0x2a76f5(0x6d),'name':_0x100aab['LmHDs'],'message':_0x100aab[_0x2a76f5(0x7b)],'choices':_0x1d6ddb['map'](_0x212040=>({'name':_0x212040['name']+'\x20('+_0x212040['id']+')','value':_0x212040['id']}))}]);_0x8ef568=_0x1d6ddb[_0x2a76f5(0x11c)](_0x1d6d90=>_0x1d6d90['id']===_0x4315fb);}await _0x100aab[_0x2a76f5(0xe9)](setActiveFeatureId,_0x8ef568['id']);_0x5c4bfd&&_0x100aab[_0x2a76f5(0x13a)](_0x5c4bfd,_0x8ef568[_0x2a76f5(0xb8)])&&(await _0x100aab['tQDrO'](updateFeature,_0x8ef568['id'],{'gitBranch':_0x5c4bfd}),console[_0x2a76f5(0x71)](_0x2a76f5(0xa1)+_0x5c4bfd));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x8ef568['name']+'\x20('+_0x8ef568['id']+')'),await tryStartCurrentSession(_0x8ef568['id']);const _0x144515=await _0x100aab[_0x2a76f5(0x7a)](getFeature,_0x8ef568['id']),_0x1493d4=process['env']['CLAUDE_SESSION_ID'];_0x1493d4&®isterSession(_0x1493d4,_0x144515['id']),_0x100aab[_0x2a76f5(0x86)](displayFeature,_0x144515,_0x144515['checklistItems']),await _0x100aab[_0x2a76f5(0x7a)](printFeedbackNudge,_0x144515['id']);}async function printFeedbackNudge(_0x4da274){const _0x1ea4b9=_0x4550,_0x496491={'xYruA':function(_0x4a43fd,_0x13c204){return _0x4a43fd>_0x13c204;},'xEtkD':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x2242a6}=await getActionItems(_0x4da274);let _0x12f8c5=0x0,_0xe5f2e3=0x0;for(const _0x89920e of _0x2242a6){const _0x39e8e2=await getItemFeedback(_0x4da274,_0x89920e['id']);_0x39e8e2[_0x1ea4b9(0x80)][_0x1ea4b9(0x13f)]>0x0&&(_0x12f8c5+=_0x39e8e2['unaddressedComments'][_0x1ea4b9(0x13f)],_0xe5f2e3++);}_0x496491['xYruA'](_0x12f8c5,0x0)&&(console[_0x1ea4b9(0x71)](_0x1ea4b9(0x9b)+_0x12f8c5+_0x1ea4b9(0x9d)+_0xe5f2e3+_0x1ea4b9(0xef)),console['log'](_0x496491[_0x1ea4b9(0x127)]));}catch{}}async function tryStartCurrentSession(_0xb29cac){const _0x147c40=_0x4550,_0x4bebff={'KxioH':function(_0x2d6a0b,_0x149994){return _0x2d6a0b(_0x149994);}};try{const {sessions:_0x38f37e}=await _0x4bebff['KxioH'](listFeatureSessions,_0xb29cac),_0x200eda=_0x38f37e['find'](_0x281278=>_0x281278['status']===_0x147c40(0x138));_0x200eda&&(await startSession(_0xb29cac,_0x200eda['id']),console['log'](_0x147c40(0xd4)+_0x200eda['iteration']));}catch{}}export async function featureReport(_0xbaa47a,_0x495bb5){const _0x35dc29=_0x4550,_0x1f6759={'bYYtw':function(_0x20a4fe){return _0x20a4fe();},'lZqvI':function(_0x81d11c){return _0x81d11c();},'cuEYp':_0x35dc29(0x109),'wrvgf':'utf-8'},_0xacdff7=_0xbaa47a||await _0x1f6759['bYYtw'](getActiveFeatureId);if(!_0xacdff7)throw new Error(_0x35dc29(0x10b));console['log']('\x0aGenerating\x20report...');const _0x599ee6=await getFeatureReportMarkdown(_0xacdff7,{'style':_0x495bb5[_0x35dc29(0xf2)]}),_0x458148=_0x495bb5['output']||join(_0x1f6759['lZqvI'](getRangerDir),_0x1f6759['cuEYp'],_0xacdff7+'.md'),_0x4fbda1=join(_0x458148,'..');!existsSync(_0x4fbda1)&&await mkdir(_0x4fbda1,{'recursive':!![]}),await writeFile(_0x458148,_0x599ee6,_0x1f6759['wrvgf']),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x458148);}function getScenarioResult(_0x348e38){const _0x364a84=_0x4550,_0x448e1b={'PheYv':function(_0x47cd55,_0x3225a8){return _0x47cd55===_0x3225a8;},'wmuam':function(_0x381b75,_0x1684d5){return _0x381b75===_0x1684d5;}};if(_0x448e1b['PheYv'](_0x348e38[_0x364a84(0x139)],_0x364a84(0xaf)))return _0x348e38[_0x364a84(0xc1)]??_0x364a84(0xaf);if(_0x448e1b['wmuam'](_0x348e38[_0x364a84(0x139)],_0x364a84(0xdd)))return _0x364a84(0xd3);return _0x348e38[_0x364a84(0x139)];}function getScenarioRationale(_0x3bf43b,_0x24e75c){const _0x3342b8=_0x4550,_0x3e6abb={'BUwYO':_0x3342b8(0xce)},_0x1d2a3c=_0x3e6abb[_0x3342b8(0x104)]['split']('|');let _0xaea018=0x0;while(!![]){switch(_0x1d2a3c[_0xaea018++]){case'0':if(_0x3bf43b['incompleteReason'])return _0x3bf43b[_0x3342b8(0xda)];continue;case'1':if(_0x24e75c)return _0x24e75c;continue;case'2':if(_0x3bf43b['canceledReason'])return _0x3bf43b[_0x3342b8(0xbb)];continue;case'3':if(_0x3bf43b['notes'])return _0x3bf43b[_0x3342b8(0x7f)];continue;case'4':if(_0x3bf43b[_0x3342b8(0xd9)])return _0x3bf43b['blockedReason'];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0x3358dc,_0x2322d4){const _0x1550e3=_0x4550,_0x3c3558={'WzJKM':_0x1550e3(0x10b),'tnkrT':function(_0x132dba,_0x501ae5,_0x2a1b40){return _0x132dba(_0x501ae5,_0x2a1b40);},'FDwMJ':function(_0x473706,_0x57b37c){return _0x473706===_0x57b37c;},'aTeOh':function(_0x3c97a6,_0x12f9d9){return _0x3c97a6>_0x12f9d9;},'xrFld':'\x0aAvailable\x20scenarios:','ckEwF':function(_0x4c82c8,_0xf33925){return _0x4c82c8<_0xf33925;},'HjFGS':function(_0x2788a5,_0x25d55b,_0x2779d7,_0x185e89){return _0x2788a5(_0x25d55b,_0x2779d7,_0x185e89);},'JZHgJ':function(_0x282c7f,_0x1196cd,_0x2737c5){return _0x282c7f(_0x1196cd,_0x2737c5);}},_0x17c16f=_0x3358dc||await getActiveFeatureId();if(!_0x17c16f)throw new Error(_0x3c3558['WzJKM']);const _0x44779f=await getFeature(_0x17c16f),_0x5c9d02=_0x44779f[_0x1550e3(0xd0)]||[],_0x1f127a=_0x3c3558[_0x1550e3(0xeb)](getCurrentSessionItems,_0x44779f,_0x5c9d02);_0x3c3558['FDwMJ'](_0x1f127a[_0x1550e3(0x13f)],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x4fb2ca=_0x2322d4['excludeScenarios']??[],_0x26ff72=_0x4fb2ca[_0x1550e3(0xdf)](_0x121c1f=>!Number[_0x1550e3(0x12d)](_0x121c1f)||_0x121c1f<0x1||_0x121c1f>_0x1f127a['length']);if(_0x3c3558[_0x1550e3(0x91)](_0x26ff72[_0x1550e3(0x13f)],0x0)){console['error'](_0x1550e3(0xe4)+_0x26ff72['join'](',\x20')),console[_0x1550e3(0x71)](_0x3c3558['xrFld']);for(let _0x5ed8d3=0x0;_0x3c3558['ckEwF'](_0x5ed8d3,_0x1f127a[_0x1550e3(0x13f)]);_0x5ed8d3++){console['log']('\x20\x20'+(_0x5ed8d3+0x1)+'.\x20'+_0x1f127a[_0x5ed8d3][_0x1550e3(0x119)]);}process['exit'](0x1);}const _0x3a1d68=new Set(_0x4fb2ca[_0x1550e3(0x10c)](_0x2cb183=>_0x2cb183-0x1)),_0x4ef97f=_0x1f127a[_0x1550e3(0xdf)]((_0x45232b,_0x50cef9)=>!_0x3a1d68['has'](_0x50cef9));_0x4ef97f[_0x1550e3(0x13f)]===0x0&&(console['error']('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x1550e3(0x100)](0x1));if(_0x2322d4[_0x1550e3(0xd1)])await _0x3c3558[_0x1550e3(0xbd)](outputJsonReport,_0x17c16f,_0x44779f,_0x4ef97f);else{const _0x1c5d97=await _0x3c3558[_0x1550e3(0x12b)](getFeatureReportMarkdown,_0x17c16f,{'itemIds':_0x4ef97f[_0x1550e3(0x10c)](_0x133f7a=>_0x133f7a['id'])});process['stdout'][_0x1550e3(0xf9)](_0x1c5d97[_0x1550e3(0x95)]()+'\x0a');}}async function outputJsonReport(_0x39f3be,_0x3194ae,_0x4dcd08){const _0x3a661b=_0x4550,_0xe5aa88={'fjuAu':function(_0x9d224d,_0x12553d){return _0x9d224d(_0x12553d);},'LHqMf':function(_0xde39b0,_0x4dec84){return _0xde39b0===_0x4dec84;},'Bivdb':function(_0x5b427b,_0x3d5341,_0x2c9038){return _0x5b427b(_0x3d5341,_0x2c9038);},'cASNs':function(_0x1cb7b8,_0x46846f){return _0x1cb7b8(_0x46846f);}},_0x3c2b69=getApiBaseUrl(),_0x381b5b=await _0xe5aa88['cASNs'](getFeatureReport,_0x39f3be),_0x7d4b66=new Map(_0x381b5b['checklistItems']['map'](_0x2b4b62=>[_0x2b4b62['id'],_0x2b4b62])),_0x3b9f2a=await Promise['all'](_0x4dcd08[_0x3a661b(0x10c)](async _0x48cbb5=>{const _0x28d802=_0x3a661b,_0x451e4e=_0x7d4b66['get'](_0x48cbb5['id']),_0x3d8d60=_0x451e4e?.['linkedSession']??null;let _0x3962fa=[];if(_0x48cbb5[_0x28d802(0x72)])try{const {steps:_0x1ce6d1}=await _0xe5aa88[_0x28d802(0x8d)](getBrowserSessionSteps,_0x48cbb5[_0x28d802(0x72)]);_0x1ce6d1['length']>0x0&&(_0x3962fa=_0x1ce6d1['map'](_0x208d1c=>{const _0x15407e=_0x28d802,_0x5082b8=_0x208d1c[_0x15407e(0xa2)]['find'](_0x185f0c=>_0x185f0c[_0x15407e(0xad)]===_0x15407e(0xc7)&&_0x185f0c[_0x15407e(0xd7)]==='after')??_0x208d1c[_0x15407e(0xa2)][_0x15407e(0x11c)](_0x26de4a=>_0x26de4a[_0x15407e(0xad)]==='screenshot');let _0x10d845=null,_0x3026f7=null;if(_0x5082b8){const _0x5b3b52=_0x5082b8[_0x15407e(0x76)][_0x15407e(0xc5)]['split']('/')['pop']();_0x10d845=_0x3c2b69+'/api/v1/mcp/browser-sessions/'+_0x48cbb5['browserSessionId']+_0x15407e(0x81)+_0x5b3b52,_0x5b3b52&&(_0x3026f7=_0x5b3b52['replace'](/\.\w+$/,'')[_0x15407e(0x108)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x3026f7||_0x208d1c['description']||_0x208d1c['stepName']||'Step\x20'+_0x208d1c[_0x15407e(0x89)],'screenshot':_0x10d845,'is_key_step':_0x208d1c['isKeyStep']};}));}catch{}return _0xe5aa88[_0x28d802(0xf3)](_0x3962fa[_0x28d802(0x13f)],0x0)&&_0x3d8d60?.['screenshotUrls']&&(_0x3962fa=_0x3d8d60[_0x28d802(0x102)]['map']((_0x2975c4,_0x480553)=>({'description':'Screenshot\x20'+(_0x480553+0x1),'screenshot':_0x2975c4,'is_key_step':![]}))),{'description':_0x48cbb5[_0x28d802(0x119)],'result':getScenarioResult(_0x48cbb5),'rationale':_0xe5aa88['Bivdb'](getScenarioRationale,_0x48cbb5,_0x3d8d60?.['agentResponse']),'steps':_0x3962fa};})),_0x23d60b={'url':_0x3194ae[_0x3a661b(0x75)],'scenarios':_0x3b9f2a};process[_0x3a661b(0x93)]['write'](JSON['stringify'](_0x23d60b,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x3fd1d6){const _0x330cb3=_0x4550,_0x6191dc={'QYSNN':_0x330cb3(0xcc),'MNhWE':_0x330cb3(0xfc),'ClnQD':function(_0x3230a3,_0x16001c){return _0x3230a3(_0x16001c);},'tsNaf':_0x330cb3(0xf7),'WgwXg':function(_0xcaf140,_0x104850){return _0xcaf140===_0x104850;},'UVJXR':_0x330cb3(0xd3),'soSKV':_0x330cb3(0x137)},_0x2d5df6=_0x3fd1d6||await getActiveFeatureId();if(!_0x2d5df6)throw new Error(_0x6191dc[_0x330cb3(0x12c)]);const _0x560b71=await getFeature(_0x2d5df6);if(!_0x560b71[_0x330cb3(0x10d)])throw new Error(_0x6191dc['MNhWE']);const {sessions:_0x2beea4}=await _0x6191dc['ClnQD'](listFeatureSessions,_0x2d5df6),_0x118802=_0x2beea4[_0x330cb3(0x11c)](_0x174138=>_0x174138['id']===_0x560b71[_0x330cb3(0x10d)]);if(!_0x118802)throw new Error(_0x6191dc[_0x330cb3(0x11a)]);if(_0x6191dc[_0x330cb3(0xa4)](_0x118802['status'],'completed')){console['log'](_0x330cb3(0xb0));return;}if(_0x118802['status']!==_0x6191dc[_0x330cb3(0x115)])throw new Error(_0x330cb3(0x8e)+_0x118802[_0x330cb3(0x139)]);console[_0x330cb3(0x71)](_0x6191dc[_0x330cb3(0x105)]),await concludeSession(_0x2d5df6,_0x560b71['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x118802[_0x330cb3(0xca)]+'\x20concluded.'),console['log'](_0x330cb3(0x148));}export async function featureSessions(_0x2af00d){const _0x3fa1ad=_0x4550,_0x5c680a={'TcwEJ':function(_0x1409b8){return _0x1409b8();},'iyllo':function(_0x199bb8,_0x3eb632){return _0x199bb8(_0x3eb632);},'skdAg':function(_0x26ff34,_0x3ef322){return _0x26ff34(_0x3ef322);},'NoOht':function(_0x499e7e,_0x21c359){return _0x499e7e===_0x21c359;},'mcvzS':function(_0x9acd67,_0x1876d1){return _0x9acd67===_0x1876d1;},'tHdkr':'in_progress'},_0x253884=_0x2af00d||await _0x5c680a['TcwEJ'](getActiveFeatureId);if(!_0x253884)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x39d353=await _0x5c680a[_0x3fa1ad(0x129)](getFeature,_0x253884);console[_0x3fa1ad(0x71)](_0x3fa1ad(0x107)+_0x39d353[_0x3fa1ad(0xac)]+'\x0a');const {sessions:_0x14805f}=await _0x5c680a['skdAg'](listFeatureSessions,_0x253884);if(_0x5c680a[_0x3fa1ad(0xed)](_0x14805f['length'],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x2d359b of _0x14805f){const _0x12609a=_0x2d359b[_0x3fa1ad(0x139)]===_0x3fa1ad(0xa5)?'✅':_0x5c680a[_0x3fa1ad(0x6c)](_0x2d359b['status'],_0x5c680a[_0x3fa1ad(0x118)])?'🔄':'▶️';console[_0x3fa1ad(0x71)](_0x12609a+_0x3fa1ad(0x6f)+_0x2d359b['iteration']+'\x20('+_0x2d359b['id']+')'),console[_0x3fa1ad(0x71)](_0x3fa1ad(0x9f)+_0x2d359b['status']),console['log'](_0x3fa1ad(0x6e)+new Date(_0x2d359b[_0x3fa1ad(0xa8)])[_0x3fa1ad(0x11f)]()),_0x2d359b[_0x3fa1ad(0x92)]&&console[_0x3fa1ad(0x71)](_0x3fa1ad(0x78)+new Date(_0x2d359b[_0x3fa1ad(0x92)])[_0x3fa1ad(0x11f)]()),console[_0x3fa1ad(0x71)]('');}}export async function featureAddScenario(_0x58f177,_0x4a8084){const _0x34c369=_0x4550,_0x27caf1={'eQCzl':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x8b10ad=_0x4a8084||await getActiveFeatureId();if(!_0x8b10ad)throw new Error(_0x27caf1['eQCzl']);const _0x51ccc7=await getFeature(_0x8b10ad);if(_0x51ccc7['latestReview']&&!_0x51ccc7['latestReview']['submittedAt'])throw new Error(_0x34c369(0x88)+_0x51ccc7['dashboardUrl']);await createChecklistItem(_0x8b10ad,_0x58f177);const _0x3200b7=await getFeature(_0x8b10ad);console[_0x34c369(0x71)](_0x34c369(0x74)),displayFeature(_0x3200b7,_0x3200b7['checklistItems']);}export async function featureEditScenario(_0x4bf6ca,_0x5e6879){const _0x117ed1=_0x4550,_0x1f0d00={'ZibLl':_0x117ed1(0x70),'WRAsp':function(_0x3395c9,_0x453e11){return _0x3395c9===_0x453e11;},'wGIGy':function(_0x44c3c1,_0x6ef4ae){return _0x44c3c1<_0x6ef4ae;},'biAnR':function(_0x3b5f97,_0x1f4cbd){return _0x3b5f97>=_0x1f4cbd;},'tRKex':'\x0aAvailable\x20scenarios:','AvgMk':function(_0x3485ea,_0x3e2381){return _0x3485ea<_0x3e2381;},'wVnnc':function(_0x3bf2aa,_0x487257){return _0x3bf2aa+_0x487257;},'Spwzx':function(_0xa72f9c,_0x5c748e,_0x240957,_0x3db005){return _0xa72f9c(_0x5c748e,_0x240957,_0x3db005);},'bNejK':function(_0x57e73b,_0x55ecd4){return _0x57e73b(_0x55ecd4);}},_0x5ee143=_0x5e6879['id']||await getActiveFeatureId();!_0x5ee143&&(console['error'](_0x117ed1(0xfb)),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x117ed1(0x100)](0x1));const _0x20fdb9=await getFeature(_0x5ee143);_0x20fdb9[_0x117ed1(0xf6)]&&!_0x20fdb9['latestReview']['submittedAt']&&(console['error'](_0x1f0d00['ZibLl']),console[_0x117ed1(0x82)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x117ed1(0x82)]('\x20\x20'+_0x20fdb9[_0x117ed1(0x75)]),process[_0x117ed1(0x100)](0x1));const _0x1034d8=_0x20fdb9[_0x117ed1(0xd0)]||[];_0x1034d8[_0x117ed1(0x13f)]===0x0&&(console[_0x117ed1(0x82)](_0x117ed1(0x99)),process[_0x117ed1(0x100)](0x1));if(_0x1f0d00[_0x117ed1(0x113)](_0x5e6879[_0x117ed1(0xdc)],undefined)){console[_0x117ed1(0x82)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x117ed1(0x71)](_0x117ed1(0xb3));for(let _0x1bfbca=0x0;_0x1f0d00[_0x117ed1(0xe0)](_0x1bfbca,_0x1034d8['length']);_0x1bfbca++){console['log']('\x20\x20'+(_0x1bfbca+0x1)+'.\x20'+_0x1034d8[_0x1bfbca]['description']);}process['exit'](0x1);}const _0x2f3149=_0x5e6879['scenario']-0x1;if(_0x1f0d00[_0x117ed1(0xe0)](_0x2f3149,0x0)||_0x1f0d00[_0x117ed1(0xf8)](_0x2f3149,_0x1034d8['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5e6879[_0x117ed1(0xdc)]+'.\x20Feature\x20review\x20has\x20'+_0x1034d8['length']+_0x117ed1(0x96)),console[_0x117ed1(0x71)](_0x1f0d00[_0x117ed1(0x146)]);for(let _0x19e861=0x0;_0x1f0d00['AvgMk'](_0x19e861,_0x1034d8[_0x117ed1(0x13f)]);_0x19e861++){console[_0x117ed1(0x71)]('\x20\x20'+_0x1f0d00[_0x117ed1(0xd8)](_0x19e861,0x1)+'.\x20'+_0x1034d8[_0x19e861][_0x117ed1(0x119)]);}process['exit'](0x1);}const _0x7022c7=_0x1034d8[_0x2f3149];await _0x1f0d00[_0x117ed1(0x87)](updateChecklistItem,_0x5ee143,_0x7022c7['id'],{'description':_0x4bf6ca});const _0xecdee8=await _0x1f0d00['bNejK'](getFeature,_0x5ee143);console[_0x117ed1(0x71)](_0x117ed1(0xba)),displayFeature(_0xecdee8,_0xecdee8['checklistItems']);}async function downloadFeedbackImage(_0x380e40,_0x5b404b){const _0x3c1ee2=_0x4550,_0x2a332f={'ZnZQL':function(_0x104310,_0x2150ea,_0x1aabf9){return _0x104310(_0x2150ea,_0x1aabf9);},'CckYa':function(_0x39429b,_0x13eba4){return _0x39429b(_0x13eba4);},'eNIcs':function(_0x269c00,_0x2faff5,_0x3c6a95){return _0x269c00(_0x2faff5,_0x3c6a95);}};try{const _0x37471c=_0x2a332f[_0x3c1ee2(0xee)](join,getRangerDir(),_0x3c1ee2(0xde));await mkdir(_0x37471c,{'recursive':!![]});const _0x33ff95=join(_0x37471c,'comment_'+_0x5b404b+'.png'),_0x5467fe=await _0x2a332f['CckYa'](fetch,_0x380e40);if(!_0x5467fe['ok'])return null;const _0x9059c0=Buffer['from'](await _0x5467fe['arrayBuffer']());return await _0x2a332f[_0x3c1ee2(0x84)](writeFile,_0x33ff95,_0x9059c0),_0x33ff95;}catch{return null;}}export async function featureGetReview(_0x549fb3){const _0x41f10f=_0x4550,_0x26af10={'ViETi':function(_0x4543de){return _0x4543de();},'CvujG':_0x41f10f(0xcc),'yGghw':function(_0x3884ec,_0x3f4c03){return _0x3884ec(_0x3f4c03);},'QbmwW':function(_0xe2c11d,_0x16f9fe){return _0xe2c11d===_0x16f9fe;},'fsrZa':_0x41f10f(0xb9),'ALGXw':function(_0x5a73f1,_0x379740,_0x579f53){return _0x5a73f1(_0x379740,_0x579f53);},'cEKFV':function(_0x25420a,_0x557460){return _0x25420a>_0x557460;},'hmtBk':_0x41f10f(0x12e),'lIViL':'numeric','TGynT':_0x41f10f(0xff),'fQnJN':'point','jpygp':function(_0x3b0c50,_0x49f9ab){return _0x3b0c50>=_0x49f9ab;}},_0x2488dd=_0x549fb3||await _0x26af10['ViETi'](getActiveFeatureId);if(!_0x2488dd)throw new Error(_0x26af10[_0x41f10f(0x13c)]);const _0x4b884a=await _0x26af10['yGghw'](getFeature,_0x2488dd),{items:_0x29b1a7}=await _0x26af10['yGghw'](getActionItems,_0x2488dd);console[_0x41f10f(0x71)](_0x41f10f(0xa6)+_0x4b884a['name']+'\x20('+_0x4b884a['id']+')\x0a');if(_0x26af10['QbmwW'](_0x29b1a7[_0x41f10f(0x13f)],0x0)){console['log'](_0x26af10[_0x41f10f(0xb5)]);return;}for(let _0x1853b5=0x0;_0x1853b5<_0x29b1a7[_0x41f10f(0x13f)];_0x1853b5++){const _0x56f550=_0x29b1a7[_0x1853b5],_0x50e6ac=_0x56f550[_0x41f10f(0x126)]>0x1?_0x41f10f(0x121)+_0x56f550[_0x41f10f(0x126)]+')':'',_0x407897=await _0x26af10['ALGXw'](getItemFeedback,_0x2488dd,_0x56f550['id']);if(_0x26af10[_0x41f10f(0x143)](_0x407897[_0x41f10f(0x80)]['length'],0x0)){console['log'](_0x41f10f(0xe2)+(_0x1853b5+0x1)+_0x41f10f(0x116)+_0x56f550[_0x41f10f(0x119)]+'\x22'+_0x50e6ac+_0x41f10f(0xe8)+_0x407897['unaddressedComments'][_0x41f10f(0x13f)]+'\x20unaddressed\x20comment(s)');for(const _0x35a782 of _0x407897['unaddressedComments']){const _0x47e0af=new Date(_0x35a782['createdAt'])[_0x41f10f(0xb4)]('en-US',{'month':_0x26af10[_0x41f10f(0x133)],'day':_0x26af10['lIViL']}),_0x516bed=_0x35a782['authorName']||_0x35a782[_0x41f10f(0xd2)]||_0x26af10['TGynT'];console[_0x41f10f(0x71)]('\x20\x20💬\x20'+_0x516bed+'\x20('+_0x47e0af+_0x41f10f(0xb2)+_0x35a782['content']+'\x22');if(_0x35a782['assetUrl']){const _0x16e4cd=await downloadFeedbackImage(_0x35a782['assetUrl'],_0x35a782['id']);_0x16e4cd&&console[_0x41f10f(0x71)](_0x41f10f(0xdb)+_0x16e4cd);}if(_0x35a782['domRef']){const _0x182e2a=_0x35a782['domRef'][_0x41f10f(0x131)]['split'](_0x41f10f(0xd6))[_0x41f10f(0x10a)]()?.[_0x41f10f(0x14c)](':')[0x0]||'element',_0x14c168=_0x35a782[_0x41f10f(0x10e)][_0x41f10f(0x94)]?'\x20\x22'+_0x35a782[_0x41f10f(0x10e)]['textContent'][_0x41f10f(0xb6)](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x182e2a+'>'+_0x14c168),console[_0x41f10f(0x71)](_0x41f10f(0x83)+_0x35a782[_0x41f10f(0x10e)][_0x41f10f(0x131)]);}else{if(_0x35a782[_0x41f10f(0x97)]){const _0x4120a2=_0x35a782['spatial']['coordinates'];_0x35a782[_0x41f10f(0x97)][_0x41f10f(0x142)]===_0x26af10[_0x41f10f(0x8f)]&&_0x26af10['jpygp'](_0x4120a2['length'],0x2)?console['log'](_0x41f10f(0x77)+_0x4120a2[0x0][_0x41f10f(0x11d)](0x2)+',\x20'+_0x4120a2[0x1][_0x41f10f(0x11d)](0x2)+')'):console[_0x41f10f(0x71)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x35a782['spatial']['type']+_0x41f10f(0x132)+_0x4120a2['map'](_0x20232d=>_0x20232d[_0x41f10f(0x11d)](0x2))[_0x41f10f(0xbe)](',\x20')+']');}}}if(_0x407897[_0x41f10f(0x117)]){console['log'](_0x41f10f(0xc6));for(const _0x363848 of _0x407897['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x363848);}}}else console['log']('Scenario\x20'+(_0x1853b5+0x1)+':\x20\x22'+_0x56f550[_0x41f10f(0x119)]+'\x22'+_0x50e6ac+_0x41f10f(0xc0)),console[_0x41f10f(0x71)](_0x41f10f(0x130));console['log']('');}}export async function featureDelete(_0x3bd2b5){const _0x4036aa=_0x4550,_0x52475f={'tUshJ':function(_0x13122e){return _0x13122e();},'hetfZ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','lRxYh':function(_0x454152,_0x4d6c6a){return _0x454152(_0x4d6c6a);}},_0x22f733=_0x3bd2b5||await _0x52475f['tUshJ'](getActiveFeatureId);if(!_0x22f733)throw new Error(_0x52475f[_0x4036aa(0x122)]);const _0x1e4718=await _0x52475f[_0x4036aa(0xab)](getFeature,_0x22f733);await softDeleteFeature(_0x22f733),console['log'](_0x4036aa(0xfa)+_0x1e4718[_0x4036aa(0xac)]+'\x20('+_0x22f733+')'),console[_0x4036aa(0x71)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x22f733);}export async function featureRestore(_0x3c4032){const _0x4ed1fc=_0x4550,_0x588c16={'LvhIf':function(_0x27fb85,_0x2bf451){return _0x27fb85(_0x2bf451);},'JwlZq':function(_0x3ec475,_0x21e3a0){return _0x3ec475(_0x21e3a0);},'ExQoz':function(_0x38b191,_0x41ff82,_0x221828){return _0x38b191(_0x41ff82,_0x221828);}};await _0x588c16['LvhIf'](restoreFeature,_0x3c4032);const _0x1b67c0=await _0x588c16[_0x4ed1fc(0x7d)](getFeature,_0x3c4032);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1b67c0[_0x4ed1fc(0xac)]+'\x20('+_0x3c4032+')'),_0x588c16[_0x4ed1fc(0x136)](displayFeature,_0x1b67c0,_0x1b67c0[_0x4ed1fc(0xd0)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1eae1b,_0x4e31c9){const _0x5b04f2=_0x330c,_0x26b88e=_0x1eae1b();while(!![]){try{const _0x3f44cf=parseInt(_0x5b04f2(0x129))/0x1*(parseInt(_0x5b04f2(0x128))/0x2)+parseInt(_0x5b04f2(0x11b))/0x3+parseInt(_0x5b04f2(0x127))/0x4*(parseInt(_0x5b04f2(0x119))/0x5)+-parseInt(_0x5b04f2(0x117))/0x6*(-parseInt(_0x5b04f2(0x11f))/0x7)+-parseInt(_0x5b04f2(0x125))/0x8*(-parseInt(_0x5b04f2(0x121))/0x9)+-parseInt(_0x5b04f2(0x122))/0xa*(parseInt(_0x5b04f2(0x118))/0xb)+-parseInt(_0x5b04f2(0x123))/0xc;if(_0x3f44cf===_0x4e31c9)break;else _0x26b88e['push'](_0x26b88e['shift']());}catch(_0x9e2f77){_0x26b88e['push'](_0x26b88e['shift']());}}}(_0x2e36,0xce0ef));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x330c(_0x4ee0c9,_0x2af8d6){_0x4ee0c9=_0x4ee0c9-0x117;const _0x2e367d=_0x2e36();let _0x330c2f=_0x2e367d[_0x4ee0c9];return _0x330c2f;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x2e36(){const _0x578869=['gZFPd','910mspdGd','exit','5500224hAmnlZ','5300DhsNOu','39651396dtpzrp','error','16rhDIML','join','5027812ZLSRgh','2fbWAKz','867494tVcXtQ','54552plIPLh','27445qyfBzy','5jOFhDS','JMtfS','2825907BUZQFg','once','keys'];_0x2e36=function(){return _0x578869;};return _0x2e36();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x311107=_0x330c,_0x43a746={'gZFPd':'SIGINT','PChum':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x4072af=()=>{process['exit'](0x0);};process['once'](_0x43a746[_0x311107(0x11e)],_0x4072af),process[_0x311107(0x11c)](_0x43a746['PChum'],_0x4072af),process['once']('SIGHUP',_0x4072af),cancellationHandlersInstalled=!![];}export async function hook(_0x1f7787,_0x4bcb04){const _0x11c934=_0x330c,_0x5e4356={'JMtfS':function(_0x49f574){return _0x49f574();}};_0x5e4356[_0x11c934(0x11a)](installCancellationHandlers);const _0x5b9cc3=HOOKS[_0x1f7787];if(!_0x5b9cc3){const _0x59b2b9=Object[_0x11c934(0x11d)](HOOKS)[_0x11c934(0x126)](',\x20');console[_0x11c934(0x124)]('Unknown\x20hook:\x20'+_0x1f7787),console[_0x11c934(0x124)]('Valid\x20hooks:\x20'+_0x59b2b9),process[_0x11c934(0x120)](0x1);}await _0x5b9cc3(_0x4bcb04);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x51ef76=_0x2f1d;(function(_0x28ae96,_0x29e5f8){const _0x5978a9=_0x2f1d,_0x378417=_0x28ae96();while(!![]){try{const _0x1d12c3=-parseInt(_0x5978a9(0x12e))/0x1*(-parseInt(_0x5978a9(0x128))/0x2)+-parseInt(_0x5978a9(0x12b))/0x3+-parseInt(_0x5978a9(0x126))/0x4*(-parseInt(_0x5978a9(0x127))/0x5)+-parseInt(_0x5978a9(0x130))/0x6*(-parseInt(_0x5978a9(0x12c))/0x7)+-parseInt(_0x5978a9(0x12d))/0x8*(parseInt(_0x5978a9(0x12f))/0x9)+-parseInt(_0x5978a9(0x125))/0xa+parseInt(_0x5978a9(0x124))/0xb*(-parseInt(_0x5978a9(0x129))/0xc);if(_0x1d12c3===_0x29e5f8)break;else _0x378417['push'](_0x378417['shift']());}catch(_0x24a4b1){_0x378417['push'](_0x378417['shift']());}}}(_0x5dc9,0x6fdb3));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x5dc9(){const _0x31aa73=['1362YGympc','33sFZHpR','1911460yvjcpn','4KuSYAG','3066065PQflAN','572ulvrZS','2226732qIrcUE','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','1636155PhNLuP','16877KFrCag','4504xsuEZa','3190FXLVzK','5139WRLKct'];_0x5dc9=function(){return _0x31aa73;};return _0x5dc9();}function _0x2f1d(_0x22a5ed,_0xfc16b){_0x22a5ed=_0x22a5ed-0x124;const _0x5dc9c7=_0x5dc9();let _0x2f1d66=_0x5dc9c7[_0x22a5ed];return _0x2f1d66;}const AUTO_PROMPT_TEXT=_0x51ef76(0x12a);export async function autoPrompt(){const _0x22170a=await readHookInput(),_0x5cd180=_0x22170a?.['session_id'];if(!_0x5cd180)return;if(isSessionEnabled(_0x5cd180)||hasSessionBeenPrompted(_0x5cd180))return;markSessionPrompted(_0x5cd180),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1303(_0xb81937,_0x5ab9a5){_0xb81937=_0xb81937-0x17d;const _0x6ebc99=_0x6ebc();let _0x130325=_0x6ebc99[_0xb81937];return _0x130325;}(function(_0x296814,_0x3db56d){const _0xbdb3df=_0x1303,_0x5dee81=_0x296814();while(!![]){try{const _0x4f6f11=-parseInt(_0xbdb3df(0x18f))/0x1+-parseInt(_0xbdb3df(0x186))/0x2*(parseInt(_0xbdb3df(0x182))/0x3)+-parseInt(_0xbdb3df(0x18d))/0x4+-parseInt(_0xbdb3df(0x185))/0x5*(-parseInt(_0xbdb3df(0x184))/0x6)+-parseInt(_0xbdb3df(0x188))/0x7*(parseInt(_0xbdb3df(0x17e))/0x8)+-parseInt(_0xbdb3df(0x18c))/0x9+parseInt(_0xbdb3df(0x180))/0xa*(parseInt(_0xbdb3df(0x18a))/0xb);if(_0x4f6f11===_0x3db56d)break;else _0x5dee81['push'](_0x5dee81['shift']());}catch(_0x30504a){_0x5dee81['push'](_0x5dee81['shift']());}}}(_0x6ebc,0x4dba1));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x6ebc(){const _0x3db637=['23637JffdHE','master','12hPyxFa','1251605WYXQRd','14LCRdno','pbXpX','316638CRmIEI','UYvQP','83270IVDdey','iMDJS','5458086LIcoQU','352868hdebgk','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','23467dtxEAE','main','24KLwBFC','.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','960KQujPa','kllQD'];_0x6ebc=function(){return _0x3db637;};return _0x6ebc();}import{printBlock}from'./output.js';export async function disable(_0x5bb659){const _0x53ffc3=_0x1303,_0xb7456c={'vKrAS':function(_0x8ac940){return _0x8ac940();},'iMDJS':function(_0x561814,_0x3e1d29){return _0x561814!==_0x3e1d29;},'iYcSw':'main','UYvQP':_0x53ffc3(0x183),'pbXpX':function(_0x4254f9,_0x55d0df){return _0x4254f9(_0x55d0df);},'kllQD':function(_0x6319af,_0xef204f){return _0x6319af!==_0xef204f;}},_0x350f28=_0x5bb659||process['env']['CLAUDE_SESSION_ID']||'';_0x350f28&&disableSession(_0x350f28);const _0x3ee4db=_0xb7456c['vKrAS'](getCurrentBranch);_0x3ee4db&&_0xb7456c[_0x53ffc3(0x18b)](_0x3ee4db,_0xb7456c['iYcSw'])&&_0x3ee4db!==_0xb7456c[_0x53ffc3(0x189)]&&_0xb7456c[_0x53ffc3(0x187)](disableBranch,_0x3ee4db),printBlock(_0x53ffc3(0x18e)+(_0x3ee4db&&_0xb7456c[_0x53ffc3(0x181)](_0x3ee4db,_0x53ffc3(0x17d))&&_0xb7456c['iMDJS'](_0x3ee4db,'master')?'\x20and\x20branch\x20\x27'+_0x3ee4db+'\x27':'')+_0x53ffc3(0x17f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x205e58,_0x1139b2){const _0x10c214=_0x4497,_0x3aff99=_0x205e58();while(!![]){try{const _0x32d607=parseInt(_0x10c214(0xa8))/0x1*(parseInt(_0x10c214(0xad))/0x2)+-parseInt(_0x10c214(0xab))/0x3+parseInt(_0x10c214(0xb2))/0x4+-parseInt(_0x10c214(0xb6))/0x5+-parseInt(_0x10c214(0xb7))/0x6+-parseInt(_0x10c214(0xb0))/0x7+parseInt(_0x10c214(0xac))/0x8;if(_0x32d607===_0x1139b2)break;else _0x3aff99['push'](_0x3aff99['shift']());}catch(_0x124b99){_0x3aff99['push'](_0x3aff99['shift']());}}}(_0x1dba,0x2c5e3));function _0x4497(_0x24a66f,_0x3ea97d){_0x24a66f=_0x24a66f-0xa7;const _0x1dbab2=_0x1dba();let _0x4497b5=_0x1dbab2[_0x24a66f];return _0x4497b5;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x1dba(){const _0x22be99=['`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','658540aJVnLT','mzDdB','fLUBy','CLAUDE_SESSION_ID','438085CZeIhQ','1570404RnqJal','env','\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.','1yvmNtW','ZeBAu','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','536652mvMAYg','4643000Obqqhe','619198RwyHPQ','xNAbk','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','2412501Jfjlyi'];_0x1dba=function(){return _0x22be99;};return _0x1dba();}import{update}from'../update.js';export async function enable(_0x337743){const _0x19c80d=_0x4497,_0x1b984b={'xNAbk':function(_0x384b3f,_0x3a57af){return _0x384b3f(_0x3a57af);},'mzDdB':function(_0x1e3ec0){return _0x1e3ec0();},'fLUBy':'ranger\x20setup\x20--opencode','ZeBAu':'ranger\x20setup','XOTFA':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','WhuJp':'master','doRFX':function(_0x59e3e1){return _0x59e3e1();}},_0x1f5205=_0x337743||process[_0x19c80d(0xb8)][_0x19c80d(0xb5)]||'',_0x48fa92=_0x1b984b['xNAbk'](Boolean,_0x337743),_0x3954f6=await _0x1b984b['mzDdB'](getToken);if(!_0x3954f6){const _0x548f68=_0x48fa92?_0x1b984b[_0x19c80d(0xb4)]:_0x1b984b[_0x19c80d(0xa9)],_0x16fae9=_0x48fa92?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x1b984b['XOTFA'];printBlock(_0x19c80d(0xaf)+_0x548f68+_0x19c80d(0xb1)+_0x16fae9);return;}try{await _0x1b984b[_0x19c80d(0xb3)](update);}catch{}_0x1f5205&&enableSession(_0x1f5205);const _0x2d2866=getCurrentBranch(),_0x2a06b4=_0x2d2866&&_0x2d2866!=='main'&&_0x2d2866!==_0x1b984b['WhuJp']?'\x0a\x0a**Branch\x20\x27'+_0x2d2866+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x307ebd=_0x1b984b['doRFX'](getRangerSkillContent);_0x1b984b[_0x19c80d(0xae)](printBlock,'#\x20RANGER\x20ENABLED'+_0x2a06b4+_0x19c80d(0xaa)+_0x307ebd+_0x19c80d(0xa7));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x59fe(_0x522422,_0x53ca97){_0x522422=_0x522422-0x1b5;const _0x55ae45=_0x55ae();let _0x59fee9=_0x55ae45[_0x522422];return _0x59fee9;}(function(_0x2cec9a,_0x11d072){const _0x5b422f=_0x59fe,_0x561058=_0x2cec9a();while(!![]){try{const _0x2b1a40=-parseInt(_0x5b422f(0x1b5))/0x1*(parseInt(_0x5b422f(0x1c1))/0x2)+-parseInt(_0x5b422f(0x1be))/0x3*(parseInt(_0x5b422f(0x1bf))/0x4)+parseInt(_0x5b422f(0x1bb))/0x5*(parseInt(_0x5b422f(0x1b6))/0x6)+-parseInt(_0x5b422f(0x1bd))/0x7+-parseInt(_0x5b422f(0x1ba))/0x8*(parseInt(_0x5b422f(0x1b9))/0x9)+-parseInt(_0x5b422f(0x1c0))/0xa+-parseInt(_0x5b422f(0x1b8))/0xb*(-parseInt(_0x5b422f(0x1b7))/0xc);if(_0x2b1a40===_0x11d072)break;else _0x561058['push'](_0x561058['shift']());}catch(_0x1313d1){_0x561058['push'](_0x561058['shift']());}}}(_0x55ae,0xddb48));import{printBlock,getEnabledSessionId}from'./output.js';function _0x55ae(){const _0x4c9507=['12368936UnsYoW','10LQYiEX','===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===','11014843rpbpTU','21LduZod','163876RHLbQL','16267690CHigMb','388nYksAJ','692JLdDqk','140394mSEZRD','24VoDBJl','33158246bkFaPM','9xIvqIW'];_0x55ae=function(){return _0x4c9507;};return _0x55ae();}export async function exitPlanMode(_0x11d484){const _0x1c5fad=_0x59fe,_0x2b5b8e={'TBlgw':function(_0x5499ae,_0x58821e){return _0x5499ae(_0x58821e);}},_0x4e456c=await getEnabledSessionId(_0x11d484);if(!_0x4e456c)return;_0x2b5b8e['TBlgw'](printBlock,_0x1c5fad(0x1bc));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x20d196,_0x3d4296){var _0x55312b=_0x1bdf,_0x8d963b=_0x20d196();while(!![]){try{var _0x2429cf=-parseInt(_0x55312b(0x1da))/0x1*(-parseInt(_0x55312b(0x1dc))/0x2)+parseInt(_0x55312b(0x1d7))/0x3*(-parseInt(_0x55312b(0x1db))/0x4)+parseInt(_0x55312b(0x1de))/0x5+parseInt(_0x55312b(0x1d5))/0x6*(-parseInt(_0x55312b(0x1d9))/0x7)+parseInt(_0x55312b(0x1d8))/0x8*(-parseInt(_0x55312b(0x1d6))/0x9)+-parseInt(_0x55312b(0x1d4))/0xa+parseInt(_0x55312b(0x1dd))/0xb;if(_0x2429cf===_0x3d4296)break;else _0x8d963b['push'](_0x8d963b['shift']());}catch(_0x1dad7e){_0x8d963b['push'](_0x8d963b['shift']());}}}(_0x2688,0x83903));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x1bdf(_0xf3b471,_0x49b519){_0xf3b471=_0xf3b471-0x1d4;var _0x268831=_0x2688();var _0x1bdfc8=_0x268831[_0xf3b471];return _0x1bdfc8;}function _0x2688(){var _0x32c4b7=['3724870lCvkYf','8172780gkGgqH','1569222RDcdHr','100512aQVTgr','1605CbLupE','16TcFITf','21ilOaua','64513jEWglw','5972mVEWud','28HPdgeL','14450777oJJLaa'];_0x2688=function(){return _0x32c4b7;};return _0x2688();}export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4ca81d,_0x5e3a1a){const _0x2c8a47=_0x108b,_0x19691b=_0x4ca81d();while(!![]){try{const _0x1e01cb=-parseInt(_0x2c8a47(0x103))/0x1+-parseInt(_0x2c8a47(0xfd))/0x2*(parseInt(_0x2c8a47(0x102))/0x3)+-parseInt(_0x2c8a47(0x106))/0x4*(parseInt(_0x2c8a47(0x10a))/0x5)+parseInt(_0x2c8a47(0xfb))/0x6*(parseInt(_0x2c8a47(0xfa))/0x7)+-parseInt(_0x2c8a47(0x105))/0x8+-parseInt(_0x2c8a47(0xff))/0x9+parseInt(_0x2c8a47(0x108))/0xa;if(_0x1e01cb===_0x5e3a1a)break;else _0x19691b['push'](_0x19691b['shift']());}catch(_0x53bef2){_0x19691b['push'](_0x19691b['shift']());}}}(_0x19ce,0xe6596));function _0x108b(_0xe89d25,_0xec258d){_0xe89d25=_0xe89d25-0xfa;const _0x19cefc=_0x19ce();let _0x108ba6=_0x19cefc[_0xe89d25];return _0x108ba6;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x12c6cc){const _0x564d55=_0x108b;console[_0x564d55(0x107)](_0x12c6cc);}function _0x19ce(){const _0x164f92=['bVrDw','5411312qrCgNr','3988cPuwts','log','34526760fbSEeU','session_id','1370qDzaes','410375dSdJJe','72ZfHAVs','HatSB','168634OChSyk','ePHyn','12224547glksTo','parse','trim','9JqPtgD','651840uLDnPm'];_0x19ce=function(){return _0x164f92;};return _0x19ce();}export async function readHookInput(){const _0x2704ba=_0x108b;let _0x340efb='';try{for await(const _0xab2400 of process['stdin']){_0x340efb+=_0xab2400;}}catch{return null;}if(!_0x340efb[_0x2704ba(0x101)]())return null;try{return JSON[_0x2704ba(0x100)](_0x340efb);}catch{return null;}}export async function getEnabledSessionId(_0x2713d4){const _0x2af4f5=_0x108b,_0x2db222={'HatSB':function(_0x3fafdd){return _0x3fafdd();},'ePHyn':function(_0x2f6c7d,_0x1d8e98){return _0x2f6c7d(_0x1d8e98);}};if(_0x2713d4)return isSessionEnabled(_0x2713d4)?_0x2713d4:null;const _0x3ec5b2=await _0x2db222[_0x2af4f5(0xfc)](readHookInput),_0x1b87d5=_0x3ec5b2?.[_0x2af4f5(0x109)];if(!_0x1b87d5||!_0x2db222[_0x2af4f5(0xfe)](isSessionEnabled,_0x1b87d5))return null;return _0x1b87d5;}export async function getEnabledHookContext(_0x18b0ab){const _0x1fb935=_0x108b,_0x78768c={'vvUZk':function(_0x44cf04,_0x266668){return _0x44cf04(_0x266668);},'bVrDw':function(_0x5de80b,_0x2a4071){return _0x5de80b(_0x2a4071);}};if(_0x18b0ab){if(!_0x78768c['vvUZk'](isSessionEnabled,_0x18b0ab))return null;return{'sessionId':_0x18b0ab,'input':{'session_id':_0x18b0ab}};}const _0xdfc1ad=await readHookInput(),_0x18d14f=_0xdfc1ad?.[_0x1fb935(0x109)];if(!_0x18d14f||!_0x78768c[_0x1fb935(0x104)](isSessionEnabled,_0x18d14f))return null;return{'sessionId':_0x18d14f,'input':_0xdfc1ad};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2739a7,_0x1d96b1){const _0xab012c=_0x57dd,_0xbc4feb=_0x2739a7();while(!![]){try{const _0x7e7ddd=-parseInt(_0xab012c(0x1d0))/0x1*(parseInt(_0xab012c(0x1d8))/0x2)+-parseInt(_0xab012c(0x1d4))/0x3*(parseInt(_0xab012c(0x1d9))/0x4)+-parseInt(_0xab012c(0x1cb))/0x5*(parseInt(_0xab012c(0x1cf))/0x6)+parseInt(_0xab012c(0x1d3))/0x7*(-parseInt(_0xab012c(0x1d7))/0x8)+parseInt(_0xab012c(0x1d6))/0x9*(parseInt(_0xab012c(0x1d5))/0xa)+parseInt(_0xab012c(0x1ce))/0xb*(parseInt(_0xab012c(0x1cc))/0xc)+parseInt(_0xab012c(0x1d2))/0xd;if(_0x7e7ddd===_0x1d96b1)break;else _0xbc4feb['push'](_0xbc4feb['shift']());}catch(_0x227e4c){_0xbc4feb['push'](_0xbc4feb['shift']());}}}(_0x2e9d,0x19a5a));import{printBlock,getEnabledHookContext}from'./output.js';function _0x57dd(_0x41e52c,_0x5737dc){_0x41e52c=_0x41e52c-0x1cb;const _0x2e9d89=_0x2e9d();let _0x57dd34=_0x2e9d89[_0x41e52c];return _0x57dd34;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x2e9d(){const _0x4e99c9=['696440hLlUdD','36KIWokU','plan','164494DTxauf','6bOMPKT','1816lazrLa','fusQo','4962230PYKCIE','95914XgQoEX','95484tmomCF','10660VjWBLk','711jYLRno','16omADPB','88DQldmV','20BDkHQo'];_0x2e9d=function(){return _0x4e99c9;};return _0x2e9d();}export async function planReminder(_0x46e70f){const _0x45fba6=_0x57dd,_0x3c6694={'EyqRO':function(_0x12451a,_0x4ec744){return _0x12451a(_0x4ec744);},'fEUKP':function(_0x1352e0,_0x57a3ed){return _0x1352e0!==_0x57a3ed;},'fusQo':_0x45fba6(0x1cd)},_0x711ee2=await _0x3c6694['EyqRO'](getEnabledHookContext,_0x46e70f);if(!_0x711ee2)return;if(_0x3c6694['fEUKP'](_0x711ee2['input']['permission_mode'],_0x3c6694[_0x45fba6(0x1d1)]))return;if(!shouldShowPlanReminder(_0x711ee2['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1e2586,_0x31c533){const _0x456707=_0x312a,_0x328ac5=_0x1e2586();while(!![]){try{const _0x3aa61f=parseInt(_0x456707(0x12d))/0x1*(parseInt(_0x456707(0x12b))/0x2)+parseInt(_0x456707(0x122))/0x3+-parseInt(_0x456707(0x12c))/0x4*(-parseInt(_0x456707(0x123))/0x5)+-parseInt(_0x456707(0x129))/0x6*(-parseInt(_0x456707(0x124))/0x7)+-parseInt(_0x456707(0x12a))/0x8+parseInt(_0x456707(0x125))/0x9+-parseInt(_0x456707(0x121))/0xa*(parseInt(_0x456707(0x126))/0xb);if(_0x3aa61f===_0x31c533)break;else _0x328ac5['push'](_0x328ac5['shift']());}catch(_0x27d0f8){_0x328ac5['push'](_0x328ac5['shift']());}}}(_0x5acc,0xad225));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x31833b){const _0x4fdf9c=_0x312a,_0x57b2ac={'ZUOId':function(_0x70b766,_0x1507d8){return _0x70b766(_0x1507d8);}},_0x59cd3d=await getEnabledSessionId(_0x31833b);if(!_0x59cd3d)return;_0x57b2ac[_0x4fdf9c(0x127)](printBlock,_0x4fdf9c(0x128));}function _0x312a(_0x5745c8,_0x574b6d){_0x5745c8=_0x5745c8-0x121;const _0x5acc28=_0x5acc();let _0x312a19=_0x5acc28[_0x5745c8];return _0x312a19;}function _0x5acc(){const _0x3513f1=['669472yprhGd','17828wYPlDe','1XzYXYn','11384020LtEPhD','2398059ducaWZ','1475BsweRg','7665YruPfr','8195085nIErzy','22AhMuPl','ZUOId','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===','5106TDLkWE','10442824vbBHjb'];_0x5acc=function(){return _0x3513f1;};return _0x5acc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x363c7e,_0x4b7def){const _0x2fd110=_0x5078,_0x4a2dda=_0x363c7e();while(!![]){try{const _0x91878a=parseInt(_0x2fd110(0x110))/0x1*(parseInt(_0x2fd110(0x10d))/0x2)+parseInt(_0x2fd110(0x11a))/0x3*(parseInt(_0x2fd110(0x119))/0x4)+-parseInt(_0x2fd110(0x11d))/0x5+-parseInt(_0x2fd110(0x10f))/0x6*(parseInt(_0x2fd110(0x115))/0x7)+parseInt(_0x2fd110(0x10e))/0x8+parseInt(_0x2fd110(0x118))/0x9+parseInt(_0x2fd110(0x112))/0xa*(-parseInt(_0x2fd110(0x11b))/0xb);if(_0x91878a===_0x4b7def)break;else _0x4a2dda['push'](_0x4a2dda['shift']());}catch(_0x909b7d){_0x4a2dda['push'](_0x4a2dda['shift']());}}}(_0x37aa,0x41697));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x37aa(){const _0x8d1e7f=['143217hJOgxd','385gkVmpT','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','122120pUADFH','ruCQf','400078elChqA','1056248UvVPvX','4434MGnnNf','1lmDfnU','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).','185270mIlWBi','stringify','dPxNw','1939RveZJP','IiqrP','log','4742955zXatUv','24xCqYQA'];_0x37aa=function(){return _0x8d1e7f;};return _0x37aa();}function _0x5078(_0x5cab81,_0x3ce8be){_0x5cab81=_0x5cab81-0x10d;const _0x37aa33=_0x37aa();let _0x50787b=_0x37aa33[_0x5cab81];return _0x50787b;}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x4d8757){const _0x14817b=_0x5078,_0x2101c3={'ruCQf':function(_0x56ddee,_0x2bb497){return _0x56ddee(_0x2bb497);},'dPxNw':function(_0xfe1950){return _0xfe1950();},'jaCay':function(_0x199836,_0x2d85df){return _0x199836(_0x2d85df);},'IiqrP':'PostToolUse'},_0x23fe84=await _0x2101c3[_0x14817b(0x11e)](getEnabledSessionId,_0x4d8757);if(!_0x23fe84)return;updateBranchTracking(_0x23fe84);const _0x512eac=await _0x2101c3[_0x14817b(0x114)](getToken);if(!_0x512eac)return;const _0x131c99=_0x2101c3['jaCay'](getSessionEntry,_0x23fe84);if(_0x131c99){const _0x1127e9={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x14817b(0x111)}};console['log'](JSON[_0x14817b(0x113)](_0x1127e9));return;}const _0x799800={'hookSpecificOutput':{'hookEventName':_0x2101c3[_0x14817b(0x116)],'additionalContext':_0x14817b(0x11c)}};console[_0x14817b(0x117)](JSON[_0x14817b(0x113)](_0x799800));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1c9a(_0x34c60c,_0x575cd0){_0x34c60c=_0x34c60c-0x89;const _0x34ce08=_0x34ce();let _0x1c9a06=_0x34ce08[_0x34c60c];return _0x1c9a06;}function _0x34ce(){const _0x59fc06=['14545QuzlbI','10576856QxtCEa','1795131MmHRMp','1256255QqAjtK','447117wgRgIu','1734CWVpaY','5614168AxMizy','16SOkbHE','297878XVqjuf'];_0x34ce=function(){return _0x59fc06;};return _0x34ce();}(function(_0xc6b751,_0x52c615){const _0x2a6c3e=_0x1c9a,_0x25a7a1=_0xc6b751();while(!![]){try{const _0x118c71=parseInt(_0x2a6c3e(0x8a))/0x1+parseInt(_0x2a6c3e(0x8e))/0x2*(parseInt(_0x2a6c3e(0x8b))/0x3)+-parseInt(_0x2a6c3e(0x8d))/0x4+parseInt(_0x2a6c3e(0x90))/0x5*(parseInt(_0x2a6c3e(0x8c))/0x6)+parseInt(_0x2a6c3e(0x8f))/0x7+-parseInt(_0x2a6c3e(0x91))/0x8+parseInt(_0x2a6c3e(0x89))/0x9;if(_0x118c71===_0x52c615)break;else _0x25a7a1['push'](_0x25a7a1['shift']());}catch(_0x1c72bb){_0x25a7a1['push'](_0x25a7a1['shift']());}}}(_0x34ce,0xc4b00));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x4225fc){const _0xe7c89d={'mkXqJ':function(_0x155b21,_0x2782e6){return _0x155b21(_0x2782e6);},'fYawp':function(_0x474fa7,_0x1b6467){return _0x474fa7(_0x1b6467);}},_0x42fd2b=await _0xe7c89d['mkXqJ'](getEnabledSessionId,_0x4225fc);if(!_0x42fd2b)return;try{const _0x11c44d=await getToken();if(!_0x11c44d)return;_0xe7c89d['fYawp'](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x4e0c(){const _0x20afe9=['EUAtG','102639qwouqY','5320nmTKhu','8DmSOVm','CLAUDE_SESSION_ID','6BiWadN','8873601xKUYoN','tvCqz','5268wDEgQo','session_id','34294368qYyEmt','HUjPP','1061586OKpBTS','10ydUlRh','81453RcFrcJ','44XXeYoD','2235840sXMOmS'];_0x4e0c=function(){return _0x20afe9;};return _0x4e0c();}(function(_0x280f67,_0x200d2b){const _0x20c64e=_0x53a0,_0x237656=_0x280f67();while(!![]){try{const _0x30ab1f=-parseInt(_0x20c64e(0xbd))/0x1*(parseInt(_0x20c64e(0xc1))/0x2)+parseInt(_0x20c64e(0xb9))/0x3*(-parseInt(_0x20c64e(0xba))/0x4)+-parseInt(_0x20c64e(0xbb))/0x5+parseInt(_0x20c64e(0xb3))/0x6*(-parseInt(_0x20c64e(0xbe))/0x7)+-parseInt(_0x20c64e(0xbf))/0x8*(-parseInt(_0x20c64e(0xb7))/0x9)+parseInt(_0x20c64e(0xb8))/0xa*(-parseInt(_0x20c64e(0xb1))/0xb)+parseInt(_0x20c64e(0xb5))/0xc;if(_0x30ab1f===_0x200d2b)break;else _0x237656['push'](_0x237656['shift']());}catch(_0x10d57a){_0x237656['push'](_0x237656['shift']());}}}(_0x4e0c,0x6d665));function _0x53a0(_0xbae837,_0x3f5227){_0xbae837=_0xbae837-0xb1;const _0x4e0cde=_0x4e0c();let _0x53a0b7=_0x4e0cde[_0xbae837];return _0x53a0b7;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x376dac){const _0x74e356=_0x53a0,_0x4aeeb2={'tvCqz':function(_0x14d4ea,_0x4e2706){return _0x14d4ea(_0x4e2706);},'HUjPP':function(_0x1323df){return _0x1323df();},'EUAtG':function(_0x135e50,_0x5f092b){return _0x135e50===_0x5f092b;},'jCSGt':function(_0x4fc9bb,_0x3f554a){return _0x4fc9bb(_0x3f554a);}},_0x1ac47f=process['env'][_0x74e356(0xc0)];let _0x4eb4ad=_0x376dac,_0x498761;if(!_0x376dac){if(_0x1ac47f&&!_0x4aeeb2[_0x74e356(0xb2)](isSessionEnabled,_0x1ac47f))return;const _0xd57575=await _0x4aeeb2[_0x74e356(0xb6)](readHookInput);_0x4eb4ad=_0xd57575?.[_0x74e356(0xb4)]||_0x1ac47f,_0x498761=_0xd57575?.['reason'];}if(!_0x4eb4ad)return;_0x4aeeb2[_0x74e356(0xbc)](_0x498761,'clear')&&_0x4aeeb2['jCSGt'](recordEnabledSessionCleared,_0x4eb4ad);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1a7150,_0x9b5b5){const _0x27cbc4=_0x1eea,_0xa6aee4=_0x1a7150();while(!![]){try{const _0x44ee30=-parseInt(_0x27cbc4(0x1ed))/0x1+-parseInt(_0x27cbc4(0x1dc))/0x2*(parseInt(_0x27cbc4(0x1f3))/0x3)+parseInt(_0x27cbc4(0x1d9))/0x4*(-parseInt(_0x27cbc4(0x1e2))/0x5)+-parseInt(_0x27cbc4(0x1e4))/0x6*(-parseInt(_0x27cbc4(0x1ee))/0x7)+parseInt(_0x27cbc4(0x1e8))/0x8+parseInt(_0x27cbc4(0x1de))/0x9*(-parseInt(_0x27cbc4(0x1e1))/0xa)+parseInt(_0x27cbc4(0x1e0))/0xb;if(_0x44ee30===_0x9b5b5)break;else _0xa6aee4['push'](_0xa6aee4['shift']());}catch(_0x2694d4){_0xa6aee4['push'](_0xa6aee4['shift']());}}}(_0x4278,0x8c8ca));function _0x1eea(_0x143235,_0x30ae77){_0x143235=_0x143235-0x1d8;const _0x4278d6=_0x4278();let _0x1eea06=_0x4278d6[_0x143235];return _0x1eea06;}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';function _0x4278(){const _0x3b4d22=['8440448UefBaJ','Jcbgo','\x20(Branch:\x20','parse','GobbD','639838DaNTgK','7qRzTkH','trackCommandStart','SxaJg','hook:session-start','qgVuC','6QRksFq','BTnBY','4siakeC','success','log','446314xEDOgk','source','1967283FRmOsF','stdin','14455529TpGtKv','30zMxZsx','4888220ePxpvH','Rurzs','5556312kJsfwB','session_id','env','mDCWH'];_0x4278=function(){return _0x3b4d22;};return _0x4278();}export async function sessionStart(_0x245e91){const _0x495436=_0x1eea,_0x5e2646={'BTnBY':function(_0x31381d,_0x5e1eb3){return _0x31381d||_0x5e1eb3;},'SxaJg':_0x495436(0x1e5),'qgVuC':function(_0x34e1e3){return _0x34e1e3();},'Jcbgo':function(_0x3b2f70,_0x45fecc){return _0x3b2f70(_0x45fecc);},'mDCWH':function(_0x3c7d95,_0x3daca3){return _0x3c7d95(_0x3daca3);},'xeTbr':_0x495436(0x1f1),'Rurzs':_0x495436(0x1da),'GobbD':function(_0xc91082,_0x4badb5){return _0xc91082!==_0x4badb5;},'XRdHn':'SessionStart'};let _0x5ea294=_0x5e2646[_0x495436(0x1d8)](_0x245e91,''),_0x460b51;if(!_0x245e91){let _0x2222cc='';for await(const _0x5d70f2 of process[_0x495436(0x1df)]){_0x2222cc+=_0x5d70f2;}try{const _0x481c39=JSON[_0x495436(0x1eb)](_0x2222cc);_0x5ea294=_0x481c39[_0x5e2646[_0x495436(0x1f0)]]||'',_0x460b51=_0x481c39[_0x495436(0x1dd)];}catch{}const _0x555dab=process[_0x495436(0x1e6)]['CLAUDE_ENV_FILE'];if(_0x555dab&&_0x5ea294)try{await appendFile(_0x555dab,'export\x20CLAUDE_SESSION_ID=\x22'+_0x5ea294+'\x22\x0a');}catch{}}try{await _0x5e2646[_0x495436(0x1f2)](getToken);}catch{}if(_0x5ea294){shouldAutoEnableAfterClear(_0x460b51)&&_0x5e2646[_0x495436(0x1e9)](autoEnableAfterClear,_0x5ea294);initBranchTracking(_0x5ea294);const _0xe1d72e=isSessionEnabled(_0x5ea294);try{const _0xa232f6=_0x5e2646[_0x495436(0x1e7)](createTelemetryCollector,_0x5e2646['xeTbr']);await _0xa232f6[_0x495436(0x1ef)]({'sessionId':_0x5ea294,'hooksEnabled':_0xe1d72e}),await _0xa232f6['trackCommandEnd'](_0x5e2646[_0x495436(0x1e3)]);}catch{}if(_0xe1d72e){const _0x3ff530=_0x5e2646['qgVuC'](getCurrentBranch),_0x4d5650=_0x3ff530&&_0x5e2646[_0x495436(0x1ec)](_0x3ff530,'main')&&_0x3ff530!=='master'?_0x495436(0x1ea)+_0x3ff530+')':'',_0x4f10c0={'hookSpecificOutput':{'hookEventName':_0x5e2646['XRdHn'],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x4d5650}};console[_0x495436(0x1db)](JSON['stringify'](_0x4f10c0));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x6ea1(){const _0x4b3823=['blocked','441145IIDLcz','https://dashboard.ranger.net/features/','sessionId','trackCommandEnd','3CNZCJm','status','Stop','LPDfD','featureId','some','494451LiOEYh','32vTzitt','3346KDPIqE','checklistItems','trackCommandStart','MrYuD','2778xTaUer','verified','365464nDeEas','1011532BhKOFh','log','248706oKlNpQ','8359490vvxDQM'];_0x6ea1=function(){return _0x4b3823;};return _0x6ea1();}(function(_0x18c8d0,_0x363571){const _0x1d198c=_0x28d7,_0x184077=_0x18c8d0();while(!![]){try{const _0x40f0d4=-parseInt(_0x1d198c(0x82))/0x1+parseInt(_0x1d198c(0x7f))/0x2+parseInt(_0x1d198c(0x89))/0x3*(-parseInt(_0x1d198c(0x80))/0x4)+parseInt(_0x1d198c(0x85))/0x5+parseInt(_0x1d198c(0x7d))/0x6*(-parseInt(_0x1d198c(0x79))/0x7)+-parseInt(_0x1d198c(0x78))/0x8*(parseInt(_0x1d198c(0x77))/0x9)+parseInt(_0x1d198c(0x83))/0xa;if(_0x40f0d4===_0x363571)break;else _0x184077['push'](_0x184077['shift']());}catch(_0x413dbf){_0x184077['push'](_0x184077['shift']());}}}(_0x6ea1,0x2819b));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x28d7(_0x466d84,_0x54c52d){_0x466d84=_0x466d84-0x76;const _0x6ea106=_0x6ea1();let _0x28d76d=_0x6ea106[_0x466d84];return _0x28d76d;}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x176ccf){const _0xe18069=_0x28d7,_0x1f1e88={'LPDfD':function(_0x51eb53,_0xd820a4){return _0x51eb53(_0xd820a4);},'ymGfW':function(_0x51f81e,_0x1b8106,_0x1f3d40,_0x238750){return _0x51f81e(_0x1b8106,_0x1f3d40,_0x238750);},'MrYuD':_0xe18069(0x8b),'tPSpH':function(_0x1b92ea,_0x17730d,_0x55fcde){return _0x1b92ea(_0x17730d,_0x55fcde);}},_0x9bfb3=await _0x1f1e88[_0xe18069(0x8c)](getEnabledHookContext,_0x176ccf),_0x3f789e=_0x9bfb3?.[_0xe18069(0x87)]??null;let _0xf0e905=!![];if(!_0x3f789e){await trackStop(_0x3f789e,![],_0xf0e905);return;}try{const _0xa669f8=getSessionEntry(_0x3f789e);if(!_0xa669f8){await _0x1f1e88['ymGfW'](trackStop,_0x3f789e,!![],_0xf0e905);return;}const _0x517962=await getToken(),_0x5194b1=_0xe18069(0x86)+_0xa669f8['featureId'];let _0x5b41b8=null,_0x5d93cb=![],_0xb04191=![];if(_0x517962)try{const _0x1f4471=await getFeature(_0xa669f8[_0xe18069(0x8d)]);_0x5b41b8=_0x1f4471['currentSessionId']??null;const _0x5d4ef2=_0x1f4471[_0xe18069(0x7a)]['filter'](_0x2b177a=>_0x2b177a[_0xe18069(0x87)]===_0x5b41b8);_0x5d93cb=_0x5d4ef2['some'](_0x10164c=>_0x10164c['status']!==_0xe18069(0x7e)&&_0x10164c['status']!==_0xe18069(0x84)&&_0x10164c['status']!=='closed'&&_0x10164c[_0xe18069(0x8a)]!=='incomplete'),_0xb04191=_0x5d4ef2[_0xe18069(0x76)](_0x4337cd=>_0x4337cd[_0xe18069(0x8a)]==='verification_in_progress');}catch{}if(_0x517962&&_0x5b41b8&&_0x5d93cb){if(!_0xb04191&&_0x1f1e88[_0xe18069(0x8c)](shouldShowStopReminder,_0x3f789e)){const _0x270af4={'hookSpecificOutput':{'hookEventName':_0x1f1e88[_0xe18069(0x7c)],'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x5194b1}};console[_0xe18069(0x81)](JSON['stringify'](_0x270af4));}}if(_0x517962&&_0x5b41b8&&!_0x5d93cb)try{await _0x1f1e88['tPSpH'](concludeSession,_0xa669f8['featureId'],_0x5b41b8);}catch{}await trackStop(_0x3f789e,!![],_0xf0e905);return;}catch{await trackStop(_0x3f789e,!![],_0xf0e905);return;}}async function trackStop(_0xb18042,_0x1364b4,_0x343097){const _0x44a608=_0x28d7;try{const _0x2fbc05=createTelemetryCollector('hook:stop');await _0x2fbc05[_0x44a608(0x7b)]({'sessionId':_0xb18042??undefined,'hooksEnabled':_0x1364b4,'stopAllowed':_0x343097}),await _0x2fbc05[_0x44a608(0x88)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5021a9,_0x4e7820){var _0x39bc58=_0x1683,_0x45513e=_0x5021a9();while(!![]){try{var _0x52dea4=-parseInt(_0x39bc58(0x1a0))/0x1*(-parseInt(_0x39bc58(0x1a4))/0x2)+parseInt(_0x39bc58(0x1a3))/0x3*(parseInt(_0x39bc58(0x1a6))/0x4)+-parseInt(_0x39bc58(0x1a1))/0x5+-parseInt(_0x39bc58(0x1a5))/0x6*(-parseInt(_0x39bc58(0x1a7))/0x7)+parseInt(_0x39bc58(0x19f))/0x8+parseInt(_0x39bc58(0x1a2))/0x9+-parseInt(_0x39bc58(0x19e))/0xa;if(_0x52dea4===_0x4e7820)break;else _0x45513e['push'](_0x45513e['shift']());}catch(_0x2c8b40){_0x45513e['push'](_0x45513e['shift']());}}}(_0x1e46,0xd26d1));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x1683(_0x50b77b,_0x1fdb27){_0x50b77b=_0x50b77b-0x19e;var _0x1e469f=_0x1e46();var _0x168328=_0x1e469f[_0x50b77b];return _0x168328;}export{skillup}from'./skillup.js';function _0x1e46(){var _0x1c494f=['4030401zvmnzs','2033418vNLaHq','48aauidd','4qLJhmR','1489789QBZdMG','45131180yWuCgC','3217632DMZVYY','1UpLGUl','3759605XwapTa','14957532nSFVtv'];_0x1e46=function(){return _0x1c494f;};return _0x1e46();}export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|