@ranger-testing/ranger-cli 2.2.1 → 2.2.2
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/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/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/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudePlugin.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/featureReportGenerator.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/git.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/reportGenerator.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/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/package.json +1 -1
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x16cf(_0x51a5b9,_0x5b9e90){_0x51a5b9=_0x51a5b9-0x117;const _0x54d003=_0x54d0();let _0x16cf50=_0x54d003[_0x51a5b9];return _0x16cf50;}const _0x230aef=_0x16cf;(function(_0x15c9c5,_0x35d7d7){const _0x3971a4=_0x16cf,_0x3308cd=_0x15c9c5();while(!![]){try{const _0x42f98a=parseInt(_0x3971a4(0x130))/0x1*(-parseInt(_0x3971a4(0x12f))/0x2)+-parseInt(_0x3971a4(0x139))/0x3*(parseInt(_0x3971a4(0x134))/0x4)+-parseInt(_0x3971a4(0x132))/0x5*(-parseInt(_0x3971a4(0x12b))/0x6)+parseInt(_0x3971a4(0x127))/0x7+-parseInt(_0x3971a4(0x137))/0x8*(-parseInt(_0x3971a4(0x124))/0x9)+parseInt(_0x3971a4(0x118))/0xa*(-parseInt(_0x3971a4(0x135))/0xb)+parseInt(_0x3971a4(0x133))/0xc*(parseInt(_0x3971a4(0x126))/0xd);if(_0x42f98a===_0x35d7d7)break;else _0x3308cd['push'](_0x3308cd['shift']());}catch(_0x2a79ce){_0x3308cd['push'](_0x3308cd['shift']());}}}(_0x54d0,0xa12c6));import{readdir,stat}from'fs/promises';function _0x54d0(){const _0x39b729=['sort','54DnuhAe','push','18721378vcYOYK','2745995rBhLmU','jfJFd','lIHKO','\x20\x20\x20\x20\x20\x20URL:\x20','4335342zwNQmH','.txt','includes','\x0a*\x20=\x20active\x20profile','1062452PkfcXr','2XuJJTu','log','5ueZoRk','12kvokyR','1708xuzlLc','3487qoQJjA','ohQTa','602896MDYsYv','RXXWS','4548HaSvTd','isDirectory','Run:\x20ranger\x20profile\x20add\x20<profile-name>','startsWith','idLTS','20100tNGayw','bug-bashes','TWeDv','environmentDetails','local','reports','MfGqj','SXBCJ','baseUrl','sessions','settings.json'];_0x54d0=function(){return _0x39b729;};return _0x54d0();}import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=[_0x230aef(0x121),_0x230aef(0x119),_0x230aef(0x11d),_0x230aef(0x11c),'ci'];export async function getEnvNames(){const _0x3361d3=_0x230aef,_0x54c7f6={'lIHKO':function(_0x4a5415){return _0x4a5415();},'wvyRz':function(_0x580b4e,_0x214723){return _0x580b4e(_0x214723);},'RXXWS':_0x3361d3(0x11c),'OCIHz':function(_0x3b8b45,_0x22432c){return _0x3b8b45(_0x22432c);},'ytGmg':function(_0x347a63,_0x33f6aa,_0x22033e){return _0x347a63(_0x33f6aa,_0x22033e);},'ohQTa':function(_0x5ea19b,_0x45d1af){return _0x5ea19b(_0x45d1af);},'TWeDv':function(_0x5d2f1d,_0x5cad0a,_0x2263f9){return _0x5d2f1d(_0x5cad0a,_0x2263f9);},'xdmps':function(_0x4efc80,_0x96f609){return _0x4efc80(_0x96f609);},'EbXvz':_0x3361d3(0x122),'RuBoA':'legacy'},_0x291e50=_0x54c7f6[_0x3361d3(0x129)](getRangerDir);if(!_0x54c7f6['wvyRz'](existsSync,_0x291e50))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x43448b=await readActiveProfileName(),_0x54e79d=[],_0x476f79={},_0x530bd7=join(_0x291e50,_0x54c7f6[_0x3361d3(0x138)]);if(_0x54c7f6['OCIHz'](existsSync,_0x530bd7)){const _0x5e81e4=await readdir(_0x530bd7);for(const _0x3d2bee of _0x5e81e4){const _0x7c10a5=join(_0x530bd7,_0x3d2bee),_0x452843=await stat(_0x7c10a5);_0x452843[_0x3361d3(0x13a)]()&&(_0x54e79d[_0x3361d3(0x125)](_0x3d2bee),_0x476f79[_0x3d2bee]='local');}}const _0x4c3317=_0x54c7f6['ytGmg'](join,_0x291e50,'ci');if(_0x54c7f6[_0x3361d3(0x136)](existsSync,_0x4c3317)){const _0x4ed5b6=await readdir(_0x4c3317);for(const _0x47c133 of _0x4ed5b6){const _0x2bfe64=_0x54c7f6[_0x3361d3(0x11a)](join,_0x4c3317,_0x47c133),_0x239464=await stat(_0x2bfe64);_0x239464[_0x3361d3(0x13a)]()&&(_0x54e79d[_0x3361d3(0x125)](_0x47c133),_0x476f79[_0x47c133]='ci');}}const _0x5a1969=await readdir(_0x291e50);for(const _0x26ddbc of _0x5a1969){if(NON_ENV_DIRS[_0x3361d3(0x12d)](_0x26ddbc))continue;if(_0x26ddbc[_0x3361d3(0x13c)]('.'))continue;if(_0x26ddbc['endsWith'](_0x3361d3(0x12c)))continue;const _0x31f987=join(_0x291e50,_0x26ddbc),_0x35314f=await stat(_0x31f987);_0x35314f[_0x3361d3(0x13a)]()&&_0x54c7f6['xdmps'](existsSync,join(_0x31f987,_0x54c7f6['EbXvz']))&&(!_0x54e79d['includes'](_0x26ddbc)&&(_0x54e79d[_0x3361d3(0x125)](_0x26ddbc),_0x476f79[_0x26ddbc]=_0x54c7f6['RuBoA']));}return{'envNames':_0x54e79d,'activeEnv':_0x43448b,'envTypes':_0x476f79};}export async function envList(){const _0x2981ba=_0x230aef,_0x2094bf={'MfGqj':function(_0x5c6475){return _0x5c6475();},'pOMvg':'\x0aNo\x20profiles\x20found.','idLTS':_0x2981ba(0x11c),'dMTpQ':function(_0x193149,_0x107bb5){return _0x193149(_0x107bb5);},'jfJFd':function(_0xb43733,_0x4c88cc){return _0xb43733===_0x4c88cc;},'SXBCJ':'legacy'},{envNames:_0x27aeb3,activeEnv:_0x244c77,envTypes:_0x78c5b3}=await _0x2094bf[_0x2981ba(0x11e)](getEnvNames);if(_0x27aeb3['length']===0x0){console['log'](_0x2094bf['pOMvg']),console['log'](_0x2981ba(0x13b));return;}console['log']('\x0aProfiles:');for(const _0xb8b05a of _0x27aeb3[_0x2981ba(0x123)]()){const _0x37b4f9=_0xb8b05a===_0x244c77,_0x4116d5=_0x78c5b3[_0xb8b05a]||_0x2094bf[_0x2981ba(0x117)],_0x16b89e=await _0x2094bf['dMTpQ'](loadSettings,_0xb8b05a),_0x17fb99=_0x2094bf[_0x2981ba(0x128)](_0x4116d5,_0x2094bf[_0x2981ba(0x11f)])?'':'\x20['+_0x4116d5+']';console['log']('\x20\x20'+(_0x37b4f9?'*\x20':'\x20\x20')+_0xb8b05a+_0x17fb99),_0x16b89e['baseUrl']&&console[_0x2981ba(0x131)](_0x2981ba(0x12a)+_0x16b89e[_0x2981ba(0x120)]),_0x16b89e[_0x2981ba(0x11b)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x16b89e['environmentDetails']);}_0x244c77&&console[_0x2981ba(0x131)](_0x2981ba(0x12e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2b49e1=_0x8f54;(function(_0x9822cb,_0x400d3f){const _0x133e67=_0x8f54,_0x5ae146=_0x9822cb();while(!![]){try{const _0x27add4=-parseInt(_0x133e67(0x1c0))/0x1+-parseInt(_0x133e67(0x1d5))/0x2*(-parseInt(_0x133e67(0x15d))/0x3)+parseInt(_0x133e67(0x112))/0x4*(parseInt(_0x133e67(0x1f3))/0x5)+-parseInt(_0x133e67(0x13e))/0x6+parseInt(_0x133e67(0x171))/0x7*(parseInt(_0x133e67(0x1d1))/0x8)+-parseInt(_0x133e67(0x193))/0x9*(parseInt(_0x133e67(0x1dd))/0xa)+parseInt(_0x133e67(0x14b))/0xb*(parseInt(_0x133e67(0x19c))/0xc);if(_0x27add4===_0x400d3f)break;else _0x5ae146['push'](_0x5ae146['shift']());}catch(_0x3ae326){_0x5ae146['push'](_0x5ae146['shift']());}}}(_0x9fb5,0xcf35a));function _0x9fb5(){const _0x1b60cd=['cUBiy','includeDeleted','OTDgX','XlEcx','tkdLd','22808ZanrbV','status','rwVAH','limit','12538oNvzOd','CpPBW','\x0a✅\x20Session\x20','name','naRbs','map','\x20\x20\x20\x20\x20Branch:\x20','\x20\x20\x20Progress:\x20','3940gHTNql','blockedItems','tLNkH','incompleteReason','split','.\x20Feature\x20review\x20has\x20','LFRpC','notes','round','zTrNe','screenshotUrls','from','lzDRq','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','gOtVy','excludeScenarios','currentSessionId','\x0a❌\x20Invalid\x20scenario\x20index:\x20','replace','Showing\x20','kDUIT','3109135KJaaGJ','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','nUyfd','mMPGL','4eRwaco','TZBrV','numeric','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','totalCount','push','assetUrl','sCkSN','\x20\x20\x20Description:\x20','approved','reports','fpsks','after','TBqyP','scenario','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20▶️\x20Started\x20session\x20','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','assetType','timing','\x20of\x20','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','hCrPR','XVBSk','Jyqyh','type','authorEmail','syImV','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x0a✅\x20Restored\x20feature\x20review:\x20','log','BFlHT','offset','get','\x1b[1m','screenshot','coordinates','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x20—\x20no\x20comments','position','emfNM','IxhzC','\x20\x20Expected\x20flow:','8914218FKPxze','wjPav','slice','selected','iqTKZ','items','submittedAt','eaoRx','pCvWB','in_progress','\x20—\x20','any','gitBranch','22640233eeGKmK','\x20in\x20progress','stats','EhRTP','UADwk','\x0aAvailable\x20scenarios:','hsPhA','CWNaY','write','filter','warn','/api/v1/mcp/browser-sessions/','fMCVB','zVuff','KQTnm','RIKAY','\x20\x20\x20Branch:\x20','JLEUu','267ABflqt','Unknown','completedAt','nVDKS','createdAt','iDTKH','qczAb','stdin','verifiedItems','muHdU','JeRVb','OVehD','canceledReason','AKpVq','length','\x20--include-deleted','domRef','trimEnd','epvVw','latestReview','1890yhCdDh','CLAUDE_SESSION_ID','eMkgF','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','list','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','VVFpP','short','xOFmN','gUHIf','description','\x20\x20\x20ID:\x20','bukNn','wrswa','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x20\x20\x20\x20','pipe','find','canonicalFlow','hvWVb','location','\x20incomplete','prompt','lyJRK','isTTY','cMGVa','isInteger','utf-8','toFixed','sjoUc','toxAY','ZAKya','exQIZ','gInXv','18117BSiffb',':\x20\x22','BMBRG','\x20feature\x20review(s)\x20found','SkQXo','unaddressedComments','closed','mayWm','pop','12GnmSSl','NEKxz','toLocaleString','textContent','pRJyR','currentBranch','join','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','cnzkr','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','selector','trim','en-US','DXabf','ONDNm','dDYqa','blockedReason','exit','pendingItems','verification_in_progress','tnAnC','terminalReason','spatial','error','qQkZd','checklistItems','QKyex','completed','Scenario\x20','No\x20scenarios\x20found.','stdout','browserSessionId','GyxSv','dashboardUrl','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x0a\x20\x20\x20Scenarios:','880186BpoJbI','uCYcs','agentResponse','style','linkedSession','\x20\x20\x20Status:\x20','ZytxV','\x20\x20✅\x20No\x20feedback\x20to\x20address','version','repeat','\x20/\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('];_0x9fb5=function(){return _0x1b60cd;};return _0x9fb5();}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x189e33 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x559708=>_0x2b49e1(0x134)+_0x559708+'\x1b[0m';function getGitRepoUrl(){const _0x5086e6=_0x2b49e1,_0x1325bf={'JeRVb':function(_0x5e47ac,_0x3012a7,_0x401726){return _0x5e47ac(_0x3012a7,_0x401726);},'wrswa':'git\x20remote\x20get-url\x20origin','JLEUu':_0x5086e6(0x18c),'USpCq':_0x5086e6(0x181),'XVBSk':'github.com/'};try{const _0x10b2d4=_0x1325bf[_0x5086e6(0x167)](execSync,_0x1325bf[_0x5086e6(0x17e)],{'encoding':_0x1325bf[_0x5086e6(0x15c)],'stdio':['pipe',_0x5086e6(0x181),_0x1325bf['USpCq']]})['trim']();return _0x10b2d4['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x1325bf[_0x5086e6(0x129)])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x379260=_0x2b49e1,_0x4fb095={'exQIZ':function(_0xa621b8,_0x21fa2a,_0x2f65e7){return _0xa621b8(_0x21fa2a,_0x2f65e7);},'sCkSN':'utf-8','TBqyP':_0x379260(0x181)};try{return _0x4fb095[_0x379260(0x191)](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x4fb095[_0x379260(0x119)],'stdio':[_0x379260(0x181),_0x4fb095[_0x379260(0x11f)],'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3c939e=_0x2b49e1,_0x2eb13b={'WEgwf':function(_0x56c955,_0x1a8a18,_0x45effe){return _0x56c955(_0x1a8a18,_0x45effe);},'zVuff':function(_0x34ae60){return _0x34ae60();},'sjoUc':function(_0x3e748c,_0x357a58){return _0x3e748c(_0x357a58);},'cnzkr':'utf-8'},_0x422ab2=_0x2eb13b['WEgwf'](join,_0x2eb13b[_0x3c939e(0x158)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x2eb13b[_0x3c939e(0x18e)](existsSync,_0x422ab2))return null;try{const _0x33bb08=await readFile(_0x422ab2,_0x2eb13b[_0x3c939e(0x1a4)]);return _0x33bb08[_0x3c939e(0x1a7)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x54aaa9){const _0x57f3c9=_0x2b49e1,_0x475811={'naRbs':function(_0x97a2fd){return _0x97a2fd();},'SkQXo':_0x57f3c9(0x18c)},_0x540507=_0x475811[_0x57f3c9(0x1d9)](getRangerDir),_0x1c8eab=join(_0x540507,ACTIVE_FEATURE_FILE);!existsSync(_0x540507)&&await mkdir(_0x540507,{'recursive':!![]}),await writeFile(_0x1c8eab,_0x54aaa9,_0x475811[_0x57f3c9(0x197)]);}function getProgressDisplay(_0x3ee6fb){const _0x12bc83=_0x2b49e1,_0x3efbfc={'OTDgX':function(_0x292685,_0x30a7df){return _0x292685+_0x30a7df;},'qQkZd':function(_0x5ac181,_0x582c3c){return _0x5ac181/_0x582c3c;},'cdrxu':function(_0x43b385,_0x1171f7){return _0x43b385-_0x1171f7;},'NEKxz':function(_0x4a5406,_0x428b0c){return _0x4a5406>_0x428b0c;},'lyJRK':function(_0x32f134,_0x4f4ee7){return _0x32f134>_0x4f4ee7;}},_0x1ef050=_0x3ee6fb[_0x12bc83(0x165)]||0x0,_0x5253eb=_0x3ee6fb['verificationInProgressItems']||0x0,_0x49458a=_0x3ee6fb[_0x12bc83(0x1de)]||0x0,_0x3624c8=_0x3ee6fb['incompleteItems']||0x0,_0x1a51eb=_0x3ee6fb[_0x12bc83(0x1ae)]||0x0,_0x1805b8=_0x3efbfc[_0x12bc83(0x1ce)](_0x1ef050+_0x5253eb+_0x49458a+_0x3624c8,_0x1a51eb);if(_0x1805b8===0x0)return'-';const _0x4f67ca=0xa,_0x420167=Math[_0x12bc83(0x1e5)](_0x3efbfc[_0x12bc83(0x1b4)](_0x1ef050,_0x1805b8)*_0x4f67ca),_0x211fc5='█'['repeat'](_0x420167)+'░'[_0x12bc83(0x1c9)](_0x3efbfc['cdrxu'](_0x4f67ca,_0x420167)),_0x33f288=[];if(_0x3efbfc[_0x12bc83(0x19d)](_0x49458a,0x0))_0x33f288['push'](_0x49458a+'\x20blocked');if(_0x3efbfc[_0x12bc83(0x188)](_0x3624c8,0x0))_0x33f288['push'](_0x3624c8+_0x12bc83(0x186));if(_0x5253eb>0x0)_0x33f288[_0x12bc83(0x117)](_0x5253eb+_0x12bc83(0x14c));const _0x224ac9=_0x33f288['length']>0x0?'\x20('+_0x33f288[_0x12bc83(0x1a2)](',\x20')+')':'';return _0x211fc5+'\x20'+_0x1ef050+'/'+_0x1805b8+'\x20verified'+_0x224ac9;}function getCurrentSessionItems(_0x13e47a,_0x28655c){const _0x61152=_0x2b49e1;if(!_0x13e47a[_0x61152(0x1ee)])return _0x28655c[_0x61152(0x154)](_0x47a961=>!_0x47a961['sessionId']);return _0x28655c[_0x61152(0x154)](_0x188eeb=>_0x188eeb['sessionId']===_0x13e47a[_0x61152(0x1ee)]||!_0x188eeb['sessionId']);}function displayFeature(_0x2aebbf,_0x374bd5){const _0x149cfe=_0x2b49e1,_0x11b376={'BMBRG':function(_0x5d4de4,_0x442e76){return _0x5d4de4>_0x442e76;},'iDTKH':function(_0x11c588,_0x478279){return _0x11c588===_0x478279;},'RIKAY':function(_0x11f7ee,_0x8fb138){return _0x11f7ee===_0x8fb138;},'sNBLg':'verified','gUHIf':'incomplete','epvVw':function(_0x383891,_0x3914af){return _0x383891===_0x3914af;},'jvCdw':'blocked','uCYcs':function(_0x3ccea9,_0x27196c){return _0x3ccea9===_0x27196c;},'qczAb':function(_0x2d43c7,_0x380e4b){return _0x2d43c7!==_0x380e4b;},'CpPBW':'\x20[has\x20reviewer\x20feedback]','tLNkH':function(_0x27dfb6,_0x214ea2){return _0x27dfb6===_0x214ea2;},'eMkgF':_0x149cfe(0x199),'Hbspt':function(_0x544eed,_0x2e636f){return _0x544eed===_0x2e636f;},'RHSDT':function(_0x123674,_0x1a16fe){return _0x123674===_0x1a16fe;}};console[_0x149cfe(0x130)]('\x0a'+_0x2aebbf[_0x149cfe(0x1d8)]+'\x20('+_0x2aebbf['dashboardUrl']+')');_0x2aebbf[_0x149cfe(0x14d)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x2aebbf['stats']));_0x2aebbf[_0x149cfe(0x17b)]&&console[_0x149cfe(0x130)](_0x149cfe(0x11a)+_0x2aebbf[_0x149cfe(0x17b)]);_0x2aebbf['gitRepoUrl']&&console[_0x149cfe(0x130)]('\x20\x20\x20Repository:\x20'+_0x2aebbf['gitRepoUrl']);_0x2aebbf[_0x149cfe(0x14a)]&&console['log'](_0x149cfe(0x15b)+_0x2aebbf[_0x149cfe(0x14a)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x2aebbf['createdAt'])[_0x149cfe(0x19e)]());_0x2aebbf['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x2aebbf['completedAt'])['toLocaleString']());if(_0x374bd5&&_0x11b376[_0x149cfe(0x195)](_0x374bd5[_0x149cfe(0x16b)],0x0)){console['log'](_0x149cfe(0x1bf));for(let _0x2ae7ea=0x0;_0x2ae7ea<_0x374bd5['length'];_0x2ae7ea++){const _0x80d5eb=_0x374bd5[_0x2ae7ea];let _0x11ac6a;if(_0x11b376[_0x149cfe(0x162)](_0x80d5eb[_0x149cfe(0x1d2)],_0x149cfe(0x199))&&_0x11b376[_0x149cfe(0x15a)](_0x80d5eb[_0x149cfe(0x1b1)],_0x149cfe(0x11b)))_0x11ac6a='✅';else{if(_0x80d5eb[_0x149cfe(0x1d2)]===_0x11b376['sNBLg'])_0x11ac6a='🟢';else{if(_0x80d5eb[_0x149cfe(0x1d2)]===_0x11b376['gUHIf'])_0x11ac6a='🟠';else{if(_0x11b376[_0x149cfe(0x16f)](_0x80d5eb[_0x149cfe(0x1d2)],_0x11b376['jvCdw']))_0x11ac6a='🛑';else{if(_0x11b376['RIKAY'](_0x80d5eb['status'],_0x149cfe(0x199)))_0x11ac6a='⛔';else _0x11b376[_0x149cfe(0x1c1)](_0x80d5eb['status'],_0x149cfe(0x1af))?_0x11ac6a='⏳':_0x11ac6a='⬜';}}}}const _0x3f7234=_0x11b376['BMBRG'](_0x80d5eb[_0x149cfe(0x1c8)],0x1)?'\x20(v'+_0x80d5eb['version']+')':'',_0x3f1b37=_0x80d5eb['version']>0x1&&_0x80d5eb['parentItemId']&&_0x11b376[_0x149cfe(0x163)](_0x80d5eb[_0x149cfe(0x1d2)],'closed')&&_0x80d5eb['status']!=='verified'?_0x11b376[_0x149cfe(0x1d6)]:'';console['log']('\x20\x20\x20'+(_0x2ae7ea+0x1)+'.\x20'+_0x11ac6a+'\x20'+_0x80d5eb[_0x149cfe(0x17b)]+_0x3f7234+_0x3f1b37);_0x80d5eb[_0x149cfe(0x1d2)]==='blocked'&&_0x80d5eb[_0x149cfe(0x1ac)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x80d5eb['blockedReason']);_0x11b376['iDTKH'](_0x80d5eb['status'],_0x11b376[_0x149cfe(0x17a)])&&_0x80d5eb['incompleteReason']&&console[_0x149cfe(0x130)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x80d5eb[_0x149cfe(0x1e0)]);if(_0x11b376[_0x149cfe(0x1df)](_0x80d5eb[_0x149cfe(0x1d2)],_0x11b376[_0x149cfe(0x173)])&&_0x11b376['Hbspt'](_0x80d5eb[_0x149cfe(0x1b1)],_0x149cfe(0x11b)))console[_0x149cfe(0x130)]('\x20\x20\x20\x20\x20\x20Approved');else _0x11b376['RHSDT'](_0x80d5eb['status'],_0x11b376[_0x149cfe(0x173)])&&_0x80d5eb[_0x149cfe(0x169)]&&console[_0x149cfe(0x130)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x80d5eb[_0x149cfe(0x169)]);}}}export async function featureCreate(_0x28eb49,_0x6ca3c1){const _0x30e83c=_0x2b49e1,_0x33d3d1={'VVFpP':function(_0x343830){return _0x343830();},'ONDNm':function(_0x28acfc,_0x85e3e0){return _0x28acfc(_0x85e3e0);},'yYNXp':function(_0x3ab84f){return _0x3ab84f();},'SMtmS':'\x0aCreating\x20feature\x20review...','hCrPR':function(_0x195d0e,_0x552786){return _0x195d0e(_0x552786);},'RXGWx':function(_0x501695,_0x54e88a,_0x2d6e3e){return _0x501695(_0x54e88a,_0x2d6e3e);}},{envNames:_0x19914b}=await _0x33d3d1[_0x30e83c(0x177)](getEnvNames);_0x19914b[_0x30e83c(0x16b)]===0x0&&console[_0x30e83c(0x155)]('\x0a'+_0x33d3d1[_0x30e83c(0x1aa)](formatProfileRequiredMessage,_0x5a45db=>bold(_0x5a45db)));const _0x286f92=_0x6ca3c1['scenarios']?_0x6ca3c1['scenarios']['map'](_0x136936=>_0x136936['trim']()):[],_0x23f7a1=getGitRepoUrl(),_0x518d85=_0x33d3d1['yYNXp'](getGitBranch);console['log'](_0x33d3d1['SMtmS']);const _0x562a3c=await _0x33d3d1[_0x30e83c(0x1aa)](createFeature,{'name':_0x28eb49,'description':_0x6ca3c1['description'],'checklist':_0x286f92,'gitRepoUrl':_0x23f7a1,'gitBranch':_0x518d85});await setActiveFeatureId(_0x562a3c['id']),await _0x33d3d1[_0x30e83c(0x128)](tryStartCurrentSession,_0x562a3c['id']);const _0x34c1c9=process['env']['CLAUDE_SESSION_ID'];_0x34c1c9&&_0x33d3d1['RXGWx'](registerSession,_0x34c1c9,_0x562a3c['id']),console[_0x30e83c(0x130)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x562a3c['id']),displayFeature(_0x562a3c,_0x562a3c[_0x30e83c(0x1b5)]),console[_0x30e83c(0x130)](_0x30e83c(0x1f4));}export async function featureList(_0x4dfcf3){const _0xbe7d90=_0x2b49e1,_0x315e15={'fRJsN':function(_0x4c001a){return _0x4c001a();},'lxARG':function(_0x71cf09,_0xd85298){return _0x71cf09(_0xd85298);},'bukNn':function(_0x3bcc6e,_0x3ed976){return _0x3bcc6e>_0x3ed976;},'ZIKGE':function(_0x1668cf,_0x4d0cad){return _0x1668cf+_0x4d0cad;},'OLyaU':function(_0x4e59a4,_0x284d0e){return _0x4e59a4<_0x284d0e;},'AKpVq':function(_0x199123,_0x1e9ab0){return _0x199123!==_0x1e9ab0;},'emfNM':_0xbe7d90(0x16c)},_0x51b08f={'limit':_0x4dfcf3['limit']??0xa,'offset':_0x4dfcf3['offset']??0x0,'includeDeleted':_0x4dfcf3[_0xbe7d90(0x1cd)]};_0x4dfcf3['currentBranch']&&(_0x51b08f['gitRepoUrl']=getGitRepoUrl(),_0x51b08f['gitBranch']=_0x315e15['fRJsN'](getGitBranch));const _0x2e4fe7=await _0x315e15['lxARG'](listFeatures,_0x51b08f);if(_0x2e4fe7['items']['length']===0x0){console[_0xbe7d90(0x130)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x515a96=_0x315e15[_0xbe7d90(0x17d)](_0x2e4fe7[_0xbe7d90(0x116)],_0x2e4fe7['items'][_0xbe7d90(0x16b)])?_0xbe7d90(0x1f1)+_0x2e4fe7['items'][_0xbe7d90(0x16b)]+_0xbe7d90(0x126)+_0x2e4fe7['totalCount']:_0x2e4fe7['totalCount']+_0xbe7d90(0x196);console['log']('\x0a'+_0x515a96+':\x0a');for(const _0x4bee07 of _0x2e4fe7[_0xbe7d90(0x143)]){console[_0xbe7d90(0x130)](''+_0x4bee07['name']),console['log'](_0xbe7d90(0x17c)+_0x4bee07['id']),_0x4bee07[_0xbe7d90(0x14d)]&&console[_0xbe7d90(0x130)](_0xbe7d90(0x1dc)+getProgressDisplay(_0x4bee07[_0xbe7d90(0x14d)])),_0x4bee07[_0xbe7d90(0x14a)]&&console['log'](_0xbe7d90(0x15b)+_0x4bee07[_0xbe7d90(0x14a)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x4bee07[_0xbe7d90(0x161)])['toLocaleDateString']()),console[_0xbe7d90(0x130)]('');}const _0x3ea93d=_0x51b08f[_0xbe7d90(0x1d4)]??0xa,_0xb5ba4b=_0x315e15['ZIKGE'](_0x51b08f[_0xbe7d90(0x132)]??0x0,_0x2e4fe7[_0xbe7d90(0x143)]['length']);if(_0x315e15['OLyaU'](_0xb5ba4b,_0x2e4fe7['totalCount'])){const _0x3866b9=_0x315e15[_0xbe7d90(0x16a)](_0x3ea93d,0xa)?'\x20--limit\x20'+_0x3ea93d:'',_0x45c8fe=_0x4dfcf3[_0xbe7d90(0x1a1)]?'\x20--current-branch':'',_0x38f177=_0x4dfcf3[_0xbe7d90(0x1cd)]?_0x315e15[_0xbe7d90(0x13b)]:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0xb5ba4b+_0x3866b9+_0x45c8fe+_0x38f177);}}export async function featureShow(_0x172a93){const _0x492e7d=_0x2b49e1,_0x115214={'OVehD':function(_0x57f20b){return _0x57f20b();},'JLIrz':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CWNaY':function(_0x4c5080,_0x1ffa60){return _0x4c5080(_0x1ffa60);}},_0x3ccc34=_0x172a93||await _0x115214[_0x492e7d(0x168)](getActiveFeatureId);if(!_0x3ccc34)throw new Error(_0x115214['JLIrz']);const _0x2efd5e=await _0x115214[_0x492e7d(0x152)](getFeature,_0x3ccc34);displayFeature(_0x2efd5e,_0x2efd5e[_0x492e7d(0x1b5)]);}function _0x8f54(_0x52a3cd,_0x4c53d5){_0x52a3cd=_0x52a3cd-0x111;const _0x9fb558=_0x9fb5();let _0x8f5410=_0x9fb558[_0x52a3cd];return _0x8f5410;}export async function featureResume(_0xa74a31){const _0x4d6819=_0x2b49e1,_0x4282e6={'cMGVa':function(_0x1f9fc7,_0x27acf8){return _0x1f9fc7(_0x27acf8);},'zTrNe':function(_0x59f966){return _0x59f966();},'hsPhA':function(_0x2dd70c,_0x1b6dac){return _0x2dd70c!==_0x1b6dac;},'toxAY':function(_0x18c41c,_0x271f44,_0x2b46ae){return _0x18c41c(_0x271f44,_0x2b46ae);},'xOFmN':function(_0x235979,_0x44d43a){return _0x235979||_0x44d43a;},'syImV':'any','oTpVO':function(_0x1b97ef,_0x561a04){return _0x1b97ef(_0x561a04);},'XlEcx':function(_0x4a5c45,_0x1ea21e){return _0x4a5c45===_0x1ea21e;},'pAhoC':_0x4d6819(0x1a3),'mMPGL':_0x4d6819(0x175),'ZMkdQ':_0x4d6819(0x141),'pCvWB':_0x4d6819(0x1be),'fpsks':function(_0x49c95f,_0x376438){return _0x49c95f(_0x376438);}};if(_0xa74a31){const _0x440262=await getFeature(_0xa74a31);await _0x4282e6['cMGVa'](setActiveFeatureId,_0x440262['id']);const _0x3a2262=_0x4282e6[_0x4d6819(0x1e6)](getGitBranch);_0x3a2262&&_0x4282e6[_0x4d6819(0x151)](_0x3a2262,_0x440262['gitBranch'])&&(await updateFeature(_0x440262['id'],{'gitBranch':_0x3a2262}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3a2262));console[_0x4d6819(0x130)](_0x4d6819(0x138)+_0x440262['name']+'\x20('+_0x440262['id']+')'),await _0x4282e6[_0x4d6819(0x18a)](tryStartCurrentSession,_0x440262['id']);const _0x6e969e=process['env']['CLAUDE_SESSION_ID'];_0x6e969e&&_0x4282e6['toxAY'](registerSession,_0x6e969e,_0x440262['id']);displayFeature(_0x440262,_0x440262[_0x4d6819(0x1b5)]),await printFeedbackNudge(_0x440262['id']);return;}const _0x1e316e=getGitRepoUrl(),_0x537c12=getGitBranch();if(!_0x1e316e&&!_0x537c12)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x4282e6[_0x4d6819(0x179)](_0x1e316e,_0x4d6819(0x149))+_0x4d6819(0x1ca)+_0x4282e6['xOFmN'](_0x537c12,_0x4282e6[_0x4d6819(0x12d)])+'...');const _0x2235fd=await _0x4282e6['oTpVO'](listFeatures,{'gitRepoUrl':_0x1e316e,'gitBranch':_0x537c12}),_0xc6d31f=_0x2235fd['items'][_0x4d6819(0x154)](_0x26be41=>!_0x26be41['completedAt']);if(_0x4282e6[_0x4d6819(0x1cf)](_0xc6d31f['length'],0x0)){console[_0x4d6819(0x130)](_0x4282e6['pAhoC']),console['log'](_0x4d6819(0x127));return;}let _0xa084f8;if(_0xc6d31f[_0x4d6819(0x16b)]===0x1)_0xa084f8=_0xc6d31f[0x0];else{const _0x3008ce=process[_0x4d6819(0x164)]['isTTY']&&process[_0x4d6819(0x1ba)][_0x4d6819(0x189)];if(!_0x3008ce){console[_0x4d6819(0x130)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x3b4908 of _0xc6d31f){console[_0x4d6819(0x130)]('\x20\x20'+_0x3b4908['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0x3b4908['id']),_0x3b4908['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x4282e6['cMGVa'](getProgressDisplay,_0x3b4908['stats'])),_0x3b4908[_0x4d6819(0x14a)]&&console['log'](_0x4d6819(0x1db)+_0x3b4908['gitBranch']);}throw new Error(_0x4d6819(0x174));}const {selected:_0x26d1b7}=await _0x189e33[_0x4d6819(0x187)]([{'type':_0x4282e6[_0x4d6819(0x111)],'name':_0x4282e6['ZMkdQ'],'message':_0x4282e6[_0x4d6819(0x146)],'choices':_0xc6d31f[_0x4d6819(0x1da)](_0x8c1323=>({'name':_0x8c1323[_0x4d6819(0x1d8)]+'\x20('+_0x8c1323['id']+')','value':_0x8c1323['id']}))}]);_0xa084f8=_0xc6d31f['find'](_0x2abd3b=>_0x2abd3b['id']===_0x26d1b7);}await setActiveFeatureId(_0xa084f8['id']);_0x537c12&&_0x537c12!==_0xa084f8['gitBranch']&&(await updateFeature(_0xa084f8['id'],{'gitBranch':_0x537c12}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x537c12));console['log'](_0x4d6819(0x138)+_0xa084f8['name']+'\x20('+_0xa084f8['id']+')'),await _0x4282e6[_0x4d6819(0x11d)](tryStartCurrentSession,_0xa084f8['id']);const _0x5eec7a=await getFeature(_0xa084f8['id']),_0x13cecc=process['env'][_0x4d6819(0x172)];_0x13cecc&&_0x4282e6[_0x4d6819(0x18f)](registerSession,_0x13cecc,_0x5eec7a['id']),displayFeature(_0x5eec7a,_0x5eec7a[_0x4d6819(0x1b5)]),await printFeedbackNudge(_0x5eec7a['id']);}async function printFeedbackNudge(_0xc635ee){const _0x4f045c=_0x2b49e1;try{const {items:_0x43c2dd}=await getActionItems(_0xc635ee);let _0x3d7a1a=0x0,_0x42b57c=0x0;for(const _0x82fe08 of _0x43c2dd){const _0x373fad=await getItemFeedback(_0xc635ee,_0x82fe08['id']);_0x373fad['unaddressedComments']['length']>0x0&&(_0x3d7a1a+=_0x373fad[_0x4f045c(0x198)][_0x4f045c(0x16b)],_0x42b57c++);}_0x3d7a1a>0x0&&(console[_0x4f045c(0x130)]('\x0a⚠️\x20\x20'+_0x3d7a1a+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x42b57c+'\x20scenario(s).'),console[_0x4f045c(0x130)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x5cf338){const _0xe09828=_0x2b49e1,_0x6bc362={'LFRpC':function(_0x5bed16,_0x49c3ea,_0x422d50){return _0x5bed16(_0x49c3ea,_0x422d50);}};try{const {sessions:_0x1d1cc2}=await listFeatureSessions(_0x5cf338),_0x59c02b=_0x1d1cc2['find'](_0x1db3e9=>_0x1db3e9[_0xe09828(0x1d2)]==='ready');_0x59c02b&&(await _0x6bc362[_0xe09828(0x1e3)](startSession,_0x5cf338,_0x59c02b['id']),console[_0xe09828(0x130)](_0xe09828(0x122)+_0x59c02b['iteration']));}catch{}}export async function featureReport(_0x32b698,_0x23e9c3){const _0x27890e=_0x2b49e1,_0x35b19f={'mSVyf':'\x0aGenerating\x20report...','Jyqyh':function(_0x939ddd,_0x122bd8,_0x479626,_0x4be099){return _0x939ddd(_0x122bd8,_0x479626,_0x4be099);},'rBxsb':_0x27890e(0x11c),'sBcCb':function(_0x2187ec,_0x38ed83){return _0x2187ec(_0x38ed83);},'fMCVB':_0x27890e(0x18c)},_0x1f2886=_0x32b698||await getActiveFeatureId();if(!_0x1f2886)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x35b19f['mSVyf']);const _0x4e428d=await getFeatureReportMarkdown(_0x1f2886,{'style':_0x23e9c3[_0x27890e(0x1c3)]}),_0x693d3d=_0x23e9c3['output']||_0x35b19f[_0x27890e(0x12a)](join,getRangerDir(),_0x35b19f['rBxsb'],_0x1f2886+'.md'),_0x57a8ef=join(_0x693d3d,'..');!_0x35b19f['sBcCb'](existsSync,_0x57a8ef)&&await mkdir(_0x57a8ef,{'recursive':!![]}),await _0x35b19f['Jyqyh'](writeFile,_0x693d3d,_0x4e428d,_0x35b19f[_0x27890e(0x157)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x693d3d);}function getScenarioResult(_0x3f0519){const _0x17ac39=_0x2b49e1,_0x1d1b32={'UADwk':'closed'};if(_0x3f0519[_0x17ac39(0x1d2)]===_0x17ac39(0x199))return _0x3f0519[_0x17ac39(0x1b1)]??_0x1d1b32[_0x17ac39(0x14f)];if(_0x3f0519[_0x17ac39(0x1d2)]===_0x17ac39(0x1af))return'in_progress';return _0x3f0519['status'];}function getScenarioRationale(_0x422372,_0x542839){const _0x3ff774=_0x2b49e1;if(_0x542839)return _0x542839;if(_0x422372[_0x3ff774(0x1ac)])return _0x422372['blockedReason'];if(_0x422372['incompleteReason'])return _0x422372[_0x3ff774(0x1e0)];if(_0x422372['canceledReason'])return _0x422372['canceledReason'];if(_0x422372[_0x3ff774(0x1e4)])return _0x422372[_0x3ff774(0x1e4)];return null;}export async function featureReportPrDescription(_0x46f8e4,_0x845838){const _0x5704cb=_0x2b49e1,_0x4d4e35={'muHdU':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','hBBqx':'\x0aAvailable\x20scenarios:','mayWm':function(_0x36e16a,_0x29e024){return _0x36e16a===_0x29e024;},'FQnyS':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','kDUIT':function(_0x5eb492,_0x52c833,_0x35fe22,_0x5572a2){return _0x5eb492(_0x52c833,_0x35fe22,_0x5572a2);},'BFlHT':function(_0x30b478,_0x1277c9,_0x4865af){return _0x30b478(_0x1277c9,_0x4865af);}},_0x13fe89=_0x46f8e4||await getActiveFeatureId();if(!_0x13fe89)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x49500c=await getFeature(_0x13fe89),_0x2708f8=_0x49500c[_0x5704cb(0x1b5)]||[],_0x9851c9=getCurrentSessionItems(_0x49500c,_0x2708f8);_0x9851c9[_0x5704cb(0x16b)]===0x0&&(console['error'](_0x4d4e35[_0x5704cb(0x166)]),process[_0x5704cb(0x1ad)](0x1));const _0x2f5045=_0x845838[_0x5704cb(0x1ed)]??[],_0x14abb1=_0x2f5045[_0x5704cb(0x154)](_0x53b065=>!Number[_0x5704cb(0x18b)](_0x53b065)||_0x53b065<0x1||_0x53b065>_0x9851c9[_0x5704cb(0x16b)]);if(_0x14abb1['length']>0x0){console[_0x5704cb(0x1b3)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x14abb1['join'](',\x20')),console['log'](_0x4d4e35['hBBqx']);for(let _0x127146=0x0;_0x127146<_0x9851c9['length'];_0x127146++){console[_0x5704cb(0x130)]('\x20\x20'+(_0x127146+0x1)+'.\x20'+_0x9851c9[_0x127146][_0x5704cb(0x17b)]);}process[_0x5704cb(0x1ad)](0x1);}const _0x3cfae7=new Set(_0x2f5045['map'](_0x45edd2=>_0x45edd2-0x1)),_0x451b80=_0x9851c9[_0x5704cb(0x154)]((_0x22957f,_0x9ac2d6)=>!_0x3cfae7['has'](_0x9ac2d6));_0x4d4e35[_0x5704cb(0x19a)](_0x451b80[_0x5704cb(0x16b)],0x0)&&(console['error'](_0x4d4e35['FQnyS']),process[_0x5704cb(0x1ad)](0x1));if(_0x845838['json'])await _0x4d4e35[_0x5704cb(0x1f2)](outputJsonReport,_0x13fe89,_0x49500c,_0x451b80);else{const _0x493669=await _0x4d4e35[_0x5704cb(0x131)](getFeatureReportMarkdown,_0x13fe89,{'itemIds':_0x451b80['map'](_0x1305ff=>_0x1305ff['id'])});process['stdout'][_0x5704cb(0x153)](_0x493669[_0x5704cb(0x16e)]()+'\x0a');}}async function outputJsonReport(_0xa95159,_0x4050c4,_0x1436ef){const _0x134d5a=_0x2b49e1,_0x345550={'nUyfd':function(_0x1e44b3,_0x5f4edf){return _0x1e44b3(_0x5f4edf);},'LQsaQ':function(_0x25fa7b,_0x85e29,_0xe8f363){return _0x25fa7b(_0x85e29,_0xe8f363);},'bKIHn':function(_0x2d1c14){return _0x2d1c14();},'xanfg':function(_0x73da8e,_0x33a842){return _0x73da8e+_0x33a842;}},_0x297102=_0x345550['bKIHn'](getApiBaseUrl),_0x58e7cf=await _0x345550[_0x134d5a(0x1f5)](getFeatureReport,_0xa95159),_0x596ff4=new Map(_0x58e7cf['checklistItems'][_0x134d5a(0x1da)](_0x9ecfd0=>[_0x9ecfd0['id'],_0x9ecfd0])),_0xc202f2=await Promise['all'](_0x1436ef['map'](async _0x5e5ad3=>{const _0x436aa5=_0x134d5a,_0x293a97=_0x596ff4[_0x436aa5(0x133)](_0x5e5ad3['id']),_0x96b57f=_0x293a97?.[_0x436aa5(0x1c4)]??null;let _0x10aef6=[];if(_0x5e5ad3['browserSessionId'])try{const {steps:_0x3efc4e}=await _0x345550[_0x436aa5(0x1f5)](getBrowserSessionSteps,_0x5e5ad3[_0x436aa5(0x1bb)]);_0x3efc4e['length']>0x0&&(_0x10aef6=_0x3efc4e[_0x436aa5(0x1da)](_0x1a5f5b=>{const _0x17e4c7=_0x436aa5,_0x57a970=_0x1a5f5b['assets'][_0x17e4c7(0x182)](_0x4291f0=>_0x4291f0['assetType']===_0x17e4c7(0x135)&&_0x4291f0[_0x17e4c7(0x125)]===_0x17e4c7(0x11e))??_0x1a5f5b['assets']['find'](_0x1d6993=>_0x1d6993[_0x17e4c7(0x124)]===_0x17e4c7(0x135));let _0x58601e=null,_0x3b17a8=null;if(_0x57a970){const _0x186254=_0x57a970['storage'][_0x17e4c7(0x185)][_0x17e4c7(0x1e1)]('/')[_0x17e4c7(0x19b)]();_0x58601e=_0x297102+_0x17e4c7(0x156)+_0x5e5ad3['browserSessionId']+'/artifacts/'+_0x186254,_0x186254&&(_0x3b17a8=_0x186254['replace'](/\.\w+$/,'')[_0x17e4c7(0x1f0)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x3b17a8||_0x1a5f5b[_0x17e4c7(0x17b)]||_0x1a5f5b['stepName']||'Step\x20'+_0x1a5f5b[_0x17e4c7(0x13a)],'screenshot':_0x58601e,'is_key_step':_0x1a5f5b['isKeyStep']};}));}catch{}return _0x10aef6[_0x436aa5(0x16b)]===0x0&&_0x96b57f?.['screenshotUrls']&&(_0x10aef6=_0x96b57f[_0x436aa5(0x1e7)][_0x436aa5(0x1da)]((_0x57198a,_0x551413)=>({'description':'Screenshot\x20'+(_0x551413+0x1),'screenshot':_0x57198a,'is_key_step':![]}))),{'description':_0x5e5ad3[_0x436aa5(0x17b)],'result':_0x345550[_0x436aa5(0x1f5)](getScenarioResult,_0x5e5ad3),'rationale':_0x345550['LQsaQ'](getScenarioRationale,_0x5e5ad3,_0x96b57f?.[_0x436aa5(0x1c2)]),'steps':_0x10aef6};})),_0x3b8d89={'url':_0x4050c4[_0x134d5a(0x1bd)],'scenarios':_0xc202f2};process['stdout']['write'](_0x345550['xanfg'](JSON['stringify'](_0x3b8d89,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x2a4aac){const _0x179565=_0x2b49e1,_0x2f8e30={'BxQUA':function(_0xf104ae){return _0xf104ae();},'ocPDx':function(_0x11e78a,_0x1a208e){return _0x11e78a(_0x1a208e);},'EcWBB':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','NvOkT':'Current\x20session\x20not\x20found.','ZAKya':_0x179565(0x1b7),'gOtVy':'\x0a✅\x20Session\x20is\x20already\x20completed.','iTmIS':'\x0aConcluding\x20session...','cUBiy':function(_0x1d1d0d,_0x3fedea,_0x26c6ea){return _0x1d1d0d(_0x3fedea,_0x26c6ea);}},_0x5ebd6a=_0x2a4aac||await _0x2f8e30['BxQUA'](getActiveFeatureId);if(!_0x5ebd6a)throw new Error(_0x179565(0x115));const _0x252e6d=await _0x2f8e30['ocPDx'](getFeature,_0x5ebd6a);if(!_0x252e6d[_0x179565(0x1ee)])throw new Error(_0x2f8e30['EcWBB']);const {sessions:_0x35bd6a}=await listFeatureSessions(_0x5ebd6a),_0x22fe11=_0x35bd6a[_0x179565(0x182)](_0x49a19b=>_0x49a19b['id']===_0x252e6d['currentSessionId']);if(!_0x22fe11)throw new Error(_0x2f8e30['NvOkT']);if(_0x22fe11['status']===_0x2f8e30[_0x179565(0x190)]){console['log'](_0x2f8e30[_0x179565(0x1ec)]);return;}if(_0x22fe11['status']!==_0x179565(0x147))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x22fe11['status']);console[_0x179565(0x130)](_0x2f8e30['iTmIS']),await _0x2f8e30[_0x179565(0x1cc)](concludeSession,_0x5ebd6a,_0x252e6d[_0x179565(0x1ee)]),console[_0x179565(0x130)](_0x179565(0x1d7)+_0x22fe11['iteration']+'\x20concluded.'),console[_0x179565(0x130)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x3fd09d){const _0x38e5ad=_0x2b49e1,_0x1b18a0={'IxhzC':function(_0x2f617e,_0x3cf42e){return _0x2f617e(_0x3cf42e);},'EGcOY':'No\x20sessions\x20found.','TZBrV':function(_0x58f762,_0x2a7a10){return _0x58f762===_0x2a7a10;},'GyxSv':_0x38e5ad(0x1b7),'DXabf':'in_progress'},_0x1a7015=_0x3fd09d||await getActiveFeatureId();if(!_0x1a7015)throw new Error(_0x38e5ad(0x121));const _0x353f4b=await _0x1b18a0['IxhzC'](getFeature,_0x1a7015);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x353f4b[_0x38e5ad(0x1d8)]+'\x0a');const {sessions:_0x66479c}=await _0x1b18a0[_0x38e5ad(0x13c)](listFeatureSessions,_0x1a7015);if(_0x66479c[_0x38e5ad(0x16b)]===0x0){console['log'](_0x1b18a0['EGcOY']);return;}for(const _0x27b970 of _0x66479c){const _0x272c57=_0x1b18a0[_0x38e5ad(0x113)](_0x27b970['status'],_0x1b18a0[_0x38e5ad(0x1bc)])?'✅':_0x27b970['status']===_0x1b18a0[_0x38e5ad(0x1a9)]?'🔄':'▶️';console[_0x38e5ad(0x130)](_0x272c57+'\x20Session\x20'+_0x27b970['iteration']+'\x20('+_0x27b970['id']+')'),console['log'](_0x38e5ad(0x1c5)+_0x27b970['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x27b970['createdAt'])['toLocaleString']()),_0x27b970[_0x38e5ad(0x15f)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x27b970['completedAt'])[_0x38e5ad(0x19e)]()),console['log']('');}}export async function featureAddScenario(_0x3784d1,_0x5d2360){const _0x3aec06=_0x2b49e1,_0x1aaac3={'tnAnC':function(_0x36177a){return _0x36177a();},'KQTnm':_0x3aec06(0x115),'eYnNq':function(_0x12bcc6,_0x579f88,_0x1917b1){return _0x12bcc6(_0x579f88,_0x1917b1);}},_0x4c213c=_0x5d2360||await _0x1aaac3[_0x3aec06(0x1b0)](getActiveFeatureId);if(!_0x4c213c)throw new Error(_0x1aaac3[_0x3aec06(0x159)]);const _0x47f25e=await getFeature(_0x4c213c);if(_0x47f25e['latestReview']&&!_0x47f25e[_0x3aec06(0x170)][_0x3aec06(0x144)])throw new Error(_0x3aec06(0x17f)+_0x47f25e[_0x3aec06(0x1bd)]);await _0x1aaac3['eYnNq'](createChecklistItem,_0x4c213c,_0x3784d1);const _0x1fdbbe=await getFeature(_0x4c213c);console[_0x3aec06(0x130)]('\x0a✅\x20Scenario\x20added'),_0x1aaac3['eYnNq'](displayFeature,_0x1fdbbe,_0x1fdbbe['checklistItems']);}export async function featureEditScenario(_0x252880,_0x48242c){const _0x4c3da1=_0x2b49e1,_0x31a416={'dDYqa':function(_0xb2db60,_0x28c2ba){return _0xb2db60(_0x28c2ba);},'LSbtf':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','QKyex':'Please\x20finish\x20your\x20review\x20first:','lElDM':_0x4c3da1(0x1eb),'dWsWh':function(_0x114d52,_0x55ad37){return _0x114d52<_0x55ad37;},'fdawK':function(_0x59880d,_0x405ce2){return _0x59880d>=_0x405ce2;},'iqTKZ':function(_0x499bde,_0x66ac69){return _0x499bde<_0x66ac69;},'cOViT':function(_0xce62ae,_0x382c85){return _0xce62ae+_0x382c85;}},_0x2af417=_0x48242c['id']||await getActiveFeatureId();!_0x2af417&&(console[_0x4c3da1(0x1b3)](_0x4c3da1(0x1a5)),console[_0x4c3da1(0x1b3)](_0x4c3da1(0x1ea)),process[_0x4c3da1(0x1ad)](0x1));const _0x12a859=await _0x31a416[_0x4c3da1(0x1ab)](getFeature,_0x2af417);_0x12a859['latestReview']&&!_0x12a859['latestReview'][_0x4c3da1(0x144)]&&(console[_0x4c3da1(0x1b3)](_0x31a416['LSbtf']),console[_0x4c3da1(0x1b3)](_0x31a416[_0x4c3da1(0x1b6)]),console[_0x4c3da1(0x1b3)]('\x20\x20'+_0x12a859[_0x4c3da1(0x1bd)]),process[_0x4c3da1(0x1ad)](0x1));const _0x3e3884=_0x12a859['checklistItems']||[];_0x3e3884['length']===0x0&&(console['error'](_0x31a416['lElDM']),process['exit'](0x1));if(_0x48242c['scenario']===undefined){console['error'](_0x4c3da1(0x12e)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x288bea=0x0;_0x31a416['dWsWh'](_0x288bea,_0x3e3884[_0x4c3da1(0x16b)]);_0x288bea++){console[_0x4c3da1(0x130)]('\x20\x20'+(_0x288bea+0x1)+'.\x20'+_0x3e3884[_0x288bea]['description']);}process[_0x4c3da1(0x1ad)](0x1);}const _0x22625e=_0x48242c['scenario']-0x1;if(_0x22625e<0x0||_0x31a416['fdawK'](_0x22625e,_0x3e3884[_0x4c3da1(0x16b)])){console[_0x4c3da1(0x1b3)](_0x4c3da1(0x1ef)+_0x48242c[_0x4c3da1(0x120)]+_0x4c3da1(0x1e2)+_0x3e3884[_0x4c3da1(0x16b)]+'\x20scenarios.'),console['log'](_0x4c3da1(0x150));for(let _0x3b3ae8=0x0;_0x31a416[_0x4c3da1(0x142)](_0x3b3ae8,_0x3e3884['length']);_0x3b3ae8++){console[_0x4c3da1(0x130)]('\x20\x20'+_0x31a416['cOViT'](_0x3b3ae8,0x1)+'.\x20'+_0x3e3884[_0x3b3ae8]['description']);}process[_0x4c3da1(0x1ad)](0x1);}const _0x104011=_0x3e3884[_0x22625e];await updateChecklistItem(_0x2af417,_0x104011['id'],{'description':_0x252880});const _0xb46ae6=await getFeature(_0x2af417);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0xb46ae6,_0xb46ae6['checklistItems']);}async function downloadFeedbackImage(_0x253834,_0x2a6d0d){const _0x1857e3=_0x2b49e1,_0x2138e0={'BSqCh':'feedback-images','rwVAH':function(_0x35412f,_0xfce2ad,_0x16b62b){return _0x35412f(_0xfce2ad,_0x16b62b);},'lTdvF':function(_0x296d0f,_0x41c219,_0x413aa4){return _0x296d0f(_0x41c219,_0x413aa4);}};try{const _0x368b52=join(getRangerDir(),_0x2138e0['BSqCh']);await _0x2138e0[_0x1857e3(0x1d3)](mkdir,_0x368b52,{'recursive':!![]});const _0x1e4fc1=join(_0x368b52,'comment_'+_0x2a6d0d+'.png'),_0x5b158f=await fetch(_0x253834);if(!_0x5b158f['ok'])return null;const _0x4f5e96=Buffer[_0x1857e3(0x1e8)](await _0x5b158f['arrayBuffer']());return await _0x2138e0['lTdvF'](writeFile,_0x1e4fc1,_0x4f5e96),_0x1e4fc1;}catch{return null;}}export async function featureGetReview(_0x4f4b2e){const _0x2233f7=_0x2b49e1,_0x56ab49={'YsdJR':function(_0x33ca50){return _0x33ca50();},'hvWVb':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZytxV':function(_0x4cba44,_0x83e8a6){return _0x4cba44(_0x83e8a6);},'EhRTP':function(_0x110c9e,_0x4ad4){return _0x110c9e<_0x4ad4;},'nVDKS':function(_0x4e6b9f,_0x2c692d){return _0x4e6b9f+_0x2c692d;},'pRJyR':_0x2233f7(0x1a8),'wjPav':_0x2233f7(0x178),'tkdLd':_0x2233f7(0x15e),'glsDo':function(_0x4f2630,_0x859de8,_0x1042f3){return _0x4f2630(_0x859de8,_0x1042f3);},'CaqLh':function(_0x4101cd,_0x4f4021){return _0x4101cd===_0x4f4021;},'gInXv':'point','lzDRq':function(_0x38214b,_0x3b3634){return _0x38214b>=_0x3b3634;}},_0x592079=_0x4f4b2e||await _0x56ab49['YsdJR'](getActiveFeatureId);if(!_0x592079)throw new Error(_0x56ab49[_0x2233f7(0x184)]);const _0xd76151=await getFeature(_0x592079),{items:_0xba96f8}=await _0x56ab49[_0x2233f7(0x1c6)](getActionItems,_0x592079);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0xd76151[_0x2233f7(0x1d8)]+'\x20('+_0xd76151['id']+')\x0a');if(_0xba96f8[_0x2233f7(0x16b)]===0x0){console['log'](_0x2233f7(0x1b9));return;}for(let _0x80afd3=0x0;_0x56ab49[_0x2233f7(0x14e)](_0x80afd3,_0xba96f8['length']);_0x80afd3++){const _0x1de65c=_0xba96f8[_0x80afd3],_0x5e66af=_0x1de65c['version']>0x1?'\x20(v'+_0x1de65c[_0x2233f7(0x1c8)]+')':'',_0x5ba148=await getItemFeedback(_0x592079,_0x1de65c['id']);if(_0x5ba148['unaddressedComments'][_0x2233f7(0x16b)]>0x0){console[_0x2233f7(0x130)]('Scenario\x20'+_0x56ab49[_0x2233f7(0x160)](_0x80afd3,0x1)+':\x20\x22'+_0x1de65c['description']+'\x22'+_0x5e66af+_0x2233f7(0x148)+_0x5ba148[_0x2233f7(0x198)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x3aaa74 of _0x5ba148['unaddressedComments']){const _0xc6f4e8=new Date(_0x3aaa74['createdAt'])['toLocaleDateString'](_0x56ab49[_0x2233f7(0x1a0)],{'month':_0x56ab49[_0x2233f7(0x13f)],'day':_0x2233f7(0x114)}),_0x5d1003=_0x3aaa74['authorName']||_0x3aaa74[_0x2233f7(0x12c)]||_0x56ab49[_0x2233f7(0x1d0)];console['log']('\x20\x20💬\x20'+_0x5d1003+'\x20('+_0xc6f4e8+'):\x20\x22'+_0x3aaa74['content']+'\x22');if(_0x3aaa74[_0x2233f7(0x118)]){const _0x1d1ad3=await _0x56ab49['glsDo'](downloadFeedbackImage,_0x3aaa74['assetUrl'],_0x3aaa74['id']);_0x1d1ad3&&console[_0x2233f7(0x130)](_0x2233f7(0x137)+_0x1d1ad3);}if(_0x3aaa74[_0x2233f7(0x16d)]){const _0x1f30f6=_0x3aaa74['domRef'][_0x2233f7(0x1a6)]['split']('\x20>\x20')[_0x2233f7(0x19b)]()?.[_0x2233f7(0x1e1)](':')[0x0]||'element',_0x249291=_0x3aaa74['domRef']['textContent']?'\x20\x22'+_0x3aaa74['domRef'][_0x2233f7(0x19f)][_0x2233f7(0x140)](0x0,0x3c)+'\x22':'';console[_0x2233f7(0x130)](_0x2233f7(0x123)+_0x1f30f6+'>'+_0x249291),console[_0x2233f7(0x130)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x3aaa74['domRef']['selector']);}else{if(_0x3aaa74[_0x2233f7(0x1b2)]){const _0x2591da=_0x3aaa74[_0x2233f7(0x1b2)][_0x2233f7(0x136)];_0x56ab49['CaqLh'](_0x3aaa74['spatial'][_0x2233f7(0x12b)],_0x56ab49[_0x2233f7(0x192)])&&_0x56ab49[_0x2233f7(0x1e9)](_0x2591da['length'],0x2)?console[_0x2233f7(0x130)](_0x2233f7(0x1cb)+_0x2591da[0x0]['toFixed'](0x2)+',\x20'+_0x2591da[0x1]['toFixed'](0x2)+')'):console[_0x2233f7(0x130)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3aaa74[_0x2233f7(0x1b2)]['type']+'\x20at\x20['+_0x2591da[_0x2233f7(0x1da)](_0x3bd6c5=>_0x3bd6c5[_0x2233f7(0x18d)](0x2))['join'](',\x20')+']');}}}if(_0x5ba148[_0x2233f7(0x183)]){console[_0x2233f7(0x130)](_0x2233f7(0x13d));for(const _0x55185e of _0x5ba148['canonicalFlow'][_0x2233f7(0x1e1)]('\x0a')){console['log'](_0x2233f7(0x180)+_0x55185e);}}}else console[_0x2233f7(0x130)](_0x2233f7(0x1b8)+(_0x80afd3+0x1)+_0x2233f7(0x194)+_0x1de65c['description']+'\x22'+_0x5e66af+_0x2233f7(0x139)),console['log'](_0x2233f7(0x1c7));console[_0x2233f7(0x130)]('');}}export async function featureDelete(_0x5091f0){const _0x5664b0=_0x2b49e1,_0x2ed0b2={'uHMGN':_0x5664b0(0x115),'OMYRd':function(_0x37ce03,_0x614528){return _0x37ce03(_0x614528);},'eaoRx':function(_0x599868,_0x212288){return _0x599868+_0x212288;},'PLhBg':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x50f461=_0x5091f0||await getActiveFeatureId();if(!_0x50f461)throw new Error(_0x2ed0b2['uHMGN']);const _0x3d4dfa=await _0x2ed0b2['OMYRd'](getFeature,_0x50f461);await softDeleteFeature(_0x50f461),console['log'](_0x5664b0(0x176)+_0x3d4dfa[_0x5664b0(0x1d8)]+'\x20('+_0x50f461+')'),console['log'](_0x2ed0b2[_0x5664b0(0x145)](_0x2ed0b2['PLhBg'],_0x50f461));}export async function featureRestore(_0x1b7eb5){const _0x12a7ec=_0x2b49e1;await restoreFeature(_0x1b7eb5);const _0x123ed0=await getFeature(_0x1b7eb5);console['log'](_0x12a7ec(0x12f)+_0x123ed0[_0x12a7ec(0x1d8)]+'\x20('+_0x1b7eb5+')'),displayFeature(_0x123ed0,_0x123ed0['checklistItems']);}
|
|
1
|
+
const _0x23f300=_0x1ce6;(function(_0x26eacd,_0x3fc27c){const _0x43f1e7=_0x1ce6,_0xe087e7=_0x26eacd();while(!![]){try{const _0x5d69e1=parseInt(_0x43f1e7(0xb4))/0x1*(parseInt(_0x43f1e7(0x11a))/0x2)+-parseInt(_0x43f1e7(0x119))/0x3+parseInt(_0x43f1e7(0x124))/0x4+parseInt(_0x43f1e7(0x100))/0x5+-parseInt(_0x43f1e7(0xfe))/0x6+-parseInt(_0x43f1e7(0xc5))/0x7*(parseInt(_0x43f1e7(0xfb))/0x8)+-parseInt(_0x43f1e7(0xbf))/0x9;if(_0x5d69e1===_0x3fc27c)break;else _0xe087e7['push'](_0xe087e7['shift']());}catch(_0x99585d){_0xe087e7['push'](_0xe087e7['shift']());}}}(_0x56e0,0xc6b67));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x570df0 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0xcccf41=>_0x23f300(0x136)+_0xcccf41+_0x23f300(0xa7);function getGitRepoUrl(){const _0x4df224=_0x23f300,_0x2e4717={'tSBnE':'pipe'};try{const _0x863c7d=execSync(_0x4df224(0x13e),{'encoding':'utf-8','stdio':[_0x2e4717[_0x4df224(0xb7)],_0x4df224(0xc2),_0x2e4717[_0x4df224(0xb7)]]})[_0x4df224(0xde)]();return _0x863c7d[_0x4df224(0x108)](/\.git$/,'')[_0x4df224(0x108)](/^git@github\.com:/,_0x4df224(0x134))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x59b561=_0x23f300,_0x8e0fd5={'IayQI':function(_0x3a26f3,_0x3dd797,_0x49a8eb){return _0x3a26f3(_0x3dd797,_0x49a8eb);},'OELMJ':_0x59b561(0xd9),'mkpVM':'pipe'};try{return _0x8e0fd5[_0x59b561(0xbb)](execSync,_0x59b561(0xac),{'encoding':_0x8e0fd5['OELMJ'],'stdio':[_0x8e0fd5['mkpVM'],'pipe',_0x8e0fd5['mkpVM']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x412817=_0x23f300,_0x4c36da={'JuRqt':function(_0x3d5fdd,_0x312276,_0x178ebc){return _0x3d5fdd(_0x312276,_0x178ebc);}},_0x4e8c04=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x4e8c04))return null;try{const _0x4d7fa=await _0x4c36da['JuRqt'](readFile,_0x4e8c04,_0x412817(0xd9));return _0x4d7fa['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x5647c6){const _0x110cdb=_0x23f300,_0x105d83={'alvNX':function(_0x2c8fd1){return _0x2c8fd1();},'msCTV':function(_0x30bc08,_0x46dbca){return _0x30bc08(_0x46dbca);},'jcJBi':function(_0x19540f,_0x42b139,_0xf8fed5,_0x27ae85){return _0x19540f(_0x42b139,_0xf8fed5,_0x27ae85);}},_0x56236c=_0x105d83['alvNX'](getRangerDir),_0x5ae319=join(_0x56236c,ACTIVE_FEATURE_FILE);!_0x105d83[_0x110cdb(0x109)](existsSync,_0x56236c)&&await mkdir(_0x56236c,{'recursive':!![]}),await _0x105d83[_0x110cdb(0xcf)](writeFile,_0x5ae319,_0x5647c6,_0x110cdb(0xd9));}function getProgressDisplay(_0xfd3b81){const _0x3777a4=_0x23f300,_0x541754={'yVtRc':function(_0x270770,_0x33f715){return _0x270770+_0x33f715;},'GsJIN':function(_0x1b028d,_0x4dfd58){return _0x1b028d/_0x4dfd58;},'fOLuB':function(_0x47a426,_0x47d8fe){return _0x47a426+_0x47d8fe;},'WIIQf':function(_0x172608,_0x5970a5){return _0x172608>_0x5970a5;},'ZjRqW':function(_0x2b485a,_0x5a914d){return _0x2b485a>_0x5a914d;}},_0x1a5bf0=_0xfd3b81[_0x3777a4(0xd5)]||0x0,_0x5aa3a9=_0xfd3b81['verificationInProgressItems']||0x0,_0x581145=_0xfd3b81['blockedItems']||0x0,_0x21960d=_0xfd3b81[_0x3777a4(0x152)]||0x0,_0x5350e2=_0xfd3b81[_0x3777a4(0x11d)]||0x0,_0x568df4=_0x541754['yVtRc'](_0x541754['yVtRc'](_0x541754[_0x3777a4(0xb9)](_0x541754['yVtRc'](_0x1a5bf0,_0x5aa3a9),_0x581145),_0x21960d),_0x5350e2);if(_0x568df4===0x0)return'-';const _0x24c8ef=0xa,_0x4855db=Math[_0x3777a4(0x14b)](_0x541754['GsJIN'](_0x1a5bf0,_0x568df4)*_0x24c8ef),_0x562f2f=_0x541754['fOLuB']('█'[_0x3777a4(0xc0)](_0x4855db),'░'[_0x3777a4(0xc0)](_0x24c8ef-_0x4855db)),_0x9b4718=[];if(_0x581145>0x0)_0x9b4718[_0x3777a4(0xee)](_0x581145+'\x20blocked');if(_0x541754['WIIQf'](_0x21960d,0x0))_0x9b4718[_0x3777a4(0xee)](_0x21960d+'\x20incomplete');if(_0x541754['ZjRqW'](_0x5aa3a9,0x0))_0x9b4718['push'](_0x5aa3a9+'\x20in\x20progress');const _0x204b8d=_0x9b4718[_0x3777a4(0x150)]>0x0?'\x20('+_0x9b4718['join'](',\x20')+')':'';return _0x562f2f+'\x20'+_0x1a5bf0+'/'+_0x568df4+_0x3777a4(0xfa)+_0x204b8d;}function _0x1ce6(_0x24ca6f,_0x1c990a){_0x24ca6f=_0x24ca6f-0x94;const _0x56e03d=_0x56e0();let _0x1ce62d=_0x56e03d[_0x24ca6f];return _0x1ce62d;}function _0x56e0(){const _0x44df10=['point','\x20\x20\x20ID:\x20','closed','github.com/','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x1b[1m','style','dashboardUrl','qmSft','\x20(v','\x20scenarios.','NSbYx','QAiur','git\x20remote\x20get-url\x20origin','mnVdG','arrayBuffer','\x20\x20✅\x20No\x20feedback\x20to\x20address','SFncG','authorEmail','.\x20Feature\x20review\x20has\x20','laOLl','toLocaleDateString','uzBUd','name','Bxwin','domRef','round','CLAUDE_SESSION_ID','stats','Current\x20session\x20not\x20found.','stepName','length','latestReview','incompleteItems','tsfVh','isInteger','completedAt','\x20\x20\x20\x20\x20ID:\x20','hDTqf','split','stdout','stringify','find','scenarios','textContent','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','assetUrl','/api/v1/mcp/browser-sessions/','status','feedback-images','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','spatial','\x20--limit\x20','after','WcLaG','eAAEY','notes','completed','\x20\x20\x20Updated\x20branch\x20to:\x20','version','json','yQxIl','\x1b[0m','TxvNP','gitBranch','exit','Scenario\x20','git\x20rev-parse\x20--abbrev-ref\x20HEAD','Not\x20in\x20a\x20git\x20repository.','toLocaleString','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','canonicalFlow','/artifacts/','type','assetType','8929xAdqZv','OQyKG','excludeScenarios','tSBnE','toFixed','yVtRc','knTGR','IayQI','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','coordinates','dDPNT','412065uPAvNB','repeat','verification_in_progress','pipe','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','oBXUe','422835sDpVqk','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x20—\x20no\x20comments','IDsBe','has','items','NRFHl','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x20\x20\x20Completed:\x20','currentSessionId','jcJBi','tpIEG','iteration','JBdfv','incomplete','\x0a⚠️\x20\x20','verifiedItems','pop','isKeyStep','ready','utf-8','totalCount','selected','any','stdin','trim','RSBPJ','VrVTd','rfhAX','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','terminalReason','filter','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x0aAvailable\x20scenarios:','screenshotUrls','comment_','verified','FotKF','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','KxvHB','limit','push','5|4|1|3|0|2','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','scenario','gitRepoUrl','iLYaP','\x0a✅\x20Restored\x20feature\x20review:\x20','unaddressedComments','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20\x20\x20\x20','\x0a✅\x20Scenario\x20added','WGKiA','\x20verified','96aHufDN','UZCkp','cqNzQ','3073560Obedvo','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','1830290ZWgMFz','en-US','canceledReason','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20/\x20','Dxbbu','isTTY','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','replace','msCTV','QjREN','\x20\x20\x20Status:\x20','\x20\x20\x20\x20\x20\x20Incomplete:\x20','\x20\x20Expected\x20flow:','browserSessionId','Uenge','content','dsXcK','from','qSoRL','output','log','element','AVJrX','\x20\x20\x20\x20\x20Progress:\x20','751359UUCQAZ','148agEzHo','\x20feature\x20review(s)\x20found','sessionId','pendingItems','in_progress','description','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','incompleteReason','error','position','5281924tDTRDz','fBNOz','\x20\x20\x20Progress:\x20','blockedReason','vLMBX','RrbaG','checklistItems','map','\x20\x20\x20Branch:\x20','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','KtxGf','mTjpe','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'];_0x56e0=function(){return _0x44df10;};return _0x56e0();}function getCurrentSessionItems(_0x25eac9,_0xd8211b){const _0x1a0583=_0x23f300;if(!_0x25eac9[_0x1a0583(0xce)])return _0xd8211b['filter'](_0x4d1684=>!_0x4d1684['sessionId']);return _0xd8211b['filter'](_0x1e3b80=>_0x1e3b80['sessionId']===_0x25eac9[_0x1a0583(0xce)]||!_0x1e3b80[_0x1a0583(0x11c)]);}function displayFeature(_0x317369,_0x1cc3f8){const _0x11de1c=_0x23f300,_0x35032a={'wQKyC':function(_0x1c1ac7,_0x28e7cf){return _0x1c1ac7>_0x28e7cf;},'YRkZt':'\x0a\x20\x20\x20Scenarios:','tpIEG':_0x11de1c(0x133),'dDPNT':function(_0x479139,_0x3fce75){return _0x479139===_0x3fce75;},'DCRBO':'approved','AVJrX':function(_0x161f6e,_0x3be4fa){return _0x161f6e===_0x3be4fa;},'SypPY':'blocked','JSblv':function(_0x4f6ae9,_0x3c7dd4){return _0x4f6ae9>_0x3c7dd4;},'RSBPJ':function(_0x8536f9,_0x4ab7b1){return _0x8536f9!==_0x4ab7b1;},'hrXTz':_0x11de1c(0xd3),'yQxIl':function(_0xf7530b,_0x427953){return _0xf7530b===_0x427953;},'dKvkX':function(_0x52f4bc,_0x4f2456){return _0x52f4bc===_0x4f2456;}};console['log']('\x0a'+_0x317369[_0x11de1c(0x148)]+'\x20('+_0x317369[_0x11de1c(0x138)]+')');_0x317369['stats']&&console['log'](_0x11de1c(0x126)+getProgressDisplay(_0x317369[_0x11de1c(0x14d)]));_0x317369['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x317369['description']);_0x317369[_0x11de1c(0xf2)]&&console[_0x11de1c(0x115)]('\x20\x20\x20Repository:\x20'+_0x317369[_0x11de1c(0xf2)]);_0x317369['gitBranch']&&console[_0x11de1c(0x115)]('\x20\x20\x20Branch:\x20'+_0x317369['gitBranch']);console[_0x11de1c(0x115)]('\x20\x20\x20Created:\x20'+new Date(_0x317369['createdAt'])[_0x11de1c(0xae)]());_0x317369[_0x11de1c(0x155)]&&console[_0x11de1c(0x115)](_0x11de1c(0xcd)+new Date(_0x317369[_0x11de1c(0x155)])['toLocaleString']());if(_0x1cc3f8&&_0x35032a['wQKyC'](_0x1cc3f8['length'],0x0)){console['log'](_0x35032a['YRkZt']);for(let _0x2247ac=0x0;_0x2247ac<_0x1cc3f8['length'];_0x2247ac++){const _0x43764d=_0x1cc3f8[_0x2247ac];let _0x2033b5;if(_0x43764d['status']===_0x35032a[_0x11de1c(0xd0)]&&_0x35032a['dDPNT'](_0x43764d['terminalReason'],_0x35032a['DCRBO']))_0x2033b5='✅';else{if(_0x43764d['status']===_0x11de1c(0xe9))_0x2033b5='🟢';else{if(_0x35032a[_0x11de1c(0xbe)](_0x43764d['status'],_0x11de1c(0xd3)))_0x2033b5='🟠';else{if(_0x35032a['AVJrX'](_0x43764d[_0x11de1c(0x99)],_0x35032a['SypPY']))_0x2033b5='🛑';else{if(_0x43764d['status']===_0x35032a['tpIEG'])_0x2033b5='⛔';else _0x43764d['status']===_0x11de1c(0xc1)?_0x2033b5='⏳':_0x2033b5='⬜';}}}}const _0x38cb81=_0x43764d['version']>0x1?_0x11de1c(0x13a)+_0x43764d[_0x11de1c(0xa4)]+')':'',_0x2fad27=_0x35032a['JSblv'](_0x43764d['version'],0x1)&&_0x43764d['parentItemId']&&_0x43764d['status']!==_0x35032a['tpIEG']&&_0x35032a[_0x11de1c(0xdf)](_0x43764d[_0x11de1c(0x99)],'verified')?'\x20[has\x20reviewer\x20feedback]':'';console[_0x11de1c(0x115)]('\x20\x20\x20'+(_0x2247ac+0x1)+'.\x20'+_0x2033b5+'\x20'+_0x43764d['description']+_0x38cb81+_0x2fad27);_0x35032a[_0x11de1c(0x117)](_0x43764d[_0x11de1c(0x99)],_0x35032a['SypPY'])&&_0x43764d['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x43764d[_0x11de1c(0x127)]);_0x43764d[_0x11de1c(0x99)]===_0x35032a['hrXTz']&&_0x43764d['incompleteReason']&&console[_0x11de1c(0x115)](_0x11de1c(0x10c)+_0x43764d['incompleteReason']);if(_0x35032a['AVJrX'](_0x43764d['status'],_0x11de1c(0x133))&&_0x35032a[_0x11de1c(0xa6)](_0x43764d[_0x11de1c(0xe3)],'approved'))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x35032a['dKvkX'](_0x43764d['status'],_0x11de1c(0x133))&&_0x43764d['canceledReason']&&console[_0x11de1c(0x115)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x43764d[_0x11de1c(0x102)]);}}}export async function featureCreate(_0x49c6d3,_0x5c3534){const _0x5654df=_0x23f300,_0x234bb7={'WcLaG':function(_0x670e61){return _0x670e61();},'PsqPG':function(_0x2130a8,_0x21535f){return _0x2130a8===_0x21535f;},'QWSMT':function(_0x352931,_0x2b85a9){return _0x352931(_0x2b85a9);},'UZCkp':function(_0x457605,_0xe23d6d,_0x5a2858){return _0x457605(_0xe23d6d,_0x5a2858);},'EebHA':function(_0x472807,_0xbdd47b,_0x58b9db){return _0x472807(_0xbdd47b,_0x58b9db);}},{envNames:_0x400a70}=await _0x234bb7[_0x5654df(0x9f)](getEnvNames);_0x234bb7['PsqPG'](_0x400a70['length'],0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x2c15da=>bold(_0x2c15da)));const _0xadd6b7=_0x5c3534[_0x5654df(0x94)]?_0x5c3534[_0x5654df(0x94)]['map'](_0x594c3d=>_0x594c3d['trim']()):[],_0xe5ae76=getGitRepoUrl(),_0x12c664=getGitBranch();console[_0x5654df(0x115)]('\x0aCreating\x20feature\x20review...');const _0x46ac57=await _0x234bb7['QWSMT'](createFeature,{'name':_0x49c6d3,'description':_0x5c3534[_0x5654df(0x11f)],'checklist':_0xadd6b7,'gitRepoUrl':_0xe5ae76,'gitBranch':_0x12c664});await setActiveFeatureId(_0x46ac57['id']),await tryStartCurrentSession(_0x46ac57['id']);const _0x1a4a3e=process['env'][_0x5654df(0x14c)];_0x1a4a3e&&_0x234bb7[_0x5654df(0xfc)](registerSession,_0x1a4a3e,_0x46ac57['id']),console[_0x5654df(0x115)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x46ac57['id']),_0x234bb7['EebHA'](displayFeature,_0x46ac57,_0x46ac57[_0x5654df(0x12a)]),console['log'](_0x5654df(0xbc));}export async function featureList(_0x2e7c88){const _0x1044e3=_0x23f300,_0x2f463e={'JUHgG':function(_0x419c32){return _0x419c32();},'KYDmp':function(_0x5d0988,_0x65e943){return _0x5d0988(_0x65e943);},'qSoRL':'\x0aNo\x20feature\x20reviews\x20found.','mMMHQ':function(_0x48b219,_0x979319){return _0x48b219>_0x979319;},'sCCMP':_0x1044e3(0xef),'YmvWM':function(_0x348f98,_0x37d3fc){return _0x348f98+_0x37d3fc;},'VrVTd':function(_0x2a347c,_0x322888){return _0x2a347c!==_0x322888;},'yWFbU':'\x20--include-deleted'},_0x21865e={'limit':_0x2e7c88[_0x1044e3(0xed)]??0xa,'offset':_0x2e7c88['offset']??0x0,'includeDeleted':_0x2e7c88['includeDeleted']};_0x2e7c88['currentBranch']&&(_0x21865e['gitRepoUrl']=_0x2f463e['JUHgG'](getGitRepoUrl),_0x21865e[_0x1044e3(0xa9)]=_0x2f463e['JUHgG'](getGitBranch));const _0x1c93f3=await _0x2f463e['KYDmp'](listFeatures,_0x21865e);if(_0x1c93f3['items'][_0x1044e3(0x150)]===0x0){console[_0x1044e3(0x115)](_0x2f463e[_0x1044e3(0x113)]);return;}const _0x3e0afa=_0x2f463e['mMMHQ'](_0x1c93f3[_0x1044e3(0xda)],_0x1c93f3['items']['length'])?'Showing\x20'+_0x1c93f3['items']['length']+'\x20of\x20'+_0x1c93f3[_0x1044e3(0xda)]:_0x1c93f3['totalCount']+_0x1044e3(0x11b);console['log']('\x0a'+_0x3e0afa+':\x0a');for(const _0x285050 of _0x1c93f3['items']){const _0x3ec0d1=_0x2f463e['sCCMP']['split']('|');let _0x21f545=0x0;while(!![]){switch(_0x3ec0d1[_0x21f545++]){case'0':console['log']('\x20\x20\x20Created:\x20'+new Date(_0x285050['createdAt'])['toLocaleDateString']());continue;case'1':_0x285050[_0x1044e3(0x14d)]&&console[_0x1044e3(0x115)](_0x1044e3(0x126)+getProgressDisplay(_0x285050[_0x1044e3(0x14d)]));continue;case'2':console['log']('');continue;case'3':_0x285050['gitBranch']&&console['log'](_0x1044e3(0x12c)+_0x285050[_0x1044e3(0xa9)]);continue;case'4':console['log'](_0x1044e3(0x132)+_0x285050['id']);continue;case'5':console['log'](''+_0x285050['name']);continue;}break;}}const _0x4fde8c=_0x21865e[_0x1044e3(0xed)]??0xa,_0x1297c1=_0x2f463e['YmvWM'](_0x21865e['offset']??0x0,_0x1c93f3[_0x1044e3(0xca)][_0x1044e3(0x150)]);if(_0x1297c1<_0x1c93f3[_0x1044e3(0xda)]){const _0x5a70dd=_0x2f463e[_0x1044e3(0xe0)](_0x4fde8c,0xa)?_0x1044e3(0x9d)+_0x4fde8c:'',_0x24b3a7=_0x2e7c88['currentBranch']?'\x20--current-branch':'',_0x3adf62=_0x2e7c88['includeDeleted']?_0x2f463e['yWFbU']:'';console[_0x1044e3(0x115)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x1297c1+_0x5a70dd+_0x24b3a7+_0x3adf62);}}export async function featureShow(_0x52063f){const _0x5894da=_0x23f300,_0x4cc7ab={'sIiJn':function(_0x33b0f2){return _0x33b0f2();},'JBwpe':_0x5894da(0x135),'NSbYx':function(_0x5ef324,_0x5cef97){return _0x5ef324(_0x5cef97);}},_0x3e5bf3=_0x52063f||await _0x4cc7ab['sIiJn'](getActiveFeatureId);if(!_0x3e5bf3)throw new Error(_0x4cc7ab['JBwpe']);const _0x336d1d=await _0x4cc7ab[_0x5894da(0x13c)](getFeature,_0x3e5bf3);displayFeature(_0x336d1d,_0x336d1d[_0x5894da(0x12a)]);}export async function featureResume(_0x58a827){const _0x5c04af=_0x23f300,_0x24ac5d={'aBSxi':function(_0x497742,_0x4084ed){return _0x497742(_0x4084ed);},'kQHNP':function(_0x28b21b,_0x3dd0a9){return _0x28b21b(_0x3dd0a9);},'MTlJh':function(_0x3c1062,_0xb99405,_0x17b9a3){return _0x3c1062(_0xb99405,_0x17b9a3);},'SDQpS':function(_0x32aee4,_0x3c3b06){return _0x32aee4(_0x3c3b06);},'SchLn':function(_0xb6e95a,_0x34069d,_0x168c7b){return _0xb6e95a(_0x34069d,_0x168c7b);},'gCRPk':function(_0x387cc4){return _0x387cc4();},'qmSft':function(_0x385e5c,_0xa51bb1){return _0x385e5c&&_0xa51bb1;},'QjREN':_0x5c04af(0xad),'mXPAX':function(_0x1eef10,_0x1443e9){return _0x1eef10||_0x1443e9;},'laOLl':'any','rfhAX':function(_0x2e3b29,_0x46cfa3){return _0x2e3b29===_0x46cfa3;},'OgbFu':_0x5c04af(0xe5),'nHDZl':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','uLJvh':_0x5c04af(0x107),'tsfVh':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:'};if(_0x58a827){const _0x382dae=await _0x24ac5d['aBSxi'](getFeature,_0x58a827);await _0x24ac5d['kQHNP'](setActiveFeatureId,_0x382dae['id']);const _0xa7691a=getGitBranch();_0xa7691a&&_0xa7691a!==_0x382dae[_0x5c04af(0xa9)]&&(await _0x24ac5d['MTlJh'](updateFeature,_0x382dae['id'],{'gitBranch':_0xa7691a}),console['log'](_0x5c04af(0xa3)+_0xa7691a));console[_0x5c04af(0x115)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x382dae['name']+'\x20('+_0x382dae['id']+')'),await _0x24ac5d['SDQpS'](tryStartCurrentSession,_0x382dae['id']);const _0x3a6bb1=process['env']['CLAUDE_SESSION_ID'];_0x3a6bb1&&_0x24ac5d['SchLn'](registerSession,_0x3a6bb1,_0x382dae['id']);displayFeature(_0x382dae,_0x382dae[_0x5c04af(0x12a)]),await printFeedbackNudge(_0x382dae['id']);return;}const _0x830378=getGitRepoUrl(),_0x2473aa=_0x24ac5d['gCRPk'](getGitBranch);if(_0x24ac5d[_0x5c04af(0x139)](!_0x830378,!_0x2473aa))throw new Error(_0x24ac5d[_0x5c04af(0x10a)]);console[_0x5c04af(0x115)](_0x5c04af(0xc3)+_0x24ac5d['mXPAX'](_0x830378,_0x5c04af(0xdc))+_0x5c04af(0x104)+(_0x2473aa||_0x24ac5d[_0x5c04af(0x145)])+'...');const _0xc2ee57=await _0x24ac5d['SDQpS'](listFeatures,{'gitRepoUrl':_0x830378,'gitBranch':_0x2473aa}),_0x43fbd9=_0xc2ee57[_0x5c04af(0xca)][_0x5c04af(0xe4)](_0x159235=>!_0x159235['completedAt']);if(_0x24ac5d[_0x5c04af(0xe1)](_0x43fbd9[_0x5c04af(0x150)],0x0)){console['log'](_0x24ac5d['OgbFu']),console['log'](_0x24ac5d['nHDZl']);return;}let _0x8b689c;if(_0x43fbd9[_0x5c04af(0x150)]===0x1)_0x8b689c=_0x43fbd9[0x0];else{const _0x16986f=process[_0x5c04af(0xdd)][_0x5c04af(0x106)]&&process[_0x5c04af(0x159)]['isTTY'];if(!_0x16986f){console[_0x5c04af(0x115)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0xb4df7b of _0x43fbd9){console['log']('\x20\x20'+_0xb4df7b['name']),console['log'](_0x5c04af(0x156)+_0xb4df7b['id']),_0xb4df7b['stats']&&console[_0x5c04af(0x115)](_0x5c04af(0x118)+getProgressDisplay(_0xb4df7b['stats'])),_0xb4df7b['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0xb4df7b[_0x5c04af(0xa9)]);}throw new Error(_0x24ac5d['uLJvh']);}const {selected:_0x393a88}=await _0x570df0['prompt']([{'type':'list','name':_0x5c04af(0xdb),'message':_0x24ac5d[_0x5c04af(0x153)],'choices':_0x43fbd9[_0x5c04af(0x12b)](_0xd8fb1a=>({'name':_0xd8fb1a[_0x5c04af(0x148)]+'\x20('+_0xd8fb1a['id']+')','value':_0xd8fb1a['id']}))}]);_0x8b689c=_0x43fbd9[_0x5c04af(0x15b)](_0x202e83=>_0x202e83['id']===_0x393a88);}await setActiveFeatureId(_0x8b689c['id']);_0x2473aa&&_0x2473aa!==_0x8b689c['gitBranch']&&(await updateFeature(_0x8b689c['id'],{'gitBranch':_0x2473aa}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x2473aa));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x8b689c[_0x5c04af(0x148)]+'\x20('+_0x8b689c['id']+')'),await tryStartCurrentSession(_0x8b689c['id']);const _0x17a4d4=await getFeature(_0x8b689c['id']),_0x17a624=process['env']['CLAUDE_SESSION_ID'];_0x17a624&®isterSession(_0x17a624,_0x17a4d4['id']),_0x24ac5d['SchLn'](displayFeature,_0x17a4d4,_0x17a4d4['checklistItems']),await printFeedbackNudge(_0x17a4d4['id']);}async function printFeedbackNudge(_0x32475f){const _0x1efc65=_0x23f300,_0x867a0d={'rgUMQ':function(_0x4b5f03,_0x592549){return _0x4b5f03(_0x592549);},'PwiMa':function(_0x22f673,_0xa4692d,_0x40c8bb){return _0x22f673(_0xa4692d,_0x40c8bb);}};try{const {items:_0x1c72d6}=await _0x867a0d['rgUMQ'](getActionItems,_0x32475f);let _0x136b44=0x0,_0x1ebf7d=0x0;for(const _0x53d6bd of _0x1c72d6){const _0x3a33dc=await _0x867a0d['PwiMa'](getItemFeedback,_0x32475f,_0x53d6bd['id']);_0x3a33dc[_0x1efc65(0xf5)]['length']>0x0&&(_0x136b44+=_0x3a33dc['unaddressedComments']['length'],_0x1ebf7d++);}_0x136b44>0x0&&(console['log'](_0x1efc65(0xd4)+_0x136b44+_0x1efc65(0xff)+_0x1ebf7d+'\x20scenario(s).'),console[_0x1efc65(0x115)](_0x1efc65(0x96)));}catch{}}async function tryStartCurrentSession(_0x5b5de5){const _0x50feab=_0x23f300,_0x36d3c5={'SEHdi':function(_0x43d511,_0x273397){return _0x43d511(_0x273397);},'YfIFT':function(_0x545056,_0x2088ce,_0x4c92e9){return _0x545056(_0x2088ce,_0x4c92e9);}};try{const {sessions:_0x11c095}=await _0x36d3c5['SEHdi'](listFeatureSessions,_0x5b5de5),_0x2916ef=_0x11c095[_0x50feab(0x15b)](_0x1b9bbd=>_0x1b9bbd[_0x50feab(0x99)]===_0x50feab(0xd8));_0x2916ef&&(await _0x36d3c5['YfIFT'](startSession,_0x5b5de5,_0x2916ef['id']),console[_0x50feab(0x115)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x2916ef['iteration']));}catch{}}export async function featureReport(_0x5db596,_0x5ba5f7){const _0xab6ba9=_0x23f300,_0x1c739a={'acMpW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','fthlR':function(_0x43f074,_0x3429b9,_0x37ca6a,_0x2fa450){return _0x43f074(_0x3429b9,_0x37ca6a,_0x2fa450);},'bALPx':function(_0x41f94b){return _0x41f94b();},'OmCHy':'reports','eXyQQ':function(_0x1ee944,_0x570232){return _0x1ee944(_0x570232);},'Fplhq':function(_0x3333db,_0x2d5953,_0x41e47c){return _0x3333db(_0x2d5953,_0x41e47c);},'bAIXs':function(_0x24583d,_0x33f063,_0x376650,_0x4fc7c0){return _0x24583d(_0x33f063,_0x376650,_0x4fc7c0);},'IhpIW':_0xab6ba9(0xd9)},_0x52018f=_0x5db596||await getActiveFeatureId();if(!_0x52018f)throw new Error(_0x1c739a['acMpW']);console[_0xab6ba9(0x115)]('\x0aGenerating\x20report...');const _0x56b7cf=await getFeatureReportMarkdown(_0x52018f,{'style':_0x5ba5f7[_0xab6ba9(0x137)]}),_0x35aa2f=_0x5ba5f7[_0xab6ba9(0x114)]||_0x1c739a['fthlR'](join,_0x1c739a['bALPx'](getRangerDir),_0x1c739a['OmCHy'],_0x52018f+'.md'),_0x5ef314=join(_0x35aa2f,'..');!_0x1c739a['eXyQQ'](existsSync,_0x5ef314)&&await _0x1c739a['Fplhq'](mkdir,_0x5ef314,{'recursive':!![]}),await _0x1c739a['bAIXs'](writeFile,_0x35aa2f,_0x56b7cf,_0x1c739a['IhpIW']),console[_0xab6ba9(0x115)]('\x0a✅\x20Report\x20generated:\x20'+_0x35aa2f);}function getScenarioResult(_0x41c7f3){const _0x2d6116=_0x23f300,_0xc56563={'IDsBe':function(_0x377d26,_0x59a445){return _0x377d26===_0x59a445;}};if(_0xc56563[_0x2d6116(0xc8)](_0x41c7f3['status'],'closed'))return _0x41c7f3[_0x2d6116(0xe3)]??'closed';if(_0xc56563['IDsBe'](_0x41c7f3[_0x2d6116(0x99)],'verification_in_progress'))return'in_progress';return _0x41c7f3['status'];}function getScenarioRationale(_0x3d7af3,_0x590384){const _0x26354b=_0x23f300,_0xf7a94f='1|2|0|4|3|5'['split']('|');let _0x55f4c2=0x0;while(!![]){switch(_0xf7a94f[_0x55f4c2++]){case'0':if(_0x3d7af3['incompleteReason'])return _0x3d7af3[_0x26354b(0x121)];continue;case'1':if(_0x590384)return _0x590384;continue;case'2':if(_0x3d7af3['blockedReason'])return _0x3d7af3[_0x26354b(0x127)];continue;case'3':if(_0x3d7af3[_0x26354b(0xa1)])return _0x3d7af3[_0x26354b(0xa1)];continue;case'4':if(_0x3d7af3[_0x26354b(0x102)])return _0x3d7af3[_0x26354b(0x102)];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0x3e597a,_0x4e5087){const _0x39e302=_0x23f300,_0x705c3={'KtxGf':function(_0xae59eb){return _0xae59eb();},'JNMkL':function(_0x3f4844,_0x5cc119,_0x2c77f3){return _0x3f4844(_0x5cc119,_0x2c77f3);},'OQyKG':_0x39e302(0xc6),'fBNOz':function(_0x11e90b,_0x61f0c2){return _0x11e90b>_0x61f0c2;},'iHAHH':'\x0aAvailable\x20scenarios:','Dxbbu':function(_0xd1e5ca,_0x506e60){return _0xd1e5ca+_0x506e60;},'JBdfv':_0x39e302(0xf6),'EpzCa':function(_0x1de38b,_0x217c1f,_0xe6e4c1,_0x10e371){return _0x1de38b(_0x217c1f,_0xe6e4c1,_0x10e371);}},_0x4ed920=_0x3e597a||await _0x705c3[_0x39e302(0x12e)](getActiveFeatureId);if(!_0x4ed920)throw new Error(_0x39e302(0xeb));const _0x4c7be8=await getFeature(_0x4ed920),_0x4a7ef4=_0x4c7be8[_0x39e302(0x12a)]||[],_0x1b39ed=_0x705c3['JNMkL'](getCurrentSessionItems,_0x4c7be8,_0x4a7ef4);_0x1b39ed['length']===0x0&&(console[_0x39e302(0x122)](_0x705c3[_0x39e302(0xb5)]),process['exit'](0x1));const _0x519f59=_0x4e5087[_0x39e302(0xb6)]??[],_0x46ba3f=_0x519f59['filter'](_0x1c725d=>!Number[_0x39e302(0x154)](_0x1c725d)||_0x1c725d<0x1||_0x1c725d>_0x1b39ed['length']);if(_0x705c3[_0x39e302(0x125)](_0x46ba3f['length'],0x0)){console[_0x39e302(0x122)](_0x39e302(0x120)+_0x46ba3f['join'](',\x20')),console[_0x39e302(0x115)](_0x705c3['iHAHH']);for(let _0x30e093=0x0;_0x30e093<_0x1b39ed['length'];_0x30e093++){console[_0x39e302(0x115)]('\x20\x20'+_0x705c3[_0x39e302(0x105)](_0x30e093,0x1)+'.\x20'+_0x1b39ed[_0x30e093][_0x39e302(0x11f)]);}process[_0x39e302(0xaa)](0x1);}const _0x221415=new Set(_0x519f59['map'](_0x32b1ad=>_0x32b1ad-0x1)),_0x5eef06=_0x1b39ed['filter']((_0x44d162,_0x18be61)=>!_0x221415[_0x39e302(0xc9)](_0x18be61));_0x5eef06['length']===0x0&&(console[_0x39e302(0x122)](_0x705c3[_0x39e302(0xd2)]),process[_0x39e302(0xaa)](0x1));if(_0x4e5087[_0x39e302(0xa5)])await _0x705c3['EpzCa'](outputJsonReport,_0x4ed920,_0x4c7be8,_0x5eef06);else{const _0x14c123=await getFeatureReportMarkdown(_0x4ed920,{'itemIds':_0x5eef06['map'](_0x5358a1=>_0x5358a1['id'])});process[_0x39e302(0x159)]['write'](_0x14c123['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x1edde8,_0x58e3f5,_0x567120){const _0x3162cf=_0x23f300,_0x332b36={'VjayR':function(_0x42710d,_0x40a09e){return _0x42710d>_0x40a09e;},'mnVdG':function(_0x7cc96b){return _0x7cc96b();}},_0x2298f8=_0x332b36[_0x3162cf(0x13f)](getApiBaseUrl),_0x3312f7=await getFeatureReport(_0x1edde8),_0x2a77bd=new Map(_0x3312f7['checklistItems']['map'](_0x2296a1=>[_0x2296a1['id'],_0x2296a1])),_0x4e2bc0=await Promise['all'](_0x567120[_0x3162cf(0x12b)](async _0x4ef518=>{const _0x128efd=_0x3162cf,_0x47afae=_0x2a77bd['get'](_0x4ef518['id']),_0x37f873=_0x47afae?.['linkedSession']??null;let _0xa16cb9=[];if(_0x4ef518['browserSessionId'])try{const {steps:_0x40d498}=await getBrowserSessionSteps(_0x4ef518[_0x128efd(0x10e)]);_0x332b36['VjayR'](_0x40d498[_0x128efd(0x150)],0x0)&&(_0xa16cb9=_0x40d498[_0x128efd(0x12b)](_0x568c19=>{const _0x5ab527=_0x128efd,_0x2b3981=_0x568c19['assets'][_0x5ab527(0x15b)](_0x17bf00=>_0x17bf00['assetType']==='screenshot'&&_0x17bf00['timing']===_0x5ab527(0x9e))??_0x568c19['assets']['find'](_0x55b8ff=>_0x55b8ff[_0x5ab527(0xb3)]==='screenshot');let _0x13681e=null,_0x523bda=null;if(_0x2b3981){const _0x257aed=_0x2b3981['storage']['location'][_0x5ab527(0x158)]('/')[_0x5ab527(0xd6)]();_0x13681e=_0x2298f8+_0x5ab527(0x98)+_0x4ef518['browserSessionId']+_0x5ab527(0xb1)+_0x257aed,_0x257aed&&(_0x523bda=_0x257aed['replace'](/\.\w+$/,'')[_0x5ab527(0x108)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x523bda||_0x568c19['description']||_0x568c19[_0x5ab527(0x14f)]||'Step\x20'+_0x568c19[_0x5ab527(0x123)],'screenshot':_0x13681e,'is_key_step':_0x568c19[_0x5ab527(0xd7)]};}));}catch{}return _0xa16cb9['length']===0x0&&_0x37f873?.[_0x128efd(0xe7)]&&(_0xa16cb9=_0x37f873[_0x128efd(0xe7)]['map']((_0x2ba058,_0x448a6c)=>({'description':'Screenshot\x20'+(_0x448a6c+0x1),'screenshot':_0x2ba058,'is_key_step':![]}))),{'description':_0x4ef518[_0x128efd(0x11f)],'result':getScenarioResult(_0x4ef518),'rationale':getScenarioRationale(_0x4ef518,_0x37f873?.['agentResponse']),'steps':_0xa16cb9};})),_0xeca52c={'url':_0x58e3f5[_0x3162cf(0x138)],'scenarios':_0x4e2bc0};process['stdout']['write'](JSON[_0x3162cf(0x15a)](_0xeca52c,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x4d2779){const _0x56c608=_0x23f300,_0x51d2d8={'BWKIZ':function(_0x12ff07,_0x4ffcfd){return _0x12ff07(_0x4ffcfd);},'mTjpe':_0x56c608(0x14e),'FotKF':_0x56c608(0xa2),'iLYaP':'\x0a✅\x20Session\x20is\x20already\x20completed.','FWzQZ':'in_progress'},_0x105016=_0x4d2779||await getActiveFeatureId();if(!_0x105016)throw new Error(_0x56c608(0x135));const _0x1e7e9a=await _0x51d2d8['BWKIZ'](getFeature,_0x105016);if(!_0x1e7e9a['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x49e327}=await listFeatureSessions(_0x105016),_0x1a56f8=_0x49e327['find'](_0xca6612=>_0xca6612['id']===_0x1e7e9a['currentSessionId']);if(!_0x1a56f8)throw new Error(_0x51d2d8[_0x56c608(0x12f)]);if(_0x1a56f8[_0x56c608(0x99)]===_0x51d2d8[_0x56c608(0xea)]){console[_0x56c608(0x115)](_0x51d2d8[_0x56c608(0xf3)]);return;}if(_0x1a56f8[_0x56c608(0x99)]!==_0x51d2d8['FWzQZ'])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x1a56f8[_0x56c608(0x99)]);console[_0x56c608(0x115)]('\x0aConcluding\x20session...'),await concludeSession(_0x105016,_0x1e7e9a[_0x56c608(0xce)]),console['log']('\x0a✅\x20Session\x20'+_0x1a56f8[_0x56c608(0xd1)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5412a4){const _0x4e2111=_0x23f300,_0x16812f={'XEGbx':function(_0xc0068e){return _0xc0068e();},'cqNzQ':_0x4e2111(0xeb),'oBXUe':function(_0x13433f,_0x5d7e7c){return _0x13433f(_0x5d7e7c);},'NRFHl':'No\x20sessions\x20found.','oVqwE':'completed','iDbAe':function(_0x49a548,_0x51209e){return _0x49a548===_0x51209e;}},_0x296df2=_0x5412a4||await _0x16812f['XEGbx'](getActiveFeatureId);if(!_0x296df2)throw new Error(_0x16812f[_0x4e2111(0xfd)]);const _0x4d24b9=await getFeature(_0x296df2);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x4d24b9['name']+'\x0a');const {sessions:_0x427718}=await _0x16812f[_0x4e2111(0xc4)](listFeatureSessions,_0x296df2);if(_0x427718[_0x4e2111(0x150)]===0x0){console['log'](_0x16812f[_0x4e2111(0xcb)]);return;}for(const _0x1e06a6 of _0x427718){const _0x4a5950=_0x1e06a6[_0x4e2111(0x99)]===_0x16812f['oVqwE']?'✅':_0x16812f['iDbAe'](_0x1e06a6[_0x4e2111(0x99)],_0x4e2111(0x11e))?'🔄':'▶️';console[_0x4e2111(0x115)](_0x4a5950+'\x20Session\x20'+_0x1e06a6[_0x4e2111(0xd1)]+'\x20('+_0x1e06a6['id']+')'),console[_0x4e2111(0x115)](_0x4e2111(0x10b)+_0x1e06a6[_0x4e2111(0x99)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x1e06a6['createdAt'])['toLocaleString']()),_0x1e06a6[_0x4e2111(0x155)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x1e06a6['completedAt'])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x9239af,_0x2d5896){const _0x3483a3=_0x23f300,_0xb1f393={'NDuxL':function(_0x2c9877){return _0x2c9877();},'knTGR':function(_0x2c8188,_0x597126,_0x204270){return _0x2c8188(_0x597126,_0x204270);},'uuWtm':function(_0x13598f,_0x2957bf){return _0x13598f(_0x2957bf);},'dsXcK':function(_0xe6f2e1,_0x2bd4f8,_0x40ddec){return _0xe6f2e1(_0x2bd4f8,_0x40ddec);}},_0x386848=_0x2d5896||await _0xb1f393['NDuxL'](getActiveFeatureId);if(!_0x386848)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 _0x44a96d=await getFeature(_0x386848);if(_0x44a96d['latestReview']&&!_0x44a96d[_0x3483a3(0x151)]['submittedAt'])throw new Error(_0x3483a3(0x12d)+_0x44a96d[_0x3483a3(0x138)]);await _0xb1f393[_0x3483a3(0xba)](createChecklistItem,_0x386848,_0x9239af);const _0x3be6c1=await _0xb1f393['uuWtm'](getFeature,_0x386848);console[_0x3483a3(0x115)](_0x3483a3(0xf8)),_0xb1f393[_0x3483a3(0x111)](displayFeature,_0x3be6c1,_0x3be6c1[_0x3483a3(0x12a)]);}export async function featureEditScenario(_0x2b84bb,_0x38e9cd){const _0x3115e1=_0x23f300,_0x3c0d01={'eAAEY':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','EcFpn':function(_0x1af208,_0x53fda7){return _0x1af208===_0x53fda7;},'OikYs':_0x3115e1(0x9b),'iGdci':_0x3115e1(0xaf),'Bxwin':function(_0x388e8e,_0x187f19){return _0x388e8e<_0x187f19;},'bcHVy':function(_0xacfd37,_0x496aa7){return _0xacfd37+_0x496aa7;},'OMhOw':function(_0x1eb676,_0x2f9aa5){return _0x1eb676-_0x2f9aa5;},'RrbaG':function(_0x28f9d0,_0x242410){return _0x28f9d0>=_0x242410;},'weBGc':function(_0x5d6cf0,_0x1ebfe9,_0x1f9394){return _0x5d6cf0(_0x1ebfe9,_0x1f9394);}},_0x169495=_0x38e9cd['id']||await getActiveFeatureId();!_0x169495&&(console[_0x3115e1(0x122)](_0x3c0d01[_0x3115e1(0xa0)]),console[_0x3115e1(0x122)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x3115e1(0xaa)](0x1));const _0x27848c=await getFeature(_0x169495);_0x27848c[_0x3115e1(0x151)]&&!_0x27848c[_0x3115e1(0x151)]['submittedAt']&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error']('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0x27848c[_0x3115e1(0x138)]),process['exit'](0x1));const _0x1e6a5c=_0x27848c[_0x3115e1(0x12a)]||[];_0x3c0d01['EcFpn'](_0x1e6a5c['length'],0x0)&&(console[_0x3115e1(0x122)](_0x3c0d01['OikYs']),process['exit'](0x1));if(_0x3c0d01['EcFpn'](_0x38e9cd['scenario'],undefined)){console['error'](_0x3c0d01['iGdci']),console[_0x3115e1(0x115)](_0x3115e1(0xe6));for(let _0x42b2a2=0x0;_0x3c0d01[_0x3115e1(0x149)](_0x42b2a2,_0x1e6a5c['length']);_0x42b2a2++){console[_0x3115e1(0x115)]('\x20\x20'+_0x3c0d01['bcHVy'](_0x42b2a2,0x1)+'.\x20'+_0x1e6a5c[_0x42b2a2][_0x3115e1(0x11f)]);}process['exit'](0x1);}const _0x260433=_0x3c0d01['OMhOw'](_0x38e9cd[_0x3115e1(0xf1)],0x1);if(_0x3c0d01[_0x3115e1(0x149)](_0x260433,0x0)||_0x3c0d01[_0x3115e1(0x129)](_0x260433,_0x1e6a5c['length'])){console[_0x3115e1(0x122)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x38e9cd['scenario']+_0x3115e1(0x144)+_0x1e6a5c['length']+_0x3115e1(0x13b)),console['log'](_0x3115e1(0xe6));for(let _0x7ec227=0x0;_0x7ec227<_0x1e6a5c['length'];_0x7ec227++){console[_0x3115e1(0x115)]('\x20\x20'+_0x3c0d01['bcHVy'](_0x7ec227,0x1)+'.\x20'+_0x1e6a5c[_0x7ec227]['description']);}process['exit'](0x1);}const _0x503639=_0x1e6a5c[_0x260433];await updateChecklistItem(_0x169495,_0x503639['id'],{'description':_0x2b84bb});const _0x223845=await getFeature(_0x169495);console[_0x3115e1(0x115)]('\x0a✅\x20Scenario\x20updated'),_0x3c0d01['weBGc'](displayFeature,_0x223845,_0x223845['checklistItems']);}async function downloadFeedbackImage(_0x6df001,_0x47d23e){const _0x23a627=_0x23f300,_0x274d1b={'XuUbd':function(_0x3f9ecd,_0x213b41,_0x1d3181){return _0x3f9ecd(_0x213b41,_0x1d3181);},'QAiur':_0x23a627(0x9a),'ZQYjl':function(_0x142bbe,_0x4b4e5e,_0x1a7760){return _0x142bbe(_0x4b4e5e,_0x1a7760);}};try{const _0xa2b166=_0x274d1b['XuUbd'](join,getRangerDir(),_0x274d1b[_0x23a627(0x13d)]);await mkdir(_0xa2b166,{'recursive':!![]});const _0x343275=join(_0xa2b166,_0x23a627(0xe8)+_0x47d23e+'.png'),_0x5098d6=await fetch(_0x6df001);if(!_0x5098d6['ok'])return null;const _0x317f31=Buffer[_0x23a627(0x112)](await _0x5098d6[_0x23a627(0x140)]());return await _0x274d1b['ZQYjl'](writeFile,_0x343275,_0x317f31),_0x343275;}catch{return null;}}export async function featureGetReview(_0x2286f9){const _0x32fe87=_0x23f300,_0x4ea732={'WvAox':function(_0x1d0fb2){return _0x1d0fb2();},'gqTWK':_0x32fe87(0x135),'Uenge':function(_0x517aba,_0x58e97e){return _0x517aba(_0x58e97e);},'TxvNP':function(_0x228a63,_0x5b07a8){return _0x228a63===_0x5b07a8;},'SFncG':function(_0x5bcab8,_0x5739d2,_0x83d069){return _0x5bcab8(_0x5739d2,_0x83d069);},'oLmyz':function(_0x2f72c1,_0x45b8cb){return _0x2f72c1>_0x45b8cb;},'WIINg':'numeric','KxvHB':'Unknown','uzBUd':'\x20>\x20'},_0x10eb6f=_0x2286f9||await _0x4ea732['WvAox'](getActiveFeatureId);if(!_0x10eb6f)throw new Error(_0x4ea732['gqTWK']);const _0x1fc065=await getFeature(_0x10eb6f),{items:_0x1ef99e}=await _0x4ea732[_0x32fe87(0x10f)](getActionItems,_0x10eb6f);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x1fc065[_0x32fe87(0x148)]+'\x20('+_0x1fc065['id']+')\x0a');if(_0x4ea732[_0x32fe87(0xa8)](_0x1ef99e['length'],0x0)){console['log']('No\x20scenarios\x20found.');return;}for(let _0x5af75f=0x0;_0x5af75f<_0x1ef99e['length'];_0x5af75f++){const _0x2fd657=_0x1ef99e[_0x5af75f],_0x1e9cf4=_0x2fd657['version']>0x1?_0x32fe87(0x13a)+_0x2fd657[_0x32fe87(0xa4)]+')':'',_0x40c809=await _0x4ea732[_0x32fe87(0x142)](getItemFeedback,_0x10eb6f,_0x2fd657['id']);if(_0x4ea732['oLmyz'](_0x40c809['unaddressedComments']['length'],0x0)){console[_0x32fe87(0x115)](_0x32fe87(0xab)+(_0x5af75f+0x1)+':\x20\x22'+_0x2fd657['description']+'\x22'+_0x1e9cf4+'\x20—\x20'+_0x40c809[_0x32fe87(0xf5)][_0x32fe87(0x150)]+'\x20unaddressed\x20comment(s)');for(const _0x5cbaad of _0x40c809[_0x32fe87(0xf5)]){const _0x55dfbe=new Date(_0x5cbaad['createdAt'])[_0x32fe87(0x146)](_0x32fe87(0x101),{'month':'short','day':_0x4ea732['WIINg']}),_0x931fe5=_0x5cbaad['authorName']||_0x5cbaad[_0x32fe87(0x143)]||_0x4ea732[_0x32fe87(0xec)];console[_0x32fe87(0x115)]('\x20\x20💬\x20'+_0x931fe5+'\x20('+_0x55dfbe+'):\x20\x22'+_0x5cbaad[_0x32fe87(0x110)]+'\x22');if(_0x5cbaad[_0x32fe87(0x97)]){const _0x599dd1=await downloadFeedbackImage(_0x5cbaad[_0x32fe87(0x97)],_0x5cbaad['id']);_0x599dd1&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x599dd1);}if(_0x5cbaad[_0x32fe87(0x14a)]){const _0x20f017=_0x5cbaad['domRef']['selector'][_0x32fe87(0x158)](_0x4ea732[_0x32fe87(0x147)])['pop']()?.[_0x32fe87(0x158)](':')[0x0]||_0x32fe87(0x116),_0x91a2f4=_0x5cbaad[_0x32fe87(0x14a)][_0x32fe87(0x95)]?'\x20\x22'+_0x5cbaad['domRef'][_0x32fe87(0x95)]['slice'](0x0,0x3c)+'\x22':'';console[_0x32fe87(0x115)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x20f017+'>'+_0x91a2f4),console['log'](_0x32fe87(0x103)+_0x5cbaad['domRef']['selector']);}else{if(_0x5cbaad['spatial']){const _0x18549e=_0x5cbaad['spatial'][_0x32fe87(0xbd)];_0x4ea732['TxvNP'](_0x5cbaad[_0x32fe87(0x9c)][_0x32fe87(0xb2)],_0x32fe87(0x131))&&_0x18549e[_0x32fe87(0x150)]>=0x2?console['log'](_0x32fe87(0xcc)+_0x18549e[0x0]['toFixed'](0x2)+',\x20'+_0x18549e[0x1][_0x32fe87(0xb8)](0x2)+')'):console['log'](_0x32fe87(0xe2)+_0x5cbaad[_0x32fe87(0x9c)][_0x32fe87(0xb2)]+'\x20at\x20['+_0x18549e[_0x32fe87(0x12b)](_0x270db5=>_0x270db5[_0x32fe87(0xb8)](0x2))['join'](',\x20')+']');}}}if(_0x40c809[_0x32fe87(0xb0)]){console['log'](_0x32fe87(0x10d));for(const _0x5b1f2c of _0x40c809['canonicalFlow']['split']('\x0a')){console['log'](_0x32fe87(0xf7)+_0x5b1f2c);}}}else console['log']('Scenario\x20'+(_0x5af75f+0x1)+':\x20\x22'+_0x2fd657[_0x32fe87(0x11f)]+'\x22'+_0x1e9cf4+_0x32fe87(0xc7)),console['log'](_0x32fe87(0x141));console[_0x32fe87(0x115)]('');}}export async function featureDelete(_0x316b62){const _0x52bc77=_0x23f300,_0x11b20c={'Ikvts':_0x52bc77(0x135),'WGKiA':function(_0x554d4c,_0x24acce){return _0x554d4c(_0x24acce);},'hDTqf':function(_0x11e56d,_0x11a61a){return _0x11e56d(_0x11a61a);},'tbLny':function(_0xd20648,_0xd1d60b){return _0xd20648+_0xd1d60b;}},_0x5f0378=_0x316b62||await getActiveFeatureId();if(!_0x5f0378)throw new Error(_0x11b20c['Ikvts']);const _0x2e94e2=await _0x11b20c[_0x52bc77(0xf9)](getFeature,_0x5f0378);await _0x11b20c[_0x52bc77(0x157)](softDeleteFeature,_0x5f0378),console[_0x52bc77(0x115)](_0x52bc77(0x130)+_0x2e94e2['name']+'\x20('+_0x5f0378+')'),console[_0x52bc77(0x115)](_0x11b20c['tbLny'](_0x52bc77(0xf0),_0x5f0378));}export async function featureRestore(_0x285cb3){const _0x75b5b9=_0x23f300,_0x235970={'gQQlf':function(_0x4724a9,_0x52374d){return _0x4724a9(_0x52374d);},'vLMBX':function(_0x3a30f6,_0x1fe92e,_0x543406){return _0x3a30f6(_0x1fe92e,_0x543406);}};await restoreFeature(_0x285cb3);const _0x244894=await _0x235970['gQQlf'](getFeature,_0x285cb3);console['log'](_0x75b5b9(0xf4)+_0x244894[_0x75b5b9(0x148)]+'\x20('+_0x285cb3+')'),_0x235970[_0x75b5b9(0x128)](displayFeature,_0x244894,_0x244894[_0x75b5b9(0x12a)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4ee5(_0x41a145,_0x5013c5){_0x41a145=_0x41a145-0x10d;const _0x315196=_0x3151();let _0x4ee5b4=_0x315196[_0x41a145];return _0x4ee5b4;}(function(_0x46d8a7,_0x20ae97){const _0x50a343=_0x4ee5,_0x537014=_0x46d8a7();while(!![]){try{const _0x43dcdb=-parseInt(_0x50a343(0x118))/0x1+-parseInt(_0x50a343(0x119))/0x2*(-parseInt(_0x50a343(0x111))/0x3)+parseInt(_0x50a343(0x10f))/0x4*(-parseInt(_0x50a343(0x116))/0x5)+-parseInt(_0x50a343(0x114))/0x6*(parseInt(_0x50a343(0x10e))/0x7)+parseInt(_0x50a343(0x10d))/0x8+parseInt(_0x50a343(0x110))/0x9+parseInt(_0x50a343(0x115))/0xa;if(_0x43dcdb===_0x20ae97)break;else _0x537014['push'](_0x537014['shift']());}catch(_0x6c05a3){_0x537014['push'](_0x537014['shift']());}}}(_0x3151,0xecae6));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x3151(){const _0x34d1f1=['apcEm','error','4194444ZKhqKY','40603070zwLjou','28850EFFUhP','keys','1750923WXKcNp','2anqHjk','Unknown\x20hook:\x20','Valid\x20hooks:\x20','5254936WwdyJf','14azpaFX','668oJSfAQ','2468070NTqoXZ','272109NfwhrJ'];_0x3151=function(){return _0x34d1f1;};return _0x3151();}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};export async function hook(_0x47c998,_0x599cf0){const _0x4bb08c=_0x4ee5,_0x3bae6d={'apcEm':function(_0x3873d6,_0x209b8d){return _0x3873d6(_0x209b8d);}},_0x46d445=HOOKS[_0x47c998];if(!_0x46d445){const _0x1e9f77=Object[_0x4bb08c(0x117)](HOOKS)['join'](',\x20');console['error'](_0x4bb08c(0x11a)+_0x47c998),console[_0x4bb08c(0x113)](_0x4bb08c(0x11b)+_0x1e9f77),process['exit'](0x1);}await _0x3bae6d[_0x4bb08c(0x112)](_0x46d445,_0x599cf0);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x7f66a2=_0x5781;(function(_0x17702c,_0x501684){const _0x519203=_0x5781,_0x11cca7=_0x17702c();while(!![]){try{const _0x4d4dde=parseInt(_0x519203(0x105))/0x1+-parseInt(_0x519203(0x110))/0x2*(parseInt(_0x519203(0x10c))/0x3)+parseInt(_0x519203(0x10d))/0x4*(parseInt(_0x519203(0x10b))/0x5)+-parseInt(_0x519203(0x10a))/0x6+-parseInt(_0x519203(0x111))/0x7*(-parseInt(_0x519203(0x106))/0x8)+-parseInt(_0x519203(0x109))/0x9*(parseInt(_0x519203(0x10f))/0xa)+-parseInt(_0x519203(0x10e))/0xb*(-parseInt(_0x519203(0x108))/0xc);if(_0x4d4dde===_0x501684)break;else _0x11cca7['push'](_0x11cca7['shift']());}catch(_0x1873a6){_0x11cca7['push'](_0x11cca7['shift']());}}}(_0x23d3,0xc0edc));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x7f66a2(0x112);export async function autoPrompt(){const _0x1b27f9=_0x7f66a2,_0x22f61e={'eOQEG':function(_0x13842d){return _0x13842d();}},_0x12f3f2=await _0x22f61e['eOQEG'](readHookInput),_0x5f1e63=_0x12f3f2?.['session_id'];if(!_0x5f1e63)return;if(isSessionEnabled(_0x5f1e63)||hasSessionBeenPrompted(_0x5f1e63))return;markSessionPrompted(_0x5f1e63),console[_0x1b27f9(0x107)](AUTO_PROMPT_TEXT);}function _0x5781(_0x2bfd2c,_0x3ed0f7){_0x2bfd2c=_0x2bfd2c-0x105;const _0x23d3dd=_0x23d3();let _0x578102=_0x23d3dd[_0x2bfd2c];return _0x578102;}function _0x23d3(){const _0x10db13=['88IBMGkL','1208760JDeDrR','1139234PtmEYm','28AHgmVC','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','1040545dFOAcD','2675224lPHhEP','log','851868cabfuA','27IJJMbD','7655442XuhSbZ','35QlWfkZ','6OgCiYm','355392uCzDox'];_0x23d3=function(){return _0x10db13;};return _0x23d3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x15aaad,_0x14f1db){const _0x26affb=_0x388d,_0x56af56=_0x15aaad();while(!![]){try{const _0x315c03=parseInt(_0x26affb(0x140))/0x1*(-parseInt(_0x26affb(0x148))/0x2)+-parseInt(_0x26affb(0x146))/0x3+parseInt(_0x26affb(0x14d))/0x4+-parseInt(_0x26affb(0x13c))/0x5*(-parseInt(_0x26affb(0x145))/0x6)+parseInt(_0x26affb(0x14a))/0x7+-parseInt(_0x26affb(0x149))/0x8+-parseInt(_0x26affb(0x139))/0x9*(-parseInt(_0x26affb(0x13e))/0xa);if(_0x315c03===_0x14f1db)break;else _0x56af56['push'](_0x56af56['shift']());}catch(_0x1a4db4){_0x56af56['push'](_0x56af56['shift']());}}}(_0x19aa,0xaf656));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x19aa(){const _0xbe848f=['master','117NqhiUf','KQItt','CLAUDE_SESSION_ID','5528605gUxeKe','yEJjJ','814010FJdTnQ','\x20and\x20branch\x20\x27','30994HidLvb','main','exit','error','UbVHm','6ttFoBP','2536308YddIjp','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','88qRQsZt','591344ZBNrAw','539420VscdjB','env','AcfFK','3042072pYcefp'];_0x19aa=function(){return _0xbe848f;};return _0x19aa();}function _0x388d(_0x44d5bd,_0x26d4ef){_0x44d5bd=_0x44d5bd-0x139;const _0x19aa12=_0x19aa();let _0x388d91=_0x19aa12[_0x44d5bd];return _0x388d91;}export async function disable(_0x49d55b){const _0x28dcfc=_0x388d,_0x55d289={'WwWNM':'Error:\x20No\x20session\x20ID\x20available.','IhFfC':'Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','yEJjJ':function(_0x26a516){return _0x26a516();},'AcfFK':function(_0x19ff1a,_0x50f9c0){return _0x19ff1a!==_0x50f9c0;},'KQItt':function(_0x1d18f9,_0x5c3878){return _0x1d18f9(_0x5c3878);},'UbVHm':function(_0x3eebd0,_0x24bdc9){return _0x3eebd0!==_0x24bdc9;}},_0x1812a6=_0x49d55b||process[_0x28dcfc(0x14b)][_0x28dcfc(0x13b)]||'';!_0x1812a6&&(console[_0x28dcfc(0x143)](_0x55d289['WwWNM']),console['error'](_0x55d289['IhFfC']),process[_0x28dcfc(0x142)](0x1));disableSession(_0x1812a6);const _0x176b99=_0x55d289[_0x28dcfc(0x13d)](getCurrentBranch);_0x176b99&&_0x176b99!==_0x28dcfc(0x141)&&_0x55d289[_0x28dcfc(0x14c)](_0x176b99,'master')&&_0x55d289[_0x28dcfc(0x13a)](disableBranch,_0x176b99),printBlock(_0x28dcfc(0x147)+(_0x176b99&&_0x176b99!=='main'&&_0x55d289[_0x28dcfc(0x144)](_0x176b99,_0x28dcfc(0x14e))?_0x28dcfc(0x13f)+_0x176b99+'\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 _0x5618(_0x4b795d,_0x37a72f){_0x4b795d=_0x4b795d-0x194;const _0x17706c=_0x1770();let _0x561877=_0x17706c[_0x4b795d];return _0x561877;}(function(_0x1c609c,_0x5ce584){const _0x42375a=_0x5618,_0x43c379=_0x1c609c();while(!![]){try{const _0x3555b3=-parseInt(_0x42375a(0x197))/0x1+parseInt(_0x42375a(0x19a))/0x2+parseInt(_0x42375a(0x1a5))/0x3*(parseInt(_0x42375a(0x1a1))/0x4)+-parseInt(_0x42375a(0x1a2))/0x5+-parseInt(_0x42375a(0x19d))/0x6+-parseInt(_0x42375a(0x1a8))/0x7+parseInt(_0x42375a(0x1a6))/0x8;if(_0x3555b3===_0x5ce584)break;else _0x43c379['push'](_0x43c379['shift']());}catch(_0x4c33fc){_0x43c379['push'](_0x43c379['shift']());}}}(_0x1770,0x8f0de));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x1770(){const _0x425047=['ranger\x20setup','main','3868444RZGsHp','5619200vtkWjy','#\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`','VWINo','3oXEhbx','18690880VZEaBg','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','7348929qEEoey','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','error','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','\x0a\x0a**Branch\x20\x27','rWVKC','771401kykEcO','#\x20RANGER\x20ENABLED','CLAUDE_SESSION_ID','1962536WfIWRb','exit','aQIFX','4522206OCtaCq','JDstj'];_0x1770=function(){return _0x425047;};return _0x1770();}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x408d8e){const _0x570131=_0x5618,_0x74dfdc={'eDLxQ':function(_0x115cf4,_0x1f28cb){return _0x115cf4(_0x1f28cb);},'rWVKC':function(_0x1f7da3){return _0x1f7da3();},'ZmTNh':'ranger\x20setup\x20--opencode','FQtOM':_0x570131(0x19f),'aQIFX':function(_0xb6e8cd){return _0xb6e8cd();},'VWINo':function(_0x59e122,_0x15f026){return _0x59e122!==_0x15f026;},'JDstj':'master','XqdwS':function(_0x13032a,_0x4b5b3f){return _0x13032a(_0x4b5b3f);}},_0x232117=_0x408d8e||process['env'][_0x570131(0x199)]||'';!_0x232117&&(console[_0x570131(0x1aa)]('Error:\x20No\x20session\x20ID\x20available.'),console[_0x570131(0x1aa)]('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process[_0x570131(0x19b)](0x1));const _0x48bb06=_0x74dfdc['eDLxQ'](Boolean,_0x408d8e),_0x2eb34a=await _0x74dfdc[_0x570131(0x196)](getToken);if(!_0x2eb34a){const _0x13655=_0x48bb06?_0x74dfdc['ZmTNh']:_0x74dfdc['FQtOM'],_0x482b5f=_0x48bb06?_0x570131(0x1a7):_0x570131(0x194);printBlock(_0x570131(0x1a3)+_0x13655+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x482b5f);return;}try{await _0x74dfdc[_0x570131(0x196)](update);}catch{}enableSession(_0x232117);const _0x3b82f2=_0x74dfdc[_0x570131(0x19c)](getCurrentBranch),_0x54597b=_0x3b82f2&&_0x74dfdc[_0x570131(0x1a4)](_0x3b82f2,_0x570131(0x1a0))&&_0x3b82f2!==_0x74dfdc[_0x570131(0x19e)]?_0x570131(0x195)+_0x3b82f2+_0x570131(0x1a9):'',_0x1b60e4=getRangerSkillContent();_0x74dfdc['XqdwS'](printBlock,_0x570131(0x198)+_0x54597b+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x1b60e4+'\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`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2304(){const _0x230c25=['1799870ZWFtdi','2075638GXWMPF','526648JiLeCQ','3Hirzte','29642688QLTwRi','1694440gdUhZx','30101ciaUVp','112ctgWGV','2185542QnbwgV'];_0x2304=function(){return _0x230c25;};return _0x2304();}(function(_0x33caa1,_0x551e7b){const _0x31e625=_0x59f9,_0xe6b868=_0x33caa1();while(!![]){try{const _0x2d4ded=-parseInt(_0x31e625(0xb2))/0x1+-parseInt(_0x31e625(0xb6))/0x2*(parseInt(_0x31e625(0xb8))/0x3)+-parseInt(_0x31e625(0xb1))/0x4+-parseInt(_0x31e625(0xb5))/0x5+parseInt(_0x31e625(0xb4))/0x6+parseInt(_0x31e625(0xb3))/0x7*(-parseInt(_0x31e625(0xb7))/0x8)+parseInt(_0x31e625(0xb0))/0x9;if(_0x2d4ded===_0x551e7b)break;else _0xe6b868['push'](_0xe6b868['shift']());}catch(_0x4a9bfa){_0xe6b868['push'](_0xe6b868['shift']());}}}(_0x2304,0xb7dc1));function _0x59f9(_0x2e0b61,_0x4f1e71){_0x2e0b61=_0x2e0b61-0xb0;const _0x230499=_0x2304();let _0x59f9d3=_0x230499[_0x2e0b61];return _0x59f9d3;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x44e59a){const _0x5213ce=await getEnabledSessionId(_0x44e59a);if(!_0x5213ce)return;printBlock('===\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===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x14df15,_0x508942){var _0x1d116e=_0x1df9,_0x21403c=_0x14df15();while(!![]){try{var _0x6edfe7=-parseInt(_0x1d116e(0x11e))/0x1*(-parseInt(_0x1d116e(0x116))/0x2)+-parseInt(_0x1d116e(0x11a))/0x3+parseInt(_0x1d116e(0x11b))/0x4*(-parseInt(_0x1d116e(0x11d))/0x5)+parseInt(_0x1d116e(0x11c))/0x6*(parseInt(_0x1d116e(0x117))/0x7)+-parseInt(_0x1d116e(0x119))/0x8*(-parseInt(_0x1d116e(0x11f))/0x9)+parseInt(_0x1d116e(0x115))/0xa+-parseInt(_0x1d116e(0x118))/0xb;if(_0x6edfe7===_0x508942)break;else _0x21403c['push'](_0x21403c['shift']());}catch(_0x3b0e49){_0x21403c['push'](_0x21403c['shift']());}}}(_0x223d,0xdc23c));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x223d(){var _0x297250=['4DbgeYI','360642MlreAY','1223385mfiFrB','3VfAVkN','45AYpKvQ','10755920UcuGxb','1055386nbQhae','35IYGZvK','11106634mmHvSl','669160THRSTG','3664104PBIXru'];_0x223d=function(){return _0x297250;};return _0x223d();}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x1df9(_0x76a067,_0x596fcf){_0x76a067=_0x76a067-0x115;var _0x223d3b=_0x223d();var _0x1df914=_0x223d3b[_0x76a067];return _0x1df914;}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x19bbf5,_0x2b591f){const _0x213c0a=_0x4e8d,_0x2b90a6=_0x19bbf5();while(!![]){try{const _0x530a00=parseInt(_0x213c0a(0xbc))/0x1+parseInt(_0x213c0a(0xb7))/0x2*(-parseInt(_0x213c0a(0xbe))/0x3)+parseInt(_0x213c0a(0xba))/0x4*(-parseInt(_0x213c0a(0xb8))/0x5)+-parseInt(_0x213c0a(0xb6))/0x6+-parseInt(_0x213c0a(0xc1))/0x7*(-parseInt(_0x213c0a(0xbb))/0x8)+parseInt(_0x213c0a(0xbf))/0x9*(-parseInt(_0x213c0a(0xc0))/0xa)+parseInt(_0x213c0a(0xb4))/0xb;if(_0x530a00===_0x2b591f)break;else _0x2b90a6['push'](_0x2b90a6['shift']());}catch(_0x35afe8){_0x2b90a6['push'](_0x2b90a6['shift']());}}}(_0xd829,0x4ca70));function _0x4e8d(_0x1eebc8,_0x4cf028){_0x1eebc8=_0x1eebc8-0xb3;const _0xd8298b=_0xd829();let _0x4e8dad=_0xd8298b[_0x1eebc8];return _0x4e8dad;}import{isSessionEnabled}from'../utils/sessionCache.js';function _0xd829(){const _0x4fdb3c=['CiJiU','parse','session_id','cUmeb','6207201OTbzOn','log','2330130wTVTex','374IIElEA','1640OYpTwn','YyVsG','6332gxcmFc','35504uNUtVk','124798HVWVEq','aocPR','486jkBTZT','2727SGmUHj','1640lDzXLB','966iGVDnx'];_0xd829=function(){return _0x4fdb3c;};return _0xd829();}export function printBlock(_0x40dbf1){const _0x3c7d44=_0x4e8d;console[_0x3c7d44(0xb5)](_0x40dbf1);}export async function readHookInput(){const _0x44626d=_0x4e8d;let _0x4d3c8a='';for await(const _0x4e38bd of process['stdin']){_0x4d3c8a+=_0x4e38bd;}try{return JSON[_0x44626d(0xc3)](_0x4d3c8a);}catch{return null;}}export async function getEnabledSessionId(_0x52b839){const _0x5eb180=_0x4e8d,_0x4dcf24={'CiJiU':function(_0x26cb3d,_0x19671c){return _0x26cb3d(_0x19671c);},'cUmeb':function(_0x18f1b8){return _0x18f1b8();}};if(_0x52b839)return _0x4dcf24[_0x5eb180(0xc2)](isSessionEnabled,_0x52b839)?_0x52b839:null;const _0x46c21e=await _0x4dcf24[_0x5eb180(0xb3)](readHookInput),_0x47838b=_0x46c21e?.[_0x5eb180(0xc4)];if(!_0x47838b||!_0x4dcf24['CiJiU'](isSessionEnabled,_0x47838b))return null;return _0x47838b;}export async function getEnabledHookContext(_0x381b0a){const _0x2f5d7c=_0x4e8d,_0x58c801={'YyVsG':function(_0x64c8f,_0x4001ac){return _0x64c8f(_0x4001ac);},'aocPR':function(_0x238de8){return _0x238de8();},'FmWTE':function(_0x29caab,_0x3630be){return _0x29caab(_0x3630be);}};if(_0x381b0a){if(!_0x58c801[_0x2f5d7c(0xb9)](isSessionEnabled,_0x381b0a))return null;return{'sessionId':_0x381b0a,'input':{'session_id':_0x381b0a}};}const _0x2a3c54=await _0x58c801[_0x2f5d7c(0xbd)](readHookInput),_0x5b622b=_0x2a3c54?.['session_id'];if(!_0x5b622b||!_0x58c801['FmWTE'](isSessionEnabled,_0x5b622b))return null;return{'sessionId':_0x5b622b,'input':_0x2a3c54};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x5d7d(){const _0x12cdc8=['15688590QPAEvD','plan','1911042fKFciv','262245fLxwAD','92152EHcicZ','4leGCRP','1525419BJGwbi','sessionId','permission_mode','144yWejGe','775963QSIiHo','jOveR','18nHQgjl','input','3016161lPVmeq','===\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==='];_0x5d7d=function(){return _0x12cdc8;};return _0x5d7d();}(function(_0x3806b3,_0x5da07a){const _0x1e46dd=_0x2287,_0x5a92be=_0x3806b3();while(!![]){try{const _0x214374=-parseInt(_0x1e46dd(0x188))/0x1+-parseInt(_0x1e46dd(0x180))/0x2+parseInt(_0x1e46dd(0x18c))/0x3*(parseInt(_0x1e46dd(0x183))/0x4)+-parseInt(_0x1e46dd(0x181))/0x5*(-parseInt(_0x1e46dd(0x18a))/0x6)+-parseInt(_0x1e46dd(0x184))/0x7+-parseInt(_0x1e46dd(0x182))/0x8*(parseInt(_0x1e46dd(0x187))/0x9)+parseInt(_0x1e46dd(0x18e))/0xa;if(_0x214374===_0x5da07a)break;else _0x5a92be['push'](_0x5a92be['shift']());}catch(_0x5ee6c9){_0x5a92be['push'](_0x5a92be['shift']());}}}(_0x5d7d,0x91f80));import{printBlock,getEnabledHookContext}from'./output.js';function _0x2287(_0x3fce0b,_0x3d0b3a){_0x3fce0b=_0x3fce0b-0x180;const _0x5d7d51=_0x5d7d();let _0x22873e=_0x5d7d51[_0x3fce0b];return _0x22873e;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x49f754){const _0x5e28b9=_0x2287,_0x51b264={'EZScU':function(_0xbaec9a,_0xeed096){return _0xbaec9a!==_0xeed096;},'guTuT':_0x5e28b9(0x18f),'jOveR':function(_0x47c4f9,_0x74d320){return _0x47c4f9(_0x74d320);}},_0x53b1dd=await getEnabledHookContext(_0x49f754);if(!_0x53b1dd)return;if(_0x51b264['EZScU'](_0x53b1dd[_0x5e28b9(0x18b)][_0x5e28b9(0x186)],_0x51b264['guTuT']))return;if(!_0x51b264[_0x5e28b9(0x189)](shouldShowPlanReminder,_0x53b1dd[_0x5e28b9(0x185)]))return;printBlock(_0x5e28b9(0x18d));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1c12e9,_0x2ab230){const _0x4ba1b4=_0x1e57,_0x54dcca=_0x1c12e9();while(!![]){try{const _0x2cd651=parseInt(_0x4ba1b4(0xa0))/0x1+-parseInt(_0x4ba1b4(0x9a))/0x2+-parseInt(_0x4ba1b4(0x99))/0x3+-parseInt(_0x4ba1b4(0xa1))/0x4+parseInt(_0x4ba1b4(0x9f))/0x5+parseInt(_0x4ba1b4(0x9d))/0x6*(parseInt(_0x4ba1b4(0x9e))/0x7)+parseInt(_0x4ba1b4(0x98))/0x8;if(_0x2cd651===_0x2ab230)break;else _0x54dcca['push'](_0x54dcca['shift']());}catch(_0x44300f){_0x54dcca['push'](_0x54dcca['shift']());}}}(_0x5a81,0xac7a2));function _0x1e57(_0x55bd6f,_0x54c353){_0x55bd6f=_0x55bd6f-0x98;const _0x5a81d0=_0x5a81();let _0x1e5778=_0x5a81d0[_0x55bd6f];return _0x1e5778;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x5a81(){const _0x5751cf=['20706488tnCHHH','4170681jJgMeI','1567252PavDDK','wpTAW','===\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===','19806TXdLJq','7wrfKMc','926475SmRSat','345317lgkBbJ','967620jYFHIi'];_0x5a81=function(){return _0x5751cf;};return _0x5a81();}export async function planStart(_0x45d031){const _0x163a31=_0x1e57,_0x3e9664={'wpTAW':function(_0x301a90,_0x1fbcaa){return _0x301a90(_0x1fbcaa);}},_0x222dce=await _0x3e9664[_0x163a31(0x9b)](getEnabledSessionId,_0x45d031);if(!_0x222dce)return;printBlock(_0x163a31(0x9c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0xfab2(){const _0x36d347=['log','1805410HXDxbW','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.','4304HCJlUB','ljLTE','90363RkDFrY','4CzKqUm','4501981UUQVIo','18uQTOfG','696848oGkZRi','102UVVOay','9Kircef','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).','359610FseyEa','73980CFAtzn','stringify'];_0xfab2=function(){return _0x36d347;};return _0xfab2();}(function(_0x2819ec,_0x2eefc6){const _0x40ca6a=_0x3514,_0x57d895=_0x2819ec();while(!![]){try{const _0x36272d=-parseInt(_0x40ca6a(0x79))/0x1+parseInt(_0x40ca6a(0x7e))/0x2*(-parseInt(_0x40ca6a(0x73))/0x3)+-parseInt(_0x40ca6a(0x71))/0x4*(parseInt(_0x40ca6a(0x78))/0x5)+-parseInt(_0x40ca6a(0x75))/0x6*(parseInt(_0x40ca6a(0x70))/0x7)+-parseInt(_0x40ca6a(0x74))/0x8+parseInt(_0x40ca6a(0x76))/0x9*(parseInt(_0x40ca6a(0x7c))/0xa)+parseInt(_0x40ca6a(0x72))/0xb;if(_0x36272d===_0x2eefc6)break;else _0x57d895['push'](_0x57d895['shift']());}catch(_0x5664b6){_0x57d895['push'](_0x57d895['shift']());}}}(_0xfab2,0x1e617));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x3514(_0x2687e7,_0x4e25f7){_0x2687e7=_0x2687e7-0x6f;const _0xfab21c=_0xfab2();let _0x35140b=_0xfab21c[_0x2687e7];return _0x35140b;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x455300){const _0x4e3a0c=_0x3514,_0x7af7f9={'ljLTE':function(_0x148d6c,_0x1ea805){return _0x148d6c(_0x1ea805);}},_0x47f32a=await getEnabledSessionId(_0x455300);if(!_0x47f32a)return;updateBranchTracking(_0x47f32a);const _0x5471e1=await getToken();if(!_0x5471e1)return;const _0x286e32=_0x7af7f9[_0x4e3a0c(0x6f)](getSessionEntry,_0x47f32a);if(_0x286e32){const _0x528a7f={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x4e3a0c(0x77)}};console[_0x4e3a0c(0x7b)](JSON[_0x4e3a0c(0x7a)](_0x528a7f));return;}const _0x215a7b={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x4e3a0c(0x7d)}};console['log'](JSON[_0x4e3a0c(0x7a)](_0x215a7b));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2ec1a7,_0x1ec919){const _0x4d0806=_0x190c,_0x4bcf19=_0x2ec1a7();while(!![]){try{const _0x710039=parseInt(_0x4d0806(0x7c))/0x1+parseInt(_0x4d0806(0x7e))/0x2+-parseInt(_0x4d0806(0x84))/0x3+parseInt(_0x4d0806(0x82))/0x4*(-parseInt(_0x4d0806(0x80))/0x5)+parseInt(_0x4d0806(0x81))/0x6*(parseInt(_0x4d0806(0x85))/0x7)+-parseInt(_0x4d0806(0x7b))/0x8*(-parseInt(_0x4d0806(0x7d))/0x9)+-parseInt(_0x4d0806(0x7f))/0xa;if(_0x710039===_0x1ec919)break;else _0x4bcf19['push'](_0x4bcf19['shift']());}catch(_0x5396de){_0x4bcf19['push'](_0x4bcf19['shift']());}}}(_0x1c6a,0x721d5));import{getToken}from'../utils/keychain.js';function _0x1c6a(){const _0xc1a2e6=['===\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`.','2145060LOAROH','3465217HwhHMO','EdOpm','16QfmpdG','842804WEBbpy','3534093KwdmKG','1617794YceiWc','11493390PDAJHM','110kekejH','6iZWEos','109148tzblyM'];_0x1c6a=function(){return _0xc1a2e6;};return _0x1c6a();}function _0x190c(_0x472809,_0x20c900){_0x472809=_0x472809-0x7a;const _0x1c6a6b=_0x1c6a();let _0x190ce5=_0x1c6a6b[_0x472809];return _0x190ce5;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x15d592){const _0x2d5e96=_0x190c,_0xf98143={'lNvyO':function(_0x5704c3){return _0x5704c3();},'EdOpm':function(_0x1e8fca,_0x3bf18d){return _0x1e8fca(_0x3bf18d);}},_0x1558d4=await getEnabledSessionId(_0x15d592);if(!_0x1558d4)return;try{const _0x2f7449=await _0xf98143['lNvyO'](getToken);if(!_0x2f7449)return;_0xf98143[_0x2d5e96(0x7a)](printBlock,_0x2d5e96(0x83));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5b4d8f,_0x52a747){const _0x3159c3=_0x1b8e,_0x424052=_0x5b4d8f();while(!![]){try{const _0xaac2d7=-parseInt(_0x3159c3(0x1e7))/0x1+-parseInt(_0x3159c3(0x1e6))/0x2+-parseInt(_0x3159c3(0x1ec))/0x3+-parseInt(_0x3159c3(0x1eb))/0x4*(-parseInt(_0x3159c3(0x1ea))/0x5)+-parseInt(_0x3159c3(0x1e8))/0x6+parseInt(_0x3159c3(0x1ef))/0x7+parseInt(_0x3159c3(0x1e9))/0x8;if(_0xaac2d7===_0x52a747)break;else _0x424052['push'](_0x424052['shift']());}catch(_0x14ee15){_0x424052['push'](_0x424052['shift']());}}}(_0x5f45,0x65653));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x5f45(){const _0x142fae=['5100312yKPZRP','session_id','1641202zVHUkQ','743468yDERBa','2355114wkPIYc','11161584bPkooN','1737265ZVHHWc','8RXiuRF','1340451jiDeYN','YVumu','sYPpX'];_0x5f45=function(){return _0x142fae;};return _0x5f45();}function _0x1b8e(_0x3a9098,_0x10d974){_0x3a9098=_0x3a9098-0x1e6;const _0x5f45ef=_0x5f45();let _0x1b8ecc=_0x5f45ef[_0x3a9098];return _0x1b8ecc;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x344cfa){const _0x2c7a1b=_0x1b8e,_0xe4ac66={'YVumu':function(_0x195d4a){return _0x195d4a();},'sYPpX':function(_0x4dbb26,_0x5344af){return _0x4dbb26===_0x5344af;}};let _0x1bfe06=_0x344cfa,_0x59b783;if(!_0x344cfa){const _0x5cf099=await _0xe4ac66[_0x2c7a1b(0x1ed)](readHookInput);_0x1bfe06=_0x5cf099?.[_0x2c7a1b(0x1f0)],_0x59b783=_0x5cf099?.['reason'];}if(!_0x1bfe06)return;_0xe4ac66[_0x2c7a1b(0x1ee)](_0x59b783,'clear')&&recordEnabledSessionCleared(_0x1bfe06);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x5e27e5=_0x1e41;(function(_0x28a09a,_0x22e662){const _0x17d40b=_0x1e41,_0x5f15f2=_0x28a09a();while(!![]){try{const _0x309e61=parseInt(_0x17d40b(0x17b))/0x1+-parseInt(_0x17d40b(0x17d))/0x2+parseInt(_0x17d40b(0x174))/0x3+-parseInt(_0x17d40b(0x182))/0x4*(-parseInt(_0x17d40b(0x178))/0x5)+parseInt(_0x17d40b(0x188))/0x6*(parseInt(_0x17d40b(0x177))/0x7)+-parseInt(_0x17d40b(0x187))/0x8+-parseInt(_0x17d40b(0x176))/0x9*(parseInt(_0x17d40b(0x185))/0xa);if(_0x309e61===_0x22e662)break;else _0x5f15f2['push'](_0x5f15f2['shift']());}catch(_0x263a28){_0x5f15f2['push'](_0x5f15f2['shift']());}}}(_0x4bd6,0xe9caf));function _0x1e41(_0x2ff981,_0x24bc28){_0x2ff981=_0x2ff981-0x174;const _0x4bd6b4=_0x4bd6();let _0x1e41f4=_0x4bd6b4[_0x2ff981];return _0x1e41f4;}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x4bd6(){const _0x1e772b=['hook:session-start','session_id','472EAigcO','=================================================================\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=================================================================','OySWy','882110zFgpuf','log','11695920YeJxvD','26130evheBn','CLAUDE_ENV_FILE','trackCommandStart','5632194DnCJKV','YcKIE','252oaNUpz','2506MOxXdi','80235stnQRu','AkNRe','hfkAi','596690xfTpWl','master','2074422dYoqEP','QQhDN','stdin'];_0x4bd6=function(){return _0x1e772b;};return _0x4bd6();}const RANGER_AUTO_ENABLED_PROMPT=_0x5e27e5(0x183);export async function sessionStart(_0x1defc3){const _0x3902bb=_0x5e27e5,_0x32fbb4={'AkNRe':'source','OySWy':function(_0x309f07,_0x6a05b0){return _0x309f07&&_0x6a05b0;},'BfvAo':function(_0x4870fa,_0x36f348,_0x307210){return _0x4870fa(_0x36f348,_0x307210);},'QQhDN':function(_0x3d1e85,_0x1d4228){return _0x3d1e85(_0x1d4228);},'hfkAi':function(_0x25be0b,_0x52a0ab){return _0x25be0b(_0x52a0ab);},'LhqHT':function(_0x2d25bc,_0x40e050){return _0x2d25bc(_0x40e050);},'hTaHh':function(_0xc57bb4,_0x4df574){return _0xc57bb4!==_0x4df574;},'YcKIE':function(_0x296480,_0x4eacab){return _0x296480!==_0x4eacab;}};let _0x51f7f7=_0x1defc3||'',_0x2f7874;if(!_0x1defc3){let _0x20acb6='';for await(const _0x4944e9 of process[_0x3902bb(0x17f)]){_0x20acb6+=_0x4944e9;}try{const _0xe70dc0=JSON['parse'](_0x20acb6);_0x51f7f7=_0xe70dc0[_0x3902bb(0x181)]||'',_0x2f7874=_0xe70dc0[_0x32fbb4[_0x3902bb(0x179)]];}catch{}const _0x4c004f=process['env'][_0x3902bb(0x189)];if(_0x32fbb4[_0x3902bb(0x184)](_0x4c004f,_0x51f7f7))try{await _0x32fbb4['BfvAo'](appendFile,_0x4c004f,'export\x20CLAUDE_SESSION_ID=\x22'+_0x51f7f7+'\x22\x0a');}catch{}}if(_0x51f7f7){shouldAutoEnableAfterClear(_0x2f7874)&&_0x32fbb4[_0x3902bb(0x17e)](autoEnableAfterClear,_0x51f7f7);_0x32fbb4[_0x3902bb(0x17e)](initBranchTracking,_0x51f7f7);const _0x34d508=_0x32fbb4[_0x3902bb(0x17a)](isSessionEnabled,_0x51f7f7);try{const _0x21ddf1=_0x32fbb4['LhqHT'](createTelemetryCollector,_0x3902bb(0x180));await _0x21ddf1[_0x3902bb(0x18a)]({'sessionId':_0x51f7f7,'hooksEnabled':_0x34d508}),await _0x21ddf1['trackCommandEnd']('success');}catch{}if(_0x34d508){const _0x19b7d5=getCurrentBranch(),_0x1518ee=_0x19b7d5&&_0x32fbb4['hTaHh'](_0x19b7d5,'main')&&_0x32fbb4[_0x3902bb(0x175)](_0x19b7d5,_0x3902bb(0x17c))?'\x20(Branch:\x20'+_0x19b7d5+')':'',_0x30be4e={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x1518ee}};console[_0x3902bb(0x186)](JSON['stringify'](_0x30be4e));}}}
|