@ranger-testing/ranger-cli 2.1.6 → 2.1.7

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
+ (function(_0x1c55e1,_0x26dba3){const _0x49e70a=_0x31a9,_0x514d3c=_0x1c55e1();while(!![]){try{const _0x5e0df3=-parseInt(_0x49e70a(0x7b))/0x1*(parseInt(_0x49e70a(0x7a))/0x2)+parseInt(_0x49e70a(0x79))/0x3+parseInt(_0x49e70a(0x6f))/0x4+-parseInt(_0x49e70a(0x82))/0x5*(-parseInt(_0x49e70a(0x78))/0x6)+parseInt(_0x49e70a(0x69))/0x7*(-parseInt(_0x49e70a(0x6d))/0x8)+-parseInt(_0x49e70a(0x72))/0x9*(-parseInt(_0x49e70a(0x80))/0xa)+-parseInt(_0x49e70a(0x85))/0xb*(parseInt(_0x49e70a(0x84))/0xc);if(_0x5e0df3===_0x26dba3)break;else _0x514d3c['push'](_0x514d3c['shift']());}catch(_0x3173ac){_0x514d3c['push'](_0x514d3c['shift']());}}}(_0x1b16,0xd8ec8));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x31a9(_0x1de844,_0x518324){_0x1de844=_0x1de844-0x69;const _0x1b160a=_0x1b16();let _0x31a98e=_0x1b160a[_0x1de844];return _0x31a98e;}import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions','bug-bashes','reports','local','ci'];export async function getEnvNames(){const _0x19a7b4=_0x31a9,_0x57c7f9={'SMUed':function(_0x489e42,_0x59c4bd){return _0x489e42(_0x59c4bd);},'lYKdd':function(_0x5e3f26,_0x39f83c,_0x17c0c6){return _0x5e3f26(_0x39f83c,_0x17c0c6);},'YCYLA':_0x19a7b4(0x81),'vrlbp':function(_0x268e1f,_0x4f207e){return _0x268e1f(_0x4f207e);},'wrRWH':function(_0x16549c,_0x477388){return _0x16549c(_0x477388);},'YKuwY':function(_0x41d74c,_0x15d7bc){return _0x41d74c(_0x15d7bc);},'hsdCe':function(_0x3242c5,_0x2073f0){return _0x3242c5(_0x2073f0);},'hLzMB':function(_0xe88c3c,_0x1e52e6,_0x5e94d3){return _0xe88c3c(_0x1e52e6,_0x5e94d3);},'xpjRl':function(_0xa0fce2,_0x38b256){return _0xa0fce2(_0x38b256);},'Kolzi':'legacy'},_0x438059=getRangerDir();if(!_0x57c7f9[_0x19a7b4(0x70)](existsSync,_0x438059))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x557caa=await readActiveProfileName(),_0x3edf08=[],_0x16a52e={},_0x563bbc=_0x57c7f9[_0x19a7b4(0x77)](join,_0x438059,_0x57c7f9['YCYLA']);if(_0x57c7f9['SMUed'](existsSync,_0x563bbc)){const _0x576c52=await _0x57c7f9[_0x19a7b4(0x76)](readdir,_0x563bbc);for(const _0x279dd0 of _0x576c52){const _0x441d88=join(_0x563bbc,_0x279dd0),_0x534682=await stat(_0x441d88);_0x534682['isDirectory']()&&(_0x3edf08[_0x19a7b4(0x6a)](_0x279dd0),_0x16a52e[_0x279dd0]='local');}}const _0x37b146=_0x57c7f9['lYKdd'](join,_0x438059,'ci');if(existsSync(_0x37b146)){const _0x109bd5=await _0x57c7f9[_0x19a7b4(0x7d)](readdir,_0x37b146);for(const _0x45a4c9 of _0x109bd5){const _0x68827c=_0x57c7f9['lYKdd'](join,_0x37b146,_0x45a4c9),_0x3885ec=await _0x57c7f9['YKuwY'](stat,_0x68827c);_0x3885ec[_0x19a7b4(0x86)]()&&(_0x3edf08[_0x19a7b4(0x6a)](_0x45a4c9),_0x16a52e[_0x45a4c9]='ci');}}const _0x1a46db=await _0x57c7f9[_0x19a7b4(0x6e)](readdir,_0x438059);for(const _0x1c1337 of _0x1a46db){if(NON_ENV_DIRS['includes'](_0x1c1337))continue;if(_0x1c1337[_0x19a7b4(0x73)]('.'))continue;if(_0x1c1337[_0x19a7b4(0x74)]('.txt'))continue;const _0x3e971b=_0x57c7f9['hLzMB'](join,_0x438059,_0x1c1337),_0x17784b=await _0x57c7f9['xpjRl'](stat,_0x3e971b);_0x17784b[_0x19a7b4(0x86)]()&&existsSync(join(_0x3e971b,'settings.json'))&&(!_0x3edf08['includes'](_0x1c1337)&&(_0x3edf08[_0x19a7b4(0x6a)](_0x1c1337),_0x16a52e[_0x1c1337]=_0x57c7f9['Kolzi']));}return{'envNames':_0x3edf08,'activeEnv':_0x557caa,'envTypes':_0x16a52e};}export async function envList(){const _0x5e4d2c=_0x31a9,_0x543f66={'XttDF':function(_0x17c04c){return _0x17c04c();},'MWpVe':function(_0x53ee89,_0x528ec7){return _0x53ee89===_0x528ec7;},'QFWKJ':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','yyhKC':function(_0x58bae4,_0x4785d4){return _0x58bae4===_0x4785d4;},'VwleL':'local'},{envNames:_0x3a7c6e,activeEnv:_0x328dd8,envTypes:_0x3ceb9a}=await _0x543f66['XttDF'](getEnvNames);if(_0x543f66['MWpVe'](_0x3a7c6e[_0x5e4d2c(0x7c)],0x0)){console[_0x5e4d2c(0x71)]('\x0aNo\x20profiles\x20found.'),console['log'](_0x543f66[_0x5e4d2c(0x6c)]);return;}console[_0x5e4d2c(0x71)](_0x5e4d2c(0x7f));for(const _0x53a643 of _0x3a7c6e[_0x5e4d2c(0x6b)]()){const _0x1a78aa=_0x543f66['yyhKC'](_0x53a643,_0x328dd8),_0xd65834=_0x3ceb9a[_0x53a643]||_0x543f66[_0x5e4d2c(0x87)],_0x1d8b5e=await loadSettings(_0x53a643),_0x4762e9=_0xd65834==='legacy'?'':'\x20['+_0xd65834+']';console[_0x5e4d2c(0x71)]('\x20\x20'+(_0x1a78aa?'*\x20':'\x20\x20')+_0x53a643+_0x4762e9),_0x1d8b5e[_0x5e4d2c(0x83)]&&console['log']('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x1d8b5e[_0x5e4d2c(0x83)]),_0x1d8b5e[_0x5e4d2c(0x7e)]&&console['log'](_0x5e4d2c(0x75)+_0x1d8b5e['environmentDetails']);}_0x328dd8&&console[_0x5e4d2c(0x71)]('\x0a*\x20=\x20active\x20profile');}function _0x1b16(){const _0x5dea0f=['QFWKJ','136ErEtwW','hsdCe','2116192FXCjhr','SMUed','log','3177LoczSj','startsWith','endsWith','\x20\x20\x20\x20\x20\x20Details:\x20','vrlbp','lYKdd','168870veuvvq','4129638nvPITQ','3750dwPCSm','9tQlOsB','length','wrRWH','environmentDetails','\x0aProfiles:','29260Allslm','local','185IbMMdw','baseUrl','18667944sfveOJ','11XUYsde','isDirectory','VwleL','625380MEfSyA','push','sort'];_0x1b16=function(){return _0x5dea0f;};return _0x1b16();}
@@ -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 _0x1f6b22=_0x5c43;(function(_0x15e649,_0x293d32){const _0x32f4cc=_0x5c43,_0x2b878f=_0x15e649();while(!![]){try{const _0x57dd58=-parseInt(_0x32f4cc(0x121))/0x1+parseInt(_0x32f4cc(0x158))/0x2*(-parseInt(_0x32f4cc(0xb1))/0x3)+-parseInt(_0x32f4cc(0x16a))/0x4*(-parseInt(_0x32f4cc(0x138))/0x5)+-parseInt(_0x32f4cc(0x170))/0x6+-parseInt(_0x32f4cc(0x156))/0x7+-parseInt(_0x32f4cc(0x10e))/0x8+parseInt(_0x32f4cc(0x17c))/0x9*(parseInt(_0x32f4cc(0x150))/0xa);if(_0x57dd58===_0x293d32)break;else _0x2b878f['push'](_0x2b878f['shift']());}catch(_0xb6670b){_0x2b878f['push'](_0x2b878f['shift']());}}}(_0x5992,0xbc580));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x1cd6f0 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';const ACTIVE_FEATURE_FILE=_0x1f6b22(0x155),bold=_0x5244cb=>'\x1b[1m'+_0x5244cb+'\x1b[0m';function getGitRepoUrl(){const _0x523c20=_0x1f6b22,_0x4e5803={'LywCi':'pipe','UAHSP':_0x523c20(0xbf)};try{const _0x315d1b=execSync(_0x523c20(0x15d),{'encoding':'utf-8','stdio':['pipe',_0x4e5803['LywCi'],_0x4e5803[_0x523c20(0x100)]]})['trim']();return _0x315d1b[_0x523c20(0x16e)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x4e5803['UAHSP'])[_0x523c20(0x16e)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x316aa8=_0x1f6b22,_0x4cd0eb={'klQzS':function(_0x2ba982,_0x2c2799,_0x1668f1){return _0x2ba982(_0x2c2799,_0x1668f1);},'DRmFW':'utf-8','VihIu':'pipe'};try{return _0x4cd0eb['klQzS'](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x4cd0eb['DRmFW'],'stdio':['pipe','pipe',_0x4cd0eb[_0x316aa8(0x169)]]})[_0x316aa8(0xc0)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x285f1d=_0x1f6b22,_0xee913d={'ZXdHK':function(_0x5aa92b,_0x48e513,_0xeca20e){return _0x5aa92b(_0x48e513,_0xeca20e);},'YigEX':function(_0xb32c37){return _0xb32c37();},'WtPqU':function(_0x505bfd,_0x28c4f0){return _0x505bfd(_0x28c4f0);},'lTWQA':_0x285f1d(0x119)},_0x3eeab6=_0xee913d[_0x285f1d(0x10d)](join,_0xee913d[_0x285f1d(0xd9)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0xee913d['WtPqU'](existsSync,_0x3eeab6))return null;try{const _0x457f8a=await _0xee913d['ZXdHK'](readFile,_0x3eeab6,_0xee913d['lTWQA']);return _0x457f8a['trim']()||null;}catch{return null;}}function _0x5992(){const _0x3a8a20=['completedAt','\x20\x20\x20Updated\x20branch\x20to:\x20','AfHsK','name','\x20at\x20[','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','error','currentSessionId','jnMbJ','VihIu','12352LdNPNr','QCjCJ','aTcGN','kRcHQ','replace','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','7083114wacqsI','length','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','stdout','\x20\x20Expected\x20flow:','tsiqY','completed','latestReview','MEjLc','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','HWitd','qfCHL','965286tPmIzw','\x0aAvailable\x20scenarios:','\x20—\x20','CcwZC','incomplete','LZPpx','No\x20sessions\x20found.','bdrdQ','\x20\x20\x20\x20\x20\x20Cancelled:\x20','blocked','321EkaNrW','\x20\x20\x20\x20','\x0a✅\x20Restored\x20feature\x20review:\x20','mTMzA','\x20\x20\x20Branch:\x20','mzTzB','ready','status','\x0aConcluding\x20session...','lPNVy','\x20[has\x20reviewer\x20feedback]','dashboardUrl','vvguz','gitRepoUrl','github.com/','trim','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','WzXJr','selector','output','\x20blocked','Zmews','\x0aNo\x20feature\x20reviews\x20found.','YFhxh','iteration','blockedItems','from','\x20\x20\x20Created:\x20','offset','\x0a✅\x20Session\x20','jCeWk','domRef','incompleteItems','map','authorName','uNAUR','reports','\x20>\x20','Scenario\x20','version','YigEX','\x0a✅\x20Scenario\x20updated','igqid','toLocaleString','repeat','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','vGEIi','CLAUDE_SESSION_ID','KtdVB','FqlIe','\x0aCreating\x20feature\x20review...','\x20of\x20','bOpnO','position','\x0a✅\x20Report\x20generated:\x20','TOWkm','nwDsg','approved','\x20\x20\x20\x20\x20ID:\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','VebUu','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x20\x20\x20\x20\x20\x20Blocked:\x20','cpZIE','toFixed','UyVKm','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','verifiedItems','ErsIE','filter','nrbrE','egbFc','QNXjD','LBQfd','content','CusBm','find','\x20\x20✅\x20No\x20feedback\x20to\x20address','exit','LywCi','SweMQ','spatial','lmjzJ','createdAt','qCzSI','join','qNsOI','dqluZ','prompt','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','Current\x20session\x20not\x20found.','KBeXy','ZXdHK','5691152LecNZf','dFUiV','includeDeleted','gcFxC','zCEFN','Cannot\x20conclude\x20session\x20with\x20status:\x20','iJztd','canonicalFlow','items','description','.\x20Feature\x20review\x20has\x20','utf-8','\x20\x20\x20\x20\x20📋\x20Selector:\x20','xJqBY','\x20\x20\x20','list','SCLQX','\x20scenario(s).','totalCount','1190581ekZVmD','short','...','unaddressedComments','textContent','push','Unknown','gitBranch','sFqOY','scenarios','HoYBQ','\x20scenarios.','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','NnPyt','OUyys','log','limit','checklistItems','verified','verification_in_progress','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20incomplete','2260JKLmcM','point','isTTY','\x20unaddressed\x20comment(s)','write','scenario','feedback-images','EAILy','terminalReason','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','slice','cSrBk','rknPJ','env','BsiKE','CqJAW','stats','\x20in\x20progress','zTsID','sessionId','parentItemId','incompleteReason','sort','Mlrbn','500udOxXN','cqRqy','AXPyn','in_progress','hNbSP','active-feature.txt','10246397sALoYh','type','26930FScRAs','ZoaZD','toLocaleDateString','XBkpD',':\x20\x22','git\x20remote\x20get-url\x20origin','\x20—\x20no\x20comments','\x0a✅\x20Resumed\x20feature\x20review:\x20'];_0x5992=function(){return _0x3a8a20;};return _0x5992();}async function setActiveFeatureId(_0x3d0ce3){const _0x4a7e8c=_0x1f6b22,_0x1ea4d4={'QCjCJ':function(_0x2114eb,_0x251c1a,_0x25309b){return _0x2114eb(_0x251c1a,_0x25309b);},'ahXKg':function(_0x56c9fa,_0x457cd0,_0x4df124){return _0x56c9fa(_0x457cd0,_0x4df124);},'egbFc':function(_0x30bdde,_0x58c4e6,_0x276cca,_0x5b27d8){return _0x30bdde(_0x58c4e6,_0x276cca,_0x5b27d8);}},_0x8063fc=getRangerDir(),_0x41677c=_0x1ea4d4[_0x4a7e8c(0x16b)](join,_0x8063fc,ACTIVE_FEATURE_FILE);!existsSync(_0x8063fc)&&await _0x1ea4d4['ahXKg'](mkdir,_0x8063fc,{'recursive':!![]}),await _0x1ea4d4[_0x4a7e8c(0xf8)](writeFile,_0x41677c,_0x3d0ce3,'utf-8');}function getProgressDisplay(_0x1ded96){const _0x247f9d=_0x1f6b22,_0x4e92cc={'EPUST':function(_0x11ceb7,_0x21bf28){return _0x11ceb7+_0x21bf28;},'JAaij':function(_0x1b0e6c,_0x4cbde8){return _0x1b0e6c-_0x4cbde8;},'bOpnO':function(_0x28366e,_0x8d0e9b){return _0x28366e>_0x8d0e9b;},'EAILy':function(_0xc55633,_0x32f05e){return _0xc55633>_0x32f05e;}},_0x4bd2ea=_0x1ded96[_0x247f9d(0xf4)]||0x0,_0x1cfdbf=_0x1ded96['verificationInProgressItems']||0x0,_0x20ec90=_0x1ded96[_0x247f9d(0xca)]||0x0,_0x9d4b4a=_0x1ded96[_0x247f9d(0xd1)]||0x0,_0xe8192=_0x1ded96['pendingItems']||0x0,_0x2c79fe=_0x4e92cc['EPUST'](_0x4bd2ea,_0x1cfdbf)+_0x20ec90+_0x9d4b4a+_0xe8192;if(_0x2c79fe===0x0)return'-';const _0x2279cc=0xa,_0x16f58e=Math['round'](_0x4bd2ea/_0x2c79fe*_0x2279cc),_0x4dd37c='█'[_0x247f9d(0xdd)](_0x16f58e)+'░'['repeat'](_0x4e92cc['JAaij'](_0x2279cc,_0x16f58e)),_0x5d7b8f=[];if(_0x4e92cc[_0x247f9d(0xe5)](_0x20ec90,0x0))_0x5d7b8f[_0x247f9d(0x126)](_0x20ec90+_0x247f9d(0xc5));if(_0x4e92cc[_0x247f9d(0x13f)](_0x9d4b4a,0x0))_0x5d7b8f[_0x247f9d(0x126)](_0x9d4b4a+_0x247f9d(0x137));if(_0x1cfdbf>0x0)_0x5d7b8f[_0x247f9d(0x126)](_0x1cfdbf+_0x247f9d(0x149));const _0x2d2b73=_0x4e92cc['EAILy'](_0x5d7b8f[_0x247f9d(0x171)],0x0)?'\x20('+_0x5d7b8f['join'](',\x20')+')':'';return _0x4dd37c+'\x20'+_0x4bd2ea+'/'+_0x2c79fe+'\x20verified'+_0x2d2b73;}function getCurrentSessionItems(_0x4a6de7,_0x24dda0){const _0x4c264a=_0x1f6b22;if(!_0x4a6de7['currentSessionId'])return _0x24dda0[_0x4c264a(0xf6)](_0x4c7019=>!_0x4c7019[_0x4c264a(0x14b)])[_0x4c264a(0x14e)]((_0x5b61cc,_0x2c2f08)=>_0x5b61cc[_0x4c264a(0xe6)]-_0x2c2f08['position']);return _0x24dda0['filter'](_0x1afb59=>_0x1afb59[_0x4c264a(0x14b)]===_0x4a6de7[_0x4c264a(0x167)]||!_0x1afb59['sessionId'])['sort']((_0x298e0b,_0x5b2b07)=>_0x298e0b[_0x4c264a(0xe6)]-_0x5b2b07[_0x4c264a(0xe6)]);}function displayFeature(_0x24ad6d,_0x114b43){const _0x31dcbe=_0x1f6b22,_0x4b8269={'MEjLc':function(_0x305272,_0x36730e){return _0x305272(_0x36730e);},'HWitd':function(_0x41b40c,_0x2d3db9){return _0x41b40c>_0x2d3db9;},'LBByh':'\x0a\x20\x20\x20Scenarios:','nrbrE':function(_0x561c88,_0x2b777b){return _0x561c88<_0x2b777b;},'kRcHQ':'closed','QNXjD':_0x31dcbe(0x133),'vGEIi':function(_0x5e2add,_0x2dbaf8){return _0x5e2add===_0x2dbaf8;},'hNbSP':_0x31dcbe(0xab),'clxxb':'blocked','AfHsK':function(_0x1b4e3e,_0x5c9922){return _0x1b4e3e===_0x5c9922;},'ZegEh':function(_0x46ee68,_0x23afb5){return _0x46ee68===_0x23afb5;},'Pwxgo':_0x31dcbe(0x134),'CcwZC':function(_0x592eca,_0x14be95){return _0x592eca!==_0x14be95;},'CqJAW':_0x31dcbe(0xbb)};console['log']('\x0a'+_0x24ad6d[_0x31dcbe(0x163)]+'\x20('+_0x24ad6d[_0x31dcbe(0xbc)]+')');_0x24ad6d['stats']&&console[_0x31dcbe(0x130)]('\x20\x20\x20Progress:\x20'+_0x4b8269[_0x31dcbe(0x178)](getProgressDisplay,_0x24ad6d['stats']));_0x24ad6d['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x24ad6d[_0x31dcbe(0x117)]);_0x24ad6d[_0x31dcbe(0xbe)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x24ad6d[_0x31dcbe(0xbe)]);_0x24ad6d[_0x31dcbe(0x128)]&&console[_0x31dcbe(0x130)](_0x31dcbe(0xb5)+_0x24ad6d['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x24ad6d[_0x31dcbe(0x104)])[_0x31dcbe(0xdc)]());_0x24ad6d[_0x31dcbe(0x160)]&&console[_0x31dcbe(0x130)]('\x20\x20\x20Completed:\x20'+new Date(_0x24ad6d['completedAt'])['toLocaleString']());if(_0x114b43&&_0x4b8269['HWitd'](_0x114b43[_0x31dcbe(0x171)],0x0)){console['log'](_0x4b8269['LBByh']);for(let _0x34bca5=0x0;_0x4b8269[_0x31dcbe(0xf7)](_0x34bca5,_0x114b43['length']);_0x34bca5++){const _0x4eebb2=_0x114b43[_0x34bca5];let _0x5920ea;if(_0x4eebb2['status']===_0x4b8269['kRcHQ']&&_0x4eebb2['terminalReason']===_0x31dcbe(0xea))_0x5920ea='✅';else{if(_0x4eebb2['status']===_0x4b8269[_0x31dcbe(0xf9)])_0x5920ea='🟢';else{if(_0x4b8269['vGEIi'](_0x4eebb2['status'],_0x4b8269[_0x31dcbe(0x154)]))_0x5920ea='🟠';else{if(_0x4eebb2[_0x31dcbe(0xb8)]===_0x4b8269['clxxb'])_0x5920ea='🛑';else{if(_0x4b8269[_0x31dcbe(0x162)](_0x4eebb2['status'],_0x4b8269[_0x31dcbe(0x16d)]))_0x5920ea='⛔';else _0x4b8269['ZegEh'](_0x4eebb2[_0x31dcbe(0xb8)],_0x4b8269['Pwxgo'])?_0x5920ea='⏳':_0x5920ea='⬜';}}}}const _0x5b51e4=_0x4b8269[_0x31dcbe(0x17a)](_0x4eebb2[_0x31dcbe(0xd8)],0x1)?'\x20(v'+_0x4eebb2[_0x31dcbe(0xd8)]+')':'',_0xa3d56e=_0x4eebb2[_0x31dcbe(0xd8)]>0x1&&_0x4eebb2[_0x31dcbe(0x14c)]&&_0x4b8269[_0x31dcbe(0xaa)](_0x4eebb2['status'],'closed')&&_0x4b8269['CcwZC'](_0x4eebb2['status'],_0x31dcbe(0x133))?_0x4b8269[_0x31dcbe(0x147)]:'';console[_0x31dcbe(0x130)](_0x31dcbe(0x11c)+(_0x34bca5+0x1)+'.\x20'+_0x5920ea+'\x20'+_0x4eebb2[_0x31dcbe(0x117)]+_0x5b51e4+_0xa3d56e);_0x4eebb2['status']===_0x31dcbe(0xb0)&&_0x4eebb2['blockedReason']&&console[_0x31dcbe(0x130)](_0x31dcbe(0xef)+_0x4eebb2['blockedReason']);_0x4eebb2['status']===_0x4b8269['hNbSP']&&_0x4eebb2['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x4eebb2[_0x31dcbe(0x14d)]);if(_0x4eebb2[_0x31dcbe(0xb8)]===_0x4b8269['kRcHQ']&&_0x4b8269[_0x31dcbe(0xdf)](_0x4eebb2[_0x31dcbe(0x140)],'approved'))console[_0x31dcbe(0x130)]('\x20\x20\x20\x20\x20\x20Approved');else _0x4eebb2[_0x31dcbe(0xb8)]===_0x4b8269['kRcHQ']&&_0x4eebb2['canceledReason']&&console['log'](_0x31dcbe(0xaf)+_0x4eebb2['canceledReason']);}}}export async function featureCreate(_0xccafae,_0x12bb50){const _0x26fd99=_0x1f6b22,_0x20eead={'OEKuP':function(_0x32787c){return _0x32787c();},'cSrBk':_0x26fd99(0xe3),'DwNbo':function(_0x45cad7,_0x389431,_0x357641){return _0x45cad7(_0x389431,_0x357641);},'JSBAv':function(_0x4912e2,_0x3a075d,_0x1c730b){return _0x4912e2(_0x3a075d,_0x1c730b);}},{envNames:_0x7aca62}=await getEnvNames();_0x7aca62[_0x26fd99(0x171)]===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x50c1a7=>bold(_0x50c1a7)));const _0x50d044=_0x12bb50[_0x26fd99(0x12a)]?_0x12bb50['scenarios'][_0x26fd99(0xd2)](_0x4d89f7=>_0x4d89f7[_0x26fd99(0xc0)]()):[],_0x34f0d2=_0x20eead['OEKuP'](getGitRepoUrl),_0x57a24e=getGitBranch();console[_0x26fd99(0x130)](_0x20eead[_0x26fd99(0x143)]);const _0x4c37da=await createFeature({'name':_0xccafae,'description':_0x12bb50[_0x26fd99(0x117)],'checklist':_0x50d044,'gitRepoUrl':_0x34f0d2,'gitBranch':_0x57a24e});await setActiveFeatureId(_0x4c37da['id']),await tryStartCurrentSession(_0x4c37da['id']);const _0x47a938=process['env'][_0x26fd99(0xe0)];_0x47a938&&_0x20eead['DwNbo'](registerSession,_0x47a938,_0x4c37da['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x4c37da['id']),_0x20eead['JSBAv'](displayFeature,_0x4c37da,_0x4c37da[_0x26fd99(0x132)]),console[_0x26fd99(0x130)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x162365){const _0x19661a=_0x1f6b22,_0x102257={'HKfPs':function(_0x28c989){return _0x28c989();},'UIPNZ':_0x19661a(0xc7),'Mlrbn':function(_0x3e8320,_0x2871e7){return _0x3e8320<_0x2871e7;},'sFqOY':function(_0x47cc59,_0x490fdd){return _0x47cc59!==_0x490fdd;},'OffAY':'\x20--current-branch','IwasM':'\x20--include-deleted'},_0x2eec48={'limit':_0x162365[_0x19661a(0x131)]??0xa,'offset':_0x162365['offset']??0x0,'includeDeleted':_0x162365[_0x19661a(0x110)]};_0x162365['currentBranch']&&(_0x2eec48['gitRepoUrl']=_0x102257['HKfPs'](getGitRepoUrl),_0x2eec48['gitBranch']=getGitBranch());const _0x1d8838=await listFeatures(_0x2eec48);if(_0x1d8838['items']['length']===0x0){console['log'](_0x102257['UIPNZ']);return;}const _0x2841ac=_0x1d8838['totalCount']>_0x1d8838[_0x19661a(0x116)][_0x19661a(0x171)]?'Showing\x20'+_0x1d8838['items']['length']+_0x19661a(0xe4)+_0x1d8838[_0x19661a(0x120)]:_0x1d8838['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x2841ac+':\x0a');for(const _0x3a9b97 of _0x1d8838[_0x19661a(0x116)]){console['log'](''+_0x3a9b97[_0x19661a(0x163)]),console['log']('\x20\x20\x20ID:\x20'+_0x3a9b97['id']),_0x3a9b97['stats']&&console[_0x19661a(0x130)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3a9b97[_0x19661a(0x148)])),_0x3a9b97['gitBranch']&&console['log'](_0x19661a(0xb5)+_0x3a9b97['gitBranch']),console['log'](_0x19661a(0xcc)+new Date(_0x3a9b97['createdAt'])[_0x19661a(0x15a)]()),console[_0x19661a(0x130)]('');}const _0x64137d=_0x2eec48[_0x19661a(0x131)]??0xa,_0x3b2530=(_0x2eec48[_0x19661a(0xcd)]??0x0)+_0x1d8838[_0x19661a(0x116)][_0x19661a(0x171)];if(_0x102257[_0x19661a(0x14f)](_0x3b2530,_0x1d8838[_0x19661a(0x120)])){const _0x38871f=_0x102257[_0x19661a(0x129)](_0x64137d,0xa)?'\x20--limit\x20'+_0x64137d:'',_0x5b83af=_0x162365['currentBranch']?_0x102257['OffAY']:'',_0x25c615=_0x162365[_0x19661a(0x110)]?_0x102257['IwasM']:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x3b2530+_0x38871f+_0x5b83af+_0x25c615);}}export async function featureShow(_0x2f972c){const _0xf6fddd=_0x1f6b22,_0x3ea33c={'mQnKW':function(_0x40754b,_0x24775a){return _0x40754b(_0x24775a);},'AXWhj':function(_0x3aabaa,_0x566a91,_0x18dc95){return _0x3aabaa(_0x566a91,_0x18dc95);}},_0x42ba53=_0x2f972c||await getActiveFeatureId();if(!_0x42ba53)throw new Error(_0xf6fddd(0x136));const _0x4cb52c=await _0x3ea33c['mQnKW'](getFeature,_0x42ba53);_0x3ea33c['AXWhj'](displayFeature,_0x4cb52c,_0x4cb52c[_0xf6fddd(0x132)]);}function _0x5c43(_0xeff7fc,_0x4414ad){_0xeff7fc=_0xeff7fc-0xa9;const _0x5992c3=_0x5992();let _0x5c431b=_0x5992c3[_0xeff7fc];return _0x5c431b;}export async function featureResume(_0x55cc21){const _0x3eb9ff=_0x1f6b22,_0x45facd={'SCLQX':function(_0x35e1b8,_0xc2fd93){return _0x35e1b8(_0xc2fd93);},'FqlIe':function(_0x3aa0b0){return _0x3aa0b0();},'NnPyt':function(_0x1988e2,_0x24f76a,_0x50b51e){return _0x1988e2(_0x24f76a,_0x50b51e);},'xENVj':function(_0x572d8d,_0x29fcaa,_0x5b10a3){return _0x572d8d(_0x29fcaa,_0x5b10a3);},'AtxHz':function(_0x504d98,_0x957a33){return _0x504d98||_0x957a33;},'oVewa':'any','CusBm':function(_0xf71044,_0x26e5fa){return _0xf71044===_0x26e5fa;},'IBoJw':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','qfCHL':_0x3eb9ff(0x11d),'Lmmrb':'selected','vvguz':function(_0x3f57a7,_0x135333){return _0x3f57a7!==_0x135333;},'ezIyD':function(_0x2b73ae,_0x1204b4){return _0x2b73ae(_0x1204b4);}};if(_0x55cc21){const _0x3c2f93=await getFeature(_0x55cc21);await _0x45facd[_0x3eb9ff(0x11e)](setActiveFeatureId,_0x3c2f93['id']);const _0x58870d=_0x45facd[_0x3eb9ff(0xe2)](getGitBranch);_0x58870d&&_0x58870d!==_0x3c2f93['gitBranch']&&(await _0x45facd['NnPyt'](updateFeature,_0x3c2f93['id'],{'gitBranch':_0x58870d}),console[_0x3eb9ff(0x130)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x58870d));console['log'](_0x3eb9ff(0x15f)+_0x3c2f93['name']+'\x20('+_0x3c2f93['id']+')'),await _0x45facd[_0x3eb9ff(0x11e)](tryStartCurrentSession,_0x3c2f93['id']);const _0x4eeffe=process[_0x3eb9ff(0x145)][_0x3eb9ff(0xe0)];_0x4eeffe&&registerSession(_0x4eeffe,_0x3c2f93['id']);_0x45facd['xENVj'](displayFeature,_0x3c2f93,_0x3c2f93['checklistItems']),await _0x45facd[_0x3eb9ff(0x11e)](printFeedbackNudge,_0x3c2f93['id']);return;}const _0x58da29=getGitRepoUrl(),_0xb9a654=_0x45facd['FqlIe'](getGitBranch);if(!_0x58da29&&!_0xb9a654)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x45facd['AtxHz'](_0x58da29,'any')+'\x20/\x20'+(_0xb9a654||_0x45facd['oVewa'])+_0x3eb9ff(0x123));const _0x39b4e6=await listFeatures({'gitRepoUrl':_0x58da29,'gitBranch':_0xb9a654}),_0x3a2bdc=_0x39b4e6['items']['filter'](_0x7547f0=>!_0x7547f0['completedAt']);if(_0x45facd[_0x3eb9ff(0xfc)](_0x3a2bdc['length'],0x0)){console[_0x3eb9ff(0x130)](_0x3eb9ff(0x141)),console[_0x3eb9ff(0x130)](_0x3eb9ff(0xc1));return;}let _0x12952b;if(_0x3a2bdc[_0x3eb9ff(0x171)]===0x1)_0x12952b=_0x3a2bdc[0x0];else{const _0x1f1fa0=process['stdin'][_0x3eb9ff(0x13a)]&&process['stdout']['isTTY'];if(!_0x1f1fa0){console[_0x3eb9ff(0x130)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x2896d5 of _0x3a2bdc){console['log']('\x20\x20'+_0x2896d5['name']),console['log'](_0x3eb9ff(0xeb)+_0x2896d5['id']),_0x2896d5['stats']&&console[_0x3eb9ff(0x130)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x2896d5['stats'])),_0x2896d5[_0x3eb9ff(0x128)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x2896d5[_0x3eb9ff(0x128)]);}throw new Error(_0x45facd['IBoJw']);}const {selected:_0x161e7c}=await _0x1cd6f0[_0x3eb9ff(0x109)]([{'type':_0x45facd[_0x3eb9ff(0x17b)],'name':_0x45facd['Lmmrb'],'message':_0x3eb9ff(0x135),'choices':_0x3a2bdc[_0x3eb9ff(0xd2)](_0x3481a6=>({'name':_0x3481a6[_0x3eb9ff(0x163)]+'\x20('+_0x3481a6['id']+')','value':_0x3481a6['id']}))}]);_0x12952b=_0x3a2bdc['find'](_0x2b011f=>_0x2b011f['id']===_0x161e7c);}await setActiveFeatureId(_0x12952b['id']);_0xb9a654&&_0x45facd[_0x3eb9ff(0xbd)](_0xb9a654,_0x12952b[_0x3eb9ff(0x128)])&&(await _0x45facd[_0x3eb9ff(0x12e)](updateFeature,_0x12952b['id'],{'gitBranch':_0xb9a654}),console['log'](_0x3eb9ff(0x161)+_0xb9a654));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x12952b['name']+'\x20('+_0x12952b['id']+')'),await tryStartCurrentSession(_0x12952b['id']);const _0x1e6647=await _0x45facd['ezIyD'](getFeature,_0x12952b['id']),_0x144180=process[_0x3eb9ff(0x145)]['CLAUDE_SESSION_ID'];_0x144180&&registerSession(_0x144180,_0x1e6647['id']),displayFeature(_0x1e6647,_0x1e6647['checklistItems']),await printFeedbackNudge(_0x1e6647['id']);}async function printFeedbackNudge(_0x503c3c){const _0x4969c6=_0x1f6b22,_0x45ac54={'lmjzJ':function(_0x57d9d4,_0x313965){return _0x57d9d4(_0x313965);},'QQHwC':function(_0xdae601,_0x4cd143,_0x10a92a){return _0xdae601(_0x4cd143,_0x10a92a);},'iJztd':_0x4969c6(0x12d)};try{const {items:_0x354c67}=await _0x45ac54[_0x4969c6(0x103)](getActionItems,_0x503c3c);let _0x3dac74=0x0,_0xa111a0=0x0;for(const _0x5e624a of _0x354c67){const _0x55902a=await _0x45ac54['QQHwC'](getItemFeedback,_0x503c3c,_0x5e624a['id']);_0x55902a[_0x4969c6(0x124)][_0x4969c6(0x171)]>0x0&&(_0x3dac74+=_0x55902a[_0x4969c6(0x124)]['length'],_0xa111a0++);}_0x3dac74>0x0&&(console[_0x4969c6(0x130)]('\x0a⚠️\x20\x20'+_0x3dac74+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0xa111a0+_0x4969c6(0x11f)),console[_0x4969c6(0x130)](_0x45ac54[_0x4969c6(0x114)]));}catch{}}async function tryStartCurrentSession(_0x5bac9e){const _0x21b54f=_0x1f6b22,_0x5e15f8={'OuVny':function(_0x5113c3,_0x5a3cf0){return _0x5113c3(_0x5a3cf0);},'dqluZ':function(_0x1e422f,_0x1ba170,_0x572ad8){return _0x1e422f(_0x1ba170,_0x572ad8);}};try{const {sessions:_0x92c38c}=await _0x5e15f8['OuVny'](listFeatureSessions,_0x5bac9e),_0x355954=_0x92c38c[_0x21b54f(0xfd)](_0xa26d2b=>_0xa26d2b['status']===_0x21b54f(0xb7));_0x355954&&(await _0x5e15f8[_0x21b54f(0x108)](startSession,_0x5bac9e,_0x355954['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x355954[_0x21b54f(0xc9)]));}catch{}}export async function featureReport(_0x27e9e3,_0x540e25){const _0x2a23a4=_0x1f6b22,_0x356fb3={'pgGWK':function(_0x1366da){return _0x1366da();},'WzXJr':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','igqid':'\x0aGenerating\x20report...','tsiqY':function(_0x492e8a,_0x1d6d7b,_0x7d66f1){return _0x492e8a(_0x1d6d7b,_0x7d66f1);},'ZoaZD':function(_0x4e1f28,_0x328a57,_0x25ab58){return _0x4e1f28(_0x328a57,_0x25ab58);},'gcFxC':function(_0xcffeab,_0x51f4cb,_0x53dfaa,_0x27bff6){return _0xcffeab(_0x51f4cb,_0x53dfaa,_0x27bff6);}},_0x480d43=_0x27e9e3||await _0x356fb3['pgGWK'](getActiveFeatureId);if(!_0x480d43)throw new Error(_0x356fb3[_0x2a23a4(0xc2)]);console[_0x2a23a4(0x130)](_0x356fb3[_0x2a23a4(0xdb)]);const _0x59b18f=await _0x356fb3[_0x2a23a4(0x175)](getFeatureReportMarkdown,_0x480d43,{'style':_0x540e25['style']}),_0x3cfefd=_0x540e25[_0x2a23a4(0xc4)]||join(getRangerDir(),_0x2a23a4(0xd5),_0x480d43+'.md'),_0x20d882=join(_0x3cfefd,'..');!existsSync(_0x20d882)&&await _0x356fb3[_0x2a23a4(0x159)](mkdir,_0x20d882,{'recursive':!![]}),await _0x356fb3[_0x2a23a4(0x111)](writeFile,_0x3cfefd,_0x59b18f,_0x2a23a4(0x119)),console[_0x2a23a4(0x130)](_0x2a23a4(0xe7)+_0x3cfefd);}export async function featureReportPrDescription(_0x2b45e5,_0x2ada75){const _0x120353=_0x1f6b22,_0xe812b6={'LZPpx':function(_0x1ff0ec){return _0x1ff0ec();},'rknPJ':function(_0x5c22ca,_0x1e76bf){return _0x5c22ca(_0x1e76bf);},'wSwvv':function(_0x356f65,_0xa200d7){return _0x356f65===_0xa200d7;},'KtdVB':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','YFhxh':function(_0x5dd6d2,_0x1c7f1a){return _0x5dd6d2>_0x1c7f1a;},'SweMQ':_0x120353(0x17d),'vyrLQ':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x53d7fc=_0x2b45e5||await _0xe812b6[_0x120353(0xac)](getActiveFeatureId);if(!_0x53d7fc)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x195ab8=await _0xe812b6[_0x120353(0x144)](getFeature,_0x53d7fc),_0x3d687a=_0x195ab8[_0x120353(0x132)]||[],_0x4511b2=getCurrentSessionItems(_0x195ab8,_0x3d687a);_0xe812b6['wSwvv'](_0x4511b2['length'],0x0)&&(console['error'](_0xe812b6[_0x120353(0xe1)]),process[_0x120353(0xff)](0x1));const _0x33b992=_0x2ada75['excludeScenarios']??[],_0x2d700a=_0x33b992[_0x120353(0xf6)](_0x1ecca1=>!Number['isInteger'](_0x1ecca1)||_0x1ecca1<0x1||_0x1ecca1>_0x4511b2['length']);if(_0xe812b6[_0x120353(0xc8)](_0x2d700a['length'],0x0)){console[_0x120353(0x166)](_0x120353(0xec)+_0x2d700a[_0x120353(0x106)](',\x20')),console['log'](_0xe812b6[_0x120353(0x101)]);for(let _0x2b3aa4=0x0;_0x2b3aa4<_0x4511b2[_0x120353(0x171)];_0x2b3aa4++){console[_0x120353(0x130)]('\x20\x20'+(_0x2b3aa4+0x1)+'.\x20'+_0x4511b2[_0x2b3aa4][_0x120353(0x117)]);}process['exit'](0x1);}const _0x1c468b=new Set(_0x33b992['map'](_0x2abcf0=>_0x2abcf0-0x1)),_0x19439a=_0x4511b2[_0x120353(0xf6)]((_0x4d6bd9,_0x4b0081)=>!_0x1c468b['has'](_0x4b0081));_0x19439a[_0x120353(0x171)]===0x0&&(console['error'](_0xe812b6['vyrLQ']),process[_0x120353(0xff)](0x1));const _0x89dcb1=await getFeatureReportMarkdown(_0x53d7fc,{'itemIds':_0x19439a['map'](_0x31db72=>_0x31db72['id'])});process[_0x120353(0x173)][_0x120353(0x13c)](_0x89dcb1['trimEnd']()+'\x0a');}export async function featureConcludeSession(_0xb1235f){const _0x469d67=_0x1f6b22,_0x12c0e3={'CtgpR':function(_0x45e2bf){return _0x45e2bf();},'mTMzA':function(_0x1d7ff0,_0x217fd9){return _0x1d7ff0(_0x217fd9);},'SXsSk':_0x469d67(0x176),'dFUiV':'\x0a✅\x20Session\x20is\x20already\x20completed.','UyVKm':function(_0x289009,_0x844697){return _0x289009!==_0x844697;},'cpZIE':_0x469d67(0x153),'lkakx':function(_0x3c81ff,_0x48a5ba,_0x181bc7){return _0x3c81ff(_0x48a5ba,_0x181bc7);}},_0x56d88b=_0xb1235f||await _0x12c0e3['CtgpR'](getActiveFeatureId);if(!_0x56d88b)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 _0x8fb3c7=await _0x12c0e3['mTMzA'](getFeature,_0x56d88b);if(!_0x8fb3c7[_0x469d67(0x167)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x49ea0c}=await _0x12c0e3[_0x469d67(0xb4)](listFeatureSessions,_0x56d88b),_0x4b0985=_0x49ea0c[_0x469d67(0xfd)](_0x4a0442=>_0x4a0442['id']===_0x8fb3c7[_0x469d67(0x167)]);if(!_0x4b0985)throw new Error(_0x469d67(0x10b));if(_0x4b0985['status']===_0x12c0e3['SXsSk']){console['log'](_0x12c0e3[_0x469d67(0x10f)]);return;}if(_0x12c0e3[_0x469d67(0xf2)](_0x4b0985['status'],_0x12c0e3[_0x469d67(0xf0)]))throw new Error(_0x469d67(0x113)+_0x4b0985['status']);console[_0x469d67(0x130)](_0x469d67(0xb9)),await _0x12c0e3['lkakx'](concludeSession,_0x56d88b,_0x8fb3c7['currentSessionId']),console['log'](_0x469d67(0xce)+_0x4b0985['iteration']+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x1d715a){const _0x2c0d38=_0x1f6b22,_0x468762={'VebUu':function(_0xead2e){return _0xead2e();},'Zmews':function(_0x586a10,_0x531a4b){return _0x586a10(_0x531a4b);},'qCzSI':_0x2c0d38(0xad),'dZzFp':'completed','ErsIE':_0x2c0d38(0x153)},_0x2303c6=_0x1d715a||await _0x468762[_0x2c0d38(0xed)](getActiveFeatureId);if(!_0x2303c6)throw new Error(_0x2c0d38(0x16f));const _0x2608b9=await getFeature(_0x2303c6);console['log'](_0x2c0d38(0x179)+_0x2608b9['name']+'\x0a');const {sessions:_0x3e4982}=await _0x468762[_0x2c0d38(0xc6)](listFeatureSessions,_0x2303c6);if(_0x3e4982[_0x2c0d38(0x171)]===0x0){console[_0x2c0d38(0x130)](_0x468762[_0x2c0d38(0x105)]);return;}for(const _0x1053dc of _0x3e4982){const _0x4cf534=_0x1053dc[_0x2c0d38(0xb8)]===_0x468762['dZzFp']?'✅':_0x1053dc[_0x2c0d38(0xb8)]===_0x468762[_0x2c0d38(0xf5)]?'🔄':'▶️';console[_0x2c0d38(0x130)](_0x4cf534+'\x20Session\x20'+_0x1053dc[_0x2c0d38(0xc9)]+'\x20('+_0x1053dc['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x1053dc['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x1053dc[_0x2c0d38(0x104)])[_0x2c0d38(0xdc)]()),_0x1053dc['completedAt']&&console[_0x2c0d38(0x130)]('\x20\x20\x20Completed:\x20'+new Date(_0x1053dc[_0x2c0d38(0x160)])[_0x2c0d38(0xdc)]()),console[_0x2c0d38(0x130)]('');}}export async function featureAddScenario(_0x104ee7,_0x7ef693){const _0x1d861b=_0x1f6b22,_0x4186e4={'zCEFN':_0x1d861b(0x136),'AXPyn':function(_0x37d837,_0x30a790){return _0x37d837(_0x30a790);}},_0x6bc9f9=_0x7ef693||await getActiveFeatureId();if(!_0x6bc9f9)throw new Error(_0x4186e4[_0x1d861b(0x112)]);const _0x1d408f=await getFeature(_0x6bc9f9);if(_0x1d408f['latestReview']&&!_0x1d408f['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1d408f[_0x1d861b(0xbc)]);await createChecklistItem(_0x6bc9f9,_0x104ee7);const _0x1a8674=await _0x4186e4[_0x1d861b(0x152)](getFeature,_0x6bc9f9);console['log']('\x0a✅\x20Scenario\x20added'),displayFeature(_0x1a8674,_0x1a8674[_0x1d861b(0x132)]);}export async function featureEditScenario(_0x5390bb,_0x50bb33){const _0x29f29d=_0x1f6b22,_0x42651d={'jnMbJ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','OUyys':function(_0x5efb9a,_0x3f6a19){return _0x5efb9a(_0x3f6a19);},'TOWkm':'Please\x20finish\x20your\x20review\x20first:','nwDsg':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','ZQkUh':_0x29f29d(0xee),'fMMlY':function(_0x4a79dc,_0x405a15){return _0x4a79dc<_0x405a15;},'qNsOI':function(_0x393960,_0x5632fc){return _0x393960-_0x5632fc;},'LRpwe':_0x29f29d(0x17d),'BsiKE':function(_0x3189cf,_0x514003){return _0x3189cf<_0x514003;},'aTcGN':function(_0x256e4c,_0x36223e){return _0x256e4c+_0x36223e;},'jCeWk':function(_0x5619a9,_0x4cb909,_0x15536a){return _0x5619a9(_0x4cb909,_0x15536a);}},_0x57d21b=_0x50bb33['id']||await getActiveFeatureId();!_0x57d21b&&(console[_0x29f29d(0x166)](_0x29f29d(0x172)),console['error'](_0x42651d[_0x29f29d(0x168)]),process['exit'](0x1));const _0x4587fd=await _0x42651d[_0x29f29d(0x12f)](getFeature,_0x57d21b);_0x4587fd[_0x29f29d(0x177)]&&!_0x4587fd[_0x29f29d(0x177)]['submittedAt']&&(console[_0x29f29d(0x166)](_0x29f29d(0xde)),console['error'](_0x42651d[_0x29f29d(0xe8)]),console['error']('\x20\x20'+_0x4587fd[_0x29f29d(0xbc)]),process[_0x29f29d(0xff)](0x1));const _0x5ef810=_0x4587fd['checklistItems']||[];_0x5ef810['length']===0x0&&(console['error'](_0x42651d[_0x29f29d(0xe9)]),process[_0x29f29d(0xff)](0x1));if(_0x50bb33[_0x29f29d(0x13d)]===undefined){console['error'](_0x42651d['ZQkUh']),console[_0x29f29d(0x130)](_0x29f29d(0x17d));for(let _0x265f26=0x0;_0x42651d['fMMlY'](_0x265f26,_0x5ef810['length']);_0x265f26++){console[_0x29f29d(0x130)]('\x20\x20'+(_0x265f26+0x1)+'.\x20'+_0x5ef810[_0x265f26][_0x29f29d(0x117)]);}process['exit'](0x1);}const _0x5a1f1a=_0x42651d[_0x29f29d(0x107)](_0x50bb33['scenario'],0x1);if(_0x42651d['fMMlY'](_0x5a1f1a,0x0)||_0x5a1f1a>=_0x5ef810[_0x29f29d(0x171)]){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x50bb33['scenario']+_0x29f29d(0x118)+_0x5ef810[_0x29f29d(0x171)]+_0x29f29d(0x12c)),console[_0x29f29d(0x130)](_0x42651d['LRpwe']);for(let _0x5a98bc=0x0;_0x42651d[_0x29f29d(0x146)](_0x5a98bc,_0x5ef810['length']);_0x5a98bc++){console['log']('\x20\x20'+_0x42651d[_0x29f29d(0x16c)](_0x5a98bc,0x1)+'.\x20'+_0x5ef810[_0x5a98bc][_0x29f29d(0x117)]);}process['exit'](0x1);}const _0x359c3e=_0x5ef810[_0x5a1f1a];await updateChecklistItem(_0x57d21b,_0x359c3e['id'],{'description':_0x5390bb});const _0x40509c=await getFeature(_0x57d21b);console['log'](_0x29f29d(0xda)),_0x42651d[_0x29f29d(0xcf)](displayFeature,_0x40509c,_0x40509c['checklistItems']);}async function downloadFeedbackImage(_0x4b987c,_0xee485b){const _0x19b7ff=_0x1f6b22,_0x462539={'etnAT':function(_0x262ce6,_0x334e3f,_0x291b0b){return _0x262ce6(_0x334e3f,_0x291b0b);},'xJqBY':function(_0xecc98e){return _0xecc98e();},'CGVSz':_0x19b7ff(0x13e),'mzTzB':function(_0x5a42f7,_0x3438b8){return _0x5a42f7(_0x3438b8);}};try{const _0x3f972c=_0x462539['etnAT'](join,_0x462539[_0x19b7ff(0x11b)](getRangerDir),_0x462539['CGVSz']);await mkdir(_0x3f972c,{'recursive':!![]});const _0x4be652=join(_0x3f972c,'comment_'+_0xee485b+'.png'),_0x27a5f0=await _0x462539[_0x19b7ff(0xb6)](fetch,_0x4b987c);if(!_0x27a5f0['ok'])return null;const _0x9a0756=Buffer[_0x19b7ff(0xcb)](await _0x27a5f0['arrayBuffer']());return await _0x462539['etnAT'](writeFile,_0x4be652,_0x9a0756),_0x4be652;}catch{return null;}}export async function featureGetReview(_0x5e9a63){const _0x3e8f2b=_0x1f6b22,_0x1dd475={'KBeXy':function(_0x423e72){return _0x423e72();},'aZmfp':function(_0x21420c,_0x29268e){return _0x21420c(_0x29268e);},'LBQfd':function(_0x1378db,_0x471da2){return _0x1378db(_0x471da2);},'zTsID':function(_0x2a66c9,_0xc4845b){return _0x2a66c9>_0xc4845b;},'GuMyt':function(_0x3861d9,_0x2a19e4,_0x486652){return _0x3861d9(_0x2a19e4,_0x486652);},'cqRqy':function(_0x44f8c3,_0x588213){return _0x44f8c3>_0x588213;},'TCbfa':function(_0x16ac7e,_0x2198ea){return _0x16ac7e+_0x2198ea;},'bdrdQ':_0x3e8f2b(0x122),'XBkpD':_0x3e8f2b(0xd6),'lPNVy':function(_0x2d2238,_0x43358f){return _0x2d2238>=_0x43358f;}},_0x5c5c8c=_0x5e9a63||await _0x1dd475[_0x3e8f2b(0x10c)](getActiveFeatureId);if(!_0x5c5c8c)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 _0x293112=await _0x1dd475['aZmfp'](getFeature,_0x5c5c8c),{items:_0x4828f5}=await _0x1dd475[_0x3e8f2b(0xfa)](getActionItems,_0x5c5c8c);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x293112['name']+'\x20('+_0x293112['id']+')\x0a');if(_0x4828f5[_0x3e8f2b(0x171)]===0x0){console['log']('No\x20scenarios\x20found.');return;}for(let _0x4b5a9f=0x0;_0x4b5a9f<_0x4828f5[_0x3e8f2b(0x171)];_0x4b5a9f++){const _0x196c4f=_0x4828f5[_0x4b5a9f],_0xf005c2=_0x1dd475[_0x3e8f2b(0x14a)](_0x196c4f['version'],0x1)?'\x20(v'+_0x196c4f[_0x3e8f2b(0xd8)]+')':'',_0x59cf01=await _0x1dd475['GuMyt'](getItemFeedback,_0x5c5c8c,_0x196c4f['id']);if(_0x1dd475[_0x3e8f2b(0x151)](_0x59cf01['unaddressedComments'][_0x3e8f2b(0x171)],0x0)){console['log']('Scenario\x20'+_0x1dd475['TCbfa'](_0x4b5a9f,0x1)+':\x20\x22'+_0x196c4f['description']+'\x22'+_0xf005c2+_0x3e8f2b(0xa9)+_0x59cf01[_0x3e8f2b(0x124)][_0x3e8f2b(0x171)]+_0x3e8f2b(0x13b));for(const _0x1052eb of _0x59cf01[_0x3e8f2b(0x124)]){const _0x18ad6b=new Date(_0x1052eb[_0x3e8f2b(0x104)])['toLocaleDateString']('en-US',{'month':_0x1dd475[_0x3e8f2b(0xae)],'day':'numeric'}),_0x8c6c2d=_0x1052eb[_0x3e8f2b(0xd3)]||_0x1052eb['authorEmail']||_0x3e8f2b(0x127);console[_0x3e8f2b(0x130)]('\x20\x20💬\x20'+_0x8c6c2d+'\x20('+_0x18ad6b+'):\x20\x22'+_0x1052eb[_0x3e8f2b(0xfb)]+'\x22');if(_0x1052eb['assetUrl']){const _0x15920e=await downloadFeedbackImage(_0x1052eb['assetUrl'],_0x1052eb['id']);_0x15920e&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x15920e);}if(_0x1052eb[_0x3e8f2b(0xd0)]){const _0x85f913=_0x1052eb['domRef']['selector']['split'](_0x1dd475[_0x3e8f2b(0x15b)])['pop']()?.['split'](':')[0x0]||'element',_0xec7ea2=_0x1052eb['domRef'][_0x3e8f2b(0x125)]?'\x20\x22'+_0x1052eb[_0x3e8f2b(0xd0)]['textContent'][_0x3e8f2b(0x142)](0x0,0x3c)+'\x22':'';console[_0x3e8f2b(0x130)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x85f913+'>'+_0xec7ea2),console[_0x3e8f2b(0x130)](_0x3e8f2b(0x11a)+_0x1052eb[_0x3e8f2b(0xd0)][_0x3e8f2b(0xc3)]);}else{if(_0x1052eb['spatial']){const _0x347a9b=_0x1052eb['spatial']['coordinates'];_0x1052eb['spatial'][_0x3e8f2b(0x157)]===_0x3e8f2b(0x139)&&_0x1dd475[_0x3e8f2b(0xba)](_0x347a9b['length'],0x2)?console['log'](_0x3e8f2b(0x165)+_0x347a9b[0x0]['toFixed'](0x2)+',\x20'+_0x347a9b[0x1][_0x3e8f2b(0xf1)](0x2)+')'):console[_0x3e8f2b(0x130)](_0x3e8f2b(0xf3)+_0x1052eb[_0x3e8f2b(0x102)][_0x3e8f2b(0x157)]+_0x3e8f2b(0x164)+_0x347a9b['map'](_0x45c5c6=>_0x45c5c6['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x59cf01[_0x3e8f2b(0x115)]){console[_0x3e8f2b(0x130)](_0x3e8f2b(0x174));for(const _0x4d0c4f of _0x59cf01['canonicalFlow']['split']('\x0a')){console['log'](_0x3e8f2b(0xb2)+_0x4d0c4f);}}}else console['log'](_0x3e8f2b(0xd7)+(_0x4b5a9f+0x1)+_0x3e8f2b(0x15c)+_0x196c4f['description']+'\x22'+_0xf005c2+_0x3e8f2b(0x15e)),console[_0x3e8f2b(0x130)](_0x3e8f2b(0xfe));console[_0x3e8f2b(0x130)]('');}}export async function featureDelete(_0x20594e){const _0x13a523=_0x1f6b22,_0xcd26b4={'uNAUR':function(_0x206e10){return _0x206e10();},'HoYBQ':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x26311e=_0x20594e||await _0xcd26b4[_0x13a523(0xd4)](getActiveFeatureId);if(!_0x26311e)throw new Error(_0x13a523(0x136));const _0x199d6c=await getFeature(_0x26311e);await softDeleteFeature(_0x26311e),console[_0x13a523(0x130)](_0x13a523(0x10a)+_0x199d6c[_0x13a523(0x163)]+'\x20('+_0x26311e+')'),console['log'](_0xcd26b4[_0x13a523(0x12b)]+_0x26311e);}export async function featureRestore(_0x37b638){const _0x316a98=_0x1f6b22,_0x22457e={'ACCnU':function(_0x473cd4,_0x28ca84){return _0x473cd4(_0x28ca84);}};await _0x22457e['ACCnU'](restoreFeature,_0x37b638);const _0x1460be=await getFeature(_0x37b638);console[_0x316a98(0x130)](_0x316a98(0xb3)+_0x1460be[_0x316a98(0x163)]+'\x20('+_0x37b638+')'),displayFeature(_0x1460be,_0x1460be['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 _0x2665(_0x3cc1fe,_0xd25186){_0x3cc1fe=_0x3cc1fe-0x1ef;const _0x391b61=_0x391b();let _0x26658b=_0x391b61[_0x3cc1fe];return _0x26658b;}(function(_0x68dbc6,_0x4985e2){const _0x108470=_0x2665,_0x1d4e6d=_0x68dbc6();while(!![]){try{const _0x3a520a=-parseInt(_0x108470(0x1f4))/0x1+parseInt(_0x108470(0x1f1))/0x2+-parseInt(_0x108470(0x1ef))/0x3+-parseInt(_0x108470(0x1f2))/0x4+parseInt(_0x108470(0x1f5))/0x5+-parseInt(_0x108470(0x1f6))/0x6*(-parseInt(_0x108470(0x1f8))/0x7)+parseInt(_0x108470(0x1f7))/0x8;if(_0x3a520a===_0x4985e2)break;else _0x1d4e6d['push'](_0x1d4e6d['shift']());}catch(_0x5e049e){_0x1d4e6d['push'](_0x1d4e6d['shift']());}}}(_0x391b,0x32761));function _0x391b(){const _0x306a72=['7Fidxdx','706149GrtcdZ','error','766022LJnqFC','840956UDRfqu','Unknown\x20hook:\x20','385992IsLeaO','445355RzYdol','582834UJYiIe','3752656HbhgAq'];_0x391b=function(){return _0x306a72;};return _0x391b();}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};export async function hook(_0x395350,_0x1c5c65){const _0xd529a4=_0x2665,_0x42cc2e={'CvwOJ':function(_0x418ac7,_0x666de8){return _0x418ac7(_0x666de8);}},_0x42da4c=HOOKS[_0x395350];if(!_0x42da4c){const _0x22d0d9=Object['keys'](HOOKS)['join'](',\x20');console[_0xd529a4(0x1f0)](_0xd529a4(0x1f3)+_0x395350),console['error']('Valid\x20hooks:\x20'+_0x22d0d9),process['exit'](0x1);}await _0x42cc2e['CvwOJ'](_0x42da4c,_0x1c5c65);}
@@ -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 _0x5b1f1a=_0x18a5;function _0x18a5(_0x550100,_0xfbd260){_0x550100=_0x550100-0x1ed;const _0x5e253b=_0x5e25();let _0x18a5be=_0x5e253b[_0x550100];return _0x18a5be;}(function(_0x3ebd49,_0x3f65e5){const _0x53d35f=_0x18a5,_0x48ccb6=_0x3ebd49();while(!![]){try{const _0x38878c=-parseInt(_0x53d35f(0x1fb))/0x1+-parseInt(_0x53d35f(0x1f7))/0x2*(parseInt(_0x53d35f(0x1f5))/0x3)+parseInt(_0x53d35f(0x1ed))/0x4*(parseInt(_0x53d35f(0x1f0))/0x5)+-parseInt(_0x53d35f(0x1f4))/0x6*(-parseInt(_0x53d35f(0x1f3))/0x7)+parseInt(_0x53d35f(0x1ef))/0x8*(-parseInt(_0x53d35f(0x1fa))/0x9)+-parseInt(_0x53d35f(0x1ee))/0xa+-parseInt(_0x53d35f(0x1f6))/0xb*(-parseInt(_0x53d35f(0x1f9))/0xc);if(_0x38878c===_0x3f65e5)break;else _0x48ccb6['push'](_0x48ccb6['shift']());}catch(_0xb93d96){_0x48ccb6['push'](_0x48ccb6['shift']());}}}(_0x5e25,0x57e76));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x5b1f1a(0x1f1);export async function autoPrompt(){const _0x3b8beb=_0x5b1f1a,_0x3880f4={'XqhYY':function(_0x4e40c8,_0x326f79){return _0x4e40c8(_0x326f79);}},_0xf97b0=await readHookInput(),_0x3c5205=_0xf97b0?.[_0x3b8beb(0x1f8)];if(!_0x3c5205)return;if(_0x3880f4['XqhYY'](isSessionEnabled,_0x3c5205)||hasSessionBeenPrompted(_0x3c5205))return;markSessionPrompted(_0x3c5205),console[_0x3b8beb(0x1f2)](AUTO_PROMPT_TEXT);}function _0x5e25(){const _0x3322b7=['259nZrrQg','54996OLGRij','124293FNNoOx','11383537xwuUDD','12KEdXIj','session_id','12szrJMS','567yAKVFJ','210056RSXYES','4kTtJaV','6015670MGypSW','6272NFEQhJ','478230znnbjG','\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.','log'];_0x5e25=function(){return _0x3322b7;};return _0x5e25();}
@@ -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(_0x1bac54,_0x7ea054){const _0x5ab40b=_0x1db5,_0x288935=_0x1bac54();while(!![]){try{const _0x1a80a1=parseInt(_0x5ab40b(0x1c5))/0x1+parseInt(_0x5ab40b(0x1b8))/0x2+parseInt(_0x5ab40b(0x1c4))/0x3+parseInt(_0x5ab40b(0x1bd))/0x4*(-parseInt(_0x5ab40b(0x1bc))/0x5)+-parseInt(_0x5ab40b(0x1c8))/0x6*(parseInt(_0x5ab40b(0x1c6))/0x7)+parseInt(_0x5ab40b(0x1c3))/0x8+parseInt(_0x5ab40b(0x1bb))/0x9;if(_0x1a80a1===_0x7ea054)break;else _0x288935['push'](_0x288935['shift']());}catch(_0x5eb63e){_0x288935['push'](_0x288935['shift']());}}}(_0x1d96,0xcd3fe));function _0x1db5(_0x1cd02c,_0x98e8f3){_0x1cd02c=_0x1cd02c-0x1b6;const _0x1d966e=_0x1d96();let _0x1db54f=_0x1d966e[_0x1cd02c];return _0x1db54f;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x33bd4f){const _0x4582c9=_0x1db5,_0x40448d={'daqGE':_0x4582c9(0x1c9),'brsuc':function(_0x3b8820,_0x287c5c){return _0x3b8820(_0x287c5c);},'bRvbj':function(_0x38ca21){return _0x38ca21();},'KRAvr':function(_0xba8ef6,_0x3cd3b9){return _0xba8ef6!==_0x3cd3b9;},'yNqxK':'main','gxOhr':function(_0x50b0cc,_0x139440){return _0x50b0cc!==_0x139440;},'malKh':'master','Giubi':function(_0x441edd,_0x1a8a28){return _0x441edd(_0x1a8a28);}},_0x67d15=_0x33bd4f||process['env']['CLAUDE_SESSION_ID']||'';!_0x67d15&&(console[_0x4582c9(0x1b7)](_0x4582c9(0x1ba)),console[_0x4582c9(0x1b7)](_0x40448d[_0x4582c9(0x1bf)]),process['exit'](0x1));_0x40448d['brsuc'](disableSession,_0x67d15);const _0xc45688=_0x40448d['bRvbj'](getCurrentBranch);_0xc45688&&_0x40448d[_0x4582c9(0x1c7)](_0xc45688,_0x40448d[_0x4582c9(0x1c0)])&&_0x40448d[_0x4582c9(0x1c2)](_0xc45688,_0x40448d[_0x4582c9(0x1b6)])&&_0x40448d[_0x4582c9(0x1b9)](disableBranch,_0xc45688),_0x40448d['brsuc'](printBlock,_0x4582c9(0x1c1)+(_0xc45688&&_0x40448d['KRAvr'](_0xc45688,'main')&&_0xc45688!==_0x40448d['malKh']?_0x4582c9(0x1be)+_0xc45688+'\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`.');}function _0x1d96(){const _0x463edd=['5507880nJHoHJ','1645407ckGuMG','367134sBWCBO','7VvgvzA','KRAvr','9368124CnRDyX','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','malKh','error','1883722cRZmXF','Giubi','Error:\x20No\x20session\x20ID\x20available.','11919456cltiPD','7341385golRhN','4MjcqhW','\x20and\x20branch\x20\x27','daqGE','yNqxK','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','gxOhr'];_0x1d96=function(){return _0x463edd;};return _0x1d96();}
@@ -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(_0xfbd7fa,_0x391a05){const _0x23a8c2=_0x24ba,_0x5db507=_0xfbd7fa();while(!![]){try{const _0x36f595=-parseInt(_0x23a8c2(0x192))/0x1+parseInt(_0x23a8c2(0x188))/0x2*(-parseInt(_0x23a8c2(0x193))/0x3)+parseInt(_0x23a8c2(0x18e))/0x4+parseInt(_0x23a8c2(0x1a0))/0x5*(parseInt(_0x23a8c2(0x18b))/0x6)+-parseInt(_0x23a8c2(0x18d))/0x7+parseInt(_0x23a8c2(0x19e))/0x8*(-parseInt(_0x23a8c2(0x191))/0x9)+parseInt(_0x23a8c2(0x195))/0xa;if(_0x36f595===_0x391a05)break;else _0x5db507['push'](_0x5db507['shift']());}catch(_0x5e4dbb){_0x5db507['push'](_0x5db507['shift']());}}}(_0x29d8,0x58d09));function _0x29d8(){const _0x4d8c8f=['ranger\x20setup\x20--opencode','YWdTr','423204bXAteU','noCMj','4164825WjXHLA','2418048dmLgns','#\x20RANGER\x20ENABLED','error','3005523SOWcIs','630917qOcaLy','215394rRgtSu','ranger\x20setup','7561040vwjCIW','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','exit','master','gDWhY','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','fcGTp','env','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','8kHODFo','tLvGx','45ZUhyZT','AfIPp','#\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`','2EZIFuk'];_0x29d8=function(){return _0x4d8c8f;};return _0x29d8();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x24ba(_0x585ab6,_0x4bd0a6){_0x585ab6=_0x585ab6-0x188;const _0x29d872=_0x29d8();let _0x24ba00=_0x29d872[_0x585ab6];return _0x24ba00;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x2c86f5){const _0xffcb8a=_0x24ba,_0x4e12a5={'AfIPp':function(_0x3f28af,_0x260124){return _0x3f28af(_0x260124);},'tLvGx':function(_0xc3059a){return _0xc3059a();},'noCMj':_0xffcb8a(0x19a),'fcGTp':function(_0x1bca40,_0x1ad2b4){return _0x1bca40!==_0x1ad2b4;},'gDWhY':_0xffcb8a(0x198),'YWdTr':function(_0x7cfe66){return _0x7cfe66();},'jMLRb':function(_0x2e3cab,_0x1dbfc5){return _0x2e3cab(_0x1dbfc5);}},_0x217a28=_0x2c86f5||process[_0xffcb8a(0x19c)]['CLAUDE_SESSION_ID']||'';!_0x217a28&&(console['error']('Error:\x20No\x20session\x20ID\x20available.'),console[_0xffcb8a(0x190)]('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process[_0xffcb8a(0x197)](0x1));const _0x26cd65=_0x4e12a5['AfIPp'](Boolean,_0x2c86f5),_0x29fecf=await _0x4e12a5[_0xffcb8a(0x19f)](getToken);if(!_0x29fecf){const _0x3cb5c5=_0x26cd65?_0xffcb8a(0x189):_0xffcb8a(0x194),_0x40c42d=_0x26cd65?_0x4e12a5[_0xffcb8a(0x18c)]:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x4e12a5[_0xffcb8a(0x1a1)](printBlock,_0xffcb8a(0x1a2)+_0x3cb5c5+_0xffcb8a(0x196)+_0x40c42d);return;}try{await update();}catch{}enableSession(_0x217a28);const _0x309081=_0x4e12a5['tLvGx'](getCurrentBranch),_0x3e7e91=_0x309081&&_0x4e12a5['fcGTp'](_0x309081,'main')&&_0x4e12a5[_0xffcb8a(0x19b)](_0x309081,_0x4e12a5[_0xffcb8a(0x199)])?'\x0a\x0a**Branch\x20\x27'+_0x309081+_0xffcb8a(0x19d):'',_0x5264a5=_0x4e12a5[_0xffcb8a(0x18a)](getRangerSkillContent);_0x4e12a5['jMLRb'](printBlock,_0xffcb8a(0x18f)+_0x3e7e91+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x5264a5+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
@@ -1 +1 @@
1
- function _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 _0x5874(){const _0x501399=['4UHUrWQ','1076373kNGILo','===\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===','480764XGtucr','104iRCVqm','441927nPeWnx','1123301lTksGF','4809180uLxRkH','5081020RHNLxC','5052754mXNyIq'];_0x5874=function(){return _0x501399;};return _0x5874();}function _0x3733(_0x453318,_0x1cab04){_0x453318=_0x453318-0x1c7;const _0x5874a9=_0x5874();let _0x373382=_0x5874a9[_0x453318];return _0x373382;}(function(_0x4ea9f1,_0x22bb14){const _0x2a9d4c=_0x3733,_0x1a294b=_0x4ea9f1();while(!![]){try{const _0x3cfff6=-parseInt(_0x2a9d4c(0x1cc))/0x1+-parseInt(_0x2a9d4c(0x1c9))/0x2+parseInt(_0x2a9d4c(0x1c7))/0x3+-parseInt(_0x2a9d4c(0x1d0))/0x4*(-parseInt(_0x2a9d4c(0x1ce))/0x5)+-parseInt(_0x2a9d4c(0x1cd))/0x6+parseInt(_0x2a9d4c(0x1cf))/0x7+-parseInt(_0x2a9d4c(0x1ca))/0x8*(-parseInt(_0x2a9d4c(0x1cb))/0x9);if(_0x3cfff6===_0x22bb14)break;else _0x1a294b['push'](_0x1a294b['shift']());}catch(_0xc46237){_0x1a294b['push'](_0x1a294b['shift']());}}}(_0x5874,0x8b257));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x2e8d0a){const _0x4cdd2e=_0x3733,_0x20aa4b={'lQuoT':function(_0x39c958,_0xa0bac7){return _0x39c958(_0xa0bac7);}},_0x424e3d=await getEnabledSessionId(_0x2e8d0a);if(!_0x424e3d)return;_0x20aa4b['lQuoT'](printBlock,_0x4cdd2e(0x1c8));}
@@ -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(_0x1c58c4,_0xdf97cf){var _0x47fd69=_0x4dac,_0x2987b6=_0x1c58c4();while(!![]){try{var _0x40cfc8=parseInt(_0x47fd69(0xb7))/0x1+parseInt(_0x47fd69(0xb6))/0x2+-parseInt(_0x47fd69(0xba))/0x3*(-parseInt(_0x47fd69(0xbb))/0x4)+-parseInt(_0x47fd69(0xb0))/0x5*(parseInt(_0x47fd69(0xb9))/0x6)+parseInt(_0x47fd69(0xb2))/0x7*(-parseInt(_0x47fd69(0xb8))/0x8)+parseInt(_0x47fd69(0xb3))/0x9*(-parseInt(_0x47fd69(0xb1))/0xa)+-parseInt(_0x47fd69(0xb5))/0xb*(-parseInt(_0x47fd69(0xb4))/0xc);if(_0x40cfc8===_0xdf97cf)break;else _0x2987b6['push'](_0x2987b6['shift']());}catch(_0x2c03b1){_0x2987b6['push'](_0x2987b6['shift']());}}}(_0x2a43,0x368b1));function _0x4dac(_0x478107,_0x57600d){_0x478107=_0x478107-0xb0;var _0x2a4346=_0x2a43();var _0x4daca0=_0x2a4346[_0x478107];return _0x4daca0;}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x2a43(){var _0x4f888b=['301SEtRmR','9CYtTqW','2694468BHlFAX','22qZfxNS','153302KXXINs','80700rvtjyo','4424GrfDOZ','1058616UqDCrO','264876YXAAdl','4bgoMpF','5ZODTnl','2710970UVwzvL'];_0x2a43=function(){return _0x4f888b;};return _0x2a43();}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(_0xd08c03,_0xf4fdce){const _0x10bcd7=_0x42c6,_0x535a76=_0xd08c03();while(!![]){try{const _0x3b53b0=-parseInt(_0x10bcd7(0x79))/0x1*(parseInt(_0x10bcd7(0x78))/0x2)+parseInt(_0x10bcd7(0x75))/0x3+-parseInt(_0x10bcd7(0x76))/0x4*(-parseInt(_0x10bcd7(0x74))/0x5)+-parseInt(_0x10bcd7(0x77))/0x6+parseInt(_0x10bcd7(0x7f))/0x7+parseInt(_0x10bcd7(0x7b))/0x8*(-parseInt(_0x10bcd7(0x7c))/0x9)+parseInt(_0x10bcd7(0x7e))/0xa;if(_0x3b53b0===_0xf4fdce)break;else _0x535a76['push'](_0x535a76['shift']());}catch(_0xbb813d){_0x535a76['push'](_0x535a76['shift']());}}}(_0x5214,0xb7012));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1b7282){const _0x4118bf=_0x42c6;console[_0x4118bf(0x7d)](_0x1b7282);}export async function readHookInput(){const _0x1e0672=_0x42c6;let _0x4166e8='';for await(const _0x13f202 of process[_0x1e0672(0x81)]){_0x4166e8+=_0x13f202;}try{return JSON['parse'](_0x4166e8);}catch{return null;}}function _0x42c6(_0x1f00b4,_0x146156){_0x1f00b4=_0x1f00b4-0x74;const _0x5214af=_0x5214();let _0x42c672=_0x5214af[_0x1f00b4];return _0x42c672;}function _0x5214(){const _0x2023f2=['1860LAcykC','session_id','24ZWQolC','3375279AdnmLm','log','11364890IpBvkq','1149183mRJCde','rZUHy','stdin','200455OvWNEG','197271XAQjBg','104kLhUyx','2066292jNAFKr','204qVuymg'];_0x5214=function(){return _0x2023f2;};return _0x5214();}export async function getEnabledSessionId(_0x23a3da){const _0x1f604f=_0x42c6,_0x56786e={'rZUHy':function(_0x50f254,_0x175bd9){return _0x50f254(_0x175bd9);},'REjZC':function(_0x5a365b){return _0x5a365b();}};if(_0x23a3da)return _0x56786e['rZUHy'](isSessionEnabled,_0x23a3da)?_0x23a3da:null;const _0x15e84b=await _0x56786e['REjZC'](readHookInput),_0x4fb9c9=_0x15e84b?.[_0x1f604f(0x7a)];if(!_0x4fb9c9||!_0x56786e[_0x1f604f(0x80)](isSessionEnabled,_0x4fb9c9))return null;return _0x4fb9c9;}export async function getEnabledHookContext(_0x25f8b0){const _0x2072b3={'BKeiY':function(_0x603e7e,_0x4cbd69){return _0x603e7e(_0x4cbd69);}};if(_0x25f8b0){if(!_0x2072b3['BKeiY'](isSessionEnabled,_0x25f8b0))return null;return{'sessionId':_0x25f8b0,'input':{'session_id':_0x25f8b0}};}const _0x546347=await readHookInput(),_0x554bb5=_0x546347?.['session_id'];if(!_0x554bb5||!isSessionEnabled(_0x554bb5))return null;return{'sessionId':_0x554bb5,'input':_0x546347};}
@@ -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(_0x31e7f2,_0x44f77e){const _0x12d16e=_0x4f49,_0x2ddcb1=_0x31e7f2();while(!![]){try{const _0x34bce0=-parseInt(_0x12d16e(0x11f))/0x1+parseInt(_0x12d16e(0x121))/0x2+parseInt(_0x12d16e(0x11c))/0x3*(parseInt(_0x12d16e(0x11d))/0x4)+-parseInt(_0x12d16e(0x119))/0x5+parseInt(_0x12d16e(0x11a))/0x6*(parseInt(_0x12d16e(0x120))/0x7)+parseInt(_0x12d16e(0x11b))/0x8+-parseInt(_0x12d16e(0x11e))/0x9;if(_0x34bce0===_0x44f77e)break;else _0x2ddcb1['push'](_0x2ddcb1['shift']());}catch(_0x8240c4){_0x2ddcb1['push'](_0x2ddcb1['shift']());}}}(_0x31b0,0x98a6f));import{printBlock,getEnabledHookContext}from'./output.js';function _0x31b0(){const _0x456f1a=['504866pktcTn','permission_mode','1607730TBxZfT','1246698BOfFRK','2800272eOZSZS','3lkqjhi','2238664RgjJFd','1610856IlSyml','244123SpeCeh','7wRZbgL'];_0x31b0=function(){return _0x456f1a;};return _0x31b0();}function _0x4f49(_0x5f5323,_0x18ced2){_0x5f5323=_0x5f5323-0x119;const _0x31b0fd=_0x31b0();let _0x4f4922=_0x31b0fd[_0x5f5323];return _0x4f4922;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x41082e){const _0x2e4eb6=_0x4f49,_0x202f3c={'PXpMA':function(_0x1750e3,_0x240d70){return _0x1750e3(_0x240d70);}},_0x5183ac=await _0x202f3c['PXpMA'](getEnabledHookContext,_0x41082e);if(!_0x5183ac)return;if(_0x5183ac['input'][_0x2e4eb6(0x122)]!=='plan')return;if(!shouldShowPlanReminder(_0x5183ac['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- function _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 _0x5386(_0xbec180,_0x2be8c9){_0xbec180=_0xbec180-0xff;const _0x26ea2d=_0x26ea();let _0x53864c=_0x26ea2d[_0xbec180];return _0x53864c;}(function(_0x37e400,_0x345388){const _0x51a22f=_0x5386,_0x5729c4=_0x37e400();while(!![]){try{const _0x337252=parseInt(_0x51a22f(0x106))/0x1+parseInt(_0x51a22f(0x101))/0x2+-parseInt(_0x51a22f(0x107))/0x3*(-parseInt(_0x51a22f(0x100))/0x4)+-parseInt(_0x51a22f(0x103))/0x5+-parseInt(_0x51a22f(0xff))/0x6+-parseInt(_0x51a22f(0x104))/0x7+parseInt(_0x51a22f(0x105))/0x8*(parseInt(_0x51a22f(0x102))/0x9);if(_0x337252===_0x345388)break;else _0x5729c4['push'](_0x5729c4['shift']());}catch(_0x4e1d69){_0x5729c4['push'](_0x5729c4['shift']());}}}(_0x26ea,0x1e607));import{printBlock,getEnabledSessionId}from'./output.js';function _0x26ea(){const _0x5900e2=['1094702FfjJRl','990064RFNiEV','168319rKfbGt','6hOrKNP','1177278bSYTUa','17212JGsSey','68966jEmrEk','27ySDlNR','528300ixkuyf'];_0x26ea=function(){return _0x5900e2;};return _0x26ea();}export async function planStart(_0x3ea887){const _0x1008e9={'VFdJM':function(_0x2c1db0,_0xb906dc){return _0x2c1db0(_0xb906dc);}},_0x3a50ef=await getEnabledSessionId(_0x3ea887);if(!_0x3a50ef)return;_0x1008e9['VFdJM'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_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(_0x46034a,_0xe2769c){const _0x5600ef=_0x90df,_0x5271f5=_0x46034a();while(!![]){try{const _0x37b439=parseInt(_0x5600ef(0xc2))/0x1+-parseInt(_0x5600ef(0xc4))/0x2+-parseInt(_0x5600ef(0xc1))/0x3*(parseInt(_0x5600ef(0xcb))/0x4)+parseInt(_0x5600ef(0xc8))/0x5*(-parseInt(_0x5600ef(0xc7))/0x6)+parseInt(_0x5600ef(0xcc))/0x7+parseInt(_0x5600ef(0xc5))/0x8*(parseInt(_0x5600ef(0xc0))/0x9)+-parseInt(_0x5600ef(0xca))/0xa*(-parseInt(_0x5600ef(0xc3))/0xb);if(_0x37b439===_0xe2769c)break;else _0x5271f5['push'](_0x5271f5['shift']());}catch(_0x5b2f17){_0x5271f5['push'](_0x5271f5['shift']());}}}(_0x11fc,0x403fe));function _0x11fc(){const _0x213e66=['217089LxoNYs','3JKaTNs','50111YsgyIe','15136PlXlem','948288SFIZuS','40FnnJjT','stringify','1560012iGDgfJ','5mVzBDi','log','7420ZacoIA','965384GbJRQd','328650bBXnPT'];_0x11fc=function(){return _0x213e66;};return _0x11fc();}function _0x90df(_0x4b7a11,_0x1a2058){_0x4b7a11=_0x4b7a11-0xc0;const _0x11fc20=_0x11fc();let _0x90df2a=_0x11fc20[_0x4b7a11];return _0x90df2a;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x52d0e1){const _0x446519=_0x90df,_0x21b484={'bCiSe':function(_0x391fc1,_0xc4173c){return _0x391fc1(_0xc4173c);},'Gbtrt':function(_0x31b094){return _0x31b094();}},_0x258f86=await _0x21b484['bCiSe'](getEnabledSessionId,_0x52d0e1);if(!_0x258f86)return;updateBranchTracking(_0x258f86);const _0x34fff5=await _0x21b484['Gbtrt'](getToken);if(!_0x34fff5)return;const _0x8121ce=getSessionEntry(_0x258f86);if(_0x8121ce){const _0x2ac2d8={'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[_0x446519(0xc9)](JSON[_0x446519(0xc6)](_0x2ac2d8));return;}const _0x2ceed4={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console[_0x446519(0xc9)](JSON['stringify'](_0x2ceed4));}
@@ -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 _0x5caf(_0x10f720,_0x3d821b){_0x10f720=_0x10f720-0x9e;const _0x54487a=_0x5448();let _0x5cafad=_0x54487a[_0x10f720];return _0x5cafad;}(function(_0x3c4784,_0x12f498){const _0x203a6c=_0x5caf,_0xcda491=_0x3c4784();while(!![]){try{const _0x5c50e5=-parseInt(_0x203a6c(0xa2))/0x1*(parseInt(_0x203a6c(0xa8))/0x2)+parseInt(_0x203a6c(0xa3))/0x3+parseInt(_0x203a6c(0xa7))/0x4*(parseInt(_0x203a6c(0xa5))/0x5)+-parseInt(_0x203a6c(0xa9))/0x6+parseInt(_0x203a6c(0x9e))/0x7*(-parseInt(_0x203a6c(0xa6))/0x8)+parseInt(_0x203a6c(0xa4))/0x9+parseInt(_0x203a6c(0x9f))/0xa*(parseInt(_0x203a6c(0xa1))/0xb);if(_0x5c50e5===_0x12f498)break;else _0xcda491['push'](_0xcda491['shift']());}catch(_0x171c1f){_0xcda491['push'](_0xcda491['shift']());}}}(_0x5448,0x21c26));function _0x5448(){const _0x1e3654=['2177FgGOIE','20SnZjTQ','===\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`.','970750eAcoDp','219787prKcPu','547806ZrwUej','999531EDCAQe','5jHUygO','304VOURns','121484bBCJbS','2kIGfsG','783894zSzlEA'];_0x5448=function(){return _0x1e3654;};return _0x5448();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x410e01){const _0x2679bc=_0x5caf,_0x275d65={'CeIKi':function(_0x2b312d,_0x51ee26){return _0x2b312d(_0x51ee26);},'KdxXo':function(_0x491715){return _0x491715();}},_0xa7d0c3=await _0x275d65['CeIKi'](getEnabledSessionId,_0x410e01);if(!_0xa7d0c3)return;try{const _0x4223bb=await _0x275d65['KdxXo'](getToken);if(!_0x4223bb)return;printBlock(_0x2679bc(0xa0));}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 _0x1071(){const _0x42ee64=['wUNEB','4273rWFExX','470viwOqC','256974nfkqYU','10PNqOVn','29316MgLQpS','BfBIU','session_id','225995oruHbs','7839pXZOZf','1279656XZWlto','3TTGotV','500416LYSpTc','38GJyfGP'];_0x1071=function(){return _0x42ee64;};return _0x1071();}(function(_0x275982,_0x336554){const _0x2fbf46=_0x1c94,_0x5de8c3=_0x275982();while(!![]){try{const _0x30625b=parseInt(_0x2fbf46(0x160))/0x1*(parseInt(_0x2fbf46(0x15e))/0x2)+parseInt(_0x2fbf46(0x15c))/0x3*(parseInt(_0x2fbf46(0x164))/0x4)+-parseInt(_0x2fbf46(0x163))/0x5*(-parseInt(_0x2fbf46(0x162))/0x6)+parseInt(_0x2fbf46(0x15d))/0x7+-parseInt(_0x2fbf46(0x15b))/0x8+parseInt(_0x2fbf46(0x15a))/0x9*(parseInt(_0x2fbf46(0x161))/0xa)+-parseInt(_0x2fbf46(0x159))/0xb;if(_0x30625b===_0x336554)break;else _0x5de8c3['push'](_0x5de8c3['shift']());}catch(_0x454a0c){_0x5de8c3['push'](_0x5de8c3['shift']());}}}(_0x1071,0x19e71));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x1c94(_0x3ea10c,_0x58a352){_0x3ea10c=_0x3ea10c-0x157;const _0x1071a9=_0x1071();let _0x1c947e=_0x1071a9[_0x3ea10c];return _0x1c947e;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x1cd23a){const _0x49e3a0=_0x1c94,_0x2bf305={'rUize':function(_0x388b87){return _0x388b87();},'BfBIU':function(_0x17ecf6,_0x2b3700){return _0x17ecf6===_0x2b3700;},'wUNEB':'clear'};let _0x2bb141=_0x1cd23a,_0x1666f4;if(!_0x1cd23a){const _0x50ad6c=await _0x2bf305['rUize'](readHookInput);_0x2bb141=_0x50ad6c?.[_0x49e3a0(0x158)],_0x1666f4=_0x50ad6c?.['reason'];}if(!_0x2bb141)return;_0x2bf305[_0x49e3a0(0x157)](_0x1666f4,_0x2bf305[_0x49e3a0(0x15f)])&&recordEnabledSessionCleared(_0x2bb141);}
@@ -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 _0x2a30(){const _0xf49158=['env','jFVVa','export\x20CLAUDE_SESSION_ID=\x22','SessionStart','428082paVwrl','CLAUDE_ENV_FILE','3870hALtrR','source','2485895wZhsjb','log','2030292MUpRXK','JTEWg','trackCommandEnd','71096pXCSSf','3353700TMJUJw','70164ckOwMQ','main','4GBqLhv','21nqeHeK','XMiZC','zOnCP','3096102JDoErw'];_0x2a30=function(){return _0xf49158;};return _0x2a30();}(function(_0x10a039,_0xbf1fca){const _0x43b1af=_0x5904,_0x25cd8c=_0x10a039();while(!![]){try{const _0x220f3f=parseInt(_0x43b1af(0x118))/0x1*(-parseInt(_0x43b1af(0x10b))/0x2)+-parseInt(_0x43b1af(0x11c))/0x3+-parseInt(_0x43b1af(0x111))/0x4+parseInt(_0x43b1af(0x10f))/0x5+-parseInt(_0x43b1af(0x115))/0x6+parseInt(_0x43b1af(0x119))/0x7*(-parseInt(_0x43b1af(0x114))/0x8)+-parseInt(_0x43b1af(0x116))/0x9*(-parseInt(_0x43b1af(0x10d))/0xa);if(_0x220f3f===_0xbf1fca)break;else _0x25cd8c['push'](_0x25cd8c['shift']());}catch(_0x1a0855){_0x25cd8c['push'](_0x25cd8c['shift']());}}}(_0x2a30,0x82171));import{appendFile}from'fs/promises';function _0x5904(_0x30b1f2,_0xad9cac){_0x30b1f2=_0x30b1f2-0x109;const _0x2a30b6=_0x2a30();let _0x5904df=_0x2a30b6[_0x30b1f2];return _0x5904df;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x199ddc){const _0x400c81=_0x5904,_0x179e68={'VtXKX':'session_id','zOnCP':function(_0x528625,_0x17c3ae,_0x3ac87c){return _0x528625(_0x17c3ae,_0x3ac87c);},'lsTUH':function(_0x4556c6,_0xd5b7a0){return _0x4556c6(_0xd5b7a0);},'UKiNs':'hook:session-start','aegMM':function(_0x13bf55,_0x5844e6){return _0x13bf55!==_0x5844e6;},'JTEWg':function(_0x2f78b0,_0x24e2e8){return _0x2f78b0!==_0x24e2e8;},'jFVVa':'master','XMiZC':_0x400c81(0x10a)};let _0x5b72a4=_0x199ddc||'',_0xd4b486;if(!_0x199ddc){let _0x45471f='';for await(const _0x5d3ccb of process['stdin']){_0x45471f+=_0x5d3ccb;}try{const _0x3e182f=JSON['parse'](_0x45471f);_0x5b72a4=_0x3e182f[_0x179e68['VtXKX']]||'',_0xd4b486=_0x3e182f[_0x400c81(0x10e)];}catch{}const _0x4449b0=process[_0x400c81(0x11d)][_0x400c81(0x10c)];if(_0x4449b0&&_0x5b72a4)try{await _0x179e68[_0x400c81(0x11b)](appendFile,_0x4449b0,_0x400c81(0x109)+_0x5b72a4+'\x22\x0a');}catch{}}if(_0x5b72a4){shouldAutoEnableAfterClear(_0xd4b486)&&autoEnableAfterClear(_0x5b72a4);initBranchTracking(_0x5b72a4);const _0x333ad0=_0x179e68['lsTUH'](isSessionEnabled,_0x5b72a4);try{const _0x4ae639=createTelemetryCollector(_0x179e68['UKiNs']);await _0x4ae639['trackCommandStart']({'sessionId':_0x5b72a4,'hooksEnabled':_0x333ad0}),await _0x4ae639[_0x400c81(0x113)]('success');}catch{}if(_0x333ad0){const _0x2cbeed=getCurrentBranch(),_0x24a265=_0x2cbeed&&_0x179e68['aegMM'](_0x2cbeed,_0x400c81(0x117))&&_0x179e68[_0x400c81(0x112)](_0x2cbeed,_0x179e68[_0x400c81(0x11e)])?'\x20(Branch:\x20'+_0x2cbeed+')':'',_0x1b8cf4={'hookSpecificOutput':{'hookEventName':_0x179e68[_0x400c81(0x11a)],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x24a265}};console[_0x400c81(0x110)](JSON['stringify'](_0x1b8cf4));}}}