@ranger-testing/ranger-cli 2.4.1 → 2.4.3

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 (70) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/agentEnv.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/playwrightCli.js +1 -1
  52. package/build/commands/utils/profileMessages.js +1 -1
  53. package/build/commands/utils/profileSetupBanner.js +1 -1
  54. package/build/commands/utils/rangerConfig.js +1 -1
  55. package/build/commands/utils/rangerRoot.js +1 -1
  56. package/build/commands/utils/reportGenerator.js +1 -1
  57. package/build/commands/utils/retry.js +1 -1
  58. package/build/commands/utils/sessionCache.js +1 -1
  59. package/build/commands/utils/settings.js +1 -1
  60. package/build/commands/utils/skillContent.js +1 -1
  61. package/build/commands/utils/skills.js +1 -1
  62. package/build/commands/utils/stitchWebmFiles.js +1 -1
  63. package/build/commands/utils/telemetry.js +1 -1
  64. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  65. package/build/commands/utils/userApi.js +1 -1
  66. package/build/commands/utils/version.js +1 -1
  67. package/build/commands/verifyFeature.js +1 -1
  68. package/build/commands/verifyFeatureCli.js +1 -1
  69. package/build/commands/verifyInBrowser.js +1 -1
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x18f45b=_0x484c;(function(_0x54d901,_0x374251){const _0x5b4b83=_0x484c,_0x423e58=_0x54d901();while(!![]){try{const _0x356b08=parseInt(_0x5b4b83(0xc0))/0x1+-parseInt(_0x5b4b83(0xd3))/0x2*(-parseInt(_0x5b4b83(0xcf))/0x3)+parseInt(_0x5b4b83(0xc5))/0x4*(parseInt(_0x5b4b83(0xca))/0x5)+-parseInt(_0x5b4b83(0xd4))/0x6*(parseInt(_0x5b4b83(0xc7))/0x7)+-parseInt(_0x5b4b83(0xd8))/0x8+-parseInt(_0x5b4b83(0xc2))/0x9*(parseInt(_0x5b4b83(0xd1))/0xa)+parseInt(_0x5b4b83(0xbf))/0xb;if(_0x356b08===_0x374251)break;else _0x423e58['push'](_0x423e58['shift']());}catch(_0x539687){_0x423e58['push'](_0x423e58['shift']());}}}(_0x4568,0xd0519));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x18f45b(0xbd)];function parseValue(_0x4355d1,_0xf93e9f){const _0x101a0c=_0x18f45b,_0x32873b={'SUshy':function(_0x1005c5,_0x593d5d){return _0x1005c5===_0x593d5d;},'UXdNj':function(_0x54ea60,_0x314e8d){return _0x54ea60===_0x314e8d;},'mROLk':'false'};if(BOOLEAN_KEYS['includes'](_0x4355d1)){if(_0x32873b[_0x101a0c(0xd0)](_0xf93e9f,'true'))return!![];if(_0x32873b['UXdNj'](_0xf93e9f,_0x32873b[_0x101a0c(0xd7)]))return![];throw new Error(_0x101a0c(0xc4)+_0x4355d1+_0x101a0c(0xc3));}return _0xf93e9f;}export async function configSet(_0x3c8fa9,_0x5d4575,_0x43a2ac){const _0x37d27d=_0x18f45b,_0x11f5dc={'skOqS':function(_0x3f6bd8,_0x3cca28){return _0x3f6bd8(_0x3cca28);},'kkkWk':function(_0x3a815d,_0x148850,_0x2dd25b){return _0x3a815d(_0x148850,_0x2dd25b);},'ONQzU':function(_0x32cf7c,_0x3f888a,_0x3a4125){return _0x32cf7c(_0x3f888a,_0x3a4125);}},_0xf1b5c3=_0x11f5dc[_0x37d27d(0xc6)](getEnvDir,_0x3c8fa9);if(!existsSync(_0xf1b5c3))throw new Error(_0x37d27d(0xcc)+_0x3c8fa9+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x3c8fa9);const _0x1614ad=await _0x11f5dc[_0x37d27d(0xc6)](loadSettings,_0x3c8fa9),_0x4f7782=_0x11f5dc[_0x37d27d(0xd5)](parseValue,_0x5d4575,_0x43a2ac);setNestedValue(_0x1614ad,_0x5d4575,_0x4f7782),await _0x11f5dc[_0x37d27d(0xce)](saveSettings,_0x3c8fa9,_0x1614ad),console['log'](_0x37d27d(0xc9)+_0x5d4575+_0x37d27d(0xc1)+_0x4f7782);}export async function configGet(_0x192ff0,_0x34de8a){const _0xeee32e=_0x18f45b,_0xd1271f={'KauiD':function(_0x37d6ee,_0x79b0d4){return _0x37d6ee(_0x79b0d4);},'zLsyc':function(_0x2b5367,_0x1dc974,_0x78cc7e){return _0x2b5367(_0x1dc974,_0x78cc7e);},'yvFFK':function(_0x5ea9ca,_0x2bbedb){return _0x5ea9ca===_0x2bbedb;}},_0x328063=getEnvDir(_0x192ff0);if(!existsSync(_0x328063))throw new Error(_0xeee32e(0xcc)+_0x192ff0+_0xeee32e(0xc8));const _0x8bac40=await _0xd1271f['KauiD'](loadSettings,_0x192ff0),_0x225394=_0xd1271f['zLsyc'](getNestedValue,_0x8bac40,_0x34de8a);if(_0xd1271f['yvFFK'](_0x225394,undefined))console[_0xeee32e(0xbc)]('(not\x20set)');else typeof _0x225394===_0xeee32e(0xcb)?console[_0xeee32e(0xbc)](JSON['stringify'](_0x225394,null,0x2)):console['log'](_0x225394);}function _0x484c(_0x449ec1,_0x414a6f){_0x449ec1=_0x449ec1-0xbc;const _0x45680f=_0x4568();let _0x484c30=_0x45680f[_0x449ec1];return _0x484c30;}export async function configList(_0x4afcd9){const _0x47c52f=_0x18f45b,_0x226301={'zpGWg':function(_0x57f68e,_0x3b9099){return _0x57f68e(_0x3b9099);}},_0x99c31a=getSettingsPath(_0x4afcd9);if(!existsSync(_0x99c31a)){const _0x12555b=getEnvDir(_0x4afcd9);if(!existsSync(_0x12555b))throw new Error(_0x47c52f(0xcc)+_0x4afcd9+_0x47c52f(0xc8));console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x4afcd9+'\x22');return;}const _0x2b179e=await _0x226301['zpGWg'](loadSettings,_0x4afcd9),_0x5c7a5f=formatSettings(_0x2b179e);!_0x5c7a5f?console['log'](_0x47c52f(0xcd)+_0x4afcd9+'\x22'):console[_0x47c52f(0xbc)](_0x5c7a5f);}function _0x4568(){const _0x518682=[':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','Invalid\x20value\x20for\x20','137668SYKOho','skOqS','8940169GDpDIP','\x22\x20does\x20not\x20exist.','Set\x20','205cKdrQp','object','Profile\x20\x22','No\x20configuration\x20set\x20for\x20\x22','ONQzU','357699JiADLO','SUshy','1958930CCHHUb','Key\x20\x22','10xyiNOI','6DKyEXU','kkkWk','xHPnG','mROLk','11503824rTwRzP','log','allowInsecureLocalhost','\x22\x20not\x20found','26933302PVEfOK','92139YkhZls','\x20=\x20','45yMhgLR'];_0x4568=function(){return _0x518682;};return _0x4568();}export async function configUnset(_0x1dadbc,_0x147334){const _0x46c452=_0x18f45b,_0x1f4a29={'xHPnG':function(_0xe3d778,_0x34427e){return _0xe3d778(_0x34427e);}},_0x458790=_0x1f4a29['xHPnG'](getEnvDir,_0x1dadbc);if(!_0x1f4a29[_0x46c452(0xd6)](existsSync,_0x458790))throw new Error(_0x46c452(0xcc)+_0x1dadbc+'\x22\x20does\x20not\x20exist.');const _0x2a59d2=await loadSettings(_0x1dadbc),_0x4c17f1=deleteNestedValue(_0x2a59d2,_0x147334);_0x4c17f1?(await saveSettings(_0x1dadbc,_0x2a59d2),console[_0x46c452(0xbc)]('Removed\x20'+_0x147334)):console[_0x46c452(0xbc)](_0x46c452(0xd2)+_0x147334+_0x46c452(0xbe));}
1
+ const _0x2bca89=_0x4529;(function(_0x34023c,_0x17010c){const _0x3fc782=_0x4529,_0xc40341=_0x34023c();while(!![]){try{const _0x47aadd=parseInt(_0x3fc782(0xdc))/0x1+-parseInt(_0x3fc782(0xec))/0x2*(parseInt(_0x3fc782(0xe3))/0x3)+parseInt(_0x3fc782(0xdd))/0x4+-parseInt(_0x3fc782(0xd8))/0x5+-parseInt(_0x3fc782(0xe9))/0x6+-parseInt(_0x3fc782(0xf0))/0x7+parseInt(_0x3fc782(0xe5))/0x8;if(_0x47aadd===_0x17010c)break;else _0xc40341['push'](_0xc40341['shift']());}catch(_0x18531b){_0xc40341['push'](_0xc40341['shift']());}}}(_0x2b2f,0xc9d07));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x2bca89(0xda)];function _0x4529(_0x5de3f1,_0x3000d7){_0x5de3f1=_0x5de3f1-0xd8;const _0x2b2f42=_0x2b2f();let _0x45295b=_0x2b2f42[_0x5de3f1];return _0x45295b;}function _0x2b2f(){const _0x2c2417=['gPCVf','460698fMGFmZ','hZRYk','rdMwW','2SVEuRi','pPvos','\x22\x20does\x20not\x20exist.',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','2012115rfPrzi','3669775HlAqKS','stringify','allowInsecureLocalhost','KZjOP','1310972VtHedx','2924580JYgQzW','true','No\x20configuration\x20set\x20for\x20\x22','Profile\x20\x22','pGqOt','jWkIm','1099965wVuwFQ','dvpfS','1994816iZZCyY','(not\x20set)','log'];_0x2b2f=function(){return _0x2c2417;};return _0x2b2f();}function parseValue(_0xce982f,_0x27f775){const _0x1ad689=_0x2bca89,_0xab15b5={'pGqOt':function(_0x37d845,_0x32321a){return _0x37d845===_0x32321a;},'nXksu':_0x1ad689(0xde)};if(BOOLEAN_KEYS['includes'](_0xce982f)){if(_0xab15b5[_0x1ad689(0xe1)](_0x27f775,_0xab15b5['nXksu']))return!![];if(_0x27f775==='false')return![];throw new Error('Invalid\x20value\x20for\x20'+_0xce982f+_0x1ad689(0xef));}return _0x27f775;}export async function configSet(_0xa1a90,_0x1fc332,_0x5905fd){const _0x42a58a=_0x2bca89,_0x1d805c={'jWkIm':function(_0x59367f,_0x4d3f77){return _0x59367f(_0x4d3f77);},'pPvos':function(_0x258880,_0x510dcb,_0x42855c){return _0x258880(_0x510dcb,_0x42855c);}},_0x1cb933=getEnvDir(_0xa1a90);if(!_0x1d805c[_0x42a58a(0xe2)](existsSync,_0x1cb933))throw new Error('Profile\x20\x22'+_0xa1a90+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0xa1a90);const _0x173078=await loadSettings(_0xa1a90),_0x1a72ad=parseValue(_0x1fc332,_0x5905fd);setNestedValue(_0x173078,_0x1fc332,_0x1a72ad),await _0x1d805c[_0x42a58a(0xed)](saveSettings,_0xa1a90,_0x173078),console['log']('Set\x20'+_0x1fc332+'\x20=\x20'+_0x1a72ad);}export async function configGet(_0x1bd98b,_0x2972ef){const _0x3160f6=_0x2bca89,_0x46680b={'VbifL':function(_0x23fb3b,_0x48bd33,_0x479a4d){return _0x23fb3b(_0x48bd33,_0x479a4d);},'rdMwW':function(_0x53002a,_0x1d9ac3){return _0x53002a===_0x1d9ac3;},'KZjOP':'object'},_0xfefe76=getEnvDir(_0x1bd98b);if(!existsSync(_0xfefe76))throw new Error(_0x3160f6(0xe0)+_0x1bd98b+'\x22\x20does\x20not\x20exist.');const _0x1f4045=await loadSettings(_0x1bd98b),_0x1429f0=_0x46680b['VbifL'](getNestedValue,_0x1f4045,_0x2972ef);if(_0x1429f0===undefined)console[_0x3160f6(0xe7)](_0x3160f6(0xe6));else _0x46680b[_0x3160f6(0xeb)](typeof _0x1429f0,_0x46680b[_0x3160f6(0xdb)])?console['log'](JSON[_0x3160f6(0xd9)](_0x1429f0,null,0x2)):console[_0x3160f6(0xe7)](_0x1429f0);}export async function configList(_0x5ea301){const _0xfed4c3=_0x2bca89,_0x3af125={'dvpfS':function(_0x14ff7a,_0x21aa15){return _0x14ff7a(_0x21aa15);},'hZRYk':function(_0x410bc0,_0x46d379){return _0x410bc0(_0x46d379);}},_0x1335d0=_0x3af125[_0xfed4c3(0xe4)](getSettingsPath,_0x5ea301);if(!existsSync(_0x1335d0)){const _0x27cce0=getEnvDir(_0x5ea301);if(!_0x3af125[_0xfed4c3(0xea)](existsSync,_0x27cce0))throw new Error('Profile\x20\x22'+_0x5ea301+_0xfed4c3(0xee));console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x5ea301+'\x22');return;}const _0x4cba25=await loadSettings(_0x5ea301),_0x1b2bf2=formatSettings(_0x4cba25);!_0x1b2bf2?console['log'](_0xfed4c3(0xdf)+_0x5ea301+'\x22'):console['log'](_0x1b2bf2);}export async function configUnset(_0x4e322a,_0x1586f3){const _0xd5b84=_0x2bca89,_0x3776a9={'gPCVf':function(_0x342f8f,_0x18e4e5){return _0x342f8f(_0x18e4e5);}},_0x2111ec=_0x3776a9['gPCVf'](getEnvDir,_0x4e322a);if(!_0x3776a9[_0xd5b84(0xe8)](existsSync,_0x2111ec))throw new Error(_0xd5b84(0xe0)+_0x4e322a+'\x22\x20does\x20not\x20exist.');const _0xade04c=await _0x3776a9['gPCVf'](loadSettings,_0x4e322a),_0x17e590=deleteNestedValue(_0xade04c,_0x1586f3);_0x17e590?(await saveSettings(_0x4e322a,_0xade04c),console['log']('Removed\x20'+_0x1586f3)):console['log']('Key\x20\x22'+_0x1586f3+'\x22\x20not\x20found');}
@@ -1 +1 @@
1
- const _0x142c5e=_0x3f1c;(function(_0x50326c,_0x21556c){const _0x5068d8=_0x3f1c,_0x5afed3=_0x50326c();while(!![]){try{const _0x2f0f29=parseInt(_0x5068d8(0x76))/0x1+-parseInt(_0x5068d8(0x8e))/0x2+parseInt(_0x5068d8(0x6e))/0x3*(-parseInt(_0x5068d8(0x89))/0x4)+-parseInt(_0x5068d8(0x7f))/0x5*(-parseInt(_0x5068d8(0x85))/0x6)+-parseInt(_0x5068d8(0x6a))/0x7*(-parseInt(_0x5068d8(0x7c))/0x8)+-parseInt(_0x5068d8(0x75))/0x9*(parseInt(_0x5068d8(0x81))/0xa)+-parseInt(_0x5068d8(0x86))/0xb*(-parseInt(_0x5068d8(0x6b))/0xc);if(_0x2f0f29===_0x21556c)break;else _0x5afed3['push'](_0x5afed3['shift']());}catch(_0x1be45a){_0x5afed3['push'](_0x5afed3['shift']());}}}(_0x3c2f,0xbbf5b));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x3c2f(){const _0x5c257f=['baseUrl','startsWith','log','QrQOn','\x0aProfiles:','SIGmO','126Pnesin','536480fvmMJu','.txt','push','Run:\x20ranger\x20profile\x20add\x20<profile-name>','local','reports','1712IPEtOA','oTOgD','sessions','24355BjDQFP','\x20\x20\x20\x20\x20\x20Details:\x20','142320IVDTsd','LTqFO','environmentDetails','endsWith','492nTcwTB','233134PfEzsL','JFJOl','iNxag','459532zzKgwj','LyQJM','lmIQV','mbxHM','LBhwZ','2083864ogErqi','43449CSVoVl','312MnvvEJ','settings.json','HamRO','21bJHmsr'];_0x3c2f=function(){return _0x5c257f;};return _0x3c2f();}import{getRangerDir}from'./utils/rangerRoot.js';function _0x3f1c(_0x4bf05a,_0x33e0f2){_0x4bf05a=_0x4bf05a-0x6a;const _0x3c2fe2=_0x3c2f();let _0x3f1cba=_0x3c2fe2[_0x4bf05a];return _0x3f1cba;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=[_0x142c5e(0x7e),'bug-bashes',_0x142c5e(0x7b),_0x142c5e(0x7a),'ci'];export async function getEnvNames(){const _0x3045a6=_0x142c5e,_0x2c268e={'iNxag':function(_0x40f03a,_0x45a3a0){return _0x40f03a(_0x45a3a0);},'HamRO':function(_0x3217e3){return _0x3217e3();},'LBhwZ':function(_0x360d5d,_0x2f4bcd,_0x253cd0){return _0x360d5d(_0x2f4bcd,_0x253cd0);},'mbxHM':'local','LyQJM':function(_0x4621b1,_0x479b02){return _0x4621b1(_0x479b02);},'QatsS':_0x3045a6(0x77),'SIGmO':function(_0x1916cf,_0x5f7a73){return _0x1916cf(_0x5f7a73);},'lmIQV':function(_0x8d3c44,_0x265d2b,_0xa419d8){return _0x8d3c44(_0x265d2b,_0xa419d8);},'EHBrm':_0x3045a6(0x6c),'saIkC':'legacy'},_0x39543e=getRangerDir();if(!_0x2c268e[_0x3045a6(0x88)](existsSync,_0x39543e))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x3a55e1=await _0x2c268e[_0x3045a6(0x6d)](readActiveProfileName),_0x57a9e5=[],_0x4872c9={},_0x5b3f3f=_0x2c268e[_0x3045a6(0x8d)](join,_0x39543e,_0x2c268e[_0x3045a6(0x8c)]);if(existsSync(_0x5b3f3f)){const _0x37e32a=await _0x2c268e['iNxag'](readdir,_0x5b3f3f);for(const _0xd51990 of _0x37e32a){const _0x499cb8=join(_0x5b3f3f,_0xd51990),_0x35beaf=await stat(_0x499cb8);_0x35beaf['isDirectory']()&&(_0x57a9e5['push'](_0xd51990),_0x4872c9[_0xd51990]=_0x3045a6(0x7a));}}const _0x133556=join(_0x39543e,'ci');if(existsSync(_0x133556)){const _0x46699a=await readdir(_0x133556);for(const _0x174534 of _0x46699a){const _0x6e621a=join(_0x133556,_0x174534),_0x38ff11=await _0x2c268e[_0x3045a6(0x8a)](stat,_0x6e621a);_0x38ff11['isDirectory']()&&(_0x57a9e5['push'](_0x174534),_0x4872c9[_0x174534]='ci');}}const _0x1cf9b2=await _0x2c268e[_0x3045a6(0x8a)](readdir,_0x39543e);for(const _0x5b17e6 of _0x1cf9b2){if(NON_ENV_DIRS['includes'](_0x5b17e6))continue;if(_0x5b17e6[_0x3045a6(0x70)]('.'))continue;if(_0x5b17e6[_0x3045a6(0x84)](_0x2c268e['QatsS']))continue;const _0x117440=join(_0x39543e,_0x5b17e6),_0x2871c0=await _0x2c268e['SIGmO'](stat,_0x117440);_0x2871c0['isDirectory']()&&_0x2c268e[_0x3045a6(0x74)](existsSync,_0x2c268e[_0x3045a6(0x8b)](join,_0x117440,_0x2c268e['EHBrm']))&&(!_0x57a9e5['includes'](_0x5b17e6)&&(_0x57a9e5[_0x3045a6(0x78)](_0x5b17e6),_0x4872c9[_0x5b17e6]=_0x2c268e['saIkC']));}return{'envNames':_0x57a9e5,'activeEnv':_0x3a55e1,'envTypes':_0x4872c9};}export async function envList(){const _0x4b2b3e=_0x142c5e,_0x59420e={'QrQOn':'\x0aNo\x20profiles\x20found.','DTjaQ':_0x4b2b3e(0x79),'pxwel':_0x4b2b3e(0x73),'LTqFO':function(_0x29f909,_0x2c629d){return _0x29f909===_0x2c629d;},'JFJOl':'local','oTOgD':function(_0x2b36d0,_0x3ba577){return _0x2b36d0(_0x3ba577);}},{envNames:_0x4bd097,activeEnv:_0x573b37,envTypes:_0xfc0f5c}=await getEnvNames();if(_0x4bd097['length']===0x0){console[_0x4b2b3e(0x71)](_0x59420e[_0x4b2b3e(0x72)]),console[_0x4b2b3e(0x71)](_0x59420e['DTjaQ']);return;}console[_0x4b2b3e(0x71)](_0x59420e['pxwel']);for(const _0x48cda6 of _0x4bd097['sort']()){const _0x48ce1a=_0x59420e[_0x4b2b3e(0x82)](_0x48cda6,_0x573b37),_0x457989=_0xfc0f5c[_0x48cda6]||_0x59420e[_0x4b2b3e(0x87)],_0x1a36bc=await _0x59420e[_0x4b2b3e(0x7d)](loadSettings,_0x48cda6),_0x38f0eb=_0x457989==='legacy'?'':'\x20['+_0x457989+']';console['log']('\x20\x20'+(_0x48ce1a?'*\x20':'\x20\x20')+_0x48cda6+_0x38f0eb),_0x1a36bc[_0x4b2b3e(0x6f)]&&console[_0x4b2b3e(0x71)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x1a36bc[_0x4b2b3e(0x6f)]),_0x1a36bc['environmentDetails']&&console[_0x4b2b3e(0x71)](_0x4b2b3e(0x80)+_0x1a36bc[_0x4b2b3e(0x83)]);}_0x573b37&&console['log']('\x0a*\x20=\x20active\x20profile');}
1
+ function _0x5c3f(){const _0x369673=['DtCxp','DnhvI','push','891330KIMdkx','.txt','195021JaDoiN','HvySc','isDirectory','\x20\x20\x20\x20\x20\x20URL:\x20','reports','includes','bug-bashes','TcYpv','711iAiWhG','9550DHogMZ','local','hPzJc','SXsPQ','9200jNKFoP','log','482424wNbexN','\x20\x20\x20\x20\x20\x20Details:\x20','907300jjXqna','baseUrl','1389GKVFNu','30LKdDXZ','\x0aProfiles:','244GbZUjT','environmentDetails','xBYyo','sPWTw','7wspZBy','XWVRc','ZtcGa','\x0a*\x20=\x20active\x20profile','Run:\x20ranger\x20profile\x20add\x20<profile-name>'];_0x5c3f=function(){return _0x369673;};return _0x5c3f();}const _0x24ad4c=_0x7ca1;(function(_0x2cb6db,_0x10f129){const _0x4a2102=_0x7ca1,_0x479323=_0x2cb6db();while(!![]){try{const _0x562f1c=parseInt(_0x4a2102(0x100))/0x1+-parseInt(_0x4a2102(0xf0))/0x2*(parseInt(_0x4a2102(0xef))/0x3)+parseInt(_0x4a2102(0xf2))/0x4*(parseInt(_0x4a2102(0x109))/0x5)+-parseInt(_0x4a2102(0xeb))/0x6*(parseInt(_0x4a2102(0xf6))/0x7)+-parseInt(_0x4a2102(0xe9))/0x8*(-parseInt(_0x4a2102(0x108))/0x9)+-parseInt(_0x4a2102(0xed))/0xa+-parseInt(_0x4a2102(0xfe))/0xb;if(_0x562f1c===_0x10f129)break;else _0x479323['push'](_0x479323['shift']());}catch(_0xcb8d40){_0x479323['push'](_0x479323['shift']());}}}(_0x5c3f,0x22fa8));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';function _0x7ca1(_0x326ad5,_0x50c8cd){_0x326ad5=_0x326ad5-0xe6;const _0x5c3fc5=_0x5c3f();let _0x7ca1d0=_0x5c3fc5[_0x326ad5];return _0x7ca1d0;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions',_0x24ad4c(0x106),_0x24ad4c(0x104),'local','ci'];export async function getEnvNames(){const _0x158e1e=_0x24ad4c,_0x1d3c66={'DnhvI':function(_0x28dc2a){return _0x28dc2a();},'xBYyo':_0x158e1e(0xe6),'DtCxp':function(_0x5a8c7d,_0xc22e5d){return _0x5a8c7d(_0xc22e5d);},'SXsPQ':function(_0x4ebe92,_0x388193){return _0x4ebe92(_0x388193);},'giXfX':function(_0x526ebc,_0xd491ec,_0xf46e7){return _0x526ebc(_0xd491ec,_0xf46e7);},'HvySc':function(_0x3ac02c,_0x22204a){return _0x3ac02c(_0x22204a);},'bOpnf':function(_0x5bef91,_0xe98fb){return _0x5bef91(_0xe98fb);},'hPzJc':function(_0x3bdd01,_0x28006e,_0x3522af){return _0x3bdd01(_0x28006e,_0x3522af);},'sPWTw':'legacy'},_0x2b16b5=_0x1d3c66[_0x158e1e(0xfc)](getRangerDir);if(!existsSync(_0x2b16b5))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x441c8a=await readActiveProfileName(),_0x57a33a=[],_0x3416fb={},_0x30c18d=join(_0x2b16b5,_0x1d3c66[_0x158e1e(0xf4)]);if(_0x1d3c66['DtCxp'](existsSync,_0x30c18d)){const _0x377e3d=await _0x1d3c66[_0x158e1e(0xe8)](readdir,_0x30c18d);for(const _0x10e57b of _0x377e3d){const _0x378cb9=join(_0x30c18d,_0x10e57b),_0x1b7616=await stat(_0x378cb9);_0x1b7616[_0x158e1e(0x102)]()&&(_0x57a33a[_0x158e1e(0xfd)](_0x10e57b),_0x3416fb[_0x10e57b]=_0x158e1e(0xe6));}}const _0x551377=_0x1d3c66['giXfX'](join,_0x2b16b5,'ci');if(existsSync(_0x551377)){const _0x16d837=await _0x1d3c66[_0x158e1e(0x101)](readdir,_0x551377);for(const _0x4ec996 of _0x16d837){const _0x45ae8e=join(_0x551377,_0x4ec996),_0x686598=await _0x1d3c66['SXsPQ'](stat,_0x45ae8e);_0x686598[_0x158e1e(0x102)]()&&(_0x57a33a[_0x158e1e(0xfd)](_0x4ec996),_0x3416fb[_0x4ec996]='ci');}}const _0x13832d=await _0x1d3c66[_0x158e1e(0xfb)](readdir,_0x2b16b5);for(const _0x6c5a5 of _0x13832d){if(NON_ENV_DIRS[_0x158e1e(0x105)](_0x6c5a5))continue;if(_0x6c5a5['startsWith']('.'))continue;if(_0x6c5a5['endsWith'](_0x158e1e(0xff)))continue;const _0x22330d=_0x1d3c66['giXfX'](join,_0x2b16b5,_0x6c5a5),_0x413920=await _0x1d3c66['bOpnf'](stat,_0x22330d);_0x413920['isDirectory']()&&existsSync(_0x1d3c66[_0x158e1e(0xe7)](join,_0x22330d,'settings.json'))&&(!_0x57a33a[_0x158e1e(0x105)](_0x6c5a5)&&(_0x57a33a['push'](_0x6c5a5),_0x3416fb[_0x6c5a5]=_0x1d3c66[_0x158e1e(0xf5)]));}return{'envNames':_0x57a33a,'activeEnv':_0x441c8a,'envTypes':_0x3416fb};}export async function envList(){const _0x38af33=_0x24ad4c,_0x1ba2c0={'wvFRI':'\x0aNo\x20profiles\x20found.','XWVRc':_0x38af33(0xfa),'BNEDY':function(_0x113baa,_0x6b7f0){return _0x113baa===_0x6b7f0;},'ZtcGa':_0x38af33(0xe6),'TcYpv':function(_0x485aee,_0x471efe){return _0x485aee===_0x471efe;},'enwwf':'legacy'},{envNames:_0x898750,activeEnv:_0x37fd13,envTypes:_0x1e3ef9}=await getEnvNames();if(_0x898750['length']===0x0){console['log'](_0x1ba2c0['wvFRI']),console['log'](_0x1ba2c0[_0x38af33(0xf7)]);return;}console[_0x38af33(0xea)](_0x38af33(0xf1));for(const _0x3db165 of _0x898750['sort']()){const _0x1e8c3f=_0x1ba2c0['BNEDY'](_0x3db165,_0x37fd13),_0x5df3d8=_0x1e3ef9[_0x3db165]||_0x1ba2c0[_0x38af33(0xf8)],_0x452eb9=await loadSettings(_0x3db165),_0x150511=_0x1ba2c0[_0x38af33(0x107)](_0x5df3d8,_0x1ba2c0['enwwf'])?'':'\x20['+_0x5df3d8+']';console['log']('\x20\x20'+(_0x1e8c3f?'*\x20':'\x20\x20')+_0x3db165+_0x150511),_0x452eb9[_0x38af33(0xee)]&&console[_0x38af33(0xea)](_0x38af33(0x103)+_0x452eb9[_0x38af33(0xee)]),_0x452eb9['environmentDetails']&&console[_0x38af33(0xea)](_0x38af33(0xec)+_0x452eb9[_0x38af33(0xf3)]);}_0x37fd13&&console['log'](_0x38af33(0xf9));}
@@ -1 +1 @@
1
- const _0x2966c9=_0x3b6a;(function(_0x576e3d,_0x116085){const _0x20c8c=_0x3b6a,_0x50958f=_0x576e3d();while(!![]){try{const _0x369972=-parseInt(_0x20c8c(0x10d))/0x1+parseInt(_0x20c8c(0x14b))/0x2+parseInt(_0x20c8c(0x149))/0x3+-parseInt(_0x20c8c(0xff))/0x4+parseInt(_0x20c8c(0x157))/0x5+parseInt(_0x20c8c(0x1ad))/0x6*(-parseInt(_0x20c8c(0x164))/0x7)+-parseInt(_0x20c8c(0x12b))/0x8*(parseInt(_0x20c8c(0x146))/0x9);if(_0x369972===_0x116085)break;else _0x50958f['push'](_0x50958f['shift']());}catch(_0x29e79d){_0x50958f['push'](_0x50958f['shift']());}}}(_0x21a2,0x9ae8f));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x592757 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';function _0x21a2(){const _0x45cb73=['isKeyStep','terminalReason','length','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','Apwep','verification_in_progress','bztrA','CeUVl','1746455aGhUrN','zcjHD','\x20\x20\x20Updated\x20branch\x20to:\x20','...','\x20scenario(s).','notes','OQGHF','\x20(v','\x20of\x20','VDOms','prompt','RVPIC','fzcMt','7REYCEL','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','vLRAp','scenarios','\x20\x20💬\x20','git\x20remote\x20get-url\x20origin','iimhI','\x20at\x20[','wUhuN','gitBranch','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','dMFiQ','\x20\x20\x20Created:\x20','textContent','.png','selector','stats','):\x20\x22','\x20\x20\x20▶️\x20Started\x20session\x20','\x20verified','JHgfa','blockedItems','\x20>\x20','status','OpfNG','iteration','completed','DOZoE','env','NUyQK','uJOQc','type','QBXnz','TIkyK','\x20\x20\x20\x20\x20Branch:\x20','exit','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','roOqs','xRZAl','\x20\x20\x20Repository:\x20','screenshot','\x0aCreating\x20feature\x20review...','blocked','nrCvj','fHzgi','ready','wWiud','currentBranch','incomplete','mxUxh','authorName','offset','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','RVbNK','slice','includeDeleted','kpQvO','PnuYY','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HMyCX','aWvkp','trimEnd','\x20/\x20','excludeScenarios','Screenshot\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x0a✅\x20Session\x20','SIhrp','currentSessionId','utf-8','Scenario\x20','assetUrl','incompleteItems','5378430nTwBPB','NjNMx','ysNJC','lJvhl','incompleteReason','unaddressedComments','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x0a⚠️\x20\x20','\x0a✅\x20Report\x20generated:\x20','\x20\x20Expected\x20flow:','\x20unaddressed\x20comment(s)','version','Showing\x20','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','\x0a✅\x20Scenario\x20added','name','totalCount','write','description','uIkRb','DtsCM','\x1b[0m','\x20Session\x20','createdAt','canceledReason','\x0a\x20\x20\x20Scenarios:','YcLhp','cVIOK','\x20\x20\x20Description:\x20','cLoFz',':\x20\x22','gitRepoUrl','split','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','KBaEz','HMVzK','WnMUW','No\x20sessions\x20found.','isTTY','\x20\x20\x20\x20\x20Progress:\x20','Gjfqp','repeat','\x20concluded.','canonicalFlow','dashboardUrl','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','domRef','content','closed','stringify','\x0a✅\x20Restored\x20feature\x20review:\x20','\x20\x20\x20Status:\x20','Kmwkx','items','yAAaf','in_progress','.md','browserSessionId','myTpt','completedAt','\x20\x20\x20\x20\x20\x20Cancelled:\x20','51292HZMWjp','uyBHN','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','limit','coordinates','latestReview','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','awwKb','after','sessionId','scenario','nZmqE','TrrzH','XNbrv','86660UzQpsD','mVZXq','0|4|5|3|2|1','parentItemId','\x0aConcluding\x20session...','\x20\x20\x20Branch:\x20','\x0aAvailable\x20scenarios:','toLocaleDateString','\x0a📋\x20Feedback\x20for:\x20','QqcMA','all','qQOLf','linkedSession','trim','pipe','eVtJn','\x20—\x20no\x20comments','QBpcg','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','Next\x20page:\x20ranger\x20list\x20--offset\x20','any','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','assetType','stdout','submittedAt','replace','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','reports','log','eLdix','152fjPtOY','wQNkx','lQVAZ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','slYNb','\x20\x20\x20Completed:\x20','AXOBr','assets','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','vZFYR','push','filter','EXWim','toFixed','error','find','Emkzw','HIRyd','screenshotUrls','map','nCTCE','Current\x20session\x20not\x20found.','spatial','toLocaleString','checklistItems','aIXGz','JOHlO','122517MFxTDY','numeric','selected','976863OnPAxD','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','2428268hwFazf','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','kbYMK'];_0x21a2=function(){return _0x45cb73;};return _0x21a2();}import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x588666=>'\x1b[1m'+_0x588666+_0x2966c9(0x1c2);function getGitRepoUrl(){const _0x38708b=_0x2966c9,_0x59fbc8={'OpfNG':function(_0x3108a0,_0x283e06,_0x2827f8){return _0x3108a0(_0x283e06,_0x2827f8);},'jpEdN':_0x38708b(0x1a9),'xvEAE':'pipe','CPgDC':'github.com/'};try{const _0x3d7c5d=_0x59fbc8[_0x38708b(0x17c)](execSync,_0x38708b(0x169),{'encoding':_0x59fbc8['jpEdN'],'stdio':['pipe',_0x38708b(0x11b),_0x59fbc8['xvEAE']]})[_0x38708b(0x11a)]();return _0x3d7c5d[_0x38708b(0x126)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x59fbc8['CPgDC'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0xa2809=_0x2966c9,_0x98f968={'TrrzH':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','kpQvO':_0xa2809(0x1a9),'VDOms':_0xa2809(0x11b)};try{return execSync(_0x98f968[_0xa2809(0x10b)],{'encoding':_0x98f968[_0xa2809(0x19c)],'stdio':[_0x98f968[_0xa2809(0x160)],_0xa2809(0x11b),_0x98f968[_0xa2809(0x160)]]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x17ba91=_0x2966c9,_0x212eb8={'fJBcq':function(_0xb498ed,_0x38741c){return _0xb498ed(_0x38741c);},'iimhI':'utf-8'},_0x25b4b0=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x212eb8['fJBcq'](existsSync,_0x25b4b0))return null;try{const _0x8284dd=await readFile(_0x25b4b0,_0x212eb8[_0x17ba91(0x16a)]);return _0x8284dd[_0x17ba91(0x11a)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x3a0ab4){const _0x44937b=_0x2966c9,_0x4a1d58={'Bbrys':function(_0x3e2177,_0x5a03db){return _0x3e2177(_0x5a03db);},'qQOLf':function(_0x21f516,_0x57b3c2,_0x3db142){return _0x21f516(_0x57b3c2,_0x3db142);},'rNLDC':'utf-8'},_0x3a66fa=getRangerDir(),_0x3fe715=join(_0x3a66fa,ACTIVE_FEATURE_FILE);!_0x4a1d58['Bbrys'](existsSync,_0x3a66fa)&&await _0x4a1d58[_0x44937b(0x118)](mkdir,_0x3a66fa,{'recursive':!![]}),await writeFile(_0x3fe715,_0x3a0ab4,_0x4a1d58['rNLDC']);}function getProgressDisplay(_0x12fccd){const _0x258b63=_0x2966c9,_0x31d693={'jOhgA':function(_0x34c4fb,_0x4d1245){return _0x34c4fb+_0x4d1245;},'myTpt':function(_0x96171,_0x44ff16){return _0x96171===_0x44ff16;},'IBRkW':function(_0x498fa2,_0x18dff8){return _0x498fa2/_0x18dff8;},'qjhiv':function(_0x4c0bd3,_0x5879d4){return _0x4c0bd3+_0x5879d4;},'zcjHD':function(_0x3df3f7,_0x398d5d){return _0x3df3f7>_0x398d5d;},'lGutr':function(_0x48da6a,_0x394ce6){return _0x48da6a>_0x394ce6;}},_0xf5336a=_0x12fccd['verifiedItems']||0x0,_0x2faaca=_0x12fccd['verificationInProgressItems']||0x0,_0x36ba0c=_0x12fccd[_0x258b63(0x179)]||0x0,_0x33a5c5=_0x12fccd[_0x258b63(0x1ac)]||0x0,_0x1fcdf7=_0x12fccd['pendingItems']||0x0,_0x16cd86=_0x31d693['jOhgA'](_0xf5336a,_0x2faaca)+_0x36ba0c+_0x33a5c5+_0x1fcdf7;if(_0x31d693[_0x258b63(0x1e7)](_0x16cd86,0x0))return'-';const _0x358bdd=0xa,_0xa20766=Math['round'](_0x31d693['IBRkW'](_0xf5336a,_0x16cd86)*_0x358bdd),_0x509fa9=_0x31d693['qjhiv']('█'[_0x258b63(0x1d6)](_0xa20766),'░'[_0x258b63(0x1d6)](_0x358bdd-_0xa20766)),_0x456191=[];if(_0x31d693[_0x258b63(0x158)](_0x36ba0c,0x0))_0x456191['push'](_0x36ba0c+'\x20blocked');if(_0x33a5c5>0x0)_0x456191['push'](_0x33a5c5+'\x20incomplete');if(_0x2faaca>0x0)_0x456191[_0x258b63(0x135)](_0x2faaca+'\x20in\x20progress');const _0x296970=_0x31d693['lGutr'](_0x456191['length'],0x0)?'\x20('+_0x456191['join'](',\x20')+')':'';return _0x509fa9+'\x20'+_0xf5336a+'/'+_0x16cd86+_0x258b63(0x177)+_0x296970;}function getCurrentSessionItems(_0x417dfe,_0x3fb8b3){const _0x5967c4=_0x2966c9;if(!_0x417dfe['currentSessionId'])return _0x3fb8b3[_0x5967c4(0x136)](_0x3900ea=>!_0x3900ea[_0x5967c4(0x108)]);return _0x3fb8b3[_0x5967c4(0x136)](_0xdb979c=>_0xdb979c[_0x5967c4(0x108)]===_0x417dfe['currentSessionId']||!_0xdb979c[_0x5967c4(0x108)]);}function displayFeature(_0x274ef0,_0x233899){const _0x21deed=_0x2966c9,_0x306cc0={'bztrA':function(_0x518351,_0x4acae3){return _0x518351>_0x4acae3;},'fHzgi':function(_0x518af8,_0x72b374){return _0x518af8===_0x72b374;},'nCTCE':_0x21deed(0x1dd),'vLRAp':'verified','xAXAp':function(_0x3c0c67,_0x527ce7){return _0x3c0c67===_0x527ce7;},'HMyCX':_0x21deed(0x18e),'DABsf':'verification_in_progress','mxUxh':function(_0x3ce14a,_0x37072d){return _0x3ce14a>_0x37072d;},'wQNkx':function(_0x22d020,_0x240093){return _0x22d020!==_0x240093;},'cgKFn':'\x20[has\x20reviewer\x20feedback]','Kmwkx':_0x21deed(0x194),'XNbrv':function(_0x33043f,_0x512a88){return _0x33043f===_0x512a88;},'GkeEL':'approved','SIhrp':function(_0x1d1e35,_0x22f4eb){return _0x1d1e35===_0x22f4eb;}};console[_0x21deed(0x129)]('\x0a'+_0x274ef0['name']+'\x20('+_0x274ef0['dashboardUrl']+')');_0x274ef0['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x274ef0[_0x21deed(0x174)]));_0x274ef0[_0x21deed(0x1bf)]&&console['log'](_0x21deed(0x1c9)+_0x274ef0[_0x21deed(0x1bf)]);_0x274ef0[_0x21deed(0x1cc)]&&console['log'](_0x21deed(0x18b)+_0x274ef0[_0x21deed(0x1cc)]);_0x274ef0['gitBranch']&&console['log'](_0x21deed(0x112)+_0x274ef0['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x274ef0[_0x21deed(0x1c4)])['toLocaleString']());_0x274ef0[_0x21deed(0xfd)]&&console[_0x21deed(0x129)](_0x21deed(0x130)+new Date(_0x274ef0[_0x21deed(0xfd)])['toLocaleString']());if(_0x233899&&_0x306cc0[_0x21deed(0x155)](_0x233899['length'],0x0)){console[_0x21deed(0x129)](_0x21deed(0x1c6));for(let _0xe19cd0=0x0;_0xe19cd0<_0x233899[_0x21deed(0x150)];_0xe19cd0++){const _0x6b65f9=_0x233899[_0xe19cd0];let _0x38d28e;if(_0x306cc0[_0x21deed(0x190)](_0x6b65f9['status'],_0x306cc0[_0x21deed(0x13f)])&&_0x6b65f9[_0x21deed(0x14f)]==='approved')_0x38d28e='✅';else{if(_0x6b65f9[_0x21deed(0x17b)]===_0x306cc0['vLRAp'])_0x38d28e='🟢';else{if(_0x6b65f9['status']===_0x21deed(0x194))_0x38d28e='🟠';else{if(_0x306cc0['xAXAp'](_0x6b65f9[_0x21deed(0x17b)],_0x306cc0[_0x21deed(0x19f)]))_0x38d28e='🛑';else{if(_0x306cc0[_0x21deed(0x190)](_0x6b65f9[_0x21deed(0x17b)],_0x306cc0[_0x21deed(0x13f)]))_0x38d28e='⛔';else _0x6b65f9['status']===_0x306cc0['DABsf']?_0x38d28e='⏳':_0x38d28e='⬜';}}}}const _0x527f0d=_0x306cc0[_0x21deed(0x195)](_0x6b65f9[_0x21deed(0x1b8)],0x1)?'\x20(v'+_0x6b65f9[_0x21deed(0x1b8)]+')':'',_0x4af3b3=_0x6b65f9['version']>0x1&&_0x6b65f9[_0x21deed(0x110)]&&_0x6b65f9[_0x21deed(0x17b)]!==_0x306cc0[_0x21deed(0x13f)]&&_0x306cc0[_0x21deed(0x12c)](_0x6b65f9['status'],_0x306cc0[_0x21deed(0x166)])?_0x306cc0['cgKFn']:'';console[_0x21deed(0x129)]('\x20\x20\x20'+(_0xe19cd0+0x1)+'.\x20'+_0x38d28e+'\x20'+_0x6b65f9[_0x21deed(0x1bf)]+_0x527f0d+_0x4af3b3);_0x6b65f9[_0x21deed(0x17b)]===_0x21deed(0x18e)&&_0x6b65f9['blockedReason']&&console[_0x21deed(0x129)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x6b65f9['blockedReason']);_0x6b65f9[_0x21deed(0x17b)]===_0x306cc0[_0x21deed(0x1e1)]&&_0x6b65f9['incompleteReason']&&console[_0x21deed(0x129)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x6b65f9['incompleteReason']);if(_0x6b65f9[_0x21deed(0x17b)]===_0x306cc0['nCTCE']&&_0x306cc0[_0x21deed(0x10c)](_0x6b65f9[_0x21deed(0x14f)],_0x306cc0['GkeEL']))console[_0x21deed(0x129)]('\x20\x20\x20\x20\x20\x20Approved');else _0x306cc0[_0x21deed(0x1a7)](_0x6b65f9[_0x21deed(0x17b)],'closed')&&_0x6b65f9[_0x21deed(0x1c5)]&&console['log'](_0x21deed(0xfe)+_0x6b65f9[_0x21deed(0x1c5)]);}}}export async function featureCreate(_0x2028ce,_0x45e2b4){const _0x50ffbd=_0x2966c9,_0x30a921={'OJIGl':function(_0x403f54,_0x593550){return _0x403f54===_0x593550;},'cVIOK':function(_0x1cd206,_0x5480ac){return _0x1cd206(_0x5480ac);},'RVPIC':function(_0x191012){return _0x191012();},'uJOQc':_0x50ffbd(0x18d),'yAAaf':function(_0x3691ba,_0x12fb9b){return _0x3691ba(_0x12fb9b);},'QBXnz':function(_0x400948,_0x5cad92,_0x5b6040){return _0x400948(_0x5cad92,_0x5b6040);}},{envNames:_0x5ae54a}=await getEnvNames();_0x30a921['OJIGl'](_0x5ae54a['length'],0x0)&&console['warn']('\x0a'+_0x30a921['cVIOK'](formatProfileRequiredMessage,_0x4089b9=>bold(_0x4089b9)));const _0x205b8d=_0x45e2b4['scenarios']?_0x45e2b4[_0x50ffbd(0x167)][_0x50ffbd(0x13e)](_0x4d9142=>_0x4d9142[_0x50ffbd(0x11a)]()):[],_0x6f83a0=getGitRepoUrl(),_0x5dd7a9=_0x30a921[_0x50ffbd(0x162)](getGitBranch);console[_0x50ffbd(0x129)](_0x30a921[_0x50ffbd(0x182)]);const _0x43c37a=await _0x30a921[_0x50ffbd(0x1e3)](createFeature,{'name':_0x2028ce,'description':_0x45e2b4['description'],'checklist':_0x205b8d,'gitRepoUrl':_0x6f83a0,'gitBranch':_0x5dd7a9});await setActiveFeatureId(_0x43c37a['id']),await _0x30a921[_0x50ffbd(0x1c8)](tryStartCurrentSession,_0x43c37a['id']);const _0x29797b=process[_0x50ffbd(0x180)]['CLAUDE_SESSION_ID'];_0x29797b&&_0x30a921[_0x50ffbd(0x184)](registerSession,_0x29797b,_0x43c37a['id']),console[_0x50ffbd(0x129)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x43c37a['id']),displayFeature(_0x43c37a,_0x43c37a[_0x50ffbd(0x143)]),console['log'](_0x50ffbd(0x11f));}export async function featureList(_0x159a19){const _0x256013=_0x2966c9,_0x2c1e79={'NUyQK':function(_0x54dc7f,_0x4d298e){return _0x54dc7f(_0x4d298e);},'fzcMt':function(_0x3e2ec5,_0x160d50){return _0x3e2ec5===_0x160d50;},'hLfXM':function(_0x41e4bc,_0xe74c17){return _0x41e4bc>_0xe74c17;},'beDfF':function(_0x383535,_0x419d6f){return _0x383535+_0x419d6f;},'WwvmS':'\x20--include-deleted'},_0x30cc58={'limit':_0x159a19['limit']??0xa,'offset':_0x159a19[_0x256013(0x197)]??0x0,'includeDeleted':_0x159a19['includeDeleted']};_0x159a19['currentBranch']&&(_0x30cc58['gitRepoUrl']=getGitRepoUrl(),_0x30cc58['gitBranch']=getGitBranch());const _0x151ff0=await _0x2c1e79[_0x256013(0x181)](listFeatures,_0x30cc58);if(_0x2c1e79[_0x256013(0x163)](_0x151ff0[_0x256013(0x1e2)][_0x256013(0x150)],0x0)){console[_0x256013(0x129)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x2bff0c=_0x2c1e79['hLfXM'](_0x151ff0['totalCount'],_0x151ff0[_0x256013(0x1e2)]['length'])?_0x256013(0x1b9)+_0x151ff0[_0x256013(0x1e2)][_0x256013(0x150)]+_0x256013(0x15f)+_0x151ff0[_0x256013(0x1bd)]:_0x151ff0['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x256013(0x129)]('\x0a'+_0x2bff0c+':\x0a');for(const _0x547824 of _0x151ff0['items']){console[_0x256013(0x129)](''+_0x547824['name']),console['log']('\x20\x20\x20ID:\x20'+_0x547824['id']),_0x547824[_0x256013(0x174)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x547824[_0x256013(0x174)])),_0x547824['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x547824['gitBranch']),console[_0x256013(0x129)](_0x256013(0x170)+new Date(_0x547824[_0x256013(0x1c4)])['toLocaleDateString']()),console['log']('');}const _0x552be4=_0x30cc58[_0x256013(0x102)]??0xa,_0x42cee9=_0x2c1e79['beDfF'](_0x30cc58['offset']??0x0,_0x151ff0[_0x256013(0x1e2)]['length']);if(_0x42cee9<_0x151ff0[_0x256013(0x1bd)]){const _0x5af863=_0x552be4!==0xa?'\x20--limit\x20'+_0x552be4:'',_0x4aedad=_0x159a19[_0x256013(0x193)]?'\x20--current-branch':'',_0x13ac50=_0x159a19[_0x256013(0x19b)]?_0x2c1e79['WwvmS']:'';console[_0x256013(0x129)](_0x256013(0x120)+_0x42cee9+_0x5af863+_0x4aedad+_0x13ac50);}}export async function featureShow(_0x13a670){const _0x406570=_0x2966c9,_0x1b8b35={'kbYMK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x580a54=_0x13a670||await getActiveFeatureId();if(!_0x580a54)throw new Error(_0x1b8b35[_0x406570(0x14d)]);const _0x13581c=await getFeature(_0x580a54);displayFeature(_0x13581c,_0x13581c['checklistItems']);}export async function featureResume(_0x457b4d){const _0x4f0ae5=_0x2966c9,_0x4d33c4={'mpook':function(_0x522116,_0x181482){return _0x522116!==_0x181482;},'aWvkp':function(_0x2492ba,_0x5a9733,_0x212cb3){return _0x2492ba(_0x5a9733,_0x212cb3);},'roOqs':function(_0x16e563,_0x3f77a9,_0x575cf9){return _0x16e563(_0x3f77a9,_0x575cf9);},'cLoFz':function(_0x2324cc,_0x21f767){return _0x2324cc(_0x21f767);},'HIRyd':function(_0x46cbde,_0x823d54){return _0x46cbde&&_0x823d54;},'nZmqE':'Not\x20in\x20a\x20git\x20repository.','DtsCM':function(_0x4f57fc,_0x1b3521){return _0x4f57fc||_0x1b3521;},'nPQLr':function(_0x2f1900,_0x4c4a6d){return _0x2f1900===_0x4c4a6d;},'OQGHF':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','uIkRb':_0x4f0ae5(0x1b3),'cVtHo':function(_0x56ba0b,_0x1c5dc6){return _0x56ba0b===_0x1c5dc6;},'uyBHN':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','uWZcY':_0x4f0ae5(0x152),'HMVzK':function(_0x4ba88c,_0x3d0aa7){return _0x4ba88c(_0x3d0aa7);},'tqjRh':function(_0x245e42,_0x380725,_0x37fec6){return _0x245e42(_0x380725,_0x37fec6);}};if(_0x457b4d){const _0xd23a16=await getFeature(_0x457b4d);await setActiveFeatureId(_0xd23a16['id']);const _0x37eeee=getGitBranch();_0x37eeee&&_0x4d33c4['mpook'](_0x37eeee,_0xd23a16[_0x4f0ae5(0x16d)])&&(await updateFeature(_0xd23a16['id'],{'gitBranch':_0x37eeee}),console[_0x4f0ae5(0x129)](_0x4f0ae5(0x159)+_0x37eeee));console[_0x4f0ae5(0x129)](_0x4f0ae5(0x1a5)+_0xd23a16['name']+'\x20('+_0xd23a16['id']+')'),await tryStartCurrentSession(_0xd23a16['id']);const _0x470237=process[_0x4f0ae5(0x180)]['CLAUDE_SESSION_ID'];_0x470237&&_0x4d33c4[_0x4f0ae5(0x1a0)](registerSession,_0x470237,_0xd23a16['id']);_0x4d33c4['roOqs'](displayFeature,_0xd23a16,_0xd23a16['checklistItems']),await _0x4d33c4[_0x4f0ae5(0x1ca)](printFeedbackNudge,_0xd23a16['id']);return;}const _0x2fe308=getGitRepoUrl(),_0x580eb8=getGitBranch();if(_0x4d33c4[_0x4f0ae5(0x13c)](!_0x2fe308,!_0x580eb8))throw new Error(_0x4d33c4[_0x4f0ae5(0x10a)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x2fe308||_0x4f0ae5(0x121))+_0x4f0ae5(0x1a2)+_0x4d33c4[_0x4f0ae5(0x1c1)](_0x580eb8,_0x4f0ae5(0x121))+_0x4f0ae5(0x15a));const _0x116450=await listFeatures({'gitRepoUrl':_0x2fe308,'gitBranch':_0x580eb8}),_0x44eb9b=_0x116450['items'][_0x4f0ae5(0x136)](_0x2c4b28=>!_0x2c4b28['completedAt']);if(_0x4d33c4['nPQLr'](_0x44eb9b['length'],0x0)){console['log'](_0x4d33c4[_0x4f0ae5(0x15d)]),console[_0x4f0ae5(0x129)](_0x4d33c4[_0x4f0ae5(0x1c0)]);return;}let _0x1ffb95;if(_0x4d33c4['cVtHo'](_0x44eb9b[_0x4f0ae5(0x150)],0x1))_0x1ffb95=_0x44eb9b[0x0];else{const _0x35dc28=process['stdin']['isTTY']&&process['stdout'][_0x4f0ae5(0x1d3)];if(!_0x35dc28){console[_0x4f0ae5(0x129)](_0x4f0ae5(0x122));for(const _0x170ff8 of _0x44eb9b){console[_0x4f0ae5(0x129)]('\x20\x20'+_0x170ff8['name']),console[_0x4f0ae5(0x129)]('\x20\x20\x20\x20\x20ID:\x20'+_0x170ff8['id']),_0x170ff8[_0x4f0ae5(0x174)]&&console[_0x4f0ae5(0x129)](_0x4f0ae5(0x1d4)+getProgressDisplay(_0x170ff8[_0x4f0ae5(0x174)])),_0x170ff8[_0x4f0ae5(0x16d)]&&console['log'](_0x4f0ae5(0x186)+_0x170ff8[_0x4f0ae5(0x16d)]);}throw new Error(_0x4d33c4[_0x4f0ae5(0x100)]);}const {selected:_0x48ac62}=await _0x592757[_0x4f0ae5(0x161)]([{'type':'list','name':_0x4f0ae5(0x148),'message':_0x4d33c4['uWZcY'],'choices':_0x44eb9b['map'](_0x9ad9f8=>({'name':_0x9ad9f8[_0x4f0ae5(0x1bc)]+'\x20('+_0x9ad9f8['id']+')','value':_0x9ad9f8['id']}))}]);_0x1ffb95=_0x44eb9b[_0x4f0ae5(0x13a)](_0x33f93c=>_0x33f93c['id']===_0x48ac62);}await setActiveFeatureId(_0x1ffb95['id']);_0x580eb8&&_0x4d33c4['mpook'](_0x580eb8,_0x1ffb95['gitBranch'])&&(await updateFeature(_0x1ffb95['id'],{'gitBranch':_0x580eb8}),console[_0x4f0ae5(0x129)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x580eb8));console[_0x4f0ae5(0x129)](_0x4f0ae5(0x1a5)+_0x1ffb95[_0x4f0ae5(0x1bc)]+'\x20('+_0x1ffb95['id']+')'),await tryStartCurrentSession(_0x1ffb95['id']);const _0x2a5bc1=await _0x4d33c4[_0x4f0ae5(0x1d0)](getFeature,_0x1ffb95['id']),_0x286a58=process['env']['CLAUDE_SESSION_ID'];_0x286a58&&_0x4d33c4['tqjRh'](registerSession,_0x286a58,_0x2a5bc1['id']),_0x4d33c4[_0x4f0ae5(0x189)](displayFeature,_0x2a5bc1,_0x2a5bc1['checklistItems']),await _0x4d33c4['cLoFz'](printFeedbackNudge,_0x2a5bc1['id']);}function _0x3b6a(_0x31481d,_0x5e6fc7){_0x31481d=_0x31481d-0xfd;const _0x21a2e4=_0x21a2();let _0x3b6af3=_0x21a2e4[_0x31481d];return _0x3b6af3;}async function printFeedbackNudge(_0x2995e3){const _0x2f810f=_0x2966c9,_0xcd8636={'lQVAZ':function(_0x337106,_0x1f0b19){return _0x337106(_0x1f0b19);},'argzu':function(_0x3f0a3a,_0x5b6b7b){return _0x3f0a3a>_0x5b6b7b;}};try{const {items:_0x4903d3}=await _0xcd8636[_0x2f810f(0x12d)](getActionItems,_0x2995e3);let _0x2aed25=0x0,_0x39653e=0x0;for(const _0x5094ac of _0x4903d3){const _0x200109=await getItemFeedback(_0x2995e3,_0x5094ac['id']);_0xcd8636['argzu'](_0x200109['unaddressedComments'][_0x2f810f(0x150)],0x0)&&(_0x2aed25+=_0x200109['unaddressedComments'][_0x2f810f(0x150)],_0x39653e++);}_0x2aed25>0x0&&(console['log'](_0x2f810f(0x1b4)+_0x2aed25+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x39653e+_0x2f810f(0x15b)),console['log'](_0x2f810f(0x1ce)));}catch{}}async function tryStartCurrentSession(_0x4d1590){const _0x138d97=_0x2966c9,_0xfdd6c={'euram':function(_0x1534fa,_0x3450fc){return _0x1534fa(_0x3450fc);}};try{const {sessions:_0x1b4336}=await _0xfdd6c['euram'](listFeatureSessions,_0x4d1590),_0xcbd9f4=_0x1b4336[_0x138d97(0x13a)](_0x28ca93=>_0x28ca93[_0x138d97(0x17b)]===_0x138d97(0x191));_0xcbd9f4&&(await startSession(_0x4d1590,_0xcbd9f4['id']),console[_0x138d97(0x129)](_0x138d97(0x176)+_0xcbd9f4['iteration']));}catch{}}export async function featureReport(_0x5e8ef7,_0x34eccf){const _0x3735e4=_0x2966c9,_0x2e6dff={'Thqgo':function(_0x1cad98){return _0x1cad98();},'wWiud':'\x0aGenerating\x20report...','slYNb':function(_0x2a193,_0x5e553f,_0x23d8c8,_0x2ea03e){return _0x2a193(_0x5e553f,_0x23d8c8,_0x2ea03e);},'TIkyK':function(_0x5447cb){return _0x5447cb();},'tKOyE':_0x3735e4(0x128),'xzTSX':function(_0x5ec655,_0x492b7d,_0x59b8bd){return _0x5ec655(_0x492b7d,_0x59b8bd);},'mVZXq':function(_0x3c4267,_0x3b4613,_0x4e0aee){return _0x3c4267(_0x3b4613,_0x4e0aee);},'lJvhl':function(_0xed5eda,_0x23c586,_0x2652a6,_0x1b5fdf){return _0xed5eda(_0x23c586,_0x2652a6,_0x1b5fdf);}},_0x2cd86b=_0x5e8ef7||await _0x2e6dff['Thqgo'](getActiveFeatureId);if(!_0x2cd86b)throw new Error(_0x3735e4(0x101));console['log'](_0x2e6dff[_0x3735e4(0x192)]);const _0x34b43c=await getFeatureReportMarkdown(_0x2cd86b,{'style':_0x34eccf['style']}),_0x10e8e7=_0x34eccf['output']||_0x2e6dff[_0x3735e4(0x12f)](join,_0x2e6dff[_0x3735e4(0x185)](getRangerDir),_0x2e6dff['tKOyE'],_0x2cd86b+_0x3735e4(0x1e5)),_0x305e80=_0x2e6dff['xzTSX'](join,_0x10e8e7,'..');!existsSync(_0x305e80)&&await _0x2e6dff[_0x3735e4(0x10e)](mkdir,_0x305e80,{'recursive':!![]}),await _0x2e6dff[_0x3735e4(0x1b0)](writeFile,_0x10e8e7,_0x34b43c,'utf-8'),console['log'](_0x3735e4(0x1b5)+_0x10e8e7);}function getScenarioResult(_0x1d2feb){const _0x241bc9=_0x2966c9,_0x3d567c={'SMxlx':'closed','QBpcg':function(_0x36ba4f,_0x364b27){return _0x36ba4f===_0x364b27;},'RVbNK':'in_progress'};if(_0x1d2feb[_0x241bc9(0x17b)]===_0x241bc9(0x1dd))return _0x1d2feb['terminalReason']??_0x3d567c['SMxlx'];if(_0x3d567c[_0x241bc9(0x11e)](_0x1d2feb[_0x241bc9(0x17b)],_0x241bc9(0x154)))return _0x3d567c[_0x241bc9(0x199)];return _0x1d2feb[_0x241bc9(0x17b)];}function getScenarioRationale(_0xbd864c,_0x18e5c6){const _0x441f4e=_0x2966c9,_0x40eaed={'QRjNE':_0x441f4e(0x10f)},_0x3df24d=_0x40eaed['QRjNE']['split']('|');let _0x106d2f=0x0;while(!![]){switch(_0x3df24d[_0x106d2f++]){case'0':if(_0x18e5c6)return _0x18e5c6;continue;case'1':return null;case'2':if(_0xbd864c[_0x441f4e(0x15c)])return _0xbd864c['notes'];continue;case'3':if(_0xbd864c[_0x441f4e(0x1c5)])return _0xbd864c['canceledReason'];continue;case'4':if(_0xbd864c['blockedReason'])return _0xbd864c['blockedReason'];continue;case'5':if(_0xbd864c[_0x441f4e(0x1b1)])return _0xbd864c[_0x441f4e(0x1b1)];continue;}break;}}export async function featureReportPrDescription(_0x3eb574,_0x38ff94){const _0x24fc3c=_0x2966c9,_0x1d8d96={'CeUVl':function(_0x29c75d,_0x35c214){return _0x29c75d(_0x35c214);},'kFWWS':function(_0x8d648,_0x3f7306){return _0x8d648===_0x3f7306;},'pPmuF':function(_0x2b2f53,_0x16476c){return _0x2b2f53<_0x16476c;}},_0x519b07=_0x3eb574||await getActiveFeatureId();if(!_0x519b07)throw new Error(_0x24fc3c(0x101));const _0x572271=await _0x1d8d96[_0x24fc3c(0x156)](getFeature,_0x519b07),_0x409532=_0x572271['checklistItems']||[],_0x344c49=getCurrentSessionItems(_0x572271,_0x409532);_0x1d8d96['kFWWS'](_0x344c49['length'],0x0)&&(console[_0x24fc3c(0x139)](_0x24fc3c(0x14a)),process[_0x24fc3c(0x187)](0x1));const _0x8d5cd0=_0x38ff94[_0x24fc3c(0x1a3)]??[],_0x4f7c37=_0x8d5cd0[_0x24fc3c(0x136)](_0xb9a005=>!Number['isInteger'](_0xb9a005)||_0xb9a005<0x1||_0xb9a005>_0x344c49['length']);if(_0x4f7c37[_0x24fc3c(0x150)]>0x0){console[_0x24fc3c(0x139)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4f7c37['join'](',\x20')),console[_0x24fc3c(0x129)]('\x0aAvailable\x20scenarios:');for(let _0x235719=0x0;_0x1d8d96['pPmuF'](_0x235719,_0x344c49['length']);_0x235719++){console[_0x24fc3c(0x129)]('\x20\x20'+(_0x235719+0x1)+'.\x20'+_0x344c49[_0x235719][_0x24fc3c(0x1bf)]);}process['exit'](0x1);}const _0x473b08=new Set(_0x8d5cd0[_0x24fc3c(0x13e)](_0x1380ea=>_0x1380ea-0x1)),_0xb48eb0=_0x344c49['filter']((_0x3731d0,_0x113b17)=>!_0x473b08['has'](_0x113b17));_0xb48eb0[_0x24fc3c(0x150)]===0x0&&(console['error']('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x24fc3c(0x187)](0x1));if(_0x38ff94['json'])await outputJsonReport(_0x519b07,_0x572271,_0xb48eb0);else{const _0x1ee7d0=await getFeatureReportMarkdown(_0x519b07,{'itemIds':_0xb48eb0['map'](_0x234ef3=>_0x234ef3['id'])});process[_0x24fc3c(0x124)]['write'](_0x1ee7d0[_0x24fc3c(0x1a1)]()+'\x0a');}}async function outputJsonReport(_0x2ccf1a,_0x40c70c,_0x3891ae){const _0x2d7d19=_0x2966c9,_0x4a6085={'aIXGz':function(_0x15ffe8,_0x1d4143){return _0x15ffe8>_0x1d4143;},'NjNMx':function(_0x385bda,_0xb0c87){return _0x385bda(_0xb0c87);},'JOHlO':function(_0xfde0da){return _0xfde0da();}},_0xa3e6d4=_0x4a6085[_0x2d7d19(0x145)](getApiBaseUrl),_0x590f3f=await _0x4a6085[_0x2d7d19(0x1ae)](getFeatureReport,_0x2ccf1a),_0x542272=new Map(_0x590f3f[_0x2d7d19(0x143)][_0x2d7d19(0x13e)](_0x3dac2b=>[_0x3dac2b['id'],_0x3dac2b])),_0x4e332a=await Promise[_0x2d7d19(0x117)](_0x3891ae['map'](async _0x3c3891=>{const _0x45aa87=_0x2d7d19,_0x25025a=_0x542272['get'](_0x3c3891['id']),_0x527d21=_0x25025a?.[_0x45aa87(0x119)]??null;let _0x4b4b01=[];if(_0x3c3891['browserSessionId'])try{const {steps:_0x3ebba1}=await getBrowserSessionSteps(_0x3c3891['browserSessionId']);_0x4a6085[_0x45aa87(0x144)](_0x3ebba1[_0x45aa87(0x150)],0x0)&&(_0x4b4b01=_0x3ebba1['map'](_0x4cb27e=>{const _0x43fb42=_0x45aa87,_0x295195=_0x4cb27e[_0x43fb42(0x132)][_0x43fb42(0x13a)](_0x3a8b51=>_0x3a8b51['assetType']==='screenshot'&&_0x3a8b51['timing']===_0x43fb42(0x107))??_0x4cb27e[_0x43fb42(0x132)]['find'](_0x3cda3e=>_0x3cda3e[_0x43fb42(0x123)]===_0x43fb42(0x18c));let _0x1ef9a8=null,_0x21998b=null;if(_0x295195){const _0x3b617a=_0x295195['storage']['location'][_0x43fb42(0x1cd)]('/')['pop']();_0x1ef9a8=_0xa3e6d4+'/api/v1/mcp/browser-sessions/'+_0x3c3891[_0x43fb42(0x1e6)]+'/artifacts/'+_0x3b617a,_0x3b617a&&(_0x21998b=_0x3b617a[_0x43fb42(0x126)](/\.\w+$/,'')[_0x43fb42(0x126)](/^(key_)?\d+_/,'')[_0x43fb42(0x126)](/[-_]/g,'\x20'));}return{'description':_0x21998b||_0x4cb27e['description']||_0x4cb27e['stepName']||'Step\x20'+_0x4cb27e['position'],'screenshot':_0x1ef9a8,'is_key_step':_0x4cb27e[_0x43fb42(0x14e)]};}));}catch{}return _0x4b4b01['length']===0x0&&_0x527d21?.[_0x45aa87(0x13d)]&&(_0x4b4b01=_0x527d21['screenshotUrls']['map']((_0x56fc2e,_0x25634f)=>({'description':_0x45aa87(0x1a4)+(_0x25634f+0x1),'screenshot':_0x56fc2e,'is_key_step':![]}))),{'description':_0x3c3891[_0x45aa87(0x1bf)],'result':_0x4a6085['NjNMx'](getScenarioResult,_0x3c3891),'rationale':getScenarioRationale(_0x3c3891,_0x527d21?.['agentResponse']),'steps':_0x4b4b01};})),_0x1a5ec5={'url':_0x40c70c[_0x2d7d19(0x1d9)],'scenarios':_0x4e332a};process[_0x2d7d19(0x124)][_0x2d7d19(0x1be)](JSON[_0x2d7d19(0x1de)](_0x1a5ec5,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x1b6ccd){const _0x295c22=_0x2966c9,_0x319b9d={'hKcDq':function(_0x9bc49a){return _0x9bc49a();},'Gjfqp':function(_0x1cfd7d,_0x537db4){return _0x1cfd7d(_0x537db4);},'awwKb':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','ngClA':_0x295c22(0x140),'YcLhp':function(_0x5f05dc,_0x39a297){return _0x5f05dc===_0x39a297;},'QPteu':_0x295c22(0x17e),'RPcYM':'\x0a✅\x20Session\x20is\x20already\x20completed.','kInwl':function(_0x7a1dbc,_0x45bc75,_0x2084c0){return _0x7a1dbc(_0x45bc75,_0x2084c0);}},_0x3d2814=_0x1b6ccd||await _0x319b9d['hKcDq'](getActiveFeatureId);if(!_0x3d2814)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 _0x29aad2=await _0x319b9d[_0x295c22(0x1d5)](getFeature,_0x3d2814);if(!_0x29aad2[_0x295c22(0x1a8)])throw new Error(_0x319b9d[_0x295c22(0x106)]);const {sessions:_0x4539a9}=await listFeatureSessions(_0x3d2814),_0x4c827c=_0x4539a9[_0x295c22(0x13a)](_0x4ab45c=>_0x4ab45c['id']===_0x29aad2['currentSessionId']);if(!_0x4c827c)throw new Error(_0x319b9d['ngClA']);if(_0x319b9d[_0x295c22(0x1c7)](_0x4c827c['status'],_0x319b9d['QPteu'])){console['log'](_0x319b9d['RPcYM']);return;}if(_0x4c827c['status']!=='in_progress')throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4c827c[_0x295c22(0x17b)]);console['log'](_0x295c22(0x111)),await _0x319b9d['kInwl'](concludeSession,_0x3d2814,_0x29aad2[_0x295c22(0x1a8)]),console['log'](_0x295c22(0x1a6)+_0x4c827c[_0x295c22(0x17d)]+_0x295c22(0x1d7)),console[_0x295c22(0x129)](_0x295c22(0x16e));}export async function featureSessions(_0x50546c){const _0x1256d3=_0x2966c9,_0x3a3802={'WxoKw':_0x1256d3(0x101),'QqcMA':function(_0x239191,_0x861f24){return _0x239191(_0x861f24);},'GRXLT':_0x1256d3(0x1d2),'AXOBr':function(_0x2a0b7c,_0x160bbb){return _0x2a0b7c===_0x160bbb;},'snpJB':_0x1256d3(0x1e4)},_0x40d1e3=_0x50546c||await getActiveFeatureId();if(!_0x40d1e3)throw new Error(_0x3a3802['WxoKw']);const _0x234033=await getFeature(_0x40d1e3);console['log'](_0x1256d3(0x133)+_0x234033[_0x1256d3(0x1bc)]+'\x0a');const {sessions:_0x1ab2ec}=await _0x3a3802[_0x1256d3(0x116)](listFeatureSessions,_0x40d1e3);if(_0x1ab2ec['length']===0x0){console['log'](_0x3a3802['GRXLT']);return;}for(const _0x3fa87a of _0x1ab2ec){const _0x486565=_0x3a3802['AXOBr'](_0x3fa87a[_0x1256d3(0x17b)],'completed')?'✅':_0x3a3802[_0x1256d3(0x131)](_0x3fa87a['status'],_0x3a3802['snpJB'])?'🔄':'▶️';console['log'](_0x486565+_0x1256d3(0x1c3)+_0x3fa87a[_0x1256d3(0x17d)]+'\x20('+_0x3fa87a['id']+')'),console['log'](_0x1256d3(0x1e0)+_0x3fa87a[_0x1256d3(0x17b)]),console['log'](_0x1256d3(0x170)+new Date(_0x3fa87a['createdAt'])['toLocaleString']()),_0x3fa87a['completedAt']&&console[_0x1256d3(0x129)]('\x20\x20\x20Completed:\x20'+new Date(_0x3fa87a['completedAt'])[_0x1256d3(0x142)]()),console['log']('');}}export async function featureAddScenario(_0x1d1a4a,_0x4ea147){const _0x2aac49=_0x2966c9,_0x3b2fb8={'nrCvj':function(_0x1b8b63,_0x5b8059){return _0x1b8b63(_0x5b8059);},'ruWXE':function(_0x3b2ebb,_0x406931,_0x39c20f){return _0x3b2ebb(_0x406931,_0x39c20f);}},_0x38ff59=_0x4ea147||await getActiveFeatureId();if(!_0x38ff59)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 _0x1862d3=await _0x3b2fb8[_0x2aac49(0x18f)](getFeature,_0x38ff59);if(_0x1862d3[_0x2aac49(0x104)]&&!_0x1862d3['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1862d3['dashboardUrl']);await createChecklistItem(_0x38ff59,_0x1d1a4a);const _0x15e0a4=await getFeature(_0x38ff59);console[_0x2aac49(0x129)](_0x2aac49(0x1bb)),_0x3b2fb8['ruWXE'](displayFeature,_0x15e0a4,_0x15e0a4[_0x2aac49(0x143)]);}export async function featureEditScenario(_0x177498,_0x1ff6f4){const _0x5e5f57=_0x2966c9,_0x51333a={'pdyxx':_0x5e5f57(0x165),'xybLk':'Please\x20finish\x20your\x20review\x20first:','eVtJn':_0x5e5f57(0x188),'Uetgi':function(_0x32110e,_0x95ab97){return _0x32110e===_0x95ab97;},'JHgfa':_0x5e5f57(0x198),'wUhuN':function(_0x4ad865,_0x3a4713){return _0x4ad865<_0x3a4713;},'PnuYY':function(_0x5e6c14,_0x463552){return _0x5e6c14-_0x463552;},'mhZih':function(_0x516754,_0x32ec67){return _0x516754>=_0x32ec67;},'xRvsJ':'\x0aAvailable\x20scenarios:','vZFYR':function(_0x5b1696,_0x126469){return _0x5b1696+_0x126469;},'WnMUW':function(_0xa7f1d1,_0x4312ad,_0x14ec7f,_0x166d08){return _0xa7f1d1(_0x4312ad,_0x14ec7f,_0x166d08);}},_0x5e17b9=_0x1ff6f4['id']||await getActiveFeatureId();!_0x5e17b9&&(console[_0x5e5f57(0x139)](_0x51333a['pdyxx']),console[_0x5e5f57(0x139)](_0x5e5f57(0x105)),process['exit'](0x1));const _0x34a103=await getFeature(_0x5e17b9);_0x34a103[_0x5e5f57(0x104)]&&!_0x34a103[_0x5e5f57(0x104)][_0x5e5f57(0x125)]&&(console['error'](_0x5e5f57(0x1ba)),console[_0x5e5f57(0x139)](_0x51333a['xybLk']),console['error']('\x20\x20'+_0x34a103[_0x5e5f57(0x1d9)]),process['exit'](0x1));const _0x5df4d3=_0x34a103[_0x5e5f57(0x143)]||[];_0x5df4d3['length']===0x0&&(console['error'](_0x51333a[_0x5e5f57(0x11c)]),process[_0x5e5f57(0x187)](0x1));if(_0x51333a['Uetgi'](_0x1ff6f4[_0x5e5f57(0x109)],undefined)){console[_0x5e5f57(0x139)](_0x51333a[_0x5e5f57(0x178)]),console['log'](_0x5e5f57(0x113));for(let _0x42e42f=0x0;_0x51333a[_0x5e5f57(0x16c)](_0x42e42f,_0x5df4d3[_0x5e5f57(0x150)]);_0x42e42f++){console[_0x5e5f57(0x129)]('\x20\x20'+(_0x42e42f+0x1)+'.\x20'+_0x5df4d3[_0x42e42f][_0x5e5f57(0x1bf)]);}process['exit'](0x1);}const _0x2376d1=_0x51333a[_0x5e5f57(0x19d)](_0x1ff6f4['scenario'],0x1);if(_0x2376d1<0x0||_0x51333a['mhZih'](_0x2376d1,_0x5df4d3[_0x5e5f57(0x150)])){console['error'](_0x5e5f57(0x12e)+_0x1ff6f4['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x5df4d3[_0x5e5f57(0x150)]+'\x20scenarios.'),console['log'](_0x51333a['xRvsJ']);for(let _0x3542fd=0x0;_0x3542fd<_0x5df4d3['length'];_0x3542fd++){console['log']('\x20\x20'+_0x51333a[_0x5e5f57(0x134)](_0x3542fd,0x1)+'.\x20'+_0x5df4d3[_0x3542fd][_0x5e5f57(0x1bf)]);}process['exit'](0x1);}const _0x267f49=_0x5df4d3[_0x2376d1];await _0x51333a[_0x5e5f57(0x1d1)](updateChecklistItem,_0x5e17b9,_0x267f49['id'],{'description':_0x177498});const _0x2fc83d=await getFeature(_0x5e17b9);console[_0x5e5f57(0x129)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x2fc83d,_0x2fc83d[_0x5e5f57(0x143)]);}async function downloadFeedbackImage(_0x948990,_0x1c9856){const _0x301afa=_0x2966c9,_0x1c2087={'etCjM':'feedback-images','Emkzw':function(_0xaaf005,_0x5f4382,_0x2901c0){return _0xaaf005(_0x5f4382,_0x2901c0);},'XuMBA':function(_0x269668,_0x55c152){return _0x269668(_0x55c152);}};try{const _0x3558fa=join(getRangerDir(),_0x1c2087['etCjM']);await mkdir(_0x3558fa,{'recursive':!![]});const _0x5e065a=_0x1c2087[_0x301afa(0x13b)](join,_0x3558fa,'comment_'+_0x1c9856+_0x301afa(0x172)),_0x9d05a=await _0x1c2087['XuMBA'](fetch,_0x948990);if(!_0x9d05a['ok'])return null;const _0x54259f=Buffer['from'](await _0x9d05a['arrayBuffer']());return await writeFile(_0x5e065a,_0x54259f),_0x5e065a;}catch{return null;}}export async function featureGetReview(_0x253332){const _0x8fe5e0=_0x2966c9,_0x659981={'Ofjqe':function(_0x440508){return _0x440508();},'xRZAl':function(_0x38ec29,_0x2f9fb3){return _0x38ec29(_0x2f9fb3);},'EXWim':function(_0x3fed3b,_0x296bcd,_0x1debc2){return _0x3fed3b(_0x296bcd,_0x1debc2);},'DOZoE':'Unknown','Yuygx':'element','eLdix':function(_0x55e299,_0x4e21c4){return _0x55e299===_0x4e21c4;},'ysNJC':'point','QHVuZ':function(_0x16e8df,_0x9a019f){return _0x16e8df>=_0x9a019f;},'eUHJK':function(_0x23fc86,_0x107dde){return _0x23fc86+_0x107dde;}},_0x39eaf5=_0x253332||await _0x659981['Ofjqe'](getActiveFeatureId);if(!_0x39eaf5)throw new Error(_0x8fe5e0(0x19e));const _0x4cdaef=await _0x659981[_0x8fe5e0(0x18a)](getFeature,_0x39eaf5),{items:_0x33ff54}=await _0x659981[_0x8fe5e0(0x18a)](getActionItems,_0x39eaf5);console['log'](_0x8fe5e0(0x115)+_0x4cdaef[_0x8fe5e0(0x1bc)]+'\x20('+_0x4cdaef['id']+')\x0a');if(_0x33ff54[_0x8fe5e0(0x150)]===0x0){console[_0x8fe5e0(0x129)]('No\x20scenarios\x20found.');return;}for(let _0x1a93bc=0x0;_0x1a93bc<_0x33ff54[_0x8fe5e0(0x150)];_0x1a93bc++){const _0x28fb67=_0x33ff54[_0x1a93bc],_0x4a621a=_0x28fb67['version']>0x1?_0x8fe5e0(0x15e)+_0x28fb67[_0x8fe5e0(0x1b8)]+')':'',_0x543e6c=await _0x659981[_0x8fe5e0(0x137)](getItemFeedback,_0x39eaf5,_0x28fb67['id']);if(_0x543e6c[_0x8fe5e0(0x1b2)][_0x8fe5e0(0x150)]>0x0){console['log'](_0x8fe5e0(0x1aa)+(_0x1a93bc+0x1)+':\x20\x22'+_0x28fb67[_0x8fe5e0(0x1bf)]+'\x22'+_0x4a621a+'\x20—\x20'+_0x543e6c[_0x8fe5e0(0x1b2)]['length']+_0x8fe5e0(0x1b7));for(const _0x192c7f of _0x543e6c['unaddressedComments']){const _0x1f819f=new Date(_0x192c7f[_0x8fe5e0(0x1c4)])[_0x8fe5e0(0x114)]('en-US',{'month':'short','day':_0x8fe5e0(0x147)}),_0x3ab5c5=_0x192c7f[_0x8fe5e0(0x196)]||_0x192c7f['authorEmail']||_0x659981[_0x8fe5e0(0x17f)];console['log'](_0x8fe5e0(0x168)+_0x3ab5c5+'\x20('+_0x1f819f+_0x8fe5e0(0x175)+_0x192c7f[_0x8fe5e0(0x1dc)]+'\x22');if(_0x192c7f['assetUrl']){const _0x2618ae=await _0x659981[_0x8fe5e0(0x137)](downloadFeedbackImage,_0x192c7f[_0x8fe5e0(0x1ab)],_0x192c7f['id']);_0x2618ae&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x2618ae);}if(_0x192c7f[_0x8fe5e0(0x1db)]){const _0x39cc80=_0x192c7f[_0x8fe5e0(0x1db)][_0x8fe5e0(0x173)][_0x8fe5e0(0x1cd)](_0x8fe5e0(0x17a))['pop']()?.['split'](':')[0x0]||_0x659981['Yuygx'],_0x1f7d26=_0x192c7f['domRef']['textContent']?'\x20\x22'+_0x192c7f[_0x8fe5e0(0x1db)][_0x8fe5e0(0x171)][_0x8fe5e0(0x19a)](0x0,0x3c)+'\x22':'';console['log'](_0x8fe5e0(0x151)+_0x39cc80+'>'+_0x1f7d26),console[_0x8fe5e0(0x129)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x192c7f[_0x8fe5e0(0x1db)]['selector']);}else{if(_0x192c7f[_0x8fe5e0(0x141)]){const _0x22f5c0=_0x192c7f['spatial'][_0x8fe5e0(0x103)];_0x659981[_0x8fe5e0(0x12a)](_0x192c7f[_0x8fe5e0(0x141)][_0x8fe5e0(0x183)],_0x659981[_0x8fe5e0(0x1af)])&&_0x659981['QHVuZ'](_0x22f5c0['length'],0x2)?console[_0x8fe5e0(0x129)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x22f5c0[0x0]['toFixed'](0x2)+',\x20'+_0x22f5c0[0x1][_0x8fe5e0(0x138)](0x2)+')'):console['log'](_0x8fe5e0(0x14c)+_0x192c7f[_0x8fe5e0(0x141)][_0x8fe5e0(0x183)]+_0x8fe5e0(0x16b)+_0x22f5c0['map'](_0x47a464=>_0x47a464['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x543e6c[_0x8fe5e0(0x1d8)]){console[_0x8fe5e0(0x129)](_0x8fe5e0(0x1b6));for(const _0x32b2b8 of _0x543e6c[_0x8fe5e0(0x1d8)][_0x8fe5e0(0x1cd)]('\x0a')){console[_0x8fe5e0(0x129)]('\x20\x20\x20\x20'+_0x32b2b8);}}}else console['log'](_0x8fe5e0(0x1aa)+_0x659981['eUHJK'](_0x1a93bc,0x1)+_0x8fe5e0(0x1cb)+_0x28fb67[_0x8fe5e0(0x1bf)]+'\x22'+_0x4a621a+_0x8fe5e0(0x11d)),console[_0x8fe5e0(0x129)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x8fe5e0(0x129)]('');}}export async function featureDelete(_0x2c0c74){const _0x5a35a4=_0x2966c9,_0x39bfca={'Apwep':function(_0x3161d1){return _0x3161d1();},'ZuFnR':_0x5a35a4(0x19e),'dMFiQ':function(_0x2b6245,_0x5e53f3){return _0x2b6245(_0x5e53f3);},'WLIqE':_0x5a35a4(0x127)},_0x18430d=_0x2c0c74||await _0x39bfca[_0x5a35a4(0x153)](getActiveFeatureId);if(!_0x18430d)throw new Error(_0x39bfca['ZuFnR']);const _0x453e1a=await _0x39bfca[_0x5a35a4(0x16f)](getFeature,_0x18430d);await softDeleteFeature(_0x18430d),console['log'](_0x5a35a4(0x1da)+_0x453e1a['name']+'\x20('+_0x18430d+')'),console[_0x5a35a4(0x129)](_0x39bfca['WLIqE']+_0x18430d);}export async function featureRestore(_0x560706){const _0x2b4a37=_0x2966c9,_0x584be5={'KBaEz':function(_0x4e5304,_0x399e8c,_0x1f8dc1){return _0x4e5304(_0x399e8c,_0x1f8dc1);}};await restoreFeature(_0x560706);const _0x508258=await getFeature(_0x560706);console[_0x2b4a37(0x129)](_0x2b4a37(0x1df)+_0x508258[_0x2b4a37(0x1bc)]+'\x20('+_0x560706+')'),_0x584be5[_0x2b4a37(0x1cf)](displayFeature,_0x508258,_0x508258[_0x2b4a37(0x143)]);}
1
+ (function(_0x192fdd,_0x242dc1){const _0x4ca81c=_0x26e7,_0x301f5e=_0x192fdd();while(!![]){try{const _0x4339af=parseInt(_0x4ca81c(0x161))/0x1*(parseInt(_0x4ca81c(0x1c0))/0x2)+parseInt(_0x4ca81c(0x15e))/0x3*(parseInt(_0x4ca81c(0x1d2))/0x4)+-parseInt(_0x4ca81c(0x19c))/0x5+parseInt(_0x4ca81c(0x188))/0x6+parseInt(_0x4ca81c(0x124))/0x7+parseInt(_0x4ca81c(0x157))/0x8*(-parseInt(_0x4ca81c(0x162))/0x9)+-parseInt(_0x4ca81c(0x18b))/0xa*(parseInt(_0x4ca81c(0x189))/0xb);if(_0x4339af===_0x242dc1)break;else _0x301f5e['push'](_0x301f5e['shift']());}catch(_0x584740){_0x301f5e['push'](_0x301f5e['shift']());}}}(_0x4ef9,0x65ec5));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x1732ef from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';function _0x4ef9(){const _0xc1f34e=['list','toFixed','\x20\x20✅\x20No\x20feedback\x20to\x20address','Wkssj','xokbf','\x20in\x20progress','assets','exit','NSJla','xEDLQ','\x20\x20\x20▶️\x20Started\x20session\x20','name','oSgcp','MsRea','.png','No\x20sessions\x20found.','browserSessionId','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','sessionId','git\x20remote\x20get-url\x20origin','NuPil','eRuJd','vLnMS','\x20/\x20','spatial','\x20—\x20no\x20comments','yvlbS','scenario','\x20\x20\x20\x20\x20\x20Incomplete:\x20','XBsoy','stats','mUsIj','stdin','from','2937990jdqRax','33AqiiPp','bLNVD','1667230AIFMku','SNEIn','point','blockedReason','slice','approved','utf-8','gitRepoUrl','CLAUDE_SESSION_ID','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','/api/v1/mcp/browser-sessions/','\x0a📋\x20Feedback\x20for:\x20','assetType','type','any','\x0a✅\x20Report\x20generated:\x20','AbkYI','431930zNYywX','gitBranch','alste','length','wYCUg','find','imDjL','textContent','pop','description','position','DoWbK','closed','dashboardUrl','\x20--current-branch','liKos','terminalReason','\x0a✅\x20Scenario\x20updated','output','\x20at\x20[','after','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20\x20Expected\x20flow:','trim','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','uNKel','No\x20active\x20session\x20for\x20this\x20feature\x20review.','offset','Scenario\x20','NVAwL','selected','stringify','Please\x20finish\x20your\x20review\x20first:','completed','Unknown','6WwHctt','XouWK','\x20\x20\x20Description:\x20','TbdyV','isInteger','log','.\x20Feature\x20review\x20has\x20','xQOEz','incomplete','pendingItems','.md','xPDQv','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20\x20\x20Completed:\x20','replace','\x20verified','pipe','latestReview','8UtczlD','ELmxw','join','in_progress','jbUbF','hGEuv','includeDeleted','items','\x0aNo\x20feature\x20reviews\x20found.','error','JczLs','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20\x20\x20\x20Approved','\x20blocked','\x20\x20\x20Updated\x20branch\x20to:\x20','iteration','incompleteReason','\x20\x20\x20\x20\x20\x20Blocked:\x20','version','unaddressedComments','WLnAs','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','trimEnd','prompt','\x0a✅\x20Resumed\x20feature\x20review:\x20','tdSpf','currentSessionId','domRef','completedAt','\x0aAvailable\x20scenarios:','Not\x20in\x20a\x20git\x20repository.','oEWuF','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','PvVKd','all','\x20\x20\x20\x20\x20Progress:\x20','verificationInProgressItems','status','4331908OvRKcZ','filter','\x20\x20💬\x20','\x20[has\x20reviewer\x20feedback]','TPZIT','WdQEZ','env','feedback-images','yyocJ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','limit','selector','\x20\x20\x20Branch:\x20','Stmqt','createdAt','screenshotUrls','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20concluded.','\x0a⚠️\x20\x20','\x0aConcluding\x20session...','oPFsU','storage','map','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','push','Fgizv','\x20Session\x20','\x20scenario(s).','toLocaleString','totalCount','location','\x20\x20\x20Progress:\x20','uGpmD','canceledReason','arrayBuffer','wlfUd','isTTY','stnyL','NlLeL','...','\x0aGenerating\x20report...','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','lwzrL','checklistItems','AGFZy','verifiedItems','):\x20\x22',':\x20\x22','split','\x20\x20\x20\x20','KDAmm','93816cUlqDF','submittedAt','\x20scenarios.','pCqgP','stdout','EinNX','slMXi','273669VooxIj','gnaYq','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','88082iDykuy','423qWyApF','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','fpjYs'];_0x4ef9=function(){return _0xc1f34e;};return _0x4ef9();}const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x3666a1=>'\x1b[1m'+_0x3666a1+'\x1b[0m';function getGitRepoUrl(){const _0x1dd2da=_0x26e7,_0x4d3f27={'ExwqC':function(_0x5d6964,_0x948780,_0x416bf2){return _0x5d6964(_0x948780,_0x416bf2);},'PvVKd':'utf-8','wlfUd':_0x1dd2da(0x1d0)};try{const _0x4d084a=_0x4d3f27['ExwqC'](execSync,_0x1dd2da(0x179),{'encoding':_0x4d3f27[_0x1dd2da(0x11f)],'stdio':[_0x4d3f27['wlfUd'],'pipe',_0x4d3f27[_0x1dd2da(0x147)]]})[_0x1dd2da(0x1b4)]();return _0x4d084a['replace'](/\.git$/,'')[_0x1dd2da(0x1ce)](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x252d08=_0x26e7;try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x252d08(0x191),'stdio':['pipe','pipe',_0x252d08(0x1d0)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x2c943c=_0x26e7,_0x1d9d68={'liKos':function(_0x215ae5,_0x4dd328,_0x4b4ba3){return _0x215ae5(_0x4dd328,_0x4b4ba3);},'slMXi':function(_0x4b1c3a,_0x57695d,_0x237430){return _0x4b1c3a(_0x57695d,_0x237430);}},_0x18bf65=_0x1d9d68[_0x2c943c(0x1ab)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x18bf65))return null;try{const _0x4604c5=await _0x1d9d68[_0x2c943c(0x15d)](readFile,_0x18bf65,_0x2c943c(0x191));return _0x4604c5['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0xa60b55){const _0x46216e={'Nwjju':function(_0x5c37f7,_0x337844,_0x2576ef){return _0x5c37f7(_0x337844,_0x2576ef);},'QOwZN':function(_0x102a5b,_0x46fd42){return _0x102a5b(_0x46fd42);},'xPGhL':function(_0x358b00,_0x10d989,_0x1822bd,_0x2e78b){return _0x358b00(_0x10d989,_0x1822bd,_0x2e78b);}},_0x39b25a=getRangerDir(),_0x443e5b=_0x46216e['Nwjju'](join,_0x39b25a,ACTIVE_FEATURE_FILE);!_0x46216e['QOwZN'](existsSync,_0x39b25a)&&await _0x46216e['Nwjju'](mkdir,_0x39b25a,{'recursive':!![]}),await _0x46216e['xPGhL'](writeFile,_0x443e5b,_0xa60b55,'utf-8');}function getProgressDisplay(_0x1b46ea){const _0x284d24=_0x26e7,_0x3623bb={'gnaYq':function(_0x4b0dac,_0x5a4cb6){return _0x4b0dac+_0x5a4cb6;},'oPFsU':function(_0x3d17e6,_0x15b2d0){return _0x3d17e6===_0x15b2d0;},'NfykO':function(_0x4aadb5,_0x4bcc5d){return _0x4aadb5+_0x4bcc5d;},'ykvOP':function(_0x4e6794,_0x518a79){return _0x4e6794-_0x518a79;},'TPZIT':function(_0x1b91e8,_0x1574d0){return _0x1b91e8>_0x1574d0;},'yupss':function(_0x4ac5a5,_0x2aa42e){return _0x4ac5a5>_0x2aa42e;}},_0x41bd6f=_0x1b46ea[_0x284d24(0x151)]||0x0,_0x367a62=_0x1b46ea[_0x284d24(0x122)]||0x0,_0xea198e=_0x1b46ea['blockedItems']||0x0,_0x11e781=_0x1b46ea['incompleteItems']||0x0,_0x4e3384=_0x1b46ea[_0x284d24(0x1c9)]||0x0,_0x182a90=_0x3623bb[_0x284d24(0x15f)](_0x3623bb['gnaYq'](_0x41bd6f,_0x367a62)+_0xea198e+_0x11e781,_0x4e3384);if(_0x3623bb[_0x284d24(0x138)](_0x182a90,0x0))return'-';const _0x51107e=0xa,_0x57a8a1=Math['round'](_0x41bd6f/_0x182a90*_0x51107e),_0x2294ad=_0x3623bb['NfykO']('█'['repeat'](_0x57a8a1),'░'['repeat'](_0x3623bb['ykvOP'](_0x51107e,_0x57a8a1))),_0x5ed25a=[];if(_0x3623bb[_0x284d24(0x128)](_0xea198e,0x0))_0x5ed25a[_0x284d24(0x13c)](_0xea198e+_0x284d24(0x1e0));if(_0x3623bb['yupss'](_0x11e781,0x0))_0x5ed25a[_0x284d24(0x13c)](_0x11e781+'\x20incomplete');if(_0x367a62>0x0)_0x5ed25a['push'](_0x367a62+_0x284d24(0x16a));const _0x54417e=_0x5ed25a['length']>0x0?'\x20('+_0x5ed25a['join'](',\x20')+')':'';return _0x2294ad+'\x20'+_0x41bd6f+'/'+_0x182a90+_0x284d24(0x1cf)+_0x54417e;}function getCurrentSessionItems(_0x3d1c47,_0x487b92){const _0x19d9df=_0x26e7;if(!_0x3d1c47['currentSessionId'])return _0x487b92[_0x19d9df(0x125)](_0x577eb9=>!_0x577eb9['sessionId']);return _0x487b92['filter'](_0x4fbc63=>_0x4fbc63[_0x19d9df(0x178)]===_0x3d1c47[_0x19d9df(0x118)]||!_0x4fbc63['sessionId']);}function displayFeature(_0x136a08,_0x46d0f9){const _0xf89b08=_0x26e7,_0x43a2b0={'xQOEz':function(_0x4b2b3b,_0x5f0c3b){return _0x4b2b3b(_0x5f0c3b);},'VwaRe':function(_0x586cc2,_0x548625){return _0x586cc2===_0x548625;},'oSgcp':'closed','EaPhu':function(_0x27f4d7,_0x32790b){return _0x27f4d7===_0x32790b;},'xEDLQ':'verified','OwPCM':function(_0x3022bb,_0x5ba633){return _0x3022bb===_0x5ba633;},'NlLeL':function(_0x201a88,_0x1151b9){return _0x201a88===_0x1151b9;},'DVaZg':function(_0x3690cf,_0x5b6184){return _0x3690cf>_0x5b6184;},'eWOjh':function(_0x1c59db,_0x53b716){return _0x1c59db>_0x53b716;},'NuPil':function(_0x76e536,_0x401a0e){return _0x76e536!==_0x401a0e;},'uGpmD':function(_0x56494e,_0x37e0ec){return _0x56494e+_0x37e0ec;},'BRROM':'blocked','alste':'incomplete','XouWK':function(_0x4c5825,_0x5b2fe4){return _0x4c5825===_0x5b2fe4;}};console['log']('\x0a'+_0x136a08[_0xf89b08(0x170)]+'\x20('+_0x136a08['dashboardUrl']+')');_0x136a08['stats']&&console['log'](_0xf89b08(0x143)+_0x43a2b0[_0xf89b08(0x1c7)](getProgressDisplay,_0x136a08['stats']));_0x136a08['description']&&console[_0xf89b08(0x1c5)](_0xf89b08(0x1c2)+_0x136a08['description']);_0x136a08[_0xf89b08(0x192)]&&console[_0xf89b08(0x1c5)]('\x20\x20\x20Repository:\x20'+_0x136a08[_0xf89b08(0x192)]);_0x136a08['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x136a08[_0xf89b08(0x19d)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x136a08[_0xf89b08(0x132)])['toLocaleString']());_0x136a08['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x136a08[_0xf89b08(0x11a)])[_0xf89b08(0x140)]());if(_0x46d0f9&&_0x46d0f9[_0xf89b08(0x19f)]>0x0){console[_0xf89b08(0x1c5)]('\x0a\x20\x20\x20Scenarios:');for(let _0x2283d4=0x0;_0x2283d4<_0x46d0f9['length'];_0x2283d4++){const _0x51673c=_0x46d0f9[_0x2283d4];let _0x2d3c94;if(_0x43a2b0['VwaRe'](_0x51673c['status'],_0x43a2b0[_0xf89b08(0x171)])&&_0x43a2b0['VwaRe'](_0x51673c[_0xf89b08(0x1ac)],'approved'))_0x2d3c94='✅';else{if(_0x43a2b0['EaPhu'](_0x51673c[_0xf89b08(0x123)],_0x43a2b0[_0xf89b08(0x16e)]))_0x2d3c94='🟢';else{if(_0x51673c['status']===_0xf89b08(0x1c8))_0x2d3c94='🟠';else{if(_0x51673c[_0xf89b08(0x123)]==='blocked')_0x2d3c94='🛑';else{if(_0x43a2b0['OwPCM'](_0x51673c['status'],_0xf89b08(0x1a8)))_0x2d3c94='⛔';else _0x43a2b0[_0xf89b08(0x14a)](_0x51673c[_0xf89b08(0x123)],'verification_in_progress')?_0x2d3c94='⏳':_0x2d3c94='⬜';}}}}const _0x2584a7=_0x43a2b0['DVaZg'](_0x51673c['version'],0x1)?'\x20(v'+_0x51673c['version']+')':'',_0x112d27=_0x43a2b0['eWOjh'](_0x51673c['version'],0x1)&&_0x51673c['parentItemId']&&_0x43a2b0['NuPil'](_0x51673c[_0xf89b08(0x123)],_0x43a2b0[_0xf89b08(0x171)])&&_0x43a2b0[_0xf89b08(0x17a)](_0x51673c[_0xf89b08(0x123)],_0x43a2b0['xEDLQ'])?_0xf89b08(0x127):'';console['log']('\x20\x20\x20'+_0x43a2b0[_0xf89b08(0x144)](_0x2283d4,0x1)+'.\x20'+_0x2d3c94+'\x20'+_0x51673c[_0xf89b08(0x1a5)]+_0x2584a7+_0x112d27);_0x51673c[_0xf89b08(0x123)]===_0x43a2b0['BRROM']&&_0x51673c['blockedReason']&&console['log'](_0xf89b08(0x1e4)+_0x51673c[_0xf89b08(0x18e)]);_0x51673c[_0xf89b08(0x123)]===_0x43a2b0[_0xf89b08(0x19e)]&&_0x51673c[_0xf89b08(0x1e3)]&&console[_0xf89b08(0x1c5)](_0xf89b08(0x182)+_0x51673c[_0xf89b08(0x1e3)]);if(_0x43a2b0[_0xf89b08(0x1c1)](_0x51673c[_0xf89b08(0x123)],_0x43a2b0['oSgcp'])&&_0x51673c['terminalReason']===_0xf89b08(0x190))console[_0xf89b08(0x1c5)](_0xf89b08(0x1df));else _0x43a2b0[_0xf89b08(0x14a)](_0x51673c[_0xf89b08(0x123)],_0x43a2b0[_0xf89b08(0x171)])&&_0x51673c[_0xf89b08(0x145)]&&console[_0xf89b08(0x1c5)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x51673c[_0xf89b08(0x145)]);}}}export async function featureCreate(_0x478d7c,_0x3a4f73){const _0x4541bd=_0x26e7,_0x2a6700={'eJxMi':function(_0x544776,_0x2bbf64){return _0x544776===_0x2bbf64;},'mOekU':function(_0x5bde8b,_0x6225b6){return _0x5bde8b(_0x6225b6);},'RZhiz':function(_0x350b87){return _0x350b87();},'IbIMH':'\x0aCreating\x20feature\x20review...','tdSpf':function(_0x56b736,_0x189127,_0x4b2fad){return _0x56b736(_0x189127,_0x4b2fad);}},{envNames:_0x532325}=await getEnvNames();_0x2a6700['eJxMi'](_0x532325['length'],0x0)&&console['warn']('\x0a'+_0x2a6700['mOekU'](formatProfileRequiredMessage,_0x5a7b0a=>bold(_0x5a7b0a)));const _0x2037f1=_0x3a4f73['scenarios']?_0x3a4f73['scenarios']['map'](_0x166a89=>_0x166a89['trim']()):[],_0x487fa7=getGitRepoUrl(),_0x25b769=_0x2a6700['RZhiz'](getGitBranch);console[_0x4541bd(0x1c5)](_0x2a6700['IbIMH']);const _0x5a76f4=await createFeature({'name':_0x478d7c,'description':_0x3a4f73['description'],'checklist':_0x2037f1,'gitRepoUrl':_0x487fa7,'gitBranch':_0x25b769});await _0x2a6700['mOekU'](setActiveFeatureId,_0x5a76f4['id']),await tryStartCurrentSession(_0x5a76f4['id']);const _0x5c8e75=process[_0x4541bd(0x12a)]['CLAUDE_SESSION_ID'];_0x5c8e75&&registerSession(_0x5c8e75,_0x5a76f4['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5a76f4['id']),_0x2a6700[_0x4541bd(0x117)](displayFeature,_0x5a76f4,_0x5a76f4['checklistItems']),console[_0x4541bd(0x1c5)](_0x4541bd(0x1de));}export async function featureList(_0x4a72ea){const _0x382d95=_0x26e7,_0x1cc310={'mPeEA':function(_0x3f419a){return _0x3f419a();},'WLnAs':function(_0x540a63,_0x54950e){return _0x540a63(_0x54950e);},'hlqbX':_0x382d95(0x1da),'xokbf':function(_0x3b42e2,_0x4714d4){return _0x3b42e2>_0x4714d4;},'Esvvc':function(_0x2844e2,_0x38b5c4){return _0x2844e2!==_0x38b5c4;},'SNEIn':'\x20--include-deleted'},_0x20872f={'limit':_0x4a72ea['limit']??0xa,'offset':_0x4a72ea['offset']??0x0,'includeDeleted':_0x4a72ea[_0x382d95(0x1d8)]};_0x4a72ea['currentBranch']&&(_0x20872f['gitRepoUrl']=_0x1cc310['mPeEA'](getGitRepoUrl),_0x20872f[_0x382d95(0x19d)]=getGitBranch());const _0x3594af=await _0x1cc310[_0x382d95(0x112)](listFeatures,_0x20872f);if(_0x3594af[_0x382d95(0x1d9)][_0x382d95(0x19f)]===0x0){console[_0x382d95(0x1c5)](_0x1cc310['hlqbX']);return;}const _0x452b0c=_0x1cc310[_0x382d95(0x169)](_0x3594af[_0x382d95(0x141)],_0x3594af[_0x382d95(0x1d9)][_0x382d95(0x19f)])?'Showing\x20'+_0x3594af[_0x382d95(0x1d9)]['length']+'\x20of\x20'+_0x3594af['totalCount']:_0x3594af['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x452b0c+':\x0a');for(const _0xabd88c of _0x3594af[_0x382d95(0x1d9)]){const _0xd6e18d='3|5|2|1|4|0'[_0x382d95(0x154)]('|');let _0x1c2480=0x0;while(!![]){switch(_0xd6e18d[_0x1c2480++]){case'0':console['log']('');continue;case'1':_0xabd88c[_0x382d95(0x19d)]&&console['log'](_0x382d95(0x130)+_0xabd88c[_0x382d95(0x19d)]);continue;case'2':_0xabd88c['stats']&&console['log'](_0x382d95(0x143)+getProgressDisplay(_0xabd88c[_0x382d95(0x184)]));continue;case'3':console[_0x382d95(0x1c5)](''+_0xabd88c[_0x382d95(0x170)]);continue;case'4':console['log']('\x20\x20\x20Created:\x20'+new Date(_0xabd88c[_0x382d95(0x132)])['toLocaleDateString']());continue;case'5':console[_0x382d95(0x1c5)]('\x20\x20\x20ID:\x20'+_0xabd88c['id']);continue;}break;}}const _0x36b9af=_0x20872f[_0x382d95(0x12e)]??0xa,_0x504737=(_0x20872f[_0x382d95(0x1b8)]??0x0)+_0x3594af['items'][_0x382d95(0x19f)];if(_0x504737<_0x3594af[_0x382d95(0x141)]){const _0x92f0af=_0x1cc310['Esvvc'](_0x36b9af,0xa)?'\x20--limit\x20'+_0x36b9af:'',_0x45d0c3=_0x4a72ea['currentBranch']?_0x382d95(0x1aa):'',_0x4538d6=_0x4a72ea[_0x382d95(0x1d8)]?_0x1cc310[_0x382d95(0x18c)]:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x504737+_0x92f0af+_0x45d0c3+_0x4538d6);}}export async function featureShow(_0x7c72ab){const _0x3bb5a8=_0x26e7,_0x540763={'hGEuv':function(_0xb58e84,_0x33211a){return _0xb58e84(_0x33211a);},'GFDVD':function(_0x305bd7,_0x279ce9,_0x1e4359){return _0x305bd7(_0x279ce9,_0x1e4359);}},_0x488ab8=_0x7c72ab||await getActiveFeatureId();if(!_0x488ab8)throw new Error(_0x3bb5a8(0x177));const _0x49eae8=await _0x540763[_0x3bb5a8(0x1d7)](getFeature,_0x488ab8);_0x540763['GFDVD'](displayFeature,_0x49eae8,_0x49eae8['checklistItems']);}export async function featureResume(_0x35d888){const _0x18ba6d=_0x26e7,_0x3c74e4={'EinNX':function(_0x52915b,_0x1efd47){return _0x52915b(_0x1efd47);},'jbUbF':function(_0x27c960){return _0x27c960();},'VuXjC':function(_0x209431,_0x40c7b5,_0x6be003){return _0x209431(_0x40c7b5,_0x6be003);},'UnKIF':function(_0x296c4e,_0x2f0e35){return _0x296c4e||_0x2f0e35;},'aoJKX':function(_0x117be7,_0x5775b7){return _0x117be7===_0x5775b7;},'TbdyV':_0x18ba6d(0x1cc),'XBsoy':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','zMFGG':function(_0x214d81,_0x5345b7){return _0x214d81(_0x5345b7);},'wYCUg':function(_0x5ac044,_0x30254b){return _0x5ac044!==_0x30254b;},'iZmaK':function(_0x26d078,_0x1deea2,_0xaf0425){return _0x26d078(_0x1deea2,_0xaf0425);}};if(_0x35d888){const _0x5bfa3d=await getFeature(_0x35d888);await _0x3c74e4[_0x18ba6d(0x15c)](setActiveFeatureId,_0x5bfa3d['id']);const _0x37c8ab=_0x3c74e4[_0x18ba6d(0x1d6)](getGitBranch);_0x37c8ab&&_0x37c8ab!==_0x5bfa3d[_0x18ba6d(0x19d)]&&(await updateFeature(_0x5bfa3d['id'],{'gitBranch':_0x37c8ab}),console[_0x18ba6d(0x1c5)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x37c8ab));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x5bfa3d['name']+'\x20('+_0x5bfa3d['id']+')'),await tryStartCurrentSession(_0x5bfa3d['id']);const _0x9692ca=process['env']['CLAUDE_SESSION_ID'];_0x9692ca&&registerSession(_0x9692ca,_0x5bfa3d['id']);_0x3c74e4['VuXjC'](displayFeature,_0x5bfa3d,_0x5bfa3d['checklistItems']),await printFeedbackNudge(_0x5bfa3d['id']);return;}const _0x145e58=getGitRepoUrl(),_0x3e0681=_0x3c74e4[_0x18ba6d(0x1d6)](getGitBranch);if(!_0x145e58&&!_0x3e0681)throw new Error(_0x18ba6d(0x11c));console['log'](_0x18ba6d(0x176)+_0x3c74e4['UnKIF'](_0x145e58,_0x18ba6d(0x199))+_0x18ba6d(0x17d)+(_0x3e0681||'any')+_0x18ba6d(0x14b));const _0x2f78c3=await listFeatures({'gitRepoUrl':_0x145e58,'gitBranch':_0x3e0681}),_0x2b7474=_0x2f78c3[_0x18ba6d(0x1d9)][_0x18ba6d(0x125)](_0x14e802=>!_0x14e802[_0x18ba6d(0x11a)]);if(_0x3c74e4['aoJKX'](_0x2b7474[_0x18ba6d(0x19f)],0x0)){console[_0x18ba6d(0x1c5)](_0x18ba6d(0x134)),console[_0x18ba6d(0x1c5)](_0x3c74e4[_0x18ba6d(0x1c3)]);return;}let _0x36c5a0;if(_0x3c74e4['aoJKX'](_0x2b7474[_0x18ba6d(0x19f)],0x1))_0x36c5a0=_0x2b7474[0x0];else{const _0x44a5b3=process[_0x18ba6d(0x186)][_0x18ba6d(0x148)]&&process[_0x18ba6d(0x15b)]['isTTY'];if(!_0x44a5b3){console[_0x18ba6d(0x1c5)](_0x3c74e4[_0x18ba6d(0x183)]);for(const _0xc67a54 of _0x2b7474){console[_0x18ba6d(0x1c5)]('\x20\x20'+_0xc67a54['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0xc67a54['id']),_0xc67a54[_0x18ba6d(0x184)]&&console[_0x18ba6d(0x1c5)](_0x18ba6d(0x121)+_0x3c74e4['zMFGG'](getProgressDisplay,_0xc67a54['stats'])),_0xc67a54['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0xc67a54['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x4beafe}=await _0x1732ef[_0x18ba6d(0x115)]([{'type':_0x18ba6d(0x165),'name':_0x18ba6d(0x1bb),'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x2b7474['map'](_0xf9b729=>({'name':_0xf9b729['name']+'\x20('+_0xf9b729['id']+')','value':_0xf9b729['id']}))}]);_0x36c5a0=_0x2b7474['find'](_0x46c381=>_0x46c381['id']===_0x4beafe);}await setActiveFeatureId(_0x36c5a0['id']);_0x3e0681&&_0x3c74e4[_0x18ba6d(0x1a0)](_0x3e0681,_0x36c5a0['gitBranch'])&&(await updateFeature(_0x36c5a0['id'],{'gitBranch':_0x3e0681}),console['log'](_0x18ba6d(0x1e1)+_0x3e0681));console['log'](_0x18ba6d(0x116)+_0x36c5a0['name']+'\x20('+_0x36c5a0['id']+')'),await tryStartCurrentSession(_0x36c5a0['id']);const _0x150782=await getFeature(_0x36c5a0['id']),_0x422b98=process[_0x18ba6d(0x12a)][_0x18ba6d(0x193)];_0x422b98&&_0x3c74e4['iZmaK'](registerSession,_0x422b98,_0x150782['id']),displayFeature(_0x150782,_0x150782[_0x18ba6d(0x14f)]),await printFeedbackNudge(_0x150782['id']);}async function printFeedbackNudge(_0x192e60){const _0x349531=_0x26e7,_0x51d265={'Fgizv':function(_0xa41f29,_0x1f7f5a){return _0xa41f29>_0x1f7f5a;}};try{const {items:_0x410b6c}=await getActionItems(_0x192e60);let _0x451e3b=0x0,_0xec04a9=0x0;for(const _0x5a33e9 of _0x410b6c){const _0x105ccc=await getItemFeedback(_0x192e60,_0x5a33e9['id']);_0x51d265[_0x349531(0x13d)](_0x105ccc['unaddressedComments'][_0x349531(0x19f)],0x0)&&(_0x451e3b+=_0x105ccc['unaddressedComments'][_0x349531(0x19f)],_0xec04a9++);}_0x51d265[_0x349531(0x13d)](_0x451e3b,0x0)&&(console[_0x349531(0x1c5)](_0x349531(0x136)+_0x451e3b+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0xec04a9+_0x349531(0x13f)),console[_0x349531(0x1c5)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0xde3dc0){const _0x5db71a=_0x26e7,_0xcc5f74={'AMbfR':function(_0x56aa83,_0x555bfe){return _0x56aa83(_0x555bfe);},'WoIeo':function(_0x1ebc82,_0x4a33fc,_0x3e1894){return _0x1ebc82(_0x4a33fc,_0x3e1894);}};try{const {sessions:_0x40e7b1}=await _0xcc5f74['AMbfR'](listFeatureSessions,_0xde3dc0),_0x575294=_0x40e7b1[_0x5db71a(0x1a1)](_0x330d0a=>_0x330d0a[_0x5db71a(0x123)]==='ready');_0x575294&&(await _0xcc5f74['WoIeo'](startSession,_0xde3dc0,_0x575294['id']),console[_0x5db71a(0x1c5)](_0x5db71a(0x16f)+_0x575294['iteration']));}catch{}}export async function featureReport(_0x429510,_0x1f6691){const _0x5f390d=_0x26e7,_0x3e9899={'xPDQv':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','YxtJa':_0x5f390d(0x14c),'WdQEZ':function(_0x5854c3,_0x36ecf0,_0x4c63af){return _0x5854c3(_0x36ecf0,_0x4c63af);},'GQHHH':function(_0x2c6c9c,_0x1261ca,_0x35a9c6,_0x2b9b4b){return _0x2c6c9c(_0x1261ca,_0x35a9c6,_0x2b9b4b);},'ELmxw':function(_0x48c81e){return _0x48c81e();},'ChiNI':'reports'},_0x291ea8=_0x429510||await getActiveFeatureId();if(!_0x291ea8)throw new Error(_0x3e9899[_0x5f390d(0x1cb)]);console[_0x5f390d(0x1c5)](_0x3e9899['YxtJa']);const _0x12de99=await _0x3e9899[_0x5f390d(0x129)](getFeatureReportMarkdown,_0x291ea8,{'style':_0x1f6691['style']}),_0x1d2420=_0x1f6691[_0x5f390d(0x1ae)]||_0x3e9899['GQHHH'](join,_0x3e9899[_0x5f390d(0x1d3)](getRangerDir),_0x3e9899['ChiNI'],_0x291ea8+_0x5f390d(0x1ca)),_0x132856=join(_0x1d2420,'..');!existsSync(_0x132856)&&await mkdir(_0x132856,{'recursive':!![]}),await _0x3e9899['GQHHH'](writeFile,_0x1d2420,_0x12de99,'utf-8'),console['log'](_0x5f390d(0x19a)+_0x1d2420);}function getScenarioResult(_0x6ac1b3){const _0x162f1e=_0x26e7,_0xf01574={'yyocJ':'closed'};if(_0x6ac1b3[_0x162f1e(0x123)]===_0xf01574[_0x162f1e(0x12c)])return _0x6ac1b3['terminalReason']??_0x162f1e(0x1a8);if(_0x6ac1b3['status']==='verification_in_progress')return _0x162f1e(0x1d5);return _0x6ac1b3['status'];}function getScenarioRationale(_0x1c8ce9,_0x429231){const _0xe47b90=_0x26e7;if(_0x429231)return _0x429231;if(_0x1c8ce9['blockedReason'])return _0x1c8ce9['blockedReason'];if(_0x1c8ce9[_0xe47b90(0x1e3)])return _0x1c8ce9['incompleteReason'];if(_0x1c8ce9['canceledReason'])return _0x1c8ce9[_0xe47b90(0x145)];if(_0x1c8ce9['notes'])return _0x1c8ce9['notes'];return null;}export async function featureReportPrDescription(_0x7aae15,_0xa82eae){const _0x2f7cd5=_0x26e7,_0x17b579={'Stmqt':function(_0x35053c,_0x2209c9){return _0x35053c(_0x2209c9);},'eRuJd':function(_0x26b9f2,_0x94712,_0x27f13f){return _0x26b9f2(_0x94712,_0x27f13f);},'EuJCv':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','oEWuF':_0x2f7cd5(0x160)},_0x510489=_0x7aae15||await getActiveFeatureId();if(!_0x510489)throw new Error(_0x2f7cd5(0x1b1));const _0x190e87=await _0x17b579[_0x2f7cd5(0x131)](getFeature,_0x510489),_0x11b9ae=_0x190e87[_0x2f7cd5(0x14f)]||[],_0xbcbdca=_0x17b579[_0x2f7cd5(0x17b)](getCurrentSessionItems,_0x190e87,_0x11b9ae);_0xbcbdca[_0x2f7cd5(0x19f)]===0x0&&(console['error'](_0x17b579['EuJCv']),process['exit'](0x1));const _0x34f975=_0xa82eae['excludeScenarios']??[],_0x142ab5=_0x34f975[_0x2f7cd5(0x125)](_0x3ff66a=>!Number[_0x2f7cd5(0x1c4)](_0x3ff66a)||_0x3ff66a<0x1||_0x3ff66a>_0xbcbdca['length']);if(_0x142ab5['length']>0x0){console['error'](_0x2f7cd5(0x1b5)+_0x142ab5[_0x2f7cd5(0x1d4)](',\x20')),console[_0x2f7cd5(0x1c5)]('\x0aAvailable\x20scenarios:');for(let _0x5d84c0=0x0;_0x5d84c0<_0xbcbdca[_0x2f7cd5(0x19f)];_0x5d84c0++){console['log']('\x20\x20'+(_0x5d84c0+0x1)+'.\x20'+_0xbcbdca[_0x5d84c0]['description']);}process['exit'](0x1);}const _0x4c88ee=new Set(_0x34f975[_0x2f7cd5(0x13a)](_0x29bc44=>_0x29bc44-0x1)),_0x15e407=_0xbcbdca['filter']((_0xf310cb,_0x20e3c3)=>!_0x4c88ee['has'](_0x20e3c3));_0x15e407['length']===0x0&&(console[_0x2f7cd5(0x1db)](_0x17b579[_0x2f7cd5(0x11d)]),process['exit'](0x1));if(_0xa82eae['json'])await outputJsonReport(_0x510489,_0x190e87,_0x15e407);else{const _0x347c99=await _0x17b579[_0x2f7cd5(0x17b)](getFeatureReportMarkdown,_0x510489,{'itemIds':_0x15e407[_0x2f7cd5(0x13a)](_0x2591c6=>_0x2591c6['id'])});process['stdout']['write'](_0x347c99[_0x2f7cd5(0x114)]()+'\x0a');}}async function outputJsonReport(_0x2c63b3,_0x1c0fdd,_0x302755){const _0x129c7f=_0x26e7,_0x5ae5b6={'CqkGA':function(_0x52a16f,_0x21f50b){return _0x52a16f(_0x21f50b);},'FKrjj':function(_0x40acd5,_0x19eabd,_0x12a451){return _0x40acd5(_0x19eabd,_0x12a451);}},_0x1ad6ce=getApiBaseUrl(),_0x4f6898=await getFeatureReport(_0x2c63b3),_0x3be8ba=new Map(_0x4f6898['checklistItems']['map'](_0x2e91bd=>[_0x2e91bd['id'],_0x2e91bd])),_0x4ba15b=await Promise[_0x129c7f(0x120)](_0x302755[_0x129c7f(0x13a)](async _0xcd8b00=>{const _0x402d33=_0x129c7f,_0x3b3e6b=_0x3be8ba['get'](_0xcd8b00['id']),_0x16750e=_0x3b3e6b?.['linkedSession']??null;let _0x325e6f=[];if(_0xcd8b00['browserSessionId'])try{const {steps:_0x16d82d}=await getBrowserSessionSteps(_0xcd8b00[_0x402d33(0x175)]);_0x16d82d['length']>0x0&&(_0x325e6f=_0x16d82d[_0x402d33(0x13a)](_0x48c7f4=>{const _0x37b063=_0x402d33,_0xae036c=_0x48c7f4[_0x37b063(0x16b)][_0x37b063(0x1a1)](_0x4e1a92=>_0x4e1a92['assetType']==='screenshot'&&_0x4e1a92['timing']===_0x37b063(0x1b0))??_0x48c7f4['assets'][_0x37b063(0x1a1)](_0x3b5c04=>_0x3b5c04[_0x37b063(0x197)]==='screenshot');let _0x190702=null,_0x1896e5=null;if(_0xae036c){const _0x1a74aa=_0xae036c[_0x37b063(0x139)][_0x37b063(0x142)]['split']('/')[_0x37b063(0x1a4)]();_0x190702=_0x1ad6ce+_0x37b063(0x195)+_0xcd8b00[_0x37b063(0x175)]+'/artifacts/'+_0x1a74aa,_0x1a74aa&&(_0x1896e5=_0x1a74aa['replace'](/\.\w+$/,'')[_0x37b063(0x1ce)](/^(key_)?\d+_/,'')[_0x37b063(0x1ce)](/[-_]/g,'\x20'));}return{'description':_0x1896e5||_0x48c7f4['description']||_0x48c7f4['stepName']||'Step\x20'+_0x48c7f4[_0x37b063(0x1a6)],'screenshot':_0x190702,'is_key_step':_0x48c7f4['isKeyStep']};}));}catch{}return _0x325e6f[_0x402d33(0x19f)]===0x0&&_0x16750e?.[_0x402d33(0x133)]&&(_0x325e6f=_0x16750e[_0x402d33(0x133)]['map']((_0x3c419e,_0x4e3ef)=>({'description':'Screenshot\x20'+(_0x4e3ef+0x1),'screenshot':_0x3c419e,'is_key_step':![]}))),{'description':_0xcd8b00['description'],'result':_0x5ae5b6['CqkGA'](getScenarioResult,_0xcd8b00),'rationale':_0x5ae5b6['FKrjj'](getScenarioRationale,_0xcd8b00,_0x16750e?.['agentResponse']),'steps':_0x325e6f};})),_0x224a46={'url':_0x1c0fdd['dashboardUrl'],'scenarios':_0x4ba15b};process[_0x129c7f(0x15b)]['write'](JSON[_0x129c7f(0x1bc)](_0x224a46,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2b45c5){const _0x937e16=_0x26e7,_0x41697d={'zaWuX':function(_0x5a3829){return _0x5a3829();},'stnyL':function(_0x2ce9cd,_0x2d69e4){return _0x2ce9cd(_0x2d69e4);},'WwsGn':_0x937e16(0x1b7),'KDAmm':function(_0x2ee46a,_0x5779cb){return _0x2ee46a(_0x5779cb);},'NmpGp':'Current\x20session\x20not\x20found.','sXCqB':function(_0x50aa37,_0x311c8c){return _0x50aa37===_0x311c8c;},'JLlcV':_0x937e16(0x1be),'AGFZy':'\x0a✅\x20Session\x20is\x20already\x20completed.','GMTxF':function(_0x121e11,_0x5e3fe8){return _0x121e11!==_0x5e3fe8;},'JoMjG':_0x937e16(0x1d5),'lQaUa':function(_0x178a18,_0x4ed350,_0x3a1b2a){return _0x178a18(_0x4ed350,_0x3a1b2a);}},_0x4cb5ad=_0x2b45c5||await _0x41697d['zaWuX'](getActiveFeatureId);if(!_0x4cb5ad)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 _0x5d4bba=await _0x41697d[_0x937e16(0x149)](getFeature,_0x4cb5ad);if(!_0x5d4bba['currentSessionId'])throw new Error(_0x41697d['WwsGn']);const {sessions:_0x56eb3e}=await _0x41697d[_0x937e16(0x156)](listFeatureSessions,_0x4cb5ad),_0x4c03ef=_0x56eb3e['find'](_0x5bd38c=>_0x5bd38c['id']===_0x5d4bba['currentSessionId']);if(!_0x4c03ef)throw new Error(_0x41697d['NmpGp']);if(_0x41697d['sXCqB'](_0x4c03ef['status'],_0x41697d['JLlcV'])){console['log'](_0x41697d[_0x937e16(0x150)]);return;}if(_0x41697d['GMTxF'](_0x4c03ef[_0x937e16(0x123)],_0x41697d['JoMjG']))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4c03ef[_0x937e16(0x123)]);console[_0x937e16(0x1c5)](_0x937e16(0x137)),await _0x41697d['lQaUa'](concludeSession,_0x4cb5ad,_0x5d4bba[_0x937e16(0x118)]),console['log']('\x0a✅\x20Session\x20'+_0x4c03ef['iteration']+_0x937e16(0x135)),console[_0x937e16(0x1c5)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x510dc1){const _0x2406f6=_0x26e7,_0x59cf49={'BgKON':_0x2406f6(0x1b1),'IGoEZ':function(_0x1df8da,_0x7f03a){return _0x1df8da(_0x7f03a);},'JuKbE':function(_0x1e4273,_0x13791f){return _0x1e4273===_0x13791f;},'jJsxy':_0x2406f6(0x174),'NSJla':_0x2406f6(0x1d5)},_0x51baf2=_0x510dc1||await getActiveFeatureId();if(!_0x51baf2)throw new Error(_0x59cf49['BgKON']);const _0x6c43c3=await _0x59cf49['IGoEZ'](getFeature,_0x51baf2);console[_0x2406f6(0x1c5)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x6c43c3['name']+'\x0a');const {sessions:_0x3566ee}=await listFeatureSessions(_0x51baf2);if(_0x59cf49['JuKbE'](_0x3566ee['length'],0x0)){console[_0x2406f6(0x1c5)](_0x59cf49['jJsxy']);return;}for(const _0x40e9e6 of _0x3566ee){const _0x29fffa=_0x40e9e6[_0x2406f6(0x123)]==='completed'?'✅':_0x40e9e6['status']===_0x59cf49[_0x2406f6(0x16d)]?'🔄':'▶️';console[_0x2406f6(0x1c5)](_0x29fffa+_0x2406f6(0x13e)+_0x40e9e6[_0x2406f6(0x1e2)]+'\x20('+_0x40e9e6['id']+')'),console[_0x2406f6(0x1c5)]('\x20\x20\x20Status:\x20'+_0x40e9e6[_0x2406f6(0x123)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x40e9e6[_0x2406f6(0x132)])[_0x2406f6(0x140)]()),_0x40e9e6[_0x2406f6(0x11a)]&&console[_0x2406f6(0x1c5)](_0x2406f6(0x1cd)+new Date(_0x40e9e6['completedAt'])[_0x2406f6(0x140)]()),console['log']('');}}function _0x26e7(_0x1ccdd9,_0x3df46a){_0x1ccdd9=_0x1ccdd9-0x111;const _0x4ef9a3=_0x4ef9();let _0x26e7bd=_0x4ef9a3[_0x1ccdd9];return _0x26e7bd;}export async function featureAddScenario(_0x57f73e,_0x2203cf){const _0x34df0d=_0x26e7,_0x4a1fde={'tZPUw':function(_0xd39833){return _0xd39833();},'DoWbK':function(_0x343f09,_0x35c476){return _0x343f09(_0x35c476);},'pCqgP':function(_0x3d29c2,_0x572af5,_0x532f92){return _0x3d29c2(_0x572af5,_0x532f92);}},_0x3e770e=_0x2203cf||await _0x4a1fde['tZPUw'](getActiveFeatureId);if(!_0x3e770e)throw new Error(_0x34df0d(0x177));const _0x34b428=await _0x4a1fde[_0x34df0d(0x1a7)](getFeature,_0x3e770e);if(_0x34b428[_0x34df0d(0x1d1)]&&!_0x34b428[_0x34df0d(0x1d1)]['submittedAt'])throw new Error(_0x34df0d(0x113)+_0x34b428[_0x34df0d(0x1a9)]);await _0x4a1fde[_0x34df0d(0x15a)](createChecklistItem,_0x3e770e,_0x57f73e);const _0x210f64=await getFeature(_0x3e770e);console['log']('\x0a✅\x20Scenario\x20added'),_0x4a1fde['pCqgP'](displayFeature,_0x210f64,_0x210f64[_0x34df0d(0x14f)]);}export async function featureEditScenario(_0x4b3407,_0x5c8d1b){const _0x319b32=_0x26e7,_0x5c0498={'sLKNz':function(_0x2bd6a2){return _0x2bd6a2();},'AbkYI':_0x319b32(0x1bd),'MsRea':_0x319b32(0x163),'vLnMS':function(_0x4f414b,_0x22ea23){return _0x4f414b===_0x22ea23;},'IZnnB':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','imDjL':function(_0x3fe61d,_0xdbab74){return _0x3fe61d<_0xdbab74;},'rJjQL':_0x319b32(0x11b),'EUJQW':function(_0x4625da,_0x284052){return _0x4625da+_0x284052;},'CmvTo':function(_0x521ba8,_0x430145){return _0x521ba8(_0x430145);}},_0xbc0994=_0x5c8d1b['id']||await _0x5c0498['sLKNz'](getActiveFeatureId);!_0xbc0994&&(console[_0x319b32(0x1db)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x319b32(0x1db)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x319b32(0x16c)](0x1));const _0x519432=await getFeature(_0xbc0994);_0x519432['latestReview']&&!_0x519432[_0x319b32(0x1d1)][_0x319b32(0x158)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error'](_0x5c0498[_0x319b32(0x19b)]),console['error']('\x20\x20'+_0x519432[_0x319b32(0x1a9)]),process['exit'](0x1));const _0x11ae7a=_0x519432['checklistItems']||[];_0x11ae7a[_0x319b32(0x19f)]===0x0&&(console['error'](_0x5c0498[_0x319b32(0x172)]),process[_0x319b32(0x16c)](0x1));if(_0x5c0498[_0x319b32(0x17c)](_0x5c8d1b[_0x319b32(0x181)],undefined)){console[_0x319b32(0x1db)](_0x5c0498['IZnnB']),console['log']('\x0aAvailable\x20scenarios:');for(let _0x3afa02=0x0;_0x3afa02<_0x11ae7a[_0x319b32(0x19f)];_0x3afa02++){console[_0x319b32(0x1c5)]('\x20\x20'+(_0x3afa02+0x1)+'.\x20'+_0x11ae7a[_0x3afa02][_0x319b32(0x1a5)]);}process['exit'](0x1);}const _0x3346a0=_0x5c8d1b[_0x319b32(0x181)]-0x1;if(_0x5c0498[_0x319b32(0x1a2)](_0x3346a0,0x0)||_0x3346a0>=_0x11ae7a['length']){console['error'](_0x319b32(0x12d)+_0x5c8d1b['scenario']+_0x319b32(0x1c6)+_0x11ae7a[_0x319b32(0x19f)]+_0x319b32(0x159)),console['log'](_0x5c0498['rJjQL']);for(let _0xd604db=0x0;_0xd604db<_0x11ae7a['length'];_0xd604db++){console[_0x319b32(0x1c5)]('\x20\x20'+_0x5c0498['EUJQW'](_0xd604db,0x1)+'.\x20'+_0x11ae7a[_0xd604db]['description']);}process[_0x319b32(0x16c)](0x1);}const _0x38e479=_0x11ae7a[_0x3346a0];await updateChecklistItem(_0xbc0994,_0x38e479['id'],{'description':_0x4b3407});const _0x534f5d=await _0x5c0498['CmvTo'](getFeature,_0xbc0994);console[_0x319b32(0x1c5)](_0x319b32(0x1ad)),displayFeature(_0x534f5d,_0x534f5d['checklistItems']);}async function downloadFeedbackImage(_0x11390d,_0x38c336){const _0x47762c=_0x26e7,_0x37437c={'lwzrL':function(_0x462799,_0x46b30b,_0x12f07b){return _0x462799(_0x46b30b,_0x12f07b);},'rowBB':_0x47762c(0x12b)};try{const _0xfcf661=_0x37437c[_0x47762c(0x14e)](join,getRangerDir(),_0x37437c['rowBB']);await _0x37437c['lwzrL'](mkdir,_0xfcf661,{'recursive':!![]});const _0x275324=_0x37437c['lwzrL'](join,_0xfcf661,'comment_'+_0x38c336+_0x47762c(0x173)),_0x1457ea=await fetch(_0x11390d);if(!_0x1457ea['ok'])return null;const _0x451aae=Buffer[_0x47762c(0x187)](await _0x1457ea[_0x47762c(0x146)]());return await _0x37437c[_0x47762c(0x14e)](writeFile,_0x275324,_0x451aae),_0x275324;}catch{return null;}}export async function featureGetReview(_0x4a338c){const _0x47eea9=_0x26e7,_0xb608f6={'NVAwL':function(_0x562614){return _0x562614();},'Sttit':_0x47eea9(0x177),'mUsIj':function(_0x499325,_0x30d1f1){return _0x499325(_0x30d1f1);},'fpjYs':'No\x20scenarios\x20found.','gjtgf':function(_0x13b7e9,_0x174adb){return _0x13b7e9<_0x174adb;},'pxhIT':function(_0x28e657,_0x17fcf8){return _0x28e657>_0x17fcf8;},'Wkssj':function(_0x44a4e5,_0x31614f){return _0x44a4e5+_0x31614f;},'eAaWd':'en-US','kbxjR':'numeric','bPDIs':function(_0x51f2fb,_0x4d2e40,_0x296c46){return _0x51f2fb(_0x4d2e40,_0x296c46);},'bLNVD':_0x47eea9(0x18d),'uNKel':function(_0x5d5c9e,_0x4a6616){return _0x5d5c9e>=_0x4a6616;},'hNtVy':function(_0x5c06d3,_0x73cc99){return _0x5c06d3+_0x73cc99;}},_0x188175=_0x4a338c||await _0xb608f6[_0x47eea9(0x1ba)](getActiveFeatureId);if(!_0x188175)throw new Error(_0xb608f6['Sttit']);const _0x5902a6=await _0xb608f6[_0x47eea9(0x185)](getFeature,_0x188175),{items:_0x185820}=await getActionItems(_0x188175);console['log'](_0x47eea9(0x196)+_0x5902a6['name']+'\x20('+_0x5902a6['id']+')\x0a');if(_0x185820['length']===0x0){console['log'](_0xb608f6[_0x47eea9(0x164)]);return;}for(let _0x35d421=0x0;_0xb608f6['gjtgf'](_0x35d421,_0x185820[_0x47eea9(0x19f)]);_0x35d421++){const _0x123bc6=_0x185820[_0x35d421],_0x98541f=_0xb608f6['pxhIT'](_0x123bc6[_0x47eea9(0x1e5)],0x1)?'\x20(v'+_0x123bc6[_0x47eea9(0x1e5)]+')':'',_0x3b7e2c=await getItemFeedback(_0x188175,_0x123bc6['id']);if(_0x3b7e2c[_0x47eea9(0x111)]['length']>0x0){console[_0x47eea9(0x1c5)](_0x47eea9(0x1b9)+_0xb608f6[_0x47eea9(0x168)](_0x35d421,0x1)+_0x47eea9(0x153)+_0x123bc6['description']+'\x22'+_0x98541f+'\x20—\x20'+_0x3b7e2c[_0x47eea9(0x111)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x29bab0 of _0x3b7e2c[_0x47eea9(0x111)]){const _0x539831=new Date(_0x29bab0[_0x47eea9(0x132)])['toLocaleDateString'](_0xb608f6['eAaWd'],{'month':'short','day':_0xb608f6['kbxjR']}),_0x45911f=_0x29bab0['authorName']||_0x29bab0['authorEmail']||_0x47eea9(0x1bf);console[_0x47eea9(0x1c5)](_0x47eea9(0x126)+_0x45911f+'\x20('+_0x539831+_0x47eea9(0x152)+_0x29bab0['content']+'\x22');if(_0x29bab0['assetUrl']){const _0x4a7ff5=await _0xb608f6['bPDIs'](downloadFeedbackImage,_0x29bab0['assetUrl'],_0x29bab0['id']);_0x4a7ff5&&console[_0x47eea9(0x1c5)](_0x47eea9(0x14d)+_0x4a7ff5);}if(_0x29bab0[_0x47eea9(0x119)]){const _0x59dff4=_0x29bab0[_0x47eea9(0x119)]['selector'][_0x47eea9(0x154)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||'element',_0x319985=_0x29bab0['domRef'][_0x47eea9(0x1a3)]?'\x20\x22'+_0x29bab0['domRef'][_0x47eea9(0x1a3)][_0x47eea9(0x18f)](0x0,0x3c)+'\x22':'';console['log'](_0x47eea9(0x194)+_0x59dff4+'>'+_0x319985),console['log'](_0x47eea9(0x1b2)+_0x29bab0[_0x47eea9(0x119)][_0x47eea9(0x12f)]);}else{if(_0x29bab0['spatial']){const _0x246cf1=_0x29bab0[_0x47eea9(0x17e)]['coordinates'];_0x29bab0[_0x47eea9(0x17e)]['type']===_0xb608f6[_0x47eea9(0x18a)]&&_0xb608f6[_0x47eea9(0x1b6)](_0x246cf1['length'],0x2)?console[_0x47eea9(0x1c5)](_0x47eea9(0x11e)+_0x246cf1[0x0][_0x47eea9(0x166)](0x2)+',\x20'+_0x246cf1[0x1]['toFixed'](0x2)+')'):console[_0x47eea9(0x1c5)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x29bab0[_0x47eea9(0x17e)][_0x47eea9(0x198)]+_0x47eea9(0x1af)+_0x246cf1[_0x47eea9(0x13a)](_0x5cb4e1=>_0x5cb4e1[_0x47eea9(0x166)](0x2))[_0x47eea9(0x1d4)](',\x20')+']');}}}if(_0x3b7e2c['canonicalFlow']){console[_0x47eea9(0x1c5)](_0x47eea9(0x1b3));for(const _0x3ff6ed of _0x3b7e2c['canonicalFlow']['split']('\x0a')){console['log'](_0x47eea9(0x155)+_0x3ff6ed);}}}else console[_0x47eea9(0x1c5)]('Scenario\x20'+_0xb608f6['hNtVy'](_0x35d421,0x1)+_0x47eea9(0x153)+_0x123bc6['description']+'\x22'+_0x98541f+_0x47eea9(0x17f)),console[_0x47eea9(0x1c5)](_0x47eea9(0x167));console['log']('');}}export async function featureDelete(_0x3caf9b){const _0x27a2ff=_0x26e7,_0x3a1f89={'yvlbS':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x5db655=_0x3caf9b||await getActiveFeatureId();if(!_0x5db655)throw new Error(_0x3a1f89[_0x27a2ff(0x180)]);const _0x3c82c6=await getFeature(_0x5db655);await softDeleteFeature(_0x5db655),console[_0x27a2ff(0x1c5)](_0x27a2ff(0x13b)+_0x3c82c6['name']+'\x20('+_0x5db655+')'),console['log'](_0x27a2ff(0x1dd)+_0x5db655);}export async function featureRestore(_0x1743d4){const _0x403d6=_0x26e7,_0x261b2c={'JczLs':function(_0x3b2624,_0x883d5a){return _0x3b2624(_0x883d5a);}};await _0x261b2c[_0x403d6(0x1dc)](restoreFeature,_0x1743d4);const _0x18ecd6=await _0x261b2c['JczLs'](getFeature,_0x1743d4);console[_0x403d6(0x1c5)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x18ecd6['name']+'\x20('+_0x1743d4+')'),displayFeature(_0x18ecd6,_0x18ecd6['checklistItems']);}
@@ -1 +1 @@
1
- (function(_0x3f5cda,_0x4b156d){const _0x5d7130=_0x440e,_0x5ecee6=_0x3f5cda();while(!![]){try{const _0x16ad19=-parseInt(_0x5d7130(0x1b1))/0x1+parseInt(_0x5d7130(0x1ba))/0x2+parseInt(_0x5d7130(0x1ae))/0x3+-parseInt(_0x5d7130(0x1b3))/0x4*(parseInt(_0x5d7130(0x1ac))/0x5)+-parseInt(_0x5d7130(0x1a9))/0x6*(parseInt(_0x5d7130(0x1aa))/0x7)+parseInt(_0x5d7130(0x1b4))/0x8*(parseInt(_0x5d7130(0x1b9))/0x9)+-parseInt(_0x5d7130(0x1ad))/0xa*(-parseInt(_0x5d7130(0x1b7))/0xb);if(_0x16ad19===_0x4b156d)break;else _0x5ecee6['push'](_0x5ecee6['shift']());}catch(_0x2f7b27){_0x5ecee6['push'](_0x5ecee6['shift']());}}}(_0x5859,0xaf853));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};function _0x440e(_0x579dcf,_0x4511f3){_0x579dcf=_0x579dcf-0x1a9;const _0x585938=_0x5859();let _0x440e25=_0x585938[_0x579dcf];return _0x440e25;}function _0x5859(){const _0x4d9a02=['811849YfTYLg','Valid\x20hooks:\x20','4798532HJByPv','2216LPmSeU','join','SIGHUP','32703IlRQni','CZvhk','1233jrklLf','1756702kqdmBq','keys','once','73308cOXLlg','539CnWFHL','Unknown\x20hook:\x20','5aRPZXt','4570bRjPtl','4188714JknoZZ','WbDrZ','SIGINT'];_0x5859=function(){return _0x4d9a02;};return _0x5859();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x3c3cac=_0x440e,_0x17b2c3={'aMrjM':_0x3c3cac(0x1b0),'CZvhk':_0x3c3cac(0x1b6)};if(cancellationHandlersInstalled)return;const _0x1faa9d=()=>{process['exit'](0x0);};process[_0x3c3cac(0x1bc)](_0x17b2c3['aMrjM'],_0x1faa9d),process[_0x3c3cac(0x1bc)]('SIGTERM',_0x1faa9d),process['once'](_0x17b2c3[_0x3c3cac(0x1b8)],_0x1faa9d),cancellationHandlersInstalled=!![];}export async function hook(_0x2ce37f,_0x2f1535){const _0x2177f1=_0x440e,_0x5e7ee5={'WbDrZ':function(_0xebd293,_0x1a7f29){return _0xebd293(_0x1a7f29);}};installCancellationHandlers();const _0x337dee=HOOKS[_0x2ce37f];if(!_0x337dee){const _0x24defb=Object[_0x2177f1(0x1bb)](HOOKS)[_0x2177f1(0x1b5)](',\x20');console['error'](_0x2177f1(0x1ab)+_0x2ce37f),console['error'](_0x2177f1(0x1b2)+_0x24defb),process['exit'](0x1);}await _0x5e7ee5[_0x2177f1(0x1af)](_0x337dee,_0x2f1535);}
1
+ (function(_0x231efc,_0x543887){const _0xbdc924=_0x688f,_0x2f6605=_0x231efc();while(!![]){try{const _0x312f5d=-parseInt(_0xbdc924(0x18f))/0x1+parseInt(_0xbdc924(0x188))/0x2*(-parseInt(_0xbdc924(0x192))/0x3)+parseInt(_0xbdc924(0x18e))/0x4+-parseInt(_0xbdc924(0x189))/0x5+parseInt(_0xbdc924(0x195))/0x6*(-parseInt(_0xbdc924(0x197))/0x7)+-parseInt(_0xbdc924(0x194))/0x8*(-parseInt(_0xbdc924(0x18c))/0x9)+-parseInt(_0xbdc924(0x18a))/0xa*(-parseInt(_0xbdc924(0x191))/0xb);if(_0x312f5d===_0x543887)break;else _0x2f6605['push'](_0x2f6605['shift']());}catch(_0x1906e0){_0x2f6605['push'](_0x2f6605['shift']());}}}(_0x1f64,0x271f1));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x688f(_0x1afbd6,_0xcdc22){_0x1afbd6=_0x1afbd6-0x188;const _0x1f6499=_0x1f64();let _0x688ffe=_0x1f6499[_0x1afbd6];return _0x688ffe;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x1ac90a=_0x688f,_0x4eaeff={'gQhUN':'SIGINT','nPdpf':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0xd6de36=()=>{const _0x5e2707=_0x688f;process[_0x5e2707(0x196)](0x0);};process['once'](_0x4eaeff['gQhUN'],_0xd6de36),process[_0x1ac90a(0x18d)](_0x1ac90a(0x190),_0xd6de36),process[_0x1ac90a(0x18d)](_0x4eaeff[_0x1ac90a(0x18b)],_0xd6de36),cancellationHandlersInstalled=!![];}function _0x1f64(){const _0x1081c2=['5230NFPoHf','nPdpf','214443WWbGzu','once','290824SzbwMk','271815yyfUoN','SIGTERM','12672xPVuvE','449169VEGCYq','Valid\x20hooks:\x20','16cDtewH','6PsEpbd','exit','449260Cungkb','2ThOAts','384485mSBLIW'];_0x1f64=function(){return _0x1081c2;};return _0x1f64();}export async function hook(_0x11f90c,_0x3489a4){const _0xda6eea=_0x688f,_0x266dda={'aoIWB':function(_0x443062){return _0x443062();}};_0x266dda['aoIWB'](installCancellationHandlers);const _0x5d0f44=HOOKS[_0x11f90c];if(!_0x5d0f44){const _0x3183da=Object['keys'](HOOKS)['join'](',\x20');console['error']('Unknown\x20hook:\x20'+_0x11f90c),console['error'](_0xda6eea(0x193)+_0x3183da),process[_0xda6eea(0x196)](0x1);}await _0x5d0f44(_0x3489a4);}
@@ -1 +1 @@
1
- (function(_0x5afb60,_0x222cc5){const _0x11bde6=_0xb71c,_0x5adcfb=_0x5afb60();while(!![]){try{const _0x45c4bb=-parseInt(_0x11bde6(0x102))/0x1+-parseInt(_0x11bde6(0x108))/0x2+-parseInt(_0x11bde6(0x106))/0x3*(parseInt(_0x11bde6(0x101))/0x4)+parseInt(_0x11bde6(0x107))/0x5+-parseInt(_0x11bde6(0x105))/0x6*(parseInt(_0x11bde6(0x10a))/0x7)+-parseInt(_0x11bde6(0x109))/0x8+parseInt(_0x11bde6(0x103))/0x9;if(_0x45c4bb===_0x222cc5)break;else _0x5adcfb['push'](_0x5adcfb['shift']());}catch(_0x370ed4){_0x5adcfb['push'](_0x5adcfb['shift']());}}}(_0x1699,0x55114));function _0x1699(){const _0x419994=['7heoVCc','37484HmHRBF','254866pUmpCv','10512954TzAyFL','rGJKt','926700PBVceP','180sOuqDa','2782670vBROki','453274fNauMm','1423928ffwRrQ'];_0x1699=function(){return _0x419994;};return _0x1699();}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0xb71c(_0x4b5218,_0x1d33f7){_0x4b5218=_0x4b5218-0x101;const _0x1699b1=_0x1699();let _0xb71cbd=_0x1699b1[_0x4b5218];return _0xb71cbd;}const AUTO_PROMPT_TEXT='\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.';export async function autoPrompt(){const _0x5d1d2f=_0xb71c,_0x2ac09a={'rGJKt':function(_0x28e98b,_0x16148c){return _0x28e98b(_0x16148c);}},_0x5a9523=await readHookInput(),_0x5ae34d=_0x5a9523?.['session_id'];if(!_0x5ae34d)return;if(isSessionEnabled(_0x5ae34d)||_0x2ac09a[_0x5d1d2f(0x104)](hasSessionBeenPrompted,_0x5ae34d))return;markSessionPrompted(_0x5ae34d),console['log'](AUTO_PROMPT_TEXT);}
1
+ (function(_0x3f9b7e,_0x199baa){const _0x2f600b=_0xbeb3,_0x4d6ab1=_0x3f9b7e();while(!![]){try{const _0x4fd69c=-parseInt(_0x2f600b(0x1da))/0x1*(-parseInt(_0x2f600b(0x1d9))/0x2)+-parseInt(_0x2f600b(0x1d8))/0x3+parseInt(_0x2f600b(0x1d6))/0x4*(-parseInt(_0x2f600b(0x1dc))/0x5)+-parseInt(_0x2f600b(0x1d4))/0x6+parseInt(_0x2f600b(0x1db))/0x7*(parseInt(_0x2f600b(0x1e0))/0x8)+parseInt(_0x2f600b(0x1d7))/0x9*(parseInt(_0x2f600b(0x1df))/0xa)+-parseInt(_0x2f600b(0x1dd))/0xb;if(_0x4fd69c===_0x199baa)break;else _0x4d6ab1['push'](_0x4d6ab1['shift']());}catch(_0x52432d){_0x4d6ab1['push'](_0x4d6ab1['shift']());}}}(_0x4c31,0xb986a));function _0x4c31(){const _0x1cb3a6=['7312330ZWpHPT','233608jFEePB','2917440dHDtir','DeFEI','28924fuhQzS','9YbJeVu','721611oxXqNk','22cktRox','49675fzVzzz','273Yuhtjo','500LXwEoy','2273766EpeMTI','log'];_0x4c31=function(){return _0x1cb3a6;};return _0x4c31();}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\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.';function _0xbeb3(_0x256a28,_0x59102b){_0x256a28=_0x256a28-0x1d4;const _0x4c31a9=_0x4c31();let _0xbeb3da=_0x4c31a9[_0x256a28];return _0xbeb3da;}export async function autoPrompt(){const _0x1ea2ec=_0xbeb3,_0x519d43={'DeFEI':function(_0x4c800b,_0x34ca1e){return _0x4c800b(_0x34ca1e);}},_0x28e4de=await readHookInput(),_0x156547=_0x28e4de?.['session_id'];if(!_0x156547)return;if(isSessionEnabled(_0x156547)||_0x519d43[_0x1ea2ec(0x1d5)](hasSessionBeenPrompted,_0x156547))return;markSessionPrompted(_0x156547),console[_0x1ea2ec(0x1de)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x4b0fd4,_0x5d072e){const _0x3ccf33=_0x32f8,_0x50aa2a=_0x4b0fd4();while(!![]){try{const _0x33f202=-parseInt(_0x3ccf33(0x89))/0x1+-parseInt(_0x3ccf33(0x84))/0x2+-parseInt(_0x3ccf33(0x8c))/0x3*(-parseInt(_0x3ccf33(0x87))/0x4)+parseInt(_0x3ccf33(0x90))/0x5*(parseInt(_0x3ccf33(0x85))/0x6)+parseInt(_0x3ccf33(0x8b))/0x7+parseInt(_0x3ccf33(0x86))/0x8+-parseInt(_0x3ccf33(0x92))/0x9*(parseInt(_0x3ccf33(0x8e))/0xa);if(_0x33f202===_0x5d072e)break;else _0x50aa2a['push'](_0x50aa2a['shift']());}catch(_0x1ede66){_0x50aa2a['push'](_0x50aa2a['shift']());}}}(_0x2fd8,0x813c0));function _0x32f8(_0x59bd61,_0x5989ab){_0x59bd61=_0x59bd61-0x84;const _0x2fd891=_0x2fd8();let _0x32f880=_0x2fd891[_0x59bd61];return _0x32f880;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x2fd8(){const _0x187a7b=['master','281537mbSmBR','gFlnz','4002649fmcWNF','728199YhnGsv','IENEa','9256960yUzdUj','otcMb','5SUBETh','env','9uqhhOO','\x20and\x20branch\x20\x27','1760014mKROUO','2079594ElNkda','5817968tQfuXx','16UFEdAm'];_0x2fd8=function(){return _0x187a7b;};return _0x2fd8();}export async function disable(_0x525efc){const _0x3e9206=_0x32f8,_0x36042f={'rZuMN':function(_0x408467,_0x1b1822){return _0x408467(_0x1b1822);},'zhYhK':function(_0x5f364c,_0x2ed32e){return _0x5f364c!==_0x2ed32e;},'gFlnz':function(_0xa688b,_0x1c5383){return _0xa688b(_0x1c5383);},'RoKeE':function(_0x9bcbb2,_0x33aa29){return _0x9bcbb2!==_0x33aa29;},'otcMb':'main','IENEa':_0x3e9206(0x88)},_0x225a27=_0x525efc||process[_0x3e9206(0x91)]['CLAUDE_SESSION_ID']||'';_0x225a27&&_0x36042f['rZuMN'](disableSession,_0x225a27);const _0x1d0fb0=getCurrentBranch();_0x1d0fb0&&_0x36042f['zhYhK'](_0x1d0fb0,'main')&&_0x1d0fb0!==_0x3e9206(0x88)&&_0x36042f['gFlnz'](disableBranch,_0x1d0fb0),_0x36042f[_0x3e9206(0x8a)](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x1d0fb0&&_0x36042f['RoKeE'](_0x1d0fb0,_0x36042f[_0x3e9206(0x8f)])&&_0x1d0fb0!==_0x36042f[_0x3e9206(0x8d)]?_0x3e9206(0x93)+_0x1d0fb0+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
1
+ function _0x1c93(){const _0x10554e=['GBHRv','4678764GNOOhw','2rVQvJS','65690QHncvC','master','19794yCYnJU','7981666DzPUqU','21HQzcgq','603893tsclgE','CLAUDE_SESSION_ID','GBLhj','1635lVbYfb','77704aLYQiv','704728kexDWj','\x20and\x20branch\x20\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`.','env','63Qhzfmj','main'];_0x1c93=function(){return _0x10554e;};return _0x1c93();}function _0x2514(_0x121fa7,_0x5dca85){_0x121fa7=_0x121fa7-0x7d;const _0x1c937f=_0x1c93();let _0x2514df=_0x1c937f[_0x121fa7];return _0x2514df;}(function(_0x452edb,_0x1a0aa6){const _0x4227df=_0x2514,_0x1e8a58=_0x452edb();while(!![]){try{const _0xf28315=parseInt(_0x4227df(0x8c))/0x1*(-parseInt(_0x4227df(0x86))/0x2)+parseInt(_0x4227df(0x85))/0x3+-parseInt(_0x4227df(0x7d))/0x4+-parseInt(_0x4227df(0x8f))/0x5*(parseInt(_0x4227df(0x89))/0x6)+-parseInt(_0x4227df(0x8b))/0x7*(-parseInt(_0x4227df(0x7e))/0x8)+-parseInt(_0x4227df(0x82))/0x9*(parseInt(_0x4227df(0x87))/0xa)+parseInt(_0x4227df(0x8a))/0xb;if(_0xf28315===_0x1a0aa6)break;else _0x1e8a58['push'](_0x1e8a58['shift']());}catch(_0x522c0a){_0x1e8a58['push'](_0x1e8a58['shift']());}}}(_0x1c93,0xc3a70));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x4a4768){const _0x260de1=_0x2514,_0x4d579a={'gBchD':function(_0x17fc34,_0x4180db){return _0x17fc34(_0x4180db);},'ENXKe':function(_0x1d52a1){return _0x1d52a1();},'GBLhj':_0x260de1(0x83),'LETVE':function(_0x463f55,_0x4a841d){return _0x463f55!==_0x4a841d;},'GBHRv':_0x260de1(0x88)},_0x302a0b=_0x4a4768||process[_0x260de1(0x81)][_0x260de1(0x8d)]||'';_0x302a0b&&_0x4d579a['gBchD'](disableSession,_0x302a0b);const _0x4d23a4=_0x4d579a['ENXKe'](getCurrentBranch);_0x4d23a4&&_0x4d23a4!==_0x4d579a[_0x260de1(0x8e)]&&_0x4d579a['LETVE'](_0x4d23a4,_0x4d579a[_0x260de1(0x84)])&&_0x4d579a['gBchD'](disableBranch,_0x4d23a4),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4d23a4&&_0x4d579a['LETVE'](_0x4d23a4,_0x260de1(0x83))&&_0x4d23a4!==_0x4d579a['GBHRv']?_0x260de1(0x7f)+_0x4d23a4+'\x27':'')+_0x260de1(0x80));}
@@ -1 +1 @@
1
- function _0x4375(_0x3ff96b,_0xc29c2b){_0x3ff96b=_0x3ff96b-0x113;const _0x4bea81=_0x4bea();let _0x437509=_0x4bea81[_0x3ff96b];return _0x437509;}(function(_0x110a57,_0x344479){const _0x47ee22=_0x4375,_0x2f3f35=_0x110a57();while(!![]){try{const _0x582c71=parseInt(_0x47ee22(0x113))/0x1+parseInt(_0x47ee22(0x11d))/0x2+-parseInt(_0x47ee22(0x117))/0x3+-parseInt(_0x47ee22(0x116))/0x4*(parseInt(_0x47ee22(0x120))/0x5)+-parseInt(_0x47ee22(0x123))/0x6+parseInt(_0x47ee22(0x11b))/0x7+-parseInt(_0x47ee22(0x114))/0x8*(-parseInt(_0x47ee22(0x115))/0x9);if(_0x582c71===_0x344479)break;else _0x2f3f35['push'](_0x2f3f35['shift']());}catch(_0x5cf0c4){_0x2f3f35['push'](_0x2f3f35['shift']());}}}(_0x4bea,0x45295));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x2182ef){const _0x379d3e=_0x4375,_0x84368a={'ffmpu':function(_0x42b68b,_0x51e970){return _0x42b68b(_0x51e970);},'GQvve':'ranger\x20setup\x20--opencode','KeLvU':function(_0x5ca616){return _0x5ca616();},'wpUtP':function(_0x1a67a2,_0x4b8527){return _0x1a67a2!==_0x4b8527;},'nnSTo':_0x379d3e(0x11e)},_0x297228=_0x2182ef||process[_0x379d3e(0x122)]['CLAUDE_SESSION_ID']||'',_0x2e86c9=_0x84368a['ffmpu'](Boolean,_0x2182ef),_0x1cdeeb=await getToken();if(!_0x1cdeeb){const _0x1046ba=_0x2e86c9?_0x84368a[_0x379d3e(0x11f)]:'ranger\x20setup',_0x4ab235=_0x2e86c9?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';printBlock('#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x1046ba+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x4ab235);return;}try{await _0x84368a['KeLvU'](update);}catch{}_0x297228&&_0x84368a[_0x379d3e(0x121)](enableSession,_0x297228);const _0x427f8e=_0x84368a[_0x379d3e(0x11a)](getCurrentBranch),_0x389832=_0x427f8e&&_0x84368a['wpUtP'](_0x427f8e,_0x379d3e(0x118))&&_0x427f8e!==_0x84368a[_0x379d3e(0x11c)]?'\x0a\x0a**Branch\x20\x27'+_0x427f8e+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x433205=getRangerSkillContent();_0x84368a[_0x379d3e(0x121)](printBlock,_0x379d3e(0x119)+_0x389832+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x433205+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}function _0x4bea(){const _0x5cc125=['441396jtizwr','main','#\x20RANGER\x20ENABLED','KeLvU','39249AUopit','nnSTo','212734NwfNOh','master','GQvve','5MXACou','ffmpu','env','1206420JGQxKu','449807sFAiXw','488yOvFVS','35334juihWF','679120iHfrTt'];_0x4bea=function(){return _0x5cc125;};return _0x4bea();}
1
+ (function(_0x25c724,_0x19e768){const _0xf27d19=_0x4f35,_0x10becf=_0x25c724();while(!![]){try{const _0x403193=parseInt(_0xf27d19(0x12c))/0x1+-parseInt(_0xf27d19(0x126))/0x2+-parseInt(_0xf27d19(0x11b))/0x3*(parseInt(_0xf27d19(0x12d))/0x4)+parseInt(_0xf27d19(0x12f))/0x5*(parseInt(_0xf27d19(0x121))/0x6)+-parseInt(_0xf27d19(0x122))/0x7+-parseInt(_0xf27d19(0x120))/0x8*(-parseInt(_0xf27d19(0x123))/0x9)+parseInt(_0xf27d19(0x128))/0xa*(parseInt(_0xf27d19(0x11d))/0xb);if(_0x403193===_0x19e768)break;else _0x10becf['push'](_0x10becf['shift']());}catch(_0xc3698d){_0x10becf['push'](_0x10becf['shift']());}}}(_0x40e2,0xdbf2c));function _0x4f35(_0x1c9e9a,_0x4ecf41){_0x1c9e9a=_0x1c9e9a-0x11b;const _0x40e2c1=_0x40e2();let _0x4f359b=_0x40e2c1[_0x1c9e9a];return _0x4f359b;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x40e2(){const _0x1d15a6=['\x0a\x0a**Branch\x20\x27','5syfnCq','uvSOj','33VkRmeu','master','1125608YEtxct','ranger\x20setup\x20--opencode','CLAUDE_SESSION_ID','40mesOnY','8414634HDDSaZ','7000952NToWjD','1504485MFowma','\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`.','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','1520018rVuWgG','ranger\x20setup','30wYIDYX','ftfOM','#\x20RANGER\x20ENABLED','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','1044238qKIoWy','337612GHpCpi'];_0x40e2=function(){return _0x1d15a6;};return _0x40e2();}export async function enable(_0x383b75){const _0x3e32ba=_0x4f35,_0x4fd22e={'dGIBa':function(_0x54d253){return _0x54d253();},'vlszR':_0x3e32ba(0x127),'ftfOM':_0x3e32ba(0x125),'uvSOj':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','SeukC':'main'},_0x41af84=_0x383b75||process['env'][_0x3e32ba(0x11f)]||'',_0x5a858c=Boolean(_0x383b75),_0x2526ea=await _0x4fd22e['dGIBa'](getToken);if(!_0x2526ea){const _0x11258e=_0x5a858c?_0x3e32ba(0x11e):_0x4fd22e['vlszR'],_0x3e136b=_0x5a858c?_0x4fd22e[_0x3e32ba(0x129)]:_0x4fd22e[_0x3e32ba(0x130)];printBlock('#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x11258e+_0x3e32ba(0x12b)+_0x3e136b);return;}try{await update();}catch{}_0x41af84&&enableSession(_0x41af84);const _0x4995e2=getCurrentBranch(),_0x1ecc29=_0x4995e2&&_0x4995e2!==_0x4fd22e['SeukC']&&_0x4995e2!==_0x3e32ba(0x11c)?_0x3e32ba(0x12e)+_0x4995e2+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x475ed4=_0x4fd22e['dGIBa'](getRangerSkillContent);printBlock(_0x3e32ba(0x12a)+_0x1ecc29+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x475ed4+_0x3e32ba(0x124));}
@@ -1 +1 @@
1
- (function(_0x457ac8,_0x20fa23){const _0x55f657=_0x10c0,_0x1a4ed1=_0x457ac8();while(!![]){try{const _0x3b63cd=parseInt(_0x55f657(0x1f7))/0x1+parseInt(_0x55f657(0x1f4))/0x2+-parseInt(_0x55f657(0x1fa))/0x3+parseInt(_0x55f657(0x1f6))/0x4+parseInt(_0x55f657(0x1f5))/0x5+-parseInt(_0x55f657(0x1f8))/0x6*(-parseInt(_0x55f657(0x1f2))/0x7)+parseInt(_0x55f657(0x1fc))/0x8*(-parseInt(_0x55f657(0x1f3))/0x9);if(_0x3b63cd===_0x20fa23)break;else _0x1a4ed1['push'](_0x1a4ed1['shift']());}catch(_0x3029e6){_0x1a4ed1['push'](_0x1a4ed1['shift']());}}}(_0x4eed,0xedb2b));import{printBlock,getEnabledSessionId}from'./output.js';function _0x4eed(){const _0x36ea24=['32052mJwwVi','vHGPO','1976451BNaUXg','BraCA','4328nraOTP','1631QfWdmx','25146QyzwUB','649796hwsPej','135975nNVhZY','3331188qWycCy','714406wsRSkX'];_0x4eed=function(){return _0x36ea24;};return _0x4eed();}function _0x10c0(_0x2a5b5a,_0x458dff){_0x2a5b5a=_0x2a5b5a-0x1f2;const _0x4eedb1=_0x4eed();let _0x10c046=_0x4eedb1[_0x2a5b5a];return _0x10c046;}export async function exitPlanMode(_0x48d3b8){const _0x51d3e1=_0x10c0,_0x2414ed={'BraCA':function(_0x4acd64,_0x54633a){return _0x4acd64(_0x54633a);},'vHGPO':function(_0xc76fc6,_0x34757a){return _0xc76fc6(_0x34757a);}},_0x11669f=await _0x2414ed[_0x51d3e1(0x1fb)](getEnabledSessionId,_0x48d3b8);if(!_0x11669f)return;_0x2414ed[_0x51d3e1(0x1f9)](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ function _0x38e0(){const _0x532f9b=['13355aXRSIp','1918826pCRSaa','568544qzNYvK','174ECmKZh','4307936ookJtH','645582nWLLQd','107768IXkwSs','182983HXPSJC'];_0x38e0=function(){return _0x532f9b;};return _0x38e0();}function _0x2e9b(_0xc2654e,_0x512172){_0xc2654e=_0xc2654e-0x196;const _0x38e040=_0x38e0();let _0x2e9bc6=_0x38e040[_0xc2654e];return _0x2e9bc6;}(function(_0x2c70cc,_0x25723e){const _0x7626bf=_0x2e9b,_0xf7c2a4=_0x2c70cc();while(!![]){try{const _0x3eae7e=-parseInt(_0x7626bf(0x19c))/0x1+-parseInt(_0x7626bf(0x197))/0x2+-parseInt(_0x7626bf(0x19a))/0x3+-parseInt(_0x7626bf(0x19b))/0x4+-parseInt(_0x7626bf(0x19d))/0x5*(-parseInt(_0x7626bf(0x198))/0x6)+parseInt(_0x7626bf(0x196))/0x7+parseInt(_0x7626bf(0x199))/0x8;if(_0x3eae7e===_0x25723e)break;else _0xf7c2a4['push'](_0xf7c2a4['shift']());}catch(_0xe95fb7){_0xf7c2a4['push'](_0xf7c2a4['shift']());}}}(_0x38e0,0x2c1c6));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x270cfa){const _0x1e6a55=await getEnabledSessionId(_0x270cfa);if(!_0x1e6a55)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x1d1c8c,_0x20c124){var _0xea4240=_0x17ac,_0x518c0e=_0x1d1c8c();while(!![]){try{var _0x2d92ab=-parseInt(_0xea4240(0xf9))/0x1*(-parseInt(_0xea4240(0xf3))/0x2)+parseInt(_0xea4240(0xf7))/0x3+-parseInt(_0xea4240(0xf5))/0x4+-parseInt(_0xea4240(0xf8))/0x5*(-parseInt(_0xea4240(0xfb))/0x6)+-parseInt(_0xea4240(0xf6))/0x7+parseInt(_0xea4240(0xf2))/0x8*(parseInt(_0xea4240(0xf1))/0x9)+-parseInt(_0xea4240(0xf4))/0xa*(parseInt(_0xea4240(0xfa))/0xb);if(_0x2d92ab===_0x20c124)break;else _0x518c0e['push'](_0x518c0e['shift']());}catch(_0x124ff9){_0x518c0e['push'](_0x518c0e['shift']());}}}(_0xf076,0xef925));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x17ac(_0x289973,_0x3450ed){_0x289973=_0x289973-0xf1;var _0xf07639=_0xf076();var _0x17ac95=_0xf07639[_0x289973];return _0x17ac95;}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0xf076(){var _0x846ec6=['603crHedv','45368JpTCAe','219614uSVSeb','10efxGko','4854900jMvhSe','6688052Cvkkep','1787118dhZaWD','410LGYXPV','14AhneLQ','1433993rqCreh','56184WJiNtf'];_0xf076=function(){return _0x846ec6;};return _0xf076();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x5f2d65,_0x2cfb24){var _0x104507=_0x2042,_0x2a09bb=_0x5f2d65();while(!![]){try{var _0x156eb8=-parseInt(_0x104507(0x176))/0x1+-parseInt(_0x104507(0x170))/0x2+-parseInt(_0x104507(0x16e))/0x3*(-parseInt(_0x104507(0x175))/0x4)+-parseInt(_0x104507(0x16f))/0x5+-parseInt(_0x104507(0x172))/0x6*(parseInt(_0x104507(0x171))/0x7)+-parseInt(_0x104507(0x174))/0x8*(-parseInt(_0x104507(0x177))/0x9)+parseInt(_0x104507(0x173))/0xa;if(_0x156eb8===_0x2cfb24)break;else _0x2a09bb['push'](_0x2a09bb['shift']());}catch(_0x4c998d){_0x2a09bb['push'](_0x2a09bb['shift']());}}}(_0x5e12,0x5f614));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x5e12(){var _0x590f7e=['9zaYmVT','9AcDiYz','3545915Zyrvpk','514416WHtzsg','40642CNrBPF','84QcmfOx','12495920bpwbZD','1977728STVcfK','437972KSEDPH','386936rsJNQg'];_0x5e12=function(){return _0x590f7e;};return _0x5e12();}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0x2042(_0x1de0e4,_0x191e4b){_0x1de0e4=_0x1de0e4-0x16e;var _0x5e126f=_0x5e12();var _0x20420c=_0x5e126f[_0x1de0e4];return _0x20420c;}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x30e8ae,_0x43f560){const _0x85f7bd=_0xb5e3,_0x4026d8=_0x30e8ae();while(!![]){try{const _0x2269fc=-parseInt(_0x85f7bd(0x1e0))/0x1*(parseInt(_0x85f7bd(0x1ee))/0x2)+parseInt(_0x85f7bd(0x1ec))/0x3*(parseInt(_0x85f7bd(0x1ef))/0x4)+-parseInt(_0x85f7bd(0x1e5))/0x5*(-parseInt(_0x85f7bd(0x1ea))/0x6)+parseInt(_0x85f7bd(0x1e4))/0x7*(parseInt(_0x85f7bd(0x1e8))/0x8)+-parseInt(_0x85f7bd(0x1e6))/0x9+parseInt(_0x85f7bd(0x1e7))/0xa*(-parseInt(_0x85f7bd(0x1e9))/0xb)+parseInt(_0x85f7bd(0x1eb))/0xc;if(_0x2269fc===_0x43f560)break;else _0x4026d8['push'](_0x4026d8['shift']());}catch(_0x11296d){_0x4026d8['push'](_0x4026d8['shift']());}}}(_0x2c3b,0x6f091));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1dcb91){console['log'](_0x1dcb91);}export async function readHookInput(){const _0x192468=_0xb5e3;let _0x4d545d='';try{for await(const _0x2ea2f9 of process['stdin']){_0x4d545d+=_0x2ea2f9;}}catch{return null;}if(!_0x4d545d[_0x192468(0x1e3)]())return null;try{return JSON[_0x192468(0x1e1)](_0x4d545d);}catch{return null;}}export async function getEnabledSessionId(_0x402805){const _0x34f9d0={'umPXh':function(_0x1b1993,_0x12a73a){return _0x1b1993(_0x12a73a);}};if(_0x402805)return isSessionEnabled(_0x402805)?_0x402805:null;const _0x248568=await readHookInput(),_0x179362=_0x248568?.['session_id'];if(!_0x179362||!_0x34f9d0['umPXh'](isSessionEnabled,_0x179362))return null;return _0x179362;}function _0x2c3b(){const _0x555bde=['10XrWFST','1754334lwCwyb','10zjWyIQ','1018968CWmiUj','4409427cvqXwp','2502624ShsysP','27996gBrYiD','105cYyoeF','orVvD','2cIzIDM','31272CICDZa','186958zeOMFP','parse','DhQxN','trim','7uWuKDM'];_0x2c3b=function(){return _0x555bde;};return _0x2c3b();}function _0xb5e3(_0x4dd2a9,_0x3022a1){_0x4dd2a9=_0x4dd2a9-0x1e0;const _0x2c3bae=_0x2c3b();let _0xb5e3b1=_0x2c3bae[_0x4dd2a9];return _0xb5e3b1;}export async function getEnabledHookContext(_0x5688f8){const _0x3ae0e2=_0xb5e3,_0x5dc1c6={'orVvD':function(_0x2d5a4b,_0x1d69d1){return _0x2d5a4b(_0x1d69d1);},'DhQxN':function(_0x405f5d){return _0x405f5d();}};if(_0x5688f8){if(!_0x5dc1c6[_0x3ae0e2(0x1ed)](isSessionEnabled,_0x5688f8))return null;return{'sessionId':_0x5688f8,'input':{'session_id':_0x5688f8}};}const _0x51b82c=await _0x5dc1c6[_0x3ae0e2(0x1e2)](readHookInput),_0x58a49e=_0x51b82c?.['session_id'];if(!_0x58a49e||!isSessionEnabled(_0x58a49e))return null;return{'sessionId':_0x58a49e,'input':_0x51b82c};}
1
+ (function(_0x5743a9,_0xe78957){const _0x3a9130=_0x2fec,_0x55b5d5=_0x5743a9();while(!![]){try{const _0x404a4a=-parseInt(_0x3a9130(0x126))/0x1+-parseInt(_0x3a9130(0x12d))/0x2*(parseInt(_0x3a9130(0x12f))/0x3)+-parseInt(_0x3a9130(0x128))/0x4+-parseInt(_0x3a9130(0x12c))/0x5*(parseInt(_0x3a9130(0x12a))/0x6)+-parseInt(_0x3a9130(0x134))/0x7+-parseInt(_0x3a9130(0x12e))/0x8*(parseInt(_0x3a9130(0x133))/0x9)+-parseInt(_0x3a9130(0x130))/0xa*(-parseInt(_0x3a9130(0x127))/0xb);if(_0x404a4a===_0xe78957)break;else _0x55b5d5['push'](_0x55b5d5['shift']());}catch(_0x3598a2){_0x55b5d5['push'](_0x55b5d5['shift']());}}}(_0x3261,0xe6a5d));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x5408da){console['log'](_0x5408da);}function _0x2fec(_0x154836,_0x26ea96){_0x154836=_0x154836-0x126;const _0x3261c3=_0x3261();let _0x2fecbe=_0x3261c3[_0x154836];return _0x2fecbe;}export async function readHookInput(){const _0x6e439a=_0x2fec;let _0xcb145='';try{for await(const _0x401639 of process['stdin']){_0xcb145+=_0x401639;}}catch{return null;}if(!_0xcb145['trim']())return null;try{return JSON[_0x6e439a(0x12b)](_0xcb145);}catch{return null;}}function _0x3261(){const _0x21a96e=['parse','2500510pUANUJ','2260zhMbgv','384yaVzDN','753nkquSx','51010bApTTf','session_id','BJNfd','30105qccNin','6556872RabajN','afBwW','811780vqkqnD','8723EHmlKL','1630368fvEXis','LemUk','6ZIeOOU'];_0x3261=function(){return _0x21a96e;};return _0x3261();}export async function getEnabledSessionId(_0x3583d9){const _0x16eb91=_0x2fec,_0x3e6a3d={'afBwW':function(_0x2e4c31,_0x1a9dce){return _0x2e4c31(_0x1a9dce);},'LemUk':function(_0x1bee8d){return _0x1bee8d();}};if(_0x3583d9)return _0x3e6a3d[_0x16eb91(0x135)](isSessionEnabled,_0x3583d9)?_0x3583d9:null;const _0x1f196e=await _0x3e6a3d[_0x16eb91(0x129)](readHookInput),_0x294f05=_0x1f196e?.['session_id'];if(!_0x294f05||!isSessionEnabled(_0x294f05))return null;return _0x294f05;}export async function getEnabledHookContext(_0x4fae38){const _0x326ea9=_0x2fec,_0x205cf0={'BJNfd':function(_0x5c0d85,_0x406091){return _0x5c0d85(_0x406091);},'rORyf':function(_0x277a58){return _0x277a58();}};if(_0x4fae38){if(!_0x205cf0[_0x326ea9(0x132)](isSessionEnabled,_0x4fae38))return null;return{'sessionId':_0x4fae38,'input':{'session_id':_0x4fae38}};}const _0x5eb882=await _0x205cf0['rORyf'](readHookInput),_0xa546ec=_0x5eb882?.[_0x326ea9(0x131)];if(!_0xa546ec||!isSessionEnabled(_0xa546ec))return null;return{'sessionId':_0xa546ec,'input':_0x5eb882};}
@@ -1 +1 @@
1
- (function(_0x5e41fa,_0x5b2fce){const _0x3f7335=_0x4f79,_0x3f91d7=_0x5e41fa();while(!![]){try{const _0x50c2ed=-parseInt(_0x3f7335(0x99))/0x1+-parseInt(_0x3f7335(0x9a))/0x2*(parseInt(_0x3f7335(0x8e))/0x3)+-parseInt(_0x3f7335(0x96))/0x4*(-parseInt(_0x3f7335(0x94))/0x5)+parseInt(_0x3f7335(0x92))/0x6*(-parseInt(_0x3f7335(0x8c))/0x7)+parseInt(_0x3f7335(0x98))/0x8+-parseInt(_0x3f7335(0x8f))/0x9*(parseInt(_0x3f7335(0x95))/0xa)+-parseInt(_0x3f7335(0x97))/0xb*(-parseInt(_0x3f7335(0x8b))/0xc);if(_0x50c2ed===_0x5b2fce)break;else _0x3f91d7['push'](_0x3f91d7['shift']());}catch(_0x4e2f8a){_0x3f91d7['push'](_0x3f91d7['shift']());}}}(_0x4ab7,0xdae15));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x4f79(_0x27b80f,_0x31d112){_0x27b80f=_0x27b80f-0x8b;const _0x4ab771=_0x4ab7();let _0x4f797c=_0x4ab771[_0x27b80f];return _0x4f797c;}export async function planReminder(_0x497410){const _0x2b4933=_0x4f79,_0x227ca8={'jkQmV':function(_0x535077,_0xe2e1fd){return _0x535077(_0xe2e1fd);}},_0x6d26e=await _0x227ca8[_0x2b4933(0x91)](getEnabledHookContext,_0x497410);if(!_0x6d26e)return;if(_0x6d26e['input'][_0x2b4933(0x93)]!==_0x2b4933(0x90))return;if(!_0x227ca8['jkQmV'](shouldShowPlanReminder,_0x6d26e[_0x2b4933(0x8d)]))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===');}function _0x4ab7(){const _0x70e219=['166868jbkLon','89802VbochJ','30216heUryX','22085LwDXWs','sessionId','30JHRtya','1017xrTMHq','plan','jkQmV','2022CLkOen','permission_mode','5201545iJNzws','72980cdImYo','4tJLVSr','8734zKVwcr','2885752ziDAVl'];_0x4ab7=function(){return _0x70e219;};return _0x4ab7();}
1
+ function _0x569b(_0x16b716,_0x577b36){_0x16b716=_0x16b716-0xe7;const _0x536ca6=_0x536c();let _0x569b85=_0x536ca6[_0x16b716];return _0x569b85;}(function(_0x29832d,_0x283ab4){const _0x17e02d=_0x569b,_0x50b43a=_0x29832d();while(!![]){try{const _0x40f6f7=-parseInt(_0x17e02d(0xf6))/0x1*(parseInt(_0x17e02d(0xee))/0x2)+-parseInt(_0x17e02d(0xf1))/0x3+-parseInt(_0x17e02d(0xe8))/0x4+-parseInt(_0x17e02d(0xf0))/0x5+-parseInt(_0x17e02d(0xf2))/0x6*(parseInt(_0x17e02d(0xf5))/0x7)+parseInt(_0x17e02d(0xef))/0x8+parseInt(_0x17e02d(0xeb))/0x9;if(_0x40f6f7===_0x283ab4)break;else _0x50b43a['push'](_0x50b43a['shift']());}catch(_0x10a244){_0x50b43a['push'](_0x50b43a['shift']());}}}(_0x536c,0x33e7a));import{printBlock,getEnabledHookContext}from'./output.js';function _0x536c(){const _0x4d933e=['5325516SNxJkW','permission_mode','LIGyr','298JMLceD','638136GOzlHT','1030810NFmGFz','50772xovwiM','10842UAxZzE','sessionId','OHQUf','791sDXxSH','172lFIlua','plan','23936ZjwkEq','input','===\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==='];_0x536c=function(){return _0x4d933e;};return _0x536c();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x20ea1d){const _0x1c1577=_0x569b,_0x189f16={'OHQUf':function(_0x41e8f2,_0x2f489c){return _0x41e8f2(_0x2f489c);},'LUYfl':_0x1c1577(0xe7),'LIGyr':function(_0x48d1c7,_0x3fa4ef){return _0x48d1c7(_0x3fa4ef);}},_0x28ed16=await _0x189f16[_0x1c1577(0xf4)](getEnabledHookContext,_0x20ea1d);if(!_0x28ed16)return;if(_0x28ed16[_0x1c1577(0xe9)][_0x1c1577(0xec)]!==_0x189f16['LUYfl'])return;if(!_0x189f16['OHQUf'](shouldShowPlanReminder,_0x28ed16[_0x1c1577(0xf3)]))return;_0x189f16[_0x1c1577(0xed)](printBlock,_0x1c1577(0xea));}
@@ -1 +1 @@
1
- function _0x4d76(_0x103386,_0x582295){_0x103386=_0x103386-0x9c;const _0x21de04=_0x21de();let _0x4d76da=_0x21de04[_0x103386];return _0x4d76da;}function _0x21de(){const _0x5d9692=['5nHxIJE','5243140BbjBVd','9eHJCYq','535519ITacuv','855602UwoTwP','1191784MpfPWS','6217872ifnXtI','1121163MEaMTg','3726054LJpFtr'];_0x21de=function(){return _0x5d9692;};return _0x21de();}(function(_0x4b4268,_0x5d1a9c){const _0x4b5c83=_0x4d76,_0x43d44a=_0x4b4268();while(!![]){try{const _0xc4dcbd=-parseInt(_0x4b5c83(0xa0))/0x1+parseInt(_0x4b5c83(0xa1))/0x2+-parseInt(_0x4b5c83(0xa4))/0x3+parseInt(_0x4b5c83(0xa2))/0x4+parseInt(_0x4b5c83(0x9d))/0x5*(parseInt(_0x4b5c83(0x9c))/0x6)+parseInt(_0x4b5c83(0x9e))/0x7+-parseInt(_0x4b5c83(0xa3))/0x8*(parseInt(_0x4b5c83(0x9f))/0x9);if(_0xc4dcbd===_0x5d1a9c)break;else _0x43d44a['push'](_0x43d44a['shift']());}catch(_0x3eef2c){_0x43d44a['push'](_0x43d44a['shift']());}}}(_0x21de,0x63ed6));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x68d6c0){const _0x519706={'wypVy':function(_0x2b84fb,_0x237e80){return _0x2b84fb(_0x237e80);}},_0x7e217f=await getEnabledSessionId(_0x68d6c0);if(!_0x7e217f)return;_0x519706['wypVy'](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 _0x2297(_0x15a95c,_0x1ace94){_0x15a95c=_0x15a95c-0xcd;const _0x15e97b=_0x15e9();let _0x229719=_0x15e97b[_0x15a95c];return _0x229719;}function _0x15e9(){const _0x3da47c=['569bvAjlJ','===\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===','8UVjBmB','4546bazqun','330CBCDet','11436eQRIVy','11752uYhKKx','125697BQgQms','9ABQkBY','10181031sqGzui','31965AbVRNA','3338584OQLNRT','198UvmMMx','1942089intjiH'];_0x15e9=function(){return _0x3da47c;};return _0x15e9();}(function(_0x9ffe7e,_0x3597d4){const _0x35da1f=_0x2297,_0xbc1ae1=_0x9ffe7e();while(!![]){try{const _0x38d032=-parseInt(_0x35da1f(0xd1))/0x1*(parseInt(_0x35da1f(0xd4))/0x2)+parseInt(_0x35da1f(0xd0))/0x3*(parseInt(_0x35da1f(0xd3))/0x4)+-parseInt(_0x35da1f(0xcd))/0x5*(-parseInt(_0x35da1f(0xcf))/0x6)+parseInt(_0x35da1f(0xda))/0x7+parseInt(_0x35da1f(0xce))/0x8*(-parseInt(_0x35da1f(0xd9))/0x9)+parseInt(_0x35da1f(0xd5))/0xa*(parseInt(_0x35da1f(0xd8))/0xb)+parseInt(_0x35da1f(0xd6))/0xc*(-parseInt(_0x35da1f(0xd7))/0xd);if(_0x38d032===_0x3597d4)break;else _0xbc1ae1['push'](_0xbc1ae1['shift']());}catch(_0x5296f4){_0xbc1ae1['push'](_0xbc1ae1['shift']());}}}(_0x15e9,0xbac77));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x340277){const _0x5346a9=_0x2297,_0xe6fc79=await getEnabledSessionId(_0x340277);if(!_0xe6fc79)return;printBlock(_0x5346a9(0xd2));}
@@ -1 +1 @@
1
- (function(_0x2c3289,_0x58cfff){const _0x5a7801=_0x1bcf,_0x197b50=_0x2c3289();while(!![]){try{const _0x3fa32e=-parseInt(_0x5a7801(0xf7))/0x1+-parseInt(_0x5a7801(0xf6))/0x2+-parseInt(_0x5a7801(0xf3))/0x3+-parseInt(_0x5a7801(0xf5))/0x4+-parseInt(_0x5a7801(0xfd))/0x5+parseInt(_0x5a7801(0xf9))/0x6+parseInt(_0x5a7801(0xfc))/0x7*(parseInt(_0x5a7801(0xf2))/0x8);if(_0x3fa32e===_0x58cfff)break;else _0x197b50['push'](_0x197b50['shift']());}catch(_0x2ee946){_0x197b50['push'](_0x197b50['shift']());}}}(_0x41e9,0x9cd07));function _0x41e9(){const _0x160b01=['11697679uywjaI','6243800FYrhmr','ZwaUn','16NyhuBM','1791906AScUnD','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.','552584cYXuSF','805406RjXdTd','1279229CqpaBX','stringify','5797542sKwfpA','RlnLO','qRSgZ'];_0x41e9=function(){return _0x160b01;};return _0x41e9();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x1bcf(_0xf78abe,_0x45d608){_0xf78abe=_0xf78abe-0xf2;const _0x41e97e=_0x41e9();let _0x1bcfc3=_0x41e97e[_0xf78abe];return _0x1bcfc3;}export async function postEdit(_0x2d3a72){const _0x3ddc29=_0x1bcf,_0x4fe845={'ZwaUn':function(_0x203779,_0x3d846e){return _0x203779(_0x3d846e);},'RlnLO':function(_0x5817bf){return _0x5817bf();},'qRSgZ':'PostToolUse'},_0x21aea5=await _0x4fe845['ZwaUn'](getEnabledSessionId,_0x2d3a72);if(!_0x21aea5)return;_0x4fe845['ZwaUn'](updateBranchTracking,_0x21aea5);const _0x3078ee=await _0x4fe845[_0x3ddc29(0xfa)](getToken);if(!_0x3078ee)return;const _0x2c7f7a=_0x4fe845[_0x3ddc29(0xfe)](getSessionEntry,_0x21aea5);if(_0x2c7f7a){const _0x802f44={'hookSpecificOutput':{'hookEventName':_0x4fe845[_0x3ddc29(0xfb)],'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[_0x3ddc29(0xf8)](_0x802f44));return;}const _0x3e3dc7={'hookSpecificOutput':{'hookEventName':_0x4fe845['qRSgZ'],'additionalContext':_0x3ddc29(0xf4)}};console['log'](JSON['stringify'](_0x3e3dc7));}
1
+ function _0x33c9(){const _0x337606=['11525688zWynTT','kZjMY','stringify','7mdNujW','log','830896NvfKJw','796968GOUHtw','1229288jfKmku','3609768WGwlCA','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.','988425DlMoji','2ykZhmt','2705382cAdrOw'];_0x33c9=function(){return _0x337606;};return _0x33c9();}(function(_0x4cbe7b,_0x383b90){const _0x5c9b91=_0x22f1,_0x27a9a6=_0x4cbe7b();while(!![]){try{const _0x264722=-parseInt(_0x5c9b91(0x8f))/0x1*(-parseInt(_0x5c9b91(0x96))/0x2)+-parseInt(_0x5c9b91(0x90))/0x3+parseInt(_0x5c9b91(0x97))/0x4+-parseInt(_0x5c9b91(0x8e))/0x5+-parseInt(_0x5c9b91(0x99))/0x6+-parseInt(_0x5c9b91(0x94))/0x7*(parseInt(_0x5c9b91(0x98))/0x8)+parseInt(_0x5c9b91(0x91))/0x9;if(_0x264722===_0x383b90)break;else _0x27a9a6['push'](_0x27a9a6['shift']());}catch(_0x1a5dea){_0x27a9a6['push'](_0x27a9a6['shift']());}}}(_0x33c9,0x6f542));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x22f1(_0x3adbc8,_0xc9919e){_0x3adbc8=_0x3adbc8-0x8d;const _0x33c95d=_0x33c9();let _0x22f16c=_0x33c95d[_0x3adbc8];return _0x22f16c;}export async function postEdit(_0x381f71){const _0x2c9d0d=_0x22f1,_0xbc02fd={'KjfMc':function(_0x398830,_0x56fb45){return _0x398830(_0x56fb45);},'kZjMY':function(_0x4a0e59){return _0x4a0e59();},'wWSeN':function(_0x5038b8,_0x632903){return _0x5038b8(_0x632903);}},_0x35fa56=await getEnabledSessionId(_0x381f71);if(!_0x35fa56)return;_0xbc02fd['KjfMc'](updateBranchTracking,_0x35fa56);const _0x14b0e6=await _0xbc02fd[_0x2c9d0d(0x92)](getToken);if(!_0x14b0e6)return;const _0x5588e6=_0xbc02fd['wWSeN'](getSessionEntry,_0x35fa56);if(_0x5588e6){const _0x4d4db8={'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[_0x2c9d0d(0x95)](JSON[_0x2c9d0d(0x93)](_0x4d4db8));return;}const _0x2df453={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x2c9d0d(0x8d)}};console[_0x2c9d0d(0x95)](JSON[_0x2c9d0d(0x93)](_0x2df453));}
@@ -1 +1 @@
1
- (function(_0x3c8b7d,_0x3918b){const _0x1f9e98=_0x247f,_0x1b1d3f=_0x3c8b7d();while(!![]){try{const _0x5f8adf=parseInt(_0x1f9e98(0x1cb))/0x1+-parseInt(_0x1f9e98(0x1cc))/0x2*(parseInt(_0x1f9e98(0x1cd))/0x3)+parseInt(_0x1f9e98(0x1c5))/0x4*(parseInt(_0x1f9e98(0x1c3))/0x5)+parseInt(_0x1f9e98(0x1ca))/0x6*(-parseInt(_0x1f9e98(0x1c9))/0x7)+-parseInt(_0x1f9e98(0x1c8))/0x8*(parseInt(_0x1f9e98(0x1c6))/0x9)+parseInt(_0x1f9e98(0x1c7))/0xa+-parseInt(_0x1f9e98(0x1c4))/0xb;if(_0x5f8adf===_0x3918b)break;else _0x1b1d3f['push'](_0x1b1d3f['shift']());}catch(_0x5f5099){_0x1b1d3f['push'](_0x1b1d3f['shift']());}}}(_0xb3f6,0xd212f));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2b28e5){const _0xd15224={'wSeuj':function(_0x3f25ee){return _0x3f25ee();}},_0x18d6cc=await getEnabledSessionId(_0x2b28e5);if(!_0x18d6cc)return;try{const _0x1a9a58=await _0xd15224['wSeuj'](getToken);if(!_0x1a9a58)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}function _0x247f(_0xe93d46,_0x15dbdd){_0xe93d46=_0xe93d46-0x1c3;const _0xb3f66a=_0xb3f6();let _0x247fb2=_0xb3f66a[_0xe93d46];return _0x247fb2;}function _0xb3f6(){const _0x528c4d=['9uwhWjg','6779650DUznXi','627568rXrhng','1183vjdeET','35484yPSfKT','195967esNebU','6898cmkVPJ','411kNPEsq','6655KhDjHD','208813hpaboO','4676AKVTeC'];_0xb3f6=function(){return _0x528c4d;};return _0xb3f6();}
1
+ function _0x1d8e(_0xe95080,_0x305b25){_0xe95080=_0xe95080-0x19d;const _0x1e22a=_0x1e22();let _0x1d8e75=_0x1e22a[_0xe95080];return _0x1d8e75;}(function(_0x17d780,_0x19c890){const _0x4026ca=_0x1d8e,_0x1b4936=_0x17d780();while(!![]){try{const _0x1e4b01=parseInt(_0x4026ca(0x1a4))/0x1*(-parseInt(_0x4026ca(0x1a6))/0x2)+-parseInt(_0x4026ca(0x1a7))/0x3+parseInt(_0x4026ca(0x19f))/0x4+parseInt(_0x4026ca(0x1a0))/0x5*(-parseInt(_0x4026ca(0x19e))/0x6)+-parseInt(_0x4026ca(0x1a8))/0x7+parseInt(_0x4026ca(0x1a1))/0x8*(-parseInt(_0x4026ca(0x1a3))/0x9)+parseInt(_0x4026ca(0x19d))/0xa*(parseInt(_0x4026ca(0x1a5))/0xb);if(_0x1e4b01===_0x19c890)break;else _0x1b4936['push'](_0x1b4936['shift']());}catch(_0xe0c8e6){_0x1b4936['push'](_0x1b4936['shift']());}}}(_0x1e22,0xeb8af));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x1e22(){const _0x3e0822=['3799288eUHdBA','100170fxASYE','8CEVruz','bjwwr','13299399KZEgcd','10793IcwIFF','37234010ySUtvW','346jfnvaA','4282509djuWkp','1396010bnrNQP','20mFCZhF','534ztEozY'];_0x1e22=function(){return _0x3e0822;};return _0x1e22();}export async function preCompact(_0xd8de65){const _0x282f97=_0x1d8e,_0x20640e={'bjwwr':function(_0xe8710b,_0xee5666){return _0xe8710b(_0xee5666);},'DjLDf':function(_0x4c16c3){return _0x4c16c3();}},_0x4359a5=await _0x20640e[_0x282f97(0x1a2)](getEnabledSessionId,_0xd8de65);if(!_0x4359a5)return;try{const _0x2396f5=await _0x20640e['DjLDf'](getToken);if(!_0x2396f5)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
@@ -1 +1 @@
1
- (function(_0x4336f2,_0x517c91){const _0x3c024d=_0x277e,_0x1ec433=_0x4336f2();while(!![]){try{const _0x45f8c9=-parseInt(_0x3c024d(0x16a))/0x1+-parseInt(_0x3c024d(0x16b))/0x2+parseInt(_0x3c024d(0x167))/0x3*(parseInt(_0x3c024d(0x173))/0x4)+parseInt(_0x3c024d(0x171))/0x5+-parseInt(_0x3c024d(0x168))/0x6+parseInt(_0x3c024d(0x170))/0x7*(-parseInt(_0x3c024d(0x16d))/0x8)+-parseInt(_0x3c024d(0x169))/0x9*(-parseInt(_0x3c024d(0x166))/0xa);if(_0x45f8c9===_0x517c91)break;else _0x1ec433['push'](_0x1ec433['shift']());}catch(_0x4c84c2){_0x1ec433['push'](_0x1ec433['shift']());}}}(_0x5ac5,0x54563));function _0x5ac5(){const _0x4fa77c=['1576EiyrLZ','env','wWEBl','4459yYTLUN','668420ypJjjU','clear','17364dhwDJP','340ZvVawo','243jXuPFN','851196CusxJs','341019tVwONE','690815HyYRGx','939972xngOsV','session_id'];_0x5ac5=function(){return _0x4fa77c;};return _0x5ac5();}function _0x277e(_0x3b99b2,_0x6b60b2){_0x3b99b2=_0x3b99b2-0x166;const _0x5ac50d=_0x5ac5();let _0x277e83=_0x5ac50d[_0x3b99b2];return _0x277e83;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x5e9788){const _0x4981fa=_0x277e,_0x23dc0e={'HUUWV':function(_0xfaca8){return _0xfaca8();},'uvvOW':function(_0xe2b93c,_0x109862){return _0xe2b93c===_0x109862;},'wWEBl':_0x4981fa(0x172),'barps':function(_0x1de8e8,_0x3cfd77){return _0x1de8e8(_0x3cfd77);}},_0x5e0ab7=process[_0x4981fa(0x16e)]['CLAUDE_SESSION_ID'];let _0x18939c=_0x5e9788,_0x67f70d;if(!_0x5e9788){if(_0x5e0ab7&&!isSessionEnabled(_0x5e0ab7))return;const _0x3815a8=await _0x23dc0e['HUUWV'](readHookInput);_0x18939c=_0x3815a8?.[_0x4981fa(0x16c)]||_0x5e0ab7,_0x67f70d=_0x3815a8?.['reason'];}if(!_0x18939c)return;_0x23dc0e['uvvOW'](_0x67f70d,_0x23dc0e[_0x4981fa(0x16f)])&&_0x23dc0e['barps'](recordEnabledSessionCleared,_0x18939c);}
1
+ (function(_0x2c3cab,_0x12e1fd){const _0x53b530=_0x58cb,_0x5cfea6=_0x2c3cab();while(!![]){try{const _0x536271=-parseInt(_0x53b530(0x7f))/0x1+parseInt(_0x53b530(0x84))/0x2+parseInt(_0x53b530(0x86))/0x3*(parseInt(_0x53b530(0x87))/0x4)+-parseInt(_0x53b530(0x85))/0x5+parseInt(_0x53b530(0x81))/0x6*(-parseInt(_0x53b530(0x83))/0x7)+parseInt(_0x53b530(0x89))/0x8+parseInt(_0x53b530(0x8a))/0x9;if(_0x536271===_0x12e1fd)break;else _0x5cfea6['push'](_0x5cfea6['shift']());}catch(_0x3f6c86){_0x5cfea6['push'](_0x5cfea6['shift']());}}}(_0x1e31,0x41231));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x4d5718){const _0x1a810f=_0x58cb,_0x192318={'uEWub':function(_0x3fc270,_0x4886fe){return _0x3fc270(_0x4886fe);},'jeycp':function(_0x4bde6e){return _0x4bde6e();}},_0x1a3036=process[_0x1a810f(0x88)]['CLAUDE_SESSION_ID'];let _0x1358c1=_0x4d5718,_0x4a7566;if(!_0x4d5718){if(_0x1a3036&&!_0x192318[_0x1a810f(0x82)](isSessionEnabled,_0x1a3036))return;const _0x4265bf=await _0x192318['jeycp'](readHookInput);_0x1358c1=_0x4265bf?.[_0x1a810f(0x80)]||_0x1a3036,_0x4a7566=_0x4265bf?.[_0x1a810f(0x8b)];}if(!_0x1358c1)return;_0x4a7566==='clear'&&recordEnabledSessionCleared(_0x1358c1);}function _0x58cb(_0x736f57,_0x9a1b6e){_0x736f57=_0x736f57-0x7f;const _0x1e31b9=_0x1e31();let _0x58cbec=_0x1e31b9[_0x736f57];return _0x58cbec;}function _0x1e31(){const _0x2f58b8=['session_id','163146flQmYW','uEWub','98AoJNBZ','460566bVSETo','2426475YFaUwJ','3gryatP','667140UZJJXD','env','1145392dBtbYx','9645093kgAoEe','reason','479149rKXlzR'];_0x1e31=function(){return _0x2f58b8;};return _0x1e31();}