@ranger-testing/ranger-cli 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +3 -1
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/setup/claude.js +1 -1
  26. package/build/commands/setup/opencode.js +1 -1
  27. package/build/commands/setupCi.js +1 -1
  28. package/build/commands/skillup.js +1 -1
  29. package/build/commands/start.js +1 -1
  30. package/build/commands/status.js +1 -1
  31. package/build/commands/update.js +1 -1
  32. package/build/commands/updateEnv.js +1 -1
  33. package/build/commands/useEnv.js +1 -1
  34. package/build/commands/utils/activeProfile.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudePlugin.js +1 -1
  38. package/build/commands/utils/crypto.js +1 -1
  39. package/build/commands/utils/desirePathLog.js +1 -1
  40. package/build/commands/utils/deviceAuth.js +1 -1
  41. package/build/commands/utils/environment.js +1 -1
  42. package/build/commands/utils/featureApi.js +1 -1
  43. package/build/commands/utils/featureReportGenerator.js +1 -1
  44. package/build/commands/utils/fixWebmDuration.js +1 -1
  45. package/build/commands/utils/git.js +1 -1
  46. package/build/commands/utils/keychain.js +1 -1
  47. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  48. package/build/commands/utils/mcpImageBase64.js +1 -1
  49. package/build/commands/utils/model.js +1 -1
  50. package/build/commands/utils/opencodeConfig.js +1 -1
  51. package/build/commands/utils/profileMessages.js +1 -1
  52. package/build/commands/utils/profileSetupBanner.js +1 -1
  53. package/build/commands/utils/rangerConfig.js +1 -1
  54. package/build/commands/utils/rangerRoot.js +1 -1
  55. package/build/commands/utils/reportGenerator.js +1 -1
  56. package/build/commands/utils/retry.js +1 -1
  57. package/build/commands/utils/sessionCache.js +1 -1
  58. package/build/commands/utils/settings.js +1 -1
  59. package/build/commands/utils/skillContent.js +1 -1
  60. package/build/commands/utils/skills.js +1 -1
  61. package/build/commands/utils/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/verifyInBrowser.js +1 -1
  68. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x58f20a=_0x20ee;(function(_0x17e604,_0x56f559){const _0x3cd90f=_0x20ee,_0xe62efa=_0x17e604();while(!![]){try{const _0xf4a692=parseInt(_0x3cd90f(0xf0))/0x1+-parseInt(_0x3cd90f(0x104))/0x2+parseInt(_0x3cd90f(0xf3))/0x3+parseInt(_0x3cd90f(0xf9))/0x4+parseInt(_0x3cd90f(0x105))/0x5+-parseInt(_0x3cd90f(0x107))/0x6*(-parseInt(_0x3cd90f(0xef))/0x7)+parseInt(_0x3cd90f(0xf8))/0x8*(-parseInt(_0x3cd90f(0xf4))/0x9);if(_0xf4a692===_0x56f559)break;else _0xe62efa['push'](_0xe62efa['shift']());}catch(_0x2866b4){_0xe62efa['push'](_0xe62efa['shift']());}}}(_0x2174,0x4ec80));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=[_0x58f20a(0x108)];function parseValue(_0x13b78b,_0x7ec7e1){const _0x31deb9=_0x58f20a,_0x2da583={'UccKT':_0x31deb9(0xf6)};if(BOOLEAN_KEYS[_0x31deb9(0xed)](_0x13b78b)){if(_0x7ec7e1===_0x31deb9(0xf5))return!![];if(_0x7ec7e1===_0x2da583[_0x31deb9(0x100)])return![];throw new Error(_0x31deb9(0x101)+_0x13b78b+_0x31deb9(0xfb));}return _0x7ec7e1;}export async function configSet(_0xeda95b,_0x29a4b4,_0x11d578){const _0x48dc30=_0x58f20a,_0x1a7c92={'brEGq':function(_0x3925c4,_0x24b191,_0x381a62){return _0x3925c4(_0x24b191,_0x381a62);},'ukJUO':function(_0x1dfabf,_0x1711a1,_0x5e32a3,_0x128f68){return _0x1dfabf(_0x1711a1,_0x5e32a3,_0x128f68);}},_0x190705=getEnvDir(_0xeda95b);if(!existsSync(_0x190705))throw new Error(_0x48dc30(0xfd)+_0xeda95b+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0xeda95b);const _0x15543a=await loadSettings(_0xeda95b),_0x389f22=_0x1a7c92[_0x48dc30(0xfe)](parseValue,_0x29a4b4,_0x11d578);_0x1a7c92['ukJUO'](setNestedValue,_0x15543a,_0x29a4b4,_0x389f22),await saveSettings(_0xeda95b,_0x15543a),console[_0x48dc30(0xec)]('Set\x20'+_0x29a4b4+_0x48dc30(0xee)+_0x389f22);}export async function configGet(_0x47288f,_0xb14f83){const _0x571048=_0x58f20a,_0x1c7806={'xqqhC':function(_0x46e56f,_0x531138){return _0x46e56f(_0x531138);},'nTERg':function(_0x58c87a,_0x197aa2){return _0x58c87a===_0x197aa2;},'GhQZh':_0x571048(0xfa)},_0x32dce6=getEnvDir(_0x47288f);if(!_0x1c7806[_0x571048(0xf7)](existsSync,_0x32dce6))throw new Error(_0x571048(0xfd)+_0x47288f+'\x22\x20does\x20not\x20exist.');const _0x155531=await loadSettings(_0x47288f),_0x2ec4cf=getNestedValue(_0x155531,_0xb14f83);if(_0x2ec4cf===undefined)console[_0x571048(0xec)](_0x571048(0xfc));else _0x1c7806['nTERg'](typeof _0x2ec4cf,_0x1c7806['GhQZh'])?console['log'](JSON['stringify'](_0x2ec4cf,null,0x2)):console[_0x571048(0xec)](_0x2ec4cf);}function _0x20ee(_0x1a3d4e,_0xc0124c){_0x1a3d4e=_0x1a3d4e-0xec;const _0x2174e7=_0x2174();let _0x20eec4=_0x2174e7[_0x1a3d4e];return _0x20eec4;}function _0x2174(){const _0x4c6bb0=['pZdXU','849798weUNne','1777615KQLIrE','Key\x20\x22','30eAlxuG','headless','No\x20configuration\x20set\x20for\x20\x22','log','includes','\x20=\x20','723933pnzGPG','251200dxosyb','\x22\x20does\x20not\x20exist.','oSIPc','658833KMsLnT','9968184uKDiUq','true','false','xqqhC','8Ixegqz','2046936qxmBlX','object',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','(not\x20set)','Profile\x20\x22','brEGq','Removed\x20','UccKT','Invalid\x20value\x20for\x20','\x22\x20not\x20found'];_0x2174=function(){return _0x4c6bb0;};return _0x2174();}export async function configList(_0x356c58){const _0xfaa863=_0x58f20a,_0x170bbe={'oSIPc':function(_0x14c428,_0x2461cb){return _0x14c428(_0x2461cb);}},_0x5b07e4=getSettingsPath(_0x356c58);if(!_0x170bbe[_0xfaa863(0xf2)](existsSync,_0x5b07e4)){const _0x421397=_0x170bbe[_0xfaa863(0xf2)](getEnvDir,_0x356c58);if(!existsSync(_0x421397))throw new Error(_0xfaa863(0xfd)+_0x356c58+'\x22\x20does\x20not\x20exist.');console[_0xfaa863(0xec)](_0xfaa863(0x109)+_0x356c58+'\x22');return;}const _0x32c79d=await loadSettings(_0x356c58),_0x57529e=_0x170bbe[_0xfaa863(0xf2)](formatSettings,_0x32c79d);!_0x57529e?console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x356c58+'\x22'):console['log'](_0x57529e);}export async function configUnset(_0x598d47,_0x51cf0a){const _0x20d1d6=_0x58f20a,_0x295f34={'pZdXU':function(_0x448c48,_0x6b2464,_0xd63cb3){return _0x448c48(_0x6b2464,_0xd63cb3);}},_0x37f7fc=getEnvDir(_0x598d47);if(!existsSync(_0x37f7fc))throw new Error(_0x20d1d6(0xfd)+_0x598d47+_0x20d1d6(0xf1));const _0x1c38b1=await loadSettings(_0x598d47),_0x54df0a=deleteNestedValue(_0x1c38b1,_0x51cf0a);_0x54df0a?(await _0x295f34[_0x20d1d6(0x103)](saveSettings,_0x598d47,_0x1c38b1),console[_0x20d1d6(0xec)](_0x20d1d6(0xff)+_0x51cf0a)):console['log'](_0x20d1d6(0x106)+_0x51cf0a+_0x20d1d6(0x102));}
1
+ function _0x5410(){const _0x53b813=['Profile\x20\x22','\x20=\x20','No\x20configuration\x20set\x20for\x20\x22','26jjSyPG','2036395TxabtX','1616223OxnhNh','allowInsecureLocalhost','63846QOoVrZ','\x22\x20not\x20found','175724rrcebT','headless','Key\x20\x22','45711SvAKJi','6RLoPwc','BDGPL','Set\x20','\x22\x20does\x20not\x20exist.','Bhmvg','log','NYxQx','13947872zKxOnG','\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20','6749343uykrUn','dNzXN','qEXBI'];_0x5410=function(){return _0x53b813;};return _0x5410();}const _0x2d3554=_0x317f;(function(_0x5c20f5,_0x1b0913){const _0x3a9984=_0x317f,_0x1aef25=_0x5c20f5();while(!![]){try{const _0x325186=parseInt(_0x3a9984(0x1fd))/0x1*(parseInt(_0x3a9984(0x1f4))/0x2)+-parseInt(_0x3a9984(0x1f8))/0x3+-parseInt(_0x3a9984(0x1fa))/0x4+-parseInt(_0x3a9984(0x1f5))/0x5*(parseInt(_0x3a9984(0x1fe))/0x6)+-parseInt(_0x3a9984(0x1f6))/0x7+parseInt(_0x3a9984(0x205))/0x8+-parseInt(_0x3a9984(0x1ee))/0x9;if(_0x325186===_0x1b0913)break;else _0x1aef25['push'](_0x1aef25['shift']());}catch(_0x31ea7e){_0x1aef25['push'](_0x1aef25['shift']());}}}(_0x5410,0xd7ec3));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=[_0x2d3554(0x1fb),_0x2d3554(0x1f7)];function parseValue(_0x5da4d7,_0x4741af){if(BOOLEAN_KEYS['includes'](_0x5da4d7)){if(_0x4741af==='true')return!![];if(_0x4741af==='false')return![];throw new Error('Invalid\x20value\x20for\x20'+_0x5da4d7+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x4741af;}export async function configSet(_0x7157a6,_0x11501a,_0x41881c){const _0x1c1269=_0x2d3554,_0x4700c0={'aeduW':function(_0x38dce0,_0xa130ff){return _0x38dce0(_0xa130ff);},'qsavn':function(_0x4a64a5,_0x1b3ae3){return _0x4a64a5(_0x1b3ae3);},'xEUpv':function(_0x3468c0,_0x36c518,_0x32cc51){return _0x3468c0(_0x36c518,_0x32cc51);}},_0x2cce78=getEnvDir(_0x7157a6);if(!_0x4700c0['aeduW'](existsSync,_0x2cce78))throw new Error(_0x1c1269(0x1f1)+_0x7157a6+_0x1c1269(0x1ed)+_0x7157a6);const _0x3dee90=await _0x4700c0['qsavn'](loadSettings,_0x7157a6),_0x4726f9=parseValue(_0x11501a,_0x41881c);setNestedValue(_0x3dee90,_0x11501a,_0x4726f9),await _0x4700c0['xEUpv'](saveSettings,_0x7157a6,_0x3dee90),console[_0x1c1269(0x203)](_0x1c1269(0x200)+_0x11501a+_0x1c1269(0x1f2)+_0x4726f9);}export async function configGet(_0x49265e,_0x5ddd28){const _0x44232c=_0x2d3554,_0x46e53d={'NYxQx':function(_0x5c5f14,_0x3cddc3){return _0x5c5f14(_0x3cddc3);},'Bhmvg':function(_0x1e0e15,_0x122cd7){return _0x1e0e15(_0x122cd7);}},_0x3cb4ea=getEnvDir(_0x49265e);if(!_0x46e53d[_0x44232c(0x204)](existsSync,_0x3cb4ea))throw new Error(_0x44232c(0x1f1)+_0x49265e+'\x22\x20does\x20not\x20exist.');const _0x211ec0=await _0x46e53d[_0x44232c(0x202)](loadSettings,_0x49265e),_0x421f40=getNestedValue(_0x211ec0,_0x5ddd28);if(_0x421f40===undefined)console['log']('(not\x20set)');else typeof _0x421f40==='object'?console['log'](JSON['stringify'](_0x421f40,null,0x2)):console['log'](_0x421f40);}export async function configList(_0x464792){const _0x2e17ed=_0x2d3554,_0x3bed64={'kLOnO':function(_0x3eca3a,_0x4cf9d8){return _0x3eca3a(_0x4cf9d8);},'qEXBI':function(_0x28e302,_0x17ea7b){return _0x28e302(_0x17ea7b);}},_0x5c139b=getSettingsPath(_0x464792);if(!_0x3bed64['kLOnO'](existsSync,_0x5c139b)){const _0x2b4f3a=_0x3bed64['kLOnO'](getEnvDir,_0x464792);if(!_0x3bed64['qEXBI'](existsSync,_0x2b4f3a))throw new Error(_0x2e17ed(0x1f1)+_0x464792+'\x22\x20does\x20not\x20exist.');console[_0x2e17ed(0x203)]('No\x20configuration\x20set\x20for\x20\x22'+_0x464792+'\x22');return;}const _0x543d46=await loadSettings(_0x464792),_0x2544e7=_0x3bed64[_0x2e17ed(0x1f0)](formatSettings,_0x543d46);!_0x2544e7?console[_0x2e17ed(0x203)](_0x2e17ed(0x1f3)+_0x464792+'\x22'):console['log'](_0x2544e7);}function _0x317f(_0x29206e,_0x287a9b){_0x29206e=_0x29206e-0x1ed;const _0x5410e1=_0x5410();let _0x317f78=_0x5410e1[_0x29206e];return _0x317f78;}export async function configUnset(_0x4a63d5,_0x204ca2){const _0x1be13d=_0x2d3554,_0x1b8492={'dNzXN':function(_0x2116b2,_0x245024){return _0x2116b2(_0x245024);},'IAAXd':function(_0x34bbe7,_0x324dc){return _0x34bbe7(_0x324dc);},'BDGPL':function(_0x2f4d9e,_0x55f4e1,_0x1f2285){return _0x2f4d9e(_0x55f4e1,_0x1f2285);}},_0x2b7490=_0x1b8492[_0x1be13d(0x1ef)](getEnvDir,_0x4a63d5);if(!_0x1b8492['IAAXd'](existsSync,_0x2b7490))throw new Error(_0x1be13d(0x1f1)+_0x4a63d5+_0x1be13d(0x201));const _0x2e558d=await loadSettings(_0x4a63d5),_0x2acfff=_0x1b8492[_0x1be13d(0x1ff)](deleteNestedValue,_0x2e558d,_0x204ca2);_0x2acfff?(await saveSettings(_0x4a63d5,_0x2e558d),console['log']('Removed\x20'+_0x204ca2)):console[_0x1be13d(0x203)](_0x1be13d(0x1fc)+_0x204ca2+_0x1be13d(0x1f9));}
@@ -1 +1 @@
1
- const _0x12ff75=_0x40b7;(function(_0x26f5cc,_0x586703){const _0x326737=_0x40b7,_0x45542c=_0x26f5cc();while(!![]){try{const _0x2c606c=parseInt(_0x326737(0xfb))/0x1+-parseInt(_0x326737(0xde))/0x2*(parseInt(_0x326737(0xe8))/0x3)+-parseInt(_0x326737(0xe2))/0x4*(-parseInt(_0x326737(0xdc))/0x5)+-parseInt(_0x326737(0xf1))/0x6*(-parseInt(_0x326737(0xfa))/0x7)+-parseInt(_0x326737(0xee))/0x8*(-parseInt(_0x326737(0xf5))/0x9)+-parseInt(_0x326737(0xd8))/0xa*(parseInt(_0x326737(0xe7))/0xb)+-parseInt(_0x326737(0xdf))/0xc;if(_0x2c606c===_0x586703)break;else _0x45542c['push'](_0x45542c['shift']());}catch(_0x11c5f4){_0x45542c['push'](_0x45542c['shift']());}}}(_0x5698,0xd6882));function _0x5698(){const _0xa9c3b4=['2bOWVRe','5544336fVLnSA','environmentDetails','KcppJ','228oMgysI','baseUrl','\x0aNo\x20profiles\x20found.','wNjik','settings.json','99CvGOio','4332303sYPVLG','includes','UOhGc','legacy','Falmm','length','16EMAJNz','\x20\x20\x20\x20\x20\x20URL:\x20','.txt','9816204kjkpCo','kDUhn','ylhIV','push','422199tTJFXD','sessions','log','OAATt','\x20\x20\x20\x20\x20\x20Details:\x20','7MbKfIZ','1326249yaLVJA','ZpQJi','765690jUsEOV','Run:\x20ranger\x20profile\x20add\x20<profile-name>','BqiaV','isDirectory','36655xYZymT','local'];_0x5698=function(){return _0xa9c3b4;};return _0x5698();}import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=[_0x12ff75(0xf6),'bug-bashes','reports',_0x12ff75(0xdd),'ci'];function _0x40b7(_0x1d841b,_0x258fb0){_0x1d841b=_0x1d841b-0xd8;const _0x569815=_0x5698();let _0x40b748=_0x569815[_0x1d841b];return _0x40b748;}export async function getEnvNames(){const _0x15ad52=_0x12ff75,_0x4e4f51={'ylhIV':function(_0x481607){return _0x481607();},'PQyBn':function(_0x1961de){return _0x1961de();},'Falmm':function(_0x4ee537,_0x122889,_0x253d9f){return _0x4ee537(_0x122889,_0x253d9f);},'kDUhn':_0x15ad52(0xdd),'ZpQJi':function(_0x39d3c3,_0x278a10){return _0x39d3c3(_0x278a10);},'iaefC':function(_0x4e48b0,_0x10b573,_0x3839e5){return _0x4e48b0(_0x10b573,_0x3839e5);},'DJVVn':function(_0xc16e8c,_0x2d30fe){return _0xc16e8c(_0x2d30fe);},'IROpg':_0x15ad52(0xf0),'hBlmi':function(_0x1c3dd3,_0xac8b36){return _0x1c3dd3(_0xac8b36);},'KcppJ':'legacy'},_0x54d0dd=_0x4e4f51[_0x15ad52(0xf3)](getRangerDir);if(!existsSync(_0x54d0dd))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x5ff356=await _0x4e4f51['PQyBn'](readActiveProfileName),_0x13a39d=[],_0x36c33e={},_0x5bd97f=_0x4e4f51[_0x15ad52(0xec)](join,_0x54d0dd,_0x4e4f51[_0x15ad52(0xf2)]);if(existsSync(_0x5bd97f)){const _0x2b519f=await _0x4e4f51[_0x15ad52(0xfc)](readdir,_0x5bd97f);for(const _0x3f848e of _0x2b519f){const _0x477558=join(_0x5bd97f,_0x3f848e),_0x1a7481=await stat(_0x477558);_0x1a7481[_0x15ad52(0xdb)]()&&(_0x13a39d['push'](_0x3f848e),_0x36c33e[_0x3f848e]=_0x4e4f51['kDUhn']);}}const _0x3296de=_0x4e4f51['iaefC'](join,_0x54d0dd,'ci');if(existsSync(_0x3296de)){const _0x3236b5=await readdir(_0x3296de);for(const _0x215dbb of _0x3236b5){const _0x5630cb=join(_0x3296de,_0x215dbb),_0x5966fc=await stat(_0x5630cb);_0x5966fc['isDirectory']()&&(_0x13a39d['push'](_0x215dbb),_0x36c33e[_0x215dbb]='ci');}}const _0x1cf6a2=await _0x4e4f51['DJVVn'](readdir,_0x54d0dd);for(const _0x20503b of _0x1cf6a2){if(NON_ENV_DIRS['includes'](_0x20503b))continue;if(_0x20503b['startsWith']('.'))continue;if(_0x20503b['endsWith'](_0x4e4f51['IROpg']))continue;const _0x2be357=join(_0x54d0dd,_0x20503b),_0x1b72ab=await _0x4e4f51['ZpQJi'](stat,_0x2be357);_0x1b72ab['isDirectory']()&&_0x4e4f51['hBlmi'](existsSync,join(_0x2be357,_0x15ad52(0xe6)))&&(!_0x13a39d[_0x15ad52(0xe9)](_0x20503b)&&(_0x13a39d[_0x15ad52(0xf4)](_0x20503b),_0x36c33e[_0x20503b]=_0x4e4f51[_0x15ad52(0xe1)]));}return{'envNames':_0x13a39d,'activeEnv':_0x5ff356,'envTypes':_0x36c33e};}export async function envList(){const _0x2e01ff=_0x12ff75,_0x33e90d={'LkmVt':function(_0x17ddd4,_0x3b132e){return _0x17ddd4===_0x3b132e;},'kPIuR':_0x2e01ff(0xd9),'qgZsd':'\x0aProfiles:','UOhGc':function(_0x2bd71d,_0x2e2d62){return _0x2bd71d===_0x2e2d62;},'BqiaV':'local','OAATt':function(_0x4d0057,_0x32370c){return _0x4d0057===_0x32370c;},'wNjik':_0x2e01ff(0xeb)},{envNames:_0x163904,activeEnv:_0x42cd1d,envTypes:_0x1bf4c8}=await getEnvNames();if(_0x33e90d['LkmVt'](_0x163904[_0x2e01ff(0xed)],0x0)){console['log'](_0x2e01ff(0xe4)),console['log'](_0x33e90d['kPIuR']);return;}console[_0x2e01ff(0xf7)](_0x33e90d['qgZsd']);for(const _0x36f2b2 of _0x163904['sort']()){const _0x2868c3=_0x33e90d[_0x2e01ff(0xea)](_0x36f2b2,_0x42cd1d),_0xc021fa=_0x1bf4c8[_0x36f2b2]||_0x33e90d[_0x2e01ff(0xda)],_0x565ce5=await loadSettings(_0x36f2b2),_0x3be87a=_0x33e90d[_0x2e01ff(0xf8)](_0xc021fa,_0x33e90d[_0x2e01ff(0xe5)])?'':'\x20['+_0xc021fa+']';console[_0x2e01ff(0xf7)]('\x20\x20'+(_0x2868c3?'*\x20':'\x20\x20')+_0x36f2b2+_0x3be87a),_0x565ce5[_0x2e01ff(0xe3)]&&console[_0x2e01ff(0xf7)](_0x2e01ff(0xef)+_0x565ce5[_0x2e01ff(0xe3)]),_0x565ce5['environmentDetails']&&console[_0x2e01ff(0xf7)](_0x2e01ff(0xf9)+_0x565ce5[_0x2e01ff(0xe0)]);}_0x42cd1d&&console['log']('\x0a*\x20=\x20active\x20profile');}
1
+ const _0x15cf67=_0x2b30;(function(_0x53fa54,_0x54ad58){const _0xeb5ad2=_0x2b30,_0x37e67e=_0x53fa54();while(!![]){try{const _0x2b3a52=parseInt(_0xeb5ad2(0x16a))/0x1*(parseInt(_0xeb5ad2(0x16d))/0x2)+parseInt(_0xeb5ad2(0x185))/0x3*(parseInt(_0xeb5ad2(0x184))/0x4)+-parseInt(_0xeb5ad2(0x187))/0x5+-parseInt(_0xeb5ad2(0x179))/0x6*(parseInt(_0xeb5ad2(0x171))/0x7)+-parseInt(_0xeb5ad2(0x176))/0x8*(parseInt(_0xeb5ad2(0x170))/0x9)+-parseInt(_0xeb5ad2(0x17c))/0xa+parseInt(_0xeb5ad2(0x186))/0xb;if(_0x2b3a52===_0x54ad58)break;else _0x37e67e['push'](_0x37e67e['shift']());}catch(_0x368958){_0x37e67e['push'](_0x37e67e['shift']());}}}(_0x25b5,0x1bc6f));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x2b30(_0x473cfe,_0x12cdb1){_0x473cfe=_0x473cfe-0x169;const _0x25b52f=_0x25b5();let _0x2b30a5=_0x25b52f[_0x473cfe];return _0x2b30a5;}function _0x25b5(){const _0x3ed502=['.txt','goChi','push','length','44gmRNWE','61431Gqucdu','4152236HHbMuz','819755QjpYqG','jyGHe','6kbQaur','bug-bashes','FvTDG','11626paeJDU','settings.json','baseUrl','829827azPLYr','11522RAuTgW','sWSmd','log','iuSHi','legacy','16wVOsrS','uPgaF','\x0a*\x20=\x20active\x20profile','336reuxdP','\x0aProfiles:','JGDqO','832930xLnSrd','nmasR','OOZhH','KmJSN'];_0x25b5=function(){return _0x3ed502;};return _0x25b5();}const NON_ENV_DIRS=['sessions',_0x15cf67(0x16b),'reports','local','ci'];export async function getEnvNames(){const _0x2f7aea=_0x15cf67,_0x161d28={'uPgaF':function(_0x341527){return _0x341527();},'JGDqO':function(_0x263679,_0x473018,_0x10ca68){return _0x263679(_0x473018,_0x10ca68);},'jyGHe':'local','sWSmd':function(_0x24d4b2,_0x2878dd){return _0x24d4b2(_0x2878dd);},'nmasR':function(_0xfdab83,_0x59f36d,_0x6939a7){return _0xfdab83(_0x59f36d,_0x6939a7);},'iuSHi':function(_0x320a54,_0x35c567){return _0x320a54(_0x35c567);},'gheBc':function(_0x2dacab,_0x2c845c){return _0x2dacab(_0x2c845c);},'OOZhH':_0x2f7aea(0x180),'uhseA':function(_0x3dc433,_0x53d184){return _0x3dc433(_0x53d184);},'FvTDG':'legacy'},_0x3af264=_0x161d28[_0x2f7aea(0x177)](getRangerDir);if(!existsSync(_0x3af264))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0xccb19f=await _0x161d28[_0x2f7aea(0x177)](readActiveProfileName),_0x405ce9=[],_0x3812c0={},_0x3c3539=_0x161d28['JGDqO'](join,_0x3af264,_0x161d28[_0x2f7aea(0x169)]);if(_0x161d28[_0x2f7aea(0x172)](existsSync,_0x3c3539)){const _0x30a1c3=await _0x161d28['sWSmd'](readdir,_0x3c3539);for(const _0x54191e of _0x30a1c3){const _0x3ff6dd=join(_0x3c3539,_0x54191e),_0x34c0ff=await _0x161d28[_0x2f7aea(0x172)](stat,_0x3ff6dd);_0x34c0ff['isDirectory']()&&(_0x405ce9['push'](_0x54191e),_0x3812c0[_0x54191e]='local');}}const _0x572f78=_0x161d28[_0x2f7aea(0x17d)](join,_0x3af264,'ci');if(existsSync(_0x572f78)){const _0x3d7215=await _0x161d28['iuSHi'](readdir,_0x572f78);for(const _0x117798 of _0x3d7215){const _0x31bb8f=_0x161d28[_0x2f7aea(0x17b)](join,_0x572f78,_0x117798),_0x70c2a=await _0x161d28[_0x2f7aea(0x174)](stat,_0x31bb8f);_0x70c2a['isDirectory']()&&(_0x405ce9[_0x2f7aea(0x182)](_0x117798),_0x3812c0[_0x117798]='ci');}}const _0x3c9886=await _0x161d28['gheBc'](readdir,_0x3af264);for(const _0x4d22b6 of _0x3c9886){if(NON_ENV_DIRS['includes'](_0x4d22b6))continue;if(_0x4d22b6['startsWith']('.'))continue;if(_0x4d22b6['endsWith'](_0x161d28[_0x2f7aea(0x17e)]))continue;const _0x2da026=join(_0x3af264,_0x4d22b6),_0x296fbe=await stat(_0x2da026);_0x296fbe['isDirectory']()&&_0x161d28['uhseA'](existsSync,_0x161d28['nmasR'](join,_0x2da026,_0x2f7aea(0x16e)))&&(!_0x405ce9['includes'](_0x4d22b6)&&(_0x405ce9['push'](_0x4d22b6),_0x3812c0[_0x4d22b6]=_0x161d28[_0x2f7aea(0x16c)]));}return{'envNames':_0x405ce9,'activeEnv':_0xccb19f,'envTypes':_0x3812c0};}export async function envList(){const _0x2da781=_0x15cf67,_0x3327a6={'KmJSN':function(_0x13c12d){return _0x13c12d();},'goChi':'\x0aNo\x20profiles\x20found.','humEk':'local'},{envNames:_0x20c029,activeEnv:_0x51a03e,envTypes:_0x5de8be}=await _0x3327a6[_0x2da781(0x17f)](getEnvNames);if(_0x20c029[_0x2da781(0x183)]===0x0){console['log'](_0x3327a6[_0x2da781(0x181)]),console['log']('Run:\x20ranger\x20profile\x20add\x20<profile-name>');return;}console[_0x2da781(0x173)](_0x2da781(0x17a));for(const _0x4ced1c of _0x20c029['sort']()){const _0x334793=_0x4ced1c===_0x51a03e,_0x355a28=_0x5de8be[_0x4ced1c]||_0x3327a6['humEk'],_0x5ae2fb=await loadSettings(_0x4ced1c),_0x1f1e0e=_0x355a28===_0x2da781(0x175)?'':'\x20['+_0x355a28+']';console['log']('\x20\x20'+(_0x334793?'*\x20':'\x20\x20')+_0x4ced1c+_0x1f1e0e),_0x5ae2fb[_0x2da781(0x16f)]&&console[_0x2da781(0x173)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x5ae2fb['baseUrl']),_0x5ae2fb['environmentDetails']&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x5ae2fb['environmentDetails']);}_0x51a03e&&console['log'](_0x2da781(0x178));}
@@ -1 +1 @@
1
- const _0x2b49e1=_0x8f54;(function(_0x9822cb,_0x400d3f){const _0x133e67=_0x8f54,_0x5ae146=_0x9822cb();while(!![]){try{const _0x27add4=-parseInt(_0x133e67(0x1c0))/0x1+-parseInt(_0x133e67(0x1d5))/0x2*(-parseInt(_0x133e67(0x15d))/0x3)+parseInt(_0x133e67(0x112))/0x4*(parseInt(_0x133e67(0x1f3))/0x5)+-parseInt(_0x133e67(0x13e))/0x6+parseInt(_0x133e67(0x171))/0x7*(parseInt(_0x133e67(0x1d1))/0x8)+-parseInt(_0x133e67(0x193))/0x9*(parseInt(_0x133e67(0x1dd))/0xa)+parseInt(_0x133e67(0x14b))/0xb*(parseInt(_0x133e67(0x19c))/0xc);if(_0x27add4===_0x400d3f)break;else _0x5ae146['push'](_0x5ae146['shift']());}catch(_0x3ae326){_0x5ae146['push'](_0x5ae146['shift']());}}}(_0x9fb5,0xcf35a));function _0x9fb5(){const _0x1b60cd=['cUBiy','includeDeleted','OTDgX','XlEcx','tkdLd','22808ZanrbV','status','rwVAH','limit','12538oNvzOd','CpPBW','\x0a✅\x20Session\x20','name','naRbs','map','\x20\x20\x20\x20\x20Branch:\x20','\x20\x20\x20Progress:\x20','3940gHTNql','blockedItems','tLNkH','incompleteReason','split','.\x20Feature\x20review\x20has\x20','LFRpC','notes','round','zTrNe','screenshotUrls','from','lzDRq','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','gOtVy','excludeScenarios','currentSessionId','\x0a❌\x20Invalid\x20scenario\x20index:\x20','replace','Showing\x20','kDUIT','3109135KJaaGJ','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','nUyfd','mMPGL','4eRwaco','TZBrV','numeric','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','totalCount','push','assetUrl','sCkSN','\x20\x20\x20Description:\x20','approved','reports','fpsks','after','TBqyP','scenario','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20▶️\x20Started\x20session\x20','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','assetType','timing','\x20of\x20','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','hCrPR','XVBSk','Jyqyh','type','authorEmail','syImV','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x0a✅\x20Restored\x20feature\x20review:\x20','log','BFlHT','offset','get','\x1b[1m','screenshot','coordinates','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x20—\x20no\x20comments','position','emfNM','IxhzC','\x20\x20Expected\x20flow:','8914218FKPxze','wjPav','slice','selected','iqTKZ','items','submittedAt','eaoRx','pCvWB','in_progress','\x20—\x20','any','gitBranch','22640233eeGKmK','\x20in\x20progress','stats','EhRTP','UADwk','\x0aAvailable\x20scenarios:','hsPhA','CWNaY','write','filter','warn','/api/v1/mcp/browser-sessions/','fMCVB','zVuff','KQTnm','RIKAY','\x20\x20\x20Branch:\x20','JLEUu','267ABflqt','Unknown','completedAt','nVDKS','createdAt','iDTKH','qczAb','stdin','verifiedItems','muHdU','JeRVb','OVehD','canceledReason','AKpVq','length','\x20--include-deleted','domRef','trimEnd','epvVw','latestReview','1890yhCdDh','CLAUDE_SESSION_ID','eMkgF','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','list','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','VVFpP','short','xOFmN','gUHIf','description','\x20\x20\x20ID:\x20','bukNn','wrswa','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x20\x20\x20\x20','pipe','find','canonicalFlow','hvWVb','location','\x20incomplete','prompt','lyJRK','isTTY','cMGVa','isInteger','utf-8','toFixed','sjoUc','toxAY','ZAKya','exQIZ','gInXv','18117BSiffb',':\x20\x22','BMBRG','\x20feature\x20review(s)\x20found','SkQXo','unaddressedComments','closed','mayWm','pop','12GnmSSl','NEKxz','toLocaleString','textContent','pRJyR','currentBranch','join','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','cnzkr','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','selector','trim','en-US','DXabf','ONDNm','dDYqa','blockedReason','exit','pendingItems','verification_in_progress','tnAnC','terminalReason','spatial','error','qQkZd','checklistItems','QKyex','completed','Scenario\x20','No\x20scenarios\x20found.','stdout','browserSessionId','GyxSv','dashboardUrl','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x0a\x20\x20\x20Scenarios:','880186BpoJbI','uCYcs','agentResponse','style','linkedSession','\x20\x20\x20Status:\x20','ZytxV','\x20\x20✅\x20No\x20feedback\x20to\x20address','version','repeat','\x20/\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('];_0x9fb5=function(){return _0x1b60cd;};return _0x9fb5();}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x189e33 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x559708=>_0x2b49e1(0x134)+_0x559708+'\x1b[0m';function getGitRepoUrl(){const _0x5086e6=_0x2b49e1,_0x1325bf={'JeRVb':function(_0x5e47ac,_0x3012a7,_0x401726){return _0x5e47ac(_0x3012a7,_0x401726);},'wrswa':'git\x20remote\x20get-url\x20origin','JLEUu':_0x5086e6(0x18c),'USpCq':_0x5086e6(0x181),'XVBSk':'github.com/'};try{const _0x10b2d4=_0x1325bf[_0x5086e6(0x167)](execSync,_0x1325bf[_0x5086e6(0x17e)],{'encoding':_0x1325bf[_0x5086e6(0x15c)],'stdio':['pipe',_0x5086e6(0x181),_0x1325bf['USpCq']]})['trim']();return _0x10b2d4['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x1325bf[_0x5086e6(0x129)])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x379260=_0x2b49e1,_0x4fb095={'exQIZ':function(_0xa621b8,_0x21fa2a,_0x2f65e7){return _0xa621b8(_0x21fa2a,_0x2f65e7);},'sCkSN':'utf-8','TBqyP':_0x379260(0x181)};try{return _0x4fb095[_0x379260(0x191)](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x4fb095[_0x379260(0x119)],'stdio':[_0x379260(0x181),_0x4fb095[_0x379260(0x11f)],'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3c939e=_0x2b49e1,_0x2eb13b={'WEgwf':function(_0x56c955,_0x1a8a18,_0x45effe){return _0x56c955(_0x1a8a18,_0x45effe);},'zVuff':function(_0x34ae60){return _0x34ae60();},'sjoUc':function(_0x3e748c,_0x357a58){return _0x3e748c(_0x357a58);},'cnzkr':'utf-8'},_0x422ab2=_0x2eb13b['WEgwf'](join,_0x2eb13b[_0x3c939e(0x158)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x2eb13b[_0x3c939e(0x18e)](existsSync,_0x422ab2))return null;try{const _0x33bb08=await readFile(_0x422ab2,_0x2eb13b[_0x3c939e(0x1a4)]);return _0x33bb08[_0x3c939e(0x1a7)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x54aaa9){const _0x57f3c9=_0x2b49e1,_0x475811={'naRbs':function(_0x97a2fd){return _0x97a2fd();},'SkQXo':_0x57f3c9(0x18c)},_0x540507=_0x475811[_0x57f3c9(0x1d9)](getRangerDir),_0x1c8eab=join(_0x540507,ACTIVE_FEATURE_FILE);!existsSync(_0x540507)&&await mkdir(_0x540507,{'recursive':!![]}),await writeFile(_0x1c8eab,_0x54aaa9,_0x475811[_0x57f3c9(0x197)]);}function getProgressDisplay(_0x3ee6fb){const _0x12bc83=_0x2b49e1,_0x3efbfc={'OTDgX':function(_0x292685,_0x30a7df){return _0x292685+_0x30a7df;},'qQkZd':function(_0x5ac181,_0x582c3c){return _0x5ac181/_0x582c3c;},'cdrxu':function(_0x43b385,_0x1171f7){return _0x43b385-_0x1171f7;},'NEKxz':function(_0x4a5406,_0x428b0c){return _0x4a5406>_0x428b0c;},'lyJRK':function(_0x32f134,_0x4f4ee7){return _0x32f134>_0x4f4ee7;}},_0x1ef050=_0x3ee6fb[_0x12bc83(0x165)]||0x0,_0x5253eb=_0x3ee6fb['verificationInProgressItems']||0x0,_0x49458a=_0x3ee6fb[_0x12bc83(0x1de)]||0x0,_0x3624c8=_0x3ee6fb['incompleteItems']||0x0,_0x1a51eb=_0x3ee6fb[_0x12bc83(0x1ae)]||0x0,_0x1805b8=_0x3efbfc[_0x12bc83(0x1ce)](_0x1ef050+_0x5253eb+_0x49458a+_0x3624c8,_0x1a51eb);if(_0x1805b8===0x0)return'-';const _0x4f67ca=0xa,_0x420167=Math[_0x12bc83(0x1e5)](_0x3efbfc[_0x12bc83(0x1b4)](_0x1ef050,_0x1805b8)*_0x4f67ca),_0x211fc5='█'['repeat'](_0x420167)+'░'[_0x12bc83(0x1c9)](_0x3efbfc['cdrxu'](_0x4f67ca,_0x420167)),_0x33f288=[];if(_0x3efbfc[_0x12bc83(0x19d)](_0x49458a,0x0))_0x33f288['push'](_0x49458a+'\x20blocked');if(_0x3efbfc[_0x12bc83(0x188)](_0x3624c8,0x0))_0x33f288['push'](_0x3624c8+_0x12bc83(0x186));if(_0x5253eb>0x0)_0x33f288[_0x12bc83(0x117)](_0x5253eb+_0x12bc83(0x14c));const _0x224ac9=_0x33f288['length']>0x0?'\x20('+_0x33f288[_0x12bc83(0x1a2)](',\x20')+')':'';return _0x211fc5+'\x20'+_0x1ef050+'/'+_0x1805b8+'\x20verified'+_0x224ac9;}function getCurrentSessionItems(_0x13e47a,_0x28655c){const _0x61152=_0x2b49e1;if(!_0x13e47a[_0x61152(0x1ee)])return _0x28655c[_0x61152(0x154)](_0x47a961=>!_0x47a961['sessionId']);return _0x28655c[_0x61152(0x154)](_0x188eeb=>_0x188eeb['sessionId']===_0x13e47a[_0x61152(0x1ee)]||!_0x188eeb['sessionId']);}function displayFeature(_0x2aebbf,_0x374bd5){const _0x149cfe=_0x2b49e1,_0x11b376={'BMBRG':function(_0x5d4de4,_0x442e76){return _0x5d4de4>_0x442e76;},'iDTKH':function(_0x11c588,_0x478279){return _0x11c588===_0x478279;},'RIKAY':function(_0x11f7ee,_0x8fb138){return _0x11f7ee===_0x8fb138;},'sNBLg':'verified','gUHIf':'incomplete','epvVw':function(_0x383891,_0x3914af){return _0x383891===_0x3914af;},'jvCdw':'blocked','uCYcs':function(_0x3ccea9,_0x27196c){return _0x3ccea9===_0x27196c;},'qczAb':function(_0x2d43c7,_0x380e4b){return _0x2d43c7!==_0x380e4b;},'CpPBW':'\x20[has\x20reviewer\x20feedback]','tLNkH':function(_0x27dfb6,_0x214ea2){return _0x27dfb6===_0x214ea2;},'eMkgF':_0x149cfe(0x199),'Hbspt':function(_0x544eed,_0x2e636f){return _0x544eed===_0x2e636f;},'RHSDT':function(_0x123674,_0x1a16fe){return _0x123674===_0x1a16fe;}};console[_0x149cfe(0x130)]('\x0a'+_0x2aebbf[_0x149cfe(0x1d8)]+'\x20('+_0x2aebbf['dashboardUrl']+')');_0x2aebbf[_0x149cfe(0x14d)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x2aebbf['stats']));_0x2aebbf[_0x149cfe(0x17b)]&&console[_0x149cfe(0x130)](_0x149cfe(0x11a)+_0x2aebbf[_0x149cfe(0x17b)]);_0x2aebbf['gitRepoUrl']&&console[_0x149cfe(0x130)]('\x20\x20\x20Repository:\x20'+_0x2aebbf['gitRepoUrl']);_0x2aebbf[_0x149cfe(0x14a)]&&console['log'](_0x149cfe(0x15b)+_0x2aebbf[_0x149cfe(0x14a)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x2aebbf['createdAt'])[_0x149cfe(0x19e)]());_0x2aebbf['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x2aebbf['completedAt'])['toLocaleString']());if(_0x374bd5&&_0x11b376[_0x149cfe(0x195)](_0x374bd5[_0x149cfe(0x16b)],0x0)){console['log'](_0x149cfe(0x1bf));for(let _0x2ae7ea=0x0;_0x2ae7ea<_0x374bd5['length'];_0x2ae7ea++){const _0x80d5eb=_0x374bd5[_0x2ae7ea];let _0x11ac6a;if(_0x11b376[_0x149cfe(0x162)](_0x80d5eb[_0x149cfe(0x1d2)],_0x149cfe(0x199))&&_0x11b376[_0x149cfe(0x15a)](_0x80d5eb[_0x149cfe(0x1b1)],_0x149cfe(0x11b)))_0x11ac6a='✅';else{if(_0x80d5eb[_0x149cfe(0x1d2)]===_0x11b376['sNBLg'])_0x11ac6a='🟢';else{if(_0x80d5eb[_0x149cfe(0x1d2)]===_0x11b376['gUHIf'])_0x11ac6a='🟠';else{if(_0x11b376[_0x149cfe(0x16f)](_0x80d5eb[_0x149cfe(0x1d2)],_0x11b376['jvCdw']))_0x11ac6a='🛑';else{if(_0x11b376['RIKAY'](_0x80d5eb['status'],_0x149cfe(0x199)))_0x11ac6a='⛔';else _0x11b376[_0x149cfe(0x1c1)](_0x80d5eb['status'],_0x149cfe(0x1af))?_0x11ac6a='⏳':_0x11ac6a='⬜';}}}}const _0x3f7234=_0x11b376['BMBRG'](_0x80d5eb[_0x149cfe(0x1c8)],0x1)?'\x20(v'+_0x80d5eb['version']+')':'',_0x3f1b37=_0x80d5eb['version']>0x1&&_0x80d5eb['parentItemId']&&_0x11b376[_0x149cfe(0x163)](_0x80d5eb[_0x149cfe(0x1d2)],'closed')&&_0x80d5eb['status']!=='verified'?_0x11b376[_0x149cfe(0x1d6)]:'';console['log']('\x20\x20\x20'+(_0x2ae7ea+0x1)+'.\x20'+_0x11ac6a+'\x20'+_0x80d5eb[_0x149cfe(0x17b)]+_0x3f7234+_0x3f1b37);_0x80d5eb[_0x149cfe(0x1d2)]==='blocked'&&_0x80d5eb[_0x149cfe(0x1ac)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x80d5eb['blockedReason']);_0x11b376['iDTKH'](_0x80d5eb['status'],_0x11b376[_0x149cfe(0x17a)])&&_0x80d5eb['incompleteReason']&&console[_0x149cfe(0x130)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x80d5eb[_0x149cfe(0x1e0)]);if(_0x11b376[_0x149cfe(0x1df)](_0x80d5eb[_0x149cfe(0x1d2)],_0x11b376[_0x149cfe(0x173)])&&_0x11b376['Hbspt'](_0x80d5eb[_0x149cfe(0x1b1)],_0x149cfe(0x11b)))console[_0x149cfe(0x130)]('\x20\x20\x20\x20\x20\x20Approved');else _0x11b376['RHSDT'](_0x80d5eb['status'],_0x11b376[_0x149cfe(0x173)])&&_0x80d5eb[_0x149cfe(0x169)]&&console[_0x149cfe(0x130)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x80d5eb[_0x149cfe(0x169)]);}}}export async function featureCreate(_0x28eb49,_0x6ca3c1){const _0x30e83c=_0x2b49e1,_0x33d3d1={'VVFpP':function(_0x343830){return _0x343830();},'ONDNm':function(_0x28acfc,_0x85e3e0){return _0x28acfc(_0x85e3e0);},'yYNXp':function(_0x3ab84f){return _0x3ab84f();},'SMtmS':'\x0aCreating\x20feature\x20review...','hCrPR':function(_0x195d0e,_0x552786){return _0x195d0e(_0x552786);},'RXGWx':function(_0x501695,_0x54e88a,_0x2d6e3e){return _0x501695(_0x54e88a,_0x2d6e3e);}},{envNames:_0x19914b}=await _0x33d3d1[_0x30e83c(0x177)](getEnvNames);_0x19914b[_0x30e83c(0x16b)]===0x0&&console[_0x30e83c(0x155)]('\x0a'+_0x33d3d1[_0x30e83c(0x1aa)](formatProfileRequiredMessage,_0x5a45db=>bold(_0x5a45db)));const _0x286f92=_0x6ca3c1['scenarios']?_0x6ca3c1['scenarios']['map'](_0x136936=>_0x136936['trim']()):[],_0x23f7a1=getGitRepoUrl(),_0x518d85=_0x33d3d1['yYNXp'](getGitBranch);console['log'](_0x33d3d1['SMtmS']);const _0x562a3c=await _0x33d3d1[_0x30e83c(0x1aa)](createFeature,{'name':_0x28eb49,'description':_0x6ca3c1['description'],'checklist':_0x286f92,'gitRepoUrl':_0x23f7a1,'gitBranch':_0x518d85});await setActiveFeatureId(_0x562a3c['id']),await _0x33d3d1[_0x30e83c(0x128)](tryStartCurrentSession,_0x562a3c['id']);const _0x34c1c9=process['env']['CLAUDE_SESSION_ID'];_0x34c1c9&&_0x33d3d1['RXGWx'](registerSession,_0x34c1c9,_0x562a3c['id']),console[_0x30e83c(0x130)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x562a3c['id']),displayFeature(_0x562a3c,_0x562a3c[_0x30e83c(0x1b5)]),console[_0x30e83c(0x130)](_0x30e83c(0x1f4));}export async function featureList(_0x4dfcf3){const _0xbe7d90=_0x2b49e1,_0x315e15={'fRJsN':function(_0x4c001a){return _0x4c001a();},'lxARG':function(_0x71cf09,_0xd85298){return _0x71cf09(_0xd85298);},'bukNn':function(_0x3bcc6e,_0x3ed976){return _0x3bcc6e>_0x3ed976;},'ZIKGE':function(_0x1668cf,_0x4d0cad){return _0x1668cf+_0x4d0cad;},'OLyaU':function(_0x4e59a4,_0x284d0e){return _0x4e59a4<_0x284d0e;},'AKpVq':function(_0x199123,_0x1e9ab0){return _0x199123!==_0x1e9ab0;},'emfNM':_0xbe7d90(0x16c)},_0x51b08f={'limit':_0x4dfcf3['limit']??0xa,'offset':_0x4dfcf3['offset']??0x0,'includeDeleted':_0x4dfcf3[_0xbe7d90(0x1cd)]};_0x4dfcf3['currentBranch']&&(_0x51b08f['gitRepoUrl']=getGitRepoUrl(),_0x51b08f['gitBranch']=_0x315e15['fRJsN'](getGitBranch));const _0x2e4fe7=await _0x315e15['lxARG'](listFeatures,_0x51b08f);if(_0x2e4fe7['items']['length']===0x0){console[_0xbe7d90(0x130)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x515a96=_0x315e15[_0xbe7d90(0x17d)](_0x2e4fe7[_0xbe7d90(0x116)],_0x2e4fe7['items'][_0xbe7d90(0x16b)])?_0xbe7d90(0x1f1)+_0x2e4fe7['items'][_0xbe7d90(0x16b)]+_0xbe7d90(0x126)+_0x2e4fe7['totalCount']:_0x2e4fe7['totalCount']+_0xbe7d90(0x196);console['log']('\x0a'+_0x515a96+':\x0a');for(const _0x4bee07 of _0x2e4fe7[_0xbe7d90(0x143)]){console[_0xbe7d90(0x130)](''+_0x4bee07['name']),console['log'](_0xbe7d90(0x17c)+_0x4bee07['id']),_0x4bee07[_0xbe7d90(0x14d)]&&console[_0xbe7d90(0x130)](_0xbe7d90(0x1dc)+getProgressDisplay(_0x4bee07[_0xbe7d90(0x14d)])),_0x4bee07[_0xbe7d90(0x14a)]&&console['log'](_0xbe7d90(0x15b)+_0x4bee07[_0xbe7d90(0x14a)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x4bee07[_0xbe7d90(0x161)])['toLocaleDateString']()),console[_0xbe7d90(0x130)]('');}const _0x3ea93d=_0x51b08f[_0xbe7d90(0x1d4)]??0xa,_0xb5ba4b=_0x315e15['ZIKGE'](_0x51b08f[_0xbe7d90(0x132)]??0x0,_0x2e4fe7[_0xbe7d90(0x143)]['length']);if(_0x315e15['OLyaU'](_0xb5ba4b,_0x2e4fe7['totalCount'])){const _0x3866b9=_0x315e15[_0xbe7d90(0x16a)](_0x3ea93d,0xa)?'\x20--limit\x20'+_0x3ea93d:'',_0x45c8fe=_0x4dfcf3[_0xbe7d90(0x1a1)]?'\x20--current-branch':'',_0x38f177=_0x4dfcf3[_0xbe7d90(0x1cd)]?_0x315e15[_0xbe7d90(0x13b)]:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0xb5ba4b+_0x3866b9+_0x45c8fe+_0x38f177);}}export async function featureShow(_0x172a93){const _0x492e7d=_0x2b49e1,_0x115214={'OVehD':function(_0x57f20b){return _0x57f20b();},'JLIrz':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CWNaY':function(_0x4c5080,_0x1ffa60){return _0x4c5080(_0x1ffa60);}},_0x3ccc34=_0x172a93||await _0x115214[_0x492e7d(0x168)](getActiveFeatureId);if(!_0x3ccc34)throw new Error(_0x115214['JLIrz']);const _0x2efd5e=await _0x115214[_0x492e7d(0x152)](getFeature,_0x3ccc34);displayFeature(_0x2efd5e,_0x2efd5e[_0x492e7d(0x1b5)]);}function _0x8f54(_0x52a3cd,_0x4c53d5){_0x52a3cd=_0x52a3cd-0x111;const _0x9fb558=_0x9fb5();let _0x8f5410=_0x9fb558[_0x52a3cd];return _0x8f5410;}export async function featureResume(_0xa74a31){const _0x4d6819=_0x2b49e1,_0x4282e6={'cMGVa':function(_0x1f9fc7,_0x27acf8){return _0x1f9fc7(_0x27acf8);},'zTrNe':function(_0x59f966){return _0x59f966();},'hsPhA':function(_0x2dd70c,_0x1b6dac){return _0x2dd70c!==_0x1b6dac;},'toxAY':function(_0x18c41c,_0x271f44,_0x2b46ae){return _0x18c41c(_0x271f44,_0x2b46ae);},'xOFmN':function(_0x235979,_0x44d43a){return _0x235979||_0x44d43a;},'syImV':'any','oTpVO':function(_0x1b97ef,_0x561a04){return _0x1b97ef(_0x561a04);},'XlEcx':function(_0x4a5c45,_0x1ea21e){return _0x4a5c45===_0x1ea21e;},'pAhoC':_0x4d6819(0x1a3),'mMPGL':_0x4d6819(0x175),'ZMkdQ':_0x4d6819(0x141),'pCvWB':_0x4d6819(0x1be),'fpsks':function(_0x49c95f,_0x376438){return _0x49c95f(_0x376438);}};if(_0xa74a31){const _0x440262=await getFeature(_0xa74a31);await _0x4282e6['cMGVa'](setActiveFeatureId,_0x440262['id']);const _0x3a2262=_0x4282e6[_0x4d6819(0x1e6)](getGitBranch);_0x3a2262&&_0x4282e6[_0x4d6819(0x151)](_0x3a2262,_0x440262['gitBranch'])&&(await updateFeature(_0x440262['id'],{'gitBranch':_0x3a2262}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3a2262));console[_0x4d6819(0x130)](_0x4d6819(0x138)+_0x440262['name']+'\x20('+_0x440262['id']+')'),await _0x4282e6[_0x4d6819(0x18a)](tryStartCurrentSession,_0x440262['id']);const _0x6e969e=process['env']['CLAUDE_SESSION_ID'];_0x6e969e&&_0x4282e6['toxAY'](registerSession,_0x6e969e,_0x440262['id']);displayFeature(_0x440262,_0x440262[_0x4d6819(0x1b5)]),await printFeedbackNudge(_0x440262['id']);return;}const _0x1e316e=getGitRepoUrl(),_0x537c12=getGitBranch();if(!_0x1e316e&&!_0x537c12)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x4282e6[_0x4d6819(0x179)](_0x1e316e,_0x4d6819(0x149))+_0x4d6819(0x1ca)+_0x4282e6['xOFmN'](_0x537c12,_0x4282e6[_0x4d6819(0x12d)])+'...');const _0x2235fd=await _0x4282e6['oTpVO'](listFeatures,{'gitRepoUrl':_0x1e316e,'gitBranch':_0x537c12}),_0xc6d31f=_0x2235fd['items'][_0x4d6819(0x154)](_0x26be41=>!_0x26be41['completedAt']);if(_0x4282e6[_0x4d6819(0x1cf)](_0xc6d31f['length'],0x0)){console[_0x4d6819(0x130)](_0x4282e6['pAhoC']),console['log'](_0x4d6819(0x127));return;}let _0xa084f8;if(_0xc6d31f[_0x4d6819(0x16b)]===0x1)_0xa084f8=_0xc6d31f[0x0];else{const _0x3008ce=process[_0x4d6819(0x164)]['isTTY']&&process[_0x4d6819(0x1ba)][_0x4d6819(0x189)];if(!_0x3008ce){console[_0x4d6819(0x130)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x3b4908 of _0xc6d31f){console[_0x4d6819(0x130)]('\x20\x20'+_0x3b4908['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0x3b4908['id']),_0x3b4908['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x4282e6['cMGVa'](getProgressDisplay,_0x3b4908['stats'])),_0x3b4908[_0x4d6819(0x14a)]&&console['log'](_0x4d6819(0x1db)+_0x3b4908['gitBranch']);}throw new Error(_0x4d6819(0x174));}const {selected:_0x26d1b7}=await _0x189e33[_0x4d6819(0x187)]([{'type':_0x4282e6[_0x4d6819(0x111)],'name':_0x4282e6['ZMkdQ'],'message':_0x4282e6[_0x4d6819(0x146)],'choices':_0xc6d31f[_0x4d6819(0x1da)](_0x8c1323=>({'name':_0x8c1323[_0x4d6819(0x1d8)]+'\x20('+_0x8c1323['id']+')','value':_0x8c1323['id']}))}]);_0xa084f8=_0xc6d31f['find'](_0x2abd3b=>_0x2abd3b['id']===_0x26d1b7);}await setActiveFeatureId(_0xa084f8['id']);_0x537c12&&_0x537c12!==_0xa084f8['gitBranch']&&(await updateFeature(_0xa084f8['id'],{'gitBranch':_0x537c12}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x537c12));console['log'](_0x4d6819(0x138)+_0xa084f8['name']+'\x20('+_0xa084f8['id']+')'),await _0x4282e6[_0x4d6819(0x11d)](tryStartCurrentSession,_0xa084f8['id']);const _0x5eec7a=await getFeature(_0xa084f8['id']),_0x13cecc=process['env'][_0x4d6819(0x172)];_0x13cecc&&_0x4282e6[_0x4d6819(0x18f)](registerSession,_0x13cecc,_0x5eec7a['id']),displayFeature(_0x5eec7a,_0x5eec7a[_0x4d6819(0x1b5)]),await printFeedbackNudge(_0x5eec7a['id']);}async function printFeedbackNudge(_0xc635ee){const _0x4f045c=_0x2b49e1;try{const {items:_0x43c2dd}=await getActionItems(_0xc635ee);let _0x3d7a1a=0x0,_0x42b57c=0x0;for(const _0x82fe08 of _0x43c2dd){const _0x373fad=await getItemFeedback(_0xc635ee,_0x82fe08['id']);_0x373fad['unaddressedComments']['length']>0x0&&(_0x3d7a1a+=_0x373fad[_0x4f045c(0x198)][_0x4f045c(0x16b)],_0x42b57c++);}_0x3d7a1a>0x0&&(console[_0x4f045c(0x130)]('\x0a⚠️\x20\x20'+_0x3d7a1a+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x42b57c+'\x20scenario(s).'),console[_0x4f045c(0x130)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x5cf338){const _0xe09828=_0x2b49e1,_0x6bc362={'LFRpC':function(_0x5bed16,_0x49c3ea,_0x422d50){return _0x5bed16(_0x49c3ea,_0x422d50);}};try{const {sessions:_0x1d1cc2}=await listFeatureSessions(_0x5cf338),_0x59c02b=_0x1d1cc2['find'](_0x1db3e9=>_0x1db3e9[_0xe09828(0x1d2)]==='ready');_0x59c02b&&(await _0x6bc362[_0xe09828(0x1e3)](startSession,_0x5cf338,_0x59c02b['id']),console[_0xe09828(0x130)](_0xe09828(0x122)+_0x59c02b['iteration']));}catch{}}export async function featureReport(_0x32b698,_0x23e9c3){const _0x27890e=_0x2b49e1,_0x35b19f={'mSVyf':'\x0aGenerating\x20report...','Jyqyh':function(_0x939ddd,_0x122bd8,_0x479626,_0x4be099){return _0x939ddd(_0x122bd8,_0x479626,_0x4be099);},'rBxsb':_0x27890e(0x11c),'sBcCb':function(_0x2187ec,_0x38ed83){return _0x2187ec(_0x38ed83);},'fMCVB':_0x27890e(0x18c)},_0x1f2886=_0x32b698||await getActiveFeatureId();if(!_0x1f2886)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x35b19f['mSVyf']);const _0x4e428d=await getFeatureReportMarkdown(_0x1f2886,{'style':_0x23e9c3[_0x27890e(0x1c3)]}),_0x693d3d=_0x23e9c3['output']||_0x35b19f[_0x27890e(0x12a)](join,getRangerDir(),_0x35b19f['rBxsb'],_0x1f2886+'.md'),_0x57a8ef=join(_0x693d3d,'..');!_0x35b19f['sBcCb'](existsSync,_0x57a8ef)&&await mkdir(_0x57a8ef,{'recursive':!![]}),await _0x35b19f['Jyqyh'](writeFile,_0x693d3d,_0x4e428d,_0x35b19f[_0x27890e(0x157)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x693d3d);}function getScenarioResult(_0x3f0519){const _0x17ac39=_0x2b49e1,_0x1d1b32={'UADwk':'closed'};if(_0x3f0519[_0x17ac39(0x1d2)]===_0x17ac39(0x199))return _0x3f0519[_0x17ac39(0x1b1)]??_0x1d1b32[_0x17ac39(0x14f)];if(_0x3f0519[_0x17ac39(0x1d2)]===_0x17ac39(0x1af))return'in_progress';return _0x3f0519['status'];}function getScenarioRationale(_0x422372,_0x542839){const _0x3ff774=_0x2b49e1;if(_0x542839)return _0x542839;if(_0x422372[_0x3ff774(0x1ac)])return _0x422372['blockedReason'];if(_0x422372['incompleteReason'])return _0x422372[_0x3ff774(0x1e0)];if(_0x422372['canceledReason'])return _0x422372['canceledReason'];if(_0x422372[_0x3ff774(0x1e4)])return _0x422372[_0x3ff774(0x1e4)];return null;}export async function featureReportPrDescription(_0x46f8e4,_0x845838){const _0x5704cb=_0x2b49e1,_0x4d4e35={'muHdU':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','hBBqx':'\x0aAvailable\x20scenarios:','mayWm':function(_0x36e16a,_0x29e024){return _0x36e16a===_0x29e024;},'FQnyS':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','kDUIT':function(_0x5eb492,_0x52c833,_0x35fe22,_0x5572a2){return _0x5eb492(_0x52c833,_0x35fe22,_0x5572a2);},'BFlHT':function(_0x30b478,_0x1277c9,_0x4865af){return _0x30b478(_0x1277c9,_0x4865af);}},_0x13fe89=_0x46f8e4||await getActiveFeatureId();if(!_0x13fe89)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x49500c=await getFeature(_0x13fe89),_0x2708f8=_0x49500c[_0x5704cb(0x1b5)]||[],_0x9851c9=getCurrentSessionItems(_0x49500c,_0x2708f8);_0x9851c9[_0x5704cb(0x16b)]===0x0&&(console['error'](_0x4d4e35[_0x5704cb(0x166)]),process[_0x5704cb(0x1ad)](0x1));const _0x2f5045=_0x845838[_0x5704cb(0x1ed)]??[],_0x14abb1=_0x2f5045[_0x5704cb(0x154)](_0x53b065=>!Number[_0x5704cb(0x18b)](_0x53b065)||_0x53b065<0x1||_0x53b065>_0x9851c9[_0x5704cb(0x16b)]);if(_0x14abb1['length']>0x0){console[_0x5704cb(0x1b3)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x14abb1['join'](',\x20')),console['log'](_0x4d4e35['hBBqx']);for(let _0x127146=0x0;_0x127146<_0x9851c9['length'];_0x127146++){console[_0x5704cb(0x130)]('\x20\x20'+(_0x127146+0x1)+'.\x20'+_0x9851c9[_0x127146][_0x5704cb(0x17b)]);}process[_0x5704cb(0x1ad)](0x1);}const _0x3cfae7=new Set(_0x2f5045['map'](_0x45edd2=>_0x45edd2-0x1)),_0x451b80=_0x9851c9[_0x5704cb(0x154)]((_0x22957f,_0x9ac2d6)=>!_0x3cfae7['has'](_0x9ac2d6));_0x4d4e35[_0x5704cb(0x19a)](_0x451b80[_0x5704cb(0x16b)],0x0)&&(console['error'](_0x4d4e35['FQnyS']),process[_0x5704cb(0x1ad)](0x1));if(_0x845838['json'])await _0x4d4e35[_0x5704cb(0x1f2)](outputJsonReport,_0x13fe89,_0x49500c,_0x451b80);else{const _0x493669=await _0x4d4e35[_0x5704cb(0x131)](getFeatureReportMarkdown,_0x13fe89,{'itemIds':_0x451b80['map'](_0x1305ff=>_0x1305ff['id'])});process['stdout'][_0x5704cb(0x153)](_0x493669[_0x5704cb(0x16e)]()+'\x0a');}}async function outputJsonReport(_0xa95159,_0x4050c4,_0x1436ef){const _0x134d5a=_0x2b49e1,_0x345550={'nUyfd':function(_0x1e44b3,_0x5f4edf){return _0x1e44b3(_0x5f4edf);},'LQsaQ':function(_0x25fa7b,_0x85e29,_0xe8f363){return _0x25fa7b(_0x85e29,_0xe8f363);},'bKIHn':function(_0x2d1c14){return _0x2d1c14();},'xanfg':function(_0x73da8e,_0x33a842){return _0x73da8e+_0x33a842;}},_0x297102=_0x345550['bKIHn'](getApiBaseUrl),_0x58e7cf=await _0x345550[_0x134d5a(0x1f5)](getFeatureReport,_0xa95159),_0x596ff4=new Map(_0x58e7cf['checklistItems'][_0x134d5a(0x1da)](_0x9ecfd0=>[_0x9ecfd0['id'],_0x9ecfd0])),_0xc202f2=await Promise['all'](_0x1436ef['map'](async _0x5e5ad3=>{const _0x436aa5=_0x134d5a,_0x293a97=_0x596ff4[_0x436aa5(0x133)](_0x5e5ad3['id']),_0x96b57f=_0x293a97?.[_0x436aa5(0x1c4)]??null;let _0x10aef6=[];if(_0x5e5ad3['browserSessionId'])try{const {steps:_0x3efc4e}=await _0x345550[_0x436aa5(0x1f5)](getBrowserSessionSteps,_0x5e5ad3[_0x436aa5(0x1bb)]);_0x3efc4e['length']>0x0&&(_0x10aef6=_0x3efc4e[_0x436aa5(0x1da)](_0x1a5f5b=>{const _0x17e4c7=_0x436aa5,_0x57a970=_0x1a5f5b['assets'][_0x17e4c7(0x182)](_0x4291f0=>_0x4291f0['assetType']===_0x17e4c7(0x135)&&_0x4291f0[_0x17e4c7(0x125)]===_0x17e4c7(0x11e))??_0x1a5f5b['assets']['find'](_0x1d6993=>_0x1d6993[_0x17e4c7(0x124)]===_0x17e4c7(0x135));let _0x58601e=null,_0x3b17a8=null;if(_0x57a970){const _0x186254=_0x57a970['storage'][_0x17e4c7(0x185)][_0x17e4c7(0x1e1)]('/')[_0x17e4c7(0x19b)]();_0x58601e=_0x297102+_0x17e4c7(0x156)+_0x5e5ad3['browserSessionId']+'/artifacts/'+_0x186254,_0x186254&&(_0x3b17a8=_0x186254['replace'](/\.\w+$/,'')[_0x17e4c7(0x1f0)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x3b17a8||_0x1a5f5b[_0x17e4c7(0x17b)]||_0x1a5f5b['stepName']||'Step\x20'+_0x1a5f5b[_0x17e4c7(0x13a)],'screenshot':_0x58601e,'is_key_step':_0x1a5f5b['isKeyStep']};}));}catch{}return _0x10aef6[_0x436aa5(0x16b)]===0x0&&_0x96b57f?.['screenshotUrls']&&(_0x10aef6=_0x96b57f[_0x436aa5(0x1e7)][_0x436aa5(0x1da)]((_0x57198a,_0x551413)=>({'description':'Screenshot\x20'+(_0x551413+0x1),'screenshot':_0x57198a,'is_key_step':![]}))),{'description':_0x5e5ad3[_0x436aa5(0x17b)],'result':_0x345550[_0x436aa5(0x1f5)](getScenarioResult,_0x5e5ad3),'rationale':_0x345550['LQsaQ'](getScenarioRationale,_0x5e5ad3,_0x96b57f?.[_0x436aa5(0x1c2)]),'steps':_0x10aef6};})),_0x3b8d89={'url':_0x4050c4[_0x134d5a(0x1bd)],'scenarios':_0xc202f2};process['stdout']['write'](_0x345550['xanfg'](JSON['stringify'](_0x3b8d89,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x2a4aac){const _0x179565=_0x2b49e1,_0x2f8e30={'BxQUA':function(_0xf104ae){return _0xf104ae();},'ocPDx':function(_0x11e78a,_0x1a208e){return _0x11e78a(_0x1a208e);},'EcWBB':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','NvOkT':'Current\x20session\x20not\x20found.','ZAKya':_0x179565(0x1b7),'gOtVy':'\x0a✅\x20Session\x20is\x20already\x20completed.','iTmIS':'\x0aConcluding\x20session...','cUBiy':function(_0x1d1d0d,_0x3fedea,_0x26c6ea){return _0x1d1d0d(_0x3fedea,_0x26c6ea);}},_0x5ebd6a=_0x2a4aac||await _0x2f8e30['BxQUA'](getActiveFeatureId);if(!_0x5ebd6a)throw new Error(_0x179565(0x115));const _0x252e6d=await _0x2f8e30['ocPDx'](getFeature,_0x5ebd6a);if(!_0x252e6d[_0x179565(0x1ee)])throw new Error(_0x2f8e30['EcWBB']);const {sessions:_0x35bd6a}=await listFeatureSessions(_0x5ebd6a),_0x22fe11=_0x35bd6a[_0x179565(0x182)](_0x49a19b=>_0x49a19b['id']===_0x252e6d['currentSessionId']);if(!_0x22fe11)throw new Error(_0x2f8e30['NvOkT']);if(_0x22fe11['status']===_0x2f8e30[_0x179565(0x190)]){console['log'](_0x2f8e30[_0x179565(0x1ec)]);return;}if(_0x22fe11['status']!==_0x179565(0x147))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x22fe11['status']);console[_0x179565(0x130)](_0x2f8e30['iTmIS']),await _0x2f8e30[_0x179565(0x1cc)](concludeSession,_0x5ebd6a,_0x252e6d[_0x179565(0x1ee)]),console[_0x179565(0x130)](_0x179565(0x1d7)+_0x22fe11['iteration']+'\x20concluded.'),console[_0x179565(0x130)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x3fd09d){const _0x38e5ad=_0x2b49e1,_0x1b18a0={'IxhzC':function(_0x2f617e,_0x3cf42e){return _0x2f617e(_0x3cf42e);},'EGcOY':'No\x20sessions\x20found.','TZBrV':function(_0x58f762,_0x2a7a10){return _0x58f762===_0x2a7a10;},'GyxSv':_0x38e5ad(0x1b7),'DXabf':'in_progress'},_0x1a7015=_0x3fd09d||await getActiveFeatureId();if(!_0x1a7015)throw new Error(_0x38e5ad(0x121));const _0x353f4b=await _0x1b18a0['IxhzC'](getFeature,_0x1a7015);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x353f4b[_0x38e5ad(0x1d8)]+'\x0a');const {sessions:_0x66479c}=await _0x1b18a0[_0x38e5ad(0x13c)](listFeatureSessions,_0x1a7015);if(_0x66479c[_0x38e5ad(0x16b)]===0x0){console['log'](_0x1b18a0['EGcOY']);return;}for(const _0x27b970 of _0x66479c){const _0x272c57=_0x1b18a0[_0x38e5ad(0x113)](_0x27b970['status'],_0x1b18a0[_0x38e5ad(0x1bc)])?'✅':_0x27b970['status']===_0x1b18a0[_0x38e5ad(0x1a9)]?'🔄':'▶️';console[_0x38e5ad(0x130)](_0x272c57+'\x20Session\x20'+_0x27b970['iteration']+'\x20('+_0x27b970['id']+')'),console['log'](_0x38e5ad(0x1c5)+_0x27b970['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x27b970['createdAt'])['toLocaleString']()),_0x27b970[_0x38e5ad(0x15f)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x27b970['completedAt'])[_0x38e5ad(0x19e)]()),console['log']('');}}export async function featureAddScenario(_0x3784d1,_0x5d2360){const _0x3aec06=_0x2b49e1,_0x1aaac3={'tnAnC':function(_0x36177a){return _0x36177a();},'KQTnm':_0x3aec06(0x115),'eYnNq':function(_0x12bcc6,_0x579f88,_0x1917b1){return _0x12bcc6(_0x579f88,_0x1917b1);}},_0x4c213c=_0x5d2360||await _0x1aaac3[_0x3aec06(0x1b0)](getActiveFeatureId);if(!_0x4c213c)throw new Error(_0x1aaac3[_0x3aec06(0x159)]);const _0x47f25e=await getFeature(_0x4c213c);if(_0x47f25e['latestReview']&&!_0x47f25e[_0x3aec06(0x170)][_0x3aec06(0x144)])throw new Error(_0x3aec06(0x17f)+_0x47f25e[_0x3aec06(0x1bd)]);await _0x1aaac3['eYnNq'](createChecklistItem,_0x4c213c,_0x3784d1);const _0x1fdbbe=await getFeature(_0x4c213c);console[_0x3aec06(0x130)]('\x0a✅\x20Scenario\x20added'),_0x1aaac3['eYnNq'](displayFeature,_0x1fdbbe,_0x1fdbbe['checklistItems']);}export async function featureEditScenario(_0x252880,_0x48242c){const _0x4c3da1=_0x2b49e1,_0x31a416={'dDYqa':function(_0xb2db60,_0x28c2ba){return _0xb2db60(_0x28c2ba);},'LSbtf':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','QKyex':'Please\x20finish\x20your\x20review\x20first:','lElDM':_0x4c3da1(0x1eb),'dWsWh':function(_0x114d52,_0x55ad37){return _0x114d52<_0x55ad37;},'fdawK':function(_0x59880d,_0x405ce2){return _0x59880d>=_0x405ce2;},'iqTKZ':function(_0x499bde,_0x66ac69){return _0x499bde<_0x66ac69;},'cOViT':function(_0xce62ae,_0x382c85){return _0xce62ae+_0x382c85;}},_0x2af417=_0x48242c['id']||await getActiveFeatureId();!_0x2af417&&(console[_0x4c3da1(0x1b3)](_0x4c3da1(0x1a5)),console[_0x4c3da1(0x1b3)](_0x4c3da1(0x1ea)),process[_0x4c3da1(0x1ad)](0x1));const _0x12a859=await _0x31a416[_0x4c3da1(0x1ab)](getFeature,_0x2af417);_0x12a859['latestReview']&&!_0x12a859['latestReview'][_0x4c3da1(0x144)]&&(console[_0x4c3da1(0x1b3)](_0x31a416['LSbtf']),console[_0x4c3da1(0x1b3)](_0x31a416[_0x4c3da1(0x1b6)]),console[_0x4c3da1(0x1b3)]('\x20\x20'+_0x12a859[_0x4c3da1(0x1bd)]),process[_0x4c3da1(0x1ad)](0x1));const _0x3e3884=_0x12a859['checklistItems']||[];_0x3e3884['length']===0x0&&(console['error'](_0x31a416['lElDM']),process['exit'](0x1));if(_0x48242c['scenario']===undefined){console['error'](_0x4c3da1(0x12e)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x288bea=0x0;_0x31a416['dWsWh'](_0x288bea,_0x3e3884[_0x4c3da1(0x16b)]);_0x288bea++){console[_0x4c3da1(0x130)]('\x20\x20'+(_0x288bea+0x1)+'.\x20'+_0x3e3884[_0x288bea]['description']);}process[_0x4c3da1(0x1ad)](0x1);}const _0x22625e=_0x48242c['scenario']-0x1;if(_0x22625e<0x0||_0x31a416['fdawK'](_0x22625e,_0x3e3884[_0x4c3da1(0x16b)])){console[_0x4c3da1(0x1b3)](_0x4c3da1(0x1ef)+_0x48242c[_0x4c3da1(0x120)]+_0x4c3da1(0x1e2)+_0x3e3884[_0x4c3da1(0x16b)]+'\x20scenarios.'),console['log'](_0x4c3da1(0x150));for(let _0x3b3ae8=0x0;_0x31a416[_0x4c3da1(0x142)](_0x3b3ae8,_0x3e3884['length']);_0x3b3ae8++){console[_0x4c3da1(0x130)]('\x20\x20'+_0x31a416['cOViT'](_0x3b3ae8,0x1)+'.\x20'+_0x3e3884[_0x3b3ae8]['description']);}process[_0x4c3da1(0x1ad)](0x1);}const _0x104011=_0x3e3884[_0x22625e];await updateChecklistItem(_0x2af417,_0x104011['id'],{'description':_0x252880});const _0xb46ae6=await getFeature(_0x2af417);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0xb46ae6,_0xb46ae6['checklistItems']);}async function downloadFeedbackImage(_0x253834,_0x2a6d0d){const _0x1857e3=_0x2b49e1,_0x2138e0={'BSqCh':'feedback-images','rwVAH':function(_0x35412f,_0xfce2ad,_0x16b62b){return _0x35412f(_0xfce2ad,_0x16b62b);},'lTdvF':function(_0x296d0f,_0x41c219,_0x413aa4){return _0x296d0f(_0x41c219,_0x413aa4);}};try{const _0x368b52=join(getRangerDir(),_0x2138e0['BSqCh']);await _0x2138e0[_0x1857e3(0x1d3)](mkdir,_0x368b52,{'recursive':!![]});const _0x1e4fc1=join(_0x368b52,'comment_'+_0x2a6d0d+'.png'),_0x5b158f=await fetch(_0x253834);if(!_0x5b158f['ok'])return null;const _0x4f5e96=Buffer[_0x1857e3(0x1e8)](await _0x5b158f['arrayBuffer']());return await _0x2138e0['lTdvF'](writeFile,_0x1e4fc1,_0x4f5e96),_0x1e4fc1;}catch{return null;}}export async function featureGetReview(_0x4f4b2e){const _0x2233f7=_0x2b49e1,_0x56ab49={'YsdJR':function(_0x33ca50){return _0x33ca50();},'hvWVb':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZytxV':function(_0x4cba44,_0x83e8a6){return _0x4cba44(_0x83e8a6);},'EhRTP':function(_0x110c9e,_0x4ad4){return _0x110c9e<_0x4ad4;},'nVDKS':function(_0x4e6b9f,_0x2c692d){return _0x4e6b9f+_0x2c692d;},'pRJyR':_0x2233f7(0x1a8),'wjPav':_0x2233f7(0x178),'tkdLd':_0x2233f7(0x15e),'glsDo':function(_0x4f2630,_0x859de8,_0x1042f3){return _0x4f2630(_0x859de8,_0x1042f3);},'CaqLh':function(_0x4101cd,_0x4f4021){return _0x4101cd===_0x4f4021;},'gInXv':'point','lzDRq':function(_0x38214b,_0x3b3634){return _0x38214b>=_0x3b3634;}},_0x592079=_0x4f4b2e||await _0x56ab49['YsdJR'](getActiveFeatureId);if(!_0x592079)throw new Error(_0x56ab49[_0x2233f7(0x184)]);const _0xd76151=await getFeature(_0x592079),{items:_0xba96f8}=await _0x56ab49[_0x2233f7(0x1c6)](getActionItems,_0x592079);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0xd76151[_0x2233f7(0x1d8)]+'\x20('+_0xd76151['id']+')\x0a');if(_0xba96f8[_0x2233f7(0x16b)]===0x0){console['log'](_0x2233f7(0x1b9));return;}for(let _0x80afd3=0x0;_0x56ab49[_0x2233f7(0x14e)](_0x80afd3,_0xba96f8['length']);_0x80afd3++){const _0x1de65c=_0xba96f8[_0x80afd3],_0x5e66af=_0x1de65c['version']>0x1?'\x20(v'+_0x1de65c[_0x2233f7(0x1c8)]+')':'',_0x5ba148=await getItemFeedback(_0x592079,_0x1de65c['id']);if(_0x5ba148['unaddressedComments'][_0x2233f7(0x16b)]>0x0){console[_0x2233f7(0x130)]('Scenario\x20'+_0x56ab49[_0x2233f7(0x160)](_0x80afd3,0x1)+':\x20\x22'+_0x1de65c['description']+'\x22'+_0x5e66af+_0x2233f7(0x148)+_0x5ba148[_0x2233f7(0x198)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x3aaa74 of _0x5ba148['unaddressedComments']){const _0xc6f4e8=new Date(_0x3aaa74['createdAt'])['toLocaleDateString'](_0x56ab49[_0x2233f7(0x1a0)],{'month':_0x56ab49[_0x2233f7(0x13f)],'day':_0x2233f7(0x114)}),_0x5d1003=_0x3aaa74['authorName']||_0x3aaa74[_0x2233f7(0x12c)]||_0x56ab49[_0x2233f7(0x1d0)];console['log']('\x20\x20💬\x20'+_0x5d1003+'\x20('+_0xc6f4e8+'):\x20\x22'+_0x3aaa74['content']+'\x22');if(_0x3aaa74[_0x2233f7(0x118)]){const _0x1d1ad3=await _0x56ab49['glsDo'](downloadFeedbackImage,_0x3aaa74['assetUrl'],_0x3aaa74['id']);_0x1d1ad3&&console[_0x2233f7(0x130)](_0x2233f7(0x137)+_0x1d1ad3);}if(_0x3aaa74[_0x2233f7(0x16d)]){const _0x1f30f6=_0x3aaa74['domRef'][_0x2233f7(0x1a6)]['split']('\x20>\x20')[_0x2233f7(0x19b)]()?.[_0x2233f7(0x1e1)](':')[0x0]||'element',_0x249291=_0x3aaa74['domRef']['textContent']?'\x20\x22'+_0x3aaa74['domRef'][_0x2233f7(0x19f)][_0x2233f7(0x140)](0x0,0x3c)+'\x22':'';console[_0x2233f7(0x130)](_0x2233f7(0x123)+_0x1f30f6+'>'+_0x249291),console[_0x2233f7(0x130)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x3aaa74['domRef']['selector']);}else{if(_0x3aaa74[_0x2233f7(0x1b2)]){const _0x2591da=_0x3aaa74[_0x2233f7(0x1b2)][_0x2233f7(0x136)];_0x56ab49['CaqLh'](_0x3aaa74['spatial'][_0x2233f7(0x12b)],_0x56ab49[_0x2233f7(0x192)])&&_0x56ab49[_0x2233f7(0x1e9)](_0x2591da['length'],0x2)?console[_0x2233f7(0x130)](_0x2233f7(0x1cb)+_0x2591da[0x0]['toFixed'](0x2)+',\x20'+_0x2591da[0x1]['toFixed'](0x2)+')'):console[_0x2233f7(0x130)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3aaa74[_0x2233f7(0x1b2)]['type']+'\x20at\x20['+_0x2591da[_0x2233f7(0x1da)](_0x3bd6c5=>_0x3bd6c5[_0x2233f7(0x18d)](0x2))['join'](',\x20')+']');}}}if(_0x5ba148[_0x2233f7(0x183)]){console[_0x2233f7(0x130)](_0x2233f7(0x13d));for(const _0x55185e of _0x5ba148['canonicalFlow'][_0x2233f7(0x1e1)]('\x0a')){console['log'](_0x2233f7(0x180)+_0x55185e);}}}else console[_0x2233f7(0x130)](_0x2233f7(0x1b8)+(_0x80afd3+0x1)+_0x2233f7(0x194)+_0x1de65c['description']+'\x22'+_0x5e66af+_0x2233f7(0x139)),console['log'](_0x2233f7(0x1c7));console[_0x2233f7(0x130)]('');}}export async function featureDelete(_0x5091f0){const _0x5664b0=_0x2b49e1,_0x2ed0b2={'uHMGN':_0x5664b0(0x115),'OMYRd':function(_0x37ce03,_0x614528){return _0x37ce03(_0x614528);},'eaoRx':function(_0x599868,_0x212288){return _0x599868+_0x212288;},'PLhBg':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x50f461=_0x5091f0||await getActiveFeatureId();if(!_0x50f461)throw new Error(_0x2ed0b2['uHMGN']);const _0x3d4dfa=await _0x2ed0b2['OMYRd'](getFeature,_0x50f461);await softDeleteFeature(_0x50f461),console['log'](_0x5664b0(0x176)+_0x3d4dfa[_0x5664b0(0x1d8)]+'\x20('+_0x50f461+')'),console['log'](_0x2ed0b2[_0x5664b0(0x145)](_0x2ed0b2['PLhBg'],_0x50f461));}export async function featureRestore(_0x1b7eb5){const _0x12a7ec=_0x2b49e1;await restoreFeature(_0x1b7eb5);const _0x123ed0=await getFeature(_0x1b7eb5);console['log'](_0x12a7ec(0x12f)+_0x123ed0[_0x12a7ec(0x1d8)]+'\x20('+_0x1b7eb5+')'),displayFeature(_0x123ed0,_0x123ed0['checklistItems']);}
1
+ (function(_0x40170a,_0x55c12e){const _0xa6de93=_0x4bac,_0x3d853d=_0x40170a();while(!![]){try{const _0x51e9da=parseInt(_0xa6de93(0x1fe))/0x1*(-parseInt(_0xa6de93(0x25d))/0x2)+parseInt(_0xa6de93(0x275))/0x3+-parseInt(_0xa6de93(0x1f2))/0x4*(-parseInt(_0xa6de93(0x248))/0x5)+-parseInt(_0xa6de93(0x1ff))/0x6*(parseInt(_0xa6de93(0x28e))/0x7)+-parseInt(_0xa6de93(0x207))/0x8+parseInt(_0xa6de93(0x20a))/0x9+-parseInt(_0xa6de93(0x24a))/0xa*(-parseInt(_0xa6de93(0x1ee))/0xb);if(_0x51e9da===_0x55c12e)break;else _0x3d853d['push'](_0x3d853d['shift']());}catch(_0x3165d8){_0x3d853d['push'](_0x3d853d['shift']());}}}(_0x58f3,0xd0d5e));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5eeedd 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=_0x1c89d6=>'\x1b[1m'+_0x1c89d6+'\x1b[0m';function getGitRepoUrl(){const _0x150b80=_0x4bac,_0x351e02={'nWrwc':function(_0x4b1f1d,_0x3ef944,_0x192958){return _0x4b1f1d(_0x3ef944,_0x192958);},'FGnSK':'utf-8','LIxqi':'pipe'};try{const _0x3c709d=_0x351e02[_0x150b80(0x1f9)](execSync,_0x150b80(0x26a),{'encoding':_0x351e02[_0x150b80(0x1f7)],'stdio':[_0x150b80(0x25c),_0x351e02[_0x150b80(0x25e)],_0x351e02[_0x150b80(0x25e)]]})[_0x150b80(0x293)]();return _0x3c709d[_0x150b80(0x277)](/\.git$/,'')[_0x150b80(0x277)](/^git@github\.com:/,'github.com/')[_0x150b80(0x277)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x6f801a=_0x4bac,_0x4f92f9={'uMCOs':function(_0x5682dd,_0x11d674,_0x55c8fe){return _0x5682dd(_0x11d674,_0x55c8fe);},'ETiWm':_0x6f801a(0x243),'xDRrl':'pipe'};try{return _0x4f92f9[_0x6f801a(0x218)](execSync,_0x6f801a(0x209),{'encoding':_0x4f92f9['ETiWm'],'stdio':['pipe',_0x4f92f9[_0x6f801a(0x205)],_0x6f801a(0x25c)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3cb247=_0x4bac,_0x1d5826={'ZgfEb':function(_0x1ab241){return _0x1ab241();},'msfOx':_0x3cb247(0x243)},_0x3425af=join(_0x1d5826['ZgfEb'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x3425af))return null;try{const _0x112916=await readFile(_0x3425af,_0x1d5826['msfOx']);return _0x112916['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x262a24){const _0x448f29=_0x4bac,_0x5a3558={'YBgLI':function(_0x5492c8,_0x2a4f4c,_0x2e92bc,_0x20668e){return _0x5492c8(_0x2a4f4c,_0x2e92bc,_0x20668e);}},_0x298ed8=getRangerDir(),_0x2155de=join(_0x298ed8,ACTIVE_FEATURE_FILE);!existsSync(_0x298ed8)&&await mkdir(_0x298ed8,{'recursive':!![]}),await _0x5a3558[_0x448f29(0x246)](writeFile,_0x2155de,_0x262a24,_0x448f29(0x243));}function getProgressDisplay(_0x329b97){const _0x50ba59=_0x4bac,_0x220b82={'nSJch':function(_0x56d9f6,_0x3c3b02){return _0x56d9f6+_0x3c3b02;},'pMkcS':function(_0x411f9e,_0x5e0967){return _0x411f9e+_0x5e0967;},'rSEwg':function(_0x464b54,_0x23fc98){return _0x464b54-_0x23fc98;},'FnSmD':function(_0x5acd26,_0x182993){return _0x5acd26>_0x182993;},'gZAnc':function(_0x3044b0,_0x5787ef){return _0x3044b0>_0x5787ef;}},_0x520bd8=_0x329b97[_0x50ba59(0x253)]||0x0,_0x625454=_0x329b97[_0x50ba59(0x239)]||0x0,_0x3e82f3=_0x329b97[_0x50ba59(0x26f)]||0x0,_0x5e3a38=_0x329b97['incompleteItems']||0x0,_0x117f93=_0x329b97['pendingItems']||0x0,_0x1abccd=_0x220b82['nSJch'](_0x220b82[_0x50ba59(0x237)](_0x520bd8,_0x625454),_0x3e82f3)+_0x5e3a38+_0x117f93;if(_0x1abccd===0x0)return'-';const _0x240f9f=0xa,_0x1a44da=Math['round'](_0x520bd8/_0x1abccd*_0x240f9f),_0x1385d3='█'['repeat'](_0x1a44da)+'░'['repeat'](_0x220b82[_0x50ba59(0x213)](_0x240f9f,_0x1a44da)),_0x88738b=[];if(_0x3e82f3>0x0)_0x88738b['push'](_0x3e82f3+'\x20blocked');if(_0x5e3a38>0x0)_0x88738b[_0x50ba59(0x242)](_0x5e3a38+_0x50ba59(0x20c));if(_0x220b82[_0x50ba59(0x284)](_0x625454,0x0))_0x88738b[_0x50ba59(0x242)](_0x625454+'\x20in\x20progress');const _0x273ab4=_0x220b82[_0x50ba59(0x1fb)](_0x88738b['length'],0x0)?'\x20('+_0x88738b['join'](',\x20')+')':'';return _0x1385d3+'\x20'+_0x520bd8+'/'+_0x1abccd+'\x20verified'+_0x273ab4;}function getCurrentSessionItems(_0x2dacd7,_0x603786){const _0x481208=_0x4bac;if(!_0x2dacd7['currentSessionId'])return _0x603786['filter'](_0x3d5d6f=>!_0x3d5d6f['sessionId']);return _0x603786[_0x481208(0x278)](_0x161f31=>_0x161f31['sessionId']===_0x2dacd7['currentSessionId']||!_0x161f31[_0x481208(0x220)]);}function displayFeature(_0x3017e2,_0x29b837){const _0x20efda=_0x4bac,_0x453a04={'KiAso':function(_0x5c3ae0,_0x406ffc){return _0x5c3ae0>_0x406ffc;},'Cjpoo':function(_0x3791ad,_0x3c0421){return _0x3791ad<_0x3c0421;},'IuFos':_0x20efda(0x206),'gMjgi':function(_0x3018d,_0x13eef8){return _0x3018d===_0x13eef8;},'sfmHP':'approved','dWXmm':'verified','NDjcr':function(_0x1c5ee6,_0x3ebdcd){return _0x1c5ee6===_0x3ebdcd;},'NcoiU':function(_0xaa848e,_0x45f03b){return _0xaa848e!==_0x45f03b;},'GjcFF':'\x20[has\x20reviewer\x20feedback]','YaNgO':function(_0x2c51cc,_0x30a111){return _0x2c51cc+_0x30a111;},'iwjYI':_0x20efda(0x240),'hOXDX':function(_0x9fd4b,_0x3e3e90){return _0x9fd4b===_0x3e3e90;},'jFkBl':function(_0xecc225,_0x49f7c){return _0xecc225===_0x49f7c;}};console['log']('\x0a'+_0x3017e2['name']+'\x20('+_0x3017e2['dashboardUrl']+')');_0x3017e2[_0x20efda(0x1e0)]&&console[_0x20efda(0x217)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3017e2[_0x20efda(0x1e0)]));_0x3017e2[_0x20efda(0x1d6)]&&console['log'](_0x20efda(0x28d)+_0x3017e2['description']);_0x3017e2['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x3017e2['gitRepoUrl']);_0x3017e2['gitBranch']&&console['log'](_0x20efda(0x20f)+_0x3017e2['gitBranch']);console[_0x20efda(0x217)]('\x20\x20\x20Created:\x20'+new Date(_0x3017e2['createdAt'])['toLocaleString']());_0x3017e2[_0x20efda(0x23d)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3017e2[_0x20efda(0x23d)])['toLocaleString']());if(_0x29b837&&_0x453a04['KiAso'](_0x29b837[_0x20efda(0x1eb)],0x0)){console[_0x20efda(0x217)]('\x0a\x20\x20\x20Scenarios:');for(let _0x1d489d=0x0;_0x453a04['Cjpoo'](_0x1d489d,_0x29b837['length']);_0x1d489d++){const _0x4951d1=_0x29b837[_0x1d489d];let _0x1ffaf5;if(_0x4951d1[_0x20efda(0x25b)]===_0x453a04[_0x20efda(0x21f)]&&_0x453a04[_0x20efda(0x245)](_0x4951d1['terminalReason'],_0x453a04[_0x20efda(0x202)]))_0x1ffaf5='✅';else{if(_0x4951d1['status']===_0x453a04['dWXmm'])_0x1ffaf5='🟢';else{if(_0x4951d1[_0x20efda(0x25b)]==='incomplete')_0x1ffaf5='🟠';else{if(_0x453a04['gMjgi'](_0x4951d1['status'],'blocked'))_0x1ffaf5='🛑';else{if(_0x453a04['NDjcr'](_0x4951d1['status'],_0x453a04['IuFos']))_0x1ffaf5='⛔';else _0x4951d1['status']==='verification_in_progress'?_0x1ffaf5='⏳':_0x1ffaf5='⬜';}}}}const _0x26247a=_0x4951d1['version']>0x1?'\x20(v'+_0x4951d1['version']+')':'',_0x4f280e=_0x4951d1['version']>0x1&&_0x4951d1[_0x20efda(0x264)]&&_0x4951d1[_0x20efda(0x25b)]!=='closed'&&_0x453a04['NcoiU'](_0x4951d1['status'],_0x453a04['dWXmm'])?_0x453a04[_0x20efda(0x1f0)]:'';console[_0x20efda(0x217)](_0x20efda(0x221)+_0x453a04[_0x20efda(0x288)](_0x1d489d,0x1)+'.\x20'+_0x1ffaf5+'\x20'+_0x4951d1['description']+_0x26247a+_0x4f280e);_0x4951d1[_0x20efda(0x25b)]===_0x453a04['iwjYI']&&_0x4951d1['blockedReason']&&console[_0x20efda(0x217)](_0x20efda(0x289)+_0x4951d1['blockedReason']);_0x4951d1[_0x20efda(0x25b)]==='incomplete'&&_0x4951d1['incompleteReason']&&console['log'](_0x20efda(0x236)+_0x4951d1['incompleteReason']);if(_0x4951d1[_0x20efda(0x25b)]===_0x20efda(0x206)&&_0x453a04[_0x20efda(0x1e8)](_0x4951d1[_0x20efda(0x210)],'approved'))console[_0x20efda(0x217)](_0x20efda(0x235));else _0x453a04['jFkBl'](_0x4951d1['status'],_0x453a04[_0x20efda(0x21f)])&&_0x4951d1['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4951d1[_0x20efda(0x1ec)]);}}}function _0x4bac(_0x195396,_0xfebc9a){_0x195396=_0x195396-0x1d3;const _0x58f3a6=_0x58f3();let _0x4bac08=_0x58f3a6[_0x195396];return _0x4bac08;}export async function featureCreate(_0x19339c,_0x3f0d24){const _0x37b4d4=_0x4bac,_0xdbc751={'UomeD':function(_0x5a413a){return _0x5a413a();},'PHaYa':function(_0x45eee6,_0x5d9197){return _0x45eee6===_0x5d9197;},'Axpsc':function(_0x22a1f0,_0x4e32bc){return _0x22a1f0(_0x4e32bc);},'beoqp':function(_0x4c2307,_0x38024a,_0x165f01){return _0x4c2307(_0x38024a,_0x165f01);}},{envNames:_0x5f14de}=await _0xdbc751['UomeD'](getEnvNames);_0xdbc751['PHaYa'](_0x5f14de['length'],0x0)&&console[_0x37b4d4(0x23a)]('\x0a'+_0xdbc751[_0x37b4d4(0x1e7)](formatProfileRequiredMessage,_0x5285d2=>bold(_0x5285d2)));const _0xf8bd24=_0x3f0d24[_0x37b4d4(0x1f4)]?_0x3f0d24[_0x37b4d4(0x1f4)][_0x37b4d4(0x294)](_0x4edc4e=>_0x4edc4e['trim']()):[],_0x7fbd32=_0xdbc751[_0x37b4d4(0x201)](getGitRepoUrl),_0x5b2b83=getGitBranch();console['log']('\x0aCreating\x20feature\x20review...');const _0x1e9d55=await createFeature({'name':_0x19339c,'description':_0x3f0d24['description'],'checklist':_0xf8bd24,'gitRepoUrl':_0x7fbd32,'gitBranch':_0x5b2b83});await setActiveFeatureId(_0x1e9d55['id']),await _0xdbc751[_0x37b4d4(0x1e7)](tryStartCurrentSession,_0x1e9d55['id']);const _0x1d359f=process[_0x37b4d4(0x266)]['CLAUDE_SESSION_ID'];_0x1d359f&&_0xdbc751['beoqp'](registerSession,_0x1d359f,_0x1e9d55['id']),console['log'](_0x37b4d4(0x244)+_0x1e9d55['id']),displayFeature(_0x1e9d55,_0x1e9d55['checklistItems']),console['log'](_0x37b4d4(0x203));}export async function featureList(_0x2ca3fc){const _0x27a007=_0x4bac,_0x59dde3={'ZciFh':function(_0x803544){return _0x803544();},'RkkbC':function(_0x23d427,_0x144a32){return _0x23d427(_0x144a32);},'NHTLe':function(_0x451862,_0x43044b){return _0x451862>_0x43044b;},'WoVID':'\x20--include-deleted'},_0x4fcddf={'limit':_0x2ca3fc['limit']??0xa,'offset':_0x2ca3fc['offset']??0x0,'includeDeleted':_0x2ca3fc[_0x27a007(0x1d5)]};_0x2ca3fc[_0x27a007(0x1de)]&&(_0x4fcddf[_0x27a007(0x261)]=getGitRepoUrl(),_0x4fcddf[_0x27a007(0x22a)]=_0x59dde3[_0x27a007(0x226)](getGitBranch));const _0x11f637=await _0x59dde3['RkkbC'](listFeatures,_0x4fcddf);if(_0x11f637['items']['length']===0x0){console[_0x27a007(0x217)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x5ca8a3=_0x59dde3[_0x27a007(0x1f6)](_0x11f637['totalCount'],_0x11f637['items']['length'])?_0x27a007(0x27e)+_0x11f637[_0x27a007(0x1e3)][_0x27a007(0x1eb)]+_0x27a007(0x250)+_0x11f637[_0x27a007(0x252)]:_0x11f637[_0x27a007(0x252)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x5ca8a3+':\x0a');for(const _0x5ca130 of _0x11f637[_0x27a007(0x1e3)]){const _0x1e8a4b='0|3|2|4|1|5'[_0x27a007(0x23c)]('|');let _0x497f72=0x0;while(!![]){switch(_0x1e8a4b[_0x497f72++]){case'0':console[_0x27a007(0x217)](''+_0x5ca130[_0x27a007(0x259)]);continue;case'1':console['log'](_0x27a007(0x1e2)+new Date(_0x5ca130['createdAt'])[_0x27a007(0x234)]());continue;case'2':_0x5ca130['stats']&&console[_0x27a007(0x217)]('\x20\x20\x20Progress:\x20'+_0x59dde3['RkkbC'](getProgressDisplay,_0x5ca130['stats']));continue;case'3':console['log']('\x20\x20\x20ID:\x20'+_0x5ca130['id']);continue;case'4':_0x5ca130['gitBranch']&&console[_0x27a007(0x217)](_0x27a007(0x20f)+_0x5ca130['gitBranch']);continue;case'5':console[_0x27a007(0x217)]('');continue;}break;}}const _0x1ce94a=_0x4fcddf[_0x27a007(0x1fc)]??0xa,_0x177e3a=(_0x4fcddf[_0x27a007(0x27d)]??0x0)+_0x11f637['items'][_0x27a007(0x1eb)];if(_0x177e3a<_0x11f637['totalCount']){const _0x528ac0=_0x1ce94a!==0xa?'\x20--limit\x20'+_0x1ce94a:'',_0xc4f2d3=_0x2ca3fc['currentBranch']?'\x20--current-branch':'',_0x45eada=_0x2ca3fc[_0x27a007(0x1d5)]?_0x59dde3['WoVID']:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x177e3a+_0x528ac0+_0xc4f2d3+_0x45eada);}}export async function featureShow(_0x3c74f0){const _0x32bc72={'VywLT':function(_0x347bf3,_0x1aca6d){return _0x347bf3(_0x1aca6d);},'QyjSM':function(_0x413785,_0x524d3f,_0x3b4c0c){return _0x413785(_0x524d3f,_0x3b4c0c);}},_0x27e693=_0x3c74f0||await getActiveFeatureId();if(!_0x27e693)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 _0x2f3367=await _0x32bc72['VywLT'](getFeature,_0x27e693);_0x32bc72['QyjSM'](displayFeature,_0x2f3367,_0x2f3367['checklistItems']);}export async function featureResume(_0x9be4f5){const _0x26b193=_0x4bac,_0x577ce1={'dWdxa':function(_0x192b1d,_0x495744){return _0x192b1d(_0x495744);},'wlrPq':function(_0x2086a9,_0xd5048b){return _0x2086a9(_0xd5048b);},'khjKo':function(_0x2b1e74){return _0x2b1e74();},'fYOJn':function(_0x3f2087,_0x1934f6,_0x15638a){return _0x3f2087(_0x1934f6,_0x15638a);},'kgNCl':function(_0x476257){return _0x476257();},'KAbyQ':function(_0x16615b){return _0x16615b();},'opDnV':function(_0x2c50c9,_0x8c0dd6){return _0x2c50c9&&_0x8c0dd6;},'cmfgH':function(_0x5b264f,_0x4cff2b){return _0x5b264f||_0x4cff2b;},'SiDaa':function(_0x4b1a30,_0x243381){return _0x4b1a30===_0x243381;},'vsNTY':_0x26b193(0x1d4),'fxwGU':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','hBbJp':'list','cTGDm':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','wHSRX':function(_0x33a66e,_0x22bee4){return _0x33a66e!==_0x22bee4;},'PjSBm':function(_0x43af52,_0x1bc5e5){return _0x43af52(_0x1bc5e5);},'UYSRZ':function(_0x3db589,_0x55d17b,_0x512bb0){return _0x3db589(_0x55d17b,_0x512bb0);}};if(_0x9be4f5){const _0x38c364=await _0x577ce1['dWdxa'](getFeature,_0x9be4f5);await _0x577ce1[_0x26b193(0x211)](setActiveFeatureId,_0x38c364['id']);const _0xe38918=_0x577ce1['khjKo'](getGitBranch);_0xe38918&&_0xe38918!==_0x38c364['gitBranch']&&(await _0x577ce1[_0x26b193(0x269)](updateFeature,_0x38c364['id'],{'gitBranch':_0xe38918}),console['log'](_0x26b193(0x23b)+_0xe38918));console[_0x26b193(0x217)](_0x26b193(0x24f)+_0x38c364['name']+'\x20('+_0x38c364['id']+')'),await tryStartCurrentSession(_0x38c364['id']);const _0x1c59c1=process[_0x26b193(0x266)][_0x26b193(0x20b)];_0x1c59c1&&registerSession(_0x1c59c1,_0x38c364['id']);_0x577ce1['fYOJn'](displayFeature,_0x38c364,_0x38c364['checklistItems']),await printFeedbackNudge(_0x38c364['id']);return;}const _0x4a75c1=_0x577ce1['kgNCl'](getGitRepoUrl),_0x2a3259=_0x577ce1['KAbyQ'](getGitBranch);if(_0x577ce1[_0x26b193(0x282)](!_0x4a75c1,!_0x2a3259))throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x26b193(0x217)](_0x26b193(0x1d3)+_0x577ce1[_0x26b193(0x274)](_0x4a75c1,'any')+_0x26b193(0x1fa)+(_0x2a3259||_0x26b193(0x295))+'...');const _0x273926=await listFeatures({'gitRepoUrl':_0x4a75c1,'gitBranch':_0x2a3259}),_0x30c538=_0x273926[_0x26b193(0x1e3)][_0x26b193(0x278)](_0x4b43f8=>!_0x4b43f8['completedAt']);if(_0x577ce1['SiDaa'](_0x30c538['length'],0x0)){console[_0x26b193(0x217)](_0x26b193(0x214)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x21f8ee;if(_0x30c538[_0x26b193(0x1eb)]===0x1)_0x21f8ee=_0x30c538[0x0];else{const _0x1b1786=process[_0x26b193(0x1fd)][_0x26b193(0x258)]&&process['stdout']['isTTY'];if(!_0x1b1786){console['log'](_0x577ce1['vsNTY']);for(const _0x12e252 of _0x30c538){console[_0x26b193(0x217)]('\x20\x20'+_0x12e252[_0x26b193(0x259)]),console[_0x26b193(0x217)](_0x26b193(0x27a)+_0x12e252['id']),_0x12e252[_0x26b193(0x1e0)]&&console[_0x26b193(0x217)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x12e252[_0x26b193(0x1e0)])),_0x12e252[_0x26b193(0x22a)]&&console[_0x26b193(0x217)](_0x26b193(0x1e9)+_0x12e252[_0x26b193(0x22a)]);}throw new Error(_0x577ce1['fxwGU']);}const {selected:_0x172c29}=await _0x5eeedd[_0x26b193(0x287)]([{'type':_0x577ce1['hBbJp'],'name':'selected','message':_0x577ce1[_0x26b193(0x27f)],'choices':_0x30c538['map'](_0x148036=>({'name':_0x148036['name']+'\x20('+_0x148036['id']+')','value':_0x148036['id']}))}]);_0x21f8ee=_0x30c538[_0x26b193(0x223)](_0xae5d51=>_0xae5d51['id']===_0x172c29);}await setActiveFeatureId(_0x21f8ee['id']);_0x2a3259&&_0x577ce1[_0x26b193(0x28c)](_0x2a3259,_0x21f8ee[_0x26b193(0x22a)])&&(await _0x577ce1[_0x26b193(0x269)](updateFeature,_0x21f8ee['id'],{'gitBranch':_0x2a3259}),console['log'](_0x26b193(0x23b)+_0x2a3259));console[_0x26b193(0x217)](_0x26b193(0x24f)+_0x21f8ee['name']+'\x20('+_0x21f8ee['id']+')'),await _0x577ce1[_0x26b193(0x263)](tryStartCurrentSession,_0x21f8ee['id']);const _0x2e1052=await getFeature(_0x21f8ee['id']),_0x12f70f=process['env'][_0x26b193(0x20b)];_0x12f70f&&_0x577ce1['fYOJn'](registerSession,_0x12f70f,_0x2e1052['id']),_0x577ce1[_0x26b193(0x24d)](displayFeature,_0x2e1052,_0x2e1052[_0x26b193(0x28a)]),await _0x577ce1['PjSBm'](printFeedbackNudge,_0x2e1052['id']);}async function printFeedbackNudge(_0x52d0cd){const _0x5d2015=_0x4bac,_0x2ebf44={'SzVaZ':function(_0x53358b,_0x5dfa68){return _0x53358b(_0x5dfa68);},'oSpbk':function(_0x4932b8,_0x5a516c,_0x1d8337){return _0x4932b8(_0x5a516c,_0x1d8337);},'owUen':function(_0x333178,_0x4cf818){return _0x333178>_0x4cf818;}};try{const {items:_0x5f263a}=await _0x2ebf44[_0x5d2015(0x1db)](getActionItems,_0x52d0cd);let _0x40c291=0x0,_0x31cfcb=0x0;for(const _0x5e5b1b of _0x5f263a){const _0x33d70b=await _0x2ebf44['oSpbk'](getItemFeedback,_0x52d0cd,_0x5e5b1b['id']);_0x33d70b['unaddressedComments']['length']>0x0&&(_0x40c291+=_0x33d70b[_0x5d2015(0x27c)]['length'],_0x31cfcb++);}_0x2ebf44['owUen'](_0x40c291,0x0)&&(console['log']('\x0a⚠️\x20\x20'+_0x40c291+_0x5d2015(0x216)+_0x31cfcb+'\x20scenario(s).'),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x495c57){const _0x5be9c4=_0x4bac,_0x2806da={'wWjNK':function(_0x1de292,_0x24a16a){return _0x1de292(_0x24a16a);},'fkqOV':function(_0x4f0e7e,_0x5b53a5,_0x415d6a){return _0x4f0e7e(_0x5b53a5,_0x415d6a);}};try{const {sessions:_0x52e362}=await _0x2806da[_0x5be9c4(0x1ed)](listFeatureSessions,_0x495c57),_0x4a154a=_0x52e362['find'](_0x48cca9=>_0x48cca9[_0x5be9c4(0x25b)]==='ready');_0x4a154a&&(await _0x2806da['fkqOV'](startSession,_0x495c57,_0x4a154a['id']),console['log'](_0x5be9c4(0x1df)+_0x4a154a[_0x5be9c4(0x238)]));}catch{}}export async function featureReport(_0xe0f39c,_0x619ffe){const _0x34894e=_0x4bac,_0x3daf44={'EJwgD':'\x0aGenerating\x20report...','ScbdB':function(_0x35316c,_0x291a28,_0x466976,_0x443da8){return _0x35316c(_0x291a28,_0x466976,_0x443da8);},'QdTEy':'reports','TqUrZ':function(_0x2474e6,_0x6d4a73,_0x4e3880){return _0x2474e6(_0x6d4a73,_0x4e3880);}},_0x1f45a1=_0xe0f39c||await getActiveFeatureId();if(!_0x1f45a1)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x3daf44['EJwgD']);const _0x5961f1=await getFeatureReportMarkdown(_0x1f45a1,{'style':_0x619ffe['style']}),_0x5f37d6=_0x619ffe['output']||_0x3daf44[_0x34894e(0x21c)](join,getRangerDir(),_0x3daf44['QdTEy'],_0x1f45a1+_0x34894e(0x276)),_0x4a67e0=join(_0x5f37d6,'..');!existsSync(_0x4a67e0)&&await _0x3daf44['TqUrZ'](mkdir,_0x4a67e0,{'recursive':!![]}),await writeFile(_0x5f37d6,_0x5961f1,_0x34894e(0x243)),console[_0x34894e(0x217)]('\x0a✅\x20Report\x20generated:\x20'+_0x5f37d6);}function getScenarioResult(_0x2c8ad0){const _0x245d74=_0x4bac,_0x50e619={'IHhru':'closed','nBGeK':function(_0x3aa5b7,_0x4978a0){return _0x3aa5b7===_0x4978a0;}};if(_0x2c8ad0['status']===_0x50e619[_0x245d74(0x23e)])return _0x2c8ad0['terminalReason']??_0x50e619['IHhru'];if(_0x50e619['nBGeK'](_0x2c8ad0[_0x245d74(0x25b)],_0x245d74(0x28b)))return'in_progress';return _0x2c8ad0[_0x245d74(0x25b)];}function getScenarioRationale(_0x5b554e,_0x2bbbfd){const _0x405c76=_0x4bac;if(_0x2bbbfd)return _0x2bbbfd;if(_0x5b554e[_0x405c76(0x279)])return _0x5b554e[_0x405c76(0x279)];if(_0x5b554e['incompleteReason'])return _0x5b554e['incompleteReason'];if(_0x5b554e[_0x405c76(0x1ec)])return _0x5b554e['canceledReason'];if(_0x5b554e['notes'])return _0x5b554e[_0x405c76(0x26b)];return null;}export async function featureReportPrDescription(_0x1316d4,_0x341bff){const _0x3b07f7=_0x4bac,_0x44e857={'mUyfI':function(_0x1a8172){return _0x1a8172();},'AnGgC':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','hLEIS':function(_0x526000,_0x48fea0){return _0x526000>_0x48fea0;},'CDQEu':'\x0aAvailable\x20scenarios:','lUjtT':function(_0x5cfdef,_0x1f52fe){return _0x5cfdef<_0x1f52fe;},'VlXBt':function(_0x295673,_0x31adb4){return _0x295673+_0x31adb4;},'iEsQx':function(_0x183076,_0x26b2c3){return _0x183076===_0x26b2c3;},'uQWal':_0x3b07f7(0x270)},_0x5853c6=_0x1316d4||await _0x44e857['mUyfI'](getActiveFeatureId);if(!_0x5853c6)throw new Error(_0x44e857['AnGgC']);const _0x519407=await getFeature(_0x5853c6),_0xc5bf79=_0x519407['checklistItems']||[],_0x2ec963=getCurrentSessionItems(_0x519407,_0xc5bf79);_0x2ec963['length']===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0x3b07f7(0x1f5)](0x1));const _0x12eee9=_0x341bff[_0x3b07f7(0x1d7)]??[],_0x3be1d1=_0x12eee9[_0x3b07f7(0x278)](_0x34c2f7=>!Number['isInteger'](_0x34c2f7)||_0x34c2f7<0x1||_0x34c2f7>_0x2ec963['length']);if(_0x44e857['hLEIS'](_0x3be1d1[_0x3b07f7(0x1eb)],0x0)){console['error'](_0x3b07f7(0x292)+_0x3be1d1['join'](',\x20')),console[_0x3b07f7(0x217)](_0x44e857[_0x3b07f7(0x21b)]);for(let _0x270b4f=0x0;_0x44e857['lUjtT'](_0x270b4f,_0x2ec963[_0x3b07f7(0x1eb)]);_0x270b4f++){console['log']('\x20\x20'+_0x44e857['VlXBt'](_0x270b4f,0x1)+'.\x20'+_0x2ec963[_0x270b4f]['description']);}process['exit'](0x1);}const _0x429286=new Set(_0x12eee9[_0x3b07f7(0x294)](_0x3001bb=>_0x3001bb-0x1)),_0x5e0bdb=_0x2ec963[_0x3b07f7(0x278)]((_0x123b6f,_0x371742)=>!_0x429286[_0x3b07f7(0x21d)](_0x371742));_0x44e857[_0x3b07f7(0x268)](_0x5e0bdb['length'],0x0)&&(console[_0x3b07f7(0x232)](_0x44e857[_0x3b07f7(0x273)]),process['exit'](0x1));if(_0x341bff[_0x3b07f7(0x22b)])await outputJsonReport(_0x5853c6,_0x519407,_0x5e0bdb);else{const _0x3f2d77=await getFeatureReportMarkdown(_0x5853c6,{'itemIds':_0x5e0bdb[_0x3b07f7(0x294)](_0x27eb56=>_0x27eb56['id'])});process['stdout']['write'](_0x3f2d77[_0x3b07f7(0x208)]()+'\x0a');}}async function outputJsonReport(_0x4bb312,_0x49fe4a,_0x188d9e){const _0x3a0b7a=_0x4bac,_0x44f1e2={'UJEFm':function(_0x1a73d7,_0x3996e3){return _0x1a73d7+_0x3996e3;}},_0x4029e2=getApiBaseUrl(),_0x49b981=await getFeatureReport(_0x4bb312),_0x172048=new Map(_0x49b981['checklistItems'][_0x3a0b7a(0x294)](_0x25758a=>[_0x25758a['id'],_0x25758a])),_0x48a789=await Promise['all'](_0x188d9e['map'](async _0xbb3916=>{const _0x5e3acb=_0x3a0b7a,_0x204174=_0x172048['get'](_0xbb3916['id']),_0x5b12b4=_0x204174?.['linkedSession']??null;let _0xdfb4b8=[];if(_0xbb3916[_0x5e3acb(0x1e5)])try{const {steps:_0x51b9fc}=await getBrowserSessionSteps(_0xbb3916['browserSessionId']);_0x51b9fc[_0x5e3acb(0x1eb)]>0x0&&(_0xdfb4b8=_0x51b9fc[_0x5e3acb(0x294)](_0x162c81=>{const _0x3df8a8=_0x5e3acb,_0x2d9739=_0x162c81['assets']['find'](_0x510544=>_0x510544[_0x3df8a8(0x1d9)]==='screenshot'&&_0x510544['timing']===_0x3df8a8(0x219))??_0x162c81['assets']['find'](_0x408ca9=>_0x408ca9[_0x3df8a8(0x1d9)]==='screenshot');let _0x50e754=null,_0x567436=null;if(_0x2d9739){const _0x50ee0e=_0x2d9739[_0x3df8a8(0x241)][_0x3df8a8(0x1f8)]['split']('/')[_0x3df8a8(0x229)]();_0x50e754=_0x4029e2+_0x3df8a8(0x1f1)+_0xbb3916['browserSessionId']+_0x3df8a8(0x255)+_0x50ee0e,_0x50ee0e&&(_0x567436=_0x50ee0e['replace'](/\.\w+$/,'')[_0x3df8a8(0x277)](/^(key_)?\d+_/,'')[_0x3df8a8(0x277)](/[-_]/g,'\x20'));}return{'description':_0x567436||_0x162c81['description']||_0x162c81[_0x3df8a8(0x254)]||_0x3df8a8(0x272)+_0x162c81['position'],'screenshot':_0x50e754,'is_key_step':_0x162c81[_0x3df8a8(0x249)]};}));}catch{}return _0xdfb4b8[_0x5e3acb(0x1eb)]===0x0&&_0x5b12b4?.[_0x5e3acb(0x215)]&&(_0xdfb4b8=_0x5b12b4['screenshotUrls'][_0x5e3acb(0x294)]((_0x5cc215,_0x31a99e)=>({'description':'Screenshot\x20'+(_0x31a99e+0x1),'screenshot':_0x5cc215,'is_key_step':![]}))),{'description':_0xbb3916[_0x5e3acb(0x1d6)],'result':getScenarioResult(_0xbb3916),'rationale':getScenarioRationale(_0xbb3916,_0x5b12b4?.['agentResponse']),'steps':_0xdfb4b8};})),_0x408681={'url':_0x49fe4a[_0x3a0b7a(0x251)],'scenarios':_0x48a789};process['stdout']['write'](_0x44f1e2['UJEFm'](JSON[_0x3a0b7a(0x212)](_0x408681,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x22d79d){const _0x55916b=_0x4bac,_0x4d655e={'wYhkl':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','HTBMo':'completed','fPfvW':function(_0x43a34b,_0x12c35a){return _0x43a34b!==_0x12c35a;},'jNINu':'\x0aConcluding\x20session...','bVPnX':function(_0x587542,_0x3c5847,_0x3a5da9){return _0x587542(_0x3c5847,_0x3a5da9);}},_0x3cdb38=_0x22d79d||await getActiveFeatureId();if(!_0x3cdb38)throw new Error(_0x55916b(0x280));const _0x2c89ed=await getFeature(_0x3cdb38);if(!_0x2c89ed['currentSessionId'])throw new Error(_0x4d655e[_0x55916b(0x224)]);const {sessions:_0x4b1aca}=await listFeatureSessions(_0x3cdb38),_0x1c5248=_0x4b1aca[_0x55916b(0x223)](_0x29a8d6=>_0x29a8d6['id']===_0x2c89ed['currentSessionId']);if(!_0x1c5248)throw new Error('Current\x20session\x20not\x20found.');if(_0x1c5248['status']===_0x4d655e['HTBMo']){console[_0x55916b(0x217)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x4d655e['fPfvW'](_0x1c5248[_0x55916b(0x25b)],_0x55916b(0x286)))throw new Error(_0x55916b(0x1e4)+_0x1c5248[_0x55916b(0x25b)]);console[_0x55916b(0x217)](_0x4d655e['jNINu']),await _0x4d655e[_0x55916b(0x22f)](concludeSession,_0x3cdb38,_0x2c89ed['currentSessionId']),console['log'](_0x55916b(0x283)+_0x1c5248[_0x55916b(0x238)]+'\x20concluded.'),console['log'](_0x55916b(0x296));}export async function featureSessions(_0x1b6aa7){const _0x3fa419=_0x4bac,_0x307658={'mKDGc':function(_0x25d587,_0x1bb34c){return _0x25d587(_0x1bb34c);},'PAcPC':function(_0x21c725,_0x5c88c3){return _0x21c725===_0x5c88c3;},'SgtEt':function(_0x3531b7,_0x3e5863){return _0x3531b7===_0x3e5863;}},_0x5555d2=_0x1b6aa7||await getActiveFeatureId();if(!_0x5555d2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5a97e0=await getFeature(_0x5555d2);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5a97e0['name']+'\x0a');const {sessions:_0x464da5}=await _0x307658['mKDGc'](listFeatureSessions,_0x5555d2);if(_0x464da5[_0x3fa419(0x1eb)]===0x0){console['log'](_0x3fa419(0x1f3));return;}for(const _0x5352da of _0x464da5){const _0x3fe2bf=_0x307658['PAcPC'](_0x5352da[_0x3fa419(0x25b)],'completed')?'✅':_0x307658['SgtEt'](_0x5352da['status'],'in_progress')?'🔄':'▶️';console['log'](_0x3fe2bf+_0x3fa419(0x1ef)+_0x5352da['iteration']+'\x20('+_0x5352da['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x5352da[_0x3fa419(0x25b)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x5352da[_0x3fa419(0x1dd)])['toLocaleString']()),_0x5352da[_0x3fa419(0x23d)]&&console['log'](_0x3fa419(0x233)+new Date(_0x5352da[_0x3fa419(0x23d)])['toLocaleString']()),console[_0x3fa419(0x217)]('');}}export async function featureAddScenario(_0x409b71,_0x241387){const _0x448804=_0x4bac,_0x46545b={'oPxVv':function(_0x5d7d14,_0x16083b){return _0x5d7d14(_0x16083b);},'UQkXm':function(_0x3f4b35,_0x18529c,_0x4caaca){return _0x3f4b35(_0x18529c,_0x4caaca);},'eVkTC':function(_0x2dd909,_0x14288d,_0xd2b13){return _0x2dd909(_0x14288d,_0xd2b13);}},_0x59529f=_0x241387||await getActiveFeatureId();if(!_0x59529f)throw new Error(_0x448804(0x280));const _0x43a7ce=await _0x46545b['oPxVv'](getFeature,_0x59529f);if(_0x43a7ce[_0x448804(0x20d)]&&!_0x43a7ce['latestReview'][_0x448804(0x26e)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x43a7ce[_0x448804(0x251)]);await _0x46545b['UQkXm'](createChecklistItem,_0x59529f,_0x409b71);const _0x4303d9=await getFeature(_0x59529f);console['log'](_0x448804(0x25a)),_0x46545b[_0x448804(0x1da)](displayFeature,_0x4303d9,_0x4303d9[_0x448804(0x28a)]);}export async function featureEditScenario(_0x46ee19,_0x4aea8f){const _0x25845a=_0x4bac,_0x1d71c0={'mKPyy':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','LTzxp':function(_0x2b7aaf,_0x2aa91b){return _0x2b7aaf<_0x2aa91b;},'jVqXG':function(_0x3df8b2,_0x3e000f){return _0x3df8b2+_0x3e000f;},'rCDhq':function(_0x17d7a5,_0x4518b4,_0x599ca1,_0x452cde){return _0x17d7a5(_0x4518b4,_0x599ca1,_0x452cde);},'IRMiM':function(_0x196992,_0x4f3091,_0xe9e817){return _0x196992(_0x4f3091,_0xe9e817);}},_0x2ed92c=_0x4aea8f['id']||await getActiveFeatureId();!_0x2ed92c&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x25845a(0x232)](_0x1d71c0['mKPyy']),process[_0x25845a(0x1f5)](0x1));const _0x52a710=await getFeature(_0x2ed92c);_0x52a710['latestReview']&&!_0x52a710['latestReview']['submittedAt']&&(console[_0x25845a(0x232)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x25845a(0x232)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x25845a(0x232)]('\x20\x20'+_0x52a710['dashboardUrl']),process['exit'](0x1));const _0xbd74e5=_0x52a710['checklistItems']||[];_0xbd74e5['length']===0x0&&(console[_0x25845a(0x232)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x25845a(0x1f5)](0x1));if(_0x4aea8f['scenario']===undefined){console[_0x25845a(0x232)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x25845a(0x285));for(let _0x3872e0=0x0;_0x3872e0<_0xbd74e5[_0x25845a(0x1eb)];_0x3872e0++){console['log']('\x20\x20'+(_0x3872e0+0x1)+'.\x20'+_0xbd74e5[_0x3872e0]['description']);}process[_0x25845a(0x1f5)](0x1);}const _0x1d0716=_0x4aea8f['scenario']-0x1;if(_0x1d0716<0x0||_0x1d0716>=_0xbd74e5['length']){console[_0x25845a(0x232)](_0x25845a(0x297)+_0x4aea8f[_0x25845a(0x23f)]+'.\x20Feature\x20review\x20has\x20'+_0xbd74e5[_0x25845a(0x1eb)]+'\x20scenarios.'),console['log'](_0x25845a(0x285));for(let _0x4354e4=0x0;_0x1d71c0['LTzxp'](_0x4354e4,_0xbd74e5['length']);_0x4354e4++){console[_0x25845a(0x217)]('\x20\x20'+_0x1d71c0[_0x25845a(0x204)](_0x4354e4,0x1)+'.\x20'+_0xbd74e5[_0x4354e4][_0x25845a(0x1d6)]);}process[_0x25845a(0x1f5)](0x1);}const _0xf6e59a=_0xbd74e5[_0x1d0716];await _0x1d71c0[_0x25845a(0x20e)](updateChecklistItem,_0x2ed92c,_0xf6e59a['id'],{'description':_0x46ee19});const _0x160bb0=await getFeature(_0x2ed92c);console['log']('\x0a✅\x20Scenario\x20updated'),_0x1d71c0[_0x25845a(0x256)](displayFeature,_0x160bb0,_0x160bb0['checklistItems']);}function _0x58f3(){const _0x5ab8f0=['pMkcS','iteration','verificationInProgressItems','warn','\x20\x20\x20Updated\x20branch\x20to:\x20','split','completedAt','IHhru','scenario','blocked','storage','push','utf-8','\x0a✅\x20Feature\x20review\x20created:\x20','gMjgi','YBgLI','toFixed','5pQBNBW','isKeyStep','13649650PBZeug','UKiNh','Qkkwl','UYSRZ','domRef','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x20of\x20','dashboardUrl','totalCount','verifiedItems','stepName','/artifacts/','IRMiM','join','isTTY','name','\x0a✅\x20Scenario\x20added','status','pipe','97252vzTWIO','LIxqi','\x20>\x20','No\x20scenarios\x20found.','gitRepoUrl','yzdai','PjSBm','parentItemId','authorName','env','\x20\x20💬\x20','iEsQx','fYOJn','git\x20remote\x20get-url\x20origin','notes','\x20—\x20no\x20comments','comment_','submittedAt','blockedItems','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','VRSum','Step\x20','uQWal','cmfgH','2634270reZpWn','.md','replace','filter','blockedReason','\x20\x20\x20\x20\x20ID:\x20','type','unaddressedComments','offset','Showing\x20','cTGDm','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review',':\x20\x22','opDnV','\x0a✅\x20Session\x20','FnSmD','\x0aAvailable\x20scenarios:','in_progress','prompt','YaNgO','\x20\x20\x20\x20\x20\x20Blocked:\x20','checklistItems','verification_in_progress','wHSRX','\x20\x20\x20Description:\x20','30569XwTLQL','ylzFf','MvAPo','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','trim','map','any','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','includeDeleted','description','excludeScenarios','\x20\x20Expected\x20flow:','assetType','eVkTC','SzVaZ','nDROA','createdAt','currentBranch','\x20\x20\x20▶️\x20Started\x20session\x20','stats','canonicalFlow','\x20\x20\x20Created:\x20','items','Cannot\x20conclude\x20session\x20with\x20status:\x20','browserSessionId','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','Axpsc','hOXDX','\x20\x20\x20\x20\x20Branch:\x20','GSbOC','length','canceledReason','wWjNK','11SHZCxN','\x20Session\x20','GjcFF','/api/v1/mcp/browser-sessions/','1534396RGoAAC','No\x20sessions\x20found.','scenarios','exit','NHTLe','FGnSK','location','nWrwc','\x20/\x20','gZAnc','limit','stdin','31nppZFi','78FzqOVr','content','UomeD','sfmHP','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','jVqXG','xDRrl','closed','8777840nyZIHq','trimEnd','git\x20rev-parse\x20--abbrev-ref\x20HEAD','8011287VTiLtv','CLAUDE_SESSION_ID','\x20incomplete','latestReview','rCDhq','\x20\x20\x20Branch:\x20','terminalReason','wlrPq','stringify','rSEwg','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','screenshotUrls','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','log','uMCOs','after','version','CDQEu','ScbdB','has','GhmJT','IuFos','sessionId','\x20\x20\x20','):\x20\x22','find','wYhkl','slice','ZciFh','\x20at\x20[','spatial','pop','gitBranch','json','Scenario\x20','feedback-images','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','bVPnX','TsGQs','\x20\x20\x20\x20\x20📋\x20Selector:\x20','error','\x20\x20\x20Completed:\x20','toLocaleDateString','\x20\x20\x20\x20\x20\x20Approved','\x20\x20\x20\x20\x20\x20Incomplete:\x20'];_0x58f3=function(){return _0x5ab8f0;};return _0x58f3();}async function downloadFeedbackImage(_0x159d49,_0x262ccc){const _0x4e268f=_0x4bac,_0x49a552={'cjMui':function(_0x2e4fed){return _0x2e4fed();},'sVfoL':function(_0x59cb25,_0x183eae,_0x108a8e){return _0x59cb25(_0x183eae,_0x108a8e);},'okSgs':function(_0x37f55c,_0x27b82e){return _0x37f55c(_0x27b82e);}};try{const _0xa8dd94=join(_0x49a552['cjMui'](getRangerDir),_0x4e268f(0x22d));await mkdir(_0xa8dd94,{'recursive':!![]});const _0x3dcb83=_0x49a552['sVfoL'](join,_0xa8dd94,_0x4e268f(0x26d)+_0x262ccc+'.png'),_0x2b4ca0=await _0x49a552['okSgs'](fetch,_0x159d49);if(!_0x2b4ca0['ok'])return null;const _0x4e1fa1=Buffer['from'](await _0x2b4ca0['arrayBuffer']());return await _0x49a552['sVfoL'](writeFile,_0x3dcb83,_0x4e1fa1),_0x3dcb83;}catch{return null;}}export async function featureGetReview(_0x588db5){const _0x357ae3=_0x4bac,_0x4e196e={'yzdai':function(_0x1ce15c){return _0x1ce15c();},'RjWPJ':_0x357ae3(0x280),'UKiNh':function(_0x21f8f9,_0x195347){return _0x21f8f9===_0x195347;},'GSbOC':function(_0x2de0a3,_0x4f11ea){return _0x2de0a3<_0x4f11ea;},'VRSum':function(_0x3dc53a,_0x49868c){return _0x3dc53a>_0x49868c;},'TnrSf':'short','Qkkwl':function(_0xd46888,_0x4fe061,_0x6eb17b){return _0xd46888(_0x4fe061,_0x6eb17b);},'vwzeu':_0x357ae3(0x25f),'lntxY':'element','eoeJP':function(_0x1f0e8f,_0x43028c){return _0x1f0e8f===_0x43028c;},'nDROA':function(_0x40c575,_0x449d5f){return _0x40c575>=_0x449d5f;},'uXuIw':function(_0x27b689,_0x103605){return _0x27b689+_0x103605;}},_0x212abd=_0x588db5||await _0x4e196e[_0x357ae3(0x262)](getActiveFeatureId);if(!_0x212abd)throw new Error(_0x4e196e['RjWPJ']);const _0x420a6b=await getFeature(_0x212abd),{items:_0xea0c12}=await getActionItems(_0x212abd);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x420a6b[_0x357ae3(0x259)]+'\x20('+_0x420a6b['id']+')\x0a');if(_0x4e196e[_0x357ae3(0x24b)](_0xea0c12[_0x357ae3(0x1eb)],0x0)){console[_0x357ae3(0x217)](_0x357ae3(0x260));return;}for(let _0x1f9f36=0x0;_0x4e196e[_0x357ae3(0x1ea)](_0x1f9f36,_0xea0c12[_0x357ae3(0x1eb)]);_0x1f9f36++){const _0x419e24=_0xea0c12[_0x1f9f36],_0x4a020f=_0x4e196e[_0x357ae3(0x271)](_0x419e24[_0x357ae3(0x21a)],0x1)?'\x20(v'+_0x419e24['version']+')':'',_0x24ecb7=await getItemFeedback(_0x212abd,_0x419e24['id']);if(_0x24ecb7['unaddressedComments']['length']>0x0){console[_0x357ae3(0x217)](_0x357ae3(0x22c)+(_0x1f9f36+0x1)+_0x357ae3(0x281)+_0x419e24['description']+'\x22'+_0x4a020f+'\x20—\x20'+_0x24ecb7['unaddressedComments'][_0x357ae3(0x1eb)]+'\x20unaddressed\x20comment(s)');for(const _0x4c57c7 of _0x24ecb7['unaddressedComments']){const _0x3c191b=new Date(_0x4c57c7['createdAt'])[_0x357ae3(0x234)]('en-US',{'month':_0x4e196e['TnrSf'],'day':'numeric'}),_0x548f76=_0x4c57c7[_0x357ae3(0x265)]||_0x4c57c7['authorEmail']||'Unknown';console['log'](_0x357ae3(0x267)+_0x548f76+'\x20('+_0x3c191b+_0x357ae3(0x222)+_0x4c57c7[_0x357ae3(0x200)]+'\x22');if(_0x4c57c7['assetUrl']){const _0x41b4fd=await _0x4e196e[_0x357ae3(0x24c)](downloadFeedbackImage,_0x4c57c7['assetUrl'],_0x4c57c7['id']);_0x41b4fd&&console[_0x357ae3(0x217)](_0x357ae3(0x22e)+_0x41b4fd);}if(_0x4c57c7['domRef']){const _0x32bff8=_0x4c57c7[_0x357ae3(0x24e)]['selector'][_0x357ae3(0x23c)](_0x4e196e['vwzeu'])[_0x357ae3(0x229)]()?.['split'](':')[0x0]||_0x4e196e['lntxY'],_0x572dfd=_0x4c57c7['domRef']['textContent']?'\x20\x22'+_0x4c57c7[_0x357ae3(0x24e)]['textContent'][_0x357ae3(0x225)](0x0,0x3c)+'\x22':'';console[_0x357ae3(0x217)](_0x357ae3(0x291)+_0x32bff8+'>'+_0x572dfd),console[_0x357ae3(0x217)](_0x357ae3(0x231)+_0x4c57c7['domRef']['selector']);}else{if(_0x4c57c7['spatial']){const _0x21b33f=_0x4c57c7[_0x357ae3(0x228)]['coordinates'];_0x4e196e['eoeJP'](_0x4c57c7[_0x357ae3(0x228)][_0x357ae3(0x27b)],'point')&&_0x4e196e[_0x357ae3(0x1dc)](_0x21b33f['length'],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x21b33f[0x0][_0x357ae3(0x247)](0x2)+',\x20'+_0x21b33f[0x1]['toFixed'](0x2)+')'):console['log'](_0x357ae3(0x1e6)+_0x4c57c7[_0x357ae3(0x228)]['type']+_0x357ae3(0x227)+_0x21b33f['map'](_0x114324=>_0x114324['toFixed'](0x2))[_0x357ae3(0x257)](',\x20')+']');}}}if(_0x24ecb7[_0x357ae3(0x1e1)]){console['log'](_0x357ae3(0x1d8));for(const _0x12b908 of _0x24ecb7['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x12b908);}}}else console[_0x357ae3(0x217)]('Scenario\x20'+_0x4e196e['uXuIw'](_0x1f9f36,0x1)+':\x20\x22'+_0x419e24['description']+'\x22'+_0x4a020f+_0x357ae3(0x26c)),console[_0x357ae3(0x217)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x566bb7){const _0x1f34d6=_0x4bac,_0x53b8c5={'ylzFf':function(_0x138238){return _0x138238();},'hoRrR':function(_0x70850f,_0x45c7ab){return _0x70850f(_0x45c7ab);},'GhmJT':function(_0x5d1748,_0x5d3021){return _0x5d1748+_0x5d3021;},'TsGQs':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x2366d9=_0x566bb7||await _0x53b8c5[_0x1f34d6(0x28f)](getActiveFeatureId);if(!_0x2366d9)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 _0x44e9ea=await getFeature(_0x2366d9);await _0x53b8c5['hoRrR'](softDeleteFeature,_0x2366d9),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x44e9ea[_0x1f34d6(0x259)]+'\x20('+_0x2366d9+')'),console['log'](_0x53b8c5[_0x1f34d6(0x21e)](_0x53b8c5[_0x1f34d6(0x230)],_0x2366d9));}export async function featureRestore(_0x4a25cc){const _0x11a688=_0x4bac,_0x1dc4f1={'dZPaL':function(_0x7229e,_0x33474a){return _0x7229e(_0x33474a);},'MvAPo':function(_0x1d7a54,_0x28c654,_0xa3d168){return _0x1d7a54(_0x28c654,_0xa3d168);}};await _0x1dc4f1['dZPaL'](restoreFeature,_0x4a25cc);const _0x555d71=await getFeature(_0x4a25cc);console[_0x11a688(0x217)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x555d71[_0x11a688(0x259)]+'\x20('+_0x4a25cc+')'),_0x1dc4f1[_0x11a688(0x290)](displayFeature,_0x555d71,_0x555d71[_0x11a688(0x28a)]);}
@@ -1 +1 @@
1
- (function(_0x57299d,_0x2895f0){const _0x4ca42f=_0x350d,_0x4b9b6b=_0x57299d();while(!![]){try{const _0x49d113=-parseInt(_0x4ca42f(0xd0))/0x1*(-parseInt(_0x4ca42f(0xd7))/0x2)+-parseInt(_0x4ca42f(0xd8))/0x3+-parseInt(_0x4ca42f(0xd6))/0x4+-parseInt(_0x4ca42f(0xd4))/0x5+parseInt(_0x4ca42f(0xd1))/0x6+parseInt(_0x4ca42f(0xd5))/0x7*(-parseInt(_0x4ca42f(0xd9))/0x8)+-parseInt(_0x4ca42f(0xdb))/0x9*(-parseInt(_0x4ca42f(0xcf))/0xa);if(_0x49d113===_0x2895f0)break;else _0x4b9b6b['push'](_0x4b9b6b['shift']());}catch(_0x1dbebd){_0x4b9b6b['push'](_0x4b9b6b['shift']());}}}(_0xce2a,0xae72d));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 _0x350d(_0x2fbde0,_0x2473fe){_0x2fbde0=_0x2fbde0-0xcf;const _0xce2acb=_0xce2a();let _0x350d8c=_0xce2acb[_0x2fbde0];return _0x350d8c;}export async function hook(_0x29d734,_0x170647){const _0x1899f0=_0x350d,_0x146e41={'ZQVgy':function(_0x2bf1bd,_0x5913b5){return _0x2bf1bd(_0x5913b5);}},_0x24cb66=HOOKS[_0x29d734];if(!_0x24cb66){const _0x2f22d9=Object['keys'](HOOKS)['join'](',\x20');console[_0x1899f0(0xd2)](_0x1899f0(0xd3)+_0x29d734),console['error'](_0x1899f0(0xdc)+_0x2f22d9),process[_0x1899f0(0xda)](0x1);}await _0x146e41['ZQVgy'](_0x24cb66,_0x170647);}function _0xce2a(){const _0x5f15f7=['error','Unknown\x20hook:\x20','4989310XvUtyI','357aBEGix','841288HtWRoO','2qgTfSF','1873875QELHSE','139840xrIsVK','exit','397818qSNeyf','Valid\x20hooks:\x20','600Uxfzin','199772qmVnAU','3521628AQRRty'];_0xce2a=function(){return _0x5f15f7;};return _0xce2a();}
1
+ (function(_0x5a318e,_0x299303){const _0x1965ac=_0x52b7,_0x887024=_0x5a318e();while(!![]){try{const _0x23b37a=-parseInt(_0x1965ac(0x140))/0x1*(parseInt(_0x1965ac(0x13f))/0x2)+-parseInt(_0x1965ac(0x142))/0x3+-parseInt(_0x1965ac(0x144))/0x4+parseInt(_0x1965ac(0x13c))/0x5*(-parseInt(_0x1965ac(0x138))/0x6)+-parseInt(_0x1965ac(0x137))/0x7*(-parseInt(_0x1965ac(0x141))/0x8)+-parseInt(_0x1965ac(0x13d))/0x9*(parseInt(_0x1965ac(0x13b))/0xa)+parseInt(_0x1965ac(0x139))/0xb;if(_0x23b37a===_0x299303)break;else _0x887024['push'](_0x887024['shift']());}catch(_0x551359){_0x887024['push'](_0x887024['shift']());}}}(_0x123d,0xc4ceb));function _0x52b7(_0x115726,_0x5c88b1){_0x115726=_0x115726-0x137;const _0x123d0e=_0x123d();let _0x52b7c3=_0x123d0e[_0x115726];return _0x52b7c3;}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 _0x123d(){const _0x41db89=['error','124870nRCNYj','6241615FPITYb','972TaQXnB','Unknown\x20hook:\x20','2354092cSDbGM','1yooVsN','4968kGhnHQ','103083OhRLbq','join','56348JDPMaf','exit','14189theoGH','6Cgydfc','37067459MJzWxb'];_0x123d=function(){return _0x41db89;};return _0x123d();}export async function hook(_0x5b3c6a,_0x3d5b76){const _0x1acac7=_0x52b7,_0x3612a4=HOOKS[_0x5b3c6a];if(!_0x3612a4){const _0x3cdec0=Object['keys'](HOOKS)[_0x1acac7(0x143)](',\x20');console['error'](_0x1acac7(0x13e)+_0x5b3c6a),console[_0x1acac7(0x13a)]('Valid\x20hooks:\x20'+_0x3cdec0),process[_0x1acac7(0x145)](0x1);}await _0x3612a4(_0x3d5b76);}
@@ -1 +1 @@
1
- (function(_0x174d7d,_0x2e4f77){const _0x3fd4f9=_0x59e5,_0x476179=_0x174d7d();while(!![]){try{const _0x1c1a1c=parseInt(_0x3fd4f9(0xb7))/0x1*(parseInt(_0x3fd4f9(0xbd))/0x2)+parseInt(_0x3fd4f9(0xb9))/0x3+parseInt(_0x3fd4f9(0xb4))/0x4+parseInt(_0x3fd4f9(0xbe))/0x5*(parseInt(_0x3fd4f9(0xba))/0x6)+-parseInt(_0x3fd4f9(0xb6))/0x7+parseInt(_0x3fd4f9(0xb8))/0x8*(-parseInt(_0x3fd4f9(0xbb))/0x9)+parseInt(_0x3fd4f9(0xb5))/0xa*(-parseInt(_0x3fd4f9(0xb3))/0xb);if(_0x1c1a1c===_0x2e4f77)break;else _0x476179['push'](_0x476179['shift']());}catch(_0x5a222c){_0x476179['push'](_0x476179['shift']());}}}(_0x1eca,0x291e2));import{readHookInput}from'./output.js';function _0x1eca(){const _0x3048b7=['19064XfVjpP','260868VnbqJn','1152bRvYiu','747RIFvOR','session_id','846hzpTQM','6205hbfjvT','240592JgYdUm','345048fPWhiG','40LOIVdQ','891926oYmbvK','401vaTnhl'];_0x1eca=function(){return _0x3048b7;};return _0x1eca();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x59e5(_0x2b5a22,_0x1b7786){_0x2b5a22=_0x2b5a22-0xb3;const _0x1ecaf2=_0x1eca();let _0x59e53a=_0x1ecaf2[_0x2b5a22];return _0x59e53a;}const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0xee5af8=_0x59e5,_0x11b87c={'BVnVz':function(_0x330520,_0x3ffc32){return _0x330520(_0x3ffc32);}},_0x5874ca=await readHookInput(),_0xc517c=_0x5874ca?.[_0xee5af8(0xbc)];if(!_0xc517c)return;if(_0x11b87c['BVnVz'](isSessionEnabled,_0xc517c)||hasSessionBeenPrompted(_0xc517c))return;markSessionPrompted(_0xc517c),console['log'](AUTO_PROMPT_TEXT);}
1
+ function _0x1049(_0x4523d5,_0x587db6){_0x4523d5=_0x4523d5-0x106;const _0x4ce7d1=_0x4ce7();let _0x1049c6=_0x4ce7d1[_0x4523d5];return _0x1049c6;}(function(_0x1badbc,_0x2857c6){const _0x1f4ed8=_0x1049,_0x4fa779=_0x1badbc();while(!![]){try{const _0x184b1a=-parseInt(_0x1f4ed8(0x110))/0x1+-parseInt(_0x1f4ed8(0x108))/0x2*(-parseInt(_0x1f4ed8(0x10d))/0x3)+parseInt(_0x1f4ed8(0x10c))/0x4*(parseInt(_0x1f4ed8(0x112))/0x5)+parseInt(_0x1f4ed8(0x10f))/0x6+parseInt(_0x1f4ed8(0x10b))/0x7+-parseInt(_0x1f4ed8(0x111))/0x8+parseInt(_0x1f4ed8(0x109))/0x9*(-parseInt(_0x1f4ed8(0x10e))/0xa);if(_0x184b1a===_0x2857c6)break;else _0x4fa779['push'](_0x4fa779['shift']());}catch(_0x5d7550){_0x4fa779['push'](_0x4fa779['shift']());}}}(_0x4ce7,0x6c950));import{readHookInput}from'./output.js';function _0x4ce7(){const _0xee53dd=['BvDNK','session_id','35536ankjPj','152748XsnVFG','log','338709JWfBtP','126884nUreNy','93xcreWI','230nLrQjz','5079618EwEobk','502275lenwuz','5942680uXgSqE','100ehUtEb'];_0x4ce7=function(){return _0xee53dd;};return _0x4ce7();}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.';export async function autoPrompt(){const _0x3a9d32=_0x1049,_0x554cbe={'BvDNK':function(_0x2e8961,_0x477350){return _0x2e8961(_0x477350);}},_0x49ee75=await readHookInput(),_0x48cb6d=_0x49ee75?.[_0x3a9d32(0x107)];if(!_0x48cb6d)return;if(isSessionEnabled(_0x48cb6d)||hasSessionBeenPrompted(_0x48cb6d))return;_0x554cbe[_0x3a9d32(0x106)](markSessionPrompted,_0x48cb6d),console[_0x3a9d32(0x10a)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x318ab0,_0x12f955){const _0x47f412=_0x3131,_0x2e147f=_0x318ab0();while(!![]){try{const _0x5b468a=parseInt(_0x47f412(0x6c))/0x1+parseInt(_0x47f412(0x6d))/0x2*(parseInt(_0x47f412(0x72))/0x3)+parseInt(_0x47f412(0x78))/0x4*(parseInt(_0x47f412(0x7a))/0x5)+-parseInt(_0x47f412(0x79))/0x6+parseInt(_0x47f412(0x71))/0x7+-parseInt(_0x47f412(0x77))/0x8+-parseInt(_0x47f412(0x70))/0x9*(-parseInt(_0x47f412(0x76))/0xa);if(_0x5b468a===_0x12f955)break;else _0x2e147f['push'](_0x2e147f['shift']());}catch(_0x1cb464){_0x2e147f['push'](_0x2e147f['shift']());}}}(_0x3166,0x62e35));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x3131(_0x2bf40a,_0x61bc56){_0x2bf40a=_0x2bf40a-0x6b;const _0x31667a=_0x3166();let _0x3131ec=_0x31667a[_0x2bf40a];return _0x3131ec;}import{printBlock}from'./output.js';export async function disable(_0x48d016){const _0x4d0c67=_0x3131,_0x3ece96={'KpHAH':_0x4d0c67(0x6f),'hPRcj':_0x4d0c67(0x74),'HLSsj':function(_0x55eb3c){return _0x55eb3c();},'GEtDR':_0x4d0c67(0x7b),'ogrNO':function(_0x895e86,_0x1a0ef5){return _0x895e86!==_0x1a0ef5;},'jTBsI':'master','ppsGI':function(_0x29c01e,_0x5501d1){return _0x29c01e(_0x5501d1);}},_0x15092d=_0x48d016||process['env'][_0x4d0c67(0x75)]||'';!_0x15092d&&(console['error'](_0x3ece96['KpHAH']),console['error'](_0x3ece96['hPRcj']),process['exit'](0x1));disableSession(_0x15092d);const _0x1b9171=_0x3ece96['HLSsj'](getCurrentBranch);_0x1b9171&&_0x1b9171!==_0x3ece96[_0x4d0c67(0x6b)]&&_0x3ece96['ogrNO'](_0x1b9171,_0x3ece96['jTBsI'])&&_0x3ece96['ppsGI'](disableBranch,_0x1b9171),_0x3ece96['ppsGI'](printBlock,_0x4d0c67(0x73)+(_0x1b9171&&_0x1b9171!==_0x3ece96['GEtDR']&&_0x3ece96[_0x4d0c67(0x6e)](_0x1b9171,_0x3ece96['jTBsI'])?'\x20and\x20branch\x20\x27'+_0x1b9171+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}function _0x3166(){const _0x30635a=['main','GEtDR','650730haVwdX','10WCbOZa','ogrNO','Error:\x20No\x20session\x20ID\x20available.','52317fZXQDt','491421PLhyUV','143247dVJhnK','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','CLAUDE_SESSION_ID','640syedaN','2286416xlKGtI','236wNVSOL','3962706qNmYYe','1660dSDNqv'];_0x3166=function(){return _0x30635a;};return _0x3166();}
1
+ (function(_0x35964b,_0x3ac904){const _0x4981ef=_0x128e,_0x1b2a18=_0x35964b();while(!![]){try{const _0x4a03b4=parseInt(_0x4981ef(0xd5))/0x1*(-parseInt(_0x4981ef(0xd7))/0x2)+parseInt(_0x4981ef(0xd8))/0x3+parseInt(_0x4981ef(0xd0))/0x4*(parseInt(_0x4981ef(0xd3))/0x5)+-parseInt(_0x4981ef(0xd9))/0x6+-parseInt(_0x4981ef(0xd2))/0x7*(parseInt(_0x4981ef(0xde))/0x8)+parseInt(_0x4981ef(0xd6))/0x9+parseInt(_0x4981ef(0xda))/0xa;if(_0x4a03b4===_0x3ac904)break;else _0x1b2a18['push'](_0x1b2a18['shift']());}catch(_0x1f3b95){_0x1b2a18['push'](_0x1b2a18['shift']());}}}(_0x1fb8,0x20ba3));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x1fb8(){const _0x19c0ee=['295COGtgE','.\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`.','2nBYrcy','2370195hqTilD','64822mYqalB','400617ASAaMJ','307590bWUghD','791000iBNtGz','jSDWq','CXQAQ','lSlUX','1053992BjiXjs','2552fLJzgn','master','14xFpsMq'];_0x1fb8=function(){return _0x19c0ee;};return _0x1fb8();}function _0x128e(_0x12c359,_0x54b21b){_0x12c359=_0x12c359-0xd0;const _0x1fb89e=_0x1fb8();let _0x128edc=_0x1fb89e[_0x12c359];return _0x128edc;}import{printBlock}from'./output.js';export async function disable(_0x171cf0){const _0x1f829b=_0x128e,_0x3b205e={'vEnjb':function(_0x26e477,_0x20c1cd){return _0x26e477(_0x20c1cd);},'jSDWq':function(_0x1c3d28){return _0x1c3d28();},'CXQAQ':'main','xXRoC':function(_0x300f72,_0x3ca80c){return _0x300f72!==_0x3ca80c;},'lSlUX':function(_0x465ff3,_0x1ef1f3){return _0x465ff3!==_0x1ef1f3;}},_0x302303=_0x171cf0||process['env']['CLAUDE_SESSION_ID']||'';_0x302303&&_0x3b205e['vEnjb'](disableSession,_0x302303);const _0x49eb83=_0x3b205e[_0x1f829b(0xdb)](getCurrentBranch);_0x49eb83&&_0x49eb83!==_0x3b205e[_0x1f829b(0xdc)]&&_0x3b205e['xXRoC'](_0x49eb83,'master')&&disableBranch(_0x49eb83),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x49eb83&&_0x49eb83!==_0x3b205e['CXQAQ']&&_0x3b205e[_0x1f829b(0xdd)](_0x49eb83,_0x1f829b(0xd1))?'\x20and\x20branch\x20\x27'+_0x49eb83+'\x27':'')+_0x1f829b(0xd4));}
@@ -1 +1 @@
1
- (function(_0x56179f,_0x57aef2){const _0x463287=_0x2704,_0x42a43a=_0x56179f();while(!![]){try{const _0xfaa164=-parseInt(_0x463287(0xa2))/0x1*(-parseInt(_0x463287(0x9c))/0x2)+parseInt(_0x463287(0xaa))/0x3*(-parseInt(_0x463287(0x9b))/0x4)+parseInt(_0x463287(0x93))/0x5*(parseInt(_0x463287(0xab))/0x6)+parseInt(_0x463287(0xa4))/0x7*(-parseInt(_0x463287(0xa9))/0x8)+-parseInt(_0x463287(0x94))/0x9*(-parseInt(_0x463287(0xa3))/0xa)+-parseInt(_0x463287(0xa0))/0xb*(-parseInt(_0x463287(0xa8))/0xc)+-parseInt(_0x463287(0x97))/0xd*(-parseInt(_0x463287(0x9f))/0xe);if(_0xfaa164===_0x57aef2)break;else _0x42a43a['push'](_0x42a43a['shift']());}catch(_0x94fc7e){_0x42a43a['push'](_0x42a43a['shift']());}}}(_0x1c76,0xa839a));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x1c76(){const _0x383323=['2YIIbcE','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','error','28IjYfxi','11ZjlJUP','xLAyG','1284449hklrlT','20xPnWLP','917XdmPGO','DMKqk','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','5755884ipIOuc','71776zZxDNC','6582jWQZdr','660kCMJZe','9155DksfXw','1615239faCEUD','\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`.','ranger\x20setup\x20--opencode','1843985HislrW','env','main','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','1356ANlFcB'];_0x1c76=function(){return _0x383323;};return _0x1c76();}function _0x2704(_0x45a603,_0x5cfd06){_0x45a603=_0x45a603-0x93;const _0x1c7608=_0x1c76();let _0x270494=_0x1c7608[_0x45a603];return _0x270494;}export async function enable(_0x455fb5){const _0x59942c=_0x2704,_0xbd2105={'DMKqk':function(_0x531b2c,_0x50db21){return _0x531b2c(_0x50db21);},'xLAyG':function(_0x4b51bd){return _0x4b51bd();},'TSLed':function(_0x1e5b0e,_0x1dc6f1){return _0x1e5b0e!==_0x1dc6f1;}},_0x18b54a=_0x455fb5||process[_0x59942c(0x98)]['CLAUDE_SESSION_ID']||'';!_0x18b54a&&(console['error']('Error:\x20No\x20session\x20ID\x20available.'),console[_0x59942c(0x9e)](_0x59942c(0x9d)),process['exit'](0x1));const _0x315a1c=_0xbd2105['DMKqk'](Boolean,_0x455fb5),_0x4eef35=await getToken();if(!_0x4eef35){const _0x2f71fe=_0x315a1c?_0x59942c(0x96):'ranger\x20setup',_0x5d821d=_0x315a1c?_0x59942c(0xa7):_0x59942c(0xa6);_0xbd2105[_0x59942c(0xa5)](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`'+_0x2f71fe+_0x59942c(0x9a)+_0x5d821d);return;}try{await update();}catch{}enableSession(_0x18b54a);const _0x41cdad=_0xbd2105[_0x59942c(0xa1)](getCurrentBranch),_0x4c4b3f=_0x41cdad&&_0x41cdad!==_0x59942c(0x99)&&_0xbd2105['TSLed'](_0x41cdad,'master')?'\x0a\x0a**Branch\x20\x27'+_0x41cdad+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0xd219e3=getRangerSkillContent();_0xbd2105[_0x59942c(0xa5)](printBlock,'#\x20RANGER\x20ENABLED'+_0x4c4b3f+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0xd219e3+_0x59942c(0x95));}
1
+ (function(_0x2c85ab,_0x3cf2c8){const _0x3d4f9d=_0x276b,_0x1b125f=_0x2c85ab();while(!![]){try{const _0x4a7dc7=parseInt(_0x3d4f9d(0x95))/0x1*(parseInt(_0x3d4f9d(0x9a))/0x2)+-parseInt(_0x3d4f9d(0x86))/0x3+-parseInt(_0x3d4f9d(0x89))/0x4*(-parseInt(_0x3d4f9d(0x8b))/0x5)+-parseInt(_0x3d4f9d(0x99))/0x6*(parseInt(_0x3d4f9d(0x9c))/0x7)+-parseInt(_0x3d4f9d(0x88))/0x8+parseInt(_0x3d4f9d(0x87))/0x9+parseInt(_0x3d4f9d(0x92))/0xa;if(_0x4a7dc7===_0x3cf2c8)break;else _0x1b125f['push'](_0x1b125f['shift']());}catch(_0x10033b){_0x1b125f['push'](_0x1b125f['shift']());}}}(_0x5e2d,0x861d2));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x276b(_0x2ac41a,_0x2af920){_0x2ac41a=_0x2ac41a-0x84;const _0x5e2d72=_0x5e2d();let _0x276b39=_0x5e2d72[_0x2ac41a];return _0x276b39;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x5e2d(){const _0x1e77fa=['RRIJl','main','kCdrf','9330670KatFwa','vvLGH','LNwTF','1BRnhiW','\x0a\x0a**Branch\x20\x27','#\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`','tRyeR','18wZrmJP','282482DVlGRJ','ranger\x20setup\x20--opencode','1184764kLhZph','\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`.','RKIOZ','2248884WUFaUT','8903223uLAxvs','6395592OahDXq','2170432UFwHKZ','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','5eLOCVJ','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','uQSpE','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.'];_0x5e2d=function(){return _0x1e77fa;};return _0x5e2d();}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x311786){const _0x20f453=_0x276b,_0x34c29f={'LNwTF':'ranger\x20setup','dVVLq':_0x20f453(0x8c),'kCdrf':function(_0x345e77){return _0x345e77();},'RKIOZ':function(_0x48da95,_0x3a2fc1){return _0x48da95(_0x3a2fc1);},'uQSpE':function(_0x2af40c,_0x16fc27){return _0x2af40c!==_0x16fc27;},'RRIJl':_0x20f453(0x90),'bEwQL':function(_0xfb501,_0x476816){return _0xfb501!==_0x476816;},'tRyeR':'master','vvLGH':function(_0x1742c4){return _0x1742c4();}},_0x332fad=_0x311786||process['env']['CLAUDE_SESSION_ID']||'',_0x54cc06=Boolean(_0x311786),_0x479fda=await getToken();if(!_0x479fda){const _0x1a6cda=_0x54cc06?_0x20f453(0x9b):_0x34c29f[_0x20f453(0x94)],_0x495abd=_0x54cc06?_0x20f453(0x8a):_0x34c29f['dVVLq'];printBlock(_0x20f453(0x97)+_0x1a6cda+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x495abd);return;}try{await _0x34c29f[_0x20f453(0x91)](update);}catch{}_0x332fad&&_0x34c29f[_0x20f453(0x85)](enableSession,_0x332fad);const _0x7f175b=getCurrentBranch(),_0x3f94e5=_0x7f175b&&_0x34c29f[_0x20f453(0x8d)](_0x7f175b,_0x34c29f[_0x20f453(0x8f)])&&_0x34c29f['bEwQL'](_0x7f175b,_0x34c29f[_0x20f453(0x98)])?_0x20f453(0x96)+_0x7f175b+_0x20f453(0x8e):'',_0x281350=_0x34c29f[_0x20f453(0x93)](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x3f94e5+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x281350+_0x20f453(0x84));}
@@ -1 +1 @@
1
- function _0x55f5(_0x183300,_0x131811){_0x183300=_0x183300-0x190;const _0x2ba5d0=_0x2ba5();let _0x55f56e=_0x2ba5d0[_0x183300];return _0x55f56e;}(function(_0x1f4bc8,_0x35e89f){const _0x12a5b1=_0x55f5,_0x108ccb=_0x1f4bc8();while(!![]){try{const _0x52ad05=parseInt(_0x12a5b1(0x196))/0x1*(-parseInt(_0x12a5b1(0x198))/0x2)+-parseInt(_0x12a5b1(0x190))/0x3+parseInt(_0x12a5b1(0x19a))/0x4+parseInt(_0x12a5b1(0x197))/0x5*(-parseInt(_0x12a5b1(0x191))/0x6)+-parseInt(_0x12a5b1(0x193))/0x7*(parseInt(_0x12a5b1(0x194))/0x8)+parseInt(_0x12a5b1(0x199))/0x9*(-parseInt(_0x12a5b1(0x192))/0xa)+parseInt(_0x12a5b1(0x195))/0xb;if(_0x52ad05===_0x35e89f)break;else _0x108ccb['push'](_0x108ccb['shift']());}catch(_0x5d7575){_0x108ccb['push'](_0x108ccb['shift']());}}}(_0x2ba5,0x95694));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1ee771){const _0xf19134=_0x55f5,_0x480765=await getEnabledSessionId(_0x1ee771);if(!_0x480765)return;printBlock(_0xf19134(0x19b));}function _0x2ba5(){const _0x549a91=['27149397YwaZor','451799gemVkz','2120rsXmHe','2xrJcmg','4419hIRYBF','2538464ECxxde','===\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===','2559978KxrMne','6366tiuKjo','12530ClGFLU','843801krGCIC','8wcpRWT'];_0x2ba5=function(){return _0x549a91;};return _0x2ba5();}
1
+ function _0x47cc(_0x23373a,_0x589265){_0x23373a=_0x23373a-0x73;const _0x2d07c4=_0x2d07();let _0x47ccb6=_0x2d07c4[_0x23373a];return _0x47ccb6;}(function(_0x365ace,_0x3fc754){const _0x50549b=_0x47cc,_0x3e441a=_0x365ace();while(!![]){try{const _0x963e78=parseInt(_0x50549b(0x7b))/0x1*(parseInt(_0x50549b(0x79))/0x2)+-parseInt(_0x50549b(0x77))/0x3*(-parseInt(_0x50549b(0x7d))/0x4)+-parseInt(_0x50549b(0x78))/0x5*(parseInt(_0x50549b(0x7c))/0x6)+-parseInt(_0x50549b(0x73))/0x7*(parseInt(_0x50549b(0x74))/0x8)+-parseInt(_0x50549b(0x76))/0x9+-parseInt(_0x50549b(0x75))/0xa+parseInt(_0x50549b(0x7a))/0xb;if(_0x963e78===_0x3fc754)break;else _0x3e441a['push'](_0x3e441a['shift']());}catch(_0x5b91c8){_0x3e441a['push'](_0x3e441a['shift']());}}}(_0x2d07,0x208c6));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x53702d){const _0x228269={'buaGD':function(_0x4e34cf,_0x952347){return _0x4e34cf(_0x952347);}},_0x1a5a38=await _0x228269['buaGD'](getEnabledSessionId,_0x53702d);if(!_0x1a5a38)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===');}function _0x2d07(){const _0x2e8f19=['22883dOnFAa','304OYCbLS','1841150VecNys','1221804qwKYlM','442182cZHDPY','85105bDnIMD','154202cBkOnl','6316079HGZxfb','1VphvhT','78xpKaaV','4yYJmvP'];_0x2d07=function(){return _0x2e8f19;};return _0x2d07();}
@@ -1 +1 @@
1
- (function(_0x5eeafd,_0x14629){var _0x141787=_0x5c32,_0x3c6d6a=_0x5eeafd();while(!![]){try{var _0x36cfcc=parseInt(_0x141787(0x9b))/0x1*(-parseInt(_0x141787(0x98))/0x2)+-parseInt(_0x141787(0x96))/0x3*(parseInt(_0x141787(0x99))/0x4)+parseInt(_0x141787(0x95))/0x5+parseInt(_0x141787(0x97))/0x6+-parseInt(_0x141787(0x9a))/0x7*(parseInt(_0x141787(0x94))/0x8)+parseInt(_0x141787(0x9c))/0x9+-parseInt(_0x141787(0x9d))/0xa;if(_0x36cfcc===_0x14629)break;else _0x3c6d6a['push'](_0x3c6d6a['shift']());}catch(_0x445f76){_0x3c6d6a['push'](_0x3c6d6a['shift']());}}}(_0x487a,0x7eb3b));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5c32(_0x5f4d72,_0xc63361){_0x5f4d72=_0x5f4d72-0x94;var _0x487a9d=_0x487a();var _0x5c32b1=_0x487a9d[_0x5f4d72];return _0x5c32b1;}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x487a(){var _0x2ac51c=['4312190WSOIJo','6AtqLmN','4161702wDIyJa','38diQihz','1232068ksWMLL','21TtANVQ','9176ZHUOdr','1959174thdSxl','397510JGuGvE','1132376QKhCqw'];_0x487a=function(){return _0x2ac51c;};return _0x487a();}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0xffaf77,_0x2007f4){var _0x1e3c12=_0x4edd,_0x9a0378=_0xffaf77();while(!![]){try{var _0x44cd7a=parseInt(_0x1e3c12(0x71))/0x1*(-parseInt(_0x1e3c12(0x73))/0x2)+parseInt(_0x1e3c12(0x76))/0x3+parseInt(_0x1e3c12(0x72))/0x4+-parseInt(_0x1e3c12(0x77))/0x5*(parseInt(_0x1e3c12(0x75))/0x6)+parseInt(_0x1e3c12(0x78))/0x7+-parseInt(_0x1e3c12(0x74))/0x8+parseInt(_0x1e3c12(0x70))/0x9;if(_0x44cd7a===_0x2007f4)break;else _0x9a0378['push'](_0x9a0378['shift']());}catch(_0x5d4a58){_0x9a0378['push'](_0x9a0378['shift']());}}}(_0x397c,0x404fa));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x4edd(_0x16f1e1,_0xba1a88){_0x16f1e1=_0x16f1e1-0x70;var _0x397c2d=_0x397c();var _0x4edd58=_0x397c2d[_0x16f1e1];return _0x4edd58;}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x397c(){var _0x27580a=['2355680oiAELT','1415472LIyuEu','1491663hTFqRN','10yJZXYM','2939244IkZYwA','871254vlQNXg','215AYcVCq','1009992FTRspH','2202NBJWln'];_0x397c=function(){return _0x27580a;};return _0x397c();}export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x4a7c86,_0x514c24){const _0x2a16e8=_0x5ade,_0x168901=_0x4a7c86();while(!![]){try{const _0x3931c4=parseInt(_0x2a16e8(0x77))/0x1+parseInt(_0x2a16e8(0x6d))/0x2*(-parseInt(_0x2a16e8(0x69))/0x3)+-parseInt(_0x2a16e8(0x68))/0x4*(-parseInt(_0x2a16e8(0x71))/0x5)+-parseInt(_0x2a16e8(0x6e))/0x6*(parseInt(_0x2a16e8(0x6b))/0x7)+-parseInt(_0x2a16e8(0x6c))/0x8+parseInt(_0x2a16e8(0x6f))/0x9*(-parseInt(_0x2a16e8(0x72))/0xa)+parseInt(_0x2a16e8(0x6a))/0xb*(parseInt(_0x2a16e8(0x75))/0xc);if(_0x3931c4===_0x514c24)break;else _0x168901['push'](_0x168901['shift']());}catch(_0x2df69c){_0x168901['push'](_0x168901['shift']());}}}(_0x257e,0xbc052));function _0x5ade(_0x1768ff,_0x41d7d4){_0x1768ff=_0x1768ff-0x67;const _0x257e65=_0x257e();let _0x5ade83=_0x257e65[_0x1768ff];return _0x5ade83;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x402a22){const _0x171569=_0x5ade;console[_0x171569(0x73)](_0x402a22);}export async function readHookInput(){const _0x275835=_0x5ade;let _0x3c85c2='';for await(const _0x2de853 of process['stdin']){_0x3c85c2+=_0x2de853;}try{return JSON[_0x275835(0x70)](_0x3c85c2);}catch{return null;}}function _0x257e(){const _0x23cac7=['kmfVi','770036xYtibh','1119IzDiXz','418HSiEZF','28511caJowY','3068712NwCeBH','214mjeYzC','198pcyfXI','243pASLql','parse','5rrRmWa','389540MpLtqS','log','aXqad','250332gbppNV','session_id','1394570yiEuCs'];_0x257e=function(){return _0x23cac7;};return _0x257e();}export async function getEnabledSessionId(_0x867ba4){const _0x284a55=_0x5ade,_0x54f1cd={'oJpvt':function(_0x1ceeb9,_0x59f466){return _0x1ceeb9(_0x59f466);},'aXqad':function(_0x420dbe){return _0x420dbe();}};if(_0x867ba4)return _0x54f1cd['oJpvt'](isSessionEnabled,_0x867ba4)?_0x867ba4:null;const _0x365bd0=await _0x54f1cd[_0x284a55(0x74)](readHookInput),_0x37e57f=_0x365bd0?.[_0x284a55(0x76)];if(!_0x37e57f||!isSessionEnabled(_0x37e57f))return null;return _0x37e57f;}export async function getEnabledHookContext(_0x1f2762){const _0x49b4aa=_0x5ade,_0x186118={'kmfVi':function(_0x4c4836,_0x3ab8fd){return _0x4c4836(_0x3ab8fd);}};if(_0x1f2762){if(!isSessionEnabled(_0x1f2762))return null;return{'sessionId':_0x1f2762,'input':{'session_id':_0x1f2762}};}const _0x3f5528=await readHookInput(),_0x10d5e5=_0x3f5528?.[_0x49b4aa(0x76)];if(!_0x10d5e5||!_0x186118[_0x49b4aa(0x67)](isSessionEnabled,_0x10d5e5))return null;return{'sessionId':_0x10d5e5,'input':_0x3f5528};}
1
+ (function(_0xc8da19,_0xf05049){const _0xbcd1f2=_0x57e7,_0x41178a=_0xc8da19();while(!![]){try{const _0x553831=-parseInt(_0xbcd1f2(0x71))/0x1*(-parseInt(_0xbcd1f2(0x7b))/0x2)+parseInt(_0xbcd1f2(0x76))/0x3+-parseInt(_0xbcd1f2(0x74))/0x4*(-parseInt(_0xbcd1f2(0x72))/0x5)+-parseInt(_0xbcd1f2(0x7a))/0x6*(parseInt(_0xbcd1f2(0x70))/0x7)+-parseInt(_0xbcd1f2(0x78))/0x8*(parseInt(_0xbcd1f2(0x77))/0x9)+-parseInt(_0xbcd1f2(0x75))/0xa+-parseInt(_0xbcd1f2(0x7c))/0xb*(-parseInt(_0xbcd1f2(0x79))/0xc);if(_0x553831===_0xf05049)break;else _0x41178a['push'](_0x41178a['shift']());}catch(_0x408b49){_0x41178a['push'](_0x41178a['shift']());}}}(_0x3bca,0xc32c0));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x259ec6){console['log'](_0x259ec6);}function _0x57e7(_0x3b908f,_0x3a9bdb){_0x3b908f=_0x3b908f-0x70;const _0x3bca7d=_0x3bca();let _0x57e728=_0x3bca7d[_0x3b908f];return _0x57e728;}export async function readHookInput(){let _0x5dbd6f='';for await(const _0x1a720f of process['stdin']){_0x5dbd6f+=_0x1a720f;}try{return JSON['parse'](_0x5dbd6f);}catch{return null;}}export async function getEnabledSessionId(_0x2ecc0c){const _0x3f1b2c=_0x57e7,_0x1abe17={'PmebC':function(_0x596ee2,_0x34d64e){return _0x596ee2(_0x34d64e);}};if(_0x2ecc0c)return _0x1abe17[_0x3f1b2c(0x7d)](isSessionEnabled,_0x2ecc0c)?_0x2ecc0c:null;const _0x14b630=await readHookInput(),_0x90a6bf=_0x14b630?.[_0x3f1b2c(0x73)];if(!_0x90a6bf||!_0x1abe17['PmebC'](isSessionEnabled,_0x90a6bf))return null;return _0x90a6bf;}export async function getEnabledHookContext(_0x17060e){const _0x51a2fe=_0x57e7;if(_0x17060e){if(!isSessionEnabled(_0x17060e))return null;return{'sessionId':_0x17060e,'input':{'session_id':_0x17060e}};}const _0xd8ea2c=await readHookInput(),_0x32e504=_0xd8ea2c?.[_0x51a2fe(0x73)];if(!_0x32e504||!isSessionEnabled(_0x32e504))return null;return{'sessionId':_0x32e504,'input':_0xd8ea2c};}function _0x3bca(){const _0x48962f=['27304bWEPul','352524NjKAfC','36438ibAvfX','10PJJSim','550aVTOLB','PmebC','455ZyFoPZ','24997UPcadZ','67190wuGVRH','session_id','8hEQfXe','5472130GLvNeD','1867146xUahbp','1323kyMiZh'];_0x3bca=function(){return _0x48962f;};return _0x3bca();}
@@ -1 +1 @@
1
- (function(_0x2856d0,_0x18dcb2){const _0x4b1571=_0x1244,_0x383cbc=_0x2856d0();while(!![]){try{const _0x4bed7f=-parseInt(_0x4b1571(0x10b))/0x1*(parseInt(_0x4b1571(0x109))/0x2)+-parseInt(_0x4b1571(0x116))/0x3+-parseInt(_0x4b1571(0x113))/0x4*(parseInt(_0x4b1571(0x10d))/0x5)+-parseInt(_0x4b1571(0x110))/0x6+parseInt(_0x4b1571(0x10c))/0x7+-parseInt(_0x4b1571(0x10a))/0x8*(parseInt(_0x4b1571(0x10e))/0x9)+parseInt(_0x4b1571(0x111))/0xa;if(_0x4bed7f===_0x18dcb2)break;else _0x383cbc['push'](_0x383cbc['shift']());}catch(_0x4d1b71){_0x383cbc['push'](_0x383cbc['shift']());}}}(_0x3d3b,0xc1102));function _0x1244(_0x2f3b3b,_0x32584d){_0x2f3b3b=_0x2f3b3b-0x109;const _0x3d3b77=_0x3d3b();let _0x124441=_0x3d3b77[_0x2f3b3b];return _0x124441;}function _0x3d3b(){const _0x3e88fb=['FYTlJ','4074033IhpRos','19148UVaCVa','72392ylYFHJ','54aJHfuW','2785090NLHtAT','55jDjmJy','63cHLVGa','gMTHW','9136788OUFjzJ','53242250VPFSAC','plan','534604ZzkSry','===\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==='];_0x3d3b=function(){return _0x3e88fb;};return _0x3d3b();}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x135b2a){const _0x57ce32=_0x1244,_0x3b18c8={'FYTlJ':function(_0x1a6d3d,_0x139ec8){return _0x1a6d3d(_0x139ec8);},'gMTHW':function(_0xc706a1,_0xefa7f8){return _0xc706a1!==_0xefa7f8;}},_0x5d351f=await _0x3b18c8[_0x57ce32(0x115)](getEnabledHookContext,_0x135b2a);if(!_0x5d351f)return;if(_0x3b18c8[_0x57ce32(0x10f)](_0x5d351f['input']['permission_mode'],_0x57ce32(0x112)))return;if(!_0x3b18c8[_0x57ce32(0x115)](shouldShowPlanReminder,_0x5d351f['sessionId']))return;_0x3b18c8[_0x57ce32(0x115)](printBlock,_0x57ce32(0x114));}
1
+ (function(_0x3105f3,_0xdd7cf1){const _0x9e8d00=_0x2d00,_0x505956=_0x3105f3();while(!![]){try{const _0x4cf5e5=parseInt(_0x9e8d00(0x84))/0x1*(-parseInt(_0x9e8d00(0x80))/0x2)+-parseInt(_0x9e8d00(0x7b))/0x3+parseInt(_0x9e8d00(0x82))/0x4*(-parseInt(_0x9e8d00(0x87))/0x5)+-parseInt(_0x9e8d00(0x7e))/0x6+parseInt(_0x9e8d00(0x81))/0x7*(parseInt(_0x9e8d00(0x86))/0x8)+-parseInt(_0x9e8d00(0x7c))/0x9+parseInt(_0x9e8d00(0x7d))/0xa*(parseInt(_0x9e8d00(0x85))/0xb);if(_0x4cf5e5===_0xdd7cf1)break;else _0x505956['push'](_0x505956['shift']());}catch(_0x558c24){_0x505956['push'](_0x505956['shift']());}}}(_0x5f2c,0x391ae));import{printBlock,getEnabledHookContext}from'./output.js';function _0x5f2c(){const _0x54131b=['778386HEGKkk','2180115cDQmIn','3130LGbSTb','1513722udXrnG','sessionId','130068hIlZKM','7QEhRTK','1476120zKEBKT','plan','4ZhSGKH','45848KuFMkQ','2499744SDuAiO','5hfvMWu'];_0x5f2c=function(){return _0x54131b;};return _0x5f2c();}function _0x2d00(_0x45b0c7,_0xcd4fe8){_0x45b0c7=_0x45b0c7-0x7b;const _0x5f2cc1=_0x5f2c();let _0x2d0058=_0x5f2cc1[_0x45b0c7];return _0x2d0058;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5f279a){const _0x7e3f0d=_0x2d00,_0x11235d={'axgwU':function(_0x4cde20,_0x472306){return _0x4cde20(_0x472306);}},_0x573aaa=await _0x11235d['axgwU'](getEnabledHookContext,_0x5f279a);if(!_0x573aaa)return;if(_0x573aaa['input']['permission_mode']!==_0x7e3f0d(0x83))return;if(!shouldShowPlanReminder(_0x573aaa[_0x7e3f0d(0x7f)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x169f10,_0x12e1c0){const _0x1969d6=_0x2541,_0x2b166c=_0x169f10();while(!![]){try{const _0x429c61=-parseInt(_0x1969d6(0x76))/0x1*(parseInt(_0x1969d6(0x71))/0x2)+-parseInt(_0x1969d6(0x73))/0x3+-parseInt(_0x1969d6(0x7a))/0x4+-parseInt(_0x1969d6(0x72))/0x5*(parseInt(_0x1969d6(0x75))/0x6)+-parseInt(_0x1969d6(0x7c))/0x7+-parseInt(_0x1969d6(0x78))/0x8*(-parseInt(_0x1969d6(0x7b))/0x9)+parseInt(_0x1969d6(0x79))/0xa;if(_0x429c61===_0x12e1c0)break;else _0x2b166c['push'](_0x2b166c['shift']());}catch(_0x1dde19){_0x2b166c['push'](_0x2b166c['shift']());}}}(_0x5779,0x67001));import{printBlock,getEnabledSessionId}from'./output.js';function _0x5779(){const _0x1fbe4f=['28pRfGbS','cqJWM','374128dwUMwZ','15358200wdhiNO','1431364czeORw','99kauqGL','4970028wYpOIg','5874lcEAVg','1651350pdEEcT','444018sNqQLv','===\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===','6qcnLpn'];_0x5779=function(){return _0x1fbe4f;};return _0x5779();}function _0x2541(_0x23c8f3,_0x184da7){_0x23c8f3=_0x23c8f3-0x71;const _0x577979=_0x5779();let _0x25412e=_0x577979[_0x23c8f3];return _0x25412e;}export async function planStart(_0x24e089){const _0x26ae1=_0x2541,_0x174a5e={'UApLf':function(_0x524573,_0x2a9d9c){return _0x524573(_0x2a9d9c);},'cqJWM':function(_0x14e334,_0x50f0c6){return _0x14e334(_0x50f0c6);}},_0x5043dc=await _0x174a5e['UApLf'](getEnabledSessionId,_0x24e089);if(!_0x5043dc)return;_0x174a5e[_0x26ae1(0x77)](printBlock,_0x26ae1(0x74));}
1
+ (function(_0xcaea79,_0x21f517){const _0x18053a=_0x1af7,_0x18f136=_0xcaea79();while(!![]){try{const _0x370569=parseInt(_0x18053a(0x76))/0x1*(parseInt(_0x18053a(0x6f))/0x2)+-parseInt(_0x18053a(0x74))/0x3+-parseInt(_0x18053a(0x6c))/0x4*(-parseInt(_0x18053a(0x75))/0x5)+-parseInt(_0x18053a(0x72))/0x6*(-parseInt(_0x18053a(0x6d))/0x7)+-parseInt(_0x18053a(0x70))/0x8+parseInt(_0x18053a(0x71))/0x9*(-parseInt(_0x18053a(0x6e))/0xa)+parseInt(_0x18053a(0x78))/0xb*(parseInt(_0x18053a(0x77))/0xc);if(_0x370569===_0x21f517)break;else _0x18f136['push'](_0x18f136['shift']());}catch(_0x3804ce){_0x18f136['push'](_0x18f136['shift']());}}}(_0x5e3e,0x684ad));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1af7(_0x53fb1d,_0x8309fd){_0x53fb1d=_0x53fb1d-0x6c;const _0x5e3e50=_0x5e3e();let _0x1af707=_0x5e3e50[_0x53fb1d];return _0x1af707;}export async function planStart(_0x2412c0){const _0x43169e=_0x1af7,_0x5071ff={'LnbZs':function(_0x151d0a,_0x3bc9d1){return _0x151d0a(_0x3bc9d1);}},_0x11f931=await getEnabledSessionId(_0x2412c0);if(!_0x11f931)return;_0x5071ff[_0x43169e(0x73)](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===');}function _0x5e3e(){const _0x43316c=['3063044mSNOCk','21yhtaEZ','1790540AamDNd','2kPzjHU','6327648yZaFvs','9zyDNiI','1050402jbAWmP','LnbZs','570954UBVzEF','5GEAhth','228832QTfKmw','162516hwngzI','55nzaevp'];_0x5e3e=function(){return _0x43316c;};return _0x5e3e();}
@@ -1 +1 @@
1
- function _0x2625(){const _0x5cb3c3=['14UITNyr','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.','1996915RdUNfI','6sTHQRF','261564ijbVMX','HAmIC','1276360ZvccER','stringify','309184pxoGoF','269890gPMCBb','PDJkH','806626fVIBhz','log','63mBPeEf','3gVTWqh','211007fbBkke','PostToolUse','429GdMpGm'];_0x2625=function(){return _0x5cb3c3;};return _0x2625();}function _0x5ef8(_0x151e66,_0x2039a1){_0x151e66=_0x151e66-0x69;const _0x2625a5=_0x2625();let _0x5ef83a=_0x2625a5[_0x151e66];return _0x5ef83a;}(function(_0x5a3d6b,_0x3e7cc8){const _0x32956f=_0x5ef8,_0xcb1bb=_0x5a3d6b();while(!![]){try{const _0x48f462=-parseInt(_0x32956f(0x77))/0x1+-parseInt(_0x32956f(0x73))/0x2+-parseInt(_0x32956f(0x76))/0x3*(-parseInt(_0x32956f(0x70))/0x4)+parseInt(_0x32956f(0x6a))/0x5*(parseInt(_0x32956f(0x6b))/0x6)+-parseInt(_0x32956f(0x7a))/0x7*(parseInt(_0x32956f(0x6e))/0x8)+-parseInt(_0x32956f(0x75))/0x9*(parseInt(_0x32956f(0x71))/0xa)+parseInt(_0x32956f(0x79))/0xb*(parseInt(_0x32956f(0x6c))/0xc);if(_0x48f462===_0x3e7cc8)break;else _0xcb1bb['push'](_0xcb1bb['shift']());}catch(_0x535fc6){_0xcb1bb['push'](_0xcb1bb['shift']());}}}(_0x2625,0x31e8d));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x59a898){const _0x192eb0=_0x5ef8,_0x420a23={'HAmIC':function(_0x5441c6,_0x8865ec){return _0x5441c6(_0x8865ec);},'fKVlB':function(_0x22fe8e,_0x2efa01){return _0x22fe8e(_0x2efa01);},'PDJkH':_0x192eb0(0x78)},_0x4c94ef=await getEnabledSessionId(_0x59a898);if(!_0x4c94ef)return;_0x420a23[_0x192eb0(0x6d)](updateBranchTracking,_0x4c94ef);const _0x1d401f=await getToken();if(!_0x1d401f)return;const _0xe41bb5=_0x420a23['fKVlB'](getSessionEntry,_0x4c94ef);if(_0xe41bb5){const _0x3da4c5={'hookSpecificOutput':{'hookEventName':_0x192eb0(0x78),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON[_0x192eb0(0x6f)](_0x3da4c5));return;}const _0x569f92={'hookSpecificOutput':{'hookEventName':_0x420a23[_0x192eb0(0x72)],'additionalContext':_0x192eb0(0x69)}};console[_0x192eb0(0x74)](JSON[_0x192eb0(0x6f)](_0x569f92));}
1
+ (function(_0x783f67,_0x448f80){const _0x134475=_0x1adc,_0x4e44b7=_0x783f67();while(!![]){try{const _0x564e05=-parseInt(_0x134475(0x1a6))/0x1+-parseInt(_0x134475(0x1a7))/0x2*(parseInt(_0x134475(0x19e))/0x3)+-parseInt(_0x134475(0x1aa))/0x4+-parseInt(_0x134475(0x1a2))/0x5*(-parseInt(_0x134475(0x1a0))/0x6)+parseInt(_0x134475(0x19d))/0x7*(parseInt(_0x134475(0x1a3))/0x8)+-parseInt(_0x134475(0x1ab))/0x9*(parseInt(_0x134475(0x1a9))/0xa)+parseInt(_0x134475(0x1a4))/0xb;if(_0x564e05===_0x448f80)break;else _0x4e44b7['push'](_0x4e44b7['shift']());}catch(_0x537e3f){_0x4e44b7['push'](_0x4e44b7['shift']());}}}(_0x58ab,0x88927));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x1adc(_0x48d769,_0x16ed0){_0x48d769=_0x48d769-0x19d;const _0x58ab73=_0x58ab();let _0x1adc57=_0x58ab73[_0x48d769];return _0x1adc57;}function _0x58ab(){const _0x183716=['12AFJDbW','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).','1948565OVVfhI','8gXsgaV','9976714zUtCur','WJzkc','1063391vITxZd','20xtUnvp','PostToolUse','861480ixXPRr','878516bOWcTr','9WIbOQW','dLLSQ','2654799ejgRAx','41127xJewuJ','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.'];_0x58ab=function(){return _0x183716;};return _0x58ab();}export async function postEdit(_0x64e1a){const _0x1ab23a=_0x1adc,_0x3bf74c={'WJzkc':function(_0x17e8c7,_0x2d0957){return _0x17e8c7(_0x2d0957);},'dLLSQ':function(_0x4b60b2){return _0x4b60b2();}},_0xcc398a=await getEnabledSessionId(_0x64e1a);if(!_0xcc398a)return;_0x3bf74c[_0x1ab23a(0x1a5)](updateBranchTracking,_0xcc398a);const _0x123733=await _0x3bf74c[_0x1ab23a(0x1ac)](getToken);if(!_0x123733)return;const _0x59377b=_0x3bf74c['WJzkc'](getSessionEntry,_0xcc398a);if(_0x59377b){const _0x363573={'hookSpecificOutput':{'hookEventName':_0x1ab23a(0x1a8),'additionalContext':_0x1ab23a(0x1a1)}};console['log'](JSON['stringify'](_0x363573));return;}const _0x55c393={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x1ab23a(0x19f)}};console['log'](JSON['stringify'](_0x55c393));}
@@ -1 +1 @@
1
- function _0x11af(){const _0x23c6e3=['533228hxMmvf','376420RLTVsA','534EYKsjM','37256bfASbP','110CljjYD','1555baaTRH','285578TgorgY','2208501RNeJlY','413eqLVkE','3APTZZo','5453XKgVLO','dqwBK'];_0x11af=function(){return _0x23c6e3;};return _0x11af();}(function(_0x13166a,_0x138240){const _0x482688=_0x2317,_0x28c0e4=_0x13166a();while(!![]){try{const _0x5c978f=-parseInt(_0x482688(0x1be))/0x1+-parseInt(_0x482688(0x1c6))/0x2+-parseInt(_0x482688(0x1bd))/0x3*(parseInt(_0x482688(0x1c0))/0x4)+-parseInt(_0x482688(0x1c5))/0x5*(-parseInt(_0x482688(0x1c2))/0x6)+parseInt(_0x482688(0x1bc))/0x7*(parseInt(_0x482688(0x1c3))/0x8)+-parseInt(_0x482688(0x1bb))/0x9+-parseInt(_0x482688(0x1c1))/0xa*(-parseInt(_0x482688(0x1c4))/0xb);if(_0x5c978f===_0x138240)break;else _0x28c0e4['push'](_0x28c0e4['shift']());}catch(_0x951e5c){_0x28c0e4['push'](_0x28c0e4['shift']());}}}(_0x11af,0x25174));import{getToken}from'../utils/keychain.js';function _0x2317(_0x4eab3c,_0x8ac1eb){_0x4eab3c=_0x4eab3c-0x1bb;const _0x11afed=_0x11af();let _0x231763=_0x11afed[_0x4eab3c];return _0x231763;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2148f0){const _0x1787b1=_0x2317,_0x136b52={'dqwBK':function(_0x549c95,_0x4b3b66){return _0x549c95(_0x4b3b66);}},_0x4862f6=await _0x136b52[_0x1787b1(0x1bf)](getEnabledSessionId,_0x2148f0);if(!_0x4862f6)return;try{const _0xbfa91e=await getToken();if(!_0xbfa91e)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
+ function _0x1e92(_0x438354,_0x8a3cc){_0x438354=_0x438354-0x14c;const _0x525e97=_0x525e();let _0x1e9279=_0x525e97[_0x438354];return _0x1e9279;}(function(_0xdca57e,_0x55fe53){const _0x1b17f7=_0x1e92,_0x18e62e=_0xdca57e();while(!![]){try{const _0x3e6f2c=parseInt(_0x1b17f7(0x152))/0x1+parseInt(_0x1b17f7(0x151))/0x2*(-parseInt(_0x1b17f7(0x158))/0x3)+-parseInt(_0x1b17f7(0x14c))/0x4*(parseInt(_0x1b17f7(0x156))/0x5)+parseInt(_0x1b17f7(0x150))/0x6*(-parseInt(_0x1b17f7(0x157))/0x7)+-parseInt(_0x1b17f7(0x14f))/0x8+-parseInt(_0x1b17f7(0x154))/0x9*(-parseInt(_0x1b17f7(0x155))/0xa)+-parseInt(_0x1b17f7(0x14e))/0xb*(-parseInt(_0x1b17f7(0x14d))/0xc);if(_0x3e6f2c===_0x55fe53)break;else _0x18e62e['push'](_0x18e62e['shift']());}catch(_0x16f3c5){_0x18e62e['push'](_0x18e62e['shift']());}}}(_0x525e,0x9e9bb));function _0x525e(){const _0x1d9723=['12414oOHNiU','1648068jHIWtZ','885366bkBPDo','BhidK','270sWUvEM','232230sDpTPN','1084645eKVIod','7BmbxZu','3SqtVSm','4MCKbtI','24VUjjdC','1452242edNkiM','1227272iXRVBB'];_0x525e=function(){return _0x1d9723;};return _0x525e();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x3c47e0){const _0x2059f7=_0x1e92,_0x1d3991={'BhidK':function(_0x93a8c0){return _0x93a8c0();}},_0x412ab1=await getEnabledSessionId(_0x3c47e0);if(!_0x412ab1)return;try{const _0x4abbec=await _0x1d3991[_0x2059f7(0x153)](getToken);if(!_0x4abbec)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(_0x3b7367,_0x71896e){const _0x5bb1ef=_0x2f6e,_0x594c24=_0x3b7367();while(!![]){try{const _0x4910f6=parseInt(_0x5bb1ef(0x1e3))/0x1*(parseInt(_0x5bb1ef(0x1de))/0x2)+parseInt(_0x5bb1ef(0x1d9))/0x3+parseInt(_0x5bb1ef(0x1e1))/0x4+-parseInt(_0x5bb1ef(0x1d8))/0x5+parseInt(_0x5bb1ef(0x1d7))/0x6*(parseInt(_0x5bb1ef(0x1e2))/0x7)+-parseInt(_0x5bb1ef(0x1db))/0x8*(parseInt(_0x5bb1ef(0x1e0))/0x9)+-parseInt(_0x5bb1ef(0x1dc))/0xa*(parseInt(_0x5bb1ef(0x1df))/0xb);if(_0x4910f6===_0x71896e)break;else _0x594c24['push'](_0x594c24['shift']());}catch(_0x58e603){_0x594c24['push'](_0x594c24['shift']());}}}(_0x462e,0x57842));function _0x462e(){const _0x1b6d4d=['848ZiSMvN','40hsKyLN','rcAeu','1430998EJmyzH','3363987yhqvsO','9171AYMVEw','1743644LIpukq','2182271RIiivY','1MYgjgd','6NzpqGR','2062590xbJbGo','1917309DrHket','clear'];_0x462e=function(){return _0x1b6d4d;};return _0x462e();}function _0x2f6e(_0x35635a,_0x2f0a19){_0x35635a=_0x35635a-0x1d7;const _0x462e0f=_0x462e();let _0x2f6e55=_0x462e0f[_0x35635a];return _0x2f6e55;}import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x2501d9){const _0x397b57=_0x2f6e,_0x5578da={'rcAeu':_0x397b57(0x1da)};let _0x3a8aad=_0x2501d9,_0x5a8164;if(!_0x2501d9){const _0x4fc06d=await readHookInput();_0x3a8aad=_0x4fc06d?.['session_id'],_0x5a8164=_0x4fc06d?.['reason'];}if(!_0x3a8aad)return;_0x5a8164===_0x5578da[_0x397b57(0x1dd)]&&recordEnabledSessionCleared(_0x3a8aad);}
1
+ function _0x21a0(){const _0x2b9417=['clear','IxtVC','2083039cmBmRj','11052CwgARL','6648nehxZw','2135HfLWhK','2806722VImxgM','541896ighKFv','407424QCsyRb','199448YgEcZj','sifJm','session_id','2540aXnnEg','36BdMraK'];_0x21a0=function(){return _0x2b9417;};return _0x21a0();}function _0xc5f3(_0x340591,_0x5bf073){_0x340591=_0x340591-0x127;const _0x21a0a3=_0x21a0();let _0xc5f3ae=_0x21a0a3[_0x340591];return _0xc5f3ae;}(function(_0x15476c,_0x2085d9){const _0x2a9d19=_0xc5f3,_0x66e315=_0x15476c();while(!![]){try{const _0xc60390=-parseInt(_0x2a9d19(0x12d))/0x1+-parseInt(_0x2a9d19(0x12e))/0x2*(-parseInt(_0x2a9d19(0x132))/0x3)+parseInt(_0x2a9d19(0x129))/0x4*(-parseInt(_0x2a9d19(0x12a))/0x5)+parseInt(_0x2a9d19(0x12b))/0x6+parseInt(_0x2a9d19(0x127))/0x7+parseInt(_0x2a9d19(0x12c))/0x8+parseInt(_0x2a9d19(0x128))/0x9*(-parseInt(_0x2a9d19(0x131))/0xa);if(_0xc60390===_0x2085d9)break;else _0x66e315['push'](_0x66e315['shift']());}catch(_0x40eabf){_0x66e315['push'](_0x66e315['shift']());}}}(_0x21a0,0x92acb));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x1a88e3){const _0xbed283=_0xc5f3,_0x5310df={'IxtVC':function(_0x550d62){return _0x550d62();},'AIgQh':_0xbed283(0x133),'sifJm':function(_0x26258f,_0x12f390){return _0x26258f(_0x12f390);}};let _0x477dda=_0x1a88e3,_0x2699f2;if(!_0x1a88e3){const _0x2b6e18=await _0x5310df[_0xbed283(0x134)](readHookInput);_0x477dda=_0x2b6e18?.[_0xbed283(0x130)],_0x2699f2=_0x2b6e18?.['reason'];}if(!_0x477dda)return;_0x2699f2===_0x5310df['AIgQh']&&_0x5310df[_0xbed283(0x12f)](recordEnabledSessionCleared,_0x477dda);}