@ranger-testing/ranger-cli 2.1.6 → 2.1.8

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.
Files changed (71) hide show
  1. package/README.md +1 -1
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/setup/claude.js +1 -1
  26. package/build/commands/setup/opencode.js +1 -1
  27. package/build/commands/setupCi.js +1 -1
  28. package/build/commands/skillup.js +1 -1
  29. package/build/commands/start.js +1 -1
  30. package/build/commands/status.js +1 -1
  31. package/build/commands/update.js +1 -1
  32. package/build/commands/updateEnv.js +1 -1
  33. package/build/commands/useEnv.js +1 -1
  34. package/build/commands/utils/activeProfile.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudePlugin.js +1 -1
  38. package/build/commands/utils/crypto.js +1 -1
  39. package/build/commands/utils/desirePathLog.js +1 -1
  40. package/build/commands/utils/deviceAuth.js +1 -1
  41. package/build/commands/utils/environment.js +1 -1
  42. package/build/commands/utils/featureApi.js +1 -1
  43. package/build/commands/utils/featureReportGenerator.js +1 -1
  44. package/build/commands/utils/fixWebmDuration.js +1 -1
  45. package/build/commands/utils/git.js +1 -1
  46. package/build/commands/utils/keychain.js +1 -1
  47. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  48. package/build/commands/utils/mcpImageBase64.js +1 -1
  49. package/build/commands/utils/model.js +1 -1
  50. package/build/commands/utils/opencodeConfig.js +1 -1
  51. package/build/commands/utils/profileMessages.js +1 -1
  52. package/build/commands/utils/profileSetupBanner.js +1 -1
  53. package/build/commands/utils/rangerConfig.js +1 -1
  54. package/build/commands/utils/rangerRoot.js +1 -1
  55. package/build/commands/utils/reportGenerator.js +1 -1
  56. package/build/commands/utils/retry.js +1 -1
  57. package/build/commands/utils/sessionCache.js +1 -1
  58. package/build/commands/utils/settings.js +1 -1
  59. package/build/commands/utils/skillContent.js +1 -1
  60. package/build/commands/utils/skills.js +1 -1
  61. package/build/commands/utils/telemetry.js +1 -1
  62. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  63. package/build/commands/utils/userApi.js +1 -1
  64. package/build/commands/utils/version.js +1 -1
  65. package/build/commands/verifyFeature.js +1 -1
  66. package/build/commands/verifyInBrowser.js +1 -1
  67. package/build/skills/ranger/SKILL.md +25 -7
  68. package/build/skills/ranger/claude.md +7 -0
  69. package/build/skills/ranger/start.md +2 -2
  70. package/build/skills/ranger/verify.md +2 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x5b3cbd=_0x14bf;(function(_0x4f1e91,_0x1b1699){const _0x292711=_0x14bf,_0x4135fe=_0x4f1e91();while(!![]){try{const _0x462a4b=-parseInt(_0x292711(0x175))/0x1*(parseInt(_0x292711(0x177))/0x2)+-parseInt(_0x292711(0x174))/0x3*(-parseInt(_0x292711(0x17e))/0x4)+-parseInt(_0x292711(0x17b))/0x5+parseInt(_0x292711(0x178))/0x6+parseInt(_0x292711(0x181))/0x7*(-parseInt(_0x292711(0x185))/0x8)+parseInt(_0x292711(0x18a))/0x9*(parseInt(_0x292711(0x17f))/0xa)+-parseInt(_0x292711(0x17d))/0xb*(-parseInt(_0x292711(0x18f))/0xc);if(_0x462a4b===_0x1b1699)break;else _0x4135fe['push'](_0x4135fe['shift']());}catch(_0x643db5){_0x4135fe['push'](_0x4135fe['shift']());}}}(_0x125a,0x3488a));import{readdir,stat}from'fs/promises';function _0x125a(){const _0x547c8e=['isDirectory','7LuTaag','includes','\x0aProfiles:','settings.json','1521560JgPjUv','CBTpd','ZGwTO','local','bug-bashes','9eDAvOF','baseUrl','NVclV','sessions','environmentDetails','36ffgCxO','hFvHa','OGRFO','length','126354zsMvXL','1TUGWea','log','494152KEhnht','1290618MEibIC','LhBNF','\x20\x20\x20\x20\x20\x20URL:\x20','1197140SOYofb','push','74701YjahPt','24ZNkbWy','4036930BtVVzd'];_0x125a=function(){return _0x547c8e;};return _0x125a();}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=[_0x5b3cbd(0x18d),_0x5b3cbd(0x189),'reports','local','ci'];function _0x14bf(_0x68102c,_0x4216ca){_0x68102c=_0x68102c-0x172;const _0x125a8d=_0x125a();let _0x14bff7=_0x125a8d[_0x68102c];return _0x14bff7;}export async function getEnvNames(){const _0x2ab260=_0x5b3cbd,_0x181286={'MSnvP':function(_0x523cdf){return _0x523cdf();},'OGRFO':function(_0x5e526e,_0x22b9c8){return _0x5e526e(_0x22b9c8);},'IhwyX':function(_0x281965,_0x1b1f2e,_0x5e2abb){return _0x281965(_0x1b1f2e,_0x5e2abb);},'CBTpd':function(_0xb18477,_0x2397e6){return _0xb18477(_0x2397e6);},'LhBNF':function(_0x412f4c,_0x5be567){return _0x412f4c(_0x5be567);},'FUboj':_0x2ab260(0x184)},_0x507ad5=_0x181286['MSnvP'](getRangerDir);if(!_0x181286[_0x2ab260(0x172)](existsSync,_0x507ad5))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x37c915=await _0x181286['MSnvP'](readActiveProfileName),_0x1c3c4d=[],_0x5ef449={},_0x10eead=join(_0x507ad5,_0x2ab260(0x188));if(_0x181286[_0x2ab260(0x172)](existsSync,_0x10eead)){const _0x4f5961=await readdir(_0x10eead);for(const _0x2fcef2 of _0x4f5961){const _0x3dbe69=_0x181286['IhwyX'](join,_0x10eead,_0x2fcef2),_0x3cfcdf=await stat(_0x3dbe69);_0x3cfcdf['isDirectory']()&&(_0x1c3c4d[_0x2ab260(0x17c)](_0x2fcef2),_0x5ef449[_0x2fcef2]='local');}}const _0x5145b6=_0x181286['IhwyX'](join,_0x507ad5,'ci');if(_0x181286['OGRFO'](existsSync,_0x5145b6)){const _0x42e2d2=await readdir(_0x5145b6);for(const _0x2f50cb of _0x42e2d2){const _0x2748a4=_0x181286['IhwyX'](join,_0x5145b6,_0x2f50cb),_0x381fe4=await _0x181286['OGRFO'](stat,_0x2748a4);_0x381fe4[_0x2ab260(0x180)]()&&(_0x1c3c4d['push'](_0x2f50cb),_0x5ef449[_0x2f50cb]='ci');}}const _0x367831=await _0x181286[_0x2ab260(0x186)](readdir,_0x507ad5);for(const _0x1f3d95 of _0x367831){if(NON_ENV_DIRS['includes'](_0x1f3d95))continue;if(_0x1f3d95['startsWith']('.'))continue;if(_0x1f3d95['endsWith']('.txt'))continue;const _0x1091fb=join(_0x507ad5,_0x1f3d95),_0x586bd3=await _0x181286[_0x2ab260(0x179)](stat,_0x1091fb);_0x586bd3['isDirectory']()&&existsSync(join(_0x1091fb,_0x181286['FUboj']))&&(!_0x1c3c4d[_0x2ab260(0x182)](_0x1f3d95)&&(_0x1c3c4d['push'](_0x1f3d95),_0x5ef449[_0x1f3d95]='legacy'));}return{'envNames':_0x1c3c4d,'activeEnv':_0x37c915,'envTypes':_0x5ef449};}export async function envList(){const _0xb636f0=_0x5b3cbd,_0x4bc95f={'qcDPI':function(_0x10f622,_0x58b727){return _0x10f622===_0x58b727;},'ZGwTO':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','hFvHa':_0xb636f0(0x183),'Ptfng':_0xb636f0(0x188),'NVclV':function(_0x590db7,_0x4cad81){return _0x590db7===_0x4cad81;}},{envNames:_0xc379ba,activeEnv:_0x5919b9,envTypes:_0x40f837}=await getEnvNames();if(_0x4bc95f['qcDPI'](_0xc379ba[_0xb636f0(0x173)],0x0)){console['log']('\x0aNo\x20profiles\x20found.'),console['log'](_0x4bc95f[_0xb636f0(0x187)]);return;}console[_0xb636f0(0x176)](_0x4bc95f[_0xb636f0(0x190)]);for(const _0x46bad3 of _0xc379ba['sort']()){const _0x59ad91=_0x46bad3===_0x5919b9,_0x3cc6f2=_0x40f837[_0x46bad3]||_0x4bc95f['Ptfng'],_0x13a837=await loadSettings(_0x46bad3),_0xa8f966=_0x4bc95f[_0xb636f0(0x18c)](_0x3cc6f2,'legacy')?'':'\x20['+_0x3cc6f2+']';console[_0xb636f0(0x176)]('\x20\x20'+(_0x59ad91?'*\x20':'\x20\x20')+_0x46bad3+_0xa8f966),_0x13a837['baseUrl']&&console['log'](_0xb636f0(0x17a)+_0x13a837[_0xb636f0(0x18b)]),_0x13a837[_0xb636f0(0x18e)]&&console[_0xb636f0(0x176)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x13a837['environmentDetails']);}_0x5919b9&&console['log']('\x0a*\x20=\x20active\x20profile');}
1
+ const _0x13d14d=_0x3919;(function(_0x4a1da1,_0x138e60){const _0x543cca=_0x3919,_0x2e9dc6=_0x4a1da1();while(!![]){try{const _0x2b1e42=parseInt(_0x543cca(0x154))/0x1*(-parseInt(_0x543cca(0x141))/0x2)+-parseInt(_0x543cca(0x13a))/0x3*(-parseInt(_0x543cca(0x13b))/0x4)+-parseInt(_0x543cca(0x145))/0x5*(-parseInt(_0x543cca(0x155))/0x6)+parseInt(_0x543cca(0x147))/0x7+parseInt(_0x543cca(0x140))/0x8+parseInt(_0x543cca(0x156))/0x9*(parseInt(_0x543cca(0x157))/0xa)+-parseInt(_0x543cca(0x146))/0xb;if(_0x2b1e42===_0x138e60)break;else _0x2e9dc6['push'](_0x2e9dc6['shift']());}catch(_0x53e814){_0x2e9dc6['push'](_0x2e9dc6['shift']());}}}(_0x5da2,0x779ba));import{readdir,stat}from'fs/promises';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';function _0x5da2(){const _0x37f803=['push','settings.json','smDnL','gOQSy','bug-bashes','1kXBFzM','123312kjewOL','504kSBKuw','52960eFrSCD','includes','endsWith','GleiN','1292613ExjsTh','4kpgNYc','bxfQC','WBEjI','\x0aNo\x20profiles\x20found.','length','4746944shpoDJ','1540774DZCHTJ','isDirectory','baseUrl','log','145SXPeOU','11944416WYdqTT','3005338hhGUWU','legacy','environmentDetails','EZuOt','sessions','sort','Cedwk','local'];_0x5da2=function(){return _0x37f803;};return _0x5da2();}const NON_ENV_DIRS=[_0x13d14d(0x14b),_0x13d14d(0x153),'reports',_0x13d14d(0x14e),'ci'];export async function getEnvNames(){const _0x115b3e=_0x13d14d,_0x4fd9={'ZpQYm':function(_0x57f291){return _0x57f291();},'bxfQC':function(_0x2cb852,_0x3468fa){return _0x2cb852(_0x3468fa);},'EZuOt':function(_0x42d86e,_0x184e03,_0x40af17){return _0x42d86e(_0x184e03,_0x40af17);},'WBEjI':function(_0x3f596c,_0x5c18a4){return _0x3f596c(_0x5c18a4);},'FKYyw':function(_0x2d11c4,_0x191fb0){return _0x2d11c4(_0x191fb0);},'xXLmP':'.txt','smDnL':function(_0x54af8d,_0x279fe0){return _0x54af8d(_0x279fe0);}},_0xfa9324=getRangerDir();if(!existsSync(_0xfa9324))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x7e285d=await _0x4fd9['ZpQYm'](readActiveProfileName),_0x3e9d1e=[],_0x2f0b18={},_0x2df6d2=join(_0xfa9324,'local');if(existsSync(_0x2df6d2)){const _0x176fa9=await readdir(_0x2df6d2);for(const _0x441c7e of _0x176fa9){const _0x3886bf=join(_0x2df6d2,_0x441c7e),_0x40e3b6=await stat(_0x3886bf);_0x40e3b6['isDirectory']()&&(_0x3e9d1e[_0x115b3e(0x14f)](_0x441c7e),_0x2f0b18[_0x441c7e]='local');}}const _0x9b35e0=join(_0xfa9324,'ci');if(_0x4fd9[_0x115b3e(0x13c)](existsSync,_0x9b35e0)){const _0x1ae918=await _0x4fd9[_0x115b3e(0x13c)](readdir,_0x9b35e0);for(const _0x259577 of _0x1ae918){const _0x25e7bf=_0x4fd9['EZuOt'](join,_0x9b35e0,_0x259577),_0x1d652b=await _0x4fd9[_0x115b3e(0x13d)](stat,_0x25e7bf);_0x1d652b[_0x115b3e(0x142)]()&&(_0x3e9d1e['push'](_0x259577),_0x2f0b18[_0x259577]='ci');}}const _0x1cf121=await _0x4fd9['FKYyw'](readdir,_0xfa9324);for(const _0x184128 of _0x1cf121){if(NON_ENV_DIRS['includes'](_0x184128))continue;if(_0x184128['startsWith']('.'))continue;if(_0x184128[_0x115b3e(0x138)](_0x4fd9['xXLmP']))continue;const _0x8dab59=_0x4fd9[_0x115b3e(0x14a)](join,_0xfa9324,_0x184128),_0x4c76ec=await stat(_0x8dab59);_0x4c76ec[_0x115b3e(0x142)]()&&_0x4fd9[_0x115b3e(0x151)](existsSync,join(_0x8dab59,_0x115b3e(0x150)))&&(!_0x3e9d1e[_0x115b3e(0x137)](_0x184128)&&(_0x3e9d1e['push'](_0x184128),_0x2f0b18[_0x184128]=_0x115b3e(0x148)));}return{'envNames':_0x3e9d1e,'activeEnv':_0x7e285d,'envTypes':_0x2f0b18};}function _0x3919(_0x62822b,_0x2465e7){_0x62822b=_0x62822b-0x137;const _0x5da24c=_0x5da2();let _0x3919e4=_0x5da24c[_0x62822b];return _0x3919e4;}export async function envList(){const _0x3663e2=_0x13d14d,_0x1feb46={'gOQSy':function(_0x292092){return _0x292092();},'djnoc':function(_0x597225,_0x27d3ab){return _0x597225===_0x27d3ab;},'ckZfY':_0x3663e2(0x13e),'GleiN':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','Cedwk':'\x0aProfiles:','UOapU':function(_0x3b485c,_0xdcc9d5){return _0x3b485c(_0xdcc9d5);}},{envNames:_0x22bb87,activeEnv:_0x48e614,envTypes:_0x1e4502}=await _0x1feb46[_0x3663e2(0x152)](getEnvNames);if(_0x1feb46['djnoc'](_0x22bb87[_0x3663e2(0x13f)],0x0)){console[_0x3663e2(0x144)](_0x1feb46['ckZfY']),console[_0x3663e2(0x144)](_0x1feb46[_0x3663e2(0x139)]);return;}console['log'](_0x1feb46[_0x3663e2(0x14d)]);for(const _0x533f34 of _0x22bb87[_0x3663e2(0x14c)]()){const _0x5152ab=_0x533f34===_0x48e614,_0x24f36e=_0x1e4502[_0x533f34]||_0x3663e2(0x14e),_0x53933e=await _0x1feb46['UOapU'](loadSettings,_0x533f34),_0x5f2d23=_0x24f36e==='legacy'?'':'\x20['+_0x24f36e+']';console['log']('\x20\x20'+(_0x5152ab?'*\x20':'\x20\x20')+_0x533f34+_0x5f2d23),_0x53933e[_0x3663e2(0x143)]&&console['log']('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x53933e['baseUrl']),_0x53933e['environmentDetails']&&console[_0x3663e2(0x144)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x53933e[_0x3663e2(0x149)]);}_0x48e614&&console['log']('\x0a*\x20=\x20active\x20profile');}
@@ -1 +1 @@
1
- (function(_0x467cac,_0x489e46){const _0x21fb22=_0x51d3,_0x5da530=_0x467cac();while(!![]){try{const _0xb9583d=parseInt(_0x21fb22(0xf5))/0x1*(-parseInt(_0x21fb22(0xfa))/0x2)+-parseInt(_0x21fb22(0x124))/0x3*(parseInt(_0x21fb22(0x138))/0x4)+-parseInt(_0x21fb22(0x12f))/0x5*(-parseInt(_0x21fb22(0x111))/0x6)+-parseInt(_0x21fb22(0x147))/0x7+parseInt(_0x21fb22(0x14e))/0x8+parseInt(_0x21fb22(0xa1))/0x9*(-parseInt(_0x21fb22(0xef))/0xa)+parseInt(_0x21fb22(0x15a))/0xb;if(_0xb9583d===_0x489e46)break;else _0x5da530['push'](_0x5da530['shift']());}catch(_0x4f2485){_0x5da530['push'](_0x5da530['shift']());}}}(_0x3d49,0x36a1e));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x31b5bd from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';function _0x3d49(){const _0x337ab2=['\x20--current-branch','uCTPh','xcQwZ','):\x20\x22','\x20--include-deleted','Please\x20finish\x20your\x20review\x20first:','\x0a📋\x20Feedback\x20for:\x20','LLaTW','style','canonicalFlow','327770CrWcLS','RWTzf','\x20[has\x20reviewer\x20feedback]','blocked','jfHGY','currentSessionId','KSkZa','CLAUDE_SESSION_ID','\x20\x20\x20ID:\x20','412fkIuRg','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','cOYbO','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','status','pBwup','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x0aGenerating\x20report...','limit','Not\x20in\x20a\x20git\x20repository.','stdCd','selector','.md','No\x20scenarios\x20found.','submittedAt','2890993IzaCWm','tsvGq','KJqek','spatial','lskZC','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','tFeyw','2643808NZLDEh','assetUrl','ttUrQ','ivdGA','\x0a✅\x20Resumed\x20feature\x20review:\x20','KCvOU','\x20at\x20[','domRef','scenario','miwmK','zLLvH','trim','8952152dpqLFP','\x0aAvailable\x20scenarios:','git\x20remote\x20get-url\x20origin','filter','canceledReason','stdout','slPrj','rLZzg','Unknown','name','coordinates','toLocaleDateString','split','mhCgn','gitBranch','find','error','parentItemId','902457ORsGHS','gpZlZ','\x20verified','blockedReason','any','content','dacxT','vFbbR','URsRu','dashboardUrl','potqt','AlLBF','\x20\x20\x20Repository:\x20','mArjO','\x0a⚠️\x20\x20','join','currentBranch','wXjFR','length','caohl','CzZPD','reports','closed','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','GnJzk','\x20\x20\x20\x20\x20\x20Blocked:\x20','repeat','No\x20sessions\x20found.','\x20—\x20','dXTkr','description','\x20Session\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','gDWvg','tkREO','excludeScenarios','\x20incomplete','position','XtVoM','\x20\x20\x20▶️\x20Started\x20session\x20','log','stdin','zHaho','ZMBva','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','ikMFD','\x20/\x20','\x20scenarios.','SKuXH','QROjX','lYFmw','sort','jPmWl','\x20scenario(s).','replace','imcwu','pipe','stats','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20--limit\x20','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','ANmOT','GlzUC','authorName','njNTo','\x0a✅\x20Restored\x20feature\x20review:\x20','prompt','arrayBuffer','gDGir','toFixed','\x20\x20\x20Created:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','version','RmpsK','5|4|1|3|0|2','\x20\x20\x20\x20\x20\x20Incomplete:\x20','TJnjf','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','10cGLkYH','map','igjKd','from','write','env','1GhVnOc','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20Progress:\x20','BuwaD','UcdFx','868430xymusw','fnxfL','in_progress','exit','toLocaleString','\x20\x20\x20\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','OZqaZ','textContent','sessionId','ViMoC','checklistItems','utf-8','offset','Byvwy','CbiZU','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','gkPhB','SKqNw','Current\x20session\x20not\x20found.','nGhhW','selected','completedAt','36rHZmiM','iteration','\x20\x20\x20\x20\x20\x20Cancelled:\x20','list','IqFnq','pUfbA','approved','\x0a✅\x20Scenario\x20added','verified','ready','EBciL','tZxJz','\x20of\x20','items','unaddressedComments','completed','terminalReason','type','.\x20Feature\x20review\x20has\x20','10671CJdHRt'];_0x3d49=function(){return _0x337ab2;};return _0x3d49();}const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x2537c2=>'\x1b[1m'+_0x2537c2+'\x1b[0m';function getGitRepoUrl(){const _0xc720a2=_0x51d3,_0x3cbf97={'EgGRx':function(_0x5534f1,_0x5856c5,_0x1886bd){return _0x5534f1(_0x5856c5,_0x1886bd);},'lJKKJ':_0xc720a2(0x106)};try{const _0x3119e9=_0x3cbf97['EgGRx'](execSync,_0xc720a2(0x15c),{'encoding':_0x3cbf97['lJKKJ'],'stdio':[_0xc720a2(0xd9),'pipe',_0xc720a2(0xd9)]})['trim']();return _0x3119e9['replace'](/\.git$/,'')[_0xc720a2(0xd7)](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0xeee09c=_0x51d3,_0xf702b2={'BuwaD':function(_0x19103f,_0xd93b46,_0x1b7194){return _0x19103f(_0xd93b46,_0x1b7194);},'RWTzf':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','tkREO':_0xeee09c(0xd9)};try{return _0xf702b2[_0xeee09c(0xf8)](execSync,_0xf702b2[_0xeee09c(0x130)],{'encoding':'utf-8','stdio':[_0xf702b2['tkREO'],_0xf702b2['tkREO'],_0xf702b2[_0xeee09c(0xc3)]]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5871ad=_0x51d3,_0x2ba296={'potqt':function(_0x203478,_0x1ea1d3,_0x44df4f){return _0x203478(_0x1ea1d3,_0x44df4f);},'GnJzk':function(_0x1f04f7){return _0x1f04f7();},'hTDYz':function(_0x3c834d,_0x3f486f){return _0x3c834d(_0x3f486f);},'IsQHC':function(_0x21c9e7,_0x137d10,_0x3205b7){return _0x21c9e7(_0x137d10,_0x3205b7);},'fnxfL':'utf-8'},_0x4e0519=_0x2ba296[_0x5871ad(0xab)](join,_0x2ba296[_0x5871ad(0xb9)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x2ba296['hTDYz'](existsSync,_0x4e0519))return null;try{const _0x14be27=await _0x2ba296['IsQHC'](readFile,_0x4e0519,_0x2ba296[_0x5871ad(0xfb)]);return _0x14be27[_0x5871ad(0x159)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x335aa3){const _0x49c220=_0x51d3,_0x569648={'tdhFU':function(_0x73a608,_0x475506){return _0x73a608(_0x475506);},'ZMBva':'utf-8'},_0x55d855=getRangerDir(),_0x19aee3=join(_0x55d855,ACTIVE_FEATURE_FILE);!_0x569648['tdhFU'](existsSync,_0x55d855)&&await mkdir(_0x55d855,{'recursive':!![]}),await writeFile(_0x19aee3,_0x335aa3,_0x569648[_0x49c220(0xcc)]);}function getProgressDisplay(_0x4bb457){const _0x399f41=_0x51d3,_0x228f1d={'AlLBF':function(_0x4e1a0c,_0xa5cf5){return _0x4e1a0c+_0xa5cf5;},'ANmOT':function(_0x585bf4,_0x458b7a){return _0x585bf4===_0x458b7a;},'jPmWl':function(_0xec3459,_0x2004b5){return _0xec3459*_0x2004b5;},'kOPOQ':function(_0x159705,_0x4c9068){return _0x159705/_0x4c9068;},'FzZkU':function(_0x1928f0,_0x378bc9){return _0x1928f0-_0x378bc9;},'tZxJz':function(_0x4b2202,_0x36fa54){return _0x4b2202>_0x36fa54;},'tsvGq':function(_0x2cece1,_0x57d3f6){return _0x2cece1>_0x57d3f6;}},_0x15c1bd=_0x4bb457['verifiedItems']||0x0,_0x2ace4f=_0x4bb457['verificationInProgressItems']||0x0,_0x55d022=_0x4bb457['blockedItems']||0x0,_0x475a8b=_0x4bb457['incompleteItems']||0x0,_0x3437b0=_0x4bb457['pendingItems']||0x0,_0x137d25=_0x228f1d[_0x399f41(0xac)](_0x228f1d[_0x399f41(0xac)](_0x228f1d['AlLBF'](_0x15c1bd+_0x2ace4f,_0x55d022),_0x475a8b),_0x3437b0);if(_0x228f1d[_0x399f41(0xde)](_0x137d25,0x0))return'-';const _0x12f11e=0xa,_0x4b1c16=Math['round'](_0x228f1d[_0x399f41(0xd5)](_0x228f1d['kOPOQ'](_0x15c1bd,_0x137d25),_0x12f11e)),_0x1e10d6='█'['repeat'](_0x4b1c16)+'░'[_0x399f41(0xbb)](_0x228f1d['FzZkU'](_0x12f11e,_0x4b1c16)),_0x43d3a2=[];if(_0x228f1d['tZxJz'](_0x55d022,0x0))_0x43d3a2['push'](_0x55d022+'\x20blocked');if(_0x228f1d[_0x399f41(0x11c)](_0x475a8b,0x0))_0x43d3a2['push'](_0x475a8b+_0x399f41(0xc5));if(_0x228f1d[_0x399f41(0x148)](_0x2ace4f,0x0))_0x43d3a2['push'](_0x2ace4f+'\x20in\x20progress');const _0x26c8fb=_0x43d3a2[_0x399f41(0xb3)]>0x0?'\x20('+_0x43d3a2[_0x399f41(0xb0)](',\x20')+')':'';return _0x1e10d6+'\x20'+_0x15c1bd+'/'+_0x137d25+_0x399f41(0xa3)+_0x26c8fb;}function getCurrentSessionItems(_0x351f44,_0x5e2574){const _0x316836=_0x51d3;if(!_0x351f44[_0x316836(0x134)])return _0x5e2574['filter'](_0x2cb962=>!_0x2cb962[_0x316836(0x103)])[_0x316836(0xd4)]((_0x481fa0,_0x20cf57)=>_0x481fa0[_0x316836(0xc6)]-_0x20cf57[_0x316836(0xc6)]);return _0x5e2574['filter'](_0x457e82=>_0x457e82['sessionId']===_0x351f44[_0x316836(0x134)]||!_0x457e82['sessionId'])[_0x316836(0xd4)]((_0xa763dc,_0xf27dff)=>_0xa763dc['position']-_0xf27dff['position']);}function displayFeature(_0x4804f6,_0x3b9b92){const _0x1fc099=_0x51d3,_0x5bd223={'TJnjf':function(_0x48f388,_0xbaef20){return _0x48f388(_0xbaef20);},'dXTkr':function(_0x1d86d5,_0x9c92e8){return _0x1d86d5>_0x9c92e8;},'zHaho':function(_0x58e0dd,_0x3b9b29){return _0x58e0dd===_0x3b9b29;},'wXjFR':'closed','kevgx':_0x1fc099(0x117),'QROjX':'verified','GPXHp':_0x1fc099(0x132),'ANquP':'verification_in_progress','lTRpF':function(_0x5da604,_0x462fe5){return _0x5da604!==_0x462fe5;},'VjWgr':function(_0x467f3c,_0x51f00c){return _0x467f3c+_0x51f00c;},'yOtqx':'incomplete','sjUzP':function(_0x23719d,_0x36af3f){return _0x23719d===_0x36af3f;}};console[_0x1fc099(0xc9)]('\x0a'+_0x4804f6['name']+'\x20('+_0x4804f6['dashboardUrl']+')');_0x4804f6[_0x1fc099(0xda)]&&console['log'](_0x1fc099(0xf7)+_0x5bd223[_0x1fc099(0xed)](getProgressDisplay,_0x4804f6['stats']));_0x4804f6[_0x1fc099(0xbf)]&&console[_0x1fc099(0xc9)]('\x20\x20\x20Description:\x20'+_0x4804f6[_0x1fc099(0xbf)]);_0x4804f6['gitRepoUrl']&&console['log'](_0x1fc099(0xad)+_0x4804f6['gitRepoUrl']);_0x4804f6[_0x1fc099(0x168)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x4804f6['gitBranch']);console[_0x1fc099(0xc9)](_0x1fc099(0xe7)+new Date(_0x4804f6['createdAt'])[_0x1fc099(0xfe)]());_0x4804f6['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x4804f6['completedAt'])['toLocaleString']());if(_0x3b9b92&&_0x5bd223[_0x1fc099(0xbe)](_0x3b9b92['length'],0x0)){console[_0x1fc099(0xc9)]('\x0a\x20\x20\x20Scenarios:');for(let _0xb412c7=0x0;_0xb412c7<_0x3b9b92[_0x1fc099(0xb3)];_0xb412c7++){const _0x202f60=_0x3b9b92[_0xb412c7];let _0x5a2241;if(_0x5bd223[_0x1fc099(0xcb)](_0x202f60['status'],_0x5bd223[_0x1fc099(0xb2)])&&_0x5bd223[_0x1fc099(0xcb)](_0x202f60[_0x1fc099(0x121)],_0x5bd223['kevgx']))_0x5a2241='✅';else{if(_0x202f60[_0x1fc099(0x13c)]===_0x5bd223[_0x1fc099(0xd2)])_0x5a2241='🟢';else{if(_0x5bd223['zHaho'](_0x202f60['status'],'incomplete'))_0x5a2241='🟠';else{if(_0x202f60['status']===_0x5bd223['GPXHp'])_0x5a2241='🛑';else{if(_0x202f60[_0x1fc099(0x13c)]==='closed')_0x5a2241='⛔';else _0x202f60[_0x1fc099(0x13c)]===_0x5bd223['ANquP']?_0x5a2241='⏳':_0x5a2241='⬜';}}}}const _0x2e6a10=_0x202f60['version']>0x1?'\x20(v'+_0x202f60['version']+')':'',_0x1b4ce8=_0x202f60['version']>0x1&&_0x202f60[_0x1fc099(0xa0)]&&_0x202f60[_0x1fc099(0x13c)]!=='closed'&&_0x5bd223['lTRpF'](_0x202f60['status'],_0x1fc099(0x119))?_0x1fc099(0x131):'';console['log']('\x20\x20\x20'+_0x5bd223['VjWgr'](_0xb412c7,0x1)+'.\x20'+_0x5a2241+'\x20'+_0x202f60['description']+_0x2e6a10+_0x1b4ce8);_0x202f60[_0x1fc099(0x13c)]===_0x5bd223['GPXHp']&&_0x202f60['blockedReason']&&console[_0x1fc099(0xc9)](_0x1fc099(0xba)+_0x202f60[_0x1fc099(0xa4)]);_0x202f60[_0x1fc099(0x13c)]===_0x5bd223['yOtqx']&&_0x202f60['incompleteReason']&&console['log'](_0x1fc099(0xec)+_0x202f60['incompleteReason']);if(_0x202f60[_0x1fc099(0x13c)]===_0x1fc099(0xb7)&&_0x5bd223[_0x1fc099(0xcb)](_0x202f60[_0x1fc099(0x121)],_0x5bd223['kevgx']))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x5bd223['sjUzP'](_0x202f60[_0x1fc099(0x13c)],_0x5bd223[_0x1fc099(0xb2)])&&_0x202f60[_0x1fc099(0x15e)]&&console['log'](_0x1fc099(0x113)+_0x202f60[_0x1fc099(0x15e)]);}}}export async function featureCreate(_0x3c6b02,_0x3f1899){const _0x467db0=_0x51d3,_0x2a65f6={'ApNCh':function(_0xc3edba){return _0xc3edba();},'BMlla':function(_0x116342,_0x5d839c){return _0x116342(_0x5d839c);},'mhCgn':function(_0x5c1b6a){return _0x5c1b6a();},'AQaPC':'\x0aCreating\x20feature\x20review...','ootLc':function(_0x32465d,_0x53822e,_0x251673){return _0x32465d(_0x53822e,_0x251673);}},{envNames:_0xe227f3}=await _0x2a65f6['ApNCh'](getEnvNames);_0xe227f3['length']===0x0&&console['warn']('\x0a'+_0x2a65f6['BMlla'](formatProfileRequiredMessage,_0x24c80e=>bold(_0x24c80e)));const _0x58008a=_0x3f1899['scenarios']?_0x3f1899['scenarios'][_0x467db0(0xf0)](_0x2415b4=>_0x2415b4[_0x467db0(0x159)]()):[],_0x224308=_0x2a65f6[_0x467db0(0x167)](getGitRepoUrl),_0x5652c4=getGitBranch();console['log'](_0x2a65f6['AQaPC']);const _0x30e5a9=await createFeature({'name':_0x3c6b02,'description':_0x3f1899[_0x467db0(0xbf)],'checklist':_0x58008a,'gitRepoUrl':_0x224308,'gitBranch':_0x5652c4});await setActiveFeatureId(_0x30e5a9['id']),await tryStartCurrentSession(_0x30e5a9['id']);const _0x4cbe60=process[_0x467db0(0xf4)][_0x467db0(0x136)];_0x4cbe60&&_0x2a65f6['ootLc'](registerSession,_0x4cbe60,_0x30e5a9['id']),console[_0x467db0(0xc9)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x30e5a9['id']),displayFeature(_0x30e5a9,_0x30e5a9['checklistItems']),console[_0x467db0(0xc9)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x14bbdf){const _0x435ce2=_0x51d3,_0x5302cd={'lYFmw':function(_0xffcf3d){return _0xffcf3d();},'IqFnq':function(_0x2afbb5,_0x15e5f){return _0x2afbb5===_0x15e5f;},'pUfbA':function(_0x4d7b94,_0x5b10c5){return _0x4d7b94>_0x5b10c5;},'miwmK':function(_0x57ec60,_0x34cd66){return _0x57ec60(_0x34cd66);},'Vatgj':function(_0x38af66,_0x58be21){return _0x38af66+_0x58be21;},'GlzUC':function(_0x54f255,_0x5cf68d){return _0x54f255!==_0x5cf68d;},'zgfaT':_0x435ce2(0x125),'ZMZaq':_0x435ce2(0x129)},_0x5a9c6e={'limit':_0x14bbdf[_0x435ce2(0x140)]??0xa,'offset':_0x14bbdf[_0x435ce2(0x107)]??0x0,'includeDeleted':_0x14bbdf['includeDeleted']};_0x14bbdf[_0x435ce2(0xb1)]&&(_0x5a9c6e['gitRepoUrl']=_0x5302cd[_0x435ce2(0xd3)](getGitRepoUrl),_0x5a9c6e['gitBranch']=getGitBranch());const _0x4e7394=await listFeatures(_0x5a9c6e);if(_0x5302cd[_0x435ce2(0x115)](_0x4e7394['items'][_0x435ce2(0xb3)],0x0)){console[_0x435ce2(0xc9)](_0x435ce2(0xf6));return;}const _0x1ea3cc=_0x5302cd[_0x435ce2(0x116)](_0x4e7394['totalCount'],_0x4e7394[_0x435ce2(0x11e)][_0x435ce2(0xb3)])?'Showing\x20'+_0x4e7394['items'][_0x435ce2(0xb3)]+_0x435ce2(0x11d)+_0x4e7394['totalCount']:_0x4e7394['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1ea3cc+':\x0a');for(const _0x2d907e of _0x4e7394['items']){const _0x3a3c00=_0x435ce2(0xeb)['split']('|');let _0x1de062=0x0;while(!![]){switch(_0x3a3c00[_0x1de062++]){case'0':console[_0x435ce2(0xc9)](_0x435ce2(0xe7)+new Date(_0x2d907e['createdAt'])['toLocaleDateString']());continue;case'1':_0x2d907e['stats']&&console['log'](_0x435ce2(0xf7)+_0x5302cd[_0x435ce2(0x157)](getProgressDisplay,_0x2d907e['stats']));continue;case'2':console['log']('');continue;case'3':_0x2d907e['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x2d907e['gitBranch']);continue;case'4':console['log'](_0x435ce2(0x137)+_0x2d907e['id']);continue;case'5':console['log'](''+_0x2d907e['name']);continue;}break;}}const _0xb65e4b=_0x5a9c6e[_0x435ce2(0x140)]??0xa,_0x4fb6c9=_0x5302cd['Vatgj'](_0x5a9c6e[_0x435ce2(0x107)]??0x0,_0x4e7394['items'][_0x435ce2(0xb3)]);if(_0x4fb6c9<_0x4e7394['totalCount']){const _0x1308a8=_0x5302cd[_0x435ce2(0xdf)](_0xb65e4b,0xa)?_0x435ce2(0xdc)+_0xb65e4b:'',_0x3124dc=_0x14bbdf['currentBranch']?_0x5302cd['zgfaT']:'',_0x1025d9=_0x14bbdf['includeDeleted']?_0x5302cd['ZMZaq']:'';console[_0x435ce2(0xc9)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x4fb6c9+_0x1308a8+_0x3124dc+_0x1025d9);}}export async function featureShow(_0xd2c3fc){const _0x440208=_0x51d3,_0x1e5b09={'DDjhj':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x41e687=_0xd2c3fc||await getActiveFeatureId();if(!_0x41e687)throw new Error(_0x1e5b09['DDjhj']);const _0x5d8427=await getFeature(_0x41e687);displayFeature(_0x5d8427,_0x5d8427[_0x440208(0x105)]);}function _0x51d3(_0x1bcc53,_0x5ef1b4){_0x1bcc53=_0x1bcc53-0xa0;const _0x3d4987=_0x3d49();let _0x51d349=_0x3d4987[_0x1bcc53];return _0x51d349;}export async function featureResume(_0x474de5){const _0xdfef03=_0x51d3,_0x7a34dc={'HqSNo':function(_0x5eca2e,_0x5bc180,_0x321d4c){return _0x5eca2e(_0x5bc180,_0x321d4c);},'KJqek':function(_0x4fce6c,_0x5a9279){return _0x4fce6c(_0x5a9279);},'NkDQw':function(_0x54a57d){return _0x54a57d();},'jfHGY':function(_0x6f9777,_0x9e9fb){return _0x6f9777&&_0x9e9fb;},'tFeyw':_0xdfef03(0x141),'dwCuP':function(_0x3dffcd,_0x4a46ad){return _0x3dffcd||_0x4a46ad;},'JwdEo':_0xdfef03(0xa5),'slPrj':function(_0xba9265,_0xe9d18c){return _0xba9265===_0xe9d18c;},'rxRih':function(_0x2985ef,_0xc96582){return _0x2985ef===_0xc96582;},'mArjO':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','GcGQF':function(_0x421811,_0x3b1887){return _0x421811(_0x3b1887);},'lskZC':_0xdfef03(0x114),'xcQwZ':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','CbiZU':function(_0x1e43b9,_0x1bcb86,_0x143314){return _0x1e43b9(_0x1bcb86,_0x143314);},'WOlKj':function(_0x271068,_0x2193c3){return _0x271068(_0x2193c3);}};if(_0x474de5){const _0x3102f9=await getFeature(_0x474de5);await setActiveFeatureId(_0x3102f9['id']);const _0x3bb960=getGitBranch();_0x3bb960&&_0x3bb960!==_0x3102f9['gitBranch']&&(await _0x7a34dc['HqSNo'](updateFeature,_0x3102f9['id'],{'gitBranch':_0x3bb960}),console[_0xdfef03(0xc9)](_0xdfef03(0xc1)+_0x3bb960));console['log'](_0xdfef03(0x152)+_0x3102f9['name']+'\x20('+_0x3102f9['id']+')'),await _0x7a34dc['KJqek'](tryStartCurrentSession,_0x3102f9['id']);const _0x51e589=process['env']['CLAUDE_SESSION_ID'];_0x51e589&&registerSession(_0x51e589,_0x3102f9['id']);_0x7a34dc['HqSNo'](displayFeature,_0x3102f9,_0x3102f9['checklistItems']),await _0x7a34dc[_0xdfef03(0x149)](printFeedbackNudge,_0x3102f9['id']);return;}const _0x420695=getGitRepoUrl(),_0x11c0dc=_0x7a34dc['NkDQw'](getGitBranch);if(_0x7a34dc[_0xdfef03(0x133)](!_0x420695,!_0x11c0dc))throw new Error(_0x7a34dc[_0xdfef03(0x14d)]);console[_0xdfef03(0xc9)](_0xdfef03(0xe8)+_0x7a34dc['dwCuP'](_0x420695,'any')+_0xdfef03(0xcf)+_0x7a34dc['dwCuP'](_0x11c0dc,_0x7a34dc['JwdEo'])+'...');const _0x5d82a0=await listFeatures({'gitRepoUrl':_0x420695,'gitBranch':_0x11c0dc}),_0x59ba20=_0x5d82a0['items']['filter'](_0x537dec=>!_0x537dec['completedAt']);if(_0x7a34dc[_0xdfef03(0x160)](_0x59ba20[_0xdfef03(0xb3)],0x0)){console[_0xdfef03(0xc9)](_0xdfef03(0x139)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x3a88d3;if(_0x7a34dc['rxRih'](_0x59ba20['length'],0x1))_0x3a88d3=_0x59ba20[0x0];else{const _0x3ccb74=process[_0xdfef03(0xca)]['isTTY']&&process['stdout']['isTTY'];if(!_0x3ccb74){console[_0xdfef03(0xc9)](_0x7a34dc[_0xdfef03(0xae)]);for(const _0x37bd37 of _0x59ba20){console[_0xdfef03(0xc9)]('\x20\x20'+_0x37bd37[_0xdfef03(0x163)]),console[_0xdfef03(0xc9)]('\x20\x20\x20\x20\x20ID:\x20'+_0x37bd37['id']),_0x37bd37['stats']&&console[_0xdfef03(0xc9)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x7a34dc['GcGQF'](getProgressDisplay,_0x37bd37['stats'])),_0x37bd37['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x37bd37[_0xdfef03(0x168)]);}throw new Error(_0xdfef03(0x10a));}const {selected:_0x198552}=await _0x31b5bd[_0xdfef03(0xe3)]([{'type':_0x7a34dc[_0xdfef03(0x14b)],'name':_0xdfef03(0x10f),'message':_0x7a34dc[_0xdfef03(0x127)],'choices':_0x59ba20[_0xdfef03(0xf0)](_0x115d13=>({'name':_0x115d13[_0xdfef03(0x163)]+'\x20('+_0x115d13['id']+')','value':_0x115d13['id']}))}]);_0x3a88d3=_0x59ba20[_0xdfef03(0x169)](_0x2ad7f6=>_0x2ad7f6['id']===_0x198552);}await _0x7a34dc['GcGQF'](setActiveFeatureId,_0x3a88d3['id']);_0x11c0dc&&_0x11c0dc!==_0x3a88d3['gitBranch']&&(await _0x7a34dc['CbiZU'](updateFeature,_0x3a88d3['id'],{'gitBranch':_0x11c0dc}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x11c0dc));console[_0xdfef03(0xc9)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3a88d3[_0xdfef03(0x163)]+'\x20('+_0x3a88d3['id']+')'),await tryStartCurrentSession(_0x3a88d3['id']);const _0x40aad2=await _0x7a34dc['WOlKj'](getFeature,_0x3a88d3['id']),_0x35f253=process[_0xdfef03(0xf4)]['CLAUDE_SESSION_ID'];_0x35f253&&registerSession(_0x35f253,_0x40aad2['id']),_0x7a34dc[_0xdfef03(0x109)](displayFeature,_0x40aad2,_0x40aad2['checklistItems']),await printFeedbackNudge(_0x40aad2['id']);}async function printFeedbackNudge(_0x3a63a7){const _0x3f71f6=_0x51d3,_0x35315c={'UcdFx':function(_0x339e68,_0x1adf6b,_0x570d3b){return _0x339e68(_0x1adf6b,_0x570d3b);},'reUxZ':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x2ef697}=await getActionItems(_0x3a63a7);let _0x1b22be=0x0,_0x1ce568=0x0;for(const _0x2ef344 of _0x2ef697){const _0x53ed24=await _0x35315c[_0x3f71f6(0xf9)](getItemFeedback,_0x3a63a7,_0x2ef344['id']);_0x53ed24[_0x3f71f6(0x11f)]['length']>0x0&&(_0x1b22be+=_0x53ed24['unaddressedComments']['length'],_0x1ce568++);}_0x1b22be>0x0&&(console[_0x3f71f6(0xc9)](_0x3f71f6(0xaf)+_0x1b22be+_0x3f71f6(0x13b)+_0x1ce568+_0x3f71f6(0xd6)),console[_0x3f71f6(0xc9)](_0x35315c['reUxZ']));}catch{}}async function tryStartCurrentSession(_0x46fb2f){const _0x3c4b4c=_0x51d3,_0x2290f4={'ttUrQ':function(_0x2cd1c7,_0x219c90,_0x261f7b){return _0x2cd1c7(_0x219c90,_0x261f7b);}};try{const {sessions:_0x2bc49b}=await listFeatureSessions(_0x46fb2f),_0x593d11=_0x2bc49b['find'](_0x7c86fc=>_0x7c86fc[_0x3c4b4c(0x13c)]===_0x3c4b4c(0x11a));_0x593d11&&(await _0x2290f4[_0x3c4b4c(0x150)](startSession,_0x46fb2f,_0x593d11['id']),console['log'](_0x3c4b4c(0xc8)+_0x593d11[_0x3c4b4c(0x112)]));}catch{}}export async function featureReport(_0x18fcbf,_0x4674dd){const _0x3fa732=_0x51d3,_0x3df90d={'ViMoC':function(_0x36f65d){return _0x36f65d();},'LgKOr':_0x3fa732(0x14c),'BkgxX':_0x3fa732(0x13f),'KCvOU':function(_0x811ed8,_0x9f148e,_0x145bf4){return _0x811ed8(_0x9f148e,_0x145bf4);},'uCTPh':function(_0x55f0ea,_0x378195,_0xf7621b,_0x15a51f){return _0x55f0ea(_0x378195,_0xf7621b,_0x15a51f);},'VLrdK':function(_0x507d0f){return _0x507d0f();},'gpZlZ':function(_0xeba50f,_0x493420){return _0xeba50f(_0x493420);}},_0x52371d=_0x18fcbf||await _0x3df90d[_0x3fa732(0x104)](getActiveFeatureId);if(!_0x52371d)throw new Error(_0x3df90d['LgKOr']);console[_0x3fa732(0xc9)](_0x3df90d['BkgxX']);const _0x1a2803=await _0x3df90d['KCvOU'](getFeatureReportMarkdown,_0x52371d,{'style':_0x4674dd[_0x3fa732(0x12d)]}),_0x2a68fb=_0x4674dd['output']||_0x3df90d[_0x3fa732(0x126)](join,_0x3df90d['VLrdK'](getRangerDir),_0x3fa732(0xb6),_0x52371d+_0x3fa732(0x144)),_0x53589d=_0x3df90d[_0x3fa732(0x153)](join,_0x2a68fb,'..');!_0x3df90d[_0x3fa732(0xa2)](existsSync,_0x53589d)&&await mkdir(_0x53589d,{'recursive':!![]}),await writeFile(_0x2a68fb,_0x1a2803,'utf-8'),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x2a68fb);}export async function featureReportPrDescription(_0x25ae14,_0x521dce){const _0x3b453c=_0x51d3,_0x51a539={'KSkZa':function(_0x4bbe22){return _0x4bbe22();},'aZuPE':_0x3b453c(0x14c),'NYrWQ':function(_0x16fc9e,_0x21cff7,_0x510f32){return _0x16fc9e(_0x21cff7,_0x510f32);},'OZqaZ':function(_0x5c59e6,_0x1f429e){return _0x5c59e6===_0x1f429e;},'vFbbR':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','gkPhB':function(_0x3c840d,_0x268208){return _0x3c840d>_0x268208;},'krpNU':function(_0x358018,_0x4bf393){return _0x358018<_0x4bf393;},'CzZPD':function(_0xaf300f,_0x2a6bf9){return _0xaf300f+_0x2a6bf9;}},_0x2eac66=_0x25ae14||await _0x51a539[_0x3b453c(0x135)](getActiveFeatureId);if(!_0x2eac66)throw new Error(_0x51a539['aZuPE']);const _0x5d6933=await getFeature(_0x2eac66),_0x505d7e=_0x5d6933[_0x3b453c(0x105)]||[],_0x2d1400=_0x51a539['NYrWQ'](getCurrentSessionItems,_0x5d6933,_0x505d7e);_0x51a539['OZqaZ'](_0x2d1400['length'],0x0)&&(console['error'](_0x51a539[_0x3b453c(0xa8)]),process[_0x3b453c(0xfd)](0x1));const _0x2613a8=_0x521dce[_0x3b453c(0xc4)]??[],_0x10bc53=_0x2613a8[_0x3b453c(0x15d)](_0x2d2e93=>!Number['isInteger'](_0x2d2e93)||_0x2d2e93<0x1||_0x2d2e93>_0x2d1400[_0x3b453c(0xb3)]);if(_0x51a539[_0x3b453c(0x10b)](_0x10bc53['length'],0x0)){console['error'](_0x3b453c(0x100)+_0x10bc53['join'](',\x20')),console['log'](_0x3b453c(0x15b));for(let _0x324dc8=0x0;_0x51a539['krpNU'](_0x324dc8,_0x2d1400['length']);_0x324dc8++){console[_0x3b453c(0xc9)]('\x20\x20'+_0x51a539[_0x3b453c(0xb5)](_0x324dc8,0x1)+'.\x20'+_0x2d1400[_0x324dc8][_0x3b453c(0xbf)]);}process['exit'](0x1);}const _0x2ea6e2=new Set(_0x2613a8['map'](_0x2127bb=>_0x2127bb-0x1)),_0x54dc96=_0x2d1400[_0x3b453c(0x15d)]((_0x54b98d,_0x571d1d)=>!_0x2ea6e2['has'](_0x571d1d));_0x51a539[_0x3b453c(0x101)](_0x54dc96[_0x3b453c(0xb3)],0x0)&&(console['error'](_0x3b453c(0xdb)),process['exit'](0x1));const _0x4ced75=await getFeatureReportMarkdown(_0x2eac66,{'itemIds':_0x54dc96['map'](_0x3a2503=>_0x3a2503['id'])});process[_0x3b453c(0x15f)][_0x3b453c(0xf3)](_0x4ced75['trimEnd']()+'\x0a');}export async function featureConcludeSession(_0x1fd5ef){const _0x5998ad=_0x51d3,_0xa74297={'qMAVq':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','njNTo':function(_0x1297b4,_0x3e9357){return _0x1297b4(_0x3e9357);},'cOYbO':_0x5998ad(0x10d),'Byvwy':'\x0a✅\x20Session\x20is\x20already\x20completed.','oiyIv':function(_0x1b1a02,_0x124131){return _0x1b1a02!==_0x124131;}},_0x1a18fc=_0x1fd5ef||await getActiveFeatureId();if(!_0x1a18fc)throw new Error(_0xa74297['qMAVq']);const _0x53640b=await _0xa74297[_0x5998ad(0xe1)](getFeature,_0x1a18fc);if(!_0x53640b['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x4560b7}=await _0xa74297[_0x5998ad(0xe1)](listFeatureSessions,_0x1a18fc),_0x52e0f5=_0x4560b7[_0x5998ad(0x169)](_0x5fbb04=>_0x5fbb04['id']===_0x53640b['currentSessionId']);if(!_0x52e0f5)throw new Error(_0xa74297[_0x5998ad(0x13a)]);if(_0x52e0f5[_0x5998ad(0x13c)]===_0x5998ad(0x120)){console[_0x5998ad(0xc9)](_0xa74297[_0x5998ad(0x108)]);return;}if(_0xa74297['oiyIv'](_0x52e0f5[_0x5998ad(0x13c)],_0x5998ad(0xfc)))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x52e0f5['status']);console[_0x5998ad(0xc9)]('\x0aConcluding\x20session...'),await concludeSession(_0x1a18fc,_0x53640b['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x52e0f5[_0x5998ad(0x112)]+'\x20concluded.'),console['log'](_0x5998ad(0xb8));}export async function featureSessions(_0x5f58c9){const _0x145363=_0x51d3,_0x174a18={'stdCd':function(_0x237048){return _0x237048();},'QUrWm':function(_0x53a5fd,_0x3cbb7b){return _0x53a5fd(_0x3cbb7b);},'EBciL':function(_0x4617d7,_0x52481b){return _0x4617d7===_0x52481b;},'NFoBM':_0x145363(0x120),'YvCuE':_0x145363(0xfc)},_0x2fa4ff=_0x5f58c9||await _0x174a18[_0x145363(0x142)](getActiveFeatureId);if(!_0x2fa4ff)throw new Error(_0x145363(0x14c));const _0xc5bb27=await getFeature(_0x2fa4ff);console[_0x145363(0xc9)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0xc5bb27['name']+'\x0a');const {sessions:_0x55d65c}=await _0x174a18['QUrWm'](listFeatureSessions,_0x2fa4ff);if(_0x174a18[_0x145363(0x11b)](_0x55d65c[_0x145363(0xb3)],0x0)){console[_0x145363(0xc9)](_0x145363(0xbc));return;}for(const _0x3d035a of _0x55d65c){const _0x5a8fa0=_0x3d035a['status']===_0x174a18['NFoBM']?'✅':_0x174a18['EBciL'](_0x3d035a[_0x145363(0x13c)],_0x174a18['YvCuE'])?'🔄':'▶️';console[_0x145363(0xc9)](_0x5a8fa0+_0x145363(0xc0)+_0x3d035a['iteration']+'\x20('+_0x3d035a['id']+')'),console[_0x145363(0xc9)]('\x20\x20\x20Status:\x20'+_0x3d035a[_0x145363(0x13c)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3d035a['createdAt'])['toLocaleString']()),_0x3d035a[_0x145363(0x110)]&&console[_0x145363(0xc9)]('\x20\x20\x20Completed:\x20'+new Date(_0x3d035a[_0x145363(0x110)])[_0x145363(0xfe)]()),console['log']('');}}export async function featureAddScenario(_0x196e9c,_0x558d54){const _0x31626f=_0x51d3,_0x177afa={'pBwup':function(_0x2ced9b,_0x4ec696){return _0x2ced9b(_0x4ec696);}},_0x35cb57=_0x558d54||await getActiveFeatureId();if(!_0x35cb57)throw new Error(_0x31626f(0x13e));const _0x507f98=await _0x177afa[_0x31626f(0x13d)](getFeature,_0x35cb57);if(_0x507f98['latestReview']&&!_0x507f98['latestReview']['submittedAt'])throw new Error(_0x31626f(0xdd)+_0x507f98[_0x31626f(0xaa)]);await createChecklistItem(_0x35cb57,_0x196e9c);const _0x1e3c48=await getFeature(_0x35cb57);console['log'](_0x31626f(0x118)),displayFeature(_0x1e3c48,_0x1e3c48['checklistItems']);}export async function featureEditScenario(_0x987805,_0x4a2b14){const _0x1fd390=_0x51d3,_0x8258e2={'nGhhW':function(_0xd44bed){return _0xd44bed();},'MlLkG':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','igjKd':function(_0x139aee,_0x433727){return _0x139aee(_0x433727);},'SKqNw':_0x1fd390(0x12a),'rLZzg':function(_0x4bd0b7,_0x75337e){return _0x4bd0b7<_0x75337e;},'RmpsK':function(_0x26f7a1,_0x3de894){return _0x26f7a1-_0x3de894;},'GIlmh':function(_0x12b159,_0x69644b){return _0x12b159<_0x69644b;},'PmOvO':'\x0aAvailable\x20scenarios:','hbqeo':function(_0x3c8ae7,_0x5a5f20){return _0x3c8ae7<_0x5a5f20;},'URsRu':function(_0x38a46c,_0x56ad89,_0x200dac,_0x11a431){return _0x38a46c(_0x56ad89,_0x200dac,_0x11a431);}},_0x4985f9=_0x4a2b14['id']||await _0x8258e2[_0x1fd390(0x10e)](getActiveFeatureId);!_0x4985f9&&(console[_0x1fd390(0x16a)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x8258e2['MlLkG']),process[_0x1fd390(0xfd)](0x1));const _0x350d62=await _0x8258e2[_0x1fd390(0xf1)](getFeature,_0x4985f9);_0x350d62['latestReview']&&!_0x350d62['latestReview'][_0x1fd390(0x146)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x1fd390(0x16a)](_0x8258e2[_0x1fd390(0x10c)]),console['error']('\x20\x20'+_0x350d62['dashboardUrl']),process[_0x1fd390(0xfd)](0x1));const _0x183c59=_0x350d62['checklistItems']||[];_0x183c59[_0x1fd390(0xb3)]===0x0&&(console['error'](_0x1fd390(0xee)),process[_0x1fd390(0xfd)](0x1));if(_0x4a2b14[_0x1fd390(0x156)]===undefined){console[_0x1fd390(0x16a)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x1fd390(0xc9)](_0x1fd390(0x15b));for(let _0x436d64=0x0;_0x8258e2[_0x1fd390(0x161)](_0x436d64,_0x183c59['length']);_0x436d64++){console['log']('\x20\x20'+(_0x436d64+0x1)+'.\x20'+_0x183c59[_0x436d64][_0x1fd390(0xbf)]);}process['exit'](0x1);}const _0x2c6f82=_0x8258e2[_0x1fd390(0xea)](_0x4a2b14['scenario'],0x1);if(_0x8258e2['GIlmh'](_0x2c6f82,0x0)||_0x2c6f82>=_0x183c59[_0x1fd390(0xb3)]){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x4a2b14['scenario']+_0x1fd390(0x123)+_0x183c59['length']+_0x1fd390(0xd0)),console['log'](_0x8258e2['PmOvO']);for(let _0x852de=0x0;_0x8258e2['hbqeo'](_0x852de,_0x183c59['length']);_0x852de++){console[_0x1fd390(0xc9)]('\x20\x20'+(_0x852de+0x1)+'.\x20'+_0x183c59[_0x852de]['description']);}process['exit'](0x1);}const _0x3a7692=_0x183c59[_0x2c6f82];await _0x8258e2[_0x1fd390(0xa9)](updateChecklistItem,_0x4985f9,_0x3a7692['id'],{'description':_0x987805});const _0x283c99=await _0x8258e2[_0x1fd390(0xf1)](getFeature,_0x4985f9);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x283c99,_0x283c99['checklistItems']);}async function downloadFeedbackImage(_0x1a2493,_0x527cad){const _0x536bd5=_0x51d3,_0x133574={'rWJUD':function(_0x21ac24,_0x50802c,_0x549850){return _0x21ac24(_0x50802c,_0x549850);},'LLaTW':function(_0x44cfc9){return _0x44cfc9();},'gDWvg':'feedback-images','ocDmK':function(_0x585286,_0x59731f,_0x55b075){return _0x585286(_0x59731f,_0x55b075);},'imcwu':function(_0x2d2d55,_0x5776e5,_0x4026f9){return _0x2d2d55(_0x5776e5,_0x4026f9);}};try{const _0x4d72b3=_0x133574['rWJUD'](join,_0x133574[_0x536bd5(0x12c)](getRangerDir),_0x133574[_0x536bd5(0xc2)]);await _0x133574['ocDmK'](mkdir,_0x4d72b3,{'recursive':!![]});const _0x582774=_0x133574[_0x536bd5(0xd8)](join,_0x4d72b3,'comment_'+_0x527cad+'.png'),_0x39fbc7=await fetch(_0x1a2493);if(!_0x39fbc7['ok'])return null;const _0xc9896f=Buffer[_0x536bd5(0xf2)](await _0x39fbc7[_0x536bd5(0xe4)]());return await writeFile(_0x582774,_0xc9896f),_0x582774;}catch{return null;}}export async function featureGetReview(_0x5b2e2f){const _0x29c3cb=_0x51d3,_0x21b4dd={'caohl':function(_0x36aa35){return _0x36aa35();},'VWdxv':function(_0x2cc225,_0x2b8764){return _0x2cc225(_0x2b8764);},'xKppm':function(_0x16902b,_0x28079f){return _0x16902b===_0x28079f;},'fSqNS':_0x29c3cb(0x145),'XtVoM':function(_0x5b6186,_0x1f532e,_0x1f034b){return _0x5b6186(_0x1f532e,_0x1f034b);},'dacxT':function(_0x2cc1a8,_0x320101){return _0x2cc1a8>_0x320101;},'SKuXH':function(_0x3d299a,_0x244e61){return _0x3d299a+_0x244e61;},'ZgJiD':'en-US','RhQJp':'short','ivdGA':'numeric','faPHz':_0x29c3cb(0x162),'ebhYj':'element','gDGir':function(_0xb4d412,_0x4fad7a){return _0xb4d412===_0x4fad7a;},'xCefz':function(_0x6436e6,_0x1436d3){return _0x6436e6>=_0x1436d3;}},_0x2cbb46=_0x5b2e2f||await _0x21b4dd[_0x29c3cb(0xb4)](getActiveFeatureId);if(!_0x2cbb46)throw new Error(_0x29c3cb(0x13e));const _0x2ec718=await _0x21b4dd['VWdxv'](getFeature,_0x2cbb46),{items:_0x4bfbfb}=await getActionItems(_0x2cbb46);console[_0x29c3cb(0xc9)](_0x29c3cb(0x12b)+_0x2ec718['name']+'\x20('+_0x2ec718['id']+')\x0a');if(_0x21b4dd['xKppm'](_0x4bfbfb['length'],0x0)){console[_0x29c3cb(0xc9)](_0x21b4dd['fSqNS']);return;}for(let _0x8fe0fa=0x0;_0x8fe0fa<_0x4bfbfb['length'];_0x8fe0fa++){const _0x447476=_0x4bfbfb[_0x8fe0fa],_0x186801=_0x447476[_0x29c3cb(0xe9)]>0x1?'\x20(v'+_0x447476[_0x29c3cb(0xe9)]+')':'',_0x1a8438=await _0x21b4dd[_0x29c3cb(0xc7)](getItemFeedback,_0x2cbb46,_0x447476['id']);if(_0x21b4dd[_0x29c3cb(0xa7)](_0x1a8438[_0x29c3cb(0x11f)]['length'],0x0)){console['log']('Scenario\x20'+_0x21b4dd[_0x29c3cb(0xd1)](_0x8fe0fa,0x1)+':\x20\x22'+_0x447476[_0x29c3cb(0xbf)]+'\x22'+_0x186801+_0x29c3cb(0xbd)+_0x1a8438[_0x29c3cb(0x11f)][_0x29c3cb(0xb3)]+'\x20unaddressed\x20comment(s)');for(const _0x3b8cc9 of _0x1a8438['unaddressedComments']){const _0x15c0ac=new Date(_0x3b8cc9['createdAt'])[_0x29c3cb(0x165)](_0x21b4dd['ZgJiD'],{'month':_0x21b4dd['RhQJp'],'day':_0x21b4dd[_0x29c3cb(0x151)]}),_0x420e2c=_0x3b8cc9[_0x29c3cb(0xe0)]||_0x3b8cc9['authorEmail']||_0x21b4dd['faPHz'];console[_0x29c3cb(0xc9)]('\x20\x20💬\x20'+_0x420e2c+'\x20('+_0x15c0ac+_0x29c3cb(0x128)+_0x3b8cc9[_0x29c3cb(0xa6)]+'\x22');if(_0x3b8cc9['assetUrl']){const _0x10a92f=await downloadFeedbackImage(_0x3b8cc9[_0x29c3cb(0x14f)],_0x3b8cc9['id']);_0x10a92f&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x10a92f);}if(_0x3b8cc9[_0x29c3cb(0x155)]){const _0x42807b=_0x3b8cc9[_0x29c3cb(0x155)]['selector'][_0x29c3cb(0x166)]('\x20>\x20')['pop']()?.[_0x29c3cb(0x166)](':')[0x0]||_0x21b4dd['ebhYj'],_0x1def0c=_0x3b8cc9[_0x29c3cb(0x155)][_0x29c3cb(0x102)]?'\x20\x22'+_0x3b8cc9[_0x29c3cb(0x155)][_0x29c3cb(0x102)]['slice'](0x0,0x3c)+'\x22':'';console[_0x29c3cb(0xc9)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x42807b+'>'+_0x1def0c),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x3b8cc9['domRef'][_0x29c3cb(0x143)]);}else{if(_0x3b8cc9['spatial']){const _0x332dee=_0x3b8cc9['spatial'][_0x29c3cb(0x164)];_0x21b4dd[_0x29c3cb(0xe5)](_0x3b8cc9[_0x29c3cb(0x14a)]['type'],'point')&&_0x21b4dd['xCefz'](_0x332dee['length'],0x2)?console[_0x29c3cb(0xc9)](_0x29c3cb(0xcd)+_0x332dee[0x0]['toFixed'](0x2)+',\x20'+_0x332dee[0x1][_0x29c3cb(0xe6)](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3b8cc9[_0x29c3cb(0x14a)][_0x29c3cb(0x122)]+_0x29c3cb(0x154)+_0x332dee['map'](_0x3d9101=>_0x3d9101[_0x29c3cb(0xe6)](0x2))['join'](',\x20')+']');}}}if(_0x1a8438[_0x29c3cb(0x12e)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x2bc536 of _0x1a8438[_0x29c3cb(0x12e)][_0x29c3cb(0x166)]('\x0a')){console[_0x29c3cb(0xc9)](_0x29c3cb(0xff)+_0x2bc536);}}}else console['log']('Scenario\x20'+_0x21b4dd[_0x29c3cb(0xd1)](_0x8fe0fa,0x1)+':\x20\x22'+_0x447476['description']+'\x22'+_0x186801+'\x20—\x20no\x20comments'),console[_0x29c3cb(0xc9)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x50f6af){const _0x35c6eb=_0x51d3,_0x1c6c7c={'zLLvH':_0x35c6eb(0x13e),'ZLOzH':function(_0x1837ac,_0xc48af6){return _0x1837ac(_0xc48af6);},'vCZpw':function(_0x40791b,_0x50a6e3){return _0x40791b+_0x50a6e3;}},_0x14ddb4=_0x50f6af||await getActiveFeatureId();if(!_0x14ddb4)throw new Error(_0x1c6c7c[_0x35c6eb(0x158)]);const _0x5a1533=await getFeature(_0x14ddb4);await _0x1c6c7c['ZLOzH'](softDeleteFeature,_0x14ddb4),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5a1533['name']+'\x20('+_0x14ddb4+')'),console[_0x35c6eb(0xc9)](_0x1c6c7c['vCZpw']('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x14ddb4));}export async function featureRestore(_0x56858a){const _0xeb157=_0x51d3,_0x34aaf6={'ikMFD':function(_0x28ac85,_0x4c667a){return _0x28ac85(_0x4c667a);}};await restoreFeature(_0x56858a);const _0x4fd5d1=await _0x34aaf6[_0xeb157(0xce)](getFeature,_0x56858a);console[_0xeb157(0xc9)](_0xeb157(0xe2)+_0x4fd5d1[_0xeb157(0x163)]+'\x20('+_0x56858a+')'),displayFeature(_0x4fd5d1,_0x4fd5d1['checklistItems']);}
1
+ const _0x2c0418=_0x4321;(function(_0x2d6654,_0x288619){const _0x3f5d31=_0x4321,_0x2d0001=_0x2d6654();while(!![]){try{const _0x28367e=parseInt(_0x3f5d31(0x119))/0x1*(-parseInt(_0x3f5d31(0x14a))/0x2)+parseInt(_0x3f5d31(0x13d))/0x3+parseInt(_0x3f5d31(0x10e))/0x4*(-parseInt(_0x3f5d31(0x133))/0x5)+-parseInt(_0x3f5d31(0x16f))/0x6*(parseInt(_0x3f5d31(0xd4))/0x7)+parseInt(_0x3f5d31(0xe7))/0x8*(parseInt(_0x3f5d31(0x12f))/0x9)+-parseInt(_0x3f5d31(0x17b))/0xa+parseInt(_0x3f5d31(0x134))/0xb;if(_0x28367e===_0x288619)break;else _0x2d0001['push'](_0x2d0001['shift']());}catch(_0x56dbbb){_0x2d0001['push'](_0x2d0001['shift']());}}}(_0x2c30,0x859ac));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x34319d from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x4321(_0x39044c,_0x2b3afa){_0x39044c=_0x39044c-0xcd;const _0x2c30a1=_0x2c30();let _0x4321ab=_0x2c30a1[_0x39044c];return _0x4321ab;}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=_0x31606f=>_0x2c0418(0x11d)+_0x31606f+_0x2c0418(0x173);function getGitRepoUrl(){const _0x25453c=_0x2c0418,_0x126328={'bYgKS':function(_0x5412a6,_0x4a0687,_0x1db043){return _0x5412a6(_0x4a0687,_0x1db043);},'zgUEV':'utf-8','BFHUT':'pipe'};try{const _0x186691=_0x126328[_0x25453c(0xdf)](execSync,_0x25453c(0x150),{'encoding':_0x126328[_0x25453c(0xde)],'stdio':[_0x126328[_0x25453c(0x124)],_0x126328['BFHUT'],_0x25453c(0x163)]})['trim']();return _0x186691[_0x25453c(0xe6)](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')[_0x25453c(0xe6)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x7e9ae1=_0x2c0418,_0x30d058={'vHapu':function(_0x375dad,_0x4e791d,_0x25820a){return _0x375dad(_0x4e791d,_0x25820a);},'QRtQv':_0x7e9ae1(0xfd),'KzwVq':'pipe'};try{return _0x30d058[_0x7e9ae1(0x171)](execSync,_0x30d058[_0x7e9ae1(0x147)],{'encoding':_0x7e9ae1(0x18a),'stdio':[_0x7e9ae1(0x163),_0x7e9ae1(0x163),_0x30d058['KzwVq']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1c6e61=_0x2c0418,_0x5613ee={'wCFUj':function(_0x376459){return _0x376459();},'CKWSa':function(_0x2c4030,_0x55cc7c){return _0x2c4030(_0x55cc7c);},'Iivrq':function(_0x477b66,_0x3ee9d1,_0x4b64c0){return _0x477b66(_0x3ee9d1,_0x4b64c0);}},_0x36e179=join(_0x5613ee[_0x1c6e61(0xf6)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x5613ee[_0x1c6e61(0xf3)](existsSync,_0x36e179))return null;try{const _0x53a02f=await _0x5613ee['Iivrq'](readFile,_0x36e179,_0x1c6e61(0x18a));return _0x53a02f['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x52d7a8){const _0x5adcff=_0x2c0418,_0x285a1e={'NXiFZ':function(_0x32fd3e){return _0x32fd3e();},'QJXpN':function(_0x256bac,_0x21d36d,_0x363285){return _0x256bac(_0x21d36d,_0x363285);},'pMosW':function(_0x1fa8fa,_0x20c654){return _0x1fa8fa(_0x20c654);}},_0x4d89ac=_0x285a1e['NXiFZ'](getRangerDir),_0x542624=_0x285a1e['QJXpN'](join,_0x4d89ac,ACTIVE_FEATURE_FILE);!_0x285a1e[_0x5adcff(0x105)](existsSync,_0x4d89ac)&&await mkdir(_0x4d89ac,{'recursive':!![]}),await writeFile(_0x542624,_0x52d7a8,'utf-8');}function getProgressDisplay(_0x35172b){const _0x103cfc=_0x2c0418,_0xebce64={'oScpl':function(_0x3c081b,_0x4a3b85){return _0x3c081b+_0x4a3b85;},'iHykS':function(_0x5c6ff1,_0x5ac280){return _0x5c6ff1+_0x5ac280;},'nRTLC':function(_0x531c54,_0x73bd54){return _0x531c54+_0x73bd54;},'flVqI':function(_0x33a121,_0x2cdae6){return _0x33a121-_0x2cdae6;},'bDaXe':function(_0xcd1ac9,_0x49861b){return _0xcd1ac9>_0x49861b;},'sIDkP':function(_0x1f8eba,_0x2a64df){return _0x1f8eba>_0x2a64df;},'IsRWy':function(_0x530272,_0x159126){return _0x530272>_0x159126;}},_0x119fea=_0x35172b[_0x103cfc(0x125)]||0x0,_0x1c79c7=_0x35172b[_0x103cfc(0xcd)]||0x0,_0x51ecb0=_0x35172b[_0x103cfc(0xdc)]||0x0,_0x3a1ff7=_0x35172b['incompleteItems']||0x0,_0x4bcb7f=_0x35172b[_0x103cfc(0x10a)]||0x0,_0x230feb=_0xebce64[_0x103cfc(0x152)](_0xebce64['iHykS'](_0xebce64[_0x103cfc(0x13e)](_0x119fea,_0x1c79c7),_0x51ecb0),_0x3a1ff7)+_0x4bcb7f;if(_0x230feb===0x0)return'-';const _0x1fe2a6=0xa,_0x16b6c7=Math['round'](_0x119fea/_0x230feb*_0x1fe2a6),_0x29db55=_0xebce64[_0x103cfc(0x13e)]('█'[_0x103cfc(0x121)](_0x16b6c7),'░'['repeat'](_0xebce64[_0x103cfc(0xd7)](_0x1fe2a6,_0x16b6c7))),_0x1d25fc=[];if(_0xebce64['bDaXe'](_0x51ecb0,0x0))_0x1d25fc['push'](_0x51ecb0+_0x103cfc(0x18f));if(_0xebce64[_0x103cfc(0x176)](_0x3a1ff7,0x0))_0x1d25fc[_0x103cfc(0x185)](_0x3a1ff7+_0x103cfc(0xf0));if(_0xebce64[_0x103cfc(0x15e)](_0x1c79c7,0x0))_0x1d25fc['push'](_0x1c79c7+_0x103cfc(0xe5));const _0x46b355=_0xebce64[_0x103cfc(0x12b)](_0x1d25fc['length'],0x0)?'\x20('+_0x1d25fc[_0x103cfc(0x108)](',\x20')+')':'';return _0x29db55+'\x20'+_0x119fea+'/'+_0x230feb+_0x103cfc(0x113)+_0x46b355;}function getCurrentSessionItems(_0x76c821,_0x22de81){const _0x70ca3a=_0x2c0418;if(!_0x76c821['currentSessionId'])return _0x22de81['filter'](_0x520115=>!_0x520115['sessionId'])['sort']((_0xa84d3e,_0x3880b4)=>_0xa84d3e[_0x70ca3a(0x166)]-_0x3880b4['position']);return _0x22de81['filter'](_0x1247d8=>_0x1247d8[_0x70ca3a(0x153)]===_0x76c821['currentSessionId']||!_0x1247d8['sessionId'])[_0x70ca3a(0xd3)]((_0x210cde,_0x5252e3)=>_0x210cde[_0x70ca3a(0x166)]-_0x5252e3['position']);}function displayFeature(_0x123734,_0x4655fa){const _0x36dfca=_0x2c0418,_0x573db3={'yVtDf':function(_0x1b4dc6,_0x98f794){return _0x1b4dc6===_0x98f794;},'CEHFP':_0x36dfca(0x167),'pqaxB':function(_0x3e76af,_0x2194c9){return _0x3e76af===_0x2194c9;},'TZtJf':function(_0x1705c4,_0x176c80){return _0x1705c4===_0x176c80;},'aAsWq':'closed','LKVff':_0x36dfca(0xfc),'ialBG':function(_0x33e6f2,_0x3cb079){return _0x33e6f2>_0x3cb079;},'BLHhK':function(_0x1e4db9,_0x4d07c4){return _0x1e4db9!==_0x4d07c4;},'KwEBJ':'verified','lEUTi':'blocked','IXhnk':function(_0x4ac4e9,_0x2d36cb){return _0x4ac4e9===_0x2d36cb;},'dHqQU':function(_0x222758,_0x254e47){return _0x222758===_0x254e47;}};console['log']('\x0a'+_0x123734['name']+'\x20('+_0x123734['dashboardUrl']+')');_0x123734['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x123734['stats']));_0x123734['description']&&console[_0x36dfca(0x103)]('\x20\x20\x20Description:\x20'+_0x123734[_0x36dfca(0x13b)]);_0x123734[_0x36dfca(0x16e)]&&console['log'](_0x36dfca(0x14e)+_0x123734[_0x36dfca(0x16e)]);_0x123734[_0x36dfca(0x12e)]&&console[_0x36dfca(0x103)](_0x36dfca(0x102)+_0x123734[_0x36dfca(0x12e)]);console[_0x36dfca(0x103)](_0x36dfca(0xf5)+new Date(_0x123734[_0x36dfca(0x16c)])['toLocaleString']());_0x123734[_0x36dfca(0x178)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x123734['completedAt'])['toLocaleString']());if(_0x4655fa&&_0x4655fa['length']>0x0){console['log'](_0x36dfca(0x180));for(let _0x1c8848=0x0;_0x1c8848<_0x4655fa[_0x36dfca(0x198)];_0x1c8848++){const _0xf33a8d=_0x4655fa[_0x1c8848];let _0x59b2ec;if(_0xf33a8d['status']===_0x36dfca(0x11f)&&_0x573db3[_0x36dfca(0xf9)](_0xf33a8d[_0x36dfca(0x10c)],_0x36dfca(0x17f)))_0x59b2ec='✅';else{if(_0xf33a8d['status']==='verified')_0x59b2ec='🟢';else{if(_0x573db3['yVtDf'](_0xf33a8d['status'],_0x573db3[_0x36dfca(0x15c)]))_0x59b2ec='🟠';else{if(_0x573db3['pqaxB'](_0xf33a8d['status'],_0x36dfca(0x141)))_0x59b2ec='🛑';else{if(_0x573db3[_0x36dfca(0x149)](_0xf33a8d[_0x36dfca(0x114)],_0x573db3['aAsWq']))_0x59b2ec='⛔';else _0x573db3[_0x36dfca(0x149)](_0xf33a8d['status'],_0x573db3['LKVff'])?_0x59b2ec='⏳':_0x59b2ec='⬜';}}}}const _0x45ffce=_0x573db3[_0x36dfca(0x199)](_0xf33a8d[_0x36dfca(0x135)],0x1)?_0x36dfca(0x154)+_0xf33a8d['version']+')':'',_0x3a24da=_0xf33a8d[_0x36dfca(0x135)]>0x1&&_0xf33a8d['parentItemId']&&_0x573db3[_0x36dfca(0x169)](_0xf33a8d['status'],'closed')&&_0xf33a8d[_0x36dfca(0x114)]!==_0x573db3[_0x36dfca(0x111)]?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+(_0x1c8848+0x1)+'.\x20'+_0x59b2ec+'\x20'+_0xf33a8d[_0x36dfca(0x13b)]+_0x45ffce+_0x3a24da);_0xf33a8d[_0x36dfca(0x114)]===_0x573db3['lEUTi']&&_0xf33a8d['blockedReason']&&console[_0x36dfca(0x103)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0xf33a8d[_0x36dfca(0x14c)]);_0x573db3[_0x36dfca(0xf9)](_0xf33a8d['status'],_0x36dfca(0x167))&&_0xf33a8d['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0xf33a8d['incompleteReason']);if(_0x573db3[_0x36dfca(0x17c)](_0xf33a8d['status'],'closed')&&_0x573db3[_0x36dfca(0x118)](_0xf33a8d['terminalReason'],_0x36dfca(0x17f)))console[_0x36dfca(0x103)](_0x36dfca(0x192));else _0x573db3[_0x36dfca(0xf9)](_0xf33a8d[_0x36dfca(0x114)],_0x36dfca(0x11f))&&_0xf33a8d['canceledReason']&&console[_0x36dfca(0x103)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0xf33a8d['canceledReason']);}}}export async function featureCreate(_0x13643b,_0x5c15f9){const _0x8e5fd=_0x2c0418,_0xaf71e2={'aiaNi':function(_0x17fb9f,_0x3d826b){return _0x17fb9f(_0x3d826b);},'wdtzj':function(_0x19f32c){return _0x19f32c();},'MRpuH':function(_0xd5e4ac,_0x52986c,_0x20ecf4){return _0xd5e4ac(_0x52986c,_0x20ecf4);}},{envNames:_0x156e04}=await getEnvNames();_0x156e04[_0x8e5fd(0x198)]===0x0&&console[_0x8e5fd(0xff)]('\x0a'+_0xaf71e2['aiaNi'](formatProfileRequiredMessage,_0x43f945=>bold(_0x43f945)));const _0x831e36=_0x5c15f9[_0x8e5fd(0x104)]?_0x5c15f9['scenarios'][_0x8e5fd(0x13f)](_0x1e079e=>_0x1e079e[_0x8e5fd(0x106)]()):[],_0xfe28f=_0xaf71e2[_0x8e5fd(0xe2)](getGitRepoUrl),_0x5e277e=getGitBranch();console[_0x8e5fd(0x103)](_0x8e5fd(0x146));const _0x3a88d1=await createFeature({'name':_0x13643b,'description':_0x5c15f9[_0x8e5fd(0x13b)],'checklist':_0x831e36,'gitRepoUrl':_0xfe28f,'gitBranch':_0x5e277e});await setActiveFeatureId(_0x3a88d1['id']),await tryStartCurrentSession(_0x3a88d1['id']);const _0x4f70e5=process[_0x8e5fd(0x110)][_0x8e5fd(0xef)];_0x4f70e5&&registerSession(_0x4f70e5,_0x3a88d1['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x3a88d1['id']),_0xaf71e2[_0x8e5fd(0x17e)](displayFeature,_0x3a88d1,_0x3a88d1['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0xdfd01b){const _0x139bfa=_0x2c0418,_0x3fd3c0={'KZQei':function(_0x5c3de7){return _0x5c3de7();},'HetSE':function(_0x4d5d7d,_0x5a4455){return _0x4d5d7d(_0x5a4455);},'hdwhm':function(_0x1c6c58,_0x48bc9d){return _0x1c6c58+_0x48bc9d;},'fvUze':function(_0x52dd6a,_0x165912){return _0x52dd6a<_0x165912;},'eAymx':_0x139bfa(0x177)},_0x37a320={'limit':_0xdfd01b[_0x139bfa(0x159)]??0xa,'offset':_0xdfd01b[_0x139bfa(0xd2)]??0x0,'includeDeleted':_0xdfd01b['includeDeleted']};_0xdfd01b[_0x139bfa(0x196)]&&(_0x37a320[_0x139bfa(0x16e)]=_0x3fd3c0['KZQei'](getGitRepoUrl),_0x37a320[_0x139bfa(0x12e)]=_0x3fd3c0['KZQei'](getGitBranch));const _0x1bb5fd=await _0x3fd3c0['HetSE'](listFeatures,_0x37a320);if(_0x1bb5fd[_0x139bfa(0x142)]['length']===0x0){console['log'](_0x139bfa(0xf2));return;}const _0x5bd1f6=_0x1bb5fd[_0x139bfa(0x138)]>_0x1bb5fd['items'][_0x139bfa(0x198)]?_0x139bfa(0xf7)+_0x1bb5fd[_0x139bfa(0x142)]['length']+_0x139bfa(0x13c)+_0x1bb5fd[_0x139bfa(0x138)]:_0x1bb5fd['totalCount']+_0x139bfa(0x137);console['log']('\x0a'+_0x5bd1f6+':\x0a');for(const _0x1fa9d9 of _0x1bb5fd['items']){console['log'](''+_0x1fa9d9['name']),console['log'](_0x139bfa(0x14f)+_0x1fa9d9['id']),_0x1fa9d9['stats']&&console['log'](_0x139bfa(0x16d)+_0x3fd3c0[_0x139bfa(0x14d)](getProgressDisplay,_0x1fa9d9[_0x139bfa(0xf1)])),_0x1fa9d9[_0x139bfa(0x12e)]&&console[_0x139bfa(0x103)](_0x139bfa(0x102)+_0x1fa9d9['gitBranch']),console[_0x139bfa(0x103)](_0x139bfa(0xf5)+new Date(_0x1fa9d9[_0x139bfa(0x16c)])['toLocaleDateString']()),console[_0x139bfa(0x103)]('');}const _0x33ac8d=_0x37a320['limit']??0xa,_0x2d1161=_0x3fd3c0[_0x139bfa(0x129)](_0x37a320[_0x139bfa(0xd2)]??0x0,_0x1bb5fd['items'][_0x139bfa(0x198)]);if(_0x3fd3c0['fvUze'](_0x2d1161,_0x1bb5fd['totalCount'])){const _0x1b8ad6=_0x33ac8d!==0xa?_0x139bfa(0xe0)+_0x33ac8d:'',_0x3c1981=_0xdfd01b['currentBranch']?_0x3fd3c0[_0x139bfa(0x188)]:'',_0x3b4062=_0xdfd01b['includeDeleted']?_0x139bfa(0xfe):'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x2d1161+_0x1b8ad6+_0x3c1981+_0x3b4062);}}export async function featureShow(_0x39fbd0){const _0x50841d={'FAdDj':function(_0x415557){return _0x415557();},'JAnsg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','FBQCy':function(_0xccf0d6,_0x37af8a){return _0xccf0d6(_0x37af8a);}},_0x3a59fc=_0x39fbd0||await _0x50841d['FAdDj'](getActiveFeatureId);if(!_0x3a59fc)throw new Error(_0x50841d['JAnsg']);const _0x67c30a=await _0x50841d['FBQCy'](getFeature,_0x3a59fc);displayFeature(_0x67c30a,_0x67c30a['checklistItems']);}export async function featureResume(_0x3cae6a){const _0x3f227f=_0x2c0418,_0x49d75f={'nmZaG':function(_0x5a33e4,_0xbb673a){return _0x5a33e4(_0xbb673a);},'mzGXN':function(_0x5aa2b4){return _0x5aa2b4();},'CLWos':'Not\x20in\x20a\x20git\x20repository.','KNmhO':function(_0x2a1fc0,_0x530d87){return _0x2a1fc0||_0x530d87;},'NbSQN':_0x3f227f(0x148),'PIimC':function(_0x31aad7,_0x343006){return _0x31aad7===_0x343006;},'gNDjh':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','adotK':_0x3f227f(0x115),'hIEmM':function(_0x540b1e,_0x47bb14){return _0x540b1e!==_0x47bb14;},'Nsorf':function(_0xcb62a5,_0x4276d2){return _0xcb62a5(_0x4276d2);},'pzUGG':function(_0x8b41ef,_0x79b89d,_0x5280f6){return _0x8b41ef(_0x79b89d,_0x5280f6);}};if(_0x3cae6a){const _0x214a48=await getFeature(_0x3cae6a);await _0x49d75f[_0x3f227f(0x101)](setActiveFeatureId,_0x214a48['id']);const _0x410555=_0x49d75f['mzGXN'](getGitBranch);_0x410555&&_0x410555!==_0x214a48['gitBranch']&&(await updateFeature(_0x214a48['id'],{'gitBranch':_0x410555}),console['log'](_0x3f227f(0x191)+_0x410555));console[_0x3f227f(0x103)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x214a48['name']+'\x20('+_0x214a48['id']+')'),await tryStartCurrentSession(_0x214a48['id']);const _0x24dd22=process['env']['CLAUDE_SESSION_ID'];_0x24dd22&&registerSession(_0x24dd22,_0x214a48['id']);displayFeature(_0x214a48,_0x214a48[_0x3f227f(0xfb)]),await _0x49d75f[_0x3f227f(0x101)](printFeedbackNudge,_0x214a48['id']);return;}const _0x2fe660=getGitRepoUrl(),_0x41fcf=getGitBranch();if(!_0x2fe660&&!_0x41fcf)throw new Error(_0x49d75f['CLWos']);console['log'](_0x3f227f(0x122)+_0x49d75f['KNmhO'](_0x2fe660,_0x49d75f['NbSQN'])+'\x20/\x20'+(_0x41fcf||_0x3f227f(0x148))+_0x3f227f(0xf8));const _0x3f5aee=await listFeatures({'gitRepoUrl':_0x2fe660,'gitBranch':_0x41fcf}),_0x15deff=_0x3f5aee['items'][_0x3f227f(0xdd)](_0x2bbc35=>!_0x2bbc35[_0x3f227f(0x178)]);if(_0x49d75f['PIimC'](_0x15deff[_0x3f227f(0x198)],0x0)){console['log'](_0x49d75f[_0x3f227f(0x12d)]),console['log'](_0x3f227f(0x182));return;}let _0x239c2b;if(_0x15deff[_0x3f227f(0x198)]===0x1)_0x239c2b=_0x15deff[0x0];else{const _0x41548a=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x41548a){console[_0x3f227f(0x103)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x584e08 of _0x15deff){console['log']('\x20\x20'+_0x584e08[_0x3f227f(0xce)]),console[_0x3f227f(0x103)]('\x20\x20\x20\x20\x20ID:\x20'+_0x584e08['id']),_0x584e08['stats']&&console[_0x3f227f(0x103)](_0x3f227f(0xda)+_0x49d75f[_0x3f227f(0x101)](getProgressDisplay,_0x584e08[_0x3f227f(0xf1)])),_0x584e08['gitBranch']&&console['log'](_0x3f227f(0xea)+_0x584e08[_0x3f227f(0x12e)]);}throw new Error(_0x3f227f(0xd5));}const {selected:_0x3141fe}=await _0x34319d['prompt']([{'type':'list','name':_0x49d75f[_0x3f227f(0x156)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x15deff['map'](_0x1d04de=>({'name':_0x1d04de['name']+'\x20('+_0x1d04de['id']+')','value':_0x1d04de['id']}))}]);_0x239c2b=_0x15deff['find'](_0x412a3d=>_0x412a3d['id']===_0x3141fe);}await setActiveFeatureId(_0x239c2b['id']);_0x41fcf&&_0x49d75f['hIEmM'](_0x41fcf,_0x239c2b[_0x3f227f(0x12e)])&&(await updateFeature(_0x239c2b['id'],{'gitBranch':_0x41fcf}),console[_0x3f227f(0x103)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x41fcf));console['log'](_0x3f227f(0x175)+_0x239c2b['name']+'\x20('+_0x239c2b['id']+')'),await _0x49d75f[_0x3f227f(0x101)](tryStartCurrentSession,_0x239c2b['id']);const _0x1c4429=await _0x49d75f['Nsorf'](getFeature,_0x239c2b['id']),_0x3bcca6=process['env']['CLAUDE_SESSION_ID'];_0x3bcca6&&registerSession(_0x3bcca6,_0x1c4429['id']),_0x49d75f[_0x3f227f(0x120)](displayFeature,_0x1c4429,_0x1c4429[_0x3f227f(0xfb)]),await printFeedbackNudge(_0x1c4429['id']);}async function printFeedbackNudge(_0x51fa6b){const _0x5d7f5e=_0x2c0418,_0x2375e4={'LcxOj':function(_0x330eb7,_0x5b71af){return _0x330eb7>_0x5b71af;},'JTWrJ':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x2c78c7}=await getActionItems(_0x51fa6b);let _0x2307e0=0x0,_0x526ec1=0x0;for(const _0x2f8d09 of _0x2c78c7){const _0x77b1f5=await getItemFeedback(_0x51fa6b,_0x2f8d09['id']);_0x77b1f5['unaddressedComments']['length']>0x0&&(_0x2307e0+=_0x77b1f5[_0x5d7f5e(0x128)][_0x5d7f5e(0x198)],_0x526ec1++);}_0x2375e4['LcxOj'](_0x2307e0,0x0)&&(console['log'](_0x5d7f5e(0xe3)+_0x2307e0+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x526ec1+_0x5d7f5e(0x162)),console['log'](_0x2375e4[_0x5d7f5e(0x15b)]));}catch{}}async function tryStartCurrentSession(_0x1ebff9){const _0x569298=_0x2c0418,_0x480668={'amNwh':function(_0x5f1cc8,_0x5eed26){return _0x5f1cc8(_0x5eed26);},'LaVWf':function(_0x84e1a8,_0x45308e,_0x3be099){return _0x84e1a8(_0x45308e,_0x3be099);}};try{const {sessions:_0x44b77e}=await _0x480668[_0x569298(0x116)](listFeatureSessions,_0x1ebff9),_0x43b404=_0x44b77e['find'](_0x348668=>_0x348668[_0x569298(0x114)]===_0x569298(0xd1));_0x43b404&&(await _0x480668[_0x569298(0x183)](startSession,_0x1ebff9,_0x43b404['id']),console[_0x569298(0x103)](_0x569298(0x10f)+_0x43b404[_0x569298(0x127)]));}catch{}}export async function featureReport(_0x16d2a7,_0x469298){const _0x4d3a8b=_0x2c0418,_0x56f0fa={'jFsNK':_0x4d3a8b(0x13a),'cPXGA':function(_0x2247b5,_0x54b121,_0x33cf43,_0x367c37){return _0x2247b5(_0x54b121,_0x33cf43,_0x367c37);},'euKjK':function(_0x2d0024){return _0x2d0024();},'RfzuZ':function(_0x1db58d,_0x2801e3,_0x48f649){return _0x1db58d(_0x2801e3,_0x48f649);},'QOPYQ':function(_0x26b53a,_0x591a82){return _0x26b53a(_0x591a82);},'qCROZ':'utf-8'},_0x2a3790=_0x16d2a7||await getActiveFeatureId();if(!_0x2a3790)throw new Error(_0x56f0fa[_0x4d3a8b(0x145)]);console[_0x4d3a8b(0x103)]('\x0aGenerating\x20report...');const _0x2b03f7=await getFeatureReportMarkdown(_0x2a3790,{'style':_0x469298['style']}),_0x136c69=_0x469298['output']||_0x56f0fa[_0x4d3a8b(0x179)](join,_0x56f0fa[_0x4d3a8b(0x187)](getRangerDir),_0x4d3a8b(0xd9),_0x2a3790+'.md'),_0x3fc7d3=_0x56f0fa['RfzuZ'](join,_0x136c69,'..');!_0x56f0fa[_0x4d3a8b(0x10b)](existsSync,_0x3fc7d3)&&await mkdir(_0x3fc7d3,{'recursive':!![]}),await writeFile(_0x136c69,_0x2b03f7,_0x56f0fa['qCROZ']),console[_0x4d3a8b(0x103)]('\x0a✅\x20Report\x20generated:\x20'+_0x136c69);}export async function featureReportPrDescription(_0x1e6b77,_0x1d548d){const _0x276bdb=_0x2c0418,_0x240839={'NDxjk':function(_0x370b2a,_0xbda8a9){return _0x370b2a(_0xbda8a9);},'GtKfX':_0x276bdb(0x109),'zmdBD':function(_0x212723,_0x29babb){return _0x212723>_0x29babb;},'HkrZw':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x153bf0=_0x1e6b77||await getActiveFeatureId();if(!_0x153bf0)throw new Error(_0x276bdb(0x13a));const _0x2ddbd7=await _0x240839['NDxjk'](getFeature,_0x153bf0),_0x4ee375=_0x2ddbd7[_0x276bdb(0xfb)]||[],_0xc9d1c9=getCurrentSessionItems(_0x2ddbd7,_0x4ee375);_0xc9d1c9[_0x276bdb(0x198)]===0x0&&(console[_0x276bdb(0x112)](_0x240839[_0x276bdb(0x197)]),process['exit'](0x1));const _0x49174e=_0x1d548d['excludeScenarios']??[],_0x4f386e=_0x49174e['filter'](_0x4d4fcd=>!Number['isInteger'](_0x4d4fcd)||_0x4d4fcd<0x1||_0x4d4fcd>_0xc9d1c9['length']);if(_0x240839[_0x276bdb(0x18e)](_0x4f386e[_0x276bdb(0x198)],0x0)){console['error'](_0x276bdb(0x155)+_0x4f386e[_0x276bdb(0x108)](',\x20')),console[_0x276bdb(0x103)]('\x0aAvailable\x20scenarios:');for(let _0x4aa0c0=0x0;_0x4aa0c0<_0xc9d1c9[_0x276bdb(0x198)];_0x4aa0c0++){console['log']('\x20\x20'+(_0x4aa0c0+0x1)+'.\x20'+_0xc9d1c9[_0x4aa0c0][_0x276bdb(0x13b)]);}process['exit'](0x1);}const _0x322e0e=new Set(_0x49174e['map'](_0x562bc0=>_0x562bc0-0x1)),_0x26193f=_0xc9d1c9['filter']((_0x3eaf67,_0x4b8c15)=>!_0x322e0e['has'](_0x4b8c15));_0x26193f['length']===0x0&&(console[_0x276bdb(0x112)](_0x240839['HkrZw']),process['exit'](0x1));const _0x17d45d=await getFeatureReportMarkdown(_0x153bf0,{'itemIds':_0x26193f['map'](_0x1af980=>_0x1af980['id'])});process[_0x276bdb(0x164)][_0x276bdb(0x172)](_0x17d45d[_0x276bdb(0x158)]()+'\x0a');}export async function featureConcludeSession(_0x398451){const _0x5a416a=_0x2c0418,_0x31af71={'totTN':function(_0x557e29){return _0x557e29();},'tubGo':_0x5a416a(0x140),'aGQZG':function(_0x1df0c6,_0x28fbfe){return _0x1df0c6(_0x28fbfe);},'CSliF':_0x5a416a(0x11e),'teiTG':function(_0x50e283,_0x29ba40){return _0x50e283!==_0x29ba40;},'WDdwY':_0x5a416a(0x194),'dVBDh':function(_0x446282,_0x173739,_0x5424de){return _0x446282(_0x173739,_0x5424de);}},_0xbef03=_0x398451||await _0x31af71[_0x5a416a(0x161)](getActiveFeatureId);if(!_0xbef03)throw new Error(_0x31af71[_0x5a416a(0x168)]);const _0x1eb644=await getFeature(_0xbef03);if(!_0x1eb644[_0x5a416a(0x144)])throw new Error(_0x5a416a(0x123));const {sessions:_0x4d815e}=await _0x31af71['aGQZG'](listFeatureSessions,_0xbef03),_0x31439e=_0x4d815e[_0x5a416a(0xeb)](_0x49c4ee=>_0x49c4ee['id']===_0x1eb644[_0x5a416a(0x144)]);if(!_0x31439e)throw new Error(_0x31af71['CSliF']);if(_0x31439e['status']==='completed'){console[_0x5a416a(0x103)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x31af71['teiTG'](_0x31439e['status'],_0x31af71[_0x5a416a(0x12a)]))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x31439e[_0x5a416a(0x114)]);console['log'](_0x5a416a(0x165)),await _0x31af71[_0x5a416a(0x11b)](concludeSession,_0xbef03,_0x1eb644[_0x5a416a(0x144)]),console[_0x5a416a(0x103)](_0x5a416a(0xd8)+_0x31439e['iteration']+_0x5a416a(0x18d)),console['log'](_0x5a416a(0x131));}export async function featureSessions(_0x14c53e){const _0xc264a5=_0x2c0418,_0xc6500a={'BjSOV':function(_0x203625){return _0x203625();},'XSuJW':function(_0x33a14d,_0x2a1117){return _0x33a14d(_0x2a1117);},'CUGEN':function(_0xa45107,_0xd84d19){return _0xa45107===_0xd84d19;},'puoOe':'No\x20sessions\x20found.','ZNtCM':'completed','aOgHZ':'in_progress'},_0xeb5050=_0x14c53e||await _0xc6500a['BjSOV'](getActiveFeatureId);if(!_0xeb5050)throw new Error(_0xc264a5(0x13a));const _0x3e5e59=await _0xc6500a[_0xc264a5(0xe8)](getFeature,_0xeb5050);console[_0xc264a5(0x103)](_0xc264a5(0xe1)+_0x3e5e59[_0xc264a5(0xce)]+'\x0a');const {sessions:_0x2600e5}=await listFeatureSessions(_0xeb5050);if(_0xc6500a['CUGEN'](_0x2600e5['length'],0x0)){console[_0xc264a5(0x103)](_0xc6500a['puoOe']);return;}for(const _0x4859b4 of _0x2600e5){const _0x236d93=_0x4859b4['status']===_0xc6500a['ZNtCM']?'✅':_0x4859b4['status']===_0xc6500a['aOgHZ']?'🔄':'▶️';console['log'](_0x236d93+_0xc264a5(0x186)+_0x4859b4['iteration']+'\x20('+_0x4859b4['id']+')'),console['log'](_0xc264a5(0x170)+_0x4859b4['status']),console['log'](_0xc264a5(0xf5)+new Date(_0x4859b4['createdAt'])['toLocaleString']()),_0x4859b4[_0xc264a5(0x178)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x4859b4['completedAt'])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x322fde,_0x50ddc2){const _0x33ace0=_0x2c0418,_0x1e46a7={'NPiXf':function(_0x2c6697,_0x28b74d){return _0x2c6697(_0x28b74d);}},_0x5a4bdd=_0x50ddc2||await getActiveFeatureId();if(!_0x5a4bdd)throw new Error(_0x33ace0(0x140));const _0x48f9b4=await getFeature(_0x5a4bdd);if(_0x48f9b4[_0x33ace0(0x143)]&&!_0x48f9b4[_0x33ace0(0x143)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x48f9b4[_0x33ace0(0xcf)]);await createChecklistItem(_0x5a4bdd,_0x322fde);const _0x2dc803=await _0x1e46a7['NPiXf'](getFeature,_0x5a4bdd);console['log']('\x0a✅\x20Scenario\x20added'),displayFeature(_0x2dc803,_0x2dc803[_0x33ace0(0xfb)]);}export async function featureEditScenario(_0x30671e,_0x4a0d0b){const _0x5c38a3=_0x2c0418,_0x92e7f3={'VykDJ':function(_0x2a51fa){return _0x2a51fa();},'ONvNL':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','YQzyb':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','sBgVS':'Please\x20finish\x20your\x20review\x20first:','qSpYR':_0x5c38a3(0x12c),'ioHnb':function(_0xdb2aab,_0xda60a2){return _0xdb2aab<_0xda60a2;},'QIRwW':function(_0x5d7be8,_0x14d553){return _0x5d7be8+_0x14d553;},'poDHx':function(_0x108603,_0x16e8c6){return _0x108603-_0x16e8c6;},'OKrgg':function(_0x5a45ed,_0x2efba0){return _0x5a45ed>=_0x2efba0;},'SnvzO':function(_0x273077,_0x2b5036,_0x3fd4e9,_0x343861){return _0x273077(_0x2b5036,_0x3fd4e9,_0x343861);}},_0x296ed3=_0x4a0d0b['id']||await _0x92e7f3['VykDJ'](getActiveFeatureId);!_0x296ed3&&(console['error'](_0x92e7f3[_0x5c38a3(0x136)]),console[_0x5c38a3(0x112)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x46b08c=await getFeature(_0x296ed3);_0x46b08c[_0x5c38a3(0x143)]&&!_0x46b08c[_0x5c38a3(0x143)]['submittedAt']&&(console['error'](_0x92e7f3['YQzyb']),console['error'](_0x92e7f3['sBgVS']),console[_0x5c38a3(0x112)]('\x20\x20'+_0x46b08c['dashboardUrl']),process[_0x5c38a3(0x195)](0x1));const _0x249041=_0x46b08c['checklistItems']||[];_0x249041[_0x5c38a3(0x198)]===0x0&&(console['error'](_0x5c38a3(0x16a)),process[_0x5c38a3(0x195)](0x1));if(_0x4a0d0b['scenario']===undefined){console[_0x5c38a3(0x112)](_0x92e7f3[_0x5c38a3(0x181)]),console[_0x5c38a3(0x103)](_0x5c38a3(0xd6));for(let _0x2a1cda=0x0;_0x92e7f3['ioHnb'](_0x2a1cda,_0x249041[_0x5c38a3(0x198)]);_0x2a1cda++){console[_0x5c38a3(0x103)]('\x20\x20'+_0x92e7f3['QIRwW'](_0x2a1cda,0x1)+'.\x20'+_0x249041[_0x2a1cda]['description']);}process['exit'](0x1);}const _0x5a17b4=_0x92e7f3[_0x5c38a3(0x107)](_0x4a0d0b[_0x5c38a3(0x190)],0x1);if(_0x5a17b4<0x0||_0x92e7f3[_0x5c38a3(0x160)](_0x5a17b4,_0x249041[_0x5c38a3(0x198)])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x4a0d0b['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x249041[_0x5c38a3(0x198)]+_0x5c38a3(0x151)),console['log'](_0x5c38a3(0xd6));for(let _0x5ea0ad=0x0;_0x5ea0ad<_0x249041['length'];_0x5ea0ad++){console['log']('\x20\x20'+_0x92e7f3['QIRwW'](_0x5ea0ad,0x1)+'.\x20'+_0x249041[_0x5ea0ad][_0x5c38a3(0x13b)]);}process['exit'](0x1);}const _0x2dca99=_0x249041[_0x5a17b4];await _0x92e7f3['SnvzO'](updateChecklistItem,_0x296ed3,_0x2dca99['id'],{'description':_0x30671e});const _0x3ca8e3=await getFeature(_0x296ed3);console[_0x5c38a3(0x103)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x3ca8e3,_0x3ca8e3['checklistItems']);}function _0x2c30(){const _0x167424=['textContent','\x20in\x20progress','replace','79504KyRSNe','XSuJW','):\x20\x22','\x20\x20\x20\x20\x20Branch:\x20','find','\x20\x20💬\x20','type','pop','CLAUDE_SESSION_ID','\x20incomplete','stats','\x0aNo\x20feature\x20reviews\x20found.','CKWSa','No\x20scenarios\x20found.','\x20\x20\x20Created:\x20','wCFUj','Showing\x20','...','yVtDf','qYpva','checklistItems','verification_in_progress','git\x20rev-parse\x20--abbrev-ref\x20HEAD','\x20--include-deleted','warn','eJBCB','nmZaG','\x20\x20\x20Branch:\x20','log','scenarios','pMosW','trim','poDHx','join','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','pendingItems','QOPYQ','terminalReason','short','12rLHbPX','\x20\x20\x20▶️\x20Started\x20session\x20','env','KwEBJ','error','\x20verified','status','selected','amNwh','from','dHqQU','1NPFrgx','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','dVBDh','split','\x1b[1m','Current\x20session\x20not\x20found.','closed','pzUGG','repeat','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','No\x20active\x20session\x20for\x20this\x20feature\x20review.','BFHUT','verifiedItems','\x20\x20✅\x20No\x20feedback\x20to\x20address','iteration','unaddressedComments','hdwhm','WDdwY','bDaXe','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','gNDjh','gitBranch','315JFomcG','domRef','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','toFixed','677085QyehsL','20387092ynbOru','version','ONvNL','\x20feature\x20review(s)\x20found','totalCount','Unknown','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','description','\x20of\x20','3071898QMnlrH','nRTLC','map','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','blocked','items','latestReview','currentSessionId','jFsNK','\x0aCreating\x20feature\x20review...','QRtQv','any','TZtJf','1266718lqqpnf','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','blockedReason','HetSE','\x20\x20\x20Repository:\x20','\x20\x20\x20ID:\x20','git\x20remote\x20get-url\x20origin','\x20scenarios.','oScpl','sessionId','\x20(v','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','adotK','\x0a✅\x20Restored\x20feature\x20review:\x20','trimEnd','limit','dhrWb','JTWrJ','CEHFP','\x20\x20\x20\x20\x20📋\x20Selector:\x20','IsRWy','feedback-images','OKrgg','totTN','\x20scenario(s).','pipe','stdout','\x0aConcluding\x20session...','position','incomplete','tubGo','BLHhK','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x20>\x20','createdAt','\x20\x20\x20Progress:\x20','gitRepoUrl','12lmxdNr','\x20\x20\x20Status:\x20','vHapu','write','\x1b[0m','.png','\x0a✅\x20Resumed\x20feature\x20review:\x20','sIDkP','\x20--current-branch','completedAt','cPXGA','KESiA','8504520TyYNew','IXhnk','BxLzi','MRpuH','approved','\x0a\x20\x20\x20Scenarios:','qSpYR','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','LaVWf','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','push','\x20Session\x20','euKjK','eAymx','en-US','utf-8','\x20unaddressed\x20comment(s)','OOCaB','\x20concluded.','zmdBD','\x20blocked','scenario','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20\x20\x20\x20\x20\x20Approved','selector','in_progress','exit','currentBranch','GtKfX','length','ialBG','verificationInProgressItems','name','dashboardUrl','numeric','ready','offset','sort','2757517StisUk','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','\x0aAvailable\x20scenarios:','flVqI','\x0a✅\x20Session\x20','reports','\x20\x20\x20\x20\x20Progress:\x20','Scenario\x20','blockedItems','filter','zgUEV','bYgKS','\x20--limit\x20','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','wdtzj','\x0a⚠️\x20\x20'];_0x2c30=function(){return _0x167424;};return _0x2c30();}async function downloadFeedbackImage(_0x32a2cb,_0x390593){const _0x2a1683=_0x2c0418,_0x1860ae={'vSowg':function(_0x375580,_0x47eb2b,_0x5af17f){return _0x375580(_0x47eb2b,_0x5af17f);},'OOCaB':function(_0x9d0c22){return _0x9d0c22();},'BxLzi':_0x2a1683(0x15f),'KESiA':function(_0x161228,_0x699926){return _0x161228(_0x699926);}};try{const _0x4761d7=_0x1860ae['vSowg'](join,_0x1860ae[_0x2a1683(0x18c)](getRangerDir),_0x1860ae[_0x2a1683(0x17d)]);await _0x1860ae['vSowg'](mkdir,_0x4761d7,{'recursive':!![]});const _0x1b3591=join(_0x4761d7,'comment_'+_0x390593+_0x2a1683(0x174)),_0x26afd8=await _0x1860ae[_0x2a1683(0x17a)](fetch,_0x32a2cb);if(!_0x26afd8['ok'])return null;const _0x6b7d6c=Buffer[_0x2a1683(0x117)](await _0x26afd8['arrayBuffer']());return await writeFile(_0x1b3591,_0x6b7d6c),_0x1b3591;}catch{return null;}}export async function featureGetReview(_0x43bb5f){const _0x2c52df=_0x2c0418,_0x4b2b69={'eJBCB':function(_0x4c979c){return _0x4c979c();},'rdGhE':function(_0x59b6f6,_0x2a3c2f){return _0x59b6f6(_0x2a3c2f);},'cGghH':function(_0x404244,_0x3f2a06){return _0x404244===_0x3f2a06;},'UeruT':function(_0x464ece,_0x281979){return _0x464ece<_0x281979;},'XJhdM':function(_0x39c812,_0x282e6d){return _0x39c812>_0x282e6d;},'qYpva':function(_0x446024,_0x31bd6e,_0x272b51){return _0x446024(_0x31bd6e,_0x272b51);},'rwBfQ':function(_0x5593d5,_0x3dfa19){return _0x5593d5>_0x3dfa19;},'dhrWb':function(_0x387d83,_0x40c53b,_0x35800d){return _0x387d83(_0x40c53b,_0x35800d);},'Oypdc':function(_0x306425,_0x4a38a5){return _0x306425===_0x4a38a5;}},_0x177e19=_0x43bb5f||await _0x4b2b69[_0x2c52df(0x100)](getActiveFeatureId);if(!_0x177e19)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 _0x5ab50b=await getFeature(_0x177e19),{items:_0x1ca20f}=await _0x4b2b69['rdGhE'](getActionItems,_0x177e19);console[_0x2c52df(0x103)]('\x0a📋\x20Feedback\x20for:\x20'+_0x5ab50b['name']+'\x20('+_0x5ab50b['id']+')\x0a');if(_0x4b2b69['cGghH'](_0x1ca20f[_0x2c52df(0x198)],0x0)){console[_0x2c52df(0x103)](_0x2c52df(0xf4));return;}for(let _0x4b0a17=0x0;_0x4b2b69['UeruT'](_0x4b0a17,_0x1ca20f['length']);_0x4b0a17++){const _0x5b9184=_0x1ca20f[_0x4b0a17],_0x2bc608=_0x4b2b69['XJhdM'](_0x5b9184['version'],0x1)?_0x2c52df(0x154)+_0x5b9184['version']+')':'',_0x2c19dd=await _0x4b2b69[_0x2c52df(0xfa)](getItemFeedback,_0x177e19,_0x5b9184['id']);if(_0x4b2b69['rwBfQ'](_0x2c19dd[_0x2c52df(0x128)][_0x2c52df(0x198)],0x0)){console[_0x2c52df(0x103)](_0x2c52df(0xdb)+(_0x4b0a17+0x1)+':\x20\x22'+_0x5b9184[_0x2c52df(0x13b)]+'\x22'+_0x2bc608+'\x20—\x20'+_0x2c19dd[_0x2c52df(0x128)][_0x2c52df(0x198)]+_0x2c52df(0x18b));for(const _0xe1518c of _0x2c19dd['unaddressedComments']){const _0x46f403=new Date(_0xe1518c['createdAt'])['toLocaleDateString'](_0x2c52df(0x189),{'month':_0x2c52df(0x10d),'day':_0x2c52df(0xd0)}),_0x18642c=_0xe1518c['authorName']||_0xe1518c['authorEmail']||_0x2c52df(0x139);console[_0x2c52df(0x103)](_0x2c52df(0xec)+_0x18642c+'\x20('+_0x46f403+_0x2c52df(0xe9)+_0xe1518c['content']+'\x22');if(_0xe1518c['assetUrl']){const _0x3aa070=await _0x4b2b69[_0x2c52df(0x15a)](downloadFeedbackImage,_0xe1518c['assetUrl'],_0xe1518c['id']);_0x3aa070&&console['log'](_0x2c52df(0x14b)+_0x3aa070);}if(_0xe1518c['domRef']){const _0x3c073d=_0xe1518c[_0x2c52df(0x130)][_0x2c52df(0x193)][_0x2c52df(0x11c)](_0x2c52df(0x16b))[_0x2c52df(0xee)]()?.[_0x2c52df(0x11c)](':')[0x0]||'element',_0x4dece7=_0xe1518c[_0x2c52df(0x130)]['textContent']?'\x20\x22'+_0xe1518c[_0x2c52df(0x130)][_0x2c52df(0xe4)]['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x2c52df(0x184)+_0x3c073d+'>'+_0x4dece7),console[_0x2c52df(0x103)](_0x2c52df(0x15d)+_0xe1518c['domRef'][_0x2c52df(0x193)]);}else{if(_0xe1518c['spatial']){const _0x2cdae8=_0xe1518c['spatial']['coordinates'];_0x4b2b69['Oypdc'](_0xe1518c['spatial'][_0x2c52df(0xed)],'point')&&_0x2cdae8[_0x2c52df(0x198)]>=0x2?console[_0x2c52df(0x103)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x2cdae8[0x0][_0x2c52df(0x132)](0x2)+',\x20'+_0x2cdae8[0x1]['toFixed'](0x2)+')'):console[_0x2c52df(0x103)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0xe1518c['spatial'][_0x2c52df(0xed)]+'\x20at\x20['+_0x2cdae8[_0x2c52df(0x13f)](_0x5cae34=>_0x5cae34['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x2c19dd['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x26b5e9 of _0x2c19dd['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x26b5e9);}}}else console[_0x2c52df(0x103)]('Scenario\x20'+(_0x4b0a17+0x1)+':\x20\x22'+_0x5b9184['description']+'\x22'+_0x2bc608+'\x20—\x20no\x20comments'),console[_0x2c52df(0x103)](_0x2c52df(0x126));console['log']('');}}export async function featureDelete(_0x35e9d7){const _0x63d651=_0x2c0418,_0x15b8c0={'MVeEG':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','gEXmJ':function(_0x902a3f,_0x51f7cd){return _0x902a3f+_0x51f7cd;}},_0x1aeba1=_0x35e9d7||await getActiveFeatureId();if(!_0x1aeba1)throw new Error(_0x15b8c0['MVeEG']);const _0x1d39e3=await getFeature(_0x1aeba1);await softDeleteFeature(_0x1aeba1),console['log'](_0x63d651(0x11a)+_0x1d39e3['name']+'\x20('+_0x1aeba1+')'),console['log'](_0x15b8c0['gEXmJ']('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x1aeba1));}export async function featureRestore(_0x2b16d1){const _0x40739f=_0x2c0418,_0x19427a={'ZcAtT':function(_0x27b0a8,_0x4af5ff,_0x2bee06){return _0x27b0a8(_0x4af5ff,_0x2bee06);}};await restoreFeature(_0x2b16d1);const _0x36e76d=await getFeature(_0x2b16d1);console[_0x40739f(0x103)](_0x40739f(0x157)+_0x36e76d['name']+'\x20('+_0x2b16d1+')'),_0x19427a['ZcAtT'](displayFeature,_0x36e76d,_0x36e76d['checklistItems']);}
@@ -1 +1 @@
1
- (function(_0x30fdb3,_0x51033b){const _0x495227=_0x5da5,_0xb65708=_0x30fdb3();while(!![]){try{const _0x37934a=-parseInt(_0x495227(0x18c))/0x1*(-parseInt(_0x495227(0x18f))/0x2)+parseInt(_0x495227(0x186))/0x3*(-parseInt(_0x495227(0x18e))/0x4)+parseInt(_0x495227(0x18b))/0x5*(-parseInt(_0x495227(0x190))/0x6)+-parseInt(_0x495227(0x18a))/0x7+parseInt(_0x495227(0x181))/0x8*(parseInt(_0x495227(0x183))/0x9)+parseInt(_0x495227(0x188))/0xa*(parseInt(_0x495227(0x189))/0xb)+parseInt(_0x495227(0x182))/0xc*(parseInt(_0x495227(0x184))/0xd);if(_0x37934a===_0x51033b)break;else _0xb65708['push'](_0xb65708['shift']());}catch(_0x1107a4){_0xb65708['push'](_0xb65708['shift']());}}}(_0x3d31,0x95631));function _0x5da5(_0x4e7c6f,_0x2cea34){_0x4e7c6f=_0x4e7c6f-0x181;const _0x3d31d2=_0x3d31();let _0x5da58d=_0x3d31d2[_0x4e7c6f];return _0x5da58d;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x3d31(){const _0x5f027f=['20fRyxOt','138108rSxXYg','14820XfVKkG','794224VRnqvG','655212eJzafe','9WycYsI','429AintIq','error','447891bzfvFT','Unknown\x20hook:\x20','2220830OvelNc','33riFqbt','7714980ImBauG','1055lScRIP','6bWoEVz','keys'];_0x3d31=function(){return _0x5f027f;};return _0x3d31();}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(_0x16449f,_0x483982){const _0x3e2baf=_0x5da5,_0x9898fc=HOOKS[_0x16449f];if(!_0x9898fc){const _0x5b4a98=Object[_0x3e2baf(0x18d)](HOOKS)['join'](',\x20');console[_0x3e2baf(0x185)](_0x3e2baf(0x187)+_0x16449f),console[_0x3e2baf(0x185)]('Valid\x20hooks:\x20'+_0x5b4a98),process['exit'](0x1);}await _0x9898fc(_0x483982);}
1
+ function _0xaa90(_0x780c26,_0x3ff09e){_0x780c26=_0x780c26-0x1d5;const _0x2c18ff=_0x2c18();let _0xaa9028=_0x2c18ff[_0x780c26];return _0xaa9028;}(function(_0x5d1bfb,_0x5a9279){const _0x3170e2=_0xaa90,_0x2528b5=_0x5d1bfb();while(!![]){try{const _0x3091de=-parseInt(_0x3170e2(0x1d7))/0x1*(parseInt(_0x3170e2(0x1e1))/0x2)+parseInt(_0x3170e2(0x1d5))/0x3*(parseInt(_0x3170e2(0x1d8))/0x4)+parseInt(_0x3170e2(0x1e2))/0x5*(-parseInt(_0x3170e2(0x1de))/0x6)+parseInt(_0x3170e2(0x1da))/0x7+-parseInt(_0x3170e2(0x1df))/0x8*(parseInt(_0x3170e2(0x1d6))/0x9)+-parseInt(_0x3170e2(0x1db))/0xa+parseInt(_0x3170e2(0x1dc))/0xb;if(_0x3091de===_0x5a9279)break;else _0x2528b5['push'](_0x2528b5['shift']());}catch(_0x386ff7){_0x2528b5['push'](_0x2528b5['shift']());}}}(_0x2c18,0x6c7da));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x2c18(){const _0x10f09c=['6578280QfTNVJ','29884272UmzHPk','Valid\x20hooks:\x20','14964yKkvht','8JmpKMR','error','1101806IcpuMo','1735plVRsF','160665wlHetq','2395314MtiNVO','1mISsWr','4dfdchz','exit','100562spfPiu'];_0x2c18=function(){return _0x10f09c;};return _0x2c18();}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(_0x300072,_0x2f9e16){const _0x3ee06e=_0xaa90,_0x23d64f={'nshJJ':function(_0x480ac7,_0x193c84){return _0x480ac7(_0x193c84);}},_0x4b9f3a=HOOKS[_0x300072];if(!_0x4b9f3a){const _0x4e4489=Object['keys'](HOOKS)['join'](',\x20');console[_0x3ee06e(0x1e0)]('Unknown\x20hook:\x20'+_0x300072),console[_0x3ee06e(0x1e0)](_0x3ee06e(0x1dd)+_0x4e4489),process[_0x3ee06e(0x1d9)](0x1);}await _0x23d64f['nshJJ'](_0x4b9f3a,_0x2f9e16);}
@@ -1 +1 @@
1
- function _0x1023(_0x26e556,_0x57bb24){_0x26e556=_0x26e556-0x1f2;const _0x1b6417=_0x1b64();let _0x1023d3=_0x1b6417[_0x26e556];return _0x1023d3;}const _0x1edea1=_0x1023;function _0x1b64(){const _0x36a8cd=['854CPnDxt','3667450vDiekf','1564045CkEVTp','\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.','13595148UBnWav','8102080ChIDvn','83622nuvzBO','8WeeIMp','2270JlkGcZ','888085THoCRb','3042DaCoko'];_0x1b64=function(){return _0x36a8cd;};return _0x1b64();}(function(_0x360945,_0x1fb781){const _0x15d441=_0x1023,_0x579904=_0x360945();while(!![]){try{const _0x3aeff6=parseInt(_0x15d441(0x1f3))/0x1+parseInt(_0x15d441(0x1f2))/0x2*(parseInt(_0x15d441(0x1f4))/0x3)+-parseInt(_0x15d441(0x1fc))/0x4*(parseInt(_0x15d441(0x1f7))/0x5)+-parseInt(_0x15d441(0x1fb))/0x6*(-parseInt(_0x15d441(0x1f5))/0x7)+-parseInt(_0x15d441(0x1fa))/0x8+-parseInt(_0x15d441(0x1f9))/0x9+parseInt(_0x15d441(0x1f6))/0xa;if(_0x3aeff6===_0x1fb781)break;else _0x579904['push'](_0x579904['shift']());}catch(_0x4ec797){_0x579904['push'](_0x579904['shift']());}}}(_0x1b64,0xe9a9c));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x1edea1(0x1f8);export async function autoPrompt(){const _0xf3860f={'vjkde':function(_0x115d5d,_0x1fa16b){return _0x115d5d(_0x1fa16b);}},_0x2dc73d=await readHookInput(),_0xe6e021=_0x2dc73d?.['session_id'];if(!_0xe6e021)return;if(_0xf3860f['vjkde'](isSessionEnabled,_0xe6e021)||_0xf3860f['vjkde'](hasSessionBeenPrompted,_0xe6e021))return;markSessionPrompted(_0xe6e021),console['log'](AUTO_PROMPT_TEXT);}
1
+ const _0x57323e=_0x4523;(function(_0x1d2ba4,_0x3969bd){const _0x338c31=_0x4523,_0x3d6875=_0x1d2ba4();while(!![]){try{const _0x5c80d1=parseInt(_0x338c31(0x14c))/0x1+-parseInt(_0x338c31(0x151))/0x2+-parseInt(_0x338c31(0x159))/0x3*(-parseInt(_0x338c31(0x156))/0x4)+-parseInt(_0x338c31(0x153))/0x5*(parseInt(_0x338c31(0x14d))/0x6)+-parseInt(_0x338c31(0x150))/0x7+-parseInt(_0x338c31(0x14f))/0x8+parseInt(_0x338c31(0x154))/0x9*(parseInt(_0x338c31(0x157))/0xa);if(_0x5c80d1===_0x3969bd)break;else _0x3d6875['push'](_0x3d6875['shift']());}catch(_0x5dd7a5){_0x3d6875['push'](_0x3d6875['shift']());}}}(_0x1f91,0xd1b25));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x57323e(0x155);function _0x4523(_0x3cc5aa,_0x4b1f17){_0x3cc5aa=_0x3cc5aa-0x14b;const _0x1f9140=_0x1f91();let _0x4523da=_0x1f9140[_0x3cc5aa];return _0x4523da;}export async function autoPrompt(){const _0x254d20=_0x57323e,_0x522f97={'nSEjQ':function(_0xd346ec){return _0xd346ec();},'bMktD':function(_0x306569,_0x81d71c){return _0x306569(_0x81d71c);}},_0x37badb=await _0x522f97[_0x254d20(0x152)](readHookInput),_0x5293ec=_0x37badb?.[_0x254d20(0x14b)];if(!_0x5293ec)return;if(_0x522f97[_0x254d20(0x14e)](isSessionEnabled,_0x5293ec)||hasSessionBeenPrompted(_0x5293ec))return;markSessionPrompted(_0x5293ec),console[_0x254d20(0x158)](AUTO_PROMPT_TEXT);}function _0x1f91(){const _0x41e16b=['\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.','238332uAIbJk','526270JQGoOv','log','9YGXtsh','session_id','905824pSvtYI','3529194RAvXhU','bMktD','5516104dLotns','465374JdhEUP','59908IalsEw','nSEjQ','10YiCCIW','297ahFpBz'];_0x1f91=function(){return _0x41e16b;};return _0x1f91();}
@@ -1 +1 @@
1
- function _0x9588(){const _0x2cf862=['Error:\x20No\x20session\x20ID\x20available.','CLAUDE_SESSION_ID','OAdsP','.\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`.','112YptvYK','12687966CxCZAx','2144490bMTWbu','2414140LSrFZd','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','9369280nmNLTv','4102376jkengp','master','AeViM','10YHDXrK','main','3SMtbQd','382542xetYPV','\x20and\x20branch\x20\x27','731418EHvONp'];_0x9588=function(){return _0x2cf862;};return _0x9588();}function _0x1c5d(_0x4bcd49,_0x1536dd){_0x4bcd49=_0x4bcd49-0x149;const _0x9588f6=_0x9588();let _0x1c5da7=_0x9588f6[_0x4bcd49];return _0x1c5da7;}(function(_0x20feef,_0x286dba){const _0x3ab12b=_0x1c5d,_0x11c3b6=_0x20feef();while(!![]){try{const _0x47f793=-parseInt(_0x3ab12b(0x158))/0x1+parseInt(_0x3ab12b(0x14d))/0x2+parseInt(_0x3ab12b(0x155))/0x3*(-parseInt(_0x3ab12b(0x150))/0x4)+parseInt(_0x3ab12b(0x14c))/0x5+parseInt(_0x3ab12b(0x156))/0x6*(parseInt(_0x3ab12b(0x14a))/0x7)+parseInt(_0x3ab12b(0x14f))/0x8+parseInt(_0x3ab12b(0x14b))/0x9*(-parseInt(_0x3ab12b(0x153))/0xa);if(_0x47f793===_0x286dba)break;else _0x11c3b6['push'](_0x11c3b6['shift']());}catch(_0x5a0e83){_0x11c3b6['push'](_0x11c3b6['shift']());}}}(_0x9588,0xa13e6));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x1db396){const _0x368a29=_0x1c5d,_0x803b8a={'OAdsP':_0x368a29(0x159),'MNyay':function(_0x913ddd){return _0x913ddd();},'AeViM':function(_0x575e0b,_0x4d86ee){return _0x575e0b!==_0x4d86ee;}},_0x3a5ad9=_0x1db396||process['env'][_0x368a29(0x15a)]||'';!_0x3a5ad9&&(console['error'](_0x803b8a[_0x368a29(0x15b)]),console['error']('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process['exit'](0x1));disableSession(_0x3a5ad9);const _0x5233d1=_0x803b8a['MNyay'](getCurrentBranch);_0x5233d1&&_0x803b8a['AeViM'](_0x5233d1,_0x368a29(0x154))&&_0x803b8a[_0x368a29(0x152)](_0x5233d1,_0x368a29(0x151))&&disableBranch(_0x5233d1),printBlock(_0x368a29(0x14e)+(_0x5233d1&&_0x5233d1!==_0x368a29(0x154)&&_0x5233d1!==_0x368a29(0x151)?_0x368a29(0x157)+_0x5233d1+'\x27':'')+_0x368a29(0x149));}
1
+ function _0x2611(){const _0x37d635=['nGtIp','1018297TWofsr','14RLgtpS','18SpsBVH','232TKUYVj','master','72285HRhtrP','RgMzJ','59982BttgTn','2533812rFVPNZ','irMzq','1273660WAbyas','562914cZYZuW','24uqOEjV','49785pCqzJE'];_0x2611=function(){return _0x37d635;};return _0x2611();}(function(_0x1621cf,_0x1879ea){const _0x405fa8=_0x19c0,_0x497f86=_0x1621cf();while(!![]){try{const _0x4d081d=parseInt(_0x405fa8(0x1a8))/0x1+parseInt(_0x405fa8(0x1a2))/0x2*(parseInt(_0x405fa8(0x19f))/0x3)+parseInt(_0x405fa8(0x1a4))/0x4*(parseInt(_0x405fa8(0x1a6))/0x5)+parseInt(_0x405fa8(0x1a9))/0x6+-parseInt(_0x405fa8(0x1a1))/0x7*(parseInt(_0x405fa8(0x19e))/0x8)+-parseInt(_0x405fa8(0x1a3))/0x9*(parseInt(_0x405fa8(0x19c))/0xa)+parseInt(_0x405fa8(0x19d))/0xb;if(_0x4d081d===_0x1879ea)break;else _0x497f86['push'](_0x497f86['shift']());}catch(_0x37c126){_0x497f86['push'](_0x497f86['shift']());}}}(_0x2611,0xc2938));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x19c0(_0x1249f0,_0x3c47c9){_0x1249f0=_0x1249f0-0x19b;const _0x26116e=_0x2611();let _0x19c018=_0x26116e[_0x1249f0];return _0x19c018;}export async function disable(_0x59040a){const _0x524fcf=_0x19c0,_0x2b1021={'irMzq':function(_0x17cbee,_0x3dbe84){return _0x17cbee(_0x3dbe84);},'jNmJB':function(_0x296e0e){return _0x296e0e();},'rJTtp':'main','RgMzJ':function(_0x5df2a8,_0xd1c4a0){return _0x5df2a8!==_0xd1c4a0;},'nGtIp':_0x524fcf(0x1a5)},_0x37f4a0=_0x59040a||process['env']['CLAUDE_SESSION_ID']||'';!_0x37f4a0&&(console['error']('Error:\x20No\x20session\x20ID\x20available.'),console['error']('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process['exit'](0x1));_0x2b1021[_0x524fcf(0x19b)](disableSession,_0x37f4a0);const _0x4640e7=_0x2b1021['jNmJB'](getCurrentBranch);_0x4640e7&&_0x4640e7!==_0x2b1021['rJTtp']&&_0x2b1021['RgMzJ'](_0x4640e7,_0x2b1021[_0x524fcf(0x1a0)])&&disableBranch(_0x4640e7),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4640e7&&_0x4640e7!==_0x2b1021['rJTtp']&&_0x2b1021[_0x524fcf(0x1a7)](_0x4640e7,'master')?'\x20and\x20branch\x20\x27'+_0x4640e7+'\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(_0x751e6f,_0x2eecb9){const _0x1d8625=_0x1fec,_0x584bca=_0x751e6f();while(!![]){try{const _0x5bbd9d=-parseInt(_0x1d8625(0x1d6))/0x1+parseInt(_0x1d8625(0x1d1))/0x2*(parseInt(_0x1d8625(0x1cb))/0x3)+-parseInt(_0x1d8625(0x1c0))/0x4+parseInt(_0x1d8625(0x1c4))/0x5*(-parseInt(_0x1d8625(0x1c2))/0x6)+parseInt(_0x1d8625(0x1c8))/0x7+parseInt(_0x1d8625(0x1cd))/0x8+-parseInt(_0x1d8625(0x1cf))/0x9*(parseInt(_0x1d8625(0x1d4))/0xa);if(_0x5bbd9d===_0x2eecb9)break;else _0x584bca['push'](_0x584bca['shift']());}catch(_0x35b703){_0x584bca['push'](_0x584bca['shift']());}}}(_0x43b2,0xd3c3c));function _0x1fec(_0x1c6ec7,_0x52e8f4){_0x1c6ec7=_0x1c6ec7-0x1c0;const _0x43b24e=_0x43b2();let _0x1fecb7=_0x43b24e[_0x1c6ec7];return _0x1fecb7;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x43b2(){const _0x176fb8=['7658200WvwPpt','\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`.','234qrMpkE','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','14056rGhAMb','Error:\x20No\x20session\x20ID\x20available.','aIgjG','1000690lgzslM','#\x20RANGER\x20ENABLED','331521GfyEjj','error','126952gFAjtl','Djrkg','525816LVoYlm','\x0a\x0a**Branch\x20\x27','5XHqIzd','UMjBY','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','JbLsh','9572122Qzxjvw','PNQrv','#\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`','681VhNxTE','CLAUDE_SESSION_ID'];_0x43b2=function(){return _0x176fb8;};return _0x43b2();}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x365bbd){const _0x4ef87e=_0x1fec,_0x15e3bf={'Djrkg':function(_0x386f36,_0x142432){return _0x386f36(_0x142432);},'RBOZp':function(_0x5d16a8){return _0x5d16a8();},'UMjBY':'ranger\x20setup\x20--opencode','JbLsh':'ranger\x20setup','aIgjG':_0x4ef87e(0x1d0),'ZJaZJ':function(_0x37fce8,_0x2959d4){return _0x37fce8(_0x2959d4);},'FsmOU':function(_0x22263a){return _0x22263a();},'PNQrv':function(_0x5eb87b,_0x42d940){return _0x5eb87b!==_0x42d940;}},_0x18faf8=_0x365bbd||process['env'][_0x4ef87e(0x1cc)]||'';!_0x18faf8&&(console[_0x4ef87e(0x1d7)](_0x4ef87e(0x1d2)),console[_0x4ef87e(0x1d7)]('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process['exit'](0x1));const _0x26c502=_0x15e3bf[_0x4ef87e(0x1c1)](Boolean,_0x365bbd),_0xaa0574=await _0x15e3bf['RBOZp'](getToken);if(!_0xaa0574){const _0x45b7cf=_0x26c502?_0x15e3bf[_0x4ef87e(0x1c5)]:_0x15e3bf[_0x4ef87e(0x1c7)],_0x2858e7=_0x26c502?_0x15e3bf[_0x4ef87e(0x1d3)]:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x15e3bf['ZJaZJ'](printBlock,_0x4ef87e(0x1ca)+_0x45b7cf+_0x4ef87e(0x1c6)+_0x2858e7);return;}try{await update();}catch{}_0x15e3bf['Djrkg'](enableSession,_0x18faf8);const _0x12c5dd=_0x15e3bf['FsmOU'](getCurrentBranch),_0x584211=_0x12c5dd&&_0x15e3bf['PNQrv'](_0x12c5dd,'main')&&_0x15e3bf[_0x4ef87e(0x1c9)](_0x12c5dd,'master')?_0x4ef87e(0x1c3)+_0x12c5dd+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x1d1a96=getRangerSkillContent();printBlock(_0x4ef87e(0x1d5)+_0x584211+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x1d1a96+_0x4ef87e(0x1ce));}
1
+ (function(_0x52e330,_0x47266f){const _0xb451ba=_0x1bd5,_0x57567c=_0x52e330();while(!![]){try{const _0x100984=parseInt(_0xb451ba(0x145))/0x1*(parseInt(_0xb451ba(0x159))/0x2)+parseInt(_0xb451ba(0x14f))/0x3*(parseInt(_0xb451ba(0x155))/0x4)+-parseInt(_0xb451ba(0x15e))/0x5*(-parseInt(_0xb451ba(0x15b))/0x6)+-parseInt(_0xb451ba(0x150))/0x7*(-parseInt(_0xb451ba(0x14b))/0x8)+-parseInt(_0xb451ba(0x147))/0x9*(parseInt(_0xb451ba(0x154))/0xa)+-parseInt(_0xb451ba(0x149))/0xb*(-parseInt(_0xb451ba(0x14d))/0xc)+-parseInt(_0xb451ba(0x14e))/0xd;if(_0x100984===_0x47266f)break;else _0x57567c['push'](_0x57567c['shift']());}catch(_0x48f1a9){_0x57567c['push'](_0x57567c['shift']());}}}(_0x5950,0x8dedd));function _0x1bd5(_0x12dc15,_0x21979f){_0x12dc15=_0x12dc15-0x144;const _0x5950a4=_0x5950();let _0x1bd5ee=_0x5950a4[_0x12dc15];return _0x1bd5ee;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0xd93b21){const _0x535659=_0x1bd5,_0x4b27b8={'rCMHw':function(_0x46cc9e,_0x4c1c0d){return _0x46cc9e(_0x4c1c0d);},'qucrL':_0x535659(0x144),'WebjF':_0x535659(0x153),'hPrgB':function(_0x5666e7,_0x5e67b8){return _0x5666e7(_0x5e67b8);},'JbJmc':function(_0x47fb0c,_0x32164b){return _0x47fb0c(_0x32164b);},'VEKWN':function(_0x55a81c,_0x1db8c0){return _0x55a81c!==_0x1db8c0;},'IkTGv':'master'},_0x264c5e=_0xd93b21||process[_0x535659(0x156)][_0x535659(0x15a)]||'';!_0x264c5e&&(console['error']('Error:\x20No\x20session\x20ID\x20available.'),console['error']('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process[_0x535659(0x157)](0x1));const _0x311c61=_0x4b27b8['rCMHw'](Boolean,_0xd93b21),_0x22ea9e=await getToken();if(!_0x22ea9e){const _0x379adf=_0x311c61?_0x4b27b8[_0x535659(0x148)]:_0x4b27b8['WebjF'],_0xd804f=_0x311c61?_0x535659(0x15c):'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x4b27b8[_0x535659(0x151)](printBlock,'#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x379adf+_0x535659(0x158)+_0xd804f);return;}try{await update();}catch{}_0x4b27b8[_0x535659(0x14c)](enableSession,_0x264c5e);const _0x55d645=getCurrentBranch(),_0x62fb31=_0x55d645&&_0x55d645!=='main'&&_0x4b27b8[_0x535659(0x152)](_0x55d645,_0x4b27b8[_0x535659(0x14a)])?'\x0a\x0a**Branch\x20\x27'+_0x55d645+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x15ba82=getRangerSkillContent();printBlock(_0x535659(0x15d)+_0x62fb31+_0x535659(0x146)+_0x15ba82+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}function _0x5950(){const _0x269509=['Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','#\x20RANGER\x20ENABLED','1099145KkFeVQ','ranger\x20setup\x20--opencode','677aXzMvF','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','11835YhDIkB','qucrL','1085513NpSuTZ','IkTGv','1928keJTyI','JbJmc','12VjmQmk','24512462OzRvCt','339219HPZVmV','378ZFUbUM','hPrgB','VEKWN','ranger\x20setup','510Ycpdpm','24AYMldb','env','exit','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','2554ZQefWJ','CLAUDE_SESSION_ID','24lxNvrW'];_0x5950=function(){return _0x269509;};return _0x5950();}
@@ -1 +1 @@
1
- function _0x4d1d(_0x3bbbb6,_0x329d06){_0x3bbbb6=_0x3bbbb6-0x1d2;const _0x275d48=_0x275d();let _0x4d1d9b=_0x275d48[_0x3bbbb6];return _0x4d1d9b;}(function(_0x2bd7a9,_0x3e3115){const _0x2fdf01=_0x4d1d,_0x57b989=_0x2bd7a9();while(!![]){try{const _0xd4866c=parseInt(_0x2fdf01(0x1d3))/0x1*(-parseInt(_0x2fdf01(0x1d5))/0x2)+-parseInt(_0x2fdf01(0x1d9))/0x3+-parseInt(_0x2fdf01(0x1de))/0x4*(parseInt(_0x2fdf01(0x1da))/0x5)+-parseInt(_0x2fdf01(0x1d4))/0x6*(parseInt(_0x2fdf01(0x1d6))/0x7)+-parseInt(_0x2fdf01(0x1dc))/0x8*(parseInt(_0x2fdf01(0x1db))/0x9)+parseInt(_0x2fdf01(0x1dd))/0xa*(-parseInt(_0x2fdf01(0x1d7))/0xb)+parseInt(_0x2fdf01(0x1d2))/0xc;if(_0xd4866c===_0x3e3115)break;else _0x57b989['push'](_0x57b989['shift']());}catch(_0xbddf0d){_0x57b989['push'](_0x57b989['shift']());}}}(_0x275d,0xb0d2d));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1fd1c4){const _0x84f933=_0x4d1d,_0x1f89d6={'blxrn':function(_0x4779bf,_0x227648){return _0x4779bf(_0x227648);}},_0x27f15f=await getEnabledSessionId(_0x1fd1c4);if(!_0x27f15f)return;_0x1f89d6[_0x84f933(0x1d8)](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===');}function _0x275d(){const _0x65b3f5=['2272UKJiqr','2660TjYAam','348LJnIJT','72630588hzfkjL','10Htazmd','6pXjzbH','213230InTMGA','9736678xHfehy','40370YOqxbi','blxrn','3356067CvhgUq','44205xHQLXp','225rMsGPx'];_0x275d=function(){return _0x65b3f5;};return _0x275d();}
1
+ (function(_0x4a6817,_0x44ddec){const _0x52e2da=_0x2780,_0x3eecae=_0x4a6817();while(!![]){try{const _0x466448=-parseInt(_0x52e2da(0x1ea))/0x1*(-parseInt(_0x52e2da(0x1e7))/0x2)+parseInt(_0x52e2da(0x1ec))/0x3*(-parseInt(_0x52e2da(0x1e6))/0x4)+-parseInt(_0x52e2da(0x1e3))/0x5+-parseInt(_0x52e2da(0x1ef))/0x6*(parseInt(_0x52e2da(0x1ee))/0x7)+parseInt(_0x52e2da(0x1e5))/0x8+parseInt(_0x52e2da(0x1e9))/0x9*(-parseInt(_0x52e2da(0x1e4))/0xa)+-parseInt(_0x52e2da(0x1eb))/0xb*(-parseInt(_0x52e2da(0x1ed))/0xc);if(_0x466448===_0x44ddec)break;else _0x3eecae['push'](_0x3eecae['shift']());}catch(_0xad9b96){_0x3eecae['push'](_0x3eecae['shift']());}}}(_0x411c,0xf1d6d));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2780(_0x3deab4,_0x283244){_0x3deab4=_0x3deab4-0x1e3;const _0x411cbb=_0x411c();let _0x278058=_0x411cbb[_0x3deab4];return _0x278058;}function _0x411c(){const _0x3a2200=['15CtsDLm','4740pPRxNl','8939WXRBaW','4344cNNZSe','37775RONgjQ','7767790WqcBQP','2736792OYmEmi','213000wONbhw','4XlhvNc','===\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===','18xPSQTC','540275ZTDPpK','64603AwiuxM'];_0x411c=function(){return _0x3a2200;};return _0x411c();}export async function exitPlanMode(_0x2d6393){const _0x10c4a8=_0x2780,_0x22d1b1=await getEnabledSessionId(_0x2d6393);if(!_0x22d1b1)return;printBlock(_0x10c4a8(0x1e8));}
@@ -1 +1 @@
1
- (function(_0x1797ee,_0x8a1cb6){var _0x12cfb8=_0x5464,_0x47dfd9=_0x1797ee();while(!![]){try{var _0x48040b=parseInt(_0x12cfb8(0x1b9))/0x1+parseInt(_0x12cfb8(0x1bb))/0x2*(parseInt(_0x12cfb8(0x1b5))/0x3)+-parseInt(_0x12cfb8(0x1ba))/0x4+-parseInt(_0x12cfb8(0x1bc))/0x5*(-parseInt(_0x12cfb8(0x1b7))/0x6)+-parseInt(_0x12cfb8(0x1b8))/0x7+parseInt(_0x12cfb8(0x1b4))/0x8+parseInt(_0x12cfb8(0x1b3))/0x9*(-parseInt(_0x12cfb8(0x1b6))/0xa);if(_0x48040b===_0x8a1cb6)break;else _0x47dfd9['push'](_0x47dfd9['shift']());}catch(_0x39473d){_0x47dfd9['push'](_0x47dfd9['shift']());}}}(_0x3ba6,0x6a2c7));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x3ba6(){var _0x3f768e=['850zTyqbD','188340jVPLHW','419587skTeNZ','301308YKMDcQ','469540RIjgCl','882amMeIQ','20DHOSsO','61245DJqDxN','3562944zLbQio','2166BmhIFf'];_0x3ba6=function(){return _0x3f768e;};return _0x3ba6();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x5464(_0x48a0bc,_0x164ca9){_0x48a0bc=_0x48a0bc-0x1b3;var _0x3ba6eb=_0x3ba6();var _0x546426=_0x3ba6eb[_0x48a0bc];return _0x546426;}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ function _0x5ed2(_0x5aefd2,_0x391633){_0x5aefd2=_0x5aefd2-0xd9;var _0x1a732a=_0x1a73();var _0x5ed2d0=_0x1a732a[_0x5aefd2];return _0x5ed2d0;}(function(_0x3825f3,_0x398f89){var _0x3ab6f5=_0x5ed2,_0x4af70b=_0x3825f3();while(!![]){try{var _0x4f0fec=-parseInt(_0x3ab6f5(0xe1))/0x1*(parseInt(_0x3ab6f5(0xe2))/0x2)+parseInt(_0x3ab6f5(0xe3))/0x3*(-parseInt(_0x3ab6f5(0xe0))/0x4)+-parseInt(_0x3ab6f5(0xd9))/0x5+parseInt(_0x3ab6f5(0xda))/0x6*(-parseInt(_0x3ab6f5(0xdf))/0x7)+parseInt(_0x3ab6f5(0xde))/0x8*(parseInt(_0x3ab6f5(0xdc))/0x9)+-parseInt(_0x3ab6f5(0xdb))/0xa+parseInt(_0x3ab6f5(0xdd))/0xb;if(_0x4f0fec===_0x398f89)break;else _0x4af70b['push'](_0x4af70b['shift']());}catch(_0x1b21b3){_0x4af70b['push'](_0x4af70b['shift']());}}}(_0x1a73,0x6b58f));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x1a73(){var _0x8ed58b=['17150320kMMBij','64JOMEJV','30261DAgwyH','610748KxTbln','214693imrqZa','2nEljeI','15lbhYGi','319015lcEYHi','216PHWfCf','6289700xPgusc','795492mAhmlj'];_0x1a73=function(){return _0x8ed58b;};return _0x1a73();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x37c8bb,_0x647874){const _0x5e0e73=_0x51a7,_0x3759a4=_0x37c8bb();while(!![]){try{const _0x37670b=-parseInt(_0x5e0e73(0xfe))/0x1+parseInt(_0x5e0e73(0xf5))/0x2+-parseInt(_0x5e0e73(0xf6))/0x3+-parseInt(_0x5e0e73(0xfa))/0x4*(-parseInt(_0x5e0e73(0xfd))/0x5)+parseInt(_0x5e0e73(0xf1))/0x6*(parseInt(_0x5e0e73(0xfc))/0x7)+parseInt(_0x5e0e73(0xf9))/0x8+-parseInt(_0x5e0e73(0xfb))/0x9*(parseInt(_0x5e0e73(0xf2))/0xa);if(_0x37670b===_0x647874)break;else _0x3759a4['push'](_0x3759a4['shift']());}catch(_0x5efd89){_0x3759a4['push'](_0x3759a4['shift']());}}}(_0x52bf,0xd2ede));function _0x51a7(_0x3b91dc,_0x17c16e){_0x3b91dc=_0x3b91dc-0xf1;const _0x52bf73=_0x52bf();let _0x51a7f1=_0x52bf73[_0x3b91dc];return _0x51a7f1;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x30e791){const _0x2da4c9=_0x51a7;console[_0x2da4c9(0xf7)](_0x30e791);}export async function readHookInput(){let _0x4a54ff='';for await(const _0x47fb99 of process['stdin']){_0x4a54ff+=_0x47fb99;}try{return JSON['parse'](_0x4a54ff);}catch{return null;}}export async function getEnabledSessionId(_0x3a34c8){const _0x248c80=_0x51a7;if(_0x3a34c8)return isSessionEnabled(_0x3a34c8)?_0x3a34c8:null;const _0x56ef89=await readHookInput(),_0x276e56=_0x56ef89?.[_0x248c80(0xf4)];if(!_0x276e56||!isSessionEnabled(_0x276e56))return null;return _0x276e56;}export async function getEnabledHookContext(_0x1b45ac){const _0x15a1ca=_0x51a7,_0x500aee={'BWwEI':function(_0xbe467,_0x4ece2f){return _0xbe467(_0x4ece2f);},'cCHeM':function(_0x4c1ac5,_0x19ef52){return _0x4c1ac5(_0x19ef52);}};if(_0x1b45ac){if(!_0x500aee[_0x15a1ca(0xf8)](isSessionEnabled,_0x1b45ac))return null;return{'sessionId':_0x1b45ac,'input':{'session_id':_0x1b45ac}};}const _0x3fee4a=await readHookInput(),_0x37fe71=_0x3fee4a?.[_0x15a1ca(0xf4)];if(!_0x37fe71||!_0x500aee[_0x15a1ca(0xf3)](isSessionEnabled,_0x37fe71))return null;return{'sessionId':_0x37fe71,'input':_0x3fee4a};}function _0x52bf(){const _0x50051f=['2122293gudZky','log','BWwEI','8988824hXokFW','464TDanUa','16331940pJvadO','21puYeLy','6835zxFUho','785713YNdGsq','3425424FzFJRF','10IIuOIx','cCHeM','session_id','2353766cMdlVc'];_0x52bf=function(){return _0x50051f;};return _0x52bf();}
1
+ (function(_0x142a9a,_0x47263c){const _0x49dcd3=_0x1612,_0x3c86ac=_0x142a9a();while(!![]){try{const _0x4388c2=-parseInt(_0x49dcd3(0x199))/0x1*(-parseInt(_0x49dcd3(0x190))/0x2)+-parseInt(_0x49dcd3(0x191))/0x3+parseInt(_0x49dcd3(0x18c))/0x4*(parseInt(_0x49dcd3(0x198))/0x5)+-parseInt(_0x49dcd3(0x196))/0x6*(parseInt(_0x49dcd3(0x193))/0x7)+-parseInt(_0x49dcd3(0x18f))/0x8+-parseInt(_0x49dcd3(0x194))/0x9+parseInt(_0x49dcd3(0x195))/0xa*(parseInt(_0x49dcd3(0x192))/0xb);if(_0x4388c2===_0x47263c)break;else _0x3c86ac['push'](_0x3c86ac['shift']());}catch(_0x3c48d1){_0x3c86ac['push'](_0x3c86ac['shift']());}}}(_0x2e1d,0x363a2));function _0x2e1d(){const _0x4c5cc5=['log','4NYKzpU','session_id','stdin','1393640fQvxsG','6QIMcKL','1263219PYcoLb','19283guIgKH','4291qxjLUl','3386538lfNdZu','5530xCgLXy','2100rxBExT','KrDJb','1763890NknIyf','28679LRKmVq'];_0x2e1d=function(){return _0x4c5cc5;};return _0x2e1d();}function _0x1612(_0x3d8583,_0x207642){_0x3d8583=_0x3d8583-0x18b;const _0x2e1d60=_0x2e1d();let _0x1612dd=_0x2e1d60[_0x3d8583];return _0x1612dd;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x38e904){const _0x418fee=_0x1612;console[_0x418fee(0x18b)](_0x38e904);}export async function readHookInput(){const _0x239879=_0x1612;let _0x16279b='';for await(const _0x5043f4 of process[_0x239879(0x18e)]){_0x16279b+=_0x5043f4;}try{return JSON['parse'](_0x16279b);}catch{return null;}}export async function getEnabledSessionId(_0x16e77d){const _0x447b09=_0x1612,_0x583dea={'GoBsQ':function(_0x48f00f,_0x2b13cb){return _0x48f00f(_0x2b13cb);},'eidGo':function(_0xac0729,_0x2134ce){return _0xac0729(_0x2134ce);}};if(_0x16e77d)return _0x583dea['GoBsQ'](isSessionEnabled,_0x16e77d)?_0x16e77d:null;const _0x11c27f=await readHookInput(),_0x1bbf72=_0x11c27f?.[_0x447b09(0x18d)];if(!_0x1bbf72||!_0x583dea['eidGo'](isSessionEnabled,_0x1bbf72))return null;return _0x1bbf72;}export async function getEnabledHookContext(_0x3dbbb){const _0x26d417=_0x1612,_0x1da6a6={'KrDJb':function(_0xbe7143,_0x24f6b1){return _0xbe7143(_0x24f6b1);}};if(_0x3dbbb){if(!_0x1da6a6[_0x26d417(0x197)](isSessionEnabled,_0x3dbbb))return null;return{'sessionId':_0x3dbbb,'input':{'session_id':_0x3dbbb}};}const _0x41ed82=await readHookInput(),_0x3638d3=_0x41ed82?.[_0x26d417(0x18d)];if(!_0x3638d3||!_0x1da6a6['KrDJb'](isSessionEnabled,_0x3638d3))return null;return{'sessionId':_0x3638d3,'input':_0x41ed82};}
@@ -1 +1 @@
1
- (function(_0x5a2ae4,_0x319e61){const _0x18d8d7=_0x11fc,_0xf90009=_0x5a2ae4();while(!![]){try{const _0x32b205=-parseInt(_0x18d8d7(0x15f))/0x1+-parseInt(_0x18d8d7(0x161))/0x2+-parseInt(_0x18d8d7(0x166))/0x3+parseInt(_0x18d8d7(0x160))/0x4*(parseInt(_0x18d8d7(0x164))/0x5)+parseInt(_0x18d8d7(0x15d))/0x6+-parseInt(_0x18d8d7(0x163))/0x7*(parseInt(_0x18d8d7(0x167))/0x8)+parseInt(_0x18d8d7(0x15c))/0x9;if(_0x32b205===_0x319e61)break;else _0xf90009['push'](_0xf90009['shift']());}catch(_0x49f1df){_0xf90009['push'](_0xf90009['shift']());}}}(_0x8d40,0xda99d));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x8d40(){const _0x3eba29=['1528729RbptTT','4564vogksY','2392052FxFzOC','aQjcd','119rbKExn','6240NYrLiM','sessionId','1518339BcfaGr','493920xFuFkH','qZQaf','21695067ydutso','8047836uBTjnC','plan'];_0x8d40=function(){return _0x3eba29;};return _0x8d40();}function _0x11fc(_0x1ed624,_0x14f7d2){_0x1ed624=_0x1ed624-0x15c;const _0x8d40fa=_0x8d40();let _0x11fc2b=_0x8d40fa[_0x1ed624];return _0x11fc2b;}export async function planReminder(_0x1cdbec){const _0x2afd27=_0x11fc,_0x1ccf09={'aQjcd':function(_0x3e5616,_0x19f938){return _0x3e5616(_0x19f938);},'qZQaf':function(_0x2120a9,_0x4c6408){return _0x2120a9(_0x4c6408);}},_0x292fd5=await _0x1ccf09[_0x2afd27(0x162)](getEnabledHookContext,_0x1cdbec);if(!_0x292fd5)return;if(_0x292fd5['input']['permission_mode']!==_0x2afd27(0x15e))return;if(!_0x1ccf09[_0x2afd27(0x162)](shouldShowPlanReminder,_0x292fd5[_0x2afd27(0x165)]))return;_0x1ccf09[_0x2afd27(0x168)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x3d7aa1,_0x2ff458){const _0x5b6074=_0x5ba8,_0x2e76b8=_0x3d7aa1();while(!![]){try{const _0x523ca8=-parseInt(_0x5b6074(0xcc))/0x1*(parseInt(_0x5b6074(0xca))/0x2)+-parseInt(_0x5b6074(0xcd))/0x3+parseInt(_0x5b6074(0xd3))/0x4*(parseInt(_0x5b6074(0xd1))/0x5)+-parseInt(_0x5b6074(0xc9))/0x6+parseInt(_0x5b6074(0xd2))/0x7+-parseInt(_0x5b6074(0xc8))/0x8+parseInt(_0x5b6074(0xd4))/0x9*(parseInt(_0x5b6074(0xd0))/0xa);if(_0x523ca8===_0x2ff458)break;else _0x2e76b8['push'](_0x2e76b8['shift']());}catch(_0x4d6f13){_0x2e76b8['push'](_0x2e76b8['shift']());}}}(_0x49d1,0x9bd88));function _0x5ba8(_0x1f9009,_0x42e9ce){_0x1f9009=_0x1f9009-0xc7;const _0x49d14e=_0x49d1();let _0x5ba8a0=_0x49d14e[_0x1f9009];return _0x5ba8a0;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x49d1(){const _0x24d7f8=['2402148mIBlKh','27iTuWKK','sessionId','4409872IYHekl','4616382WhxBQr','6hgLOns','qfheA','68097qAsacB','3051495mYhvty','===\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===','plan','2991460EsfAsp','10mZpyiq','7573433vBzllU'];_0x49d1=function(){return _0x24d7f8;};return _0x49d1();}export async function planReminder(_0x20e893){const _0x35cf31=_0x5ba8,_0x181ca7={'qfheA':_0x35cf31(0xcf)},_0x43644d=await getEnabledHookContext(_0x20e893);if(!_0x43644d)return;if(_0x43644d['input']['permission_mode']!==_0x181ca7[_0x35cf31(0xcb)])return;if(!shouldShowPlanReminder(_0x43644d[_0x35cf31(0xc7)]))return;printBlock(_0x35cf31(0xce));}
@@ -1 +1 @@
1
- function _0x1c97(_0xa7c5b2,_0x48ae3a){_0xa7c5b2=_0xa7c5b2-0x16b;const _0x1d13c7=_0x1d13();let _0x1c9704=_0x1d13c7[_0xa7c5b2];return _0x1c9704;}(function(_0x196f82,_0x581f4b){const _0x1cdb40=_0x1c97,_0x285df5=_0x196f82();while(!![]){try{const _0x1ca809=parseInt(_0x1cdb40(0x16d))/0x1*(-parseInt(_0x1cdb40(0x172))/0x2)+parseInt(_0x1cdb40(0x174))/0x3*(parseInt(_0x1cdb40(0x170))/0x4)+-parseInt(_0x1cdb40(0x173))/0x5+parseInt(_0x1cdb40(0x175))/0x6+parseInt(_0x1cdb40(0x16c))/0x7*(-parseInt(_0x1cdb40(0x171))/0x8)+parseInt(_0x1cdb40(0x16f))/0x9+parseInt(_0x1cdb40(0x16e))/0xa;if(_0x1ca809===_0x581f4b)break;else _0x285df5['push'](_0x285df5['shift']());}catch(_0x1d311e){_0x285df5['push'](_0x285df5['shift']());}}}(_0x1d13,0xa901f));function _0x1d13(){const _0x1a570e=['AOLGM','42OaNYgZ','16532lWnjmp','13068610DiwiQn','7613937nKSLBT','8DvvlhF','1723912QmXSii','6edrNun','6781680qAJOER','1501842leLWmk','1422234pnnltu'];_0x1d13=function(){return _0x1a570e;};return _0x1d13();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4121fa){const _0x5cc6e2=_0x1c97,_0x440691={'AOLGM':function(_0x4daf59,_0x90599a){return _0x4daf59(_0x90599a);}},_0x26ab82=await _0x440691[_0x5cc6e2(0x16b)](getEnabledSessionId,_0x4121fa);if(!_0x26ab82)return;_0x440691[_0x5cc6e2(0x16b)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0xbbbcdf,_0x9f5679){const _0x1ee152=_0x51dd,_0xdfe7b9=_0xbbbcdf();while(!![]){try{const _0x3e7f27=parseInt(_0x1ee152(0x193))/0x1*(parseInt(_0x1ee152(0x192))/0x2)+-parseInt(_0x1ee152(0x194))/0x3+parseInt(_0x1ee152(0x198))/0x4*(parseInt(_0x1ee152(0x195))/0x5)+-parseInt(_0x1ee152(0x196))/0x6+-parseInt(_0x1ee152(0x18e))/0x7*(-parseInt(_0x1ee152(0x190))/0x8)+parseInt(_0x1ee152(0x191))/0x9+parseInt(_0x1ee152(0x18f))/0xa;if(_0x3e7f27===_0x9f5679)break;else _0xdfe7b9['push'](_0xdfe7b9['shift']());}catch(_0x5b8a9e){_0xdfe7b9['push'](_0xdfe7b9['shift']());}}}(_0x4ac4,0x7472c));import{printBlock,getEnabledSessionId}from'./output.js';function _0x51dd(_0x346841,_0x549b52){_0x346841=_0x346841-0x18e;const _0x4ac467=_0x4ac4();let _0x51dd1c=_0x4ac467[_0x346841];return _0x51dd1c;}function _0x4ac4(){const _0x4c352f=['819161pkwCdV','4999970zwbjTt','16qZoIRs','4650669RymKtL','2sGbfeO','212961QjimWA','2284878BwdCNT','465StWgAa','4053834yXEQgz','===\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===','19376QJjyqj'];_0x4ac4=function(){return _0x4c352f;};return _0x4ac4();}export async function planStart(_0x1277ad){const _0x1246c6=_0x51dd,_0x57de7e={'GJSfX':function(_0x104976,_0x32347c){return _0x104976(_0x32347c);}},_0xd9338a=await getEnabledSessionId(_0x1277ad);if(!_0xd9338a)return;_0x57de7e['GJSfX'](printBlock,_0x1246c6(0x197));}
@@ -1 +1 @@
1
- (function(_0x4a81c1,_0x12113a){const _0x26f9cf=_0x44da,_0x587a8b=_0x4a81c1();while(!![]){try{const _0x4b0fb3=-parseInt(_0x26f9cf(0x146))/0x1*(-parseInt(_0x26f9cf(0x13f))/0x2)+parseInt(_0x26f9cf(0x13c))/0x3*(parseInt(_0x26f9cf(0x143))/0x4)+-parseInt(_0x26f9cf(0x149))/0x5+parseInt(_0x26f9cf(0x13d))/0x6*(-parseInt(_0x26f9cf(0x147))/0x7)+parseInt(_0x26f9cf(0x13e))/0x8*(parseInt(_0x26f9cf(0x14a))/0x9)+-parseInt(_0x26f9cf(0x148))/0xa+parseInt(_0x26f9cf(0x141))/0xb;if(_0x4b0fb3===_0x12113a)break;else _0x587a8b['push'](_0x587a8b['shift']());}catch(_0x1f0f4f){_0x587a8b['push'](_0x587a8b['shift']());}}}(_0x1be7,0x83f68));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x44da(_0x2dbc1,_0xffe521){_0x2dbc1=_0x2dbc1-0x13c;const _0x1be79d=_0x1be7();let _0x44da99=_0x1be79d[_0x2dbc1];return _0x44da99;}import{getToken}from'../utils/keychain.js';function _0x1be7(){const _0x560d0a=['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.','MbsFc','413533nmJaup','7477085tstBqg','9710240hcykke','2530395fObIYx','36XPjRGc','19911mmfodt','6hhiKVh','517424ZqHoJR','4oHYtsb','SgGOn','21415944FrRnHD','stringify','32BSWobN'];_0x1be7=function(){return _0x560d0a;};return _0x1be7();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x41808a){const _0x4aa23c=_0x44da,_0x2eac88={'MbsFc':function(_0x25ae9d,_0xb366e0){return _0x25ae9d(_0xb366e0);},'SgGOn':function(_0x55b5da){return _0x55b5da();}},_0x35ee22=await getEnabledSessionId(_0x41808a);if(!_0x35ee22)return;_0x2eac88['MbsFc'](updateBranchTracking,_0x35ee22);const _0x29b626=await _0x2eac88[_0x4aa23c(0x140)](getToken);if(!_0x29b626)return;const _0x219747=_0x2eac88[_0x4aa23c(0x145)](getSessionEntry,_0x35ee22);if(_0x219747){const _0x2c4485={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON['stringify'](_0x2c4485));return;}const _0x1f5501={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x4aa23c(0x144)}};console['log'](JSON[_0x4aa23c(0x142)](_0x1f5501));}
1
+ (function(_0x431363,_0x584f0a){const _0x460b3f=_0x4b3b,_0x65373=_0x431363();while(!![]){try{const _0x5861a0=parseInt(_0x460b3f(0x161))/0x1+parseInt(_0x460b3f(0x15e))/0x2*(-parseInt(_0x460b3f(0x15c))/0x3)+parseInt(_0x460b3f(0x159))/0x4+parseInt(_0x460b3f(0x162))/0x5*(parseInt(_0x460b3f(0x15a))/0x6)+parseInt(_0x460b3f(0x166))/0x7+parseInt(_0x460b3f(0x163))/0x8+parseInt(_0x460b3f(0x164))/0x9*(-parseInt(_0x460b3f(0x160))/0xa);if(_0x5861a0===_0x584f0a)break;else _0x65373['push'](_0x65373['shift']());}catch(_0x19f326){_0x65373['push'](_0x65373['shift']());}}}(_0x14a8,0x76191));function _0x14a8(){const _0x170742=['5VcfVlc','3055576VApuvi','225pWhbrj','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).','1727271zaEAhy','PostToolUse','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.','3499964tHZPPy','5528118ACZSii','SESeH','3nHmtlw','stringify','566378zKBxqR','log','818060hhDxDC','387024JcwohC'];_0x14a8=function(){return _0x170742;};return _0x14a8();}function _0x4b3b(_0x1a683c,_0x420490){_0x1a683c=_0x1a683c-0x159;const _0x14a8ea=_0x14a8();let _0x4b3b14=_0x14a8ea[_0x1a683c];return _0x4b3b14;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x2e0c2c){const _0x4cf77d=_0x4b3b,_0x7c90a6={'SESeH':function(_0x1f8d45,_0x1ac347){return _0x1f8d45(_0x1ac347);},'kXPTa':_0x4cf77d(0x167)},_0x3bc1bf=await getEnabledSessionId(_0x2e0c2c);if(!_0x3bc1bf)return;updateBranchTracking(_0x3bc1bf);const _0x1e08f6=await getToken();if(!_0x1e08f6)return;const _0x45bfd8=_0x7c90a6[_0x4cf77d(0x15b)](getSessionEntry,_0x3bc1bf);if(_0x45bfd8){const _0x223297={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x4cf77d(0x165)}};console[_0x4cf77d(0x15f)](JSON[_0x4cf77d(0x15d)](_0x223297));return;}const _0x45634b={'hookSpecificOutput':{'hookEventName':_0x7c90a6['kXPTa'],'additionalContext':_0x4cf77d(0x168)}};console['log'](JSON['stringify'](_0x45634b));}
@@ -1 +1 @@
1
- function _0x450b(){const _0x122704=['6ElQbgv','6452IzseMq','5772591gBGsMy','768sgigXF','OxQji','10aRHjIK','2904965mfxaEk','124094nsWGiG','===\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`.','1891842TmFlWU','105339KNakVn','33858GtFwkZ','5oFiRRd'];_0x450b=function(){return _0x122704;};return _0x450b();}(function(_0x171409,_0xe9e99b){const _0xac8fb0=_0x529c,_0x279d51=_0x171409();while(!![]){try{const _0xe34c90=parseInt(_0xac8fb0(0x123))/0x1*(-parseInt(_0xac8fb0(0x12a))/0x2)+parseInt(_0xac8fb0(0x120))/0x3+parseInt(_0xac8fb0(0x124))/0x4+-parseInt(_0xac8fb0(0x122))/0x5*(-parseInt(_0xac8fb0(0x12c))/0x6)+parseInt(_0xac8fb0(0x129))/0x7+-parseInt(_0xac8fb0(0x126))/0x8*(-parseInt(_0xac8fb0(0x121))/0x9)+parseInt(_0xac8fb0(0x128))/0xa*(-parseInt(_0xac8fb0(0x125))/0xb);if(_0xe34c90===_0xe9e99b)break;else _0x279d51['push'](_0x279d51['shift']());}catch(_0x1fcbd5){_0x279d51['push'](_0x279d51['shift']());}}}(_0x450b,0x386cd));function _0x529c(_0x177bc4,_0x41659c){_0x177bc4=_0x177bc4-0x120;const _0x450b42=_0x450b();let _0x529cae=_0x450b42[_0x177bc4];return _0x529cae;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x4afaed){const _0x5afe2b=_0x529c,_0xec81c7={'OxQji':function(_0x3023ea,_0x2e8c9d){return _0x3023ea(_0x2e8c9d);},'MkwNq':function(_0xdaf641,_0x2f7c2b){return _0xdaf641(_0x2f7c2b);}},_0x2e4900=await _0xec81c7[_0x5afe2b(0x127)](getEnabledSessionId,_0x4afaed);if(!_0x2e4900)return;try{const _0x2b730b=await getToken();if(!_0x2b730b)return;_0xec81c7['MkwNq'](printBlock,_0x5afe2b(0x12b));}catch{}}
1
+ function _0x5c56(_0x43d33f,_0x69d771){_0x43d33f=_0x43d33f-0x1b4;const _0xebe7c5=_0xebe7();let _0x5c5656=_0xebe7c5[_0x43d33f];return _0x5c5656;}(function(_0x48c0e6,_0x3196a2){const _0x131394=_0x5c56,_0x318c95=_0x48c0e6();while(!![]){try{const _0x9bd009=-parseInt(_0x131394(0x1b9))/0x1+-parseInt(_0x131394(0x1b4))/0x2+parseInt(_0x131394(0x1b6))/0x3*(-parseInt(_0x131394(0x1ba))/0x4)+parseInt(_0x131394(0x1bb))/0x5+parseInt(_0x131394(0x1bc))/0x6+parseInt(_0x131394(0x1b8))/0x7*(parseInt(_0x131394(0x1b7))/0x8)+-parseInt(_0x131394(0x1b5))/0x9;if(_0x9bd009===_0x3196a2)break;else _0x318c95['push'](_0x318c95['shift']());}catch(_0x5496d){_0x318c95['push'](_0x318c95['shift']());}}}(_0xebe7,0x5c0cc));function _0xebe7(){const _0x5d5dc7=['24JbgaMw','3555735WvQyYO','753312CkVkpk','259454VXyTIw','2520612ysBcYa','160761dQGPKr','235632pwdYnL','77kAbVrV','52340LwQXvi'];_0xebe7=function(){return _0x5d5dc7;};return _0xebe7();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x11d4b8){const _0x2db4f6={'GEVFE':function(_0x56fd85){return _0x56fd85();}},_0x156d83=await getEnabledSessionId(_0x11d4b8);if(!_0x156d83)return;try{const _0x6c2d06=await _0x2db4f6['GEVFE'](getToken);if(!_0x6c2d06)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
@@ -1 +1 @@
1
- function _0x31bb(_0x5b6592,_0x108784){_0x5b6592=_0x5b6592-0xfb;const _0x3b798f=_0x3b79();let _0x31bb24=_0x3b798f[_0x5b6592];return _0x31bb24;}(function(_0x58a0db,_0x56b2bb){const _0x55d7cf=_0x31bb,_0x5d41a7=_0x58a0db();while(!![]){try{const _0x155a1e=-parseInt(_0x55d7cf(0xfe))/0x1*(-parseInt(_0x55d7cf(0x108))/0x2)+-parseInt(_0x55d7cf(0x102))/0x3+parseInt(_0x55d7cf(0x103))/0x4*(parseInt(_0x55d7cf(0x104))/0x5)+parseInt(_0x55d7cf(0xfc))/0x6*(-parseInt(_0x55d7cf(0x100))/0x7)+-parseInt(_0x55d7cf(0x101))/0x8+-parseInt(_0x55d7cf(0x107))/0x9*(-parseInt(_0x55d7cf(0x106))/0xa)+parseInt(_0x55d7cf(0xff))/0xb*(parseInt(_0x55d7cf(0xfd))/0xc);if(_0x155a1e===_0x56b2bb)break;else _0x5d41a7['push'](_0x5d41a7['shift']());}catch(_0x3295e9){_0x5d41a7['push'](_0x5d41a7['shift']());}}}(_0x3b79,0x55e82));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x3403c3){const _0x342339=_0x31bb,_0x53a937={'KEQkg':function(_0x1d824a){return _0x1d824a();},'ASZZL':function(_0x236400,_0x30da1b){return _0x236400===_0x30da1b;},'JAIYe':'clear'};let _0x1eb83f=_0x3403c3,_0x24dffd;if(!_0x3403c3){const _0x1fe02a=await _0x53a937['KEQkg'](readHookInput);_0x1eb83f=_0x1fe02a?.['session_id'],_0x24dffd=_0x1fe02a?.[_0x342339(0x109)];}if(!_0x1eb83f)return;_0x53a937[_0x342339(0xfb)](_0x24dffd,_0x53a937[_0x342339(0x105)])&&recordEnabledSessionCleared(_0x1eb83f);}function _0x3b79(){const _0x178455=['1212QqAiDX','331157EREHNx','27379iqTqiD','28fZqVzp','2316992qpQwuO','808806gAcJNn','4jzNqYt','1375765pwpgRu','JAIYe','3260210DWcWJV','9vtNmDJ','2HqeKni','reason','ASZZL','408930qYMbgK'];_0x3b79=function(){return _0x178455;};return _0x3b79();}
1
+ (function(_0x1f0c09,_0x525eba){const _0x440cab=_0x3a1b,_0xaa78c7=_0x1f0c09();while(!![]){try{const _0x140271=-parseInt(_0x440cab(0x175))/0x1+-parseInt(_0x440cab(0x16f))/0x2+-parseInt(_0x440cab(0x171))/0x3+parseInt(_0x440cab(0x176))/0x4+-parseInt(_0x440cab(0x174))/0x5+-parseInt(_0x440cab(0x170))/0x6*(-parseInt(_0x440cab(0x172))/0x7)+parseInt(_0x440cab(0x178))/0x8;if(_0x140271===_0x525eba)break;else _0xaa78c7['push'](_0xaa78c7['shift']());}catch(_0x41adf1){_0xaa78c7['push'](_0xaa78c7['shift']());}}}(_0x39db,0xaa1a4));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x3a1b(_0x3ad0b5,_0x56330e){_0x3ad0b5=_0x3ad0b5-0x16e;const _0x39dbde=_0x39db();let _0x3a1beb=_0x39dbde[_0x3ad0b5];return _0x3a1beb;}export async function sessionEnd(_0x3f5609){const _0x929769=_0x3a1b,_0x3b8da0={'hPduU':function(_0x12ce4c){return _0x12ce4c();}};let _0x10fa84=_0x3f5609,_0x151ac9;if(!_0x3f5609){const _0x520e43=await _0x3b8da0[_0x929769(0x16e)](readHookInput);_0x10fa84=_0x520e43?.[_0x929769(0x177)],_0x151ac9=_0x520e43?.['reason'];}if(!_0x10fa84)return;_0x151ac9===_0x929769(0x173)&&recordEnabledSessionCleared(_0x10fa84);}function _0x39db(){const _0x1742ed=['30hKrWJh','2045592CUwKDW','1755075fLFhwP','clear','6859535fzWEHD','1053492ykRWOf','3498900unJymF','session_id','15191440braCXs','hPduU','446554eaMidc'];_0x39db=function(){return _0x1742ed;};return _0x39db();}
@@ -1 +1 @@
1
- const _0x475468=_0x1814;(function(_0xe0df19,_0xdcfa40){const _0x197873=_0x1814,_0x4a4d50=_0xe0df19();while(!![]){try{const _0x21b6f3=-parseInt(_0x197873(0x129))/0x1+-parseInt(_0x197873(0x133))/0x2*(parseInt(_0x197873(0x11e))/0x3)+-parseInt(_0x197873(0x12d))/0x4*(parseInt(_0x197873(0x127))/0x5)+-parseInt(_0x197873(0x121))/0x6*(parseInt(_0x197873(0x122))/0x7)+-parseInt(_0x197873(0x125))/0x8*(-parseInt(_0x197873(0x131))/0x9)+parseInt(_0x197873(0x11f))/0xa+parseInt(_0x197873(0x12b))/0xb;if(_0x21b6f3===_0xdcfa40)break;else _0x4a4d50['push'](_0x4a4d50['shift']());}catch(_0x3ac3df){_0x4a4d50['push'](_0x4a4d50['shift']());}}}(_0x3dfe,0x82a6c));function _0x1814(_0x5b96d8,_0x3ae1a7){_0x5b96d8=_0x5b96d8-0x11e;const _0x3dfeb0=_0x3dfe();let _0x1814c1=_0x3dfeb0[_0x5b96d8];return _0x1814c1;}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x475468(0x120);function _0x3dfe(){const _0x44fefb=['764812VzbvLU','qcQUj','session_id','main','80793kjxNJC','\x20(Branch:\x20','140266wSANup','21oRBGFz','5843040NhPNCJ','=================================================================\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=================================================================','78jhIOdS','23429aRkTti','mPBgH','log','824YYPICP','stringify','15rxVRQx','stdin','72839XtaSHI','yAQcx','2278133VIofDX','trackCommandStart'];_0x3dfe=function(){return _0x44fefb;};return _0x3dfe();}export async function sessionStart(_0x73c513){const _0x16f0e5=_0x475468,_0x15ba40={'aEpxx':function(_0x19337a,_0x329584){return _0x19337a||_0x329584;},'kmdqM':_0x16f0e5(0x12f),'mPBgH':function(_0x10bb1b,_0x1b5a45){return _0x10bb1b&&_0x1b5a45;},'qcQUj':function(_0x35cd14,_0x17ce3d,_0x2e7a75){return _0x35cd14(_0x17ce3d,_0x2e7a75);},'JPRgV':function(_0x5ef224,_0x59ed58){return _0x5ef224(_0x59ed58);},'LyDBX':'success','xtRAe':function(_0x33abbb){return _0x33abbb();},'yAQcx':'SessionStart','hPJSO':function(_0x5469f2,_0x1e288d){return _0x5469f2+_0x1e288d;}};let _0x48e41c=_0x15ba40['aEpxx'](_0x73c513,''),_0x51ba72;if(!_0x73c513){let _0x9b568b='';for await(const _0x4a969a of process[_0x16f0e5(0x128)]){_0x9b568b+=_0x4a969a;}try{const _0x3b93d8=JSON['parse'](_0x9b568b);_0x48e41c=_0x3b93d8[_0x15ba40['kmdqM']]||'',_0x51ba72=_0x3b93d8['source'];}catch{}const _0xbf0db1=process['env']['CLAUDE_ENV_FILE'];if(_0x15ba40[_0x16f0e5(0x123)](_0xbf0db1,_0x48e41c))try{await _0x15ba40[_0x16f0e5(0x12e)](appendFile,_0xbf0db1,'export\x20CLAUDE_SESSION_ID=\x22'+_0x48e41c+'\x22\x0a');}catch{}}if(_0x48e41c){_0x15ba40['JPRgV'](shouldAutoEnableAfterClear,_0x51ba72)&&autoEnableAfterClear(_0x48e41c);_0x15ba40['JPRgV'](initBranchTracking,_0x48e41c);const _0x2a4dad=isSessionEnabled(_0x48e41c);try{const _0x19c74e=_0x15ba40['JPRgV'](createTelemetryCollector,'hook:session-start');await _0x19c74e[_0x16f0e5(0x12c)]({'sessionId':_0x48e41c,'hooksEnabled':_0x2a4dad}),await _0x19c74e['trackCommandEnd'](_0x15ba40['LyDBX']);}catch{}if(_0x2a4dad){const _0x58af1b=_0x15ba40['xtRAe'](getCurrentBranch),_0x3f88a0=_0x58af1b&&_0x58af1b!==_0x16f0e5(0x130)&&_0x58af1b!=='master'?_0x16f0e5(0x132)+_0x58af1b+')':'',_0x4a3f74={'hookSpecificOutput':{'hookEventName':_0x15ba40[_0x16f0e5(0x12a)],'additionalContext':_0x15ba40['hPJSO'](RANGER_AUTO_ENABLED_PROMPT,_0x3f88a0)}};console[_0x16f0e5(0x124)](JSON[_0x16f0e5(0x126)](_0x4a3f74));}}}
1
+ function _0x2223(_0x9ff40a,_0x4e63e0){_0x9ff40a=_0x9ff40a-0x172;const _0x55ecff=_0x55ec();let _0x222344=_0x55ecff[_0x9ff40a];return _0x222344;}const _0x50eb6b=_0x2223;(function(_0x1002ec,_0x5dee0){const _0x1175c9=_0x2223,_0x4b5c68=_0x1002ec();while(!![]){try{const _0x655a32=parseInt(_0x1175c9(0x18a))/0x1*(-parseInt(_0x1175c9(0x17b))/0x2)+parseInt(_0x1175c9(0x18b))/0x3*(-parseInt(_0x1175c9(0x182))/0x4)+-parseInt(_0x1175c9(0x176))/0x5+-parseInt(_0x1175c9(0x178))/0x6*(-parseInt(_0x1175c9(0x172))/0x7)+-parseInt(_0x1175c9(0x185))/0x8+-parseInt(_0x1175c9(0x17f))/0x9*(parseInt(_0x1175c9(0x179))/0xa)+parseInt(_0x1175c9(0x173))/0xb*(parseInt(_0x1175c9(0x181))/0xc);if(_0x655a32===_0x5dee0)break;else _0x4b5c68['push'](_0x4b5c68['shift']());}catch(_0x4ff105){_0x4b5c68['push'](_0x4b5c68['shift']());}}}(_0x55ec,0xcd2fc));import{appendFile}from'fs/promises';function _0x55ec(){const _0x3360f4=['env','31835712vnPEYN','40kKxOLT','master','log','625160BDQpKT','yfnWc','export\x20CLAUDE_SESSION_ID=\x22','trackCommandStart','kgIGF','260527dCzsLI','312999AWZiNJ','stdin','27853EfOBjD','11tnKFbj','=================================================================\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=================================================================','ipSLw','6240855SxHOSB','\x20(Branch:\x20','1524OrfSks','1930250EtepUD','SessionStart','2oqDEyb','xwrIs','Xmqul','hook:session-start','9UajiaV'];_0x55ec=function(){return _0x3360f4;};return _0x55ec();}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x50eb6b(0x174);export async function sessionStart(_0x4ae0be){const _0x4b495d=_0x50eb6b,_0x1b414b={'Vbuoo':'source','xwrIs':function(_0x4ddc36,_0x50a40d){return _0x4ddc36(_0x50a40d);},'alNZC':function(_0x24e6e8,_0x4b5d95){return _0x24e6e8(_0x4b5d95);},'DwXPl':'success','kgIGF':function(_0x4edda4,_0x503d36){return _0x4edda4!==_0x503d36;},'yfnWc':_0x4b495d(0x183),'Xmqul':_0x4b495d(0x17a),'ipSLw':function(_0x57365b,_0x3cad84){return _0x57365b+_0x3cad84;}};let _0x333f31=_0x4ae0be||'',_0x3b5394;if(!_0x4ae0be){let _0x482049='';for await(const _0x545ac5 of process[_0x4b495d(0x18c)]){_0x482049+=_0x545ac5;}try{const _0x164114=JSON['parse'](_0x482049);_0x333f31=_0x164114['session_id']||'',_0x3b5394=_0x164114[_0x1b414b['Vbuoo']];}catch{}const _0x440c7a=process[_0x4b495d(0x180)]['CLAUDE_ENV_FILE'];if(_0x440c7a&&_0x333f31)try{await appendFile(_0x440c7a,_0x4b495d(0x187)+_0x333f31+'\x22\x0a');}catch{}}if(_0x333f31){_0x1b414b['xwrIs'](shouldAutoEnableAfterClear,_0x3b5394)&&autoEnableAfterClear(_0x333f31);_0x1b414b[_0x4b495d(0x17c)](initBranchTracking,_0x333f31);const _0x3f6ff8=isSessionEnabled(_0x333f31);try{const _0x303f5b=_0x1b414b['alNZC'](createTelemetryCollector,_0x4b495d(0x17e));await _0x303f5b[_0x4b495d(0x188)]({'sessionId':_0x333f31,'hooksEnabled':_0x3f6ff8}),await _0x303f5b['trackCommandEnd'](_0x1b414b['DwXPl']);}catch{}if(_0x3f6ff8){const _0x574764=getCurrentBranch(),_0x441c7c=_0x574764&&_0x1b414b[_0x4b495d(0x189)](_0x574764,'main')&&_0x574764!==_0x1b414b[_0x4b495d(0x186)]?_0x4b495d(0x177)+_0x574764+')':'',_0x3f2190={'hookSpecificOutput':{'hookEventName':_0x1b414b[_0x4b495d(0x17d)],'additionalContext':_0x1b414b[_0x4b495d(0x175)](RANGER_AUTO_ENABLED_PROMPT,_0x441c7c)}};console[_0x4b495d(0x184)](JSON['stringify'](_0x3f2190));}}}