@ranger-testing/ranger-cli 2.2.5 → 2.3.0

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 (69) 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/browserSessionsApi.js +1 -1
  35. package/build/commands/utils/claudeConfig.js +1 -1
  36. package/build/commands/utils/claudePlugin.js +1 -1
  37. package/build/commands/utils/crypto.js +1 -1
  38. package/build/commands/utils/desirePathLog.js +1 -1
  39. package/build/commands/utils/deviceAuth.js +1 -1
  40. package/build/commands/utils/environment.js +1 -1
  41. package/build/commands/utils/featureApi.js +1 -1
  42. package/build/commands/utils/featureReportGenerator.js +1 -1
  43. package/build/commands/utils/fixWebmDuration.js +1 -1
  44. package/build/commands/utils/git.js +1 -1
  45. package/build/commands/utils/keychain.js +1 -1
  46. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  47. package/build/commands/utils/mcpImageBase64.js +1 -1
  48. package/build/commands/utils/model.js +1 -1
  49. package/build/commands/utils/opencodeConfig.js +1 -1
  50. package/build/commands/utils/playwrightCli.js +1 -0
  51. package/build/commands/utils/profileMessages.js +1 -1
  52. package/build/commands/utils/profileSetupBanner.js +1 -1
  53. package/build/commands/utils/rangerConfig.js +1 -1
  54. package/build/commands/utils/rangerRoot.js +1 -1
  55. package/build/commands/utils/reportGenerator.js +1 -1
  56. package/build/commands/utils/retry.js +1 -1
  57. package/build/commands/utils/sessionCache.js +1 -1
  58. package/build/commands/utils/settings.js +1 -1
  59. package/build/commands/utils/skillContent.js +1 -1
  60. package/build/commands/utils/skills.js +1 -1
  61. package/build/commands/utils/stitchWebmFiles.js +1 -1
  62. package/build/commands/utils/telemetry.js +1 -1
  63. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  64. package/build/commands/utils/userApi.js +1 -1
  65. package/build/commands/utils/version.js +1 -1
  66. package/build/commands/verifyFeature.js +1 -1
  67. package/build/commands/verifyFeatureCli.js +1 -0
  68. package/build/commands/verifyInBrowser.js +1 -1
  69. package/package.json +3 -1
