@ranger-testing/ranger-cli 3.1.1-alpha.08fb70e-39 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x140b14=_0x31a1;(function(_0x3c26e8,_0x1a1300){const _0x488cdf=_0x31a1,_0x5444b3=_0x3c26e8();while(!![]){try{const _0x3d8ced=parseInt(_0x488cdf(0x1a3))/0x1*(parseInt(_0x488cdf(0x15e))/0x2)+parseInt(_0x488cdf(0x1de))/0x3*(parseInt(_0x488cdf(0x198))/0x4)+parseInt(_0x488cdf(0x1a0))/0x5+parseInt(_0x488cdf(0x1f1))/0x6+-parseInt(_0x488cdf(0x203))/0x7*(-parseInt(_0x488cdf(0x20a))/0x8)+-parseInt(_0x488cdf(0x1e2))/0x9*(-parseInt(_0x488cdf(0x170))/0xa)+-parseInt(_0x488cdf(0x1b2))/0xb;if(_0x3d8ced===_0x1a1300)break;else _0x5444b3['push'](_0x5444b3['shift']());}catch(_0x46fb93){_0x5444b3['push'](_0x5444b3['shift']());}}}(_0x4b38,0x4403d));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x4803a4 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';function _0x4b38(){const _0x5df920=['CbZEP','BDmYp','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','ysdOG','authorEmail','No\x20active\x20session\x20for\x20this\x20feature\x20review.','unaddressedComments','totalCount','selected','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','mYryo','map','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','en-US','filter','McnzJ','isKeyStep','env','\x20--limit\x20','find','pipe','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','.\x20Feature\x20review\x20has\x20','git\x20remote\x20get-url\x20origin','approved','submittedAt','point','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','WDtQO','\x20concluded.','incomplete','847040uEewJq','feedback-images','stringify','\x20\x20\x20\x20\x20ID:\x20','IqMWw','assetType','\x0a✅\x20Scenario\x20updated','from','785350UsyKRC','closed','Next\x20page:\x20ranger\x20list\x20--offset\x20','1dhRzNJ','DOrxf','ZAIrr','\x20\x20✅\x20No\x20feedback\x20to\x20address','domRef','canceledReason','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','isTTY','limit','fqNwA','gitBranch','draiC','description','completedAt','YvZtr','20325437pMxJZb','\x20\x20\x20\x20\x20Branch:\x20','\x20[has\x20reviewer\x20feedback]','status','iteration','\x0aNo\x20feature\x20reviews\x20found.','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x1b[1m','\x20incomplete','scenario','FUuPa','qSElf','\x0a✅\x20Resumed\x20feature\x20review:\x20','assets','CLAUDE_SESSION_ID','VrCRV','\x0a✅\x20Scenario\x20added','createdAt','BaiBS','currentBranch','selector','nPwOX','trim','currentSessionId','output','Scenario\x20','\x20\x20\x20▶️\x20Started\x20session\x20','\x0a✅\x20Feature\x20review\x20created:\x20',':\x20\x22','comment_','browserSessionId','zDrQT','exit','kokfI','name','pLEFp','bIfGh','vtiNG','LzrVM','verifiedItems','blockedReason','element','1|3|0|4|2|5','\x0a\x20\x20\x20Scenarios:','6VZJuQV','\x20\x20\x20\x20\x20\x20Incomplete:\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','gitRepoUrl','4859874CjsnTt','JjCMG','OjaWH','IUIAV','GpNpt','latestReview','\x20\x20Expected\x20flow:','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','sMqVL','cZrKf','rhsoo','error','GQliw','Step\x20','Not\x20in\x20a\x20git\x20repository.','2530080qjugVO','join','\x0a✅\x20Restored\x20feature\x20review:\x20','BfUai','spatial','/artifacts/','\x20\x20\x20Completed:\x20','replace','round','KrsLS','repeat','\x20/\x20','\x1b[0m','storage','CjMTi','\x20--current-branch','\x20Session\x20','iEMBN','1595496BiqWyZ','cKbIX','xwmJg','all','zFZjt','BYHNx','bkikV','16BvdFgU','terminalReason','parentItemId','push','list','uChVG','stats','meQYb','SCBWE','\x20\x20\x20\x20\x20\x20Cancelled:\x20','PBKUN','reports','stdout','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','eNaDo','utf-8','\x20\x20💬\x20','\x20--include-deleted','\x20scenarios.','...','YybGk','uatbZ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','LhcHp','QAyur','coordinates','\x20\x20\x20Created:\x20','github.com/','\x20\x20\x20Branch:\x20','lijEm','):\x20\x22','SscjJ','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','\x0aConcluding\x20session...','log','No\x20sessions\x20found.','prompt','QxLEe','\x20(v','\x20\x20\x20\x20\x20\x20Approved','RANGER_TEST_USERNAME','version','type','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','koETT','\x20\x20\x20Updated\x20branch\x20to:\x20','oPxdT','ECGKQ','256488qhTNFH','scenarios','\x0aAvailable\x20scenarios:','textContent','hBVPZ','active-feature.txt','bvDTZ','warn','sessionId','yrONk','toLocaleString','incompleteReason','gtaNL','checklistItems','\x20—\x20','\x20\x20\x20ID:\x20','iGhNj','mPZIT','10hXOEyz','\x0a✅\x20Session\x20is\x20already\x20completed.','kczus','dashboardUrl','MnjFe','split','eWEFp','length','\x20\x20\x20Status:\x20'];_0x4b38=function(){return _0x5df920;};return _0x4b38();}import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x140b14(0x163),bold=_0x236004=>_0x140b14(0x1b9)+_0x236004+_0x140b14(0x1fd);function getGitRepoUrl(){const _0x2d5fc0=_0x140b14,_0x25fc98={'SscjJ':function(_0x36166c,_0x120d62,_0x118c95){return _0x36166c(_0x120d62,_0x118c95);},'OjaWH':'pipe'};try{const _0x53082b=_0x25fc98[_0x2d5fc0(0x14d)](execSync,_0x2d5fc0(0x190),{'encoding':'utf-8','stdio':['pipe',_0x2d5fc0(0x18d),_0x25fc98[_0x2d5fc0(0x1e4)]]})[_0x2d5fc0(0x1c8)]();return _0x53082b['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x2d5fc0(0x149))[_0x2d5fc0(0x1f8)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x596570=_0x140b14,_0x526f23={'hTMBo':function(_0x17261b,_0x25402d,_0x41d453){return _0x17261b(_0x25402d,_0x41d453);},'ERjGG':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','Akfer':'utf-8','YvZtr':'pipe'};try{return _0x526f23['hTMBo'](execSync,_0x526f23['ERjGG'],{'encoding':_0x526f23['Akfer'],'stdio':[_0x526f23[_0x596570(0x1b1)],_0x526f23['YvZtr'],_0x596570(0x18d)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x750868=_0x140b14,_0x54e67d={'vmyxV':function(_0x2580e6,_0x3f9fa2,_0x1d64e8){return _0x2580e6(_0x3f9fa2,_0x1d64e8);},'fluHl':_0x750868(0x13d)},_0x584ad2=_0x54e67d['vmyxV'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x584ad2))return null;try{const _0x1beb86=await readFile(_0x584ad2,_0x54e67d['fluHl']);return _0x1beb86[_0x750868(0x1c8)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x35a4a2){const _0x44ffcd=_0x140b14,_0x46cfe2={'JjCMG':function(_0x2b29d3,_0x35bc56,_0x28fc7b){return _0x2b29d3(_0x35bc56,_0x28fc7b);},'ZKLMG':function(_0x3c68df,_0x559fb4,_0x3ac274,_0x385d2a){return _0x3c68df(_0x559fb4,_0x3ac274,_0x385d2a);},'DRDxM':_0x44ffcd(0x13d)},_0x53e45=getRangerDir(),_0x1f9807=_0x46cfe2['JjCMG'](join,_0x53e45,ACTIVE_FEATURE_FILE);!existsSync(_0x53e45)&&await _0x46cfe2[_0x44ffcd(0x1e3)](mkdir,_0x53e45,{'recursive':!![]}),await _0x46cfe2['ZKLMG'](writeFile,_0x1f9807,_0x35a4a2,_0x46cfe2['DRDxM']);}function getProgressDisplay(_0x3f2ac5){const _0x37736a=_0x140b14,_0x55a007={'YybGk':function(_0x3f2300,_0x29b647){return _0x3f2300+_0x29b647;},'npHmG':function(_0x3c35e3,_0x4253d7){return _0x3c35e3+_0x4253d7;},'draiC':function(_0x17cfa1,_0x8e5545){return _0x17cfa1>_0x8e5545;},'PBKUN':function(_0x18cfdd,_0x37a653){return _0x18cfdd>_0x37a653;}},_0x1eabb3=_0x3f2ac5[_0x37736a(0x1d9)]||0x0,_0x397d13=_0x3f2ac5['verificationInProgressItems']||0x0,_0x41c9b2=_0x3f2ac5['blockedItems']||0x0,_0x6d51ad=_0x3f2ac5['incompleteItems']||0x0,_0x12a007=_0x3f2ac5['pendingItems']||0x0,_0x28a6b7=_0x55a007[_0x37736a(0x142)](_0x1eabb3+_0x397d13,_0x41c9b2)+_0x6d51ad+_0x12a007;if(_0x28a6b7===0x0)return'-';const _0x3230a8=0xa,_0x161b5f=Math[_0x37736a(0x1f9)](_0x1eabb3/_0x28a6b7*_0x3230a8),_0x50a920=_0x55a007['npHmG']('█'[_0x37736a(0x1fb)](_0x161b5f),'░'['repeat'](_0x3230a8-_0x161b5f)),_0x15e452=[];if(_0x55a007[_0x37736a(0x1ae)](_0x41c9b2,0x0))_0x15e452[_0x37736a(0x20d)](_0x41c9b2+'\x20blocked');if(_0x55a007[_0x37736a(0x1ae)](_0x6d51ad,0x0))_0x15e452['push'](_0x6d51ad+_0x37736a(0x1ba));if(_0x55a007[_0x37736a(0x138)](_0x397d13,0x0))_0x15e452['push'](_0x397d13+'\x20in\x20progress');const _0xbb25eb=_0x55a007[_0x37736a(0x138)](_0x15e452['length'],0x0)?'\x20('+_0x15e452['join'](',\x20')+')':'';return _0x50a920+'\x20'+_0x1eabb3+'/'+_0x28a6b7+'\x20verified'+_0xbb25eb;}function getCurrentSessionItems(_0x34eab1,_0x46c567){const _0x2dbc3b=_0x140b14;if(!_0x34eab1[_0x2dbc3b(0x1c9)])return _0x46c567['filter'](_0x1ecbf9=>!_0x1ecbf9[_0x2dbc3b(0x166)]);return _0x46c567[_0x2dbc3b(0x187)](_0x56b547=>_0x56b547['sessionId']===_0x34eab1[_0x2dbc3b(0x1c9)]||!_0x56b547[_0x2dbc3b(0x166)]);}function displayFeature(_0x419053,_0x2761d9){const _0x2e78c8=_0x140b14,_0x4bfcfb={'FxoEI':function(_0x153b31,_0x31c423){return _0x153b31(_0x31c423);},'tqOzC':_0x2e78c8(0x1dd),'pLEFp':function(_0x10e05d,_0x526ebe){return _0x10e05d<_0x526ebe;},'IqMWw':function(_0x1fee44,_0x2d1816){return _0x1fee44===_0x2d1816;},'lVbNu':'verified','ECGKQ':function(_0x3d1b81,_0x15faa3){return _0x3d1b81===_0x15faa3;},'CjMTi':_0x2e78c8(0x197),'sLyPi':function(_0x416f1,_0x33bc75){return _0x416f1===_0x33bc75;},'nXwLn':function(_0x578242,_0x11d4ac){return _0x578242===_0x11d4ac;},'McnzJ':_0x2e78c8(0x1a1),'LzrVM':function(_0x1dc86f,_0x1c7cc4){return _0x1dc86f===_0x1c7cc4;},'ZAIrr':'verification_in_progress','koETT':function(_0x435191,_0x2b1bf0){return _0x435191>_0x2b1bf0;},'mYryo':function(_0x5214a8,_0xa2f33){return _0x5214a8+_0xa2f33;},'QAyur':function(_0x23bf0c,_0x2cfcbe){return _0x23bf0c===_0x2cfcbe;},'RMpah':_0x2e78c8(0x191)};console[_0x2e78c8(0x150)]('\x0a'+_0x419053[_0x2e78c8(0x1d4)]+'\x20('+_0x419053['dashboardUrl']+')');_0x419053[_0x2e78c8(0x210)]&&console[_0x2e78c8(0x150)]('\x20\x20\x20Progress:\x20'+_0x4bfcfb['FxoEI'](getProgressDisplay,_0x419053[_0x2e78c8(0x210)]));_0x419053[_0x2e78c8(0x1af)]&&console['log']('\x20\x20\x20Description:\x20'+_0x419053['description']);_0x419053['gitRepoUrl']&&console[_0x2e78c8(0x150)]('\x20\x20\x20Repository:\x20'+_0x419053['gitRepoUrl']);_0x419053['gitBranch']&&console['log'](_0x2e78c8(0x14a)+_0x419053['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x419053[_0x2e78c8(0x1c3)])[_0x2e78c8(0x168)]());_0x419053['completedAt']&&console[_0x2e78c8(0x150)](_0x2e78c8(0x1f7)+new Date(_0x419053[_0x2e78c8(0x1b0)])[_0x2e78c8(0x168)]());if(_0x2761d9&&_0x2761d9[_0x2e78c8(0x177)]>0x0){console['log'](_0x4bfcfb['tqOzC']);for(let _0x3e917d=0x0;_0x4bfcfb[_0x2e78c8(0x1d5)](_0x3e917d,_0x2761d9[_0x2e78c8(0x177)]);_0x3e917d++){const _0xb0d838=_0x2761d9[_0x3e917d];let _0x43624e;if(_0x4bfcfb[_0x2e78c8(0x19c)](_0xb0d838['status'],_0x2e78c8(0x1a1))&&_0xb0d838['terminalReason']==='approved')_0x43624e='✅';else{if(_0x4bfcfb['IqMWw'](_0xb0d838[_0x2e78c8(0x1b5)],_0x4bfcfb['lVbNu']))_0x43624e='🟢';else{if(_0x4bfcfb[_0x2e78c8(0x15d)](_0xb0d838[_0x2e78c8(0x1b5)],_0x4bfcfb['CjMTi']))_0x43624e='🟠';else{if(_0x4bfcfb['sLyPi'](_0xb0d838[_0x2e78c8(0x1b5)],'blocked'))_0x43624e='🛑';else{if(_0x4bfcfb['nXwLn'](_0xb0d838['status'],_0x4bfcfb[_0x2e78c8(0x188)]))_0x43624e='⛔';else _0x4bfcfb[_0x2e78c8(0x1d8)](_0xb0d838['status'],_0x4bfcfb[_0x2e78c8(0x1a5)])?_0x43624e='⏳':_0x43624e='⬜';}}}}const _0x52f2ea=_0xb0d838[_0x2e78c8(0x157)]>0x1?_0x2e78c8(0x154)+_0xb0d838['version']+')':'',_0x3b9969=_0x4bfcfb[_0x2e78c8(0x15a)](_0xb0d838[_0x2e78c8(0x157)],0x1)&&_0xb0d838[_0x2e78c8(0x20c)]&&_0xb0d838['status']!=='closed'&&_0xb0d838[_0x2e78c8(0x1b5)]!=='verified'?_0x2e78c8(0x1b4):'';console[_0x2e78c8(0x150)]('\x20\x20\x20'+_0x4bfcfb[_0x2e78c8(0x183)](_0x3e917d,0x1)+'.\x20'+_0x43624e+'\x20'+_0xb0d838['description']+_0x52f2ea+_0x3b9969);_0xb0d838[_0x2e78c8(0x1b5)]==='blocked'&&_0xb0d838[_0x2e78c8(0x1da)]&&console[_0x2e78c8(0x150)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0xb0d838['blockedReason']);_0x4bfcfb['sLyPi'](_0xb0d838[_0x2e78c8(0x1b5)],_0x4bfcfb[_0x2e78c8(0x1ff)])&&_0xb0d838['incompleteReason']&&console[_0x2e78c8(0x150)](_0x2e78c8(0x1df)+_0xb0d838[_0x2e78c8(0x169)]);if(_0x4bfcfb[_0x2e78c8(0x146)](_0xb0d838['status'],'closed')&&_0xb0d838[_0x2e78c8(0x20b)]===_0x4bfcfb['RMpah'])console['log'](_0x2e78c8(0x155));else _0xb0d838[_0x2e78c8(0x1b5)]===_0x4bfcfb[_0x2e78c8(0x188)]&&_0xb0d838[_0x2e78c8(0x1a8)]&&console[_0x2e78c8(0x150)](_0x2e78c8(0x137)+_0xb0d838[_0x2e78c8(0x1a8)]);}}}export async function featureCreate(_0x313b9b,_0x4b66a5){const _0x204a62=_0x140b14,_0x4c90c5={'xwmJg':function(_0x8f1436){return _0x8f1436();},'nUnwg':function(_0x251ddb,_0x1160ff){return _0x251ddb===_0x1160ff;},'VrCRV':function(_0x529260,_0x32c5ac){return _0x529260===_0x32c5ac;},'sqUZy':function(_0x574ec1,_0x2caf0a){return _0x574ec1(_0x2caf0a);},'Nzjhn':function(_0x4a5b5b,_0x302aa7,_0x9c7c07){return _0x4a5b5b(_0x302aa7,_0x9c7c07);}},{envNames:_0x108b65}=await _0x4c90c5['xwmJg'](getEnvNames);if(_0x4c90c5['nUnwg'](_0x108b65[_0x204a62(0x177)],0x0)&&!process[_0x204a62(0x18a)][_0x204a62(0x156)]){let _0x245033=0x0;try{_0x245033=(await _0x4c90c5[_0x204a62(0x205)](listCloudProfiles))['length'];}catch{_0x245033=0x1;}_0x4c90c5[_0x204a62(0x1c1)](_0x245033,0x0)&&console[_0x204a62(0x165)]('\x0a'+formatProfileRequiredMessage(_0xb53b81=>bold(_0xb53b81)));}const _0x44d7cb=_0x4b66a5[_0x204a62(0x15f)]?_0x4b66a5['scenarios']['map'](_0x16a855=>_0x16a855[_0x204a62(0x1c8)]()):[],_0x202cad=getGitRepoUrl(),_0x35dc6f=getGitBranch();console[_0x204a62(0x150)]('\x0aCreating\x20feature\x20review...');const _0x4dd1bc=await createFeature({'name':_0x313b9b,'description':_0x4b66a5['description'],'checklist':_0x44d7cb,'gitRepoUrl':_0x202cad,'gitBranch':_0x35dc6f});await _0x4c90c5['sqUZy'](setActiveFeatureId,_0x4dd1bc['id']),await tryStartCurrentSession(_0x4dd1bc['id']);const _0x3f4b91=process[_0x204a62(0x18a)]['CLAUDE_SESSION_ID'];_0x3f4b91&&_0x4c90c5['Nzjhn'](registerSession,_0x3f4b91,_0x4dd1bc['id']),console[_0x204a62(0x150)](_0x204a62(0x1cd)+_0x4dd1bc['id']),displayFeature(_0x4dd1bc,_0x4dd1bc['checklistItems']),console[_0x204a62(0x150)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x36b01a){const _0x805ab=_0x140b14,_0x269843={'WfOjG':function(_0x2e6e3e){return _0x2e6e3e();},'cKbIX':function(_0x63818,_0x4ecb4e){return _0x63818(_0x4ecb4e);},'KiSLf':function(_0x591d81,_0x332f80){return _0x591d81<_0x332f80;},'LhcHp':function(_0x210bbb,_0x12d414){return _0x210bbb!==_0x12d414;},'BDmYp':_0x805ab(0x200)},_0x3cb09d={'limit':_0x36b01a[_0x805ab(0x1ab)]??0xa,'offset':_0x36b01a['offset']??0x0,'includeDeleted':_0x36b01a['includeDeleted']};_0x36b01a[_0x805ab(0x1c5)]&&(_0x3cb09d[_0x805ab(0x1e1)]=getGitRepoUrl(),_0x3cb09d['gitBranch']=_0x269843['WfOjG'](getGitBranch));const _0x1925e2=await listFeatures(_0x3cb09d);if(_0x1925e2['items']['length']===0x0){console['log'](_0x805ab(0x1b7));return;}const _0xe5fae4=_0x1925e2[_0x805ab(0x180)]>_0x1925e2['items'][_0x805ab(0x177)]?'Showing\x20'+_0x1925e2['items'][_0x805ab(0x177)]+'\x20of\x20'+_0x1925e2[_0x805ab(0x180)]:_0x1925e2['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0xe5fae4+':\x0a');for(const _0x5d497d of _0x1925e2['items']){const _0x3b283f='3|1|5|2|0|4'['split']('|');let _0x14e1cd=0x0;while(!![]){switch(_0x3b283f[_0x14e1cd++]){case'0':console[_0x805ab(0x150)](_0x805ab(0x148)+new Date(_0x5d497d['createdAt'])['toLocaleDateString']());continue;case'1':console[_0x805ab(0x150)](_0x805ab(0x16d)+_0x5d497d['id']);continue;case'2':_0x5d497d['gitBranch']&&console[_0x805ab(0x150)]('\x20\x20\x20Branch:\x20'+_0x5d497d[_0x805ab(0x1ad)]);continue;case'3':console['log'](''+_0x5d497d['name']);continue;case'4':console['log']('');continue;case'5':_0x5d497d[_0x805ab(0x210)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x269843[_0x805ab(0x204)](getProgressDisplay,_0x5d497d[_0x805ab(0x210)]));continue;}break;}}const _0x364487=_0x3cb09d[_0x805ab(0x1ab)]??0xa,_0x1eb597=(_0x3cb09d['offset']??0x0)+_0x1925e2['items']['length'];if(_0x269843['KiSLf'](_0x1eb597,_0x1925e2['totalCount'])){const _0x1cc4cb=_0x269843[_0x805ab(0x145)](_0x364487,0xa)?_0x805ab(0x18b)+_0x364487:'',_0x4d1d7c=_0x36b01a['currentBranch']?_0x269843[_0x805ab(0x17a)]:'',_0x2d5074=_0x36b01a['includeDeleted']?_0x805ab(0x13f):'';console[_0x805ab(0x150)](_0x805ab(0x1a2)+_0x1eb597+_0x1cc4cb+_0x4d1d7c+_0x2d5074);}}export async function featureShow(_0x4779ef){const _0xe76ca7=_0x140b14,_0x3f2ed7={'GQliw':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','bvDTZ':function(_0x11bf73,_0x14ef7a){return _0x11bf73(_0x14ef7a);}},_0x1d7d5b=_0x4779ef||await getActiveFeatureId();if(!_0x1d7d5b)throw new Error(_0x3f2ed7[_0xe76ca7(0x1ee)]);const _0x28d4dd=await _0x3f2ed7[_0xe76ca7(0x164)](getFeature,_0x1d7d5b);displayFeature(_0x28d4dd,_0x28d4dd[_0xe76ca7(0x16b)]);}export async function featureResume(_0x1455da){const _0x2f94a6=_0x140b14,_0x217246={'eNaDo':function(_0x3899ff){return _0x3899ff();},'KrsLS':function(_0x395b89,_0x3505fd,_0x295ec7){return _0x395b89(_0x3505fd,_0x295ec7);},'zDrQT':function(_0x3dc5e4,_0xc392b1){return _0x3dc5e4(_0xc392b1);},'oPxdT':function(_0x37f4ae,_0x349934){return _0x37f4ae&&_0x349934;},'cZrKf':_0x2f94a6(0x1f0),'ikxKE':function(_0x35c925,_0x2a2800){return _0x35c925||_0x2a2800;},'BYHNx':'any','HNdYY':_0x2f94a6(0x1b8),'zREfy':function(_0x4d55d7,_0x3134c7){return _0x4d55d7===_0x3134c7;},'kokfI':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','AiHJn':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','LvQSD':_0x2f94a6(0x181),'exWUy':function(_0x22d483,_0x15a210){return _0x22d483!==_0x15a210;}};if(_0x1455da){const _0x35ada1=await getFeature(_0x1455da);await setActiveFeatureId(_0x35ada1['id']);const _0x48882a=_0x217246[_0x2f94a6(0x13c)](getGitBranch);_0x48882a&&_0x48882a!==_0x35ada1['gitBranch']&&(await _0x217246[_0x2f94a6(0x1fa)](updateFeature,_0x35ada1['id'],{'gitBranch':_0x48882a}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x48882a));console['log'](_0x2f94a6(0x1be)+_0x35ada1[_0x2f94a6(0x1d4)]+'\x20('+_0x35ada1['id']+')'),await tryStartCurrentSession(_0x35ada1['id']);const _0x1c1579=process['env'][_0x2f94a6(0x1c0)];_0x1c1579&®isterSession(_0x1c1579,_0x35ada1['id']);displayFeature(_0x35ada1,_0x35ada1[_0x2f94a6(0x16b)]),await _0x217246[_0x2f94a6(0x1d1)](printFeedbackNudge,_0x35ada1['id']);return;}const _0x56245f=getGitRepoUrl(),_0x3c580a=getGitBranch();if(_0x217246[_0x2f94a6(0x15c)](!_0x56245f,!_0x3c580a))throw new Error(_0x217246[_0x2f94a6(0x1eb)]);console[_0x2f94a6(0x150)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x217246['ikxKE'](_0x56245f,_0x217246[_0x2f94a6(0x208)])+_0x2f94a6(0x1fc)+(_0x3c580a||'any')+_0x2f94a6(0x141));const _0x57dc07=await _0x217246[_0x2f94a6(0x1d1)](listFeatures,{'gitRepoUrl':_0x56245f,'gitBranch':_0x3c580a}),_0x130129=_0x57dc07['items']['filter'](_0x5ca534=>_0x5ca534['status']?_0x5ca534['status']!=='verified':!_0x5ca534['completedAt']);if(_0x130129[_0x2f94a6(0x177)]===0x0){console[_0x2f94a6(0x150)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x217246['HNdYY']);return;}let _0x20170c;if(_0x217246['zREfy'](_0x130129['length'],0x1))_0x20170c=_0x130129[0x0];else{const _0x38181b=process['stdin'][_0x2f94a6(0x1aa)]&&process['stdout'][_0x2f94a6(0x1aa)];if(!_0x38181b){console['log'](_0x217246[_0x2f94a6(0x1d3)]);for(const _0x3fb252 of _0x130129){console['log']('\x20\x20'+_0x3fb252[_0x2f94a6(0x1d4)]),console['log'](_0x2f94a6(0x19b)+_0x3fb252['id']),_0x3fb252[_0x2f94a6(0x210)]&&console[_0x2f94a6(0x150)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x217246['zDrQT'](getProgressDisplay,_0x3fb252['stats'])),_0x3fb252['gitBranch']&&console['log'](_0x2f94a6(0x1b3)+_0x3fb252[_0x2f94a6(0x1ad)]);}throw new Error(_0x217246['AiHJn']);}const {selected:_0x44e196}=await _0x4803a4[_0x2f94a6(0x152)]([{'type':_0x2f94a6(0x20e),'name':_0x217246['LvQSD'],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x130129['map'](_0x427530=>({'name':_0x427530['name']+'\x20('+_0x427530['id']+')','value':_0x427530['id']}))}]);_0x20170c=_0x130129['find'](_0x1c3c2f=>_0x1c3c2f['id']===_0x44e196);}await setActiveFeatureId(_0x20170c['id']);_0x3c580a&&_0x217246['exWUy'](_0x3c580a,_0x20170c['gitBranch'])&&(await updateFeature(_0x20170c['id'],{'gitBranch':_0x3c580a}),console['log'](_0x2f94a6(0x15b)+_0x3c580a));console[_0x2f94a6(0x150)](_0x2f94a6(0x1be)+_0x20170c[_0x2f94a6(0x1d4)]+'\x20('+_0x20170c['id']+')'),await _0x217246[_0x2f94a6(0x1d1)](tryStartCurrentSession,_0x20170c['id']);const _0x8acc02=await getFeature(_0x20170c['id']),_0x1229d0=process['env']['CLAUDE_SESSION_ID'];_0x1229d0&®isterSession(_0x1229d0,_0x8acc02['id']),_0x217246['KrsLS'](displayFeature,_0x8acc02,_0x8acc02['checklistItems']),await printFeedbackNudge(_0x8acc02['id']);}async function printFeedbackNudge(_0x17dc33){const _0x211564=_0x140b14,_0x442004={'kIFSx':function(_0x4fa59a,_0x2d119b){return _0x4fa59a(_0x2d119b);},'iGhNj':function(_0x1e74ff,_0x21d60e,_0x3e9144){return _0x1e74ff(_0x21d60e,_0x3e9144);},'nQZqv':function(_0x2334ed,_0x24dbd3){return _0x2334ed>_0x24dbd3;},'qtXQw':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0xaa7068}=await _0x442004['kIFSx'](getActionItems,_0x17dc33);let _0x58257a=0x0,_0x4261cf=0x0;for(const _0x21d3b1 of _0xaa7068){const _0x5baabb=await _0x442004[_0x211564(0x16e)](getItemFeedback,_0x17dc33,_0x21d3b1['id']);_0x442004['nQZqv'](_0x5baabb[_0x211564(0x17f)][_0x211564(0x177)],0x0)&&(_0x58257a+=_0x5baabb['unaddressedComments'][_0x211564(0x177)],_0x4261cf++);}_0x58257a>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x58257a+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x4261cf+'\x20scenario(s).'),console['log'](_0x442004['qtXQw']));}catch{}}async function tryStartCurrentSession(_0x427434){const _0x1e19b5=_0x140b14;try{const {sessions:_0x4c812e}=await listFeatureSessions(_0x427434),_0x3d7487=_0x4c812e[_0x1e19b5(0x18c)](_0x469d65=>_0x469d65['status']==='ready');_0x3d7487&&(await startSession(_0x427434,_0x3d7487['id']),console[_0x1e19b5(0x150)](_0x1e19b5(0x1cc)+_0x3d7487['iteration']));}catch{}}export async function featureReport(_0x587f83,_0x34bd84){const _0x3e3406=_0x140b14,_0x717e4e={'mPZIT':function(_0x446807){return _0x446807();},'hBVPZ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','qxQXO':'\x0aGenerating\x20report...','ysdOG':function(_0x13cf0b,_0x104bba,_0x220840){return _0x13cf0b(_0x104bba,_0x220840);},'GuVfR':function(_0x252375,_0x4b7229){return _0x252375(_0x4b7229);}},_0x225a5a=_0x587f83||await _0x717e4e[_0x3e3406(0x16f)](getActiveFeatureId);if(!_0x225a5a)throw new Error(_0x717e4e[_0x3e3406(0x162)]);console['log'](_0x717e4e['qxQXO']);const _0x49b88c=await _0x717e4e[_0x3e3406(0x17c)](getFeatureReportMarkdown,_0x225a5a,{'style':_0x34bd84['style']}),_0x33a5c7=_0x34bd84[_0x3e3406(0x1ca)]||join(_0x717e4e['mPZIT'](getRangerDir),_0x3e3406(0x139),_0x225a5a+'.md'),_0xeed604=_0x717e4e[_0x3e3406(0x17c)](join,_0x33a5c7,'..');!_0x717e4e['GuVfR'](existsSync,_0xeed604)&&await mkdir(_0xeed604,{'recursive':!![]}),await writeFile(_0x33a5c7,_0x49b88c,'utf-8'),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x33a5c7);}function getScenarioResult(_0x439eac){const _0x271771=_0x140b14,_0x337daa={'FUuPa':'closed','yrONk':'verification_in_progress','MnjFe':'in_progress'};if(_0x439eac['status']==='closed')return _0x439eac[_0x271771(0x20b)]??_0x337daa[_0x271771(0x1bc)];if(_0x439eac[_0x271771(0x1b5)]===_0x337daa[_0x271771(0x167)])return _0x337daa[_0x271771(0x174)];return _0x439eac[_0x271771(0x1b5)];}function getScenarioRationale(_0x35c3d8,_0x480c3e){const _0xca7a38=_0x140b14,_0x30a029={'GMyUw':_0xca7a38(0x1dc)},_0x33aae2=_0x30a029['GMyUw'][_0xca7a38(0x175)]('|');let _0x865a4c=0x0;while(!![]){switch(_0x33aae2[_0x865a4c++]){case'0':if(_0x35c3d8[_0xca7a38(0x169)])return _0x35c3d8[_0xca7a38(0x169)];continue;case'1':if(_0x480c3e)return _0x480c3e;continue;case'2':if(_0x35c3d8['notes'])return _0x35c3d8['notes'];continue;case'3':if(_0x35c3d8[_0xca7a38(0x1da)])return _0x35c3d8[_0xca7a38(0x1da)];continue;case'4':if(_0x35c3d8['canceledReason'])return _0x35c3d8['canceledReason'];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0x54d47e,_0x58dfbf){const _0x12262a=_0x140b14,_0x2ce103={'aaxZn':function(_0x17c929){return _0x17c929();},'fqNwA':_0x12262a(0x159),'eWEFp':function(_0x247217,_0x46e45f,_0x236429){return _0x247217(_0x46e45f,_0x236429);},'cXdMB':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','qSElf':_0x12262a(0x160),'AGXRr':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','VAWNh':function(_0x52d147,_0x6b39fb,_0x4f48db){return _0x52d147(_0x6b39fb,_0x4f48db);}},_0x50a357=_0x54d47e||await _0x2ce103['aaxZn'](getActiveFeatureId);if(!_0x50a357)throw new Error(_0x2ce103[_0x12262a(0x1ac)]);const _0x24b0ca=await getFeature(_0x50a357),_0xadc5c9=_0x24b0ca[_0x12262a(0x16b)]||[],_0x2fe516=_0x2ce103[_0x12262a(0x176)](getCurrentSessionItems,_0x24b0ca,_0xadc5c9);_0x2fe516['length']===0x0&&(console['error'](_0x2ce103['cXdMB']),process['exit'](0x1));const _0x8d1506=_0x58dfbf['excludeScenarios']??[],_0x5828d9=_0x8d1506['filter'](_0x100fe8=>!Number['isInteger'](_0x100fe8)||_0x100fe8<0x1||_0x100fe8>_0x2fe516['length']);if(_0x5828d9[_0x12262a(0x177)]>0x0){console['error'](_0x12262a(0x1e0)+_0x5828d9[_0x12262a(0x1f2)](',\x20')),console['log'](_0x2ce103[_0x12262a(0x1bd)]);for(let _0x3fbd31=0x0;_0x3fbd31<_0x2fe516['length'];_0x3fbd31++){console['log']('\x20\x20'+(_0x3fbd31+0x1)+'.\x20'+_0x2fe516[_0x3fbd31]['description']);}process['exit'](0x1);}const _0xf8867a=new Set(_0x8d1506[_0x12262a(0x184)](_0x281005=>_0x281005-0x1)),_0x32d08e=_0x2fe516['filter']((_0x5dd65c,_0x5edea4)=>!_0xf8867a['has'](_0x5edea4));_0x32d08e['length']===0x0&&(console[_0x12262a(0x1ed)](_0x2ce103['AGXRr']),process[_0x12262a(0x1d2)](0x1));if(_0x58dfbf['json'])await outputJsonReport(_0x50a357,_0x24b0ca,_0x32d08e);else{const _0x30875d=await _0x2ce103['VAWNh'](getFeatureReportMarkdown,_0x50a357,{'itemIds':_0x32d08e[_0x12262a(0x184)](_0x1f0bc2=>_0x1f0bc2['id'])});process[_0x12262a(0x13a)]['write'](_0x30875d['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x8f672c,_0x407067,_0x519749){const _0x4f480a=_0x140b14,_0x4a0345={'bkikV':function(_0x342a6e,_0x5eb677){return _0x342a6e(_0x5eb677);},'lijEm':function(_0x506105,_0x35aeb8){return _0x506105>_0x35aeb8;},'LsDZC':function(_0x12a3db,_0x4e9b8a){return _0x12a3db===_0x4e9b8a;},'tCXNf':function(_0x3bd267,_0x7371f2){return _0x3bd267+_0x7371f2;}},_0x3a40dd=getApiBaseUrl(),_0x324ad2=await getFeatureReport(_0x8f672c),_0x10f01d=new Map(_0x324ad2[_0x4f480a(0x16b)]['map'](_0x3c6a68=>[_0x3c6a68['id'],_0x3c6a68])),_0x25ba7c=await Promise[_0x4f480a(0x206)](_0x519749[_0x4f480a(0x184)](async _0x4a6ce9=>{const _0x41b848=_0x4f480a,_0x4bfae9=_0x10f01d['get'](_0x4a6ce9['id']),_0x3b03fb=_0x4bfae9?.['linkedSession']??null;let _0x3cf7f9=[];if(_0x4a6ce9[_0x41b848(0x1d0)])try{const {steps:_0x402642}=await _0x4a0345['bkikV'](getBrowserSessionSteps,_0x4a6ce9['browserSessionId']);_0x4a0345[_0x41b848(0x14b)](_0x402642['length'],0x0)&&(_0x3cf7f9=_0x402642[_0x41b848(0x184)](_0x5b44fb=>{const _0x56766f=_0x41b848,_0x191ecb=_0x5b44fb[_0x56766f(0x1bf)][_0x56766f(0x18c)](_0x5b25b0=>_0x5b25b0['assetType']==='screenshot'&&_0x5b25b0['timing']==='after')??_0x5b44fb['assets']['find'](_0x1fcd6e=>_0x1fcd6e[_0x56766f(0x19d)]==='screenshot');let _0x5c7611=null,_0x5221b9=null;if(_0x191ecb){const _0x51734b=_0x191ecb[_0x56766f(0x1fe)]['location']['split']('/')['pop']();_0x5c7611=_0x3a40dd+'/api/v1/mcp/browser-sessions/'+_0x4a6ce9[_0x56766f(0x1d0)]+_0x56766f(0x1f6)+_0x51734b,_0x51734b&&(_0x5221b9=_0x51734b['replace'](/\.\w+$/,'')[_0x56766f(0x1f8)](/^(key_)?\d+_/,'')[_0x56766f(0x1f8)](/[-_]/g,'\x20'));}return{'description':_0x5221b9||_0x5b44fb[_0x56766f(0x1af)]||_0x5b44fb['stepName']||_0x56766f(0x1ef)+_0x5b44fb['position'],'screenshot':_0x5c7611,'is_key_step':_0x5b44fb[_0x56766f(0x189)]};}));}catch{}return _0x4a0345['LsDZC'](_0x3cf7f9[_0x41b848(0x177)],0x0)&&_0x3b03fb?.['screenshotUrls']&&(_0x3cf7f9=_0x3b03fb['screenshotUrls']['map']((_0x47b1b7,_0x238255)=>({'description':'Screenshot\x20'+(_0x238255+0x1),'screenshot':_0x47b1b7,'is_key_step':![]}))),{'description':_0x4a6ce9[_0x41b848(0x1af)],'result':_0x4a0345[_0x41b848(0x209)](getScenarioResult,_0x4a6ce9),'rationale':getScenarioRationale(_0x4a6ce9,_0x3b03fb?.['agentResponse']),'steps':_0x3cf7f9};})),_0x5ba78f={'url':_0x407067[_0x4f480a(0x173)],'scenarios':_0x25ba7c};process[_0x4f480a(0x13a)]['write'](_0x4a0345['tCXNf'](JSON[_0x4f480a(0x19a)](_0x5ba78f,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x59e1e5){const _0x880fa7=_0x140b14,_0x4e7d80={'laBHY':_0x880fa7(0x1a9),'nPwOX':function(_0x2650b2,_0x47ac5a){return _0x2650b2(_0x47ac5a);},'RalvS':_0x880fa7(0x17e),'mZpWo':function(_0x21c5f4,_0x26d876){return _0x21c5f4(_0x26d876);},'GpNpt':'completed','uatbZ':_0x880fa7(0x171),'EDdsF':'in_progress','SCBWE':function(_0x3d4e27,_0x1a32af,_0x36ac71){return _0x3d4e27(_0x1a32af,_0x36ac71);}},_0x2581c5=_0x59e1e5||await getActiveFeatureId();if(!_0x2581c5)throw new Error(_0x4e7d80['laBHY']);const _0x44520b=await _0x4e7d80[_0x880fa7(0x1c7)](getFeature,_0x2581c5);if(!_0x44520b['currentSessionId'])throw new Error(_0x4e7d80['RalvS']);const {sessions:_0x13e3d8}=await _0x4e7d80['mZpWo'](listFeatureSessions,_0x2581c5),_0x4a65c6=_0x13e3d8[_0x880fa7(0x18c)](_0x7ce96a=>_0x7ce96a['id']===_0x44520b['currentSessionId']);if(!_0x4a65c6)throw new Error('Current\x20session\x20not\x20found.');if(_0x4a65c6[_0x880fa7(0x1b5)]===_0x4e7d80[_0x880fa7(0x1e6)]){console['log'](_0x4e7d80[_0x880fa7(0x143)]);return;}if(_0x4a65c6[_0x880fa7(0x1b5)]!==_0x4e7d80['EDdsF'])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4a65c6[_0x880fa7(0x1b5)]);console[_0x880fa7(0x150)](_0x880fa7(0x14f)),await _0x4e7d80[_0x880fa7(0x212)](concludeSession,_0x2581c5,_0x44520b['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x4a65c6[_0x880fa7(0x1b6)]+_0x880fa7(0x196)),console['log'](_0x880fa7(0x182));}function _0x31a1(_0x79094d,_0x318208){_0x79094d=_0x79094d-0x137;const _0x4b3859=_0x4b38();let _0x31a194=_0x4b3859[_0x79094d];return _0x31a194;}export async function featureSessions(_0x8792cc){const _0x2778d7=_0x140b14,_0x3eb45c={'iEMBN':function(_0xec5d1f){return _0xec5d1f();},'meQYb':function(_0x50ef8a,_0x2b3017){return _0x50ef8a(_0x2b3017);}},_0x11d2a0=_0x8792cc||await _0x3eb45c[_0x2778d7(0x202)](getActiveFeatureId);if(!_0x11d2a0)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x33cca5=await _0x3eb45c[_0x2778d7(0x211)](getFeature,_0x11d2a0);console[_0x2778d7(0x150)](_0x2778d7(0x185)+_0x33cca5['name']+'\x0a');const {sessions:_0x4236b1}=await listFeatureSessions(_0x11d2a0);if(_0x4236b1['length']===0x0){console['log'](_0x2778d7(0x151));return;}for(const _0x5d508b of _0x4236b1){const _0x12a3bd=_0x5d508b[_0x2778d7(0x1b5)]==='completed'?'✅':_0x5d508b[_0x2778d7(0x1b5)]==='in_progress'?'🔄':'▶️';console[_0x2778d7(0x150)](_0x12a3bd+_0x2778d7(0x201)+_0x5d508b['iteration']+'\x20('+_0x5d508b['id']+')'),console[_0x2778d7(0x150)](_0x2778d7(0x178)+_0x5d508b['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x5d508b[_0x2778d7(0x1c3)])['toLocaleString']()),_0x5d508b[_0x2778d7(0x1b0)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x5d508b['completedAt'])[_0x2778d7(0x168)]()),console[_0x2778d7(0x150)]('');}}export async function featureAddScenario(_0x4023c9,_0x24ec32){const _0x158f7d=_0x140b14,_0x5b8e0e={'BfUai':function(_0x5c6353){return _0x5c6353();},'PoAdD':_0x158f7d(0x1a9),'JMRpD':function(_0x4366e7,_0x14494f){return _0x4366e7(_0x14494f);},'ZtLUg':function(_0x6fd5c9,_0x26afc3,_0x5e57a1){return _0x6fd5c9(_0x26afc3,_0x5e57a1);}},_0x246885=_0x24ec32||await _0x5b8e0e[_0x158f7d(0x1f4)](getActiveFeatureId);if(!_0x246885)throw new Error(_0x5b8e0e['PoAdD']);const _0x53a877=await getFeature(_0x246885);if(_0x53a877[_0x158f7d(0x1e7)]&&!_0x53a877['latestReview'][_0x158f7d(0x192)])throw new Error(_0x158f7d(0x194)+_0x53a877['dashboardUrl']);await createChecklistItem(_0x246885,_0x4023c9);const _0x5b3fae=await _0x5b8e0e['JMRpD'](getFeature,_0x246885);console['log'](_0x158f7d(0x1c2)),_0x5b8e0e['ZtLUg'](displayFeature,_0x5b3fae,_0x5b3fae['checklistItems']);}export async function featureEditScenario(_0x155a78,_0x2fc879){const _0xfec700=_0x140b14,_0x225eab={'vtiNG':_0xfec700(0x18e),'IUIAV':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','uChVG':_0xfec700(0x1e9),'zNmXp':'\x0aAvailable\x20scenarios:','QxLEe':function(_0x1cc5a2,_0x1f70eb){return _0x1cc5a2+_0x1f70eb;},'kczus':function(_0x2f259f,_0x4ce743){return _0x2f259f-_0x4ce743;},'Uwxfb':function(_0x50fcaf,_0x2f5e8d){return _0x50fcaf<_0x2f5e8d;},'FFsUY':function(_0x1e73c5,_0x45ca14,_0x2e57d3,_0x15ea27){return _0x1e73c5(_0x45ca14,_0x2e57d3,_0x15ea27);},'yWYfd':function(_0x2bbeb3,_0x4a4ea8){return _0x2bbeb3(_0x4a4ea8);},'NDYYD':function(_0x56ccef,_0x34faff,_0x1cad44){return _0x56ccef(_0x34faff,_0x1cad44);}},_0x15c99b=_0x2fc879['id']||await getActiveFeatureId();!_0x15c99b&&(console[_0xfec700(0x1ed)](_0x225eab[_0xfec700(0x1d7)]),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x119290=await getFeature(_0x15c99b);_0x119290['latestReview']&&!_0x119290[_0xfec700(0x1e7)]['submittedAt']&&(console[_0xfec700(0x1ed)](_0xfec700(0x14e)),console['error']('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0x119290[_0xfec700(0x173)]),process['exit'](0x1));const _0x411b3e=_0x119290[_0xfec700(0x16b)]||[];_0x411b3e[_0xfec700(0x177)]===0x0&&(console[_0xfec700(0x1ed)](_0x225eab[_0xfec700(0x1e5)]),process[_0xfec700(0x1d2)](0x1));if(_0x2fc879[_0xfec700(0x1bb)]===undefined){console[_0xfec700(0x1ed)](_0x225eab[_0xfec700(0x20f)]),console[_0xfec700(0x150)](_0x225eab['zNmXp']);for(let _0x39fc8f=0x0;_0x39fc8f<_0x411b3e[_0xfec700(0x177)];_0x39fc8f++){console['log']('\x20\x20'+_0x225eab[_0xfec700(0x153)](_0x39fc8f,0x1)+'.\x20'+_0x411b3e[_0x39fc8f][_0xfec700(0x1af)]);}process[_0xfec700(0x1d2)](0x1);}const _0xec66=_0x225eab[_0xfec700(0x172)](_0x2fc879[_0xfec700(0x1bb)],0x1);if(_0x225eab['Uwxfb'](_0xec66,0x0)||_0xec66>=_0x411b3e['length']){console[_0xfec700(0x1ed)](_0xfec700(0x144)+_0x2fc879[_0xfec700(0x1bb)]+_0xfec700(0x18f)+_0x411b3e[_0xfec700(0x177)]+_0xfec700(0x140)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2145c6=0x0;_0x2145c6<_0x411b3e[_0xfec700(0x177)];_0x2145c6++){console[_0xfec700(0x150)]('\x20\x20'+(_0x2145c6+0x1)+'.\x20'+_0x411b3e[_0x2145c6][_0xfec700(0x1af)]);}process['exit'](0x1);}const _0x13b7ef=_0x411b3e[_0xec66];await _0x225eab['FFsUY'](updateChecklistItem,_0x15c99b,_0x13b7ef['id'],{'description':_0x155a78});const _0x8f20d5=await _0x225eab['yWYfd'](getFeature,_0x15c99b);console[_0xfec700(0x150)](_0xfec700(0x19e)),_0x225eab['NDYYD'](displayFeature,_0x8f20d5,_0x8f20d5[_0xfec700(0x16b)]);}async function downloadFeedbackImage(_0x3b0018,_0x5a1a37){const _0x1c817b=_0x140b14,_0x391923={'VokFU':_0x1c817b(0x199),'WDtQO':function(_0x1bccf6,_0x299262,_0x1bc96f){return _0x1bccf6(_0x299262,_0x1bc96f);},'gtaNL':function(_0x22002b,_0x4f8cf7,_0x46b7a9){return _0x22002b(_0x4f8cf7,_0x46b7a9);},'BaiBS':function(_0x122fb6,_0x1c6baa,_0x2a4ff9){return _0x122fb6(_0x1c6baa,_0x2a4ff9);}};try{const _0xd95a5c=join(getRangerDir(),_0x391923['VokFU']);await _0x391923[_0x1c817b(0x195)](mkdir,_0xd95a5c,{'recursive':!![]});const _0x5e6852=_0x391923[_0x1c817b(0x16a)](join,_0xd95a5c,_0x1c817b(0x1cf)+_0x5a1a37+'.png'),_0x53e122=await fetch(_0x3b0018);if(!_0x53e122['ok'])return null;const _0x1444c1=Buffer[_0x1c817b(0x19f)](await _0x53e122['arrayBuffer']());return await _0x391923[_0x1c817b(0x1c4)](writeFile,_0x5e6852,_0x1444c1),_0x5e6852;}catch{return null;}}export async function featureGetReview(_0x164798){const _0x294a0e=_0x140b14,_0x425b6e={'DOrxf':function(_0xd44656){return _0xd44656();},'PytxN':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','OuRBl':function(_0x427f30,_0x3f2b3f){return _0x427f30(_0x3f2b3f);},'zFZjt':function(_0x20c590,_0x29fbd2){return _0x20c590===_0x29fbd2;},'bhuNw':'No\x20scenarios\x20found.','hmIHI':function(_0x4ca820,_0x3d361a,_0x59a457){return _0x4ca820(_0x3d361a,_0x59a457);},'PMTLv':'short','sMqVL':'numeric','CbZEP':'Unknown','kpwHe':'\x20>\x20','csAhi':function(_0x4cbe03,_0x20f579){return _0x4cbe03===_0x20f579;},'mbFaW':function(_0x3026af,_0x2a3e9d){return _0x3026af>=_0x2a3e9d;}},_0x34b690=_0x164798||await _0x425b6e[_0x294a0e(0x1a4)](getActiveFeatureId);if(!_0x34b690)throw new Error(_0x425b6e['PytxN']);const _0xd1a02d=await getFeature(_0x34b690),{items:_0x1837d1}=await _0x425b6e['OuRBl'](getActionItems,_0x34b690);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0xd1a02d[_0x294a0e(0x1d4)]+'\x20('+_0xd1a02d['id']+')\x0a');if(_0x425b6e[_0x294a0e(0x207)](_0x1837d1['length'],0x0)){console['log'](_0x425b6e['bhuNw']);return;}for(let _0x4d4d16=0x0;_0x4d4d16<_0x1837d1['length'];_0x4d4d16++){const _0x1c2329=_0x1837d1[_0x4d4d16],_0x3e67c6=_0x1c2329['version']>0x1?'\x20(v'+_0x1c2329[_0x294a0e(0x157)]+')':'',_0x5d6432=await _0x425b6e['hmIHI'](getItemFeedback,_0x34b690,_0x1c2329['id']);if(_0x5d6432['unaddressedComments'][_0x294a0e(0x177)]>0x0){console[_0x294a0e(0x150)](_0x294a0e(0x1cb)+(_0x4d4d16+0x1)+_0x294a0e(0x1ce)+_0x1c2329['description']+'\x22'+_0x3e67c6+_0x294a0e(0x16c)+_0x5d6432[_0x294a0e(0x17f)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x473cef of _0x5d6432[_0x294a0e(0x17f)]){const _0x320d23=new Date(_0x473cef[_0x294a0e(0x1c3)])['toLocaleDateString'](_0x294a0e(0x186),{'month':_0x425b6e['PMTLv'],'day':_0x425b6e[_0x294a0e(0x1ea)]}),_0x21bbf9=_0x473cef['authorName']||_0x473cef[_0x294a0e(0x17d)]||_0x425b6e[_0x294a0e(0x179)];console['log'](_0x294a0e(0x13e)+_0x21bbf9+'\x20('+_0x320d23+_0x294a0e(0x14c)+_0x473cef['content']+'\x22');if(_0x473cef['assetUrl']){const _0x4a951c=await _0x425b6e['hmIHI'](downloadFeedbackImage,_0x473cef['assetUrl'],_0x473cef['id']);_0x4a951c&&console[_0x294a0e(0x150)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x4a951c);}if(_0x473cef['domRef']){const _0x4fc936=_0x473cef[_0x294a0e(0x1a7)]['selector'][_0x294a0e(0x175)](_0x425b6e['kpwHe'])['pop']()?.[_0x294a0e(0x175)](':')[0x0]||_0x294a0e(0x1db),_0x4e107a=_0x473cef[_0x294a0e(0x1a7)]['textContent']?'\x20\x22'+_0x473cef['domRef'][_0x294a0e(0x161)]['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x4fc936+'>'+_0x4e107a),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x473cef['domRef'][_0x294a0e(0x1c6)]);}else{if(_0x473cef['spatial']){const _0x4c70ef=_0x473cef[_0x294a0e(0x1f5)][_0x294a0e(0x147)];_0x425b6e['csAhi'](_0x473cef[_0x294a0e(0x1f5)]['type'],_0x294a0e(0x193))&&_0x425b6e['mbFaW'](_0x4c70ef['length'],0x2)?console[_0x294a0e(0x150)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4c70ef[0x0]['toFixed'](0x2)+',\x20'+_0x4c70ef[0x1]['toFixed'](0x2)+')'):console[_0x294a0e(0x150)](_0x294a0e(0x13b)+_0x473cef[_0x294a0e(0x1f5)][_0x294a0e(0x158)]+'\x20at\x20['+_0x4c70ef['map'](_0x2549f1=>_0x2549f1['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x5d6432['canonicalFlow']){console[_0x294a0e(0x150)](_0x294a0e(0x1e8));for(const _0x59799b of _0x5d6432['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x59799b);}}}else console[_0x294a0e(0x150)]('Scenario\x20'+(_0x4d4d16+0x1)+':\x20\x22'+_0x1c2329['description']+'\x22'+_0x3e67c6+'\x20—\x20no\x20comments'),console[_0x294a0e(0x150)](_0x294a0e(0x1a6));console['log']('');}}export async function featureDelete(_0x4c3b0d){const _0x3b27b0=_0x140b14,_0x4c1fca={'rhsoo':function(_0x470fa9,_0x12ed5d){return _0x470fa9(_0x12ed5d);},'bIfGh':function(_0x4d5c3b,_0x16f69a){return _0x4d5c3b+_0x16f69a;}},_0x278c43=_0x4c3b0d||await getActiveFeatureId();if(!_0x278c43)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 _0x5b71a1=await getFeature(_0x278c43);await _0x4c1fca[_0x3b27b0(0x1ec)](softDeleteFeature,_0x278c43),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5b71a1['name']+'\x20('+_0x278c43+')'),console[_0x3b27b0(0x150)](_0x4c1fca[_0x3b27b0(0x1d6)](_0x3b27b0(0x17b),_0x278c43));}export async function featureRestore(_0x5bb790){const _0x5c07eb=_0x140b14,_0x3a3929={'uIyrk':function(_0xa10baf,_0x43c789){return _0xa10baf(_0x43c789);}};await _0x3a3929['uIyrk'](restoreFeature,_0x5bb790);const _0x389570=await getFeature(_0x5bb790);console['log'](_0x5c07eb(0x1f3)+_0x389570[_0x5c07eb(0x1d4)]+'\x20('+_0x5bb790+')'),displayFeature(_0x389570,_0x389570[_0x5c07eb(0x16b)]);}
|
|
1
|
+
(function(_0x2434bf,_0x5a6efb){const _0x1a2ade=_0x3d3d,_0x38400a=_0x2434bf();while(!![]){try{const _0x52ec75=-parseInt(_0x1a2ade(0x2cf))/0x1+-parseInt(_0x1a2ade(0x2b2))/0x2*(-parseInt(_0x1a2ade(0x279))/0x3)+parseInt(_0x1a2ade(0x262))/0x4*(-parseInt(_0x1a2ade(0x264))/0x5)+parseInt(_0x1a2ade(0x2c7))/0x6+parseInt(_0x1a2ade(0x27d))/0x7*(parseInt(_0x1a2ade(0x267))/0x8)+parseInt(_0x1a2ade(0x2b9))/0x9*(parseInt(_0x1a2ade(0x29f))/0xa)+-parseInt(_0x1a2ade(0x27c))/0xb*(parseInt(_0x1a2ade(0x273))/0xc);if(_0x52ec75===_0x5a6efb)break;else _0x38400a['push'](_0x38400a['shift']());}catch(_0xa0a9e2){_0x38400a['push'](_0x38400a['shift']());}}}(_0x8505,0x1dfa7));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0xc8a0ee 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';function _0x3d3d(_0x3cb8bb,_0x1c4ace){_0x3cb8bb=_0x3cb8bb-0x1f1;const _0x8505fa=_0x8505();let _0x3d3d88=_0x8505fa[_0x3cb8bb];return _0x3d3d88;}import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';function _0x8505(){const _0x560f1b=['short','FIbiH','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IoYLD','stdin','after','onyYr','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','Screenshot\x20','16528PnYKKR','split','190MrIRKg','xRERd','vmGjJ','8PMCgwy','\x20\x20\x20Updated\x20branch\x20to:\x20','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20',':\x20\x22','PhsdB','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','\x20\x20\x20Branch:\x20','\x0a✅\x20Session\x20','description','\x0a✅\x20Feature\x20review\x20created:\x20','\x20\x20\x20\x20\x20\x20Cancelled:\x20','DTutB','36alUACY','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','hxwxi','KQslO','error','\x0a✅\x20Session\x20is\x20already\x20completed.','3gOdrya','any','timing','845009wqmZaV','1434020RuWAcS','numeric','reports','OQgDq','verifiedItems','ntYym','screenshotUrls','/artifacts/','Current\x20session\x20not\x20found.','miDpx','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','fLmAV','Showing\x20','IMGqa','toLocaleDateString','type','repeat','content','\x20scenario(s).','completedAt','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','all','\x0aGenerating\x20report...','dashboardUrl','checklistItems','tMQaI','replace','browserSessionId','vtHBL','isInteger','ppJso','approved','assetType','\x20[has\x20reviewer\x20feedback]','351510NHzNVf','uQKxU','tfmGQ','pzsgk','cWWKQ','.png','fygpy','HSSQm','stats','Please\x20finish\x20your\x20review\x20first:','canceledReason','\x0a✅\x20Scenario\x20added','Fvimz','offset','verification_in_progress','stepName','\x20incomplete','gitBranch','pIWjY','166486GJVMAQ','\x0aNo\x20feature\x20reviews\x20found.','OxtJY','TWRFO','...','.md','\x0a\x20\x20\x20Scenarios:','45LTmifZ','KyRRR','\x20/\x20','sessionId','\x20\x20\x20\x20\x20ID:\x20','qunSS','\x20\x20\x20\x20\x20Branch:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','gczSt','ready','\x20\x20\x20Repository:\x20','map','\x20\x20\x20\x20\x20Progress:\x20','QbFwE','305376ynRTzH','domRef','RZqKF','blockedReason','latestReview','name','write','closed','4490EKMBDD','get','\x20--limit\x20','HLSwt','includeDeleted','qRAXf','nBVyt','currentBranch','mxGCf','slice','completed','status','\x20\x20\x20Description:\x20','OQdtM','kwolJ','Scenario\x20','wDkuK','currentSessionId','zgBct','\x20Session\x20','\x20>\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','ZzOts','\x0aConcluding\x20session...','utf-8','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','exit','selector','hywQc','FUTlx','length','FtuSY','version','createdAt','ojJrg','\x20concluded.','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20—\x20','blocked','toFixed','NkzdG','\x20\x20\x20Completed:\x20','WYCde','log','GRlMN','\x20\x20\x20▶️\x20Started\x20session\x20','isTTY','\x20\x20\x20\x20\x20📋\x20Selector:\x20','pop','notes','\x20\x20\x20Created:\x20','ePoKa','nIMFr','fizaD','stringify','iteration','terminalReason','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','incomplete','items','comment_','gitRepoUrl','join','incompleteReason','screenshot','nnfuV','agentResponse','unaddressedComments','\x20\x20\x20\x20','FFpTd','isKeyStep','GmWKM','in_progress','totalCount','AOFNg','verificationInProgressItems','find','EwINo','output','push','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','stdout','assetUrl','\x20unaddressed\x20comment(s)','Fvtly','yjxRK','QOraR','.\x20Feature\x20review\x20has\x20','pipe','parentItemId','element','filter','submittedAt','LQtwG','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','iLNfv','\x20\x20\x20ID:\x20','authorName','HBUcc','trim','warn','DYGDp','git\x20remote\x20get-url\x20origin','mtOUY','CLAUDE_SESSION_ID','json','arrayBuffer','\x0aAvailable\x20scenarios:','scenario','UZGBT','\x0a⚠️\x20\x20','point','eFegH','blockedItems','textContent','Next\x20page:\x20ranger\x20list\x20--offset\x20','verified','canonicalFlow','stNQV','Cannot\x20conclude\x20session\x20with\x20status:\x20','toLocaleString','No\x20scenarios\x20found.','trimEnd','wSVLQ','storage'];_0x8505=function(){return _0x560f1b;};return _0x8505();}import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x49e5cf=>'\x1b[1m'+_0x49e5cf+'\x1b[0m';function getGitRepoUrl(){const _0x3340c4=_0x3d3d,_0x454057={'miDpx':function(_0x4e3af1,_0xba1689,_0xe5681f){return _0x4e3af1(_0xba1689,_0xe5681f);},'fygpy':_0x3340c4(0x242),'vtHBL':_0x3340c4(0x1f3),'gczSt':'pipe','xRERd':'github.com/'};try{const _0x42f12f=_0x454057[_0x3340c4(0x286)](execSync,_0x454057[_0x3340c4(0x2a5)],{'encoding':_0x454057[_0x3340c4(0x299)],'stdio':[_0x454057['gczSt'],_0x3340c4(0x234),_0x454057[_0x3340c4(0x2c1)]]})[_0x3340c4(0x23f)]();return _0x42f12f[_0x3340c4(0x297)](/\.git$/,'')[_0x3340c4(0x297)](/^git@github\.com:/,_0x454057[_0x3340c4(0x265)])[_0x3340c4(0x297)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x11af75=_0x3d3d,_0x4a0245={'ojJrg':function(_0x30225c,_0x37de08,_0x36f0ee){return _0x30225c(_0x37de08,_0x36f0ee);},'TWRFO':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','qFyGa':_0x11af75(0x234)};try{return _0x4a0245[_0x11af75(0x1fe)](execSync,_0x4a0245[_0x11af75(0x2b5)],{'encoding':_0x11af75(0x1f3),'stdio':[_0x11af75(0x234),_0x4a0245['qFyGa'],'pipe']})[_0x11af75(0x23f)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1fddc4={'kwqEd':function(_0x358045,_0xcaf9d8,_0x11dfc1){return _0x358045(_0xcaf9d8,_0x11dfc1);},'DsWSC':function(_0x371290){return _0x371290();}},_0xc461ca=_0x1fddc4['kwqEd'](join,_0x1fddc4['DsWSC'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0xc461ca))return null;try{const _0xa1db1f=await readFile(_0xc461ca,'utf-8');return _0xa1db1f['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x48155f){const _0x20c542=_0x3d3d,_0x41725d={'FIbiH':function(_0x4440c2){return _0x4440c2();},'OmUWh':function(_0x121332,_0x5694ce,_0x430c78){return _0x121332(_0x5694ce,_0x430c78);},'iLNfv':function(_0x4d773d,_0x594b45){return _0x4d773d(_0x594b45);}},_0x2837d3=_0x41725d[_0x20c542(0x25a)](getRangerDir),_0x2c63a8=_0x41725d['OmUWh'](join,_0x2837d3,ACTIVE_FEATURE_FILE);!_0x41725d[_0x20c542(0x23b)](existsSync,_0x2837d3)&&await mkdir(_0x2837d3,{'recursive':!![]}),await writeFile(_0x2c63a8,_0x48155f,_0x20c542(0x1f3));}function getProgressDisplay(_0x42f859){const _0x2ca1e3=_0x3d3d,_0x40bde3={'HLSwt':function(_0x2df72a,_0x567f75){return _0x2df72a+_0x567f75;},'nnfuV':function(_0x1980a4,_0x491352){return _0x1980a4+_0x491352;},'qXSCm':function(_0x2f3ad6,_0x1cb08d){return _0x2f3ad6*_0x1cb08d;},'hywQc':function(_0x2fad70,_0x2f34b1){return _0x2fad70/_0x2f34b1;},'Iypgt':function(_0xaa10b6,_0x436ea1){return _0xaa10b6-_0x436ea1;},'izjIp':function(_0x149e7c,_0x29655f){return _0x149e7c>_0x29655f;}},_0x3bffe8=_0x42f859[_0x2ca1e3(0x281)]||0x0,_0x5e7230=_0x42f859[_0x2ca1e3(0x227)]||0x0,_0x4c47c4=_0x42f859[_0x2ca1e3(0x24d)]||0x0,_0x136d2b=_0x42f859['incompleteItems']||0x0,_0x526c01=_0x42f859['pendingItems']||0x0,_0x41e8e5=_0x40bde3[_0x2ca1e3(0x2d2)](_0x40bde3['nnfuV'](_0x40bde3[_0x2ca1e3(0x21d)](_0x3bffe8,_0x5e7230),_0x4c47c4)+_0x136d2b,_0x526c01);if(_0x41e8e5===0x0)return'-';const _0x2fef46=0xa,_0x37f3e1=Math['round'](_0x40bde3['qXSCm'](_0x40bde3[_0x2ca1e3(0x1f8)](_0x3bffe8,_0x41e8e5),_0x2fef46)),_0x24a886='█'[_0x2ca1e3(0x28d)](_0x37f3e1)+'░'[_0x2ca1e3(0x28d)](_0x40bde3['Iypgt'](_0x2fef46,_0x37f3e1)),_0x43e0dd=[];if(_0x40bde3['izjIp'](_0x4c47c4,0x0))_0x43e0dd[_0x2ca1e3(0x22b)](_0x4c47c4+'\x20blocked');if(_0x136d2b>0x0)_0x43e0dd[_0x2ca1e3(0x22b)](_0x136d2b+_0x2ca1e3(0x2af));if(_0x5e7230>0x0)_0x43e0dd[_0x2ca1e3(0x22b)](_0x5e7230+'\x20in\x20progress');const _0x437c6b=_0x43e0dd[_0x2ca1e3(0x1fa)]>0x0?'\x20('+_0x43e0dd['join'](',\x20')+')':'';return _0x24a886+'\x20'+_0x3bffe8+'/'+_0x41e8e5+'\x20verified'+_0x437c6b;}function getCurrentSessionItems(_0x4ca228,_0x530cd6){const _0x1664d0=_0x3d3d;if(!_0x4ca228['currentSessionId'])return _0x530cd6[_0x1664d0(0x237)](_0x164fc4=>!_0x164fc4['sessionId']);return _0x530cd6['filter'](_0x157ef6=>_0x157ef6['sessionId']===_0x4ca228[_0x1664d0(0x2e0)]||!_0x157ef6[_0x1664d0(0x2bc)]);}function displayFeature(_0x2f3789,_0x3ef923){const _0x270eca=_0x3d3d,_0x5de114={'DYGDp':function(_0x467b55,_0x5f0388){return _0x467b55(_0x5f0388);},'QbFwE':function(_0x1b1d1d,_0x193ffb){return _0x1b1d1d===_0x193ffb;},'IMGqa':'closed','FUTlx':'incomplete','tMQaI':function(_0x28eaca,_0x63293a){return _0x28eaca===_0x63293a;},'UZGBT':function(_0x456c3b,_0x160407){return _0x456c3b===_0x160407;},'dmzMc':function(_0x5282be,_0x27d234){return _0x5282be+_0x27d234;},'mxGCf':_0x270eca(0x29c)};console['log']('\x0a'+_0x2f3789['name']+'\x20('+_0x2f3789[_0x270eca(0x294)]+')');_0x2f3789[_0x270eca(0x2a7)]&&console[_0x270eca(0x207)]('\x20\x20\x20Progress:\x20'+_0x5de114[_0x270eca(0x241)](getProgressDisplay,_0x2f3789['stats']));_0x2f3789[_0x270eca(0x26f)]&&console[_0x270eca(0x207)](_0x270eca(0x2db)+_0x2f3789['description']);_0x2f3789[_0x270eca(0x219)]&&console['log'](_0x270eca(0x2c3)+_0x2f3789['gitRepoUrl']);_0x2f3789['gitBranch']&&console['log'](_0x270eca(0x26d)+_0x2f3789['gitBranch']);console['log'](_0x270eca(0x20e)+new Date(_0x2f3789[_0x270eca(0x1fd)])[_0x270eca(0x254)]());_0x2f3789[_0x270eca(0x290)]&&console['log'](_0x270eca(0x205)+new Date(_0x2f3789['completedAt'])[_0x270eca(0x254)]());if(_0x3ef923&&_0x3ef923[_0x270eca(0x1fa)]>0x0){console[_0x270eca(0x207)](_0x270eca(0x2b8));for(let _0x154a23=0x0;_0x154a23<_0x3ef923[_0x270eca(0x1fa)];_0x154a23++){const _0xa77401=_0x3ef923[_0x154a23];let _0x3c3e1c;if(_0x5de114[_0x270eca(0x2c6)](_0xa77401['status'],_0x5de114['IMGqa'])&&_0xa77401['terminalReason']===_0x270eca(0x29c))_0x3c3e1c='✅';else{if(_0xa77401['status']===_0x270eca(0x250))_0x3c3e1c='🟢';else{if(_0xa77401[_0x270eca(0x2da)]===_0x5de114[_0x270eca(0x1f9)])_0x3c3e1c='🟠';else{if(_0x5de114[_0x270eca(0x296)](_0xa77401['status'],'blocked'))_0x3c3e1c='🛑';else{if(_0x5de114[_0x270eca(0x296)](_0xa77401[_0x270eca(0x2da)],_0x5de114[_0x270eca(0x28a)]))_0x3c3e1c='⛔';else _0x5de114[_0x270eca(0x249)](_0xa77401[_0x270eca(0x2da)],_0x270eca(0x2ad))?_0x3c3e1c='⏳':_0x3c3e1c='⬜';}}}}const _0x5cb20e=_0xa77401['version']>0x1?'\x20(v'+_0xa77401[_0x270eca(0x1fc)]+')':'',_0x2ed601=_0xa77401['version']>0x1&&_0xa77401[_0x270eca(0x235)]&&_0xa77401[_0x270eca(0x2da)]!==_0x5de114['IMGqa']&&_0xa77401['status']!==_0x270eca(0x250)?_0x270eca(0x29e):'';console['log']('\x20\x20\x20'+_0x5de114['dmzMc'](_0x154a23,0x1)+'.\x20'+_0x3c3e1c+'\x20'+_0xa77401['description']+_0x5cb20e+_0x2ed601);_0xa77401[_0x270eca(0x2da)]===_0x270eca(0x202)&&_0xa77401['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0xa77401[_0x270eca(0x2ca)]);_0xa77401['status']===_0x270eca(0x216)&&_0xa77401[_0x270eca(0x21b)]&&console[_0x270eca(0x207)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0xa77401['incompleteReason']);if(_0xa77401['status']===_0x5de114[_0x270eca(0x28a)]&&_0xa77401['terminalReason']===_0x5de114[_0x270eca(0x2d7)])console[_0x270eca(0x207)]('\x20\x20\x20\x20\x20\x20Approved');else _0xa77401['status']===_0x5de114['IMGqa']&&_0xa77401[_0x270eca(0x2a9)]&&console['log'](_0x270eca(0x271)+_0xa77401['canceledReason']);}}}export async function featureCreate(_0x1e054a,_0x1296c6){const _0x24542b=_0x3d3d,_0x38f389={'ePoKa':function(_0x33348a,_0x16e328){return _0x33348a===_0x16e328;},'hxwxi':function(_0x2be09e){return _0x2be09e();},'ntYym':function(_0x259070,_0x367018){return _0x259070(_0x367018);},'vmGjJ':function(_0x332bab,_0x15e257,_0x369766){return _0x332bab(_0x15e257,_0x369766);}},{envNames:_0x5e6ffe}=await getEnvNames();if(_0x38f389[_0x24542b(0x20f)](_0x5e6ffe[_0x24542b(0x1fa)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x19c57a=0x0;try{_0x19c57a=(await listCloudProfiles())[_0x24542b(0x1fa)];}catch{_0x19c57a=0x1;}_0x19c57a===0x0&&console[_0x24542b(0x240)]('\x0a'+formatProfileRequiredMessage(_0x285b6e=>bold(_0x285b6e)));}const _0x23740b=_0x1296c6['scenarios']?_0x1296c6['scenarios'][_0x24542b(0x2c4)](_0x25d715=>_0x25d715[_0x24542b(0x23f)]()):[],_0x3095f0=_0x38f389[_0x24542b(0x275)](getGitRepoUrl),_0x2083ce=getGitBranch();console['log']('\x0aCreating\x20feature\x20review...');const _0xbe92c5=await _0x38f389[_0x24542b(0x282)](createFeature,{'name':_0x1e054a,'description':_0x1296c6['description'],'checklist':_0x23740b,'gitRepoUrl':_0x3095f0,'gitBranch':_0x2083ce});await setActiveFeatureId(_0xbe92c5['id']),await _0x38f389['ntYym'](tryStartCurrentSession,_0xbe92c5['id']);const _0x30eddd=process['env']['CLAUDE_SESSION_ID'];_0x30eddd&&_0x38f389['vmGjJ'](registerSession,_0x30eddd,_0xbe92c5['id']),console['log'](_0x24542b(0x270)+_0xbe92c5['id']),_0x38f389[_0x24542b(0x266)](displayFeature,_0xbe92c5,_0xbe92c5['checklistItems']),console[_0x24542b(0x207)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x98746b){const _0x27da2c=_0x3d3d,_0x4b0615={'JUuEi':function(_0xa1271f){return _0xa1271f();},'DTutB':function(_0x1f99ab,_0x172c4c){return _0x1f99ab>_0x172c4c;},'pzsgk':'\x20--include-deleted'},_0x3cf925={'limit':_0x98746b['limit']??0xa,'offset':_0x98746b[_0x27da2c(0x2ac)]??0x0,'includeDeleted':_0x98746b['includeDeleted']};_0x98746b['currentBranch']&&(_0x3cf925['gitRepoUrl']=_0x4b0615['JUuEi'](getGitRepoUrl),_0x3cf925['gitBranch']=getGitBranch());const _0x472ac3=await listFeatures(_0x3cf925);if(_0x472ac3[_0x27da2c(0x217)]['length']===0x0){console[_0x27da2c(0x207)](_0x27da2c(0x2b3));return;}const _0x21d03d=_0x4b0615[_0x27da2c(0x272)](_0x472ac3[_0x27da2c(0x225)],_0x472ac3['items'][_0x27da2c(0x1fa)])?_0x27da2c(0x289)+_0x472ac3[_0x27da2c(0x217)][_0x27da2c(0x1fa)]+'\x20of\x20'+_0x472ac3['totalCount']:_0x472ac3[_0x27da2c(0x225)]+'\x20feature\x20review(s)\x20found';console[_0x27da2c(0x207)]('\x0a'+_0x21d03d+':\x0a');for(const _0x276126 of _0x472ac3['items']){console['log'](''+_0x276126[_0x27da2c(0x2cc)]),console['log'](_0x27da2c(0x23c)+_0x276126['id']),_0x276126['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x276126['stats'])),_0x276126[_0x27da2c(0x2b0)]&&console[_0x27da2c(0x207)]('\x20\x20\x20Branch:\x20'+_0x276126[_0x27da2c(0x2b0)]),console['log'](_0x27da2c(0x20e)+new Date(_0x276126[_0x27da2c(0x1fd)])[_0x27da2c(0x28b)]()),console[_0x27da2c(0x207)]('');}const _0x396ad5=_0x3cf925['limit']??0xa,_0x5b981a=(_0x3cf925['offset']??0x0)+_0x472ac3[_0x27da2c(0x217)]['length'];if(_0x5b981a<_0x472ac3['totalCount']){const _0x53728=_0x396ad5!==0xa?_0x27da2c(0x2d1)+_0x396ad5:'',_0x1d8cdf=_0x98746b[_0x27da2c(0x2d6)]?'\x20--current-branch':'',_0x2fd8b4=_0x98746b[_0x27da2c(0x2d3)]?_0x4b0615[_0x27da2c(0x2a2)]:'';console[_0x27da2c(0x207)](_0x27da2c(0x24f)+_0x5b981a+_0x53728+_0x1d8cdf+_0x2fd8b4);}}export async function featureShow(_0x2f63d5){const _0x419333=_0x3d3d,_0x29c433={'tfmGQ':function(_0x49e52d){return _0x49e52d();},'uzaIx':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','MPKfz':function(_0x13bd1a,_0x484182){return _0x13bd1a(_0x484182);}},_0x5676a6=_0x2f63d5||await _0x29c433[_0x419333(0x2a1)](getActiveFeatureId);if(!_0x5676a6)throw new Error(_0x29c433['uzaIx']);const _0x14c864=await _0x29c433['MPKfz'](getFeature,_0x5676a6);displayFeature(_0x14c864,_0x14c864['checklistItems']);}export async function featureResume(_0x5e5e6d){const _0x27a9a1=_0x3d3d,_0x3e120e={'stNQV':function(_0xe11b40,_0xf5832d){return _0xe11b40(_0xf5832d);},'JkEuE':function(_0x55b19a,_0x333221){return _0x55b19a(_0x333221);},'SbKag':function(_0x48fda3,_0xa46240,_0x19c843){return _0x48fda3(_0xa46240,_0x19c843);},'EwINo':function(_0x1ad47f,_0x6eb0bf){return _0x1ad47f(_0x6eb0bf);},'vGJmK':function(_0x3e4c9d){return _0x3e4c9d();},'Fvimz':function(_0x3d5f99,_0x2fe682){return _0x3d5f99&&_0x2fe682;},'KQslO':function(_0x5d2e8f,_0x5d7721){return _0x5d2e8f||_0x5d7721;},'FFpTd':_0x27a9a1(0x27a),'eFegH':function(_0x329d82,_0x2a7269){return _0x329d82(_0x2a7269);},'NkzdG':function(_0x269068,_0x3dc299){return _0x269068===_0x3dc299;},'Fvtly':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','LRCAo':_0x27a9a1(0x1f5),'AOFNg':function(_0x4e2a74,_0x4e49a1){return _0x4e2a74===_0x4e49a1;},'ukcUF':_0x27a9a1(0x2e4),'CSiBF':function(_0x137c01,_0xb1d7f4){return _0x137c01(_0xb1d7f4);},'RZqKF':'list','KQvBf':_0x27a9a1(0x23a),'rVNoK':function(_0x312b22,_0x493f02){return _0x312b22!==_0x493f02;},'wSVLQ':function(_0x41c7ae,_0x58a967,_0x1a9816){return _0x41c7ae(_0x58a967,_0x1a9816);},'HSSQm':function(_0x346620,_0xd6bd39){return _0x346620(_0xd6bd39);},'EQoTn':function(_0x5d2184,_0x4268fc,_0x42085b){return _0x5d2184(_0x4268fc,_0x42085b);}};if(_0x5e5e6d){const _0x2644e9=await _0x3e120e[_0x27a9a1(0x252)](getFeature,_0x5e5e6d);await _0x3e120e['JkEuE'](setActiveFeatureId,_0x2644e9['id']);const _0x574fa3=getGitBranch();_0x574fa3&&_0x574fa3!==_0x2644e9[_0x27a9a1(0x2b0)]&&(await updateFeature(_0x2644e9['id'],{'gitBranch':_0x574fa3}),console[_0x27a9a1(0x207)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x574fa3));console[_0x27a9a1(0x207)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x2644e9[_0x27a9a1(0x2cc)]+'\x20('+_0x2644e9['id']+')'),await tryStartCurrentSession(_0x2644e9['id']);const _0x5a877c=process['env'][_0x27a9a1(0x244)];_0x5a877c&&_0x3e120e['SbKag'](registerSession,_0x5a877c,_0x2644e9['id']);displayFeature(_0x2644e9,_0x2644e9['checklistItems']),await _0x3e120e[_0x27a9a1(0x229)](printFeedbackNudge,_0x2644e9['id']);return;}const _0x5b8743=getGitRepoUrl(),_0x2c94d0=_0x3e120e['vGJmK'](getGitBranch);if(_0x3e120e[_0x27a9a1(0x2ab)](!_0x5b8743,!_0x2c94d0))throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x3e120e[_0x27a9a1(0x276)](_0x5b8743,_0x3e120e[_0x27a9a1(0x221)])+_0x27a9a1(0x2bb)+_0x3e120e[_0x27a9a1(0x276)](_0x2c94d0,_0x3e120e['FFpTd'])+_0x27a9a1(0x2b6));const _0x553bcd=await _0x3e120e[_0x27a9a1(0x24c)](listFeatures,{'gitRepoUrl':_0x5b8743,'gitBranch':_0x2c94d0}),_0x1cf8da=_0x553bcd[_0x27a9a1(0x217)]['filter'](_0x3123f6=>_0x3123f6[_0x27a9a1(0x2da)]?_0x3123f6[_0x27a9a1(0x2da)]!==_0x27a9a1(0x250):!_0x3123f6['completedAt']);if(_0x3e120e[_0x27a9a1(0x204)](_0x1cf8da[_0x27a9a1(0x1fa)],0x0)){console['log'](_0x3e120e[_0x27a9a1(0x230)]),console[_0x27a9a1(0x207)](_0x3e120e['LRCAo']);return;}let _0x11460b;if(_0x3e120e[_0x27a9a1(0x226)](_0x1cf8da['length'],0x1))_0x11460b=_0x1cf8da[0x0];else{const _0x58b61d=process[_0x27a9a1(0x25d)][_0x27a9a1(0x20a)]&&process['stdout']['isTTY'];if(!_0x58b61d){console[_0x27a9a1(0x207)](_0x3e120e['ukcUF']);for(const _0x196a9b of _0x1cf8da){console['log']('\x20\x20'+_0x196a9b[_0x27a9a1(0x2cc)]),console[_0x27a9a1(0x207)](_0x27a9a1(0x2bd)+_0x196a9b['id']),_0x196a9b['stats']&&console['log'](_0x27a9a1(0x2c5)+_0x3e120e['CSiBF'](getProgressDisplay,_0x196a9b[_0x27a9a1(0x2a7)])),_0x196a9b['gitBranch']&&console['log'](_0x27a9a1(0x2bf)+_0x196a9b['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x5a5d1b}=await _0xc8a0ee['prompt']([{'type':_0x3e120e[_0x27a9a1(0x2c9)],'name':'selected','message':_0x3e120e['KQvBf'],'choices':_0x1cf8da[_0x27a9a1(0x2c4)](_0x1b64aa=>({'name':_0x1b64aa[_0x27a9a1(0x2cc)]+'\x20('+_0x1b64aa['id']+')','value':_0x1b64aa['id']}))}]);_0x11460b=_0x1cf8da['find'](_0x4b7913=>_0x4b7913['id']===_0x5a5d1b);}await setActiveFeatureId(_0x11460b['id']);_0x2c94d0&&_0x3e120e['rVNoK'](_0x2c94d0,_0x11460b[_0x27a9a1(0x2b0)])&&(await _0x3e120e[_0x27a9a1(0x257)](updateFeature,_0x11460b['id'],{'gitBranch':_0x2c94d0}),console['log'](_0x27a9a1(0x268)+_0x2c94d0));console[_0x27a9a1(0x207)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x11460b[_0x27a9a1(0x2cc)]+'\x20('+_0x11460b['id']+')'),await _0x3e120e['JkEuE'](tryStartCurrentSession,_0x11460b['id']);const _0x535a64=await _0x3e120e[_0x27a9a1(0x2a6)](getFeature,_0x11460b['id']),_0xcf3ea9=process['env'][_0x27a9a1(0x244)];_0xcf3ea9&®isterSession(_0xcf3ea9,_0x535a64['id']),_0x3e120e['EQoTn'](displayFeature,_0x535a64,_0x535a64['checklistItems']),await printFeedbackNudge(_0x535a64['id']);}async function printFeedbackNudge(_0x26bfa3){const _0x4c4195=_0x3d3d,_0x2f37d9={'IqRzk':function(_0x513b4f,_0x2dc174,_0x2459f3){return _0x513b4f(_0x2dc174,_0x2459f3);},'JNZlr':function(_0x42101a,_0x3d2396){return _0x42101a>_0x3d2396;}};try{const {items:_0x224348}=await getActionItems(_0x26bfa3);let _0x279b2e=0x0,_0x4bf84a=0x0;for(const _0x2405b6 of _0x224348){const _0x5807e2=await _0x2f37d9['IqRzk'](getItemFeedback,_0x26bfa3,_0x2405b6['id']);_0x5807e2['unaddressedComments']['length']>0x0&&(_0x279b2e+=_0x5807e2[_0x4c4195(0x21f)][_0x4c4195(0x1fa)],_0x4bf84a++);}_0x2f37d9['JNZlr'](_0x279b2e,0x0)&&(console[_0x4c4195(0x207)](_0x4c4195(0x24a)+_0x279b2e+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x4bf84a+_0x4c4195(0x28f)),console[_0x4c4195(0x207)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x2f79f5){const _0x3b371e=_0x3d3d;try{const {sessions:_0x15431a}=await listFeatureSessions(_0x2f79f5),_0x469e5b=_0x15431a['find'](_0x2829c3=>_0x2829c3['status']===_0x3b371e(0x2c2));_0x469e5b&&(await startSession(_0x2f79f5,_0x469e5b['id']),console['log'](_0x3b371e(0x209)+_0x469e5b['iteration']));}catch{}}export async function featureReport(_0x4ecbaa,_0x3108b2){const _0xb58153=_0x3d3d,_0x534e85={'qRAXf':function(_0x3a9752){return _0x3a9752();},'KyRRR':_0xb58153(0x2c0),'IoYLD':_0xb58153(0x293),'QOraR':_0xb58153(0x27f),'FtuSY':function(_0x8c4ae2,_0x3171bf,_0xf97f4e){return _0x8c4ae2(_0x3171bf,_0xf97f4e);},'HBUcc':_0xb58153(0x1f3)},_0x1fec41=_0x4ecbaa||await _0x534e85[_0xb58153(0x2d4)](getActiveFeatureId);if(!_0x1fec41)throw new Error(_0x534e85[_0xb58153(0x2ba)]);console[_0xb58153(0x207)](_0x534e85[_0xb58153(0x25c)]);const _0x5038f7=await getFeatureReportMarkdown(_0x1fec41,{'style':_0x3108b2['style']}),_0x3b1dc8=_0x3108b2[_0xb58153(0x22a)]||join(_0x534e85['qRAXf'](getRangerDir),_0x534e85[_0xb58153(0x232)],_0x1fec41+_0xb58153(0x2b7)),_0x217014=join(_0x3b1dc8,'..');!existsSync(_0x217014)&&await _0x534e85[_0xb58153(0x1fb)](mkdir,_0x217014,{'recursive':!![]}),await writeFile(_0x3b1dc8,_0x5038f7,_0x534e85[_0xb58153(0x23e)]),console[_0xb58153(0x207)]('\x0a✅\x20Report\x20generated:\x20'+_0x3b1dc8);}function getScenarioResult(_0x53b225){const _0x68ded2=_0x3d3d,_0x16c034={'OQdtM':_0x68ded2(0x2ce)};if(_0x53b225[_0x68ded2(0x2da)]===_0x16c034[_0x68ded2(0x2dc)])return _0x53b225[_0x68ded2(0x214)]??'closed';if(_0x53b225[_0x68ded2(0x2da)]===_0x68ded2(0x2ad))return _0x68ded2(0x224);return _0x53b225[_0x68ded2(0x2da)];}function getScenarioRationale(_0x22225f,_0x5e437b){const _0x155272=_0x3d3d,_0x413f91={'zPAQM':'4|2|0|3|5|1'},_0x42ba01=_0x413f91['zPAQM'][_0x155272(0x263)]('|');let _0x5f57b1=0x0;while(!![]){switch(_0x42ba01[_0x5f57b1++]){case'0':if(_0x22225f['incompleteReason'])return _0x22225f['incompleteReason'];continue;case'1':return null;case'2':if(_0x22225f['blockedReason'])return _0x22225f['blockedReason'];continue;case'3':if(_0x22225f['canceledReason'])return _0x22225f[_0x155272(0x2a9)];continue;case'4':if(_0x5e437b)return _0x5e437b;continue;case'5':if(_0x22225f[_0x155272(0x20d)])return _0x22225f[_0x155272(0x20d)];continue;}break;}}export async function featureReportPrDescription(_0x5ccf15,_0x3bca22){const _0x52a168=_0x3d3d,_0x3ed8e7={'GRlMN':function(_0x63f982){return _0x63f982();},'BOSsv':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','LQtwG':function(_0x4d7bc7,_0x488510,_0x2f79e4){return _0x4d7bc7(_0x488510,_0x2f79e4);},'yjxRK':function(_0x2396cf,_0x246d35){return _0x2396cf===_0x246d35;},'RmuSs':function(_0xe1104f,_0x56e703){return _0xe1104f>_0x56e703;},'qWTwr':function(_0x26270a,_0x4dd88e){return _0x26270a<_0x4dd88e;},'YoHFD':_0x52a168(0x200),'aVCnZ':function(_0x87027b,_0x10cd53,_0x133908,_0xa97a56){return _0x87027b(_0x10cd53,_0x133908,_0xa97a56);}},_0x44dfb5=_0x5ccf15||await _0x3ed8e7[_0x52a168(0x208)](getActiveFeatureId);if(!_0x44dfb5)throw new Error(_0x3ed8e7['BOSsv']);const _0x2ef00b=await getFeature(_0x44dfb5),_0x1c6118=_0x2ef00b[_0x52a168(0x295)]||[],_0x192932=_0x3ed8e7[_0x52a168(0x239)](getCurrentSessionItems,_0x2ef00b,_0x1c6118);_0x3ed8e7[_0x52a168(0x231)](_0x192932['length'],0x0)&&(console['error'](_0x52a168(0x287)),process[_0x52a168(0x1f6)](0x1));const _0x2f9c76=_0x3bca22['excludeScenarios']??[],_0x12752c=_0x2f9c76['filter'](_0x39857d=>!Number[_0x52a168(0x29a)](_0x39857d)||_0x39857d<0x1||_0x39857d>_0x192932['length']);if(_0x3ed8e7['RmuSs'](_0x12752c[_0x52a168(0x1fa)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x12752c['join'](',\x20')),console['log'](_0x52a168(0x247));for(let _0x452eed=0x0;_0x3ed8e7['qWTwr'](_0x452eed,_0x192932[_0x52a168(0x1fa)]);_0x452eed++){console[_0x52a168(0x207)]('\x20\x20'+(_0x452eed+0x1)+'.\x20'+_0x192932[_0x452eed][_0x52a168(0x26f)]);}process['exit'](0x1);}const _0x5d6eb6=new Set(_0x2f9c76[_0x52a168(0x2c4)](_0x24d709=>_0x24d709-0x1)),_0x5f3be3=_0x192932['filter']((_0x39a7a9,_0x50f098)=>!_0x5d6eb6['has'](_0x50f098));_0x5f3be3['length']===0x0&&(console['error'](_0x3ed8e7['YoHFD']),process[_0x52a168(0x1f6)](0x1));if(_0x3bca22[_0x52a168(0x245)])await _0x3ed8e7['aVCnZ'](outputJsonReport,_0x44dfb5,_0x2ef00b,_0x5f3be3);else{const _0x1868a8=await getFeatureReportMarkdown(_0x44dfb5,{'itemIds':_0x5f3be3['map'](_0x11ac89=>_0x11ac89['id'])});process['stdout']['write'](_0x1868a8[_0x52a168(0x256)]()+'\x0a');}}async function outputJsonReport(_0x56a527,_0x33685b,_0x5abee7){const _0x23dac2=_0x3d3d,_0x12e6e1={'cWWKQ':function(_0x5c34f3,_0xcf1737){return _0x5c34f3===_0xcf1737;},'aeFwh':function(_0x1eddd8,_0x42eafe,_0x6d1805){return _0x1eddd8(_0x42eafe,_0x6d1805);},'ZXTrx':function(_0x3b648c){return _0x3b648c();},'SWDyV':function(_0x46ffa5,_0x22d18c){return _0x46ffa5(_0x22d18c);},'fLmAV':function(_0x1d0fd7,_0x3a6e95){return _0x1d0fd7+_0x3a6e95;}},_0x2b6d7d=_0x12e6e1['ZXTrx'](getApiBaseUrl),_0x2ee4fa=await _0x12e6e1['SWDyV'](getFeatureReport,_0x56a527),_0x2605b4=new Map(_0x2ee4fa['checklistItems']['map'](_0x337425=>[_0x337425['id'],_0x337425])),_0x396b52=await Promise[_0x23dac2(0x292)](_0x5abee7['map'](async _0x1d7b9a=>{const _0x531f82=_0x23dac2,_0x5b50d0=_0x2605b4[_0x531f82(0x2d0)](_0x1d7b9a['id']),_0x2d2fd8=_0x5b50d0?.['linkedSession']??null;let _0x257af4=[];if(_0x1d7b9a['browserSessionId'])try{const {steps:_0x46695c}=await getBrowserSessionSteps(_0x1d7b9a['browserSessionId']);_0x46695c['length']>0x0&&(_0x257af4=_0x46695c[_0x531f82(0x2c4)](_0x2332a2=>{const _0x4e18cf=_0x531f82,_0x2ec679=_0x2332a2['assets'][_0x4e18cf(0x228)](_0x3a3b2a=>_0x3a3b2a[_0x4e18cf(0x29d)]===_0x4e18cf(0x21c)&&_0x3a3b2a[_0x4e18cf(0x27b)]===_0x4e18cf(0x25e))??_0x2332a2['assets']['find'](_0x43a746=>_0x43a746[_0x4e18cf(0x29d)]==='screenshot');let _0x51d8ff=null,_0x4686e5=null;if(_0x2ec679){const _0x1f700f=_0x2ec679[_0x4e18cf(0x258)]['location'][_0x4e18cf(0x263)]('/')['pop']();_0x51d8ff=_0x2b6d7d+'/api/v1/mcp/browser-sessions/'+_0x1d7b9a[_0x4e18cf(0x298)]+_0x4e18cf(0x284)+_0x1f700f,_0x1f700f&&(_0x4686e5=_0x1f700f['replace'](/\.\w+$/,'')[_0x4e18cf(0x297)](/^(key_)?\d+_/,'')[_0x4e18cf(0x297)](/[-_]/g,'\x20'));}return{'description':_0x4686e5||_0x2332a2[_0x4e18cf(0x26f)]||_0x2332a2[_0x4e18cf(0x2ae)]||'Step\x20'+_0x2332a2['position'],'screenshot':_0x51d8ff,'is_key_step':_0x2332a2[_0x4e18cf(0x222)]};}));}catch{}return _0x12e6e1[_0x531f82(0x2a3)](_0x257af4[_0x531f82(0x1fa)],0x0)&&_0x2d2fd8?.['screenshotUrls']&&(_0x257af4=_0x2d2fd8[_0x531f82(0x283)]['map']((_0x42cfd3,_0x2a19b6)=>({'description':_0x531f82(0x261)+(_0x2a19b6+0x1),'screenshot':_0x42cfd3,'is_key_step':![]}))),{'description':_0x1d7b9a[_0x531f82(0x26f)],'result':getScenarioResult(_0x1d7b9a),'rationale':_0x12e6e1['aeFwh'](getScenarioRationale,_0x1d7b9a,_0x2d2fd8?.[_0x531f82(0x21e)]),'steps':_0x257af4};})),_0x58872f={'url':_0x33685b['dashboardUrl'],'scenarios':_0x396b52};process[_0x23dac2(0x22d)][_0x23dac2(0x2cd)](_0x12e6e1[_0x23dac2(0x288)](JSON[_0x23dac2(0x212)](_0x58872f,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x3c9c80){const _0x1ab700=_0x3d3d,_0x2fe53e={'fizaD':function(_0x425a3e){return _0x425a3e();},'ppJso':_0x1ab700(0x25b),'TdRNz':function(_0x5ee307,_0x4b925e){return _0x5ee307(_0x4b925e);},'GsdVp':function(_0x5782d5,_0x2b6b58){return _0x5782d5(_0x2b6b58);},'mtOUY':_0x1ab700(0x285),'ovyKj':_0x1ab700(0x2d9),'ZzOts':_0x1ab700(0x278),'WYCde':_0x1ab700(0x1f2),'nSJuV':function(_0xe64832,_0x478f99,_0x514a6e){return _0xe64832(_0x478f99,_0x514a6e);}},_0x5b0209=_0x3c9c80||await _0x2fe53e[_0x1ab700(0x211)](getActiveFeatureId);if(!_0x5b0209)throw new Error(_0x2fe53e[_0x1ab700(0x29b)]);const _0x19fd9e=await _0x2fe53e['TdRNz'](getFeature,_0x5b0209);if(!_0x19fd9e[_0x1ab700(0x2e0)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x35548a}=await _0x2fe53e['GsdVp'](listFeatureSessions,_0x5b0209),_0x2409e6=_0x35548a[_0x1ab700(0x228)](_0x290288=>_0x290288['id']===_0x19fd9e[_0x1ab700(0x2e0)]);if(!_0x2409e6)throw new Error(_0x2fe53e[_0x1ab700(0x243)]);if(_0x2409e6[_0x1ab700(0x2da)]===_0x2fe53e['ovyKj']){console[_0x1ab700(0x207)](_0x2fe53e[_0x1ab700(0x1f1)]);return;}if(_0x2409e6[_0x1ab700(0x2da)]!=='in_progress')throw new Error(_0x1ab700(0x253)+_0x2409e6['status']);console['log'](_0x2fe53e[_0x1ab700(0x206)]),await _0x2fe53e['nSJuV'](concludeSession,_0x5b0209,_0x19fd9e['currentSessionId']),console[_0x1ab700(0x207)](_0x1ab700(0x26e)+_0x2409e6['iteration']+_0x1ab700(0x1ff)),console[_0x1ab700(0x207)](_0x1ab700(0x26c));}export async function featureSessions(_0x1639d7){const _0x55adfc=_0x3d3d,_0xa8e493={'vgeBq':function(_0x39cf1e){return _0x39cf1e();},'nIMFr':function(_0x545b62,_0x1795a1){return _0x545b62(_0x1795a1);},'kwolJ':'No\x20sessions\x20found.','tFiWJ':'completed'},_0x36375c=_0x1639d7||await _0xa8e493['vgeBq'](getActiveFeatureId);if(!_0x36375c)throw new Error(_0x55adfc(0x2c0));const _0x785274=await _0xa8e493[_0x55adfc(0x210)](getFeature,_0x36375c);console['log'](_0x55adfc(0x269)+_0x785274[_0x55adfc(0x2cc)]+'\x0a');const {sessions:_0x388d1b}=await listFeatureSessions(_0x36375c);if(_0x388d1b[_0x55adfc(0x1fa)]===0x0){console['log'](_0xa8e493[_0x55adfc(0x2dd)]);return;}for(const _0x276c7f of _0x388d1b){const _0x567214=_0x276c7f[_0x55adfc(0x2da)]===_0xa8e493['tFiWJ']?'✅':_0x276c7f['status']===_0x55adfc(0x224)?'🔄':'▶️';console[_0x55adfc(0x207)](_0x567214+_0x55adfc(0x2e2)+_0x276c7f[_0x55adfc(0x213)]+'\x20('+_0x276c7f['id']+')'),console[_0x55adfc(0x207)]('\x20\x20\x20Status:\x20'+_0x276c7f['status']),console['log'](_0x55adfc(0x20e)+new Date(_0x276c7f[_0x55adfc(0x1fd)])[_0x55adfc(0x254)]()),_0x276c7f[_0x55adfc(0x290)]&&console['log'](_0x55adfc(0x205)+new Date(_0x276c7f['completedAt'])['toLocaleString']()),console[_0x55adfc(0x207)]('');}}export async function featureAddScenario(_0x5440ff,_0x56ebde){const _0x4b1854=_0x3d3d,_0x1aa10f={'LDTKw':function(_0x530413){return _0x530413();},'qunSS':function(_0x4c7703,_0x466e7e){return _0x4c7703(_0x466e7e);},'FLpbG':function(_0x2c857b,_0x20e48a,_0x4d4d65){return _0x2c857b(_0x20e48a,_0x4d4d65);},'zBUEU':function(_0x16a551,_0x1ff749,_0x178d17){return _0x16a551(_0x1ff749,_0x178d17);}},_0xd12ff5=_0x56ebde||await _0x1aa10f['LDTKw'](getActiveFeatureId);if(!_0xd12ff5)throw new Error(_0x4b1854(0x25b));const _0x4e5fdd=await _0x1aa10f[_0x4b1854(0x2be)](getFeature,_0xd12ff5);if(_0x4e5fdd[_0x4b1854(0x2cb)]&&!_0x4e5fdd['latestReview']['submittedAt'])throw new Error(_0x4b1854(0x260)+_0x4e5fdd[_0x4b1854(0x294)]);await _0x1aa10f['FLpbG'](createChecklistItem,_0xd12ff5,_0x5440ff);const _0xdaca0=await getFeature(_0xd12ff5);console['log'](_0x4b1854(0x2aa)),_0x1aa10f['zBUEU'](displayFeature,_0xdaca0,_0xdaca0[_0x4b1854(0x295)]);}export async function featureEditScenario(_0x34af39,_0xb334b7){const _0x4c5b57=_0x3d3d,_0x25c217={'zgBct':function(_0x1031aa){return _0x1031aa();},'onyYr':function(_0x5952a1,_0xf104d4){return _0x5952a1(_0xf104d4);},'wrfqo':_0x4c5b57(0x2a8),'gRWCI':function(_0x519c50,_0x1ecfb8){return _0x519c50===_0x1ecfb8;},'OhSxB':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','LmnSo':'\x0aAvailable\x20scenarios:','ccvSD':function(_0x1e2c33,_0xf24049){return _0x1e2c33-_0xf24049;},'MBVwF':function(_0x348381,_0x5f4f1f){return _0x348381<_0x5f4f1f;},'iFcAg':function(_0xbb9c4b,_0x1b4d25){return _0xbb9c4b+_0x1b4d25;},'OxtJY':function(_0x4d9da4,_0xcef109,_0x2202bf,_0x148306){return _0x4d9da4(_0xcef109,_0x2202bf,_0x148306);}},_0x321ca9=_0xb334b7['id']||await _0x25c217[_0x4c5b57(0x2e1)](getActiveFeatureId);!_0x321ca9&&(console[_0x4c5b57(0x277)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x4c5b57(0x277)](_0x4c5b57(0x215)),process[_0x4c5b57(0x1f6)](0x1));const _0x2d0006=await _0x25c217[_0x4c5b57(0x25f)](getFeature,_0x321ca9);_0x2d0006[_0x4c5b57(0x2cb)]&&!_0x2d0006['latestReview'][_0x4c5b57(0x238)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x4c5b57(0x277)](_0x25c217['wrfqo']),console['error']('\x20\x20'+_0x2d0006[_0x4c5b57(0x294)]),process['exit'](0x1));const _0x4bc0f9=_0x2d0006[_0x4c5b57(0x295)]||[];_0x4bc0f9['length']===0x0&&(console[_0x4c5b57(0x277)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process['exit'](0x1));if(_0x25c217['gRWCI'](_0xb334b7['scenario'],undefined)){console[_0x4c5b57(0x277)](_0x25c217['OhSxB']),console['log'](_0x25c217['LmnSo']);for(let _0x4c7055=0x0;_0x4c7055<_0x4bc0f9['length'];_0x4c7055++){console['log']('\x20\x20'+(_0x4c7055+0x1)+'.\x20'+_0x4bc0f9[_0x4c7055]['description']);}process[_0x4c5b57(0x1f6)](0x1);}const _0x30f7a4=_0x25c217['ccvSD'](_0xb334b7[_0x4c5b57(0x248)],0x1);if(_0x30f7a4<0x0||_0x30f7a4>=_0x4bc0f9['length']){console[_0x4c5b57(0x277)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0xb334b7[_0x4c5b57(0x248)]+_0x4c5b57(0x233)+_0x4bc0f9['length']+'\x20scenarios.'),console['log'](_0x4c5b57(0x247));for(let _0x323099=0x0;_0x25c217['MBVwF'](_0x323099,_0x4bc0f9['length']);_0x323099++){console[_0x4c5b57(0x207)]('\x20\x20'+_0x25c217['iFcAg'](_0x323099,0x1)+'.\x20'+_0x4bc0f9[_0x323099]['description']);}process['exit'](0x1);}const _0x3d82ec=_0x4bc0f9[_0x30f7a4];await _0x25c217[_0x4c5b57(0x2b4)](updateChecklistItem,_0x321ca9,_0x3d82ec['id'],{'description':_0x34af39});const _0x4f301e=await getFeature(_0x321ca9);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x4f301e,_0x4f301e['checklistItems']);}async function downloadFeedbackImage(_0xff1ee1,_0xb65f93){const _0x23b784=_0x3d3d,_0x38f91d={'OQgDq':function(_0x465192){return _0x465192();}};try{const _0x2cb6c6=join(_0x38f91d[_0x23b784(0x280)](getRangerDir),'feedback-images');await mkdir(_0x2cb6c6,{'recursive':!![]});const _0x3f63e1=join(_0x2cb6c6,_0x23b784(0x218)+_0xb65f93+_0x23b784(0x2a4)),_0x2806cb=await fetch(_0xff1ee1);if(!_0x2806cb['ok'])return null;const _0x303929=Buffer['from'](await _0x2806cb[_0x23b784(0x246)]());return await writeFile(_0x3f63e1,_0x303929),_0x3f63e1;}catch{return null;}}export async function featureGetReview(_0x4df585){const _0x3872e2=_0x3d3d,_0xa10b0a={'wSgko':_0x3872e2(0x25b),'AJAwa':function(_0x214dba,_0x289d6c){return _0x214dba(_0x289d6c);},'wDkuK':function(_0x5178eb,_0x4d0ee6){return _0x5178eb===_0x4d0ee6;},'GSzYL':function(_0x337a6d,_0x318eb0){return _0x337a6d>_0x318eb0;},'UnZMS':_0x3872e2(0x259),'GtqUm':_0x3872e2(0x27e),'GmWKM':function(_0x1172cc,_0x297da8,_0x47669d){return _0x1172cc(_0x297da8,_0x47669d);},'nBVyt':_0x3872e2(0x236),'uQKxU':function(_0x206baa,_0x2e952a){return _0x206baa>=_0x2e952a;},'pIWjY':function(_0x5a8e40,_0x2cfb02){return _0x5a8e40+_0x2cfb02;}},_0x54a0bb=_0x4df585||await getActiveFeatureId();if(!_0x54a0bb)throw new Error(_0xa10b0a['wSgko']);const _0x22749c=await getFeature(_0x54a0bb),{items:_0x3d93a2}=await _0xa10b0a['AJAwa'](getActionItems,_0x54a0bb);console[_0x3872e2(0x207)]('\x0a📋\x20Feedback\x20for:\x20'+_0x22749c[_0x3872e2(0x2cc)]+'\x20('+_0x22749c['id']+')\x0a');if(_0xa10b0a[_0x3872e2(0x2df)](_0x3d93a2['length'],0x0)){console[_0x3872e2(0x207)](_0x3872e2(0x255));return;}for(let _0x498135=0x0;_0x498135<_0x3d93a2['length'];_0x498135++){const _0x26ea29=_0x3d93a2[_0x498135],_0x38183d=_0xa10b0a['GSzYL'](_0x26ea29['version'],0x1)?'\x20(v'+_0x26ea29['version']+')':'',_0x33e630=await getItemFeedback(_0x54a0bb,_0x26ea29['id']);if(_0xa10b0a['GSzYL'](_0x33e630['unaddressedComments'][_0x3872e2(0x1fa)],0x0)){console[_0x3872e2(0x207)](_0x3872e2(0x2de)+(_0x498135+0x1)+':\x20\x22'+_0x26ea29[_0x3872e2(0x26f)]+'\x22'+_0x38183d+_0x3872e2(0x201)+_0x33e630[_0x3872e2(0x21f)][_0x3872e2(0x1fa)]+_0x3872e2(0x22f));for(const _0x23d0c9 of _0x33e630[_0x3872e2(0x21f)]){const _0x3b573a=new Date(_0x23d0c9['createdAt'])[_0x3872e2(0x28b)]('en-US',{'month':_0xa10b0a['UnZMS'],'day':_0xa10b0a['GtqUm']}),_0x28bdef=_0x23d0c9[_0x3872e2(0x23d)]||_0x23d0c9['authorEmail']||'Unknown';console[_0x3872e2(0x207)]('\x20\x20💬\x20'+_0x28bdef+'\x20('+_0x3b573a+'):\x20\x22'+_0x23d0c9[_0x3872e2(0x28e)]+'\x22');if(_0x23d0c9['assetUrl']){const _0xa0f183=await _0xa10b0a[_0x3872e2(0x223)](downloadFeedbackImage,_0x23d0c9[_0x3872e2(0x22e)],_0x23d0c9['id']);_0xa0f183&&console['log'](_0x3872e2(0x291)+_0xa0f183);}if(_0x23d0c9['domRef']){const _0x2ad797=_0x23d0c9['domRef'][_0x3872e2(0x1f7)]['split'](_0x3872e2(0x2e3))[_0x3872e2(0x20c)]()?.['split'](':')[0x0]||_0xa10b0a[_0x3872e2(0x2d5)],_0x612349=_0x23d0c9[_0x3872e2(0x2c8)][_0x3872e2(0x24e)]?'\x20\x22'+_0x23d0c9['domRef']['textContent'][_0x3872e2(0x2d8)](0x0,0x3c)+'\x22':'';console['log'](_0x3872e2(0x1f4)+_0x2ad797+'>'+_0x612349),console[_0x3872e2(0x207)](_0x3872e2(0x20b)+_0x23d0c9['domRef']['selector']);}else{if(_0x23d0c9['spatial']){const _0x8c272a=_0x23d0c9['spatial']['coordinates'];_0x23d0c9['spatial'][_0x3872e2(0x28c)]===_0x3872e2(0x24b)&&_0xa10b0a[_0x3872e2(0x2a0)](_0x8c272a['length'],0x2)?console['log'](_0x3872e2(0x22c)+_0x8c272a[0x0][_0x3872e2(0x203)](0x2)+',\x20'+_0x8c272a[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x23d0c9['spatial'][_0x3872e2(0x28c)]+'\x20at\x20['+_0x8c272a[_0x3872e2(0x2c4)](_0xfb8385=>_0xfb8385['toFixed'](0x2))[_0x3872e2(0x21a)](',\x20')+']');}}}if(_0x33e630['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x39f293 of _0x33e630[_0x3872e2(0x251)]['split']('\x0a')){console[_0x3872e2(0x207)](_0x3872e2(0x220)+_0x39f293);}}}else console[_0x3872e2(0x207)](_0x3872e2(0x2de)+_0xa10b0a[_0x3872e2(0x2b1)](_0x498135,0x1)+_0x3872e2(0x26a)+_0x26ea29[_0x3872e2(0x26f)]+'\x22'+_0x38183d+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x3872e2(0x207)]('');}}export async function featureDelete(_0x4344b6){const _0x46ec2a=_0x3d3d,_0x388d38={'hEaTt':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','PhsdB':function(_0x3552a1,_0x219095){return _0x3552a1(_0x219095);},'erDaM':function(_0x26b69f,_0x528f57){return _0x26b69f+_0x528f57;}},_0x329006=_0x4344b6||await getActiveFeatureId();if(!_0x329006)throw new Error(_0x388d38['hEaTt']);const _0x665deb=await _0x388d38[_0x46ec2a(0x26b)](getFeature,_0x329006);await softDeleteFeature(_0x329006),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x665deb[_0x46ec2a(0x2cc)]+'\x20('+_0x329006+')'),console['log'](_0x388d38['erDaM'](_0x46ec2a(0x274),_0x329006));}export async function featureRestore(_0x2f3963){await restoreFeature(_0x2f3963);const _0x4ee9ce=await getFeature(_0x2f3963);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4ee9ce['name']+'\x20('+_0x2f3963+')'),displayFeature(_0x4ee9ce,_0x4ee9ce['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24d1cf,_0x11d23d){const _0x4850e0=_0x33ef,_0x2092e9=_0x24d1cf();while(!![]){try{const _0x3226af=parseInt(_0x4850e0(0x196))/0x1+-parseInt(_0x4850e0(0x193))/0x2+parseInt(_0x4850e0(0x197))/0x3+-parseInt(_0x4850e0(0x194))/0x4*(parseInt(_0x4850e0(0x198))/0x5)+-parseInt(_0x4850e0(0x195))/0x6+-parseInt(_0x4850e0(0x18e))/0x7+-parseInt(_0x4850e0(0x199))/0x8*(-parseInt(_0x4850e0(0x19a))/0x9);if(_0x3226af===_0x11d23d)break;else _0x2092e9['push'](_0x2092e9['shift']());}catch(_0x416803){_0x2092e9['push'](_0x2092e9['shift']());}}}(_0x1a26,0x31d31));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';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};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x393e40=_0x33ef,_0x2b8bff={'qcckc':_0x393e40(0x191),'LEXwc':_0x393e40(0x192)};if(cancellationHandlersInstalled)return;const _0x4a2b78=()=>{process['exit'](0x0);};process[_0x393e40(0x19b)](_0x2b8bff[_0x393e40(0x190)],_0x4a2b78),process['once']('SIGTERM',_0x4a2b78),process[_0x393e40(0x19b)](_0x2b8bff['LEXwc'],_0x4a2b78),cancellationHandlersInstalled=!![];}function _0x33ef(_0x2a915a,_0x1c5348){_0x2a915a=_0x2a915a-0x18d;const _0x1a2666=_0x1a26();let _0x33ef83=_0x1a2666[_0x2a915a];return _0x33ef83;}function _0x1a26(){const _0x2b9a47=['137128pvjETd','256830lODAsI','41255kHCfGY','8cXIOIu','9517779NLvzKi','once','vvMyQ','2730364qOAWmv','join','qcckc','SIGINT','SIGHUP','260368fYbUcn','124ufbuzO','1801026OErPwZ'];_0x1a26=function(){return _0x2b9a47;};return _0x1a26();}export async function hook(_0x15d9f5,_0x4b6861){const _0x39f8fe=_0x33ef,_0x367a53={'vvMyQ':function(_0x2ef046){return _0x2ef046();},'btJvN':function(_0x2519a2,_0x9b335e){return _0x2519a2(_0x9b335e);}};_0x367a53[_0x39f8fe(0x18d)](installCancellationHandlers);const _0x2d31b7=HOOKS[_0x15d9f5];if(!_0x2d31b7){const _0x3819d4=Object['keys'](HOOKS)[_0x39f8fe(0x18f)](',\x20');console['error']('Unknown\x20hook:\x20'+_0x15d9f5),console['error']('Valid\x20hooks:\x20'+_0x3819d4),process['exit'](0x1);}await _0x367a53['btJvN'](_0x2d31b7,_0x4b6861);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x282ac8,_0x2a74e3){const _0x1fd760=_0x3e71,_0x409267=_0x282ac8();while(!![]){try{const _0x37a23c=parseInt(_0x1fd760(0x1af))/0x1*(-parseInt(_0x1fd760(0x1b0))/0x2)+-parseInt(_0x1fd760(0x1b5))/0x3+parseInt(_0x1fd760(0x1b4))/0x4*(parseInt(_0x1fd760(0x1a9))/0x5)+-parseInt(_0x1fd760(0x1ab))/0x6+parseInt(_0x1fd760(0x1b3))/0x7+-parseInt(_0x1fd760(0x1ad))/0x8+-parseInt(_0x1fd760(0x1b1))/0x9*(-parseInt(_0x1fd760(0x1aa))/0xa);if(_0x37a23c===_0x2a74e3)break;else _0x409267['push'](_0x409267['shift']());}catch(_0x2969d8){_0x409267['push'](_0x409267['shift']());}}}(_0x10a0,0x67ea7));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x3e71(_0x3b13f7,_0x54da4f){_0x3b13f7=_0x3b13f7-0x1a9;const _0x10a0fe=_0x10a0();let _0x3e717c=_0x10a0fe[_0x3b13f7];return _0x3e717c;}function _0x10a0(){const _0x2d49bd=['2203372HKJrZW','1746657ySXvJf','log','5QjEneg','10dnhiOd','1375170FNrRiu','vLXMZ','5511688jHpQkd','off','1529WEmkHa','358ueVpNb','13219875iPFdGv','bIuEV','1259909njfWUR'];_0x10a0=function(){return _0x2d49bd;};return _0x10a0();}import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT='\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.';export async function autoPrompt(){const _0x469d7c=_0x3e71,_0x138ebb={'vLXMZ':function(_0x590401,_0x278ef3){return _0x590401===_0x278ef3;},'TDesP':function(_0x5124ce){return _0x5124ce();},'bIuEV':function(_0x5ca3bf,_0x4f2816){return _0x5ca3bf(_0x4f2816);}};if(_0x138ebb[_0x469d7c(0x1ac)](_0x138ebb['TDesP'](resolveHookMode),_0x469d7c(0x1ae)))return;const _0x45a447=await readHookInput(),_0x7a871b=_0x45a447?.['session_id'];if(!_0x7a871b)return;if(isSessionEnabled(_0x7a871b)||_0x138ebb[_0x469d7c(0x1b2)](hasSessionBeenPrompted,_0x7a871b))return;markSessionPrompted(_0x7a871b),console[_0x469d7c(0x1b6)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x5d29(_0x29adfd,_0xfc45c4){_0x29adfd=_0x29adfd-0x19f;const _0x3f5e86=_0x3f5e();let _0x5d292e=_0x3f5e86[_0x29adfd];return _0x5d292e;}(function(_0x5a1523,_0x49dd06){const _0xcdb341=_0x5d29,_0x4febb2=_0x5a1523();while(!![]){try{const _0x26ece7=parseInt(_0xcdb341(0x1a3))/0x1*(-parseInt(_0xcdb341(0x1a8))/0x2)+-parseInt(_0xcdb341(0x1a0))/0x3+-parseInt(_0xcdb341(0x1a6))/0x4+-parseInt(_0xcdb341(0x1ac))/0x5+parseInt(_0xcdb341(0x1a9))/0x6*(parseInt(_0xcdb341(0x1ab))/0x7)+-parseInt(_0xcdb341(0x1a1))/0x8+parseInt(_0xcdb341(0x1aa))/0x9*(parseInt(_0xcdb341(0x1a4))/0xa);if(_0x26ece7===_0x49dd06)break;else _0x4febb2['push'](_0x4febb2['shift']());}catch(_0x9ea7c3){_0x4febb2['push'](_0x4febb2['shift']());}}}(_0x3f5e,0xc06f6));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x3f5e(){const _0x1800c8=['7020LkDdVE','master','3026148pdrsOe','VyVSr','17642jJQiiy','6bsOIjb','54180THmkgA','2004296LTjvYv','846460CpTjGv','TTDKc','3818169hHSdup','11710840goxFaI','main','7aOeckL'];_0x3f5e=function(){return _0x1800c8;};return _0x3f5e();}import{printBlock}from'./output.js';export async function disable(_0x5eeb10){const _0x2f4a25=_0x5d29,_0xd131bf={'TTDKc':function(_0x177461,_0x2524d9){return _0x177461(_0x2524d9);},'VyVSr':function(_0x1de6ce,_0x2deafb){return _0x1de6ce!==_0x2deafb;},'vtZFS':_0x2f4a25(0x1a5)},_0x320328=_0x5eeb10||process['env']['CLAUDE_SESSION_ID']||'';_0x320328&&_0xd131bf['TTDKc'](disableSession,_0x320328);const _0x3a24b1=getCurrentBranch();_0x3a24b1&&_0x3a24b1!==_0x2f4a25(0x1a2)&&_0xd131bf[_0x2f4a25(0x1a7)](_0x3a24b1,_0x2f4a25(0x1a5))&&_0xd131bf[_0x2f4a25(0x19f)](disableBranch,_0x3a24b1),_0xd131bf['TTDKc'](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x3a24b1&&_0x3a24b1!==_0x2f4a25(0x1a2)&&_0x3a24b1!==_0xd131bf['vtZFS']?'\x20and\x20branch\x20\x27'+_0x3a24b1+'\x27':'')+'.\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`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x203ccb,_0x5e9fd5){const _0x58b752=_0x3086,_0x1691f6=_0x203ccb();while(!![]){try{const _0xf9e404=-parseInt(_0x58b752(0xe4))/0x1*(parseInt(_0x58b752(0xe5))/0x2)+parseInt(_0x58b752(0xdf))/0x3+parseInt(_0x58b752(0xe2))/0x4*(parseInt(_0x58b752(0xee))/0x5)+-parseInt(_0x58b752(0xec))/0x6*(parseInt(_0x58b752(0xdd))/0x7)+parseInt(_0x58b752(0xf2))/0x8+parseInt(_0x58b752(0xe8))/0x9+parseInt(_0x58b752(0xe0))/0xa*(-parseInt(_0x58b752(0xeb))/0xb);if(_0xf9e404===_0x5e9fd5)break;else _0x1691f6['push'](_0x1691f6['shift']());}catch(_0x1f6425){_0x1691f6['push'](_0x1691f6['shift']());}}}(_0x4fda,0xf2737));function _0x3086(_0x1328ff,_0x467908){_0x1328ff=_0x1328ff-0xdd;const _0x4fdae3=_0x4fda();let _0x308689=_0x4fdae3[_0x1328ff];return _0x308689;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x2f9804){const _0x28a5a0=_0x3086,_0x98fc1a={'xscML':function(_0x3b2b6a,_0x1bf204){return _0x3b2b6a(_0x1bf204);},'SbUPJ':'ranger\x20setup','aGMbg':_0x28a5a0(0xe3),'xKSDD':_0x28a5a0(0xf0),'UHfKU':'master','sFjwR':function(_0x1c213d){return _0x1c213d();},'RhYgt':function(_0xfb8b7c,_0x212378){return _0xfb8b7c(_0x212378);}},_0x31768a=_0x2f9804||process[_0x28a5a0(0xe6)][_0x28a5a0(0xef)]||'',_0x43546d=_0x98fc1a['xscML'](Boolean,_0x2f9804),_0x578e28=await getToken();if(!_0x578e28){const _0x3c823c=_0x43546d?'ranger\x20setup\x20--opencode':_0x98fc1a[_0x28a5a0(0xea)],_0x57c896=_0x43546d?_0x98fc1a['aGMbg']:_0x98fc1a[_0x28a5a0(0xed)];printBlock('#\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`'+_0x3c823c+_0x28a5a0(0xf1)+_0x57c896);return;}try{await update();}catch{}_0x31768a&&enableSession(_0x31768a);const _0x5a8d48=getCurrentBranch(),_0x55590f=_0x5a8d48&&_0x5a8d48!=='main'&&_0x5a8d48!==_0x98fc1a[_0x28a5a0(0xe1)]?_0x28a5a0(0xe7)+_0x5a8d48+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x8deeef=_0x98fc1a['sFjwR'](getRangerSkillContent);_0x98fc1a['RhYgt'](printBlock,_0x28a5a0(0xe9)+_0x55590f+_0x28a5a0(0xde)+_0x8deeef+'\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`.');}function _0x4fda(){const _0x41ce1f=['350xOQeuC','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','5758098HCEfHh','95110qoZNzC','UHfKU','16pghlVX','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','758691cYPPlc','2uUOdTd','env','\x0a\x0a**Branch\x20\x27','8874135kKviNE','#\x20RANGER\x20ENABLED','SbUPJ','1507XDvasT','161418weOzqg','xKSDD','663310REIiNt','CLAUDE_SESSION_ID','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','7711184bFrKgt'];_0x4fda=function(){return _0x41ce1f;};return _0x4fda();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x582734,_0x21e9b4){const _0x70c4fb=_0x5d2c,_0x3149cd=_0x582734();while(!![]){try{const _0x1aa91e=-parseInt(_0x70c4fb(0x11a))/0x1+-parseInt(_0x70c4fb(0x111))/0x2*(parseInt(_0x70c4fb(0x117))/0x3)+-parseInt(_0x70c4fb(0x116))/0x4*(-parseInt(_0x70c4fb(0x112))/0x5)+parseInt(_0x70c4fb(0x113))/0x6+-parseInt(_0x70c4fb(0x118))/0x7*(-parseInt(_0x70c4fb(0x11b))/0x8)+parseInt(_0x70c4fb(0x115))/0x9+-parseInt(_0x70c4fb(0x114))/0xa;if(_0x1aa91e===_0x21e9b4)break;else _0x3149cd['push'](_0x3149cd['shift']());}catch(_0x2289a5){_0x3149cd['push'](_0x3149cd['shift']());}}}(_0x2fd8,0x977ee));function _0x2fd8(){const _0x52c19f=['68187pyaZWG','===\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===','270512qeRWya','344zGrtpp','2CYicMn','20tTSDCw','6705972AwhBUx','25655840gEvcDc','8383230itsIAd','1065232cFAEGa','229815xpWPEX'];_0x2fd8=function(){return _0x52c19f;};return _0x2fd8();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x5d2c(_0x44e157,_0x1fe4dd){_0x44e157=_0x44e157-0x111;const _0x2fd8e4=_0x2fd8();let _0x5d2ced=_0x2fd8e4[_0x44e157];return _0x5d2ced;}export async function exitPlanMode(_0x39a14f){const _0x5c5c17=_0x5d2c,_0x17d013={'ftmrf':function(_0x56230e,_0x288277){return _0x56230e(_0x288277);}},_0x3d6d3d=await getEnabledSessionId(_0x39a14f);if(!_0x3d6d3d)return;_0x17d013['ftmrf'](printBlock,_0x5c5c17(0x119));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1bab2a,_0x1d4ede){var _0x2b65b6=_0x1369,_0x15f8ba=_0x1bab2a();while(!![]){try{var _0x56a622=parseInt(_0x2b65b6(0x141))/0x1+parseInt(_0x2b65b6(0x14a))/0x2+-parseInt(_0x2b65b6(0x143))/0x3*(-parseInt(_0x2b65b6(0x146))/0x4)+parseInt(_0x2b65b6(0x14b))/0x5*(parseInt(_0x2b65b6(0x145))/0x6)+parseInt(_0x2b65b6(0x148))/0x7*(parseInt(_0x2b65b6(0x142))/0x8)+-parseInt(_0x2b65b6(0x144))/0x9*(parseInt(_0x2b65b6(0x147))/0xa)+-parseInt(_0x2b65b6(0x149))/0xb;if(_0x56a622===_0x1d4ede)break;else _0x15f8ba['push'](_0x15f8ba['shift']());}catch(_0x409b76){_0x15f8ba['push'](_0x15f8ba['shift']());}}}(_0x1f8f,0x9d7dd));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x1369(_0x4ba10c,_0x3568c8){_0x4ba10c=_0x4ba10c-0x141;var _0x1f8f4c=_0x1f8f();var _0x136989=_0x1f8f4c[_0x4ba10c];return _0x136989;}export{preCompact}from'./preCompact.js';function _0x1f8f(){var _0xf3f9a=['36730837dSAGbZ','2229966nNelHf','3415FGZHKq','1028600IBtmQA','32rgCmoM','12UfCpwG','27brdvrQ','10950NVAzKk','750304LrMaHn','1793780DCnAdb','668542swCaiL'];_0x1f8f=function(){return _0xf3f9a;};return _0x1f8f();}export{postEdit}from'./postEdit.js';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
|
-
|
|
1
|
+
(function(_0xd04409,_0x4d8955){const _0x3f897d=_0x2362,_0x2480e0=_0xd04409();while(!![]){try{const _0x1813a6=-parseInt(_0x3f897d(0x11b))/0x1+parseInt(_0x3f897d(0x120))/0x2+parseInt(_0x3f897d(0x119))/0x3+parseInt(_0x3f897d(0x123))/0x4*(parseInt(_0x3f897d(0x11d))/0x5)+-parseInt(_0x3f897d(0x11f))/0x6*(parseInt(_0x3f897d(0x125))/0x7)+parseInt(_0x3f897d(0x11e))/0x8*(-parseInt(_0x3f897d(0x124))/0x9)+parseInt(_0x3f897d(0x121))/0xa*(parseInt(_0x3f897d(0x127))/0xb);if(_0x1813a6===_0x4d8955)break;else _0x2480e0['push'](_0x2480e0['shift']());}catch(_0x5dd460){_0x2480e0['push'](_0x2480e0['shift']());}}}(_0x553a,0x9d1eb));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x2362(_0x464d1b,_0x3299bd){_0x464d1b=_0x464d1b-0x118;const _0x553a08=_0x553a();let _0x23629a=_0x553a08[_0x464d1b];return _0x23629a;}export function printBlock(_0x35b57c){const _0xa1d24b=_0x2362;console[_0xa1d24b(0x118)](_0x35b57c);}export async function readHookInput(){const _0x39bd1a=_0x2362;let _0x470e93='';try{for await(const _0x135b9e of process[_0x39bd1a(0x11c)]){_0x470e93+=_0x135b9e;}}catch{return null;}if(!_0x470e93['trim']())return null;try{return JSON[_0x39bd1a(0x122)](_0x470e93);}catch{return null;}}export async function getEnabledSessionId(_0x4c7b0d){const _0x42aceb=_0x2362,_0x21c267={'GkyvH':function(_0x1e6a7b,_0xef09a4){return _0x1e6a7b(_0xef09a4);},'DAeSN':function(_0x3e2759){return _0x3e2759();}};if(_0x4c7b0d)return _0x21c267[_0x42aceb(0x11a)](isSessionEnabled,_0x4c7b0d)?_0x4c7b0d:null;const _0x134699=await _0x21c267['DAeSN'](readHookInput),_0x314581=_0x134699?.[_0x42aceb(0x126)];if(!_0x314581||!isSessionEnabled(_0x314581))return null;return _0x314581;}export async function getEnabledHookContext(_0x289c70){const _0x292e06=_0x2362,_0x29d32f={'hmtjE':function(_0x45c39e){return _0x45c39e();},'tdLqc':function(_0x38f268,_0x233b80){return _0x38f268(_0x233b80);}};if(_0x289c70){if(!isSessionEnabled(_0x289c70))return null;return{'sessionId':_0x289c70,'input':{'session_id':_0x289c70}};}const _0x4618e1=await _0x29d32f[_0x292e06(0x128)](readHookInput),_0x1d8477=_0x4618e1?.['session_id'];if(!_0x1d8477||!_0x29d32f['tdLqc'](isSessionEnabled,_0x1d8477))return null;return{'sessionId':_0x1d8477,'input':_0x4618e1};}function _0x553a(){const _0x4d9390=['9nZOTgb','2051xHWbDU','session_id','2467201LxtUxz','hmtjE','log','2722416VCtpcS','GkyvH','1164790gVpnjL','stdin','80RjZXZA','6456584NSIZCE','17094qvdarb','793688vWGKmY','90XDbMYk','parse','31812PbAQCk'];_0x553a=function(){return _0x4d9390;};return _0x553a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x57de1a,_0x548065){const _0x544c95=_0x18ae,_0x571098=_0x57de1a();while(!![]){try{const _0xf42a2b=parseInt(_0x544c95(0x1a3))/0x1*(-parseInt(_0x544c95(0x1a2))/0x2)+-parseInt(_0x544c95(0x199))/0x3*(-parseInt(_0x544c95(0x19c))/0x4)+-parseInt(_0x544c95(0x19e))/0x5+parseInt(_0x544c95(0x19b))/0x6*(-parseInt(_0x544c95(0x19d))/0x7)+parseInt(_0x544c95(0x19a))/0x8*(parseInt(_0x544c95(0x1a5))/0x9)+-parseInt(_0x544c95(0x1a4))/0xa*(-parseInt(_0x544c95(0x198))/0xb)+parseInt(_0x544c95(0x1a0))/0xc;if(_0xf42a2b===_0x548065)break;else _0x571098['push'](_0x571098['shift']());}catch(_0x35e832){_0x571098['push'](_0x571098['shift']());}}}(_0x5170,0x1bfa6));function _0x18ae(_0x264752,_0x523c7f){_0x264752=_0x264752-0x196;const _0x51706b=_0x5170();let _0x18ae4f=_0x51706b[_0x264752];return _0x18ae4f;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x5170(){const _0x54c6e1=['234880MguRlx','xPjIX','2764716wiFksY','poewt','14OPbwLP','3853gWLZCC','158970uDOZDk','1107QVgJdG','input','permission_mode','77wKWroW','318gbgGRF','3968MzOptM','6RfUfbK','332ThUJJb','1560531ayYzZT'];_0x5170=function(){return _0x54c6e1;};return _0x5170();}export async function planReminder(_0x4ebe14){const _0x55cec7=_0x18ae,_0x2595ab={'poewt':function(_0x65c90a,_0x10fa00){return _0x65c90a!==_0x10fa00;},'xPjIX':function(_0x2b4e83,_0x14778a){return _0x2b4e83(_0x14778a);}},_0x39cddd=await getEnabledHookContext(_0x4ebe14);if(!_0x39cddd)return;if(_0x2595ab[_0x55cec7(0x1a1)](_0x39cddd[_0x55cec7(0x196)][_0x55cec7(0x197)],'plan'))return;if(!_0x2595ab['xPjIX'](shouldShowPlanReminder,_0x39cddd['sessionId']))return;_0x2595ab[_0x55cec7(0x19f)](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 _0x23c1(){const _0x337fb8=['1608756FQfAbm','4frxwjR','5235232DDpOrl','61BOdiPo','3252276ACVPbb','3607597DXyGMN','10uMpTND','13106PgsFyz','2260060HjrwEv','1549080EWaVpq'];_0x23c1=function(){return _0x337fb8;};return _0x23c1();}function _0x4ce3(_0x4b5471,_0x5dd0b6){_0x4b5471=_0x4b5471-0x19f;const _0x23c13c=_0x23c1();let _0x4ce382=_0x23c13c[_0x4b5471];return _0x4ce382;}(function(_0x16a2f7,_0x359bfb){const _0x45d74f=_0x4ce3,_0x368617=_0x16a2f7();while(!![]){try{const _0x5e7443=-parseInt(_0x45d74f(0x1a0))/0x1*(parseInt(_0x45d74f(0x1a4))/0x2)+-parseInt(_0x45d74f(0x1a7))/0x3*(-parseInt(_0x45d74f(0x1a8))/0x4)+parseInt(_0x45d74f(0x1a5))/0x5+parseInt(_0x45d74f(0x1a6))/0x6+parseInt(_0x45d74f(0x1a2))/0x7+-parseInt(_0x45d74f(0x19f))/0x8+parseInt(_0x45d74f(0x1a1))/0x9*(-parseInt(_0x45d74f(0x1a3))/0xa);if(_0x5e7443===_0x359bfb)break;else _0x368617['push'](_0x368617['shift']());}catch(_0x3a1bec){_0x368617['push'](_0x368617['shift']());}}}(_0x23c1,0x548ca));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x16aaa){const _0x5df76f={'ublHy':function(_0x45f9d1,_0x33f433){return _0x45f9d1(_0x33f433);}},_0x25c94b=await _0x5df76f['ublHy'](getEnabledSessionId,_0x16aaa);if(!_0x25c94b)return;printBlock('===\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===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x4c71(){const _0xd090e5=['3809345utCjMk','3777137nGEWRP','4469144VxFPBb','PostToolUse','1zzaiOd','13089UpkuYm','mxllU','22924286xapYew','5501280TxKCmG','248VyRNaP','stringify','6cXbOVT','9toksZr','eDZfY','711202HGcFiz'];_0x4c71=function(){return _0xd090e5;};return _0x4c71();}(function(_0x3f67e4,_0x44594c){const _0x492696=_0x2e3a,_0x51602a=_0x3f67e4();while(!![]){try{const _0x138405=parseInt(_0x492696(0x1ef))/0x1*(parseInt(_0x492696(0x1ea))/0x2)+parseInt(_0x492696(0x1f0))/0x3*(-parseInt(_0x492696(0x1f4))/0x4)+parseInt(_0x492696(0x1eb))/0x5+-parseInt(_0x492696(0x1e7))/0x6*(-parseInt(_0x492696(0x1ec))/0x7)+parseInt(_0x492696(0x1ed))/0x8*(parseInt(_0x492696(0x1e8))/0x9)+parseInt(_0x492696(0x1f3))/0xa+-parseInt(_0x492696(0x1f2))/0xb;if(_0x138405===_0x44594c)break;else _0x51602a['push'](_0x51602a['shift']());}catch(_0x193017){_0x51602a['push'](_0x51602a['shift']());}}}(_0x4c71,0x646a4));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x2e3a(_0x7a3b24,_0x583d90){_0x7a3b24=_0x7a3b24-0x1e7;const _0x4c7128=_0x4c71();let _0x2e3a1c=_0x4c7128[_0x7a3b24];return _0x2e3a1c;}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x5583c2){const _0x820c0b=_0x2e3a,_0x580beb={'eDZfY':function(_0x4ab933,_0x13d7c7){return _0x4ab933(_0x13d7c7);},'zWTlY':function(_0x3145c5,_0x3a717c){return _0x3145c5(_0x3a717c);},'mxllU':_0x820c0b(0x1ee)},_0x3df9b5=await getEnabledSessionId(_0x5583c2);if(!_0x3df9b5)return;_0x580beb[_0x820c0b(0x1e9)](updateBranchTracking,_0x3df9b5);const _0x1c23b5=await getToken();if(!_0x1c23b5)return;const _0x44008c=_0x580beb['zWTlY'](getSessionEntry,_0x3df9b5);if(_0x44008c){const _0xb130aa={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'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).'}};console['log'](JSON[_0x820c0b(0x1f5)](_0xb130aa));return;}const _0x5abf72={'hookSpecificOutput':{'hookEventName':_0x580beb[_0x820c0b(0x1f1)],'additionalContext':'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.'}};console['log'](JSON[_0x820c0b(0x1f5)](_0x5abf72));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x20aa(){const _0x511f65=['383816BEJUrL','7BSsbip','801390dOSMFq','164094WrrRFf','23561aiTRJe','593380QBAKSf','76113MuwGIc','8ycvmKF','===\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`.','42970ZChxCw','1386bIlPAM','8IsHVpz'];_0x20aa=function(){return _0x511f65;};return _0x20aa();}function _0x494b(_0x3642c9,_0x251d2c){_0x3642c9=_0x3642c9-0x1ec;const _0x20aa72=_0x20aa();let _0x494bc3=_0x20aa72[_0x3642c9];return _0x494bc3;}(function(_0xcc86e0,_0x3ffad1){const _0x65c39e=_0x494b,_0x1f1460=_0xcc86e0();while(!![]){try{const _0x3deed9=parseInt(_0x65c39e(0x1ee))/0x1+-parseInt(_0x65c39e(0x1f6))/0x2+-parseInt(_0x65c39e(0x1ed))/0x3+-parseInt(_0x65c39e(0x1f5))/0x4*(parseInt(_0x65c39e(0x1ef))/0x5)+parseInt(_0x65c39e(0x1ec))/0x6*(parseInt(_0x65c39e(0x1f7))/0x7)+parseInt(_0x65c39e(0x1f1))/0x8*(-parseInt(_0x65c39e(0x1f0))/0x9)+parseInt(_0x65c39e(0x1f3))/0xa*(parseInt(_0x65c39e(0x1f4))/0xb);if(_0x3deed9===_0x3ffad1)break;else _0x1f1460['push'](_0x1f1460['shift']());}catch(_0x57f5fb){_0x1f1460['push'](_0x1f1460['shift']());}}}(_0x20aa,0x32535));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x530389){const _0x2c1ba2=_0x494b,_0x2d33a3={'oVeJD':function(_0x5d5ca3,_0x418e96){return _0x5d5ca3(_0x418e96);},'RjINa':function(_0x82142e){return _0x82142e();}},_0x374fb9=await _0x2d33a3['oVeJD'](getEnabledSessionId,_0x530389);if(!_0x374fb9)return;try{const _0x402970=await _0x2d33a3['RjINa'](getToken);if(!_0x402970)return;printBlock(_0x2c1ba2(0x1f2));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x71cbc0,_0x469e19){const _0x2aa1c1=_0x2f63,_0x2aeb26=_0x71cbc0();while(!![]){try{const _0x54f90e=-parseInt(_0x2aa1c1(0x193))/0x1*(-parseInt(_0x2aa1c1(0x192))/0x2)+-parseInt(_0x2aa1c1(0x191))/0x3+parseInt(_0x2aa1c1(0x19b))/0x4*(-parseInt(_0x2aa1c1(0x199))/0x5)+-parseInt(_0x2aa1c1(0x198))/0x6+-parseInt(_0x2aa1c1(0x197))/0x7*(-parseInt(_0x2aa1c1(0x19a))/0x8)+-parseInt(_0x2aa1c1(0x195))/0x9+parseInt(_0x2aa1c1(0x194))/0xa;if(_0x54f90e===_0x469e19)break;else _0x2aeb26['push'](_0x2aeb26['shift']());}catch(_0x9fec78){_0x2aeb26['push'](_0x2aeb26['shift']());}}}(_0x2881,0x1b535));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x2f63(_0x5639a9,_0x32dd26){_0x5639a9=_0x5639a9-0x191;const _0x2881e8=_0x2881();let _0x2f63ff=_0x2881e8[_0x5639a9];return _0x2f63ff;}function _0x2881(){const _0x4bf1d0=['1171374pQXXxj','321485YGmkMm','1000YUunwi','4CXdXCf','BnbCH','77946IMcZMx','159604eznDYg','1QJDNhV','2319070uTwTqW','813609OTBnWK','hOgwZ','9863dXDLxE'];_0x2881=function(){return _0x4bf1d0;};return _0x2881();}export async function sessionEnd(_0x2bba63){const _0x4f05f5=_0x2f63,_0x47969a={'BnbCH':function(_0x48be7a){return _0x48be7a();},'wgVzx':function(_0x18545d,_0x13cc19){return _0x18545d===_0x13cc19;},'hOgwZ':'clear'},_0x199777=process['env']['CLAUDE_SESSION_ID'];let _0xacb3fc=_0x2bba63,_0x488c7c;if(!_0x2bba63){if(_0x199777&&!isSessionEnabled(_0x199777))return;const _0x5af9b1=await _0x47969a[_0x4f05f5(0x19c)](readHookInput);_0xacb3fc=_0x5af9b1?.['session_id']||_0x199777,_0x488c7c=_0x5af9b1?.['reason'];}if(!_0xacb3fc)return;_0x47969a['wgVzx'](_0x488c7c,_0x47969a[_0x4f05f5(0x196)])&&recordEnabledSessionCleared(_0xacb3fc);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x574426=_0x1817;(function(_0x1e4dd3,_0x435a96){const _0x5331e4=_0x1817,_0x28f50b=_0x1e4dd3();while(!![]){try{const _0x3e7085=parseInt(_0x5331e4(0x159))/0x1*(-parseInt(_0x5331e4(0x16a))/0x2)+parseInt(_0x5331e4(0x165))/0x3+-parseInt(_0x5331e4(0x15f))/0x4*(-parseInt(_0x5331e4(0x160))/0x5)+parseInt(_0x5331e4(0x15e))/0x6+-parseInt(_0x5331e4(0x16d))/0x7*(-parseInt(_0x5331e4(0x158))/0x8)+-parseInt(_0x5331e4(0x161))/0x9+-parseInt(_0x5331e4(0x167))/0xa;if(_0x3e7085===_0x435a96)break;else _0x28f50b['push'](_0x28f50b['shift']());}catch(_0x5a6118){_0x28f50b['push'](_0x28f50b['shift']());}}}(_0x3a22,0xee06b));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x3a22(){const _0x4dbab0=['37NGTTCo','lECRj','oomKI','master','main','7851732YBFCGA','8196TWtXmN','2590NLmStK','3024927DyPrEq','export\x20CLAUDE_SESSION_ID=\x22','CLAUDE_ENV_FILE','stdin','2484054BhwOjk','=================================================================\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=================================================================','30881470EgEpPL','trackCommandStart','\x20(Branch:\x20','13620MexKoB','session_id','SessionStart','7MeYMoN','JnWAD','QZhZh','hook:session-start','krHHn','source','11625224JyrvmQ'];_0x3a22=function(){return _0x4dbab0;};return _0x3a22();}import{createTelemetryCollector}from'../utils/telemetry.js';function _0x1817(_0x5c19ac,_0x5b6b79){_0x5c19ac=_0x5c19ac-0x158;const _0x3a22ef=_0x3a22();let _0x181759=_0x3a22ef[_0x5c19ac];return _0x181759;}import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT=_0x574426(0x166);export async function sessionStart(_0x2a0fbc){const _0x3c863f=_0x574426,_0x501469={'KIlmi':function(_0x2cc44d,_0x2310c4){return _0x2cc44d||_0x2310c4;},'NGbeC':function(_0x43f754,_0x243928){return _0x43f754&&_0x243928;},'JnWAD':function(_0x580a3e,_0x3da95c,_0x34c027){return _0x580a3e(_0x3da95c,_0x34c027);},'LboFc':function(_0x1eee85){return _0x1eee85();},'QZhZh':function(_0x3c128f,_0x217935){return _0x3c128f(_0x217935);},'krHHn':function(_0x57466f,_0x45822d){return _0x57466f(_0x45822d);},'lECRj':function(_0x236a08,_0x6442bb){return _0x236a08!==_0x6442bb;},'TVoIk':_0x3c863f(0x15d),'oomKI':_0x3c863f(0x15c),'qBosE':function(_0x232c17,_0x304e0c){return _0x232c17+_0x304e0c;}};let _0x300b7c=_0x501469['KIlmi'](_0x2a0fbc,''),_0x3f9873;if(!_0x2a0fbc){let _0x416b48='';for await(const _0x4a76a1 of process[_0x3c863f(0x164)]){_0x416b48+=_0x4a76a1;}try{const _0x85a13f=JSON['parse'](_0x416b48);_0x300b7c=_0x85a13f[_0x3c863f(0x16b)]||'',_0x3f9873=_0x85a13f[_0x3c863f(0x172)];}catch{}const _0x54cef8=process['env'][_0x3c863f(0x163)];if(_0x501469['NGbeC'](_0x54cef8,_0x300b7c))try{await _0x501469[_0x3c863f(0x16e)](appendFile,_0x54cef8,_0x3c863f(0x162)+_0x300b7c+'\x22\x0a');}catch{}}try{await _0x501469['LboFc'](getToken);}catch{}if(_0x300b7c){_0x501469[_0x3c863f(0x16f)](shouldAutoEnableAfterClear,_0x3f9873)&&_0x501469[_0x3c863f(0x171)](autoEnableAfterClear,_0x300b7c);initBranchTracking(_0x300b7c);_0x501469['LboFc'](resolveHookMode)==='on'&&enableSession(_0x300b7c);const _0x39805f=_0x501469['QZhZh'](isSessionEnabled,_0x300b7c);try{const _0xcfc7fb=_0x501469[_0x3c863f(0x171)](createTelemetryCollector,_0x3c863f(0x170));await _0xcfc7fb[_0x3c863f(0x168)]({'sessionId':_0x300b7c,'hooksEnabled':_0x39805f}),await _0xcfc7fb['trackCommandEnd']('success');}catch{}if(_0x39805f){const _0xb955eb=getCurrentBranch(),_0x492925=_0xb955eb&&_0x501469[_0x3c863f(0x15a)](_0xb955eb,_0x501469['TVoIk'])&&_0xb955eb!==_0x501469[_0x3c863f(0x15b)]?_0x3c863f(0x169)+_0xb955eb+')':'',_0x41e254={'hookSpecificOutput':{'hookEventName':_0x3c863f(0x16c),'additionalContext':_0x501469['qBosE'](RANGER_AUTO_ENABLED_PROMPT,_0x492925)}};console['log'](JSON['stringify'](_0x41e254));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x232d4a,_0xb164cc){const _0x304b6b=_0x4cb0,_0x467110=_0x232d4a();while(!![]){try{const _0x221f7a=-parseInt(_0x304b6b(0x187))/0x1+parseInt(_0x304b6b(0x171))/0x2+parseInt(_0x304b6b(0x177))/0x3*(-parseInt(_0x304b6b(0x170))/0x4)+parseInt(_0x304b6b(0x185))/0x5+-parseInt(_0x304b6b(0x184))/0x6+parseInt(_0x304b6b(0x186))/0x7*(parseInt(_0x304b6b(0x17c))/0x8)+-parseInt(_0x304b6b(0x17b))/0x9*(-parseInt(_0x304b6b(0x175))/0xa);if(_0x221f7a===_0xb164cc)break;else _0x467110['push'](_0x467110['shift']());}catch(_0x1bc656){_0x467110['push'](_0x467110['shift']());}}}(_0x15c9,0xd169d));function _0x15c9(){const _0x385809=['xmIuL','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','5936aZjYvz','7308puxkbK','featureId','hook:stop','currentSessionId','1580reUNQr','status','1227eEDKjX','some','blocked','VdYpq','96462LDXWoB','8HgQAxA','Stop','closed','checklistItems','success','trackCommandStart','rrfbm','verification_in_progress','9621834NFGwMz','1903210dTcjfJ','10271618NisKzg','476762dLvVyW'];_0x15c9=function(){return _0x385809;};return _0x15c9();}function _0x4cb0(_0x5ba307,_0xe76556){_0x5ba307=_0x5ba307-0x16f;const _0x15c9c9=_0x15c9();let _0x4cb020=_0x15c9c9[_0x5ba307];return _0x4cb020;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x582c8b){const _0x1626ad=_0x4cb0,_0x113df0={'rrfbm':function(_0x156494,_0x2cdcd1){return _0x156494(_0x2cdcd1);},'aBorU':function(_0x2dffe7,_0x2b0b24){return _0x2dffe7(_0x2b0b24);},'MMldE':function(_0x24486e,_0xd0968,_0x118597,_0x1bb6c2){return _0x24486e(_0xd0968,_0x118597,_0x1bb6c2);},'VdYpq':function(_0x2ed9b7,_0x44ca7d){return _0x2ed9b7&&_0x44ca7d;},'CPviC':function(_0x32859e,_0x1330cf,_0x4194b7,_0x3eeab4){return _0x32859e(_0x1330cf,_0x4194b7,_0x3eeab4);}},_0x2a6863=await _0x113df0[_0x1626ad(0x182)](getEnabledHookContext,_0x582c8b),_0x275a4a=_0x2a6863?.['sessionId']??null;let _0x51a039=!![];if(!_0x275a4a){await trackStop(_0x275a4a,![],_0x51a039);return;}try{const _0x935ec2=_0x113df0['aBorU'](getSessionEntry,_0x275a4a);if(!_0x935ec2){await _0x113df0['MMldE'](trackStop,_0x275a4a,!![],_0x51a039);return;}const _0x6e0a1f=await getToken(),_0x4be175='https://dashboard.ranger.net/features/'+_0x935ec2['featureId'];let _0x388ffd=null,_0x43deda=![],_0x2e744d=![];if(_0x6e0a1f)try{const _0x363ed9=await getFeature(_0x935ec2['featureId']);_0x388ffd=_0x363ed9[_0x1626ad(0x174)]??null;const _0x43da26=_0x363ed9[_0x1626ad(0x17f)]['filter'](_0x272614=>_0x272614['sessionId']===_0x388ffd);_0x43deda=_0x43da26[_0x1626ad(0x178)](_0x2c585f=>_0x2c585f['status']!=='verified'&&_0x2c585f['status']!==_0x1626ad(0x179)&&_0x2c585f['status']!==_0x1626ad(0x17e)&&_0x2c585f[_0x1626ad(0x176)]!=='incomplete'),_0x2e744d=_0x43da26['some'](_0x1353db=>_0x1353db['status']===_0x1626ad(0x183));}catch{}if(_0x113df0[_0x1626ad(0x17a)](_0x6e0a1f,_0x388ffd)&&_0x43deda){if(!_0x2e744d&&shouldShowStopReminder(_0x275a4a)){const _0x505dc0={'hookSpecificOutput':{'hookEventName':_0x1626ad(0x17d),'additionalContext':_0x1626ad(0x16f)+_0x4be175}};console['log'](JSON['stringify'](_0x505dc0));}}if(_0x6e0a1f&&_0x388ffd&&!_0x43deda)try{await concludeSession(_0x935ec2[_0x1626ad(0x172)],_0x388ffd);}catch{}await _0x113df0['MMldE'](trackStop,_0x275a4a,!![],_0x51a039);return;}catch{await _0x113df0['CPviC'](trackStop,_0x275a4a,!![],_0x51a039);return;}}async function trackStop(_0x32222d,_0x24482c,_0x3cd900){const _0x2c4bfb=_0x4cb0,_0x8c387f={'ZNuhA':_0x2c4bfb(0x173),'xmIuL':_0x2c4bfb(0x180)};try{const _0x18c74e=createTelemetryCollector(_0x8c387f['ZNuhA']);await _0x18c74e[_0x2c4bfb(0x181)]({'sessionId':_0x32222d??undefined,'hooksEnabled':_0x24482c,'stopAllowed':_0x3cd900}),await _0x18c74e['trackCommandEnd'](_0x8c387f[_0x2c4bfb(0x188)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2df2c8,_0xaa8fbc){var _0x453a23=_0x5159,_0x5cb6fa=_0x2df2c8();while(!![]){try{var _0x4e7fa9=parseInt(_0x453a23(0xab))/0x1*(-parseInt(_0x453a23(0xac))/0x2)+-parseInt(_0x453a23(0xa6))/0x3+-parseInt(_0x453a23(0xa9))/0x4+-parseInt(_0x453a23(0xa8))/0x5+-parseInt(_0x453a23(0xa4))/0x6+-parseInt(_0x453a23(0xaa))/0x7+parseInt(_0x453a23(0xa5))/0x8*(parseInt(_0x453a23(0xa7))/0x9);if(_0x4e7fa9===_0xaa8fbc)break;else _0x5cb6fa['push'](_0x5cb6fa['shift']());}catch(_0x3dfbdf){_0x5cb6fa['push'](_0x5cb6fa['shift']());}}}(_0x508d,0x8a792));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';export{skillup}from'./skillup.js';function _0x5159(_0x2d70ea,_0x3fad40){_0x2d70ea=_0x2d70ea-0xa4;var _0x508da0=_0x508d();var _0x5159cd=_0x508da0[_0x2d70ea];return _0x5159cd;}export{envList}from'./env.js';function _0x508d(){var _0x7ffadb=['9CcLkKr','28725rQjoyM','3186616AouKgD','3922030ckpFtl','411RmRwRU','3250aXeFcm','5328384fVfzeQ','29440744unxHBU','582837ipJbaW'];_0x508d=function(){return _0x7ffadb;};return _0x508d();}export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|