@@ -1 +1 @@
1
- const _0x4cb039=_0x4f57;(function(_0x4bccf9,_0x387b84){const _0x2c9c57=_0x4f57,_0x2e1bf7=_0x4bccf9();while(!![]){try{const _0x328e5c=parseInt(_0x2c9c57(0xcd))/0x1*(-parseInt(_0x2c9c57(0xcc))/0x2)+parseInt(_0x2c9c57(0xb7))/0x3*(-parseInt(_0x2c9c57(0xc0))/0x4)+-parseInt(_0x2c9c57(0xc7))/0x5*(-parseInt(_0x2c9c57(0xb3))/0x6)+-parseInt(_0x2c9c57(0xbf))/0x7*(-parseInt(_0x2c9c57(0xcb))/0x8)+parseInt(_0x2c9c57(0xca))/0x9+parseInt(_0x2c9c57(0xbb))/0xa+parseInt(_0x2c9c57(0xc4))/0xb*(-parseInt(_0x2c9c57(0xbc))/0xc);if(_0x328e5c===_0x387b84)break;else _0x2e1bf7['push'](_0x2e1bf7['shift']());}catch(_0x1b52c0){_0x2e1bf7['push'](_0x2e1bf7['shift']());}}}(_0x2fc0,0xedf45));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x2fc0(){const _0x3a2cbc=['32twSixd','652076AMnbqw','1saEHFY','includes','length','oBugY','\x20\x20\x20\x20\x20\x20URL:\x20','\x0aNo\x20profiles\x20found.','Run:\x20ranger\x20profile\x20add\x20<profile-name>','1290jNNEII','log','reports','pYWkE','38238misrNV','baseUrl','environmentDetails','\x0a*\x20=\x20active\x20profile','7427780Weyhvb','4105116CEYRxK','oMAda','push','1261267jgYZDO','236GbTfOy','bug-bashes','settings.json','local','33nxCZas','isDirectory','endsWith','10185pjsHXz','startsWith','NvZlf','10597815gWzbwE'];_0x2fc0=function(){return _0x3a2cbc;};return _0x2fc0();}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x4f57(_0x4446c3,_0x47326a){_0x4446c3=_0x4446c3-0xae;const _0x2fc0e2=_0x2fc0();let _0x4f57b8=_0x2fc0e2[_0x4446c3];return _0x4f57b8;}const NON_ENV_DIRS=['sessions',_0x4cb039(0xc1),_0x4cb039(0xb5),'local','ci'];export async function getEnvNames(){const _0x446db9=_0x4cb039,_0x37f178={'PBOTa':function(_0x231d6c,_0x34dca1){return _0x231d6c(_0x34dca1);},'AkqKY':function(_0xad285d){return _0xad285d();},'oMAda':_0x446db9(0xc3),'Rueep':function(_0x5ba9b1,_0x524fd7){return _0x5ba9b1(_0x524fd7);},'pYWkE':function(_0x297fa0,_0x42a0b2,_0x13512c){return _0x297fa0(_0x42a0b2,_0x13512c);},'NvZlf':function(_0x23b92e,_0x327849){return _0x23b92e(_0x327849);},'oBugY':function(_0x5df5f0,_0x51c128){return _0x5df5f0(_0x51c128);},'xDTxU':'.txt','tFmkf':function(_0x5dab5f,_0x21a43e,_0x5bf880){return _0x5dab5f(_0x21a43e,_0x5bf880);},'FndoV':function(_0x1d45bb,_0x3cbf00,_0x505d5b){return _0x1d45bb(_0x3cbf00,_0x505d5b);},'xbYPk':'legacy'},_0x38bb66=getRangerDir();if(!_0x37f178['PBOTa'](existsSync,_0x38bb66))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x28c678=await _0x37f178['AkqKY'](readActiveProfileName),_0x4caf5e=[],_0x24bd85={},_0x192e4f=join(_0x38bb66,_0x37f178[_0x446db9(0xbd)]);if(existsSync(_0x192e4f)){const _0x21496d=await _0x37f178['Rueep'](readdir,_0x192e4f);for(const _0x2930f0 of _0x21496d){const _0x59adec=_0x37f178['pYWkE'](join,_0x192e4f,_0x2930f0),_0x47305b=await _0x37f178['NvZlf'](stat,_0x59adec);_0x47305b[_0x446db9(0xc5)]()&&(_0x4caf5e[_0x446db9(0xbe)](_0x2930f0),_0x24bd85[_0x2930f0]=_0x37f178[_0x446db9(0xbd)]);}}const _0x29e2d2=_0x37f178[_0x446db9(0xb6)](join,_0x38bb66,'ci');if(existsSync(_0x29e2d2)){const _0x3093a7=await _0x37f178[_0x446db9(0xc9)](readdir,_0x29e2d2);for(const _0x24f811 of _0x3093a7){const _0x5b476b=_0x37f178[_0x446db9(0xb6)](join,_0x29e2d2,_0x24f811),_0x24f0c3=await stat(_0x5b476b);_0x24f0c3[_0x446db9(0xc5)]()&&(_0x4caf5e[_0x446db9(0xbe)](_0x24f811),_0x24bd85[_0x24f811]='ci');}}const _0x429a7a=await _0x37f178[_0x446db9(0xaf)](readdir,_0x38bb66);for(const _0x48aa25 of _0x429a7a){if(NON_ENV_DIRS[_0x446db9(0xce)](_0x48aa25))continue;if(_0x48aa25[_0x446db9(0xc8)]('.'))continue;if(_0x48aa25[_0x446db9(0xc6)](_0x37f178['xDTxU']))continue;const _0x5a8318=_0x37f178['tFmkf'](join,_0x38bb66,_0x48aa25),_0x4d8b7e=await _0x37f178['Rueep'](stat,_0x5a8318);_0x4d8b7e[_0x446db9(0xc5)]()&&existsSync(_0x37f178['FndoV'](join,_0x5a8318,_0x446db9(0xc2)))&&(!_0x4caf5e[_0x446db9(0xce)](_0x48aa25)&&(_0x4caf5e['push'](_0x48aa25),_0x24bd85[_0x48aa25]=_0x37f178['xbYPk']));}return{'envNames':_0x4caf5e,'activeEnv':_0x28c678,'envTypes':_0x24bd85};}export async function envList(){const _0x3d4186=_0x4cb039,_0x35c89c={'oBDBO':_0x3d4186(0xb1),'IzZWA':_0x3d4186(0xb2),'HpYxK':'\x0aProfiles:','zvVTY':'legacy'},{envNames:_0x405ed5,activeEnv:_0xe605a,envTypes:_0x2236b7}=await getEnvNames();if(_0x405ed5[_0x3d4186(0xae)]===0x0){console['log'](_0x35c89c['oBDBO']),console[_0x3d4186(0xb4)](_0x35c89c['IzZWA']);return;}console[_0x3d4186(0xb4)](_0x35c89c['HpYxK']);for(const _0x1f8920 of _0x405ed5['sort']()){const _0x35bfe4=_0x1f8920===_0xe605a,_0x58c6f5=_0x2236b7[_0x1f8920]||_0x3d4186(0xc3),_0x3baebe=await loadSettings(_0x1f8920),_0x1600b4=_0x58c6f5===_0x35c89c['zvVTY']?'':'\x20['+_0x58c6f5+']';console['log']('\x20\x20'+(_0x35bfe4?'*\x20':'\x20\x20')+_0x1f8920+_0x1600b4),_0x3baebe[_0x3d4186(0xb8)]&&console[_0x3d4186(0xb4)](_0x3d4186(0xb0)+_0x3baebe[_0x3d4186(0xb8)]),_0x3baebe['environmentDetails']&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x3baebe[_0x3d4186(0xb9)]);}_0xe605a&&console['log'](_0x3d4186(0xba));}
1
+ const _0x5539e7=_0xd630;(function(_0x3acf4f,_0x57a113){const _0x214195=_0xd630,_0x207565=_0x3acf4f();while(!![]){try{const _0x56d3dc=parseInt(_0x214195(0x1f7))/0x1*(parseInt(_0x214195(0x205))/0x2)+-parseInt(_0x214195(0x206))/0x3*(parseInt(_0x214195(0x1fa))/0x4)+parseInt(_0x214195(0x1fd))/0x5*(parseInt(_0x214195(0x1f0))/0x6)+parseInt(_0x214195(0x1ef))/0x7+-parseInt(_0x214195(0x1ee))/0x8*(-parseInt(_0x214195(0x213))/0x9)+-parseInt(_0x214195(0x1f9))/0xa*(-parseInt(_0x214195(0x20f))/0xb)+parseInt(_0x214195(0x1f8))/0xc*(parseInt(_0x214195(0x201))/0xd);if(_0x56d3dc===_0x57a113)break;else _0x207565['push'](_0x207565['shift']());}catch(_0x3cfd86){_0x207565['push'](_0x207565['shift']());}}}(_0x3bee,0xe483e));function _0xd630(_0x535026,_0x1d43e9){_0x535026=_0x535026-0x1ee;const _0x3bee69=_0x3bee();let _0xd630e3=_0x3bee69[_0x535026];return _0xd630e3;}import{readdir,stat}from'fs/promises';function _0x3bee(){const _0x509e7f=['pXyaR','includes','1cksFCT','348tVrFji','10HaRXaT','12NlUtkb','log','Run:\x20ranger\x20profile\x20add\x20<profile-name>','5xnLLnO','kFsmX','sessions','kJHST','62348FCzBUh','.txt','environmentDetails','YpehF','452484JdfPvP','1547871KhCyPE','local','EYdwj','\x20\x20\x20\x20\x20\x20URL:\x20','baseUrl','push','\x0aProfiles:','legacy','\x0aNo\x20profiles\x20found.','1850321SZtiPz','sort','length','UWKdw','714501dXKpdx','104KazkDT','1911028rTxVli','3871626uRCVdo','iZOaL','bug-bashes','isDirectory','\x0a*\x20=\x20active\x20profile'];_0x3bee=function(){return _0x509e7f;};return _0x3bee();}import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=[_0x5539e7(0x1ff),_0x5539e7(0x1f2),'reports','local','ci'];export async function getEnvNames(){const _0x284660=_0x5539e7,_0x244c55={'YpehF':function(_0x2c3cc7){return _0x2c3cc7();},'pXyaR':function(_0x4b1ee6,_0x5ac29c,_0x3fe8cc){return _0x4b1ee6(_0x5ac29c,_0x3fe8cc);},'WlPQS':function(_0x5d2342,_0x48890e){return _0x5d2342(_0x48890e);},'kJHST':function(_0x512de2,_0xda0c4c){return _0x512de2(_0xda0c4c);},'EYdwj':function(_0x4e681e,_0x5838fe,_0x18d5fa){return _0x4e681e(_0x5838fe,_0x18d5fa);},'Mzssp':function(_0x39a98e,_0x107ee5,_0x1150b8){return _0x39a98e(_0x107ee5,_0x1150b8);},'tNGzq':function(_0x1c9d5d,_0x48b44b){return _0x1c9d5d(_0x48b44b);},'tNTzr':function(_0x5d168a,_0x40c6f4){return _0x5d168a(_0x40c6f4);},'dQBCv':'settings.json'},_0x411f17=getRangerDir();if(!existsSync(_0x411f17))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x4740cf=await _0x244c55[_0x284660(0x204)](readActiveProfileName),_0x17d429=[],_0x4d361d={},_0x2fa25e=_0x244c55[_0x284660(0x1f5)](join,_0x411f17,_0x284660(0x207));if(_0x244c55['WlPQS'](existsSync,_0x2fa25e)){const _0x507743=await _0x244c55[_0x284660(0x200)](readdir,_0x2fa25e);for(const _0x328b4 of _0x507743){const _0x15f2b1=_0x244c55[_0x284660(0x208)](join,_0x2fa25e,_0x328b4),_0x5cf830=await stat(_0x15f2b1);_0x5cf830['isDirectory']()&&(_0x17d429['push'](_0x328b4),_0x4d361d[_0x328b4]='local');}}const _0x4d497c=_0x244c55['Mzssp'](join,_0x411f17,'ci');if(existsSync(_0x4d497c)){const _0x452be5=await readdir(_0x4d497c);for(const _0x5d3c7a of _0x452be5){const _0x7a0acb=join(_0x4d497c,_0x5d3c7a),_0x1eb5c4=await _0x244c55['tNGzq'](stat,_0x7a0acb);_0x1eb5c4['isDirectory']()&&(_0x17d429[_0x284660(0x20b)](_0x5d3c7a),_0x4d361d[_0x5d3c7a]='ci');}}const _0x175999=await readdir(_0x411f17);for(const _0x207756 of _0x175999){if(NON_ENV_DIRS[_0x284660(0x1f6)](_0x207756))continue;if(_0x207756['startsWith']('.'))continue;if(_0x207756['endsWith'](_0x284660(0x202)))continue;const _0x1cfe4f=join(_0x411f17,_0x207756),_0x56e280=await stat(_0x1cfe4f);_0x56e280[_0x284660(0x1f3)]()&&_0x244c55['tNTzr'](existsSync,join(_0x1cfe4f,_0x244c55['dQBCv']))&&(!_0x17d429[_0x284660(0x1f6)](_0x207756)&&(_0x17d429['push'](_0x207756),_0x4d361d[_0x207756]=_0x284660(0x20d)));}return{'envNames':_0x17d429,'activeEnv':_0x4740cf,'envTypes':_0x4d361d};}export async function envList(){const _0x4a8ca2=_0x5539e7,_0x30092e={'oozZG':_0x4a8ca2(0x20e),'iZOaL':_0x4a8ca2(0x1fc),'UWKdw':_0x4a8ca2(0x20c),'kFsmX':function(_0x5b0da8,_0xb8e3a1){return _0x5b0da8===_0xb8e3a1;},'KyArq':'legacy'},{envNames:_0x3b449d,activeEnv:_0xc76a93,envTypes:_0x30e7c3}=await getEnvNames();if(_0x3b449d[_0x4a8ca2(0x211)]===0x0){console['log'](_0x30092e['oozZG']),console['log'](_0x30092e[_0x4a8ca2(0x1f1)]);return;}console[_0x4a8ca2(0x1fb)](_0x30092e[_0x4a8ca2(0x212)]);for(const _0x588605 of _0x3b449d[_0x4a8ca2(0x210)]()){const _0x496efb=_0x30092e[_0x4a8ca2(0x1fe)](_0x588605,_0xc76a93),_0x4bf1dc=_0x30e7c3[_0x588605]||'local',_0x331580=await loadSettings(_0x588605),_0x10e004=_0x30092e['kFsmX'](_0x4bf1dc,_0x30092e['KyArq'])?'':'\x20['+_0x4bf1dc+']';console['log']('\x20\x20'+(_0x496efb?'*\x20':'\x20\x20')+_0x588605+_0x10e004),_0x331580[_0x4a8ca2(0x20a)]&&console['log'](_0x4a8ca2(0x209)+_0x331580['baseUrl']),_0x331580[_0x4a8ca2(0x203)]&&console[_0x4a8ca2(0x1fb)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x331580['environmentDetails']);}_0xc76a93&&console['log'](_0x4a8ca2(0x1f4));}
@@ -1 +1 @@
1
- const _0xc65e02=_0x1064;(function(_0x4bed51,_0x4a439d){const _0x402474=_0x1064,_0x5988fd=_0x4bed51();while(!![]){try{const _0x1bd5c8=parseInt(_0x402474(0x8d))/0x1*(-parseInt(_0x402474(0xe8))/0x2)+-parseInt(_0x402474(0x10b))/0x3+-parseInt(_0x402474(0x13d))/0x4*(parseInt(_0x402474(0xe5))/0x5)+parseInt(_0x402474(0xa2))/0x6*(parseInt(_0x402474(0xa9))/0x7)+-parseInt(_0x402474(0xf3))/0x8*(-parseInt(_0x402474(0xc1))/0x9)+-parseInt(_0x402474(0xb1))/0xa*(parseInt(_0x402474(0xd6))/0xb)+-parseInt(_0x402474(0x79))/0xc*(-parseInt(_0x402474(0x11a))/0xd);if(_0x1bd5c8===_0x4a439d)break;else _0x5988fd['push'](_0x5988fd['shift']());}catch(_0x27e21f){_0x5988fd['push'](_0x5988fd['shift']());}}}(_0x4cfc,0x7c679));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x4cb599 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0xc85ade=>'\x1b[1m'+_0xc85ade+_0xc65e02(0x154);function getGitRepoUrl(){const _0xded7fa=_0xc65e02,_0x2cfc2a={'RKaCX':_0xded7fa(0xb9),'fFDgW':'utf-8','FCnbO':_0xded7fa(0xf7),'sYjOX':'github.com/'};try{const _0x4bf52a=execSync(_0x2cfc2a['RKaCX'],{'encoding':_0x2cfc2a[_0xded7fa(0x12f)],'stdio':[_0xded7fa(0xf7),_0x2cfc2a['FCnbO'],_0x2cfc2a[_0xded7fa(0xde)]]})[_0xded7fa(0xfb)]();return _0x4bf52a['replace'](/\.git$/,'')[_0xded7fa(0xee)](/^git@github\.com:/,_0x2cfc2a['sYjOX'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x2fb012=_0xc65e02,_0x39fc44={'lEqTe':function(_0x56d554,_0x32e04b,_0x22fe8e){return _0x56d554(_0x32e04b,_0x22fe8e);},'NPlfE':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','UcTmE':'pipe'};try{return _0x39fc44['lEqTe'](execSync,_0x39fc44['NPlfE'],{'encoding':_0x2fb012(0x155),'stdio':[_0x2fb012(0xf7),_0x39fc44[_0x2fb012(0x12b)],_0x39fc44[_0x2fb012(0x12b)]]})[_0x2fb012(0xfb)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3c00db=_0xc65e02,_0x1ac3cd={'RkLxB':_0x3c00db(0x155)},_0x116d59=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x116d59))return null;try{const _0x347d8c=await readFile(_0x116d59,_0x1ac3cd['RkLxB']);return _0x347d8c['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x36926e){const _0x4e8f69=_0xc65e02,_0x29bc5b={'QnPmy':function(_0x24e0d3){return _0x24e0d3();},'ehPCZ':function(_0x47f910,_0x90b247,_0x1f082b){return _0x47f910(_0x90b247,_0x1f082b);},'WWzUU':function(_0x5c99a8,_0x1e414c,_0x1e124a,_0x3ee59f){return _0x5c99a8(_0x1e414c,_0x1e124a,_0x3ee59f);}},_0x205217=_0x29bc5b[_0x4e8f69(0xd5)](getRangerDir),_0xeed0ea=_0x29bc5b[_0x4e8f69(0x113)](join,_0x205217,ACTIVE_FEATURE_FILE);!existsSync(_0x205217)&&await _0x29bc5b['ehPCZ'](mkdir,_0x205217,{'recursive':!![]}),await _0x29bc5b['WWzUU'](writeFile,_0xeed0ea,_0x36926e,'utf-8');}function getProgressDisplay(_0x4d559e){const _0x336e70=_0xc65e02,_0x484614={'yxtDm':function(_0x180c27,_0x2a10f4){return _0x180c27+_0x2a10f4;},'KbZiJ':function(_0x1e8c15,_0x32449f){return _0x1e8c15>_0x32449f;},'anOYC':function(_0x36a9ad,_0x155c8e){return _0x36a9ad>_0x155c8e;}},_0x316db4=_0x4d559e['verifiedItems']||0x0,_0x595159=_0x4d559e[_0x336e70(0x130)]||0x0,_0x1b7932=_0x4d559e[_0x336e70(0x11b)]||0x0,_0x519322=_0x4d559e[_0x336e70(0x141)]||0x0,_0x576fbf=_0x4d559e[_0x336e70(0x13c)]||0x0,_0x1c499c=_0x484614['yxtDm'](_0x484614['yxtDm'](_0x316db4,_0x595159)+_0x1b7932+_0x519322,_0x576fbf);if(_0x1c499c===0x0)return'-';const _0x560dc7=0xa,_0x56962c=Math[_0x336e70(0x13f)](_0x316db4/_0x1c499c*_0x560dc7),_0x38e26f=_0x484614[_0x336e70(0xd3)]('█'['repeat'](_0x56962c),'░'[_0x336e70(0x10f)](_0x560dc7-_0x56962c)),_0xe2f5fc=[];if(_0x1b7932>0x0)_0xe2f5fc[_0x336e70(0x72)](_0x1b7932+'\x20blocked');if(_0x484614[_0x336e70(0xbe)](_0x519322,0x0))_0xe2f5fc[_0x336e70(0x72)](_0x519322+'\x20incomplete');if(_0x595159>0x0)_0xe2f5fc['push'](_0x595159+_0x336e70(0x7e));const _0x58bfcf=_0x484614[_0x336e70(0xae)](_0xe2f5fc[_0x336e70(0x95)],0x0)?'\x20('+_0xe2f5fc[_0x336e70(0xcc)](',\x20')+')':'';return _0x38e26f+'\x20'+_0x316db4+'/'+_0x1c499c+'\x20verified'+_0x58bfcf;}function getCurrentSessionItems(_0x4bf2f9,_0x785952){const _0x563702=_0xc65e02;if(!_0x4bf2f9[_0x563702(0xec)])return _0x785952[_0x563702(0x88)](_0x5ee449=>!_0x5ee449[_0x563702(0xf6)]);return _0x785952['filter'](_0x5efece=>_0x5efece['sessionId']===_0x4bf2f9['currentSessionId']||!_0x5efece[_0x563702(0xf6)]);}function displayFeature(_0x5563e9,_0x45da8c){const _0x3a09ae=_0xc65e02,_0xd3aa7f={'LXWhL':'\x0a\x20\x20\x20Scenarios:','evEFg':function(_0x138e83,_0x59efce){return _0x138e83<_0x59efce;},'DLeXw':function(_0x4f304b,_0x3aed58){return _0x4f304b===_0x3aed58;},'Hyydw':'closed','WVskq':'verified','IZMFA':'incomplete','LWGqg':function(_0x2a25d8,_0x1ab94e){return _0x2a25d8===_0x1ab94e;},'MHGon':_0x3a09ae(0x134),'pqvjv':'verification_in_progress','txyPq':function(_0x2628d8,_0x11e1cd){return _0x2628d8>_0x11e1cd;},'lPmMy':function(_0x197995,_0x42178f){return _0x197995!==_0x42178f;},'ZuONc':function(_0x1ac4dd,_0x302629){return _0x1ac4dd!==_0x302629;},'hRMDF':function(_0x430578,_0x39c8c5){return _0x430578+_0x39c8c5;},'QxsUI':function(_0x427de5,_0x4ddf20){return _0x427de5===_0x4ddf20;},'AnKYG':function(_0x473f07,_0x55fad7){return _0x473f07===_0x55fad7;},'PdgVS':_0x3a09ae(0x111)};console['log']('\x0a'+_0x5563e9[_0x3a09ae(0xca)]+'\x20('+_0x5563e9['dashboardUrl']+')');_0x5563e9['stats']&&console[_0x3a09ae(0xb2)](_0x3a09ae(0x123)+getProgressDisplay(_0x5563e9['stats']));_0x5563e9['description']&&console[_0x3a09ae(0xb2)]('\x20\x20\x20Description:\x20'+_0x5563e9['description']);_0x5563e9['gitRepoUrl']&&console[_0x3a09ae(0xb2)]('\x20\x20\x20Repository:\x20'+_0x5563e9['gitRepoUrl']);_0x5563e9['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x5563e9['gitBranch']);console[_0x3a09ae(0xb2)](_0x3a09ae(0x133)+new Date(_0x5563e9[_0x3a09ae(0xb5)])[_0x3a09ae(0xc7)]());_0x5563e9['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x5563e9['completedAt'])[_0x3a09ae(0xc7)]());if(_0x45da8c&&_0x45da8c['length']>0x0){console['log'](_0xd3aa7f['LXWhL']);for(let _0xfa4604=0x0;_0xd3aa7f[_0x3a09ae(0x94)](_0xfa4604,_0x45da8c[_0x3a09ae(0x95)]);_0xfa4604++){const _0x5c9bc2=_0x45da8c[_0xfa4604];let _0x5f4e71;if(_0xd3aa7f['DLeXw'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f[_0x3a09ae(0x108)])&&_0xd3aa7f[_0x3a09ae(0x99)](_0x5c9bc2['terminalReason'],_0x3a09ae(0x111)))_0x5f4e71='✅';else{if(_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f[_0x3a09ae(0xc8)])_0x5f4e71='🟢';else{if(_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f['IZMFA'])_0x5f4e71='🟠';else{if(_0xd3aa7f[_0x3a09ae(0x103)](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['MHGon']))_0x5f4e71='🛑';else{if(_0x5c9bc2['status']===_0x3a09ae(0xd2))_0x5f4e71='⛔';else _0xd3aa7f['DLeXw'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['pqvjv'])?_0x5f4e71='⏳':_0x5f4e71='⬜';}}}}const _0x2febc1=_0xd3aa7f[_0x3a09ae(0x12e)](_0x5c9bc2[_0x3a09ae(0x10d)],0x1)?'\x20(v'+_0x5c9bc2['version']+')':'',_0x16398d=_0x5c9bc2['version']>0x1&&_0x5c9bc2[_0x3a09ae(0xdc)]&&_0xd3aa7f['lPmMy'](_0x5c9bc2['status'],_0xd3aa7f['Hyydw'])&&_0xd3aa7f['ZuONc'](_0x5c9bc2[_0x3a09ae(0x11d)],'verified')?'\x20[has\x20reviewer\x20feedback]':'';console[_0x3a09ae(0xb2)]('\x20\x20\x20'+_0xd3aa7f[_0x3a09ae(0xf5)](_0xfa4604,0x1)+'.\x20'+_0x5f4e71+'\x20'+_0x5c9bc2[_0x3a09ae(0xa3)]+_0x2febc1+_0x16398d);_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f[_0x3a09ae(0x140)]&&_0x5c9bc2['blockedReason']&&console['log'](_0x3a09ae(0x110)+_0x5c9bc2['blockedReason']);_0xd3aa7f['LWGqg'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['IZMFA'])&&_0x5c9bc2[_0x3a09ae(0xe3)]&&console[_0x3a09ae(0xb2)](_0x3a09ae(0xa7)+_0x5c9bc2[_0x3a09ae(0xe3)]);if(_0xd3aa7f['QxsUI'](_0x5c9bc2['status'],_0xd3aa7f['Hyydw'])&&_0xd3aa7f['AnKYG'](_0x5c9bc2[_0x3a09ae(0x126)],_0xd3aa7f[_0x3a09ae(0x8b)]))console[_0x3a09ae(0xb2)]('\x20\x20\x20\x20\x20\x20Approved');else _0x5c9bc2['status']===_0x3a09ae(0xd2)&&_0x5c9bc2[_0x3a09ae(0xdd)]&&console[_0x3a09ae(0xb2)](_0x3a09ae(0x10e)+_0x5c9bc2['canceledReason']);}}}export async function featureCreate(_0x4d1a48,_0x14a139){const _0x3fa474=_0xc65e02,_0x324ec9={'RAENj':function(_0x45db40,_0x484a5c){return _0x45db40===_0x484a5c;},'bekBI':function(_0xf8e9fd,_0x5533f0){return _0xf8e9fd(_0x5533f0);},'XxqtI':function(_0x3f1883,_0x23b691){return _0x3f1883(_0x23b691);},'NyRNP':function(_0x4011f9,_0x401c96){return _0x4011f9(_0x401c96);}},{envNames:_0xbadea6}=await getEnvNames();_0x324ec9[_0x3fa474(0xdb)](_0xbadea6[_0x3fa474(0x95)],0x0)&&console['warn']('\x0a'+_0x324ec9['bekBI'](formatProfileRequiredMessage,_0x3ba9ac=>bold(_0x3ba9ac)));const _0xe92e6=_0x14a139[_0x3fa474(0xd1)]?_0x14a139['scenarios']['map'](_0x509072=>_0x509072['trim']()):[],_0x18ff87=getGitRepoUrl(),_0x258c39=getGitBranch();console['log'](_0x3fa474(0xcf));const _0xee4ac8=await _0x324ec9[_0x3fa474(0x86)](createFeature,{'name':_0x4d1a48,'description':_0x14a139['description'],'checklist':_0xe92e6,'gitRepoUrl':_0x18ff87,'gitBranch':_0x258c39});await _0x324ec9['NyRNP'](setActiveFeatureId,_0xee4ac8['id']),await tryStartCurrentSession(_0xee4ac8['id']);const _0x362365=process[_0x3fa474(0x77)][_0x3fa474(0x9a)];_0x362365&&registerSession(_0x362365,_0xee4ac8['id']),console[_0x3fa474(0xb2)](_0x3fa474(0x83)+_0xee4ac8['id']),displayFeature(_0xee4ac8,_0xee4ac8['checklistItems']),console['log'](_0x3fa474(0x9f));}export async function featureList(_0x366c7e){const _0x5163e4=_0xc65e02,_0x59cfae={'XrCiw':function(_0x3a8a6b){return _0x3a8a6b();},'dMJwN':function(_0x36f5e9,_0x40febb){return _0x36f5e9(_0x40febb);},'qGSjP':function(_0x36b1a3,_0x3313ae){return _0x36b1a3>_0x3313ae;},'ErXXZ':function(_0x11b037,_0x5b4cba){return _0x11b037(_0x5b4cba);},'ntkuN':function(_0x157480,_0x17cc68){return _0x157480!==_0x17cc68;},'CMLvA':'\x20--current-branch','iIbeS':'\x20--include-deleted'},_0x3bb700={'limit':_0x366c7e['limit']??0xa,'offset':_0x366c7e['offset']??0x0,'includeDeleted':_0x366c7e['includeDeleted']};_0x366c7e[_0x5163e4(0xfa)]&&(_0x3bb700['gitRepoUrl']=_0x59cfae['XrCiw'](getGitRepoUrl),_0x3bb700['gitBranch']=getGitBranch());const _0x3fd6b7=await _0x59cfae[_0x5163e4(0x78)](listFeatures,_0x3bb700);if(_0x3fd6b7['items'][_0x5163e4(0x95)]===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x19c61d=_0x59cfae['qGSjP'](_0x3fd6b7[_0x5163e4(0xc3)],_0x3fd6b7['items'][_0x5163e4(0x95)])?'Showing\x20'+_0x3fd6b7['items']['length']+_0x5163e4(0x13e)+_0x3fd6b7['totalCount']:_0x3fd6b7['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x19c61d+':\x0a');for(const _0x1365f0 of _0x3fd6b7['items']){const _0x17ca1f=_0x5163e4(0x71)['split']('|');let _0x2e8d6f=0x0;while(!![]){switch(_0x17ca1f[_0x2e8d6f++]){case'0':console[_0x5163e4(0xb2)](''+_0x1365f0[_0x5163e4(0xca)]);continue;case'1':console[_0x5163e4(0xb2)]('');continue;case'2':console['log'](_0x5163e4(0x133)+new Date(_0x1365f0['createdAt'])['toLocaleDateString']());continue;case'3':_0x1365f0['gitBranch']&&console[_0x5163e4(0xb2)]('\x20\x20\x20Branch:\x20'+_0x1365f0['gitBranch']);continue;case'4':console['log']('\x20\x20\x20ID:\x20'+_0x1365f0['id']);continue;case'5':_0x1365f0[_0x5163e4(0xcb)]&&console['log'](_0x5163e4(0x123)+_0x59cfae['ErXXZ'](getProgressDisplay,_0x1365f0['stats']));continue;}break;}}const _0x56ac29=_0x3bb700[_0x5163e4(0x8f)]??0xa,_0x2d1861=(_0x3bb700['offset']??0x0)+_0x3fd6b7[_0x5163e4(0x143)][_0x5163e4(0x95)];if(_0x2d1861<_0x3fd6b7[_0x5163e4(0xc3)]){const _0x1a0416=_0x59cfae[_0x5163e4(0x87)](_0x56ac29,0xa)?_0x5163e4(0xd7)+_0x56ac29:'',_0x444781=_0x366c7e[_0x5163e4(0xfa)]?_0x59cfae[_0x5163e4(0x121)]:'',_0xa68c49=_0x366c7e[_0x5163e4(0x139)]?_0x59cfae[_0x5163e4(0x90)]:'';console['log'](_0x5163e4(0x117)+_0x2d1861+_0x1a0416+_0x444781+_0xa68c49);}}export async function featureShow(_0x37e2d0){const _0x343ca0=_0xc65e02,_0x371552={'oaHHT':function(_0x2cfa3f){return _0x2cfa3f();},'iNtzZ':_0x343ca0(0x73),'aYmBW':function(_0x3dbecd,_0x209b76){return _0x3dbecd(_0x209b76);}},_0x297760=_0x37e2d0||await _0x371552[_0x343ca0(0xb7)](getActiveFeatureId);if(!_0x297760)throw new Error(_0x371552[_0x343ca0(0x148)]);const _0x4c2bb0=await _0x371552['aYmBW'](getFeature,_0x297760);displayFeature(_0x4c2bb0,_0x4c2bb0[_0x343ca0(0xad)]);}export async function featureResume(_0x123c93){const _0x9322a7=_0xc65e02,_0x3ef975={'APpnO':function(_0x296ef0,_0x160815){return _0x296ef0(_0x160815);},'SxLrV':function(_0x3438df,_0x147ee0){return _0x3438df!==_0x147ee0;},'PTPYG':function(_0x5334f8,_0x2efe46,_0x3e6788){return _0x5334f8(_0x2efe46,_0x3e6788);},'szLQP':_0x9322a7(0xce),'HbONj':_0x9322a7(0x14d),'UVzVp':_0x9322a7(0x137),'ihzaV':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','OlnQp':_0x9322a7(0xe6),'VOGjD':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','GMETH':function(_0x5ce6e8,_0x1cc5da){return _0x5ce6e8(_0x1cc5da);}};if(_0x123c93){const _0x14d5de=await getFeature(_0x123c93);await _0x3ef975[_0x9322a7(0x13a)](setActiveFeatureId,_0x14d5de['id']);const _0x55ac84=getGitBranch();_0x55ac84&&_0x3ef975[_0x9322a7(0x8e)](_0x55ac84,_0x14d5de[_0x9322a7(0xfc)])&&(await _0x3ef975['PTPYG'](updateFeature,_0x14d5de['id'],{'gitBranch':_0x55ac84}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x55ac84));console[_0x9322a7(0xb2)](_0x9322a7(0x105)+_0x14d5de['name']+'\x20('+_0x14d5de['id']+')'),await tryStartCurrentSession(_0x14d5de['id']);const _0x1c22ca=process[_0x9322a7(0x77)][_0x9322a7(0x9a)];_0x1c22ca&&registerSession(_0x1c22ca,_0x14d5de['id']);displayFeature(_0x14d5de,_0x14d5de['checklistItems']),await printFeedbackNudge(_0x14d5de['id']);return;}const _0x2d60f0=getGitRepoUrl(),_0x316628=getGitBranch();if(!_0x2d60f0&&!_0x316628)throw new Error(_0x3ef975[_0x9322a7(0x119)]);console[_0x9322a7(0xb2)](_0x9322a7(0xbd)+(_0x2d60f0||_0x3ef975['HbONj'])+'\x20/\x20'+(_0x316628||_0x9322a7(0x14d))+_0x9322a7(0x82));const _0x2f932d=await listFeatures({'gitRepoUrl':_0x2d60f0,'gitBranch':_0x316628}),_0x264367=_0x2f932d[_0x9322a7(0x143)][_0x9322a7(0x88)](_0x23a4c9=>!_0x23a4c9[_0x9322a7(0x146)]);if(_0x264367[_0x9322a7(0x95)]===0x0){console[_0x9322a7(0xb2)](_0x3ef975['UVzVp']),console['log'](_0x3ef975['ihzaV']);return;}let _0x464a92;if(_0x264367[_0x9322a7(0x95)]===0x1)_0x464a92=_0x264367[0x0];else{const _0x2f91cf=process[_0x9322a7(0xa6)][_0x9322a7(0x11c)]&&process['stdout']['isTTY'];if(!_0x2f91cf){console[_0x9322a7(0xb2)](_0x9322a7(0xd4));for(const _0x59c3f5 of _0x264367){console['log']('\x20\x20'+_0x59c3f5[_0x9322a7(0xca)]),console['log'](_0x9322a7(0x81)+_0x59c3f5['id']),_0x59c3f5['stats']&&console[_0x9322a7(0xb2)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x59c3f5['stats'])),_0x59c3f5[_0x9322a7(0xfc)]&&console[_0x9322a7(0xb2)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x59c3f5['gitBranch']);}throw new Error(_0x3ef975[_0x9322a7(0xb6)]);}const {selected:_0x90eeef}=await _0x4cb599[_0x9322a7(0xe7)]([{'type':'list','name':'selected','message':_0x3ef975[_0x9322a7(0xff)],'choices':_0x264367['map'](_0x3442c7=>({'name':_0x3442c7['name']+'\x20('+_0x3442c7['id']+')','value':_0x3442c7['id']}))}]);_0x464a92=_0x264367['find'](_0x3147de=>_0x3147de['id']===_0x90eeef);}await _0x3ef975[_0x9322a7(0x13a)](setActiveFeatureId,_0x464a92['id']);_0x316628&&_0x316628!==_0x464a92['gitBranch']&&(await _0x3ef975['PTPYG'](updateFeature,_0x464a92['id'],{'gitBranch':_0x316628}),console['log'](_0x9322a7(0xb3)+_0x316628));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x464a92['name']+'\x20('+_0x464a92['id']+')'),await _0x3ef975['GMETH'](tryStartCurrentSession,_0x464a92['id']);const _0x7efb67=await getFeature(_0x464a92['id']),_0xeca7da=process[_0x9322a7(0x77)][_0x9322a7(0x9a)];_0xeca7da&&registerSession(_0xeca7da,_0x7efb67['id']),displayFeature(_0x7efb67,_0x7efb67[_0x9322a7(0xad)]),await printFeedbackNudge(_0x7efb67['id']);}async function printFeedbackNudge(_0x4b5640){const _0x11a64f=_0xc65e02,_0xe82073={'VZOaf':function(_0x1eab0a,_0x4b0d38){return _0x1eab0a(_0x4b0d38);},'IdPOM':function(_0x1b6e3b,_0x587210){return _0x1b6e3b>_0x587210;},'CnvUw':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x24a4eb}=await _0xe82073['VZOaf'](getActionItems,_0x4b5640);let _0x540123=0x0,_0x2f4b9e=0x0;for(const _0x3743d6 of _0x24a4eb){const _0x3a2e94=await getItemFeedback(_0x4b5640,_0x3743d6['id']);_0xe82073['IdPOM'](_0x3a2e94[_0x11a64f(0x157)]['length'],0x0)&&(_0x540123+=_0x3a2e94['unaddressedComments']['length'],_0x2f4b9e++);}_0xe82073[_0x11a64f(0xef)](_0x540123,0x0)&&(console[_0x11a64f(0xb2)](_0x11a64f(0x7f)+_0x540123+_0x11a64f(0x118)+_0x2f4b9e+_0x11a64f(0x8a)),console['log'](_0xe82073[_0x11a64f(0x106)]));}catch{}}async function tryStartCurrentSession(_0x38e832){const _0x11c396=_0xc65e02,_0x2374cd={'NUjAn':function(_0x1d0868,_0x349c14){return _0x1d0868(_0x349c14);}};try{const {sessions:_0x4251ee}=await _0x2374cd[_0x11c396(0x107)](listFeatureSessions,_0x38e832),_0xdbef9c=_0x4251ee['find'](_0x1afdfe=>_0x1afdfe[_0x11c396(0x11d)]==='ready');_0xdbef9c&&(await startSession(_0x38e832,_0xdbef9c['id']),console[_0x11c396(0xb2)](_0x11c396(0x145)+_0xdbef9c['iteration']));}catch{}}export async function featureReport(_0x37bcad,_0x2090ea){const _0x24989e=_0xc65e02,_0x3ee81c={'KdnbK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','JeuQo':function(_0x321691,_0x47dcf9,_0x49b45b){return _0x321691(_0x47dcf9,_0x49b45b);},'NbrRt':function(_0x26d1ee,_0x339340,_0x5dfee7,_0x36cff0){return _0x26d1ee(_0x339340,_0x5dfee7,_0x36cff0);},'ujEIK':function(_0x4e61eb){return _0x4e61eb();},'bGwcS':function(_0x19e73d,_0x3da91d,_0x38c6db){return _0x19e73d(_0x3da91d,_0x38c6db);},'Vfxvm':'utf-8'},_0x37fafb=_0x37bcad||await getActiveFeatureId();if(!_0x37fafb)throw new Error(_0x3ee81c[_0x24989e(0x12a)]);console[_0x24989e(0xb2)]('\x0aGenerating\x20report...');const _0x4c75a2=await _0x3ee81c['JeuQo'](getFeatureReportMarkdown,_0x37fafb,{'style':_0x2090ea['style']}),_0x14ae4c=_0x2090ea[_0x24989e(0x12d)]||_0x3ee81c[_0x24989e(0x10c)](join,_0x3ee81c[_0x24989e(0x12c)](getRangerDir),_0x24989e(0xf8),_0x37fafb+'.md'),_0xf6973f=_0x3ee81c[_0x24989e(0x11f)](join,_0x14ae4c,'..');!existsSync(_0xf6973f)&&await _0x3ee81c[_0x24989e(0x142)](mkdir,_0xf6973f,{'recursive':!![]}),await writeFile(_0x14ae4c,_0x4c75a2,_0x3ee81c[_0x24989e(0x131)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x14ae4c);}function getScenarioResult(_0x36b490){const _0x161abb=_0xc65e02,_0x2a3d2d={'DeRYH':function(_0x332eae,_0x4e1b60){return _0x332eae===_0x4e1b60;}};if(_0x2a3d2d[_0x161abb(0xf0)](_0x36b490['status'],'closed'))return _0x36b490[_0x161abb(0x126)]??_0x161abb(0xd2);if(_0x2a3d2d['DeRYH'](_0x36b490[_0x161abb(0x11d)],_0x161abb(0xd8)))return _0x161abb(0xbf);return _0x36b490['status'];}function getScenarioRationale(_0x3c10e4,_0x58e511){const _0x55345c=_0xc65e02;if(_0x58e511)return _0x58e511;if(_0x3c10e4[_0x55345c(0x8c)])return _0x3c10e4[_0x55345c(0x8c)];if(_0x3c10e4[_0x55345c(0xe3)])return _0x3c10e4['incompleteReason'];if(_0x3c10e4['canceledReason'])return _0x3c10e4['canceledReason'];if(_0x3c10e4['notes'])return _0x3c10e4['notes'];return null;}export async function featureReportPrDescription(_0xaa1cf4,_0x36d25d){const _0x3a1e58=_0xc65e02,_0x19ad32={'jZbrk':_0x3a1e58(0x97),'eerlJ':function(_0x343c28,_0x388e7d){return _0x343c28(_0x388e7d);},'fPhZV':function(_0x2c8e42,_0x24bf9d,_0x2e99b8){return _0x2c8e42(_0x24bf9d,_0x2e99b8);},'qQCsk':function(_0x2ebf61,_0x18b297){return _0x2ebf61===_0x18b297;},'MpbJG':_0x3a1e58(0x7a),'lKbPt':function(_0x4fc245,_0x1f8da3){return _0x4fc245>_0x1f8da3;},'bmbFk':function(_0x593bbc,_0x57a9b3){return _0x593bbc<_0x57a9b3;},'dPaxT':function(_0x45b97b,_0x293a68){return _0x45b97b+_0x293a68;},'DGAXV':function(_0x25f10b,_0x6b8ed0){return _0x25f10b===_0x6b8ed0;},'vpSNz':function(_0x4b8de2,_0x46cdc3,_0x47f14f,_0x5d4179){return _0x4b8de2(_0x46cdc3,_0x47f14f,_0x5d4179);}},_0x48137b=_0xaa1cf4||await getActiveFeatureId();if(!_0x48137b)throw new Error(_0x19ad32['jZbrk']);const _0x2e43eb=await _0x19ad32['eerlJ'](getFeature,_0x48137b),_0xad09d9=_0x2e43eb['checklistItems']||[],_0x4f172c=_0x19ad32['fPhZV'](getCurrentSessionItems,_0x2e43eb,_0xad09d9);_0x19ad32['qQCsk'](_0x4f172c['length'],0x0)&&(console['error'](_0x19ad32[_0x3a1e58(0xd9)]),process['exit'](0x1));const _0x523a84=_0x36d25d[_0x3a1e58(0x149)]??[],_0x4ef0ed=_0x523a84['filter'](_0x3b556a=>!Number[_0x3a1e58(0xaf)](_0x3b556a)||_0x3b556a<0x1||_0x3b556a>_0x4f172c[_0x3a1e58(0x95)]);if(_0x19ad32['lKbPt'](_0x4ef0ed[_0x3a1e58(0x95)],0x0)){console[_0x3a1e58(0xa5)](_0x3a1e58(0x127)+_0x4ef0ed[_0x3a1e58(0xcc)](',\x20')),console[_0x3a1e58(0xb2)](_0x3a1e58(0x76));for(let _0x57ad28=0x0;_0x19ad32['bmbFk'](_0x57ad28,_0x4f172c['length']);_0x57ad28++){console[_0x3a1e58(0xb2)]('\x20\x20'+_0x19ad32['dPaxT'](_0x57ad28,0x1)+'.\x20'+_0x4f172c[_0x57ad28][_0x3a1e58(0xa3)]);}process[_0x3a1e58(0xc2)](0x1);}const _0x2a2fa6=new Set(_0x523a84[_0x3a1e58(0x114)](_0x11004c=>_0x11004c-0x1)),_0x305556=_0x4f172c[_0x3a1e58(0x88)]((_0x2a386e,_0x48b4e3)=>!_0x2a2fa6[_0x3a1e58(0xe4)](_0x48b4e3));_0x19ad32['DGAXV'](_0x305556['length'],0x0)&&(console['error'](_0x3a1e58(0xf1)),process[_0x3a1e58(0xc2)](0x1));if(_0x36d25d[_0x3a1e58(0xb4)])await _0x19ad32[_0x3a1e58(0x136)](outputJsonReport,_0x48137b,_0x2e43eb,_0x305556);else{const _0x3ecaae=await getFeatureReportMarkdown(_0x48137b,{'itemIds':_0x305556['map'](_0xe7b4a0=>_0xe7b4a0['id'])});process[_0x3a1e58(0xac)]['write'](_0x3ecaae['trimEnd']()+'\x0a');}}function _0x1064(_0x25f627,_0x5678dd){_0x25f627=_0x25f627-0x71;const _0x4cfcd6=_0x4cfc();let _0x10649f=_0x4cfcd6[_0x25f627];return _0x10649f;}async function outputJsonReport(_0x10681f,_0x44da79,_0x558c29){const _0x3f4b01=_0xc65e02,_0x10f2a4={'kSlEu':function(_0x4d3915,_0x1fc268){return _0x4d3915(_0x1fc268);},'oTZrR':function(_0x4b66f6,_0x14bac7){return _0x4b66f6===_0x14bac7;}},_0x5b3284=getApiBaseUrl(),_0x5b52ab=await getFeatureReport(_0x10681f),_0x1f5cdc=new Map(_0x5b52ab[_0x3f4b01(0xad)]['map'](_0x1f71c8=>[_0x1f71c8['id'],_0x1f71c8])),_0x584f6d=await Promise[_0x3f4b01(0x14f)](_0x558c29['map'](async _0x512f06=>{const _0x1c6a76=_0x3f4b01,_0x4bbde4=_0x1f5cdc[_0x1c6a76(0x100)](_0x512f06['id']),_0x18c525=_0x4bbde4?.[_0x1c6a76(0xc4)]??null;let _0x41e476=[];if(_0x512f06['browserSessionId'])try{const {steps:_0x376643}=await _0x10f2a4[_0x1c6a76(0x125)](getBrowserSessionSteps,_0x512f06['browserSessionId']);_0x376643[_0x1c6a76(0x95)]>0x0&&(_0x41e476=_0x376643[_0x1c6a76(0x114)](_0x3abe10=>{const _0x498880=_0x1c6a76,_0xab1377=_0x3abe10['assets'][_0x498880(0xfe)](_0x18395d=>_0x18395d['assetType']===_0x498880(0x96)&&_0x18395d['timing']==='after')??_0x3abe10[_0x498880(0xa0)]['find'](_0x2422ee=>_0x2422ee['assetType']==='screenshot');let _0x4986bb=null,_0x38018d=null;if(_0xab1377){const _0x3f45d6=_0xab1377[_0x498880(0x13b)]['location']['split']('/')['pop']();_0x4986bb=_0x5b3284+'/api/v1/mcp/browser-sessions/'+_0x512f06['browserSessionId']+_0x498880(0xed)+_0x3f45d6,_0x3f45d6&&(_0x38018d=_0x3f45d6[_0x498880(0xee)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x38018d||_0x3abe10[_0x498880(0xa3)]||_0x3abe10['stepName']||'Step\x20'+_0x3abe10['position'],'screenshot':_0x4986bb,'is_key_step':_0x3abe10[_0x498880(0xc9)]};}));}catch{}return _0x10f2a4['oTZrR'](_0x41e476['length'],0x0)&&_0x18c525?.['screenshotUrls']&&(_0x41e476=_0x18c525[_0x1c6a76(0x124)]['map']((_0x3e2fa7,_0x5557fb)=>({'description':_0x1c6a76(0x129)+(_0x5557fb+0x1),'screenshot':_0x3e2fa7,'is_key_step':![]}))),{'description':_0x512f06[_0x1c6a76(0xa3)],'result':getScenarioResult(_0x512f06),'rationale':getScenarioRationale(_0x512f06,_0x18c525?.['agentResponse']),'steps':_0x41e476};})),_0x22e392={'url':_0x44da79['dashboardUrl'],'scenarios':_0x584f6d};process['stdout']['write'](JSON['stringify'](_0x22e392,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2727fc){const _0x3b4f86=_0xc65e02,_0x491cb7={'wlrpW':function(_0x41d58a,_0x171b1d){return _0x41d58a(_0x171b1d);},'HGVda':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','FHAoA':function(_0x2f00f6,_0x2a7752){return _0x2f00f6!==_0x2a7752;}},_0x4e73db=_0x2727fc||await getActiveFeatureId();if(!_0x4e73db)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 _0x32fd3a=await _0x491cb7[_0x3b4f86(0x7d)](getFeature,_0x4e73db);if(!_0x32fd3a[_0x3b4f86(0xec)])throw new Error(_0x491cb7[_0x3b4f86(0xba)]);const {sessions:_0x3ec151}=await listFeatureSessions(_0x4e73db),_0x167694=_0x3ec151['find'](_0xbd85af=>_0xbd85af['id']===_0x32fd3a['currentSessionId']);if(!_0x167694)throw new Error(_0x3b4f86(0x144));if(_0x167694[_0x3b4f86(0x11d)]===_0x3b4f86(0x128)){console[_0x3b4f86(0xb2)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x491cb7[_0x3b4f86(0x93)](_0x167694[_0x3b4f86(0x11d)],'in_progress'))throw new Error(_0x3b4f86(0x153)+_0x167694[_0x3b4f86(0x11d)]);console[_0x3b4f86(0xb2)]('\x0aConcluding\x20session...'),await concludeSession(_0x4e73db,_0x32fd3a[_0x3b4f86(0xec)]),console[_0x3b4f86(0xb2)]('\x0a✅\x20Session\x20'+_0x167694['iteration']+_0x3b4f86(0x132)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0xc170f5){const _0x1377d5=_0xc65e02,_0x28ee94={'rHXKK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','iuRFg':function(_0x53938c,_0x141574){return _0x53938c(_0x141574);},'BhqAu':_0x1377d5(0xd0),'uXTGq':function(_0x1cb5e9,_0x584df6){return _0x1cb5e9===_0x584df6;},'oEMUi':'completed','DUHEE':function(_0x1c9248,_0x551db8){return _0x1c9248===_0x551db8;},'VanAw':'in_progress'},_0xd13a4f=_0xc170f5||await getActiveFeatureId();if(!_0xd13a4f)throw new Error(_0x28ee94[_0x1377d5(0x11e)]);const _0x5a12b1=await _0x28ee94['iuRFg'](getFeature,_0xd13a4f);console['log'](_0x1377d5(0x7b)+_0x5a12b1['name']+'\x0a');const {sessions:_0x4e1b76}=await listFeatureSessions(_0xd13a4f);if(_0x4e1b76['length']===0x0){console[_0x1377d5(0xb2)](_0x28ee94['BhqAu']);return;}for(const _0x81c24c of _0x4e1b76){const _0x16c060=_0x28ee94[_0x1377d5(0xda)](_0x81c24c['status'],_0x28ee94['oEMUi'])?'✅':_0x28ee94['DUHEE'](_0x81c24c['status'],_0x28ee94[_0x1377d5(0x98)])?'🔄':'▶️';console['log'](_0x16c060+'\x20Session\x20'+_0x81c24c['iteration']+'\x20('+_0x81c24c['id']+')'),console['log'](_0x1377d5(0xfd)+_0x81c24c[_0x1377d5(0x11d)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x81c24c[_0x1377d5(0xb5)])[_0x1377d5(0xc7)]()),_0x81c24c['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x81c24c[_0x1377d5(0x146)])[_0x1377d5(0xc7)]()),console[_0x1377d5(0xb2)]('');}}export async function featureAddScenario(_0x4e3d5b,_0x26250f){const _0x3f61c7=_0xc65e02,_0x6e31b3={'wGJkA':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','eXuNI':function(_0x5177a3,_0x477364){return _0x5177a3(_0x477364);},'bZElS':function(_0x5d492f,_0x296fca,_0x4435e8){return _0x5d492f(_0x296fca,_0x4435e8);}},_0x1a0824=_0x26250f||await getActiveFeatureId();if(!_0x1a0824)throw new Error(_0x6e31b3[_0x3f61c7(0x122)]);const _0x1c217e=await _0x6e31b3[_0x3f61c7(0x7c)](getFeature,_0x1a0824);if(_0x1c217e[_0x3f61c7(0x150)]&&!_0x1c217e[_0x3f61c7(0x150)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1c217e[_0x3f61c7(0x9e)]);await createChecklistItem(_0x1a0824,_0x4e3d5b);const _0x12b84f=await _0x6e31b3[_0x3f61c7(0x7c)](getFeature,_0x1a0824);console['log'](_0x3f61c7(0xaa)),_0x6e31b3[_0x3f61c7(0x14e)](displayFeature,_0x12b84f,_0x12b84f['checklistItems']);}export async function featureEditScenario(_0x5a1985,_0x477929){const _0x1e30e4=_0xc65e02,_0xdc4612={'IZkIX':function(_0x15bec0,_0x1bce08){return _0x15bec0(_0x1bce08);},'LTgBD':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','qUfeA':_0x1e30e4(0x76),'AccKg':function(_0x16a577,_0x258a6f){return _0x16a577<_0x258a6f;},'pWNqW':function(_0xc6e687,_0x48b98d){return _0xc6e687-_0x48b98d;},'pEymd':function(_0x795f79,_0x3c5c85){return _0x795f79>=_0x3c5c85;},'WAeZn':function(_0xf72e05,_0x313fa8){return _0xf72e05+_0x313fa8;},'Kbmmi':function(_0xc0f7b0,_0x237bc9,_0x4a4daa,_0x2824d1){return _0xc0f7b0(_0x237bc9,_0x4a4daa,_0x2824d1);},'cQXli':function(_0x1f30ac,_0x9ee05e,_0x2b26f8){return _0x1f30ac(_0x9ee05e,_0x2b26f8);}},_0x1b21c0=_0x477929['id']||await getActiveFeatureId();!_0x1b21c0&&(console[_0x1e30e4(0xa5)](_0x1e30e4(0x14b)),console[_0x1e30e4(0xa5)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x1e30e4(0xc2)](0x1));const _0xae8b81=await _0xdc4612['IZkIX'](getFeature,_0x1b21c0);_0xae8b81[_0x1e30e4(0x150)]&&!_0xae8b81['latestReview']['submittedAt']&&(console[_0x1e30e4(0xa5)](_0xdc4612[_0x1e30e4(0x147)]),console[_0x1e30e4(0xa5)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x1e30e4(0xa5)]('\x20\x20'+_0xae8b81[_0x1e30e4(0x9e)]),process['exit'](0x1));const _0x5d3c73=_0xae8b81[_0x1e30e4(0xad)]||[];_0x5d3c73[_0x1e30e4(0x95)]===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x1e30e4(0xc2)](0x1));if(_0x477929['scenario']===undefined){console[_0x1e30e4(0xa5)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x1e30e4(0xb2)](_0xdc4612['qUfeA']);for(let _0x216a5e=0x0;_0xdc4612[_0x1e30e4(0xa8)](_0x216a5e,_0x5d3c73[_0x1e30e4(0x95)]);_0x216a5e++){console['log']('\x20\x20'+(_0x216a5e+0x1)+'.\x20'+_0x5d3c73[_0x216a5e]['description']);}process['exit'](0x1);}const _0x103760=_0xdc4612['pWNqW'](_0x477929[_0x1e30e4(0x9c)],0x1);if(_0xdc4612['AccKg'](_0x103760,0x0)||_0xdc4612['pEymd'](_0x103760,_0x5d3c73['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x477929[_0x1e30e4(0x9c)]+'.\x20Feature\x20review\x20has\x20'+_0x5d3c73['length']+_0x1e30e4(0xe1)),console['log'](_0x1e30e4(0x76));for(let _0x25382f=0x0;_0xdc4612[_0x1e30e4(0xa8)](_0x25382f,_0x5d3c73[_0x1e30e4(0x95)]);_0x25382f++){console[_0x1e30e4(0xb2)]('\x20\x20'+_0xdc4612['WAeZn'](_0x25382f,0x1)+'.\x20'+_0x5d3c73[_0x25382f][_0x1e30e4(0xa3)]);}process['exit'](0x1);}const _0x5340da=_0x5d3c73[_0x103760];await _0xdc4612['Kbmmi'](updateChecklistItem,_0x1b21c0,_0x5340da['id'],{'description':_0x5a1985});const _0x37bdcc=await getFeature(_0x1b21c0);console['log'](_0x1e30e4(0x120)),_0xdc4612['cQXli'](displayFeature,_0x37bdcc,_0x37bdcc['checklistItems']);}async function downloadFeedbackImage(_0x3ab193,_0x15d7d2){const _0x4d5c89=_0xc65e02,_0x57d29d={'wEdVt':function(_0x229c55){return _0x229c55();},'Bwkqe':function(_0x31083c,_0xa7baa9,_0x305e17){return _0x31083c(_0xa7baa9,_0x305e17);},'eluxj':function(_0x2ff868,_0x295f4b){return _0x2ff868(_0x295f4b);}};try{const _0x5d3c89=join(_0x57d29d[_0x4d5c89(0x135)](getRangerDir),_0x4d5c89(0xe2));await mkdir(_0x5d3c89,{'recursive':!![]});const _0x440d0d=_0x57d29d[_0x4d5c89(0x84)](join,_0x5d3c89,'comment_'+_0x15d7d2+'.png'),_0x1154fc=await _0x57d29d[_0x4d5c89(0xb0)](fetch,_0x3ab193);if(!_0x1154fc['ok'])return null;const _0x114b36=Buffer[_0x4d5c89(0xf9)](await _0x1154fc[_0x4d5c89(0x10a)]());return await writeFile(_0x440d0d,_0x114b36),_0x440d0d;}catch{return null;}}function _0x4cfc(){const _0x560550=['feedback-images','incompleteReason','has','5QePzgE','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','prompt','10skIaLK','\x20at\x20[','element','domRef','currentSessionId','/artifacts/','replace','IdPOM','DeRYH','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20\x20✅\x20No\x20feedback\x20to\x20address','1024tbUzJl','content','hRMDF','sessionId','pipe','reports','from','currentBranch','trim','gitBranch','\x20\x20\x20Status:\x20','find','VOGjD','get',':\x20\x22','\x20unaddressed\x20comment(s)','LWGqg','toFixed','\x0a✅\x20Resumed\x20feature\x20review:\x20','CnvUw','NUjAn','Hyydw','vRQgz','arrayBuffer','696489LLMEyH','NbrRt','version','\x20\x20\x20\x20\x20\x20Cancelled:\x20','repeat','\x20\x20\x20\x20\x20\x20Blocked:\x20','approved','authorName','ehPCZ','map','ZGwrr','split','Next\x20page:\x20ranger\x20list\x20--offset\x20','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','szLQP','132158xWodrl','blockedItems','isTTY','status','rHXKK','bGwcS','\x0a✅\x20Scenario\x20updated','CMLvA','wGJkA','\x20\x20\x20Progress:\x20','screenshotUrls','kSlEu','terminalReason','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','completed','Screenshot\x20','KdnbK','UcTmE','ujEIK','output','txyPq','fFDgW','verificationInProgressItems','Vfxvm','\x20concluded.','\x20\x20\x20Created:\x20','blocked','wEdVt','vpSNz','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','authorEmail','includeDeleted','APpnO','storage','pendingItems','1709940ClqPrC','\x20of\x20','round','MHGon','incompleteItems','JeuQo','items','Current\x20session\x20not\x20found.','\x20\x20\x20▶️\x20Started\x20session\x20','completedAt','LTgBD','iNtzZ','excludeScenarios','textContent','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20>\x20','any','bZElS','all','latestReview','GUVsm','type','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x1b[0m','utf-8','pop','unaddressedComments','0|4|5|3|2|1','push','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','selector','\x0aAvailable\x20scenarios:','env','dMJwN','708nqRxhu','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','eXuNI','wlrpW','\x20in\x20progress','\x0a⚠️\x20\x20','\x20(v','\x20\x20\x20\x20\x20ID:\x20','...','\x0a✅\x20Feature\x20review\x20created:\x20','Bwkqe','EFgqA','XxqtI','ntkuN','filter','Scenario\x20','\x20scenario(s).','PdgVS','blockedReason','78762ukRlUa','SxLrV','limit','iIbeS','):\x20\x22','en-US','FHAoA','evEFg','length','screenshot','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','VanAw','DLeXw','CLAUDE_SESSION_ID','numeric','scenario','canonicalFlow','dashboardUrl','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','assets','Jvjpj','838446WDKRhU','description','\x20\x20\x20\x20','error','stdin','\x20\x20\x20\x20\x20\x20Incomplete:\x20','AccKg','49hIrLEC','\x0a✅\x20Scenario\x20added','short','stdout','checklistItems','anOYC','isInteger','eluxj','569460rfuVyp','log','\x20\x20\x20Updated\x20branch\x20to:\x20','json','createdAt','OlnQp','oaHHT','QvhDR','git\x20remote\x20get-url\x20origin','HGVda','toLocaleDateString','iEPpB','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','KbZiJ','in_progress','Unknown','2952GnbETD','exit','totalCount','linkedSession','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','nZwvg','toLocaleString','WVskq','isKeyStep','name','stats','join','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','Not\x20in\x20a\x20git\x20repository.','\x0aCreating\x20feature\x20review...','No\x20sessions\x20found.','scenarios','closed','yxtDm','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','QnPmy','11wJfwHg','\x20--limit\x20','verification_in_progress','MpbJG','uXTGq','RAENj','parentItemId','canceledReason','FCnbO','spatial','\x0a📋\x20Feedback\x20for:\x20','\x20scenarios.'];_0x4cfc=function(){return _0x560550;};return _0x4cfc();}export async function featureGetReview(_0x3f28e3){const _0x404dab=_0xc65e02,_0x31ed1b={'qrvHz':function(_0xfa6371,_0x54bf6f){return _0xfa6371(_0x54bf6f);},'GWsmB':function(_0x3d375f,_0x463ed7){return _0x3d375f===_0x463ed7;},'ZGwrr':function(_0x5107fd,_0x5a92bc){return _0x5107fd+_0x5a92bc;},'iEPpB':_0x404dab(0x92),'GUVsm':_0x404dab(0xc0),'vRQgz':function(_0x3075db,_0x2d909f,_0x1fa47b){return _0x3075db(_0x2d909f,_0x1fa47b);},'EzwRr':_0x404dab(0x14c),'nZwvg':_0x404dab(0xea),'Desjq':'point'},_0x26d698=_0x3f28e3||await getActiveFeatureId();if(!_0x26d698)throw new Error(_0x404dab(0x73));const _0x5deb7f=await getFeature(_0x26d698),{items:_0x7bca9c}=await _0x31ed1b['qrvHz'](getActionItems,_0x26d698);console['log'](_0x404dab(0xe0)+_0x5deb7f['name']+'\x20('+_0x5deb7f['id']+')\x0a');if(_0x31ed1b['GWsmB'](_0x7bca9c['length'],0x0)){console['log']('No\x20scenarios\x20found.');return;}for(let _0x2d7e96=0x0;_0x2d7e96<_0x7bca9c['length'];_0x2d7e96++){const _0x539060=_0x7bca9c[_0x2d7e96],_0x4b6786=_0x539060['version']>0x1?_0x404dab(0x80)+_0x539060[_0x404dab(0x10d)]+')':'',_0xddf8b=await getItemFeedback(_0x26d698,_0x539060['id']);if(_0xddf8b[_0x404dab(0x157)]['length']>0x0){console[_0x404dab(0xb2)]('Scenario\x20'+_0x31ed1b[_0x404dab(0x115)](_0x2d7e96,0x1)+_0x404dab(0x101)+_0x539060['description']+'\x22'+_0x4b6786+'\x20—\x20'+_0xddf8b['unaddressedComments'][_0x404dab(0x95)]+_0x404dab(0x102));for(const _0xdc91a0 of _0xddf8b[_0x404dab(0x157)]){const _0x1e63f9=new Date(_0xdc91a0['createdAt'])[_0x404dab(0xbb)](_0x31ed1b[_0x404dab(0xbc)],{'month':_0x404dab(0xab),'day':_0x404dab(0x9b)}),_0x1c0d0a=_0xdc91a0[_0x404dab(0x112)]||_0xdc91a0[_0x404dab(0x138)]||_0x31ed1b[_0x404dab(0x151)];console['log']('\x20\x20💬\x20'+_0x1c0d0a+'\x20('+_0x1e63f9+_0x404dab(0x91)+_0xdc91a0[_0x404dab(0xf4)]+'\x22');if(_0xdc91a0['assetUrl']){const _0x1c51cc=await _0x31ed1b[_0x404dab(0x109)](downloadFeedbackImage,_0xdc91a0['assetUrl'],_0xdc91a0['id']);_0x1c51cc&&console[_0x404dab(0xb2)](_0x404dab(0xc5)+_0x1c51cc);}if(_0xdc91a0['domRef']){const _0x1fc8a5=_0xdc91a0[_0x404dab(0xeb)][_0x404dab(0x75)]['split'](_0x31ed1b['EzwRr'])[_0x404dab(0x156)]()?.[_0x404dab(0x116)](':')[0x0]||_0x31ed1b[_0x404dab(0xc6)],_0x5a4c43=_0xdc91a0[_0x404dab(0xeb)]['textContent']?'\x20\x22'+_0xdc91a0[_0x404dab(0xeb)][_0x404dab(0x14a)]['slice'](0x0,0x3c)+'\x22':'';console[_0x404dab(0xb2)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1fc8a5+'>'+_0x5a4c43),console[_0x404dab(0xb2)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0xdc91a0['domRef']['selector']);}else{if(_0xdc91a0['spatial']){const _0x3f4594=_0xdc91a0[_0x404dab(0xdf)]['coordinates'];_0xdc91a0[_0x404dab(0xdf)]['type']===_0x31ed1b['Desjq']&&_0x3f4594['length']>=0x2?console['log'](_0x404dab(0xcd)+_0x3f4594[0x0][_0x404dab(0x104)](0x2)+',\x20'+_0x3f4594[0x1]['toFixed'](0x2)+')'):console['log'](_0x404dab(0x74)+_0xdc91a0[_0x404dab(0xdf)][_0x404dab(0x152)]+_0x404dab(0xe9)+_0x3f4594['map'](_0x4d6d5b=>_0x4d6d5b[_0x404dab(0x104)](0x2))[_0x404dab(0xcc)](',\x20')+']');}}}if(_0xddf8b[_0x404dab(0x9d)]){console[_0x404dab(0xb2)]('\x20\x20Expected\x20flow:');for(const _0xf96dfa of _0xddf8b['canonicalFlow'][_0x404dab(0x116)]('\x0a')){console['log'](_0x404dab(0xa4)+_0xf96dfa);}}}else console['log'](_0x404dab(0x89)+_0x31ed1b[_0x404dab(0x115)](_0x2d7e96,0x1)+_0x404dab(0x101)+_0x539060['description']+'\x22'+_0x4b6786+'\x20—\x20no\x20comments'),console['log'](_0x404dab(0xf2));console[_0x404dab(0xb2)]('');}}export async function featureDelete(_0x46ca99){const _0x1f7ea2=_0xc65e02,_0x3244d8={'acpDB':function(_0x553b9c){return _0x553b9c();},'bFysP':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','YKVmg':function(_0xbdb28f,_0x207f86){return _0xbdb28f(_0x207f86);},'kogND':function(_0x333752,_0x368ce0){return _0x333752+_0x368ce0;},'QvhDR':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x1a1706=_0x46ca99||await _0x3244d8['acpDB'](getActiveFeatureId);if(!_0x1a1706)throw new Error(_0x3244d8['bFysP']);const _0x309d2d=await getFeature(_0x1a1706);await _0x3244d8['YKVmg'](softDeleteFeature,_0x1a1706),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x309d2d['name']+'\x20('+_0x1a1706+')'),console[_0x1f7ea2(0xb2)](_0x3244d8['kogND'](_0x3244d8[_0x1f7ea2(0xb8)],_0x1a1706));}export async function featureRestore(_0x544bce){const _0x163a02=_0xc65e02,_0xd08e10={'EFgqA':function(_0x366106,_0x461ee6){return _0x366106(_0x461ee6);},'Jvjpj':function(_0x3889d5,_0x3b1b1c){return _0x3889d5(_0x3b1b1c);}};await _0xd08e10[_0x163a02(0x85)](restoreFeature,_0x544bce);const _0x1b02d2=await _0xd08e10[_0x163a02(0xa1)](getFeature,_0x544bce);console[_0x163a02(0xb2)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1b02d2['name']+'\x20('+_0x544bce+')'),displayFeature(_0x1b02d2,_0x1b02d2['checklistItems']);}
1
+ function _0x42a3(){const _0x46bee6=['/api/v1/mcp/browser-sessions/','\x20/\x20','RecJt','split','gitRepoUrl','\x20\x20\x20\x20\x20ID:\x20','\x20\x20💬\x20','yxLfk','ELhOw','reports','QrpAV','1NYHPjn','\x1b[0m','No\x20scenarios\x20found.','Next\x20page:\x20ranger\x20list\x20--offset\x20','browserSessionId','output','env','assets','verification_in_progress','tzcQd','lsdFQ','utf-8','name','incompleteItems','4990794eBguxG','completedAt','checklistItems','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','LDsnr','ziEVL','2798109PGroeq','GWTIg','createdAt','nYuwk','aVlqW','stepName','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','currentSessionId','CLAUDE_SESSION_ID','write','description','tHHiU','parentItemId','\x20concluded.','quPBR','incompleteReason','\x20\x20\x20Progress:\x20','\x0a❌\x20Invalid\x20scenario\x20index:\x20','RojiB','\x20verified','JGyNK',':\x20\x22','evDWG','\x0a✅\x20Restored\x20feature\x20review:\x20','GwRrh','scenario','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','kpBek','xzEDQ','50lAdbdP','version','unaddressedComments','sknqb','kmqmT','DBPgo','toLocaleDateString','MfVwp','length','jzfBk','pop','closed','pdgyz','kHCvH','rtAgn','ijcsd','VDykV','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','iteration','\x20\x20\x20\x20\x20\x20Incomplete:\x20','assetType','terminalReason','TZAaW','CRXNh','\x20\x20\x20\x20\x20\x20Approved','olDcG','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','trim','stats','EGMOs','toLocaleString','KcwQD','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x0a⚠️\x20\x20','ftgZP','timing','VDVYy','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','ready','rThpx','\x20at\x20[','\x0a✅\x20Resumed\x20feature\x20review:\x20','5677160TppIXr','canonicalFlow','\x20\x20\x20\x20','63ZptVam','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','type','\x20\x20\x20▶️\x20Started\x20session\x20','error','\x20blocked','\x20of\x20','isTTY','\x20—\x20','pUEOF','git\x20remote\x20get-url\x20origin','includeDeleted','trimEnd','replace','agentResponse','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','MrTJg','approved','ufTUf','log','Screenshot\x20','blockedReason','authorName','uhogo','en-US','stdout','screenshot','gitBranch','assetUrl','vWZWX','qkXio','gjIih','join','map','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','FiaxO','...','status','ATEZL','6645HsRJdb','position','PKNyF','get','json','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','blockedItems','oeffw','\x20\x20\x20\x20\x20Branch:\x20','JxBDa','filter','QGIaT','domRef','Current\x20session\x20not\x20found.','yfhWJ','gfOkJ','xWNxp','LtTaf','warn','stringify','has','totalCount','zRNkM','coordinates','gMbzK','element','IrZMY','4228ClJUui','\x20\x20\x20\x20\x20📋\x20Selector:\x20','canceledReason','blocked','wCtmR','authorEmail','\x20[has\x20reviewer\x20feedback]','notes','Showing\x20','aNFnx','point','hhhfi','spatial','\x0a✅\x20Session\x20is\x20already\x20completed.','sessionId','find','QzVdj','github.com/','895296THVAkq','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','textContent','hupaA','selector','in_progress','3141470GRHWhx','\x20\x20\x20Completed:\x20','\x20\x20\x20Description:\x20','dashboardUrl','latestReview','pipe','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20Expected\x20flow:','toFixed','Cannot\x20conclude\x20session\x20with\x20status:\x20','kQmNV','SmiEL','\x20--limit\x20','completed','submittedAt','\x20Session\x20','QOdXJ','uBoBz','LOivW','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','scenarios','VTbaN','active-feature.txt','51269867nVSiis','No\x20sessions\x20found.','\x0a✅\x20Feature\x20review\x20created:\x20','\x20\x20\x20ID:\x20'];_0x42a3=function(){return _0x46bee6;};return _0x42a3();}const _0x492c6d=_0x56e7;(function(_0x21d07a,_0x480696){const _0x58578e=_0x56e7,_0x517c7d=_0x21d07a();while(!![]){try{const _0x1fef29=-parseInt(_0x58578e(0x13d))/0x1*(-parseInt(_0x58578e(0x117))/0x2)+parseInt(_0x58578e(0x14b))/0x3+parseInt(_0x58578e(0x1dd))/0x4*(parseInt(_0x58578e(0x1c2))/0x5)+parseInt(_0x58578e(0x111))/0x6*(-parseInt(_0x58578e(0x19b))/0x7)+parseInt(_0x58578e(0x198))/0x8+parseInt(_0x58578e(0x151))/0x9*(parseInt(_0x58578e(0x16e))/0xa)+-parseInt(_0x58578e(0x12e))/0xb;if(_0x1fef29===_0x480696)break;else _0x517c7d['push'](_0x517c7d['shift']());}catch(_0x281bd7){_0x517c7d['push'](_0x517c7d['shift']());}}}(_0x42a3,0xdb943));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x29615f from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE=_0x492c6d(0x12d),bold=_0x1dc034=>'\x1b[1m'+_0x1dc034+_0x492c6d(0x13e);function getGitRepoUrl(){const _0x1ceff0=_0x492c6d,_0x4fd855={'PIqDK':_0x1ceff0(0x1a5),'iNtKN':'pipe'};try{const _0x2a2d86=execSync(_0x4fd855['PIqDK'],{'encoding':'utf-8','stdio':[_0x1ceff0(0x11c),'pipe',_0x4fd855['iNtKN']]})[_0x1ceff0(0x189)]();return _0x2a2d86['replace'](/\.git$/,'')[_0x1ceff0(0x1a8)](/^git@github\.com:/,_0x1ceff0(0x110))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x24be31=_0x492c6d,_0x55e57b={'euCvA':function(_0x3d585b,_0x22907e,_0x50ddf0){return _0x3d585b(_0x22907e,_0x50ddf0);},'gdfMa':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','FMFBT':_0x24be31(0x148),'LDsnr':'pipe'};try{return _0x55e57b['euCvA'](execSync,_0x55e57b['gdfMa'],{'encoding':_0x55e57b['FMFBT'],'stdio':[_0x55e57b[_0x24be31(0x14f)],_0x24be31(0x11c),'pipe']})[_0x24be31(0x189)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x539496=_0x492c6d,_0x36d633={'dzsyT':function(_0x1942a6,_0x13bd41,_0x10b343){return _0x1942a6(_0x13bd41,_0x10b343);},'jkdVs':function(_0x501212){return _0x501212();},'kmqmT':_0x539496(0x148)},_0x4546df=_0x36d633['dzsyT'](join,_0x36d633['jkdVs'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x4546df))return null;try{const _0x241822=await readFile(_0x4546df,_0x36d633[_0x539496(0x172)]);return _0x241822['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x18d453){const _0x55caf5=_0x492c6d,_0x439dc0={'ATEZL':function(_0x25d07c,_0x2f171b,_0x36276c){return _0x25d07c(_0x2f171b,_0x36276c);},'VTbaN':function(_0x51f0b7,_0x23e6b2,_0x28d7ba,_0x2eb577){return _0x51f0b7(_0x23e6b2,_0x28d7ba,_0x2eb577);},'FiaxO':_0x55caf5(0x148)},_0x4a5352=getRangerDir(),_0x2fadda=join(_0x4a5352,ACTIVE_FEATURE_FILE);!existsSync(_0x4a5352)&&await _0x439dc0[_0x55caf5(0x1c1)](mkdir,_0x4a5352,{'recursive':!![]}),await _0x439dc0[_0x55caf5(0x12c)](writeFile,_0x2fadda,_0x18d453,_0x439dc0[_0x55caf5(0x1be)]);}function getProgressDisplay(_0x4b3279){const _0x2265b6=_0x492c6d,_0x2ed766={'ziEVL':function(_0x5f2a90,_0x1d5d9b){return _0x5f2a90+_0x1d5d9b;},'ftgZP':function(_0x5af7d4,_0x2779b7){return _0x5af7d4+_0x2779b7;},'RecJt':function(_0x4a9a4f,_0x7484b1){return _0x4a9a4f+_0x7484b1;},'stvGt':function(_0x399d3d,_0x31f977){return _0x399d3d*_0x31f977;},'lsdFQ':function(_0x61c02,_0x59e859){return _0x61c02/_0x59e859;},'uBoBz':function(_0x2fc164,_0x259921){return _0x2fc164>_0x259921;}},_0x44fb10=_0x4b3279['verifiedItems']||0x0,_0x47083c=_0x4b3279['verificationInProgressItems']||0x0,_0x309d46=_0x4b3279[_0x2265b6(0x1c8)]||0x0,_0x348a55=_0x4b3279[_0x2265b6(0x14a)]||0x0,_0x1ed48b=_0x4b3279['pendingItems']||0x0,_0x530e4b=_0x2ed766[_0x2265b6(0x150)](_0x2ed766[_0x2265b6(0x190)](_0x2ed766[_0x2265b6(0x134)](_0x44fb10+_0x47083c,_0x309d46),_0x348a55),_0x1ed48b);if(_0x530e4b===0x0)return'-';const _0x39b100=0xa,_0x3e12a6=Math['round'](_0x2ed766['stvGt'](_0x2ed766[_0x2265b6(0x147)](_0x44fb10,_0x530e4b),_0x39b100)),_0x1064aa='█'['repeat'](_0x3e12a6)+'░'['repeat'](_0x39b100-_0x3e12a6),_0x100beb=[];if(_0x2ed766[_0x2265b6(0x128)](_0x309d46,0x0))_0x100beb['push'](_0x309d46+_0x2265b6(0x1a0));if(_0x348a55>0x0)_0x100beb['push'](_0x348a55+'\x20incomplete');if(_0x47083c>0x0)_0x100beb['push'](_0x47083c+'\x20in\x20progress');const _0x31ce26=_0x2ed766['uBoBz'](_0x100beb[_0x2265b6(0x176)],0x0)?'\x20('+_0x100beb['join'](',\x20')+')':'';return _0x1064aa+'\x20'+_0x44fb10+'/'+_0x530e4b+_0x2265b6(0x164)+_0x31ce26;}function getCurrentSessionItems(_0x73e644,_0xd392b8){const _0x5cd922=_0x492c6d;if(!_0x73e644['currentSessionId'])return _0xd392b8['filter'](_0x41f37e=>!_0x41f37e['sessionId']);return _0xd392b8[_0x5cd922(0x1cc)](_0x3476bf=>_0x3476bf[_0x5cd922(0x10d)]===_0x73e644['currentSessionId']||!_0x3476bf[_0x5cd922(0x10d)]);}function displayFeature(_0x300bd2,_0x488480){const _0x398d12=_0x492c6d,_0xa27599={'nYuwk':function(_0x2a0c6b,_0x5c159d){return _0x2a0c6b>_0x5c159d;},'tzcQd':function(_0x2acc34,_0x434f0e){return _0x2acc34<_0x434f0e;},'ogslj':function(_0x105e99,_0x1e67c4){return _0x105e99===_0x1e67c4;},'aVlqW':_0x398d12(0x1ac),'evDWG':function(_0x112cf0,_0x1256c9){return _0x112cf0===_0x1256c9;},'TZAaW':'verified','siKJu':'incomplete','QGIaT':_0x398d12(0x1e0),'QzVdj':'closed','LmwfE':'verification_in_progress','qFaHN':function(_0x3a54d6,_0x399247){return _0x3a54d6!==_0x399247;},'KyIxc':function(_0x3aa7d5,_0x4da89c){return _0x3aa7d5!==_0x4da89c;},'GWTIg':function(_0x34bdff,_0x832a3d){return _0x34bdff===_0x832a3d;}};console[_0x398d12(0x1ae)]('\x0a'+_0x300bd2['name']+'\x20('+_0x300bd2[_0x398d12(0x11a)]+')');_0x300bd2['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x300bd2['stats']));_0x300bd2['description']&&console['log'](_0x398d12(0x119)+_0x300bd2['description']);_0x300bd2[_0x398d12(0x136)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x300bd2['gitRepoUrl']);_0x300bd2['gitBranch']&&console[_0x398d12(0x1ae)]('\x20\x20\x20Branch:\x20'+_0x300bd2['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x300bd2[_0x398d12(0x153)])[_0x398d12(0x18c)]());_0x300bd2[_0x398d12(0x14c)]&&console['log'](_0x398d12(0x118)+new Date(_0x300bd2[_0x398d12(0x14c)])['toLocaleString']());if(_0x488480&&_0xa27599[_0x398d12(0x154)](_0x488480['length'],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x5d715b=0x0;_0xa27599[_0x398d12(0x146)](_0x5d715b,_0x488480['length']);_0x5d715b++){const _0xe2673b=_0x488480[_0x5d715b];let _0x22df10;if(_0xe2673b[_0x398d12(0x1c0)]==='closed'&&_0xa27599['ogslj'](_0xe2673b[_0x398d12(0x183)],_0xa27599['aVlqW']))_0x22df10='✅';else{if(_0xa27599[_0x398d12(0x167)](_0xe2673b['status'],_0xa27599[_0x398d12(0x184)]))_0x22df10='🟢';else{if(_0xa27599['ogslj'](_0xe2673b['status'],_0xa27599['siKJu']))_0x22df10='🟠';else{if(_0xa27599[_0x398d12(0x167)](_0xe2673b['status'],_0xa27599['QGIaT']))_0x22df10='🛑';else{if(_0xe2673b['status']===_0xa27599['QzVdj'])_0x22df10='⛔';else _0xa27599[_0x398d12(0x167)](_0xe2673b[_0x398d12(0x1c0)],_0xa27599['LmwfE'])?_0x22df10='⏳':_0x22df10='⬜';}}}}const _0x6a926f=_0xe2673b['version']>0x1?'\x20(v'+_0xe2673b[_0x398d12(0x16f)]+')':'',_0x5311b4=_0xe2673b[_0x398d12(0x16f)]>0x1&&_0xe2673b[_0x398d12(0x15d)]&&_0xa27599['qFaHN'](_0xe2673b['status'],'closed')&&_0xa27599['KyIxc'](_0xe2673b['status'],_0xa27599[_0x398d12(0x184)])?_0x398d12(0x1e3):'';console['log']('\x20\x20\x20'+(_0x5d715b+0x1)+'.\x20'+_0x22df10+'\x20'+_0xe2673b[_0x398d12(0x15b)]+_0x6a926f+_0x5311b4);_0xe2673b['status']===_0xa27599[_0x398d12(0x1cd)]&&_0xe2673b['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0xe2673b['blockedReason']);_0xa27599[_0x398d12(0x152)](_0xe2673b['status'],'incomplete')&&_0xe2673b['incompleteReason']&&console['log'](_0x398d12(0x181)+_0xe2673b['incompleteReason']);if(_0xa27599['evDWG'](_0xe2673b['status'],_0xa27599['QzVdj'])&&_0xe2673b['terminalReason']===_0xa27599[_0x398d12(0x155)])console[_0x398d12(0x1ae)](_0x398d12(0x186));else _0xe2673b[_0x398d12(0x1c0)]===_0xa27599[_0x398d12(0x10f)]&&_0xe2673b[_0x398d12(0x1df)]&&console[_0x398d12(0x1ae)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0xe2673b['canceledReason']);}}}export async function featureCreate(_0xf6cb54,_0x3e83dc){const _0xc9b646=_0x492c6d,_0x1ce76f={'bHgzd':function(_0x4fb7ea){return _0x4fb7ea();},'KAilK':function(_0x474558,_0x36a8db){return _0x474558===_0x36a8db;},'RojiB':function(_0x31c920,_0x51f707){return _0x31c920(_0x51f707);},'CPPaP':function(_0x9f5bce){return _0x9f5bce();},'tHHiU':function(_0x1b49f2){return _0x1b49f2();},'uvvxT':'\x0aCreating\x20feature\x20review...','kpBek':function(_0x1e21b0,_0xd7bfa2){return _0x1e21b0(_0xd7bfa2);},'KFxBJ':function(_0x199c77,_0x5a1dbb,_0xa9b5df){return _0x199c77(_0x5a1dbb,_0xa9b5df);}},{envNames:_0x4fe83b}=await _0x1ce76f['bHgzd'](getEnvNames);_0x1ce76f['KAilK'](_0x4fe83b[_0xc9b646(0x176)],0x0)&&console[_0xc9b646(0x1d4)]('\x0a'+_0x1ce76f[_0xc9b646(0x163)](formatProfileRequiredMessage,_0xf6f54c=>bold(_0xf6f54c)));const _0x3a7847=_0x3e83dc['scenarios']?_0x3e83dc[_0xc9b646(0x12b)][_0xc9b646(0x1bc)](_0x35187d=>_0x35187d['trim']()):[],_0x3baa3c=_0x1ce76f['CPPaP'](getGitRepoUrl),_0x5996cb=_0x1ce76f[_0xc9b646(0x15c)](getGitBranch);console['log'](_0x1ce76f['uvvxT']);const _0x4b7a55=await _0x1ce76f[_0xc9b646(0x163)](createFeature,{'name':_0xf6cb54,'description':_0x3e83dc['description'],'checklist':_0x3a7847,'gitRepoUrl':_0x3baa3c,'gitBranch':_0x5996cb});await _0x1ce76f[_0xc9b646(0x16c)](setActiveFeatureId,_0x4b7a55['id']),await _0x1ce76f['RojiB'](tryStartCurrentSession,_0x4b7a55['id']);const _0x48e6f1=process['env'][_0xc9b646(0x159)];_0x48e6f1&&_0x1ce76f['KFxBJ'](registerSession,_0x48e6f1,_0x4b7a55['id']),console[_0xc9b646(0x1ae)](_0xc9b646(0x130)+_0x4b7a55['id']),displayFeature(_0x4b7a55,_0x4b7a55[_0xc9b646(0x14d)]),console['log'](_0xc9b646(0x18e));}export async function featureList(_0x23e8e3){const _0x426727=_0x492c6d,_0x558bd6={'hupaA':function(_0x524ef2){return _0x524ef2();},'GwRrh':function(_0xa9ba7d){return _0xa9ba7d();},'aNFnx':function(_0x4b3e87,_0xe7b349){return _0x4b3e87(_0xe7b349);},'WOjhI':function(_0x4008b2,_0x288b6c){return _0x4008b2+_0x288b6c;},'nUhGb':'\x20--current-branch'},_0x203b01={'limit':_0x23e8e3['limit']??0xa,'offset':_0x23e8e3['offset']??0x0,'includeDeleted':_0x23e8e3[_0x426727(0x1a6)]};_0x23e8e3['currentBranch']&&(_0x203b01[_0x426727(0x136)]=_0x558bd6[_0x426727(0x114)](getGitRepoUrl),_0x203b01[_0x426727(0x1b6)]=_0x558bd6[_0x426727(0x169)](getGitBranch));const _0x36335c=await _0x558bd6[_0x426727(0x1e6)](listFeatures,_0x203b01);if(_0x36335c['items'][_0x426727(0x176)]===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x1cfb59=_0x36335c['totalCount']>_0x36335c['items']['length']?_0x426727(0x1e5)+_0x36335c['items'][_0x426727(0x176)]+_0x426727(0x1a1)+_0x36335c['totalCount']:_0x36335c[_0x426727(0x1d7)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1cfb59+':\x0a');for(const _0x3d8677 of _0x36335c['items']){console[_0x426727(0x1ae)](''+_0x3d8677['name']),console['log'](_0x426727(0x131)+_0x3d8677['id']),_0x3d8677[_0x426727(0x18a)]&&console['log'](_0x426727(0x161)+_0x558bd6['aNFnx'](getProgressDisplay,_0x3d8677['stats'])),_0x3d8677['gitBranch']&&console[_0x426727(0x1ae)]('\x20\x20\x20Branch:\x20'+_0x3d8677['gitBranch']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3d8677[_0x426727(0x153)])[_0x426727(0x174)]()),console['log']('');}const _0x360f40=_0x203b01['limit']??0xa,_0x3b0731=_0x558bd6['WOjhI'](_0x203b01['offset']??0x0,_0x36335c['items'][_0x426727(0x176)]);if(_0x3b0731<_0x36335c['totalCount']){const _0x515492=_0x360f40!==0xa?_0x426727(0x123)+_0x360f40:'',_0x410326=_0x23e8e3['currentBranch']?_0x558bd6['nUhGb']:'',_0x52fc8e=_0x23e8e3['includeDeleted']?'\x20--include-deleted':'';console[_0x426727(0x1ae)](_0x426727(0x140)+_0x3b0731+_0x515492+_0x410326+_0x52fc8e);}}function _0x56e7(_0x268715,_0x24379f){_0x268715=_0x268715-0x109;const _0x42a387=_0x42a3();let _0x56e7c0=_0x42a387[_0x268715];return _0x56e7c0;}export async function featureShow(_0x3aff8e){const _0x44b1e2=_0x492c6d,_0x44685c=_0x3aff8e||await getActiveFeatureId();if(!_0x44685c)throw new Error(_0x44b1e2(0x11d));const _0x39bf25=await getFeature(_0x44685c);displayFeature(_0x39bf25,_0x39bf25['checklistItems']);}export async function featureResume(_0x500f57){const _0x3c9112=_0x492c6d,_0x527c59={'LtTaf':function(_0x88596f,_0x80a5a8){return _0x88596f(_0x80a5a8);},'bgOvY':function(_0x145130){return _0x145130();},'AawUp':function(_0x312036,_0x293ef8){return _0x312036!==_0x293ef8;},'IrZMY':function(_0x5bf640,_0x5c89de,_0x2c5cd7){return _0x5bf640(_0x5c89de,_0x2c5cd7);},'GngDc':function(_0x13e221){return _0x13e221();},'NZqgx':function(_0x498531,_0x52408c){return _0x498531&&_0x52408c;},'PKNyF':'Not\x20in\x20a\x20git\x20repository.','hfkBx':'any','sknqb':function(_0x52e5f4,_0x365f64){return _0x52e5f4===_0x365f64;},'HhxZQ':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','BrjYv':'selected','XQHWJ':function(_0x5baee2,_0x242b1f){return _0x5baee2(_0x242b1f);},'Xvydo':function(_0x550740,_0x3b05ac,_0x2f54a4){return _0x550740(_0x3b05ac,_0x2f54a4);}};if(_0x500f57){const _0x26eb11=await getFeature(_0x500f57);await _0x527c59['LtTaf'](setActiveFeatureId,_0x26eb11['id']);const _0x5334f4=_0x527c59['bgOvY'](getGitBranch);_0x5334f4&&_0x527c59['AawUp'](_0x5334f4,_0x26eb11[_0x3c9112(0x1b6)])&&(await updateFeature(_0x26eb11['id'],{'gitBranch':_0x5334f4}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x5334f4));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x26eb11[_0x3c9112(0x149)]+'\x20('+_0x26eb11['id']+')'),await tryStartCurrentSession(_0x26eb11['id']);const _0x36bb69=process[_0x3c9112(0x143)]['CLAUDE_SESSION_ID'];_0x36bb69&&_0x527c59['IrZMY'](registerSession,_0x36bb69,_0x26eb11['id']);displayFeature(_0x26eb11,_0x26eb11['checklistItems']),await printFeedbackNudge(_0x26eb11['id']);return;}const _0x248b58=getGitRepoUrl(),_0x1c6a31=_0x527c59['GngDc'](getGitBranch);if(_0x527c59['NZqgx'](!_0x248b58,!_0x1c6a31))throw new Error(_0x527c59[_0x3c9112(0x1c4)]);console[_0x3c9112(0x1ae)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x248b58||'any')+_0x3c9112(0x133)+(_0x1c6a31||_0x527c59['hfkBx'])+_0x3c9112(0x1bf));const _0x1c4292=await _0x527c59[_0x3c9112(0x1d3)](listFeatures,{'gitRepoUrl':_0x248b58,'gitBranch':_0x1c6a31}),_0x3d3c2d=_0x1c4292['items'][_0x3c9112(0x1cc)](_0x155f69=>!_0x155f69[_0x3c9112(0x14c)]);if(_0x527c59[_0x3c9112(0x171)](_0x3d3c2d[_0x3c9112(0x176)],0x0)){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x3c9112(0x1aa));return;}let _0x231672;if(_0x527c59[_0x3c9112(0x171)](_0x3d3c2d['length'],0x1))_0x231672=_0x3d3c2d[0x0];else{const _0x7c08fe=process['stdin'][_0x3c9112(0x1a2)]&&process[_0x3c9112(0x1b4)][_0x3c9112(0x1a2)];if(!_0x7c08fe){console[_0x3c9112(0x1ae)](_0x3c9112(0x1c7));for(const _0x24e938 of _0x3d3c2d){console['log']('\x20\x20'+_0x24e938[_0x3c9112(0x149)]),console[_0x3c9112(0x1ae)](_0x3c9112(0x137)+_0x24e938['id']),_0x24e938[_0x3c9112(0x18a)]&&console[_0x3c9112(0x1ae)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x24e938[_0x3c9112(0x18a)])),_0x24e938[_0x3c9112(0x1b6)]&&console[_0x3c9112(0x1ae)](_0x3c9112(0x1ca)+_0x24e938['gitBranch']);}throw new Error(_0x527c59['HhxZQ']);}const {selected:_0x9939d4}=await _0x29615f['prompt']([{'type':'list','name':_0x527c59['BrjYv'],'message':_0x3c9112(0x17f),'choices':_0x3d3c2d['map'](_0x4e3ca7=>({'name':_0x4e3ca7[_0x3c9112(0x149)]+'\x20('+_0x4e3ca7['id']+')','value':_0x4e3ca7['id']}))}]);_0x231672=_0x3d3c2d[_0x3c9112(0x10e)](_0x49e5e3=>_0x49e5e3['id']===_0x9939d4);}await setActiveFeatureId(_0x231672['id']);_0x1c6a31&&_0x1c6a31!==_0x231672[_0x3c9112(0x1b6)]&&(await updateFeature(_0x231672['id'],{'gitBranch':_0x1c6a31}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x1c6a31));console['log'](_0x3c9112(0x197)+_0x231672[_0x3c9112(0x149)]+'\x20('+_0x231672['id']+')'),await _0x527c59['XQHWJ'](tryStartCurrentSession,_0x231672['id']);const _0x40c574=await _0x527c59[_0x3c9112(0x1d3)](getFeature,_0x231672['id']),_0x9b91ca=process['env']['CLAUDE_SESSION_ID'];_0x9b91ca&&_0x527c59['Xvydo'](registerSession,_0x9b91ca,_0x40c574['id']),_0x527c59[_0x3c9112(0x1dc)](displayFeature,_0x40c574,_0x40c574[_0x3c9112(0x14d)]),await printFeedbackNudge(_0x40c574['id']);}async function printFeedbackNudge(_0x456aaf){const _0x22f425=_0x492c6d,_0x37105c={'rtAgn':function(_0x3a14a3,_0x55a5fc){return _0x3a14a3(_0x55a5fc);},'QrpAV':function(_0x1807af,_0x22ce5d,_0x5e0f75){return _0x1807af(_0x22ce5d,_0x5e0f75);},'YLuqE':function(_0x470f51,_0x57cba5){return _0x470f51>_0x57cba5;},'yxLfk':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x100ab7}=await _0x37105c[_0x22f425(0x17c)](getActionItems,_0x456aaf);let _0x4aede5=0x0,_0x183ab4=0x0;for(const _0x4069c8 of _0x100ab7){const _0x213318=await _0x37105c[_0x22f425(0x13c)](getItemFeedback,_0x456aaf,_0x4069c8['id']);_0x37105c['YLuqE'](_0x213318[_0x22f425(0x170)]['length'],0x0)&&(_0x4aede5+=_0x213318['unaddressedComments']['length'],_0x183ab4++);}_0x4aede5>0x0&&(console[_0x22f425(0x1ae)](_0x22f425(0x18f)+_0x4aede5+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x183ab4+'\x20scenario(s).'),console['log'](_0x37105c[_0x22f425(0x139)]));}catch{}}async function tryStartCurrentSession(_0x1a1b84){const _0x1c324d=_0x492c6d,_0x4e7190={'EXNZh':function(_0x48b056,_0x3434e9){return _0x48b056(_0x3434e9);},'XrJlt':function(_0x148c70,_0x14e064,_0x47c872){return _0x148c70(_0x14e064,_0x47c872);}};try{const {sessions:_0x21ac14}=await _0x4e7190['EXNZh'](listFeatureSessions,_0x1a1b84),_0x213aee=_0x21ac14[_0x1c324d(0x10e)](_0x43e5eb=>_0x43e5eb['status']===_0x1c324d(0x194));_0x213aee&&(await _0x4e7190['XrJlt'](startSession,_0x1a1b84,_0x213aee['id']),console['log'](_0x1c324d(0x19e)+_0x213aee[_0x1c324d(0x180)]));}catch{}}export async function featureReport(_0x4399de,_0x5acc3a){const _0x3ca01f=_0x492c6d,_0x39401f={'xWNxp':function(_0x5f3e2f,_0x1d0c59,_0x877aa4){return _0x5f3e2f(_0x1d0c59,_0x877aa4);},'oeffw':function(_0x2d7d54,_0x26b877,_0xef7f27,_0x328afc){return _0x2d7d54(_0x26b877,_0xef7f27,_0x328afc);},'jzfBk':_0x3ca01f(0x13b),'zRNkM':function(_0x191d57,_0x1e29d8,_0x1aa1da){return _0x191d57(_0x1e29d8,_0x1aa1da);},'JGyNK':function(_0x3a9253,_0x337b19){return _0x3a9253(_0x337b19);},'hhhfi':function(_0x47bee4,_0x21f087,_0x3a4506){return _0x47bee4(_0x21f087,_0x3a4506);},'VDVYy':_0x3ca01f(0x148)},_0x550e4c=_0x4399de||await getActiveFeatureId();if(!_0x550e4c)throw new Error(_0x3ca01f(0x14e));console['log']('\x0aGenerating\x20report...');const _0x11e781=await _0x39401f[_0x3ca01f(0x1d2)](getFeatureReportMarkdown,_0x550e4c,{'style':_0x5acc3a['style']}),_0x1013e0=_0x5acc3a[_0x3ca01f(0x142)]||_0x39401f[_0x3ca01f(0x1c9)](join,getRangerDir(),_0x39401f[_0x3ca01f(0x177)],_0x550e4c+'.md'),_0x18e7ae=_0x39401f[_0x3ca01f(0x1d8)](join,_0x1013e0,'..');!_0x39401f[_0x3ca01f(0x165)](existsSync,_0x18e7ae)&&await _0x39401f[_0x3ca01f(0x10a)](mkdir,_0x18e7ae,{'recursive':!![]}),await _0x39401f['oeffw'](writeFile,_0x1013e0,_0x11e781,_0x39401f[_0x3ca01f(0x192)]),console[_0x3ca01f(0x1ae)]('\x0a✅\x20Report\x20generated:\x20'+_0x1013e0);}function getScenarioResult(_0x58cfbe){const _0x28baef=_0x492c6d,_0x190182={'XRMQX':_0x28baef(0x179),'pUEOF':function(_0x5cf6c4,_0x44bc94){return _0x5cf6c4===_0x44bc94;},'pAqkm':_0x28baef(0x145),'JxBDa':_0x28baef(0x116)};if(_0x58cfbe[_0x28baef(0x1c0)]===_0x190182['XRMQX'])return _0x58cfbe[_0x28baef(0x183)]??_0x28baef(0x179);if(_0x190182[_0x28baef(0x1a4)](_0x58cfbe['status'],_0x190182['pAqkm']))return _0x190182[_0x28baef(0x1cb)];return _0x58cfbe['status'];}function getScenarioRationale(_0x4534f2,_0x4b8797){const _0x55a572=_0x492c6d;if(_0x4b8797)return _0x4b8797;if(_0x4534f2[_0x55a572(0x1b0)])return _0x4534f2[_0x55a572(0x1b0)];if(_0x4534f2[_0x55a572(0x160)])return _0x4534f2[_0x55a572(0x160)];if(_0x4534f2[_0x55a572(0x1df)])return _0x4534f2[_0x55a572(0x1df)];if(_0x4534f2['notes'])return _0x4534f2[_0x55a572(0x1e4)];return null;}export async function featureReportPrDescription(_0x535e40,_0x17214b){const _0x24757c=_0x492c6d,_0x69896c={'zbMYP':function(_0x319263,_0x11e756,_0x343e3e){return _0x319263(_0x11e756,_0x343e3e);},'QJGmw':function(_0x2dc4a8,_0xd67e99){return _0x2dc4a8===_0xd67e99;},'uhogo':function(_0x2a4654,_0x453c6a){return _0x2a4654+_0x453c6a;},'wCtmR':_0x24757c(0x188),'VDykV':function(_0x527dbd,_0x1b7b44,_0x2472f8,_0x21c9f4){return _0x527dbd(_0x1b7b44,_0x2472f8,_0x21c9f4);}},_0x1c84cf=_0x535e40||await getActiveFeatureId();if(!_0x1c84cf)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x1e6fb6=await getFeature(_0x1c84cf),_0x154c6f=_0x1e6fb6[_0x24757c(0x14d)]||[],_0x418666=_0x69896c['zbMYP'](getCurrentSessionItems,_0x1e6fb6,_0x154c6f);_0x69896c['QJGmw'](_0x418666['length'],0x0)&&(console[_0x24757c(0x19f)](_0x24757c(0x193)),process['exit'](0x1));const _0x5e45f6=_0x17214b['excludeScenarios']??[],_0x2fe0ec=_0x5e45f6[_0x24757c(0x1cc)](_0x1055fa=>!Number['isInteger'](_0x1055fa)||_0x1055fa<0x1||_0x1055fa>_0x418666['length']);if(_0x2fe0ec[_0x24757c(0x176)]>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x2fe0ec[_0x24757c(0x1bb)](',\x20')),console[_0x24757c(0x1ae)]('\x0aAvailable\x20scenarios:');for(let _0x1711b9=0x0;_0x1711b9<_0x418666['length'];_0x1711b9++){console['log']('\x20\x20'+_0x69896c[_0x24757c(0x1b2)](_0x1711b9,0x1)+'.\x20'+_0x418666[_0x1711b9]['description']);}process['exit'](0x1);}const _0x34d173=new Set(_0x5e45f6[_0x24757c(0x1bc)](_0x396bbb=>_0x396bbb-0x1)),_0x2762ee=_0x418666['filter']((_0x241c06,_0x2f35ad)=>!_0x34d173[_0x24757c(0x1d6)](_0x2f35ad));_0x2762ee['length']===0x0&&(console['error'](_0x69896c[_0x24757c(0x1e1)]),process['exit'](0x1));if(_0x17214b[_0x24757c(0x1c6)])await _0x69896c[_0x24757c(0x17e)](outputJsonReport,_0x1c84cf,_0x1e6fb6,_0x2762ee);else{const _0x5db66e=await getFeatureReportMarkdown(_0x1c84cf,{'itemIds':_0x2762ee[_0x24757c(0x1bc)](_0x3ea62d=>_0x3ea62d['id'])});process[_0x24757c(0x1b4)][_0x24757c(0x15a)](_0x5db66e[_0x24757c(0x1a7)]()+'\x0a');}}async function outputJsonReport(_0x1b9a69,_0x5de1e3,_0x318208){const _0x21ca19=_0x492c6d,_0x4951a3={'ELhOw':function(_0x3ad79c){return _0x3ad79c();},'KcwQD':function(_0x345569,_0x3f2718){return _0x345569(_0x3f2718);}},_0xe97d73=_0x4951a3[_0x21ca19(0x13a)](getApiBaseUrl),_0x418fed=await _0x4951a3[_0x21ca19(0x18d)](getFeatureReport,_0x1b9a69),_0x54bc1c=new Map(_0x418fed[_0x21ca19(0x14d)]['map'](_0x7e6428=>[_0x7e6428['id'],_0x7e6428])),_0x5cadb6=await Promise['all'](_0x318208[_0x21ca19(0x1bc)](async _0x4c80ba=>{const _0x5e9446=_0x21ca19,_0x43b62c=_0x54bc1c[_0x5e9446(0x1c5)](_0x4c80ba['id']),_0x36d5ec=_0x43b62c?.['linkedSession']??null;let _0x1e3f0c=[];if(_0x4c80ba[_0x5e9446(0x141)])try{const {steps:_0x4506e2}=await getBrowserSessionSteps(_0x4c80ba['browserSessionId']);_0x4506e2[_0x5e9446(0x176)]>0x0&&(_0x1e3f0c=_0x4506e2[_0x5e9446(0x1bc)](_0x55b1d5=>{const _0x14f50a=_0x5e9446,_0x382b1d=_0x55b1d5[_0x14f50a(0x144)]['find'](_0x5de71c=>_0x5de71c[_0x14f50a(0x182)]===_0x14f50a(0x1b5)&&_0x5de71c[_0x14f50a(0x191)]==='after')??_0x55b1d5[_0x14f50a(0x144)]['find'](_0x3bedfd=>_0x3bedfd[_0x14f50a(0x182)]===_0x14f50a(0x1b5));let _0xddb7db=null,_0xf668a8=null;if(_0x382b1d){const _0x37a9e5=_0x382b1d['storage']['location'][_0x14f50a(0x135)]('/')[_0x14f50a(0x178)]();_0xddb7db=_0xe97d73+_0x14f50a(0x132)+_0x4c80ba['browserSessionId']+'/artifacts/'+_0x37a9e5,_0x37a9e5&&(_0xf668a8=_0x37a9e5[_0x14f50a(0x1a8)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x14f50a(0x1a8)](/[-_]/g,'\x20'));}return{'description':_0xf668a8||_0x55b1d5['description']||_0x55b1d5[_0x14f50a(0x156)]||'Step\x20'+_0x55b1d5[_0x14f50a(0x1c3)],'screenshot':_0xddb7db,'is_key_step':_0x55b1d5['isKeyStep']};}));}catch{}return _0x1e3f0c['length']===0x0&&_0x36d5ec?.['screenshotUrls']&&(_0x1e3f0c=_0x36d5ec['screenshotUrls']['map']((_0x1dcc71,_0xb3af25)=>({'description':_0x5e9446(0x1af)+(_0xb3af25+0x1),'screenshot':_0x1dcc71,'is_key_step':![]}))),{'description':_0x4c80ba[_0x5e9446(0x15b)],'result':getScenarioResult(_0x4c80ba),'rationale':getScenarioRationale(_0x4c80ba,_0x36d5ec?.[_0x5e9446(0x1a9)]),'steps':_0x1e3f0c};})),_0x236853={'url':_0x5de1e3['dashboardUrl'],'scenarios':_0x5cadb6};process['stdout']['write'](JSON[_0x21ca19(0x1d5)](_0x236853,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x186c57){const _0x34822e=_0x492c6d,_0x4783b6={'McazZ':_0x34822e(0x1cf),'EGMOs':function(_0x3f2114,_0x2a12ff){return _0x3f2114===_0x2a12ff;},'npyvv':function(_0x5b782f,_0x14ae34){return _0x5b782f!==_0x14ae34;}},_0x2d148b=_0x186c57||await getActiveFeatureId();if(!_0x2d148b)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 _0x350e81=await getFeature(_0x2d148b);if(!_0x350e81[_0x34822e(0x158)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x604944}=await listFeatureSessions(_0x2d148b),_0x388ee4=_0x604944['find'](_0x5af8dc=>_0x5af8dc['id']===_0x350e81[_0x34822e(0x158)]);if(!_0x388ee4)throw new Error(_0x4783b6['McazZ']);if(_0x4783b6[_0x34822e(0x18b)](_0x388ee4[_0x34822e(0x1c0)],_0x34822e(0x124))){console[_0x34822e(0x1ae)](_0x34822e(0x10c));return;}if(_0x4783b6['npyvv'](_0x388ee4[_0x34822e(0x1c0)],'in_progress'))throw new Error(_0x34822e(0x120)+_0x388ee4['status']);console[_0x34822e(0x1ae)]('\x0aConcluding\x20session...'),await concludeSession(_0x2d148b,_0x350e81[_0x34822e(0x158)]),console['log']('\x0a✅\x20Session\x20'+_0x388ee4['iteration']+_0x34822e(0x15e)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x216687){const _0x691874=_0x492c6d,_0x2e6e2e={'gMbzK':function(_0x1b976f){return _0x1b976f();},'qkXio':_0x691874(0x14e),'rmMZi':function(_0x232419,_0xd7228a){return _0x232419(_0xd7228a);},'OZZNh':function(_0x3d0292,_0x17c65b){return _0x3d0292(_0x17c65b);},'QOdXJ':function(_0x560d65,_0x236d87){return _0x560d65===_0x236d87;},'mZqLO':function(_0x464300,_0x4a06cf){return _0x464300===_0x4a06cf;}},_0x5d1502=_0x216687||await _0x2e6e2e[_0x691874(0x1da)](getActiveFeatureId);if(!_0x5d1502)throw new Error(_0x2e6e2e[_0x691874(0x1b9)]);const _0x2df451=await _0x2e6e2e['rmMZi'](getFeature,_0x5d1502);console['log'](_0x691874(0x112)+_0x2df451['name']+'\x0a');const {sessions:_0x599696}=await _0x2e6e2e['OZZNh'](listFeatureSessions,_0x5d1502);if(_0x2e6e2e[_0x691874(0x127)](_0x599696[_0x691874(0x176)],0x0)){console['log'](_0x691874(0x12f));return;}for(const _0x3ee868 of _0x599696){const _0x357ce9=_0x2e6e2e['mZqLO'](_0x3ee868['status'],_0x691874(0x124))?'✅':_0x2e6e2e[_0x691874(0x127)](_0x3ee868[_0x691874(0x1c0)],_0x691874(0x116))?'🔄':'▶️';console[_0x691874(0x1ae)](_0x357ce9+_0x691874(0x126)+_0x3ee868[_0x691874(0x180)]+'\x20('+_0x3ee868['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x3ee868[_0x691874(0x1c0)]),console[_0x691874(0x1ae)]('\x20\x20\x20Created:\x20'+new Date(_0x3ee868['createdAt'])[_0x691874(0x18c)]()),_0x3ee868['completedAt']&&console['log'](_0x691874(0x118)+new Date(_0x3ee868['completedAt'])['toLocaleString']()),console[_0x691874(0x1ae)]('');}}export async function featureAddScenario(_0x1469e5,_0x291332){const _0x552efa=_0x492c6d,_0x584d9b={'olDcG':function(_0x2a3d1a){return _0x2a3d1a();},'neBaY':function(_0x30d607,_0x19cc09,_0x574e68){return _0x30d607(_0x19cc09,_0x574e68);},'kHCvH':function(_0x1ae8ef,_0x2547df,_0x377d7b){return _0x1ae8ef(_0x2547df,_0x377d7b);}},_0x223fc2=_0x291332||await _0x584d9b[_0x552efa(0x187)](getActiveFeatureId);if(!_0x223fc2)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 _0x417f6a=await getFeature(_0x223fc2);if(_0x417f6a[_0x552efa(0x11b)]&&!_0x417f6a['latestReview'][_0x552efa(0x125)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x417f6a['dashboardUrl']);await _0x584d9b['neBaY'](createChecklistItem,_0x223fc2,_0x1469e5);const _0x2ba8df=await getFeature(_0x223fc2);console[_0x552efa(0x1ae)]('\x0a✅\x20Scenario\x20added'),_0x584d9b[_0x552efa(0x17b)](displayFeature,_0x2ba8df,_0x2ba8df[_0x552efa(0x14d)]);}export async function featureEditScenario(_0x4dcb52,_0xb4fe6){const _0x241345=_0x492c6d,_0xefe041={'gjIih':function(_0x2c21bc){return _0x2c21bc();},'ijcsd':'Please\x20finish\x20your\x20review\x20first:','ykpzg':function(_0x13af42,_0x11fa52){return _0x13af42===_0x11fa52;},'gfOkJ':function(_0x16f4f6,_0x12077c){return _0x16f4f6===_0x12077c;},'ruVOL':'\x0aAvailable\x20scenarios:','yfhWJ':function(_0x50e2ec,_0x50463f){return _0x50e2ec<_0x50463f;},'SmiEL':function(_0x15eb82,_0x3347cc){return _0x15eb82-_0x3347cc;},'KQlsV':function(_0x5b0d02,_0x3ddba3){return _0x5b0d02<_0x3ddba3;},'kQmNV':function(_0x545475,_0x5212c2,_0x4d5026,_0x4f4a37){return _0x545475(_0x5212c2,_0x4d5026,_0x4f4a37);},'DBPgo':function(_0x3c0fb1,_0x357744){return _0x3c0fb1(_0x357744);},'xzEDQ':function(_0x32e754,_0x2245d5,_0x2996ae){return _0x32e754(_0x2245d5,_0x2996ae);}},_0x2d75b1=_0xb4fe6['id']||await _0xefe041[_0x241345(0x1ba)](getActiveFeatureId);!_0x2d75b1&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x10234b=await getFeature(_0x2d75b1);_0x10234b[_0x241345(0x11b)]&&!_0x10234b[_0x241345(0x11b)][_0x241345(0x125)]&&(console[_0x241345(0x19f)](_0x241345(0x157)),console[_0x241345(0x19f)](_0xefe041[_0x241345(0x17d)]),console[_0x241345(0x19f)]('\x20\x20'+_0x10234b['dashboardUrl']),process['exit'](0x1));const _0x5c6f9f=_0x10234b[_0x241345(0x14d)]||[];_0xefe041['ykpzg'](_0x5c6f9f['length'],0x0)&&(console[_0x241345(0x19f)](_0x241345(0x12a)),process['exit'](0x1));if(_0xefe041[_0x241345(0x1d1)](_0xb4fe6['scenario'],undefined)){console[_0x241345(0x19f)](_0x241345(0x1bd)),console[_0x241345(0x1ae)](_0xefe041['ruVOL']);for(let _0x3d005a=0x0;_0xefe041[_0x241345(0x1d0)](_0x3d005a,_0x5c6f9f[_0x241345(0x176)]);_0x3d005a++){console['log']('\x20\x20'+(_0x3d005a+0x1)+'.\x20'+_0x5c6f9f[_0x3d005a]['description']);}process['exit'](0x1);}const _0x7005f6=_0xefe041[_0x241345(0x122)](_0xb4fe6[_0x241345(0x16a)],0x1);if(_0xefe041['KQlsV'](_0x7005f6,0x0)||_0x7005f6>=_0x5c6f9f[_0x241345(0x176)]){console['error'](_0x241345(0x162)+_0xb4fe6[_0x241345(0x16a)]+'.\x20Feature\x20review\x20has\x20'+_0x5c6f9f[_0x241345(0x176)]+'\x20scenarios.'),console[_0x241345(0x1ae)]('\x0aAvailable\x20scenarios:');for(let _0x35f3d7=0x0;_0x35f3d7<_0x5c6f9f[_0x241345(0x176)];_0x35f3d7++){console[_0x241345(0x1ae)]('\x20\x20'+(_0x35f3d7+0x1)+'.\x20'+_0x5c6f9f[_0x35f3d7]['description']);}process['exit'](0x1);}const _0x31a9f2=_0x5c6f9f[_0x7005f6];await _0xefe041[_0x241345(0x121)](updateChecklistItem,_0x2d75b1,_0x31a9f2['id'],{'description':_0x4dcb52});const _0x5b0a02=await _0xefe041[_0x241345(0x173)](getFeature,_0x2d75b1);console['log']('\x0a✅\x20Scenario\x20updated'),_0xefe041[_0x241345(0x16d)](displayFeature,_0x5b0a02,_0x5b0a02['checklistItems']);}async function downloadFeedbackImage(_0x4e9d28,_0x527e22){const _0x1974e8={'Qhcbv':function(_0x2960e4){return _0x2960e4();}};try{const _0x5cc725=join(_0x1974e8['Qhcbv'](getRangerDir),'feedback-images');await mkdir(_0x5cc725,{'recursive':!![]});const _0x4618d2=join(_0x5cc725,'comment_'+_0x527e22+'.png'),_0x5ad93f=await fetch(_0x4e9d28);if(!_0x5ad93f['ok'])return null;const _0x22b19d=Buffer['from'](await _0x5ad93f['arrayBuffer']());return await writeFile(_0x4618d2,_0x22b19d),_0x4618d2;}catch{return null;}}export async function featureGetReview(_0x1cfd36){const _0x240a48=_0x492c6d,_0x7820cc={'NYeuU':function(_0x45f42a,_0x2d9dba){return _0x45f42a(_0x2d9dba);},'hdBzo':function(_0x1257d7,_0x211c79){return _0x1257d7===_0x211c79;},'GfEXz':_0x240a48(0x13f),'MrTJg':function(_0x2ca7d4,_0x186798){return _0x2ca7d4>_0x186798;},'AxmjZ':function(_0x322bca,_0x2e5961){return _0x322bca>_0x2e5961;},'OtTip':function(_0x2ea215,_0x158a11){return _0x2ea215+_0x158a11;},'LOivW':'numeric','vWZWX':'Unknown','HmVNq':function(_0x3efe1c,_0x4c853e,_0x3502cc){return _0x3efe1c(_0x4c853e,_0x3502cc);},'quPBR':'\x20>\x20','ufTUf':_0x240a48(0x109),'pdgyz':function(_0x31d304,_0x4b4eea){return _0x31d304>=_0x4b4eea;}},_0xaf3caa=_0x1cfd36||await getActiveFeatureId();if(!_0xaf3caa)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 _0x1d47ef=await getFeature(_0xaf3caa),{items:_0x245d37}=await _0x7820cc['NYeuU'](getActionItems,_0xaf3caa);console[_0x240a48(0x1ae)]('\x0a📋\x20Feedback\x20for:\x20'+_0x1d47ef['name']+'\x20('+_0x1d47ef['id']+')\x0a');if(_0x7820cc['hdBzo'](_0x245d37[_0x240a48(0x176)],0x0)){console[_0x240a48(0x1ae)](_0x7820cc['GfEXz']);return;}for(let _0x7784bb=0x0;_0x7784bb<_0x245d37[_0x240a48(0x176)];_0x7784bb++){const _0x387bd4=_0x245d37[_0x7784bb],_0x3f4c97=_0x7820cc[_0x240a48(0x1ab)](_0x387bd4[_0x240a48(0x16f)],0x1)?'\x20(v'+_0x387bd4['version']+')':'',_0x10090f=await getItemFeedback(_0xaf3caa,_0x387bd4['id']);if(_0x7820cc['AxmjZ'](_0x10090f[_0x240a48(0x170)]['length'],0x0)){console['log']('Scenario\x20'+_0x7820cc['OtTip'](_0x7784bb,0x1)+_0x240a48(0x166)+_0x387bd4['description']+'\x22'+_0x3f4c97+_0x240a48(0x1a3)+_0x10090f[_0x240a48(0x170)][_0x240a48(0x176)]+'\x20unaddressed\x20comment(s)');for(const _0x4f7fad of _0x10090f[_0x240a48(0x170)]){const _0x2a5d2d=new Date(_0x4f7fad[_0x240a48(0x153)])[_0x240a48(0x174)](_0x240a48(0x1b3),{'month':'short','day':_0x7820cc[_0x240a48(0x129)]}),_0x3f2ff0=_0x4f7fad[_0x240a48(0x1b1)]||_0x4f7fad[_0x240a48(0x1e2)]||_0x7820cc[_0x240a48(0x1b8)];console['log'](_0x240a48(0x138)+_0x3f2ff0+'\x20('+_0x2a5d2d+'):\x20\x22'+_0x4f7fad['content']+'\x22');if(_0x4f7fad['assetUrl']){const _0x55ae9e=await _0x7820cc['HmVNq'](downloadFeedbackImage,_0x4f7fad[_0x240a48(0x1b7)],_0x4f7fad['id']);_0x55ae9e&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x55ae9e);}if(_0x4f7fad['domRef']){const _0x31efe1=_0x4f7fad['domRef']['selector']['split'](_0x7820cc[_0x240a48(0x15f)])['pop']()?.['split'](':')[0x0]||_0x240a48(0x1db),_0x55cae6=_0x4f7fad['domRef'][_0x240a48(0x113)]?'\x20\x22'+_0x4f7fad[_0x240a48(0x1ce)][_0x240a48(0x113)]['slice'](0x0,0x3c)+'\x22':'';console[_0x240a48(0x1ae)](_0x240a48(0x19c)+_0x31efe1+'>'+_0x55cae6),console['log'](_0x240a48(0x1de)+_0x4f7fad['domRef'][_0x240a48(0x115)]);}else{if(_0x4f7fad[_0x240a48(0x10b)]){const _0x2bb74e=_0x4f7fad[_0x240a48(0x10b)][_0x240a48(0x1d9)];_0x4f7fad['spatial'][_0x240a48(0x19d)]===_0x7820cc[_0x240a48(0x1ad)]&&_0x7820cc[_0x240a48(0x17a)](_0x2bb74e[_0x240a48(0x176)],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x2bb74e[0x0][_0x240a48(0x11f)](0x2)+',\x20'+_0x2bb74e[0x1][_0x240a48(0x11f)](0x2)+')'):console['log'](_0x240a48(0x16b)+_0x4f7fad[_0x240a48(0x10b)][_0x240a48(0x19d)]+_0x240a48(0x196)+_0x2bb74e[_0x240a48(0x1bc)](_0x36c0c0=>_0x36c0c0[_0x240a48(0x11f)](0x2))['join'](',\x20')+']');}}}if(_0x10090f[_0x240a48(0x199)]){console[_0x240a48(0x1ae)](_0x240a48(0x11e));for(const _0x29a82f of _0x10090f[_0x240a48(0x199)][_0x240a48(0x135)]('\x0a')){console[_0x240a48(0x1ae)](_0x240a48(0x19a)+_0x29a82f);}}}else console[_0x240a48(0x1ae)]('Scenario\x20'+(_0x7784bb+0x1)+_0x240a48(0x166)+_0x387bd4['description']+'\x22'+_0x3f4c97+'\x20—\x20no\x20comments'),console[_0x240a48(0x1ae)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x59b1f7){const _0x387b30=_0x492c6d,_0x58d295={'ulmvh':function(_0x4bca21,_0x24114d){return _0x4bca21(_0x24114d);},'rThpx':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x2bbb5c=_0x59b1f7||await getActiveFeatureId();if(!_0x2bbb5c)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 _0x4f3148=await _0x58d295['ulmvh'](getFeature,_0x2bbb5c);await softDeleteFeature(_0x2bbb5c),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x4f3148[_0x387b30(0x149)]+'\x20('+_0x2bbb5c+')'),console[_0x387b30(0x1ae)](_0x58d295[_0x387b30(0x195)]+_0x2bbb5c);}export async function featureRestore(_0x555eb8){const _0x591c5e=_0x492c6d,_0x5366e1={'fTTcX':function(_0x22a6c9,_0x226efb){return _0x22a6c9(_0x226efb);},'MfVwp':function(_0x5b1f0a,_0x108154){return _0x5b1f0a(_0x108154);},'CRXNh':function(_0x255d63,_0x3dff20,_0x388387){return _0x255d63(_0x3dff20,_0x388387);}};await _0x5366e1['fTTcX'](restoreFeature,_0x555eb8);const _0x1c254d=await _0x5366e1[_0x591c5e(0x175)](getFeature,_0x555eb8);console['log'](_0x591c5e(0x168)+_0x1c254d['name']+'\x20('+_0x555eb8+')'),_0x5366e1[_0x591c5e(0x185)](displayFeature,_0x1c254d,_0x1c254d['checklistItems']);}
@@ -1 +1 @@
1
- (function(_0x4e0329,_0x233861){const _0x14eb82=_0xe650,_0x49d802=_0x4e0329();while(!![]){try{const _0x3cc9a6=-parseInt(_0x14eb82(0xfd))/0x1*(-parseInt(_0x14eb82(0x102))/0x2)+-parseInt(_0x14eb82(0x107))/0x3*(-parseInt(_0x14eb82(0x103))/0x4)+-parseInt(_0x14eb82(0xfc))/0x5*(-parseInt(_0x14eb82(0x109))/0x6)+-parseInt(_0x14eb82(0x106))/0x7*(-parseInt(_0x14eb82(0xfe))/0x8)+-parseInt(_0x14eb82(0x105))/0x9+-parseInt(_0x14eb82(0x108))/0xa*(-parseInt(_0x14eb82(0x100))/0xb)+-parseInt(_0x14eb82(0xff))/0xc;if(_0x3cc9a6===_0x233861)break;else _0x49d802['push'](_0x49d802['shift']());}catch(_0x487860){_0x49d802['push'](_0x49d802['shift']());}}}(_0x310a,0x1a247));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 _0xe650(_0x2f3a6c,_0x6b1e11){_0x2f3a6c=_0x2f3a6c-0xfc;const _0x310a27=_0x310a();let _0xe6506b=_0x310a27[_0x2f3a6c];return _0xe6506b;}function _0x310a(){const _0x34a416=['keys','1680318gfYbVT','2513THlHUF','1887WEdOOV','6060pohTvM','6EJdxxW','KeVHW','758515fyOPBT','9091ypHaej','1784NVMteR','2093484tRHxyW','3157gaooXb','Unknown\x20hook:\x20','2CxUKgV','340hFVrXl'];_0x310a=function(){return _0x34a416;};return _0x310a();}export async function hook(_0x3e77eb,_0x256daf){const _0x52d530=_0xe650,_0x1bb662={'KeVHW':function(_0x391290,_0xdb639e){return _0x391290(_0xdb639e);}},_0x45ce6c=HOOKS[_0x3e77eb];if(!_0x45ce6c){const _0x52d80f=Object[_0x52d530(0x104)](HOOKS)['join'](',\x20');console['error'](_0x52d530(0x101)+_0x3e77eb),console['error']('Valid\x20hooks:\x20'+_0x52d80f),process['exit'](0x1);}await _0x1bb662[_0x52d530(0x10a)](_0x45ce6c,_0x256daf);}
1
+ (function(_0x3690e2,_0x2bf3ca){const _0xa9d9bc=_0x3c3c,_0x28d7a5=_0x3690e2();while(!![]){try{const _0x7e928=-parseInt(_0xa9d9bc(0xb0))/0x1*(parseInt(_0xa9d9bc(0xb2))/0x2)+-parseInt(_0xa9d9bc(0xb3))/0x3+parseInt(_0xa9d9bc(0xad))/0x4+parseInt(_0xa9d9bc(0xac))/0x5+parseInt(_0xa9d9bc(0xae))/0x6+-parseInt(_0xa9d9bc(0xaf))/0x7+parseInt(_0xa9d9bc(0xab))/0x8;if(_0x7e928===_0x2bf3ca)break;else _0x28d7a5['push'](_0x28d7a5['shift']());}catch(_0x1bc344){_0x28d7a5['push'](_0x28d7a5['shift']());}}}(_0x4bf7,0x57db9));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 _0x3c3c(_0x403c4c,_0x36dddb){_0x403c4c=_0x403c4c-0xab;const _0x4bf7e7=_0x4bf7();let _0x3c3c0f=_0x4bf7e7[_0x403c4c];return _0x3c3c0f;}function _0x4bf7(){const _0x58099c=['4070680uLjGGO','2037810rEdPXG','1249684NNkvCn','4145652lfgDfA','4169487mPZapi','2oKZuhL','Unknown\x20hook:\x20','275612PCHnwp','2065926FkKfZH','khfga','error','exit'];_0x4bf7=function(){return _0x58099c;};return _0x4bf7();}export async function hook(_0x46fcc6,_0x487887){const _0x28addb=_0x3c3c,_0x26e112={'khfga':function(_0x231985,_0x313423){return _0x231985(_0x313423);}},_0x453aa=HOOKS[_0x46fcc6];if(!_0x453aa){const _0x191760=Object['keys'](HOOKS)['join'](',\x20');console[_0x28addb(0xb5)](_0x28addb(0xb1)+_0x46fcc6),console['error']('Valid\x20hooks:\x20'+_0x191760),process[_0x28addb(0xb6)](0x1);}await _0x26e112[_0x28addb(0xb4)](_0x453aa,_0x487887);}
@@ -1 +1 @@
1
- function _0x45aa(_0xa5edb0,_0x37177e){_0xa5edb0=_0xa5edb0-0x146;const _0x5165d8=_0x5165();let _0x45aa43=_0x5165d8[_0xa5edb0];return _0x45aa43;}const _0x2d797c=_0x45aa;(function(_0x5ab64a,_0x2de6fd){const _0x158822=_0x45aa,_0x3b3a9c=_0x5ab64a();while(!![]){try{const _0x368008=-parseInt(_0x158822(0x14c))/0x1*(parseInt(_0x158822(0x14d))/0x2)+parseInt(_0x158822(0x14f))/0x3+-parseInt(_0x158822(0x148))/0x4*(parseInt(_0x158822(0x14a))/0x5)+parseInt(_0x158822(0x146))/0x6+-parseInt(_0x158822(0x147))/0x7+parseInt(_0x158822(0x14e))/0x8+parseInt(_0x158822(0x150))/0x9*(-parseInt(_0x158822(0x14b))/0xa);if(_0x368008===_0x2de6fd)break;else _0x3b3a9c['push'](_0x3b3a9c['shift']());}catch(_0x2f5b17){_0x3b3a9c['push'](_0x3b3a9c['shift']());}}}(_0x5165,0xed0c6));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x2d797c(0x149);function _0x5165(){const _0x5ef755=['9684328NOTQjW','2501268QVJPIx','126YuoorJ','obHgM','82608lRvtYT','2479568hSHLQn','2032ZEdBtr','\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.','2960kFIBNw','124850dyWLFX','5OJKDDt','102946cIjsnn'];_0x5165=function(){return _0x5ef755;};return _0x5165();}export async function autoPrompt(){const _0x34a824=_0x2d797c,_0x4a34fc={'PWDOe':function(_0x2a536e){return _0x2a536e();},'obHgM':function(_0x138e49,_0x4941f0){return _0x138e49(_0x4941f0);}},_0x150ab0=await _0x4a34fc['PWDOe'](readHookInput),_0x295315=_0x150ab0?.['session_id'];if(!_0x295315)return;if(isSessionEnabled(_0x295315)||hasSessionBeenPrompted(_0x295315))return;_0x4a34fc[_0x34a824(0x151)](markSessionPrompted,_0x295315),console['log'](AUTO_PROMPT_TEXT);}
1
+ (function(_0x91464f,_0x4efd99){const _0x2bf179=_0x55a6,_0x49ac03=_0x91464f();while(!![]){try{const _0x4a8d84=-parseInt(_0x2bf179(0x81))/0x1+-parseInt(_0x2bf179(0x82))/0x2*(parseInt(_0x2bf179(0x84))/0x3)+-parseInt(_0x2bf179(0x8a))/0x4*(parseInt(_0x2bf179(0x89))/0x5)+-parseInt(_0x2bf179(0x83))/0x6+parseInt(_0x2bf179(0x88))/0x7+-parseInt(_0x2bf179(0x86))/0x8*(parseInt(_0x2bf179(0x8b))/0x9)+parseInt(_0x2bf179(0x85))/0xa;if(_0x4a8d84===_0x4efd99)break;else _0x49ac03['push'](_0x49ac03['shift']());}catch(_0x5d1c5b){_0x49ac03['push'](_0x49ac03['shift']());}}}(_0x110c,0xad9fd));import{readHookInput}from'./output.js';function _0x110c(){const _0x4cbf9b=['6489282fBOYJm','1702491SVWYLJ','48403140xYQwdU','1832MAjigo','session_id','2886870NenjIu','17145iPFEsn','612rUNhjQ','21852WZEKTi','1244369OMsGYF','4SEvdwa'];_0x110c=function(){return _0x4cbf9b;};return _0x110c();}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 _0x55a6(_0x5f0b0c,_0x50772c){_0x5f0b0c=_0x5f0b0c-0x81;const _0x110c16=_0x110c();let _0x55a655=_0x110c16[_0x5f0b0c];return _0x55a655;}export async function autoPrompt(){const _0x1e4757=_0x55a6,_0x2cb8cb={'iISkR':function(_0x4dece5,_0x5bb138){return _0x4dece5(_0x5bb138);}},_0x15fc5e=await readHookInput(),_0x288407=_0x15fc5e?.[_0x1e4757(0x87)];if(!_0x288407)return;if(isSessionEnabled(_0x288407)||_0x2cb8cb['iISkR'](hasSessionBeenPrompted,_0x288407))return;markSessionPrompted(_0x288407),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- function _0x8b4c(_0x53a6b8,_0x39788f){_0x53a6b8=_0x53a6b8-0x114;const _0x827f09=_0x827f();let _0x8b4c20=_0x827f09[_0x53a6b8];return _0x8b4c20;}(function(_0x13e9d2,_0x431f2c){const _0x206fb5=_0x8b4c,_0x371123=_0x13e9d2();while(!![]){try{const _0x4534e1=-parseInt(_0x206fb5(0x11a))/0x1+parseInt(_0x206fb5(0x115))/0x2+-parseInt(_0x206fb5(0x120))/0x3+-parseInt(_0x206fb5(0x117))/0x4*(parseInt(_0x206fb5(0x121))/0x5)+parseInt(_0x206fb5(0x11e))/0x6*(parseInt(_0x206fb5(0x11b))/0x7)+-parseInt(_0x206fb5(0x116))/0x8+-parseInt(_0x206fb5(0x11f))/0x9*(-parseInt(_0x206fb5(0x123))/0xa);if(_0x4534e1===_0x431f2c)break;else _0x371123['push'](_0x371123['shift']());}catch(_0x30fa8){_0x371123['push'](_0x371123['shift']());}}}(_0x827f,0x5ba61));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x827f(){const _0x36ce17=['1097024pFVuFu','1540120tCpyaH','9956jUJhGf','.\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`.','CSONM','745114wibLlh','3502527PoXGzE','CLAUDE_SESSION_ID','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','6GvDcmk','4800015ouDEQm','2213421UrPtLy','130HKdQhh','UXLSr','20lGkEOo','main','HLtBU','\x20and\x20branch\x20\x27'];_0x827f=function(){return _0x36ce17;};return _0x827f();}import{printBlock}from'./output.js';export async function disable(_0x33453f){const _0x594a92=_0x8b4c,_0xb360d4={'HLtBU':function(_0x2811c1,_0x30e06e){return _0x2811c1(_0x30e06e);},'HWFac':'master','CSONM':function(_0x541765,_0x6b3c86){return _0x541765(_0x6b3c86);},'UXLSr':function(_0xea9367,_0x46acb2){return _0xea9367!==_0x46acb2;}},_0x55d2cf=_0x33453f||process['env'][_0x594a92(0x11c)]||'';_0x55d2cf&&_0xb360d4['HLtBU'](disableSession,_0x55d2cf);const _0x3942dd=getCurrentBranch();_0x3942dd&&_0x3942dd!==_0x594a92(0x124)&&_0x3942dd!==_0xb360d4['HWFac']&&_0xb360d4[_0x594a92(0x125)](disableBranch,_0x3942dd),_0xb360d4[_0x594a92(0x119)](printBlock,_0x594a92(0x11d)+(_0x3942dd&&_0x3942dd!=='main'&&_0xb360d4[_0x594a92(0x122)](_0x3942dd,_0xb360d4['HWFac'])?_0x594a92(0x114)+_0x3942dd+'\x27':'')+_0x594a92(0x118));}
1
+ (function(_0x52bc4a,_0x2ab104){const _0xacde50=_0x1b7b,_0x122368=_0x52bc4a();while(!![]){try{const _0x54a955=parseInt(_0xacde50(0x87))/0x1*(parseInt(_0xacde50(0x95))/0x2)+parseInt(_0xacde50(0x94))/0x3+-parseInt(_0xacde50(0x8f))/0x4*(-parseInt(_0xacde50(0x88))/0x5)+parseInt(_0xacde50(0x93))/0x6*(-parseInt(_0xacde50(0x96))/0x7)+parseInt(_0xacde50(0x90))/0x8*(parseInt(_0xacde50(0x8b))/0x9)+parseInt(_0xacde50(0x8a))/0xa+-parseInt(_0xacde50(0x85))/0xb;if(_0x54a955===_0x2ab104)break;else _0x122368['push'](_0x122368['shift']());}catch(_0x5ecd62){_0x122368['push'](_0x122368['shift']());}}}(_0x166d,0xece46));function _0x166d(){const _0x2a3db1=['18uXRIjS','VUOmW','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','lEaZK','366500YvIoIN','362832IHRtIs','main','CLAUDE_SESSION_ID','6WyfMdy','3662220NBBRaV','24kmabdp','12240858cUoPgM','2159443FDQVUT','SmWid','7303RBcOgV','5zUHUVz','master','14246080cqEipW'];_0x166d=function(){return _0x2a3db1;};return _0x166d();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x1b7b(_0x552b7f,_0x4f7cec){_0x552b7f=_0x552b7f-0x85;const _0x166d9c=_0x166d();let _0x1b7b1d=_0x166d9c[_0x552b7f];return _0x1b7b1d;}import{printBlock}from'./output.js';export async function disable(_0x3c1839){const _0x2e1856=_0x1b7b,_0x6fc958={'SmWid':function(_0x51196a,_0x5d06ff){return _0x51196a(_0x5d06ff);},'lEaZK':function(_0x1f1a28,_0xd7ac18){return _0x1f1a28!==_0xd7ac18;},'iTCtl':function(_0x59f80c,_0x5dfbb9){return _0x59f80c!==_0x5dfbb9;},'zvMMT':_0x2e1856(0x89),'uxSJM':function(_0x56afb8,_0x21a963){return _0x56afb8(_0x21a963);},'VUOmW':function(_0x4f763e,_0x4827ae){return _0x4f763e!==_0x4827ae;}},_0x24e16c=_0x3c1839||process['env'][_0x2e1856(0x92)]||'';_0x24e16c&&_0x6fc958[_0x2e1856(0x86)](disableSession,_0x24e16c);const _0x39a450=getCurrentBranch();_0x39a450&&_0x6fc958[_0x2e1856(0x8e)](_0x39a450,_0x2e1856(0x91))&&_0x6fc958['iTCtl'](_0x39a450,_0x6fc958['zvMMT'])&&_0x6fc958[_0x2e1856(0x86)](disableBranch,_0x39a450),_0x6fc958['uxSJM'](printBlock,_0x2e1856(0x8d)+(_0x39a450&&_0x39a450!=='main'&&_0x6fc958[_0x2e1856(0x8c)](_0x39a450,'master')?'\x20and\x20branch\x20\x27'+_0x39a450+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
@@ -1 +1 @@
1
- (function(_0x1d4c7c,_0x59320e){const _0x7b8d38=_0x3584,_0xb33c26=_0x1d4c7c();while(!![]){try{const _0x29f44f=parseInt(_0x7b8d38(0x164))/0x1+-parseInt(_0x7b8d38(0x167))/0x2+parseInt(_0x7b8d38(0x163))/0x3+-parseInt(_0x7b8d38(0x160))/0x4+parseInt(_0x7b8d38(0x15f))/0x5*(parseInt(_0x7b8d38(0x162))/0x6)+parseInt(_0x7b8d38(0x16a))/0x7+parseInt(_0x7b8d38(0x171))/0x8*(parseInt(_0x7b8d38(0x166))/0x9);if(_0x29f44f===_0x59320e)break;else _0xb33c26['push'](_0xb33c26['shift']());}catch(_0x39f87f){_0xb33c26['push'](_0xb33c26['shift']());}}}(_0x1133,0xbb33a));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3584(_0x5b6bd4,_0x34168a){_0x5b6bd4=_0x5b6bd4-0x15f;const _0x113359=_0x1133();let _0x35841c=_0x113359[_0x5b6bd4];return _0x35841c;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x1133(){const _0x64096d=['\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','master','dsscw','#\x20RANGER\x20ENABLED','nRFcH','\x0a\x0a**Branch\x20\x27','259816hkQxXu','ranger\x20setup','3280925jQjWsP','5538840hsXZIT','MMdsa','6smblIr','1257048KyHlaD','637604Qyjftv','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','99zXlbXb','282890sbuHQA','env','AGKeK','1560167WjxQju'];_0x1133=function(){return _0x64096d;};return _0x1133();}import{update}from'../update.js';export async function enable(_0x2e25a3){const _0xa7b9bd=_0x3584,_0x3b42db={'mRgxB':function(_0x4a599d,_0x5256fd){return _0x4a599d(_0x5256fd);},'AGKeK':function(_0x1fe8dc){return _0x1fe8dc();},'mmnli':_0xa7b9bd(0x172),'LZLEm':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','nRFcH':_0xa7b9bd(0x165),'MMdsa':function(_0x24eb5a){return _0x24eb5a();},'dsscw':_0xa7b9bd(0x16c)},_0x18c8e9=_0x2e25a3||process[_0xa7b9bd(0x168)]['CLAUDE_SESSION_ID']||'',_0x35674b=_0x3b42db['mRgxB'](Boolean,_0x2e25a3),_0x3f559c=await _0x3b42db[_0xa7b9bd(0x169)](getToken);if(!_0x3f559c){const _0x8b87ed=_0x35674b?'ranger\x20setup\x20--opencode':_0x3b42db['mmnli'],_0x28edaa=_0x35674b?_0x3b42db['LZLEm']:_0x3b42db[_0xa7b9bd(0x16f)];_0x3b42db['mRgxB'](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`'+_0x8b87ed+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x28edaa);return;}try{await _0x3b42db[_0xa7b9bd(0x161)](update);}catch{}_0x18c8e9&&enableSession(_0x18c8e9);const _0x501f37=_0x3b42db['AGKeK'](getCurrentBranch),_0x5ab975=_0x501f37&&_0x501f37!=='main'&&_0x501f37!==_0x3b42db[_0xa7b9bd(0x16d)]?_0xa7b9bd(0x170)+_0x501f37+_0xa7b9bd(0x16b):'',_0x3fbb47=getRangerSkillContent();printBlock(_0xa7b9bd(0x16e)+_0x5ab975+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x3fbb47+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
1
+ (function(_0x14bf1b,_0x33ff80){const _0x4b613b=_0x433b,_0x49ace6=_0x14bf1b();while(!![]){try{const _0x48d32c=parseInt(_0x4b613b(0x1b9))/0x1+-parseInt(_0x4b613b(0x1b2))/0x2+-parseInt(_0x4b613b(0x1ad))/0x3*(-parseInt(_0x4b613b(0x1a3))/0x4)+parseInt(_0x4b613b(0x1a4))/0x5+-parseInt(_0x4b613b(0x1ba))/0x6*(parseInt(_0x4b613b(0x1a6))/0x7)+-parseInt(_0x4b613b(0x1a8))/0x8+parseInt(_0x4b613b(0x1b1))/0x9;if(_0x48d32c===_0x33ff80)break;else _0x49ace6['push'](_0x49ace6['shift']());}catch(_0xfe27e7){_0x49ace6['push'](_0x49ace6['shift']());}}}(_0x5b18,0xb18ee));function _0x433b(_0x5b4f7a,_0xca33e2){_0x5b4f7a=_0x5b4f7a-0x1a3;const _0x5b18e9=_0x5b18();let _0x433b79=_0x5b18e9[_0x5b4f7a];return _0x433b79;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x5b18(){const _0x5a9025=['main','#\x20RANGER\x20ENABLED','#\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`','752302vkLTqt','7332AUEUqx','12IHJSem','5526370zwqQjE','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','7161bLPFyz','\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`.','3336600yhIlmq','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','EXIHn','ECLUv','120837MZmSmi','master','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','MiOLx','16562187iyHVKD','2848394WKLaVL','XkiOK','sUaCM','zAIZR'];_0x5b18=function(){return _0x5a9025;};return _0x5b18();}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x27184b){const _0x577037=_0x433b,_0x199054={'JvNIn':function(_0x19f811,_0x32bd16){return _0x19f811(_0x32bd16);},'zAIZR':'ranger\x20setup\x20--opencode','EXIHn':'ranger\x20setup','XkiOK':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','sUaCM':function(_0x659067){return _0x659067();},'MiOLx':_0x577037(0x1b6),'ECLUv':function(_0x4474dc,_0x56b499){return _0x4474dc!==_0x56b499;}},_0x2a2b59=_0x27184b||process['env']['CLAUDE_SESSION_ID']||'',_0x5866b8=_0x199054['JvNIn'](Boolean,_0x27184b),_0x402398=await getToken();if(!_0x402398){const _0x273ff9=_0x5866b8?_0x199054[_0x577037(0x1b5)]:_0x199054[_0x577037(0x1ab)],_0x1592fa=_0x5866b8?_0x577037(0x1a5):_0x199054[_0x577037(0x1b3)];printBlock(_0x577037(0x1b8)+_0x273ff9+_0x577037(0x1aa)+_0x1592fa);return;}try{await update();}catch{}_0x2a2b59&&enableSession(_0x2a2b59);const _0x1c9f65=_0x199054[_0x577037(0x1b4)](getCurrentBranch),_0x4291=_0x1c9f65&&_0x1c9f65!==_0x199054[_0x577037(0x1b0)]&&_0x199054[_0x577037(0x1ac)](_0x1c9f65,_0x577037(0x1ae))?'\x0a\x0a**Branch\x20\x27'+_0x1c9f65+_0x577037(0x1a9):'',_0x12f94b=getRangerSkillContent();printBlock(_0x577037(0x1b7)+_0x4291+_0x577037(0x1af)+_0x12f94b+_0x577037(0x1a7));}
@@ -1 +1 @@
1
- function _0x4f31(_0x28a8dd,_0x1f16a2){_0x28a8dd=_0x28a8dd-0x16f;const _0x1cc941=_0x1cc9();let _0x4f312d=_0x1cc941[_0x28a8dd];return _0x4f312d;}(function(_0x20038b,_0x2e3ea3){const _0x393de6=_0x4f31,_0x545fa3=_0x20038b();while(!![]){try{const _0xdc061b=parseInt(_0x393de6(0x172))/0x1*(parseInt(_0x393de6(0x170))/0x2)+parseInt(_0x393de6(0x16f))/0x3*(parseInt(_0x393de6(0x177))/0x4)+-parseInt(_0x393de6(0x174))/0x5+-parseInt(_0x393de6(0x171))/0x6+-parseInt(_0x393de6(0x176))/0x7*(parseInt(_0x393de6(0x175))/0x8)+parseInt(_0x393de6(0x178))/0x9+parseInt(_0x393de6(0x179))/0xa;if(_0xdc061b===_0x2e3ea3)break;else _0x545fa3['push'](_0x545fa3['shift']());}catch(_0x1bc4a3){_0x545fa3['push'](_0x545fa3['shift']());}}}(_0x1cc9,0x26522));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1cc9(){const _0x41d7ca=['128NemLZf','105721HhzySJ','31400JuSPkH','889146zHWrGO','2334900nMowOy','39fMYqsy','2MxCSFQ','937050CeblDz','150677aODzpj','===\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===','151130RHBFZw'];_0x1cc9=function(){return _0x41d7ca;};return _0x1cc9();}export async function exitPlanMode(_0x4ae03d){const _0x4d669c=_0x4f31,_0x3ca068={'RqSRX':function(_0x19c18d,_0x223f8a){return _0x19c18d(_0x223f8a);}},_0xd72631=await _0x3ca068['RqSRX'](getEnabledSessionId,_0x4ae03d);if(!_0xd72631)return;printBlock(_0x4d669c(0x173));}
1
+ function _0x362a(_0x23504b,_0x3ad814){_0x23504b=_0x23504b-0x1dd;const _0x293904=_0x2939();let _0x362a7f=_0x293904[_0x23504b];return _0x362a7f;}function _0x2939(){const _0x2ab7f7=['1485400NQIhaE','1317zePgsf','smkZm','761352zMfCZn','660709cylXFx','339853kKQyCM','1322isBwSP','90441ZApjjZ','18LrRoRA','323995lJXxpW','410xFXAUk'];_0x2939=function(){return _0x2ab7f7;};return _0x2939();}(function(_0x2ca50d,_0x2f88cc){const _0x20858b=_0x362a,_0x3f4a68=_0x2ca50d();while(!![]){try{const _0x256c54=-parseInt(_0x20858b(0x1df))/0x1+parseInt(_0x20858b(0x1e0))/0x2*(parseInt(_0x20858b(0x1e6))/0x3)+-parseInt(_0x20858b(0x1dd))/0x4+-parseInt(_0x20858b(0x1e3))/0x5+-parseInt(_0x20858b(0x1e2))/0x6*(-parseInt(_0x20858b(0x1de))/0x7)+-parseInt(_0x20858b(0x1e5))/0x8+-parseInt(_0x20858b(0x1e1))/0x9*(-parseInt(_0x20858b(0x1e4))/0xa);if(_0x256c54===_0x2f88cc)break;else _0x3f4a68['push'](_0x3f4a68['shift']());}catch(_0xbbc007){_0x3f4a68['push'](_0x3f4a68['shift']());}}}(_0x2939,0x31f8c));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x3cb0fc){const _0x32f1fa=_0x362a,_0xeee9b0={'smkZm':function(_0x521901,_0x508932){return _0x521901(_0x508932);}},_0x281f05=await _0xeee9b0[_0x32f1fa(0x1e7)](getEnabledSessionId,_0x3cb0fc);if(!_0x281f05)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(_0x1fe381,_0x55c414){var _0x5cd691=_0x2a7f,_0xa454af=_0x1fe381();while(!![]){try{var _0x382398=parseInt(_0x5cd691(0x1c5))/0x1+-parseInt(_0x5cd691(0x1c8))/0x2+parseInt(_0x5cd691(0x1c3))/0x3+-parseInt(_0x5cd691(0x1c1))/0x4*(-parseInt(_0x5cd691(0x1c6))/0x5)+-parseInt(_0x5cd691(0x1c7))/0x6+-parseInt(_0x5cd691(0x1c9))/0x7+parseInt(_0x5cd691(0x1c4))/0x8*(parseInt(_0x5cd691(0x1c2))/0x9);if(_0x382398===_0x55c414)break;else _0xa454af['push'](_0xa454af['shift']());}catch(_0x4f436d){_0xa454af['push'](_0xa454af['shift']());}}}(_0x2b9d,0xcbeab));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x2b9d(){var _0x20c83b=['8680749zgSIhL','4oHbYMg','11004948tJggnU','2185644VIgYYa','16PUwHji','315448GNKwBb','5611090izIeBq','7050558ifngyb','2722630nXFDcr'];_0x2b9d=function(){return _0x20c83b;};return _0x2b9d();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';function _0x2a7f(_0x522386,_0x4dc739){_0x522386=_0x522386-0x1c1;var _0x2b9d90=_0x2b9d();var _0x2a7f6b=_0x2b9d90[_0x522386];return _0x2a7f6b;}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x1fbb85,_0x5e9c59){var _0x4c4a80=_0x32e3,_0x38877b=_0x1fbb85();while(!![]){try{var _0x54cc81=parseInt(_0x4c4a80(0x1c2))/0x1+parseInt(_0x4c4a80(0x1c8))/0x2*(-parseInt(_0x4c4a80(0x1c0))/0x3)+-parseInt(_0x4c4a80(0x1c6))/0x4*(parseInt(_0x4c4a80(0x1c3))/0x5)+-parseInt(_0x4c4a80(0x1c7))/0x6+parseInt(_0x4c4a80(0x1bf))/0x7+parseInt(_0x4c4a80(0x1c5))/0x8*(-parseInt(_0x4c4a80(0x1c4))/0x9)+parseInt(_0x4c4a80(0x1c1))/0xa;if(_0x54cc81===_0x5e9c59)break;else _0x38877b['push'](_0x38877b['shift']());}catch(_0x18606f){_0x38877b['push'](_0x38877b['shift']());}}}(_0x5bba,0x4e758));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5bba(){var _0x5885b0=['44dWSvHw','559410UopmPw','538562AqdIuM','1921927qogjGD','3fQaaKe','7511900qrgFFy','76230iZOrZc','33190kRQyBl','3105711WFHtEr','8UpBqBE'];_0x5bba=function(){return _0x5885b0;};return _0x5bba();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0x32e3(_0x39e156,_0x2916ea){_0x39e156=_0x39e156-0x1bf;var _0x5bbad3=_0x5bba();var _0x32e3c7=_0x5bbad3[_0x39e156];return _0x32e3c7;}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x151664,_0x205acb){const _0x142a87=_0x10b8,_0x4295a8=_0x151664();while(!![]){try{const _0x345a7d=parseInt(_0x142a87(0xa8))/0x1*(-parseInt(_0x142a87(0xb0))/0x2)+-parseInt(_0x142a87(0xa3))/0x3*(-parseInt(_0x142a87(0xac))/0x4)+-parseInt(_0x142a87(0xb1))/0x5*(parseInt(_0x142a87(0xae))/0x6)+-parseInt(_0x142a87(0xa9))/0x7*(parseInt(_0x142a87(0xa6))/0x8)+parseInt(_0x142a87(0xa4))/0x9+parseInt(_0x142a87(0xa5))/0xa*(-parseInt(_0x142a87(0xa2))/0xb)+-parseInt(_0x142a87(0xad))/0xc*(-parseInt(_0x142a87(0xab))/0xd);if(_0x345a7d===_0x205acb)break;else _0x4295a8['push'](_0x4295a8['shift']());}catch(_0x5da3ca){_0x4295a8['push'](_0x4295a8['shift']());}}}(_0x5e17,0x8c353));function _0x10b8(_0x267e2c,_0x375f50){_0x267e2c=_0x267e2c-0xa2;const _0x5e17ec=_0x5e17();let _0x10b8ed=_0x5e17ec[_0x267e2c];return _0x10b8ed;}function _0x5e17(){const _0x976779=['39COJDaD','9932724nScCnk','10BOxkpg','848SDbBPg','CHcoC','18779RTcZhq','51443zNLxKq','session_id','52rsRCdo','242108cGlYxU','1204188JWblPH','108fYMRFi','HwRnw','2RlohCS','137510AdThPJ','parse','stdin','4672613WNylDc'];_0x5e17=function(){return _0x976779;};return _0x5e17();}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0xb65b49){console['log'](_0xb65b49);}export async function readHookInput(){const _0x48ebad=_0x10b8;let _0x1f82ca='';for await(const _0xb27194 of process[_0x48ebad(0xb3)]){_0x1f82ca+=_0xb27194;}try{return JSON[_0x48ebad(0xb2)](_0x1f82ca);}catch{return null;}}export async function getEnabledSessionId(_0x31c716){const _0xfb3291=_0x10b8,_0x49b697={'CHcoC':function(_0x17e4f7,_0x569d5d){return _0x17e4f7(_0x569d5d);}};if(_0x31c716)return _0x49b697['CHcoC'](isSessionEnabled,_0x31c716)?_0x31c716:null;const _0x384d07=await readHookInput(),_0x588f08=_0x384d07?.[_0xfb3291(0xaa)];if(!_0x588f08||!_0x49b697[_0xfb3291(0xa7)](isSessionEnabled,_0x588f08))return null;return _0x588f08;}export async function getEnabledHookContext(_0x330fe8){const _0x2bda56=_0x10b8,_0x58f49e={'HwRnw':function(_0x363877,_0x573566){return _0x363877(_0x573566);}};if(_0x330fe8){if(!isSessionEnabled(_0x330fe8))return null;return{'sessionId':_0x330fe8,'input':{'session_id':_0x330fe8}};}const _0x4f90ff=await readHookInput(),_0xe14c58=_0x4f90ff?.['session_id'];if(!_0xe14c58||!_0x58f49e[_0x2bda56(0xaf)](isSessionEnabled,_0xe14c58))return null;return{'sessionId':_0xe14c58,'input':_0x4f90ff};}
1
+ (function(_0x586dda,_0x4c827d){const _0x4c02a6=_0x14fd,_0x2cc7e7=_0x586dda();while(!![]){try{const _0x3ab94c=-parseInt(_0x4c02a6(0x190))/0x1+-parseInt(_0x4c02a6(0x19a))/0x2+parseInt(_0x4c02a6(0x198))/0x3*(parseInt(_0x4c02a6(0x195))/0x4)+parseInt(_0x4c02a6(0x191))/0x5+-parseInt(_0x4c02a6(0x194))/0x6+-parseInt(_0x4c02a6(0x193))/0x7+-parseInt(_0x4c02a6(0x18e))/0x8*(-parseInt(_0x4c02a6(0x18f))/0x9);if(_0x3ab94c===_0x4c827d)break;else _0x2cc7e7['push'](_0x2cc7e7['shift']());}catch(_0x383313){_0x2cc7e7['push'](_0x2cc7e7['shift']());}}}(_0x41b9,0x7c211));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x437b34){const _0x26f411=_0x14fd;console[_0x26f411(0x18d)](_0x437b34);}function _0x41b9(){const _0x732299=['PyAnN','9kEUYuh','parse','257940pxqwjB','log','14126408TMOPNg','9ZWjtIS','257772bfDGSm','414835EZuVYZ','stdin','3231340iWWfkR','4320882WdUybT','304232mJGnZz','session_id'];_0x41b9=function(){return _0x732299;};return _0x41b9();}export async function readHookInput(){const _0x12e72a=_0x14fd;let _0x5d17b7='';for await(const _0x4fc0f4 of process[_0x12e72a(0x192)]){_0x5d17b7+=_0x4fc0f4;}try{return JSON[_0x12e72a(0x199)](_0x5d17b7);}catch{return null;}}export async function getEnabledSessionId(_0x1abecb){const _0x4248f8=_0x14fd,_0x5954e6={'PyAnN':function(_0x441923){return _0x441923();}};if(_0x1abecb)return isSessionEnabled(_0x1abecb)?_0x1abecb:null;const _0x1ec938=await _0x5954e6[_0x4248f8(0x197)](readHookInput),_0x4d54e4=_0x1ec938?.[_0x4248f8(0x196)];if(!_0x4d54e4||!isSessionEnabled(_0x4d54e4))return null;return _0x4d54e4;}function _0x14fd(_0x3f8172,_0x2ba49f){_0x3f8172=_0x3f8172-0x18d;const _0x41b939=_0x41b9();let _0x14fdf1=_0x41b939[_0x3f8172];return _0x14fdf1;}export async function getEnabledHookContext(_0x156cec){const _0x5cc33f=_0x14fd;if(_0x156cec){if(!isSessionEnabled(_0x156cec))return null;return{'sessionId':_0x156cec,'input':{'session_id':_0x156cec}};}const _0x3751d6=await readHookInput(),_0x5b3989=_0x3751d6?.[_0x5cc33f(0x196)];if(!_0x5b3989||!isSessionEnabled(_0x5b3989))return null;return{'sessionId':_0x5b3989,'input':_0x3751d6};}
@@ -1 +1 @@
1
- function _0x51d8(){const _0x1010af=['2007212oZFcge','input','1835DWRgmT','890296qkZjMM','5380WQHIzi','161559VuKsll','1450wLqvoG','1457327zLNdVW','4910994qofnRm','581tIRUmN','plan','UAyAh','HMNJe','8718CSqDhv'];_0x51d8=function(){return _0x1010af;};return _0x51d8();}function _0x3e19(_0x47ebbd,_0x46fba0){_0x47ebbd=_0x47ebbd-0x143;const _0x51d87=_0x51d8();let _0x3e19a3=_0x51d87[_0x47ebbd];return _0x3e19a3;}(function(_0x143c71,_0x4d28c9){const _0x5b8360=_0x3e19,_0x50af71=_0x143c71();while(!![]){try{const _0x1f065c=parseInt(_0x5b8360(0x144))/0x1+-parseInt(_0x5b8360(0x14b))/0x2+-parseInt(_0x5b8360(0x145))/0x3+-parseInt(_0x5b8360(0x14f))/0x4*(parseInt(_0x5b8360(0x14d))/0x5)+-parseInt(_0x5b8360(0x14a))/0x6*(-parseInt(_0x5b8360(0x146))/0x7)+-parseInt(_0x5b8360(0x14e))/0x8+-parseInt(_0x5b8360(0x150))/0x9*(-parseInt(_0x5b8360(0x143))/0xa);if(_0x1f065c===_0x4d28c9)break;else _0x50af71['push'](_0x50af71['shift']());}catch(_0x4e0cdd){_0x50af71['push'](_0x50af71['shift']());}}}(_0x51d8,0xe4593));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x11d9e6){const _0x27dd5b=_0x3e19,_0x57ae69={'UAyAh':function(_0x1d1b20,_0x367b9f){return _0x1d1b20!==_0x367b9f;},'HMNJe':function(_0x316f34,_0x41a8d2){return _0x316f34(_0x41a8d2);}},_0x187cd8=await getEnabledHookContext(_0x11d9e6);if(!_0x187cd8)return;if(_0x57ae69[_0x27dd5b(0x148)](_0x187cd8[_0x27dd5b(0x14c)]['permission_mode'],_0x27dd5b(0x147)))return;if(!shouldShowPlanReminder(_0x187cd8['sessionId']))return;_0x57ae69[_0x27dd5b(0x149)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x5f1567,_0x119b5a){const _0x16e4fb=_0x139c,_0x3c007c=_0x5f1567();while(!![]){try{const _0x5457fd=-parseInt(_0x16e4fb(0x1fa))/0x1*(parseInt(_0x16e4fb(0x1f3))/0x2)+-parseInt(_0x16e4fb(0x1f6))/0x3+parseInt(_0x16e4fb(0x1f5))/0x4+parseInt(_0x16e4fb(0x1f1))/0x5+-parseInt(_0x16e4fb(0x1f4))/0x6+-parseInt(_0x16e4fb(0x1fc))/0x7+-parseInt(_0x16e4fb(0x1f7))/0x8*(-parseInt(_0x16e4fb(0x1fd))/0x9);if(_0x5457fd===_0x119b5a)break;else _0x3c007c['push'](_0x3c007c['shift']());}catch(_0x5095cb){_0x3c007c['push'](_0x3c007c['shift']());}}}(_0x3365,0x8f31c));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x139c(_0x32e430,_0x37676d){_0x32e430=_0x32e430-0x1f1;const _0x336579=_0x3365();let _0x139c2a=_0x336579[_0x32e430];return _0x139c2a;}export async function planReminder(_0x4fa00d){const _0x4035d1=_0x139c,_0x52ecf5={'rLitv':function(_0x200a45,_0xc057df){return _0x200a45(_0xc057df);}},_0xd57813=await getEnabledHookContext(_0x4fa00d);if(!_0xd57813)return;if(_0xd57813[_0x4035d1(0x1f9)][_0x4035d1(0x1fb)]!==_0x4035d1(0x1f8))return;if(!_0x52ecf5['rLitv'](shouldShowPlanReminder,_0xd57813[_0x4035d1(0x1f2)]))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 _0x3365(){const _0x457730=['5599363coDnYY','3114qQoTUI','5175875ZBHerp','sessionId','1826050bbULLe','351768PXtcYo','1229568gKbUWk','755637pdcYDu','29304gLCdqf','plan','input','1fqXRvT','permission_mode'];_0x3365=function(){return _0x457730;};return _0x3365();}
@@ -1 +1 @@
1
- (function(_0x5f16c9,_0x29a970){const _0xdf5c3=_0x313e,_0x20e101=_0x5f16c9();while(!![]){try{const _0x43f262=parseInt(_0xdf5c3(0x115))/0x1*(-parseInt(_0xdf5c3(0x114))/0x2)+parseInt(_0xdf5c3(0x112))/0x3+-parseInt(_0xdf5c3(0x10e))/0x4+parseInt(_0xdf5c3(0x10d))/0x5+parseInt(_0xdf5c3(0x10f))/0x6+parseInt(_0xdf5c3(0x111))/0x7+parseInt(_0xdf5c3(0x110))/0x8;if(_0x43f262===_0x29a970)break;else _0x20e101['push'](_0x20e101['shift']());}catch(_0x19f01d){_0x20e101['push'](_0x20e101['shift']());}}}(_0x4263,0xd40c4));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4abcc1){const _0x5c747d=_0x313e,_0x5f5cfe={'xMdbC':function(_0x1baaf9,_0xdbfead){return _0x1baaf9(_0xdbfead);}},_0x25220b=await getEnabledSessionId(_0x4abcc1);if(!_0x25220b)return;_0x5f5cfe[_0x5c747d(0x10c)](printBlock,_0x5c747d(0x113));}function _0x313e(_0x5ad3ba,_0x2671d1){_0x5ad3ba=_0x5ad3ba-0x10c;const _0x426340=_0x4263();let _0x313ef8=_0x426340[_0x5ad3ba];return _0x313ef8;}function _0x4263(){const _0xb53a2d=['4745728sMhDyR','6731466vBSRTU','1761992oDzzvL','524447aZkaCu','1770330bdchzI','===\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===','2zFHFcO','271021xVHBQF','xMdbC','1594050AqhLft'];_0x4263=function(){return _0xb53a2d;};return _0x4263();}
1
+ function _0x4ff3(_0x73dc2a,_0x53e493){_0x73dc2a=_0x73dc2a-0x1ae;const _0x1e6849=_0x1e68();let _0x4ff3e2=_0x1e6849[_0x73dc2a];return _0x4ff3e2;}(function(_0x1809f3,_0xc68e3a){const _0x334f11=_0x4ff3,_0x4c864c=_0x1809f3();while(!![]){try{const _0x4cf6bb=-parseInt(_0x334f11(0x1b4))/0x1+parseInt(_0x334f11(0x1b5))/0x2*(-parseInt(_0x334f11(0x1b0))/0x3)+-parseInt(_0x334f11(0x1b8))/0x4+-parseInt(_0x334f11(0x1ae))/0x5+-parseInt(_0x334f11(0x1b6))/0x6*(-parseInt(_0x334f11(0x1b7))/0x7)+parseInt(_0x334f11(0x1b2))/0x8+-parseInt(_0x334f11(0x1b3))/0x9*(-parseInt(_0x334f11(0x1af))/0xa);if(_0x4cf6bb===_0xc68e3a)break;else _0x4c864c['push'](_0x4c864c['shift']());}catch(_0x1ddd5a){_0x4c864c['push'](_0x4c864c['shift']());}}}(_0x1e68,0x8ea41));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1e68(){const _0x5e2cf6=['13960vUkxhO','9XpPhEU','LvpSl','7292752ZZWoAB','7020FTaUUN','541642yKZVzw','559898ZKDxDC','6gpjEqq','6909616BdEjvN','2995088NJAzLz','1365220bDTwEu'];_0x1e68=function(){return _0x5e2cf6;};return _0x1e68();}export async function planStart(_0x58720c){const _0x1b5772=_0x4ff3,_0x57ba36={'LvpSl':function(_0x335494,_0x26aeb8){return _0x335494(_0x26aeb8);}},_0x39adb0=await _0x57ba36[_0x1b5772(0x1b1)](getEnabledSessionId,_0x58720c);if(!_0x39adb0)return;_0x57ba36['LvpSl'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x52a7a2,_0x4b8886){const _0x35496f=_0x3981,_0x1f1efb=_0x52a7a2();while(!![]){try{const _0x3b9126=-parseInt(_0x35496f(0xe6))/0x1+parseInt(_0x35496f(0xed))/0x2*(-parseInt(_0x35496f(0xe2))/0x3)+parseInt(_0x35496f(0xdd))/0x4*(-parseInt(_0x35496f(0xec))/0x5)+parseInt(_0x35496f(0xe8))/0x6+-parseInt(_0x35496f(0xe0))/0x7+-parseInt(_0x35496f(0xe7))/0x8*(parseInt(_0x35496f(0xdf))/0x9)+-parseInt(_0x35496f(0xeb))/0xa*(-parseInt(_0x35496f(0xe3))/0xb);if(_0x3b9126===_0x4b8886)break;else _0x1f1efb['push'](_0x1f1efb['shift']());}catch(_0xaf41e6){_0x1f1efb['push'](_0x1f1efb['shift']());}}}(_0x27f4,0xa1638));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x3981(_0x11cd5b,_0x114484){_0x11cd5b=_0x11cd5b-0xdd;const _0x27f400=_0x27f4();let _0x3981a2=_0x27f400[_0x11cd5b];return _0x3981a2;}import{getToken}from'../utils/keychain.js';function _0x27f4(){const _0x35f385=['321515QwROdA','4SNVKmW','32YojrMC','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.','165357VFGcOG','2970457lpkTfS','stringify','209892JqJUXr','5126wBVgFk','PostToolUse','ipWiq','137039ZimRTk','568KmUCKS','4498110HeDCSm','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).','YLUzb','52180WsllQo'];_0x27f4=function(){return _0x35f385;};return _0x27f4();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x753539){const _0x485650=_0x3981,_0x28bfe1={'ipWiq':function(_0x3dde2e,_0x4e23fd){return _0x3dde2e(_0x4e23fd);},'YLUzb':_0x485650(0xe4)},_0x1e8f73=await _0x28bfe1['ipWiq'](getEnabledSessionId,_0x753539);if(!_0x1e8f73)return;updateBranchTracking(_0x1e8f73);const _0x3066ea=await getToken();if(!_0x3066ea)return;const _0x14cfff=_0x28bfe1[_0x485650(0xe5)](getSessionEntry,_0x1e8f73);if(_0x14cfff){const _0x386ecc={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x485650(0xe9)}};console['log'](JSON[_0x485650(0xe1)](_0x386ecc));return;}const _0x599124={'hookSpecificOutput':{'hookEventName':_0x28bfe1[_0x485650(0xea)],'additionalContext':_0x485650(0xde)}};console['log'](JSON['stringify'](_0x599124));}
1
+ function _0xc6cc(_0x6f4fdc,_0x412614){_0x6f4fdc=_0x6f4fdc-0x1e0;const _0x14266c=_0x1426();let _0xc6cca5=_0x14266c[_0x6f4fdc];return _0xc6cca5;}(function(_0x55cfcc,_0xa8df3d){const _0x567d6d=_0xc6cc,_0x6e50c5=_0x55cfcc();while(!![]){try{const _0x84e924=-parseInt(_0x567d6d(0x1e5))/0x1+-parseInt(_0x567d6d(0x1ee))/0x2*(-parseInt(_0x567d6d(0x1ea))/0x3)+parseInt(_0x567d6d(0x1e8))/0x4*(parseInt(_0x567d6d(0x1e1))/0x5)+-parseInt(_0x567d6d(0x1e6))/0x6+parseInt(_0x567d6d(0x1e3))/0x7*(parseInt(_0x567d6d(0x1e2))/0x8)+parseInt(_0x567d6d(0x1e0))/0x9*(parseInt(_0x567d6d(0x1ed))/0xa)+-parseInt(_0x567d6d(0x1ec))/0xb;if(_0x84e924===_0xa8df3d)break;else _0x6e50c5['push'](_0x6e50c5['shift']());}catch(_0x202af2){_0x6e50c5['push'](_0x6e50c5['shift']());}}}(_0x1426,0x632c2));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x1426(){const _0x25cb05=['73740qQsokh','IJWMR','883040DUUrKW','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).','463704zShwNG','stringify','2745864jOIUnx','1783240xbMkCw','2kLdttj','AyXbk','9gBHiWK','15MDAoAz','20144EuGzWY','889JCUJeQ','log','646834OwftoE'];_0x1426=function(){return _0x25cb05;};return _0x1426();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x23af56){const _0x97b151=_0xc6cc,_0x26f20b={'UONGZ':function(_0x22b29a,_0x14e160){return _0x22b29a(_0x14e160);},'AyXbk':function(_0x23ec63,_0x1a2e01){return _0x23ec63(_0x1a2e01);},'IJWMR':'PostToolUse'},_0x1fd806=await _0x26f20b['UONGZ'](getEnabledSessionId,_0x23af56);if(!_0x1fd806)return;_0x26f20b[_0x97b151(0x1ef)](updateBranchTracking,_0x1fd806);const _0x34ed3a=await getToken();if(!_0x34ed3a)return;const _0x9c4be5=getSessionEntry(_0x1fd806);if(_0x9c4be5){const _0x59c2a6={'hookSpecificOutput':{'hookEventName':_0x26f20b[_0x97b151(0x1e7)],'additionalContext':_0x97b151(0x1e9)}};console[_0x97b151(0x1e4)](JSON[_0x97b151(0x1eb)](_0x59c2a6));return;}const _0x25bdd1={'hookSpecificOutput':{'hookEventName':_0x26f20b['IJWMR'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x25bdd1));}
@@ -1 +1 @@
1
- (function(_0x2ee681,_0x44f312){const _0x17ff5c=_0x2d82,_0x46b21f=_0x2ee681();while(!![]){try{const _0x150602=-parseInt(_0x17ff5c(0x143))/0x1*(parseInt(_0x17ff5c(0x144))/0x2)+parseInt(_0x17ff5c(0x145))/0x3+parseInt(_0x17ff5c(0x149))/0x4+-parseInt(_0x17ff5c(0x142))/0x5+-parseInt(_0x17ff5c(0x148))/0x6+parseInt(_0x17ff5c(0x141))/0x7*(parseInt(_0x17ff5c(0x146))/0x8)+-parseInt(_0x17ff5c(0x14a))/0x9*(-parseInt(_0x17ff5c(0x147))/0xa);if(_0x150602===_0x44f312)break;else _0x46b21f['push'](_0x46b21f['shift']());}catch(_0x340bf1){_0x46b21f['push'](_0x46b21f['shift']());}}}(_0x2660,0xe1323));import{getToken}from'../utils/keychain.js';function _0x2660(){const _0x594403=['260358EkyQck','8MkwvXH','301910irHdSW','3109470cjNEvK','6426416FoGkLL','207ttKaJr','KcFuE','10381749UVPOoI','3660925bVVvMb','1698057AMdrSV','2DVLdgG'];_0x2660=function(){return _0x594403;};return _0x2660();}function _0x2d82(_0x51e655,_0x911a17){_0x51e655=_0x51e655-0x140;const _0x2660a0=_0x2660();let _0x2d82bc=_0x2660a0[_0x51e655];return _0x2d82bc;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x27ec53){const _0x5388d6=_0x2d82,_0x28ceae={'dNpFg':function(_0x5306ac,_0x3cfe1e){return _0x5306ac(_0x3cfe1e);},'KcFuE':function(_0x3c0441,_0x23c783){return _0x3c0441(_0x23c783);}},_0xc0b9dc=await _0x28ceae['dNpFg'](getEnabledSessionId,_0x27ec53);if(!_0xc0b9dc)return;try{const _0x28be1e=await getToken();if(!_0x28be1e)return;_0x28ceae[_0x5388d6(0x140)](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
+ (function(_0x2d5a91,_0x3fcf8f){const _0x207d60=_0x5670,_0x2f4400=_0x2d5a91();while(!![]){try{const _0x1af59b=parseInt(_0x207d60(0x101))/0x1+parseInt(_0x207d60(0xfa))/0x2*(parseInt(_0x207d60(0x100))/0x3)+-parseInt(_0x207d60(0x102))/0x4*(parseInt(_0x207d60(0xff))/0x5)+-parseInt(_0x207d60(0xfc))/0x6+-parseInt(_0x207d60(0xf9))/0x7+parseInt(_0x207d60(0x103))/0x8*(parseInt(_0x207d60(0xfb))/0x9)+parseInt(_0x207d60(0xfd))/0xa*(parseInt(_0x207d60(0xfe))/0xb);if(_0x1af59b===_0x3fcf8f)break;else _0x2f4400['push'](_0x2f4400['shift']());}catch(_0x33196f){_0x2f4400['push'](_0x2f4400['shift']());}}}(_0x3d7d,0xa4be6));import{getToken}from'../utils/keychain.js';function _0x3d7d(){const _0x263a3f=['90hnCCAd','6844050jHNXLg','3151180iCRtro','55WhDVnQ','30lSMbbc','430293wxFxZZ','8178NzjEHw','452524cpdIoO','554072biYmnu','2490817NkHdSe','8wrDjqt'];_0x3d7d=function(){return _0x263a3f;};return _0x3d7d();}function _0x5670(_0x5a847b,_0x3cbdec){_0x5a847b=_0x5a847b-0xf9;const _0x3d7d6a=_0x3d7d();let _0x567088=_0x3d7d6a[_0x5a847b];return _0x567088;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x54a1e4){const _0x33e848={'DbtNn':function(_0x546951){return _0x546951();}},_0x4def74=await getEnabledSessionId(_0x54a1e4);if(!_0x4def74)return;try{const _0x3abfe6=await _0x33e848['DbtNn'](getToken);if(!_0x3abfe6)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(_0x2ef954,_0x40719f){const _0x106829=_0x2a9c,_0x3a5c4c=_0x2ef954();while(!![]){try{const _0x173c54=parseInt(_0x106829(0x124))/0x1*(parseInt(_0x106829(0x129))/0x2)+parseInt(_0x106829(0x125))/0x3*(parseInt(_0x106829(0x128))/0x4)+-parseInt(_0x106829(0x12f))/0x5*(-parseInt(_0x106829(0x12a))/0x6)+-parseInt(_0x106829(0x12b))/0x7*(parseInt(_0x106829(0x12d))/0x8)+parseInt(_0x106829(0x127))/0x9*(-parseInt(_0x106829(0x130))/0xa)+parseInt(_0x106829(0x12c))/0xb+-parseInt(_0x106829(0x12e))/0xc*(parseInt(_0x106829(0x126))/0xd);if(_0x173c54===_0x40719f)break;else _0x3a5c4c['push'](_0x3a5c4c['shift']());}catch(_0x5cff17){_0x3a5c4c['push'](_0x3a5c4c['shift']());}}}(_0x3099,0x63a79));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x2a9c(_0x2d4e19,_0xba654e){_0x2d4e19=_0x2d4e19-0x124;const _0x30992b=_0x3099();let _0x2a9c02=_0x30992b[_0x2d4e19];return _0x2a9c02;}import{readHookInput}from'./output.js';function _0x3099(){const _0x42b5ca=['51536kVcOeq','1548vFpjzT','1690265PbjJxZ','2110eFbTzy','326546KUtaDn','4041iklfKU','86151bPyCgA','15597btxjXg','596oyPQcv','2Svjmvw','12jgIGxZ','70qjtwjt','5387756DciEwf'];_0x3099=function(){return _0x42b5ca;};return _0x3099();}export async function sessionEnd(_0x3dad82){let _0x53783f=_0x3dad82,_0x12d38f;if(!_0x3dad82){const _0x356288=await readHookInput();_0x53783f=_0x356288?.['session_id'],_0x12d38f=_0x356288?.['reason'];}if(!_0x53783f)return;_0x12d38f==='clear'&&recordEnabledSessionCleared(_0x53783f);}
1
+ (function(_0x344ec8,_0x2f1d5e){const _0xa85b81=_0x3525,_0xe543fc=_0x344ec8();while(!![]){try{const _0x3caf8b=-parseInt(_0xa85b81(0x90))/0x1+parseInt(_0xa85b81(0x91))/0x2*(-parseInt(_0xa85b81(0x95))/0x3)+parseInt(_0xa85b81(0x8a))/0x4*(parseInt(_0xa85b81(0x93))/0x5)+-parseInt(_0xa85b81(0x8f))/0x6*(-parseInt(_0xa85b81(0x8c))/0x7)+parseInt(_0xa85b81(0x8b))/0x8+parseInt(_0xa85b81(0x8d))/0x9*(-parseInt(_0xa85b81(0x92))/0xa)+parseInt(_0xa85b81(0x94))/0xb;if(_0x3caf8b===_0x2f1d5e)break;else _0xe543fc['push'](_0xe543fc['shift']());}catch(_0x376bc3){_0xe543fc['push'](_0xe543fc['shift']());}}}(_0x5b84,0xbc132));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x5b84(){const _0x42bb53=['18788lzHRRn','4218282joLlmL','reason','1146KkOsxC','251877hwhxfi','20BafbDw','10FnHFZi','2457845kztKGj','8204944BzPEqB','267234WKVSyJ','4RLaulG','5052736iarMoO'];_0x5b84=function(){return _0x42bb53;};return _0x5b84();}import{readHookInput}from'./output.js';function _0x3525(_0x269094,_0x57a7bb){_0x269094=_0x269094-0x8a;const _0x5b8480=_0x5b84();let _0x3525c8=_0x5b8480[_0x269094];return _0x3525c8;}export async function sessionEnd(_0x4b08d4){const _0x59a4fd=_0x3525,_0x8733f7={'QoFzK':function(_0x51f01c,_0x2d4b6b){return _0x51f01c(_0x2d4b6b);}};let _0x49f074=_0x4b08d4,_0x5ae126;if(!_0x4b08d4){const _0x11b32c=await readHookInput();_0x49f074=_0x11b32c?.['session_id'],_0x5ae126=_0x11b32c?.[_0x59a4fd(0x8e)];}if(!_0x49f074)return;_0x5ae126==='clear'&&_0x8733f7['QoFzK'](recordEnabledSessionCleared,_0x49f074);}
@@ -1 +1 @@
1
- (function(_0x42e275,_0x1b1517){const _0x3ab132=_0x3781,_0x4d436b=_0x42e275();while(!![]){try{const _0x1938cc=-parseInt(_0x3ab132(0x166))/0x1+parseInt(_0x3ab132(0x170))/0x2*(-parseInt(_0x3ab132(0x176))/0x3)+parseInt(_0x3ab132(0x175))/0x4+-parseInt(_0x3ab132(0x164))/0x5*(parseInt(_0x3ab132(0x168))/0x6)+-parseInt(_0x3ab132(0x16d))/0x7+-parseInt(_0x3ab132(0x171))/0x8+parseInt(_0x3ab132(0x174))/0x9;if(_0x1938cc===_0x1b1517)break;else _0x4d436b['push'](_0x4d436b['shift']());}catch(_0x5ac924){_0x4d436b['push'](_0x4d436b['shift']());}}}(_0x3afc,0x77342));import{appendFile}from'fs/promises';function _0x3781(_0x2a36c5,_0x3f3538){_0x2a36c5=_0x2a36c5-0x164;const _0x3afc3e=_0x3afc();let _0x3781cf=_0x3afc3e[_0x2a36c5];return _0x3781cf;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x3afc(){const _0x2279a6=['564482wBRxgv','6423136eaFKVL','stringify','env','25702425FUTPEB','2654920FfEMjf','6eCFDyi','YrOuJ','GaSEn','fVfIk','hook:session-start','5KlQAEY','main','760573NULdPR','source','3296922sFUlnr','trackCommandEnd','session_id','\x20(Branch:\x20','tnsXV','2477041iEZnxH','SessionStart','log'];_0x3afc=function(){return _0x2279a6;};return _0x3afc();}const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x158ae2){const _0x253516=_0x3781,_0x12dad4={'GaSEn':function(_0x4d9700,_0x4b2892){return _0x4d9700||_0x4b2892;},'tnsXV':_0x253516(0x167),'ruMFw':function(_0x22e690,_0x1c99cb,_0x10672c){return _0x22e690(_0x1c99cb,_0x10672c);},'YrOuJ':function(_0xc258c6,_0x53ea1f){return _0xc258c6(_0x53ea1f);},'vfjmn':_0x253516(0x17a),'vEujU':function(_0x515d6a,_0x1b8030){return _0x515d6a!==_0x1b8030;},'ADCIF':_0x253516(0x16e),'fVfIk':function(_0x40e732,_0x46cc39){return _0x40e732+_0x46cc39;}};let _0x563689=_0x12dad4[_0x253516(0x178)](_0x158ae2,''),_0x1c892c;if(!_0x158ae2){let _0x2c343e='';for await(const _0x1ddcba of process['stdin']){_0x2c343e+=_0x1ddcba;}try{const _0x5096f8=JSON['parse'](_0x2c343e);_0x563689=_0x5096f8[_0x253516(0x16a)]||'',_0x1c892c=_0x5096f8[_0x12dad4[_0x253516(0x16c)]];}catch{}const _0x5d9716=process[_0x253516(0x173)]['CLAUDE_ENV_FILE'];if(_0x5d9716&&_0x563689)try{await _0x12dad4['ruMFw'](appendFile,_0x5d9716,'export\x20CLAUDE_SESSION_ID=\x22'+_0x563689+'\x22\x0a');}catch{}}if(_0x563689){_0x12dad4[_0x253516(0x177)](shouldAutoEnableAfterClear,_0x1c892c)&&autoEnableAfterClear(_0x563689);initBranchTracking(_0x563689);const _0xaf3f46=_0x12dad4[_0x253516(0x177)](isSessionEnabled,_0x563689);try{const _0x214c8c=createTelemetryCollector(_0x12dad4['vfjmn']);await _0x214c8c['trackCommandStart']({'sessionId':_0x563689,'hooksEnabled':_0xaf3f46}),await _0x214c8c[_0x253516(0x169)]('success');}catch{}if(_0xaf3f46){const _0x3a1f63=getCurrentBranch(),_0x8cc86e=_0x3a1f63&&_0x12dad4['vEujU'](_0x3a1f63,_0x253516(0x165))&&_0x3a1f63!=='master'?_0x253516(0x16b)+_0x3a1f63+')':'',_0x4d924a={'hookSpecificOutput':{'hookEventName':_0x12dad4['ADCIF'],'additionalContext':_0x12dad4[_0x253516(0x179)](RANGER_AUTO_ENABLED_PROMPT,_0x8cc86e)}};console[_0x253516(0x16f)](JSON[_0x253516(0x172)](_0x4d924a));}}}
1
+ function _0x5b7e(_0x5f17c1,_0x278c52){_0x5f17c1=_0x5f17c1-0x1f4;const _0x91321=_0x9132();let _0x5b7eab=_0x91321[_0x5f17c1];return _0x5b7eab;}const _0x290ea1=_0x5b7e;(function(_0x31b57c,_0x58995c){const _0x42947d=_0x5b7e,_0x203991=_0x31b57c();while(!![]){try{const _0x3558df=parseInt(_0x42947d(0x209))/0x1+-parseInt(_0x42947d(0x1f4))/0x2+parseInt(_0x42947d(0x1f6))/0x3+-parseInt(_0x42947d(0x1f9))/0x4*(parseInt(_0x42947d(0x20b))/0x5)+parseInt(_0x42947d(0x1ff))/0x6+-parseInt(_0x42947d(0x1fc))/0x7*(parseInt(_0x42947d(0x208))/0x8)+parseInt(_0x42947d(0x1fd))/0x9;if(_0x3558df===_0x58995c)break;else _0x203991['push'](_0x203991['shift']());}catch(_0x59bb90){_0x203991['push'](_0x203991['shift']());}}}(_0x9132,0x77a24));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x290ea1(0x207);export async function sessionStart(_0x405a6f){const _0x2d2585=_0x290ea1,_0x523051={'LOBYs':function(_0x388ef2,_0xc137d5){return _0x388ef2||_0xc137d5;},'TjDqG':'session_id','sgYUx':function(_0x30fe17,_0x322448){return _0x30fe17&&_0x322448;},'JJJAb':function(_0x3ce36a,_0x345958,_0x17e88e){return _0x3ce36a(_0x345958,_0x17e88e);},'mzJAL':function(_0x1495cc,_0x5621bd){return _0x1495cc(_0x5621bd);},'iPmvq':function(_0x5009d4,_0x571062){return _0x5009d4(_0x571062);},'SweSN':function(_0x1bbe8f,_0x5b9a56){return _0x1bbe8f(_0x5b9a56);},'kmbMJ':_0x2d2585(0x1fb),'VcMMI':'main','ZJpAc':'SessionStart'};let _0xfdca32=_0x523051[_0x2d2585(0x1f8)](_0x405a6f,''),_0x1d0843;if(!_0x405a6f){let _0x204507='';for await(const _0x9d6442 of process['stdin']){_0x204507+=_0x9d6442;}try{const _0x5ce16d=JSON[_0x2d2585(0x1fa)](_0x204507);_0xfdca32=_0x5ce16d[_0x523051['TjDqG']]||'',_0x1d0843=_0x5ce16d['source'];}catch{}const _0x16e479=process[_0x2d2585(0x201)]['CLAUDE_ENV_FILE'];if(_0x523051[_0x2d2585(0x20a)](_0x16e479,_0xfdca32))try{await _0x523051[_0x2d2585(0x200)](appendFile,_0x16e479,'export\x20CLAUDE_SESSION_ID=\x22'+_0xfdca32+'\x22\x0a');}catch{}}if(_0xfdca32){shouldAutoEnableAfterClear(_0x1d0843)&&_0x523051['mzJAL'](autoEnableAfterClear,_0xfdca32);initBranchTracking(_0xfdca32);const _0x579eaf=_0x523051[_0x2d2585(0x203)](isSessionEnabled,_0xfdca32);try{const _0x3fc698=_0x523051['SweSN'](createTelemetryCollector,_0x523051['kmbMJ']);await _0x3fc698['trackCommandStart']({'sessionId':_0xfdca32,'hooksEnabled':_0x579eaf}),await _0x3fc698[_0x2d2585(0x1fe)](_0x2d2585(0x206));}catch{}if(_0x579eaf){const _0x454ea1=getCurrentBranch(),_0x46f424=_0x454ea1&&_0x454ea1!==_0x523051[_0x2d2585(0x1f7)]&&_0x454ea1!==_0x2d2585(0x205)?'\x20(Branch:\x20'+_0x454ea1+')':'',_0x4f128d={'hookSpecificOutput':{'hookEventName':_0x523051[_0x2d2585(0x204)],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x46f424}};console[_0x2d2585(0x1f5)](JSON[_0x2d2585(0x202)](_0x4f128d));}}}function _0x9132(){const _0x28d4a9=['env','stringify','iPmvq','ZJpAc','master','success','=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================','792wDDhnp','279057BRXxZQ','sgYUx','5THLbwo','935040qnukho','log','2485395DcybRa','VcMMI','LOBYs','3897436bdnIJU','parse','hook:session-start','31647HFaJqz','6695568eHyPzi','trackCommandEnd','3168024WHyCze','JJJAb'];_0x9132=function(){return _0x28d4a9;};return _0x9132();}