@ranger-testing/ranger-cli 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/browserSessionsApi.js +1 -1
  35. package/build/commands/utils/claudeConfig.js +1 -1
  36. package/build/commands/utils/claudePlugin.js +1 -1
  37. package/build/commands/utils/crypto.js +1 -1
  38. package/build/commands/utils/desirePathLog.js +1 -1
  39. package/build/commands/utils/deviceAuth.js +1 -1
  40. package/build/commands/utils/environment.js +1 -1
  41. package/build/commands/utils/featureApi.js +1 -1
  42. package/build/commands/utils/featureReportGenerator.js +1 -1
  43. package/build/commands/utils/fixWebmDuration.js +1 -1
  44. package/build/commands/utils/git.js +1 -1
  45. package/build/commands/utils/keychain.js +1 -1
  46. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  47. package/build/commands/utils/mcpImageBase64.js +1 -1
  48. package/build/commands/utils/model.js +1 -1
  49. package/build/commands/utils/opencodeConfig.js +1 -1
  50. package/build/commands/utils/playwrightCli.js +1 -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/verifyFeatureCli.js +1 -1
  68. package/build/commands/verifyInBrowser.js +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x4a214e=_0x2bbb;function _0x23bc(){const _0x33076a=['CJmdl','TSfZj','Nqdyr','UAkrJ','NUUHU','3388617cVNSRj','309360JyNbrE','\x22\x20does\x20not\x20exist.','228042tNFdhm','(not\x20set)','146538sPBZGK','stringify','Key\x20\x22','qOkVZ','OxweO','allowInsecureLocalhost','object','No\x20configuration\x20set\x20for\x20\x22','Profile\x20\x22','906355CScqfz','480552Vijgpj','WUNzd','7zWsJSP','4JFPIrp','log','195988dQBwjp','true'];_0x23bc=function(){return _0x33076a;};return _0x23bc();}(function(_0x4bbb99,_0x49dbeb){const _0x45e390=_0x2bbb,_0x3bd447=_0x4bbb99();while(!![]){try{const _0x52d9ba=parseInt(_0x45e390(0xa2))/0x1+-parseInt(_0x45e390(0xac))/0x2+parseInt(_0x45e390(0x9d))/0x3+-parseInt(_0x45e390(0xa0))/0x4*(-parseInt(_0x45e390(0x9c))/0x5)+-parseInt(_0x45e390(0xae))/0x6*(-parseInt(_0x45e390(0x9f))/0x7)+parseInt(_0x45e390(0xaa))/0x8+-parseInt(_0x45e390(0xa9))/0x9;if(_0x52d9ba===_0x49dbeb)break;else _0x3bd447['push'](_0x3bd447['shift']());}catch(_0x5559bc){_0x3bd447['push'](_0x3bd447['shift']());}}}(_0x23bc,0x1adb2));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x4a214e(0x98)];function parseValue(_0x51e60d,_0x2aa988){const _0x2f8913=_0x4a214e,_0xc891bc={'qOkVZ':function(_0x1a8336,_0xb7c282){return _0x1a8336===_0xb7c282;}};if(BOOLEAN_KEYS['includes'](_0x51e60d)){if(_0xc891bc[_0x2f8913(0xb1)](_0x2aa988,_0x2f8913(0xa3)))return!![];if(_0x2aa988==='false')return![];throw new Error('Invalid\x20value\x20for\x20'+_0x51e60d+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x2aa988;}export async function configSet(_0x3761f7,_0x5b2cbb,_0x4a4857){const _0xf782f3=_0x4a214e,_0x7b3166={'TSfZj':function(_0x406c8b,_0xca7d33){return _0x406c8b(_0xca7d33);},'UAkrJ':function(_0x154ded,_0x5f2314,_0x254d96){return _0x154ded(_0x5f2314,_0x254d96);}},_0x1c27c5=getEnvDir(_0x3761f7);if(!existsSync(_0x1c27c5))throw new Error('Profile\x20\x22'+_0x3761f7+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x3761f7);const _0x1309bb=await _0x7b3166[_0xf782f3(0xa5)](loadSettings,_0x3761f7),_0x1cefec=_0x7b3166[_0xf782f3(0xa7)](parseValue,_0x5b2cbb,_0x4a4857);setNestedValue(_0x1309bb,_0x5b2cbb,_0x1cefec),await _0x7b3166[_0xf782f3(0xa7)](saveSettings,_0x3761f7,_0x1309bb),console[_0xf782f3(0xa1)]('Set\x20'+_0x5b2cbb+'\x20=\x20'+_0x1cefec);}function _0x2bbb(_0x2ebf66,_0x57235f){_0x2ebf66=_0x2ebf66-0x98;const _0x23bc73=_0x23bc();let _0x2bbb8c=_0x23bc73[_0x2ebf66];return _0x2bbb8c;}export async function configGet(_0x1a7b55,_0x2e49a0){const _0x4d381c=_0x4a214e,_0x4fbe81={'CJmdl':function(_0x5f4c89,_0x395683){return _0x5f4c89(_0x395683);},'oqvSo':function(_0x1afce8,_0x39ce11,_0x5b1493){return _0x1afce8(_0x39ce11,_0x5b1493);},'NUUHU':function(_0x585479,_0x4a1ac0){return _0x585479===_0x4a1ac0;},'twqZZ':_0x4d381c(0x99)},_0x49d80c=_0x4fbe81[_0x4d381c(0xa4)](getEnvDir,_0x1a7b55);if(!existsSync(_0x49d80c))throw new Error('Profile\x20\x22'+_0x1a7b55+_0x4d381c(0xab));const _0x5e651b=await _0x4fbe81[_0x4d381c(0xa4)](loadSettings,_0x1a7b55),_0x4e65b7=_0x4fbe81['oqvSo'](getNestedValue,_0x5e651b,_0x2e49a0);if(_0x4fbe81[_0x4d381c(0xa8)](_0x4e65b7,undefined))console['log'](_0x4d381c(0xad));else _0x4fbe81[_0x4d381c(0xa8)](typeof _0x4e65b7,_0x4fbe81['twqZZ'])?console['log'](JSON[_0x4d381c(0xaf)](_0x4e65b7,null,0x2)):console['log'](_0x4e65b7);}export async function configList(_0xcf9987){const _0x1cd65d=_0x4a214e,_0x1e9c68={'WUNzd':function(_0x2a04b7,_0x54e6cf){return _0x2a04b7(_0x54e6cf);},'bkNrx':function(_0x21e474,_0x3fa244){return _0x21e474(_0x3fa244);},'Nqdyr':function(_0x212c96,_0x46da4f){return _0x212c96(_0x46da4f);},'EGjjZ':function(_0x28e830,_0x18717a){return _0x28e830(_0x18717a);}},_0x5eb8c1=_0x1e9c68[_0x1cd65d(0x9e)](getSettingsPath,_0xcf9987);if(!_0x1e9c68['bkNrx'](existsSync,_0x5eb8c1)){const _0x44b0ce=_0x1e9c68['WUNzd'](getEnvDir,_0xcf9987);if(!_0x1e9c68[_0x1cd65d(0xa6)](existsSync,_0x44b0ce))throw new Error(_0x1cd65d(0x9b)+_0xcf9987+'\x22\x20does\x20not\x20exist.');console[_0x1cd65d(0xa1)](_0x1cd65d(0x9a)+_0xcf9987+'\x22');return;}const _0x54bd50=await loadSettings(_0xcf9987),_0x6a4943=_0x1e9c68['EGjjZ'](formatSettings,_0x54bd50);!_0x6a4943?console[_0x1cd65d(0xa1)]('No\x20configuration\x20set\x20for\x20\x22'+_0xcf9987+'\x22'):console['log'](_0x6a4943);}export async function configUnset(_0x1dbd57,_0x830b0f){const _0x2801a3=_0x4a214e,_0x5c437d={'OxweO':function(_0x173f71,_0xe690a8){return _0x173f71(_0xe690a8);},'nQumd':function(_0x49f687,_0x1df29a,_0x3941dc){return _0x49f687(_0x1df29a,_0x3941dc);}},_0x4161d6=_0x5c437d[_0x2801a3(0xb2)](getEnvDir,_0x1dbd57);if(!_0x5c437d['OxweO'](existsSync,_0x4161d6))throw new Error(_0x2801a3(0x9b)+_0x1dbd57+'\x22\x20does\x20not\x20exist.');const _0x87577b=await loadSettings(_0x1dbd57),_0x2fca18=_0x5c437d['nQumd'](deleteNestedValue,_0x87577b,_0x830b0f);_0x2fca18?(await saveSettings(_0x1dbd57,_0x87577b),console['log']('Removed\x20'+_0x830b0f)):console['log'](_0x2801a3(0xb0)+_0x830b0f+'\x22\x20not\x20found');}
1
+ const _0x2f5b69=_0x168c;function _0x168c(_0x315c42,_0x57f99a){_0x315c42=_0x315c42-0xef;const _0x5f049f=_0x5f04();let _0x168c96=_0x5f049f[_0x315c42];return _0x168c96;}(function(_0x17cd5f,_0x8f51fd){const _0x1e256e=_0x168c,_0x154c25=_0x17cd5f();while(!![]){try{const _0x40abda=parseInt(_0x1e256e(0x103))/0x1+parseInt(_0x1e256e(0xfa))/0x2*(parseInt(_0x1e256e(0xf8))/0x3)+-parseInt(_0x1e256e(0xf3))/0x4+parseInt(_0x1e256e(0x101))/0x5+parseInt(_0x1e256e(0x10c))/0x6+parseInt(_0x1e256e(0x104))/0x7+-parseInt(_0x1e256e(0xf0))/0x8*(parseInt(_0x1e256e(0xf6))/0x9);if(_0x40abda===_0x8f51fd)break;else _0x154c25['push'](_0x154c25['shift']());}catch(_0x5697d7){_0x154c25['push'](_0x154c25['shift']());}}}(_0x5f04,0x75674));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=[_0x2f5b69(0x108),_0x2f5b69(0xf4)];function parseValue(_0x12e422,_0x5a8bd7){const _0x2460c5=_0x2f5b69,_0x3012dd={'Wavus':_0x2460c5(0xf9)};if(BOOLEAN_KEYS[_0x2460c5(0xef)](_0x12e422)){if(_0x5a8bd7===_0x3012dd[_0x2460c5(0xfe)])return!![];if(_0x5a8bd7==='false')return![];throw new Error('Invalid\x20value\x20for\x20'+_0x12e422+_0x2460c5(0xf5));}return _0x5a8bd7;}export async function configSet(_0x4d176e,_0x24c7ab,_0x1628bc){const _0x334e36=_0x2f5b69,_0x1930bd={'JjvXF':function(_0x2a9423,_0x5be0a3){return _0x2a9423(_0x5be0a3);},'NCmCr':function(_0x16f3da,_0x18e29b){return _0x16f3da(_0x18e29b);},'uNGrL':function(_0x51c335,_0x4d5308,_0x310748){return _0x51c335(_0x4d5308,_0x310748);}},_0x14b04f=_0x1930bd[_0x334e36(0x106)](getEnvDir,_0x4d176e);if(!_0x1930bd['NCmCr'](existsSync,_0x14b04f))throw new Error('Profile\x20\x22'+_0x4d176e+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x4d176e);const _0x1c1604=await loadSettings(_0x4d176e),_0x95d6de=_0x1930bd[_0x334e36(0xfc)](parseValue,_0x24c7ab,_0x1628bc);setNestedValue(_0x1c1604,_0x24c7ab,_0x95d6de),await _0x1930bd[_0x334e36(0xfc)](saveSettings,_0x4d176e,_0x1c1604),console['log'](_0x334e36(0x102)+_0x24c7ab+'\x20=\x20'+_0x95d6de);}export async function configGet(_0x179fac,_0xa8e23c){const _0x1e372a=_0x2f5b69,_0x282466={'yZfFb':function(_0x4577d7,_0x30a101){return _0x4577d7(_0x30a101);},'dkVCC':function(_0xbf8a31,_0x18675e){return _0xbf8a31(_0x18675e);},'RUwDZ':function(_0x274fe5,_0x661854,_0x38a40a){return _0x274fe5(_0x661854,_0x38a40a);},'cbvUX':function(_0x319cb8,_0x59efdd){return _0x319cb8===_0x59efdd;},'Dfkwt':'object'},_0x40538c=_0x282466[_0x1e372a(0xf1)](getEnvDir,_0x179fac);if(!_0x282466['dkVCC'](existsSync,_0x40538c))throw new Error('Profile\x20\x22'+_0x179fac+'\x22\x20does\x20not\x20exist.');const _0x3ca7ef=await loadSettings(_0x179fac),_0xc53f33=_0x282466['RUwDZ'](getNestedValue,_0x3ca7ef,_0xa8e23c);if(_0x282466[_0x1e372a(0xfd)](_0xc53f33,undefined))console['log'](_0x1e372a(0xf7));else typeof _0xc53f33===_0x282466[_0x1e372a(0xfb)]?console['log'](JSON['stringify'](_0xc53f33,null,0x2)):console[_0x1e372a(0xff)](_0xc53f33);}export async function configList(_0x2eeef6){const _0x58ee1b=_0x2f5b69,_0x1930ee={'koGDE':function(_0x34f419,_0x5a8a10){return _0x34f419(_0x5a8a10);},'Vxqdl':function(_0x6a16af,_0x4b2f1){return _0x6a16af(_0x4b2f1);}},_0x47a85f=getSettingsPath(_0x2eeef6);if(!_0x1930ee[_0x58ee1b(0x10b)](existsSync,_0x47a85f)){const _0x485148=_0x1930ee[_0x58ee1b(0x10b)](getEnvDir,_0x2eeef6);if(!_0x1930ee['Vxqdl'](existsSync,_0x485148))throw new Error('Profile\x20\x22'+_0x2eeef6+_0x58ee1b(0x105));console[_0x58ee1b(0xff)](_0x58ee1b(0x10a)+_0x2eeef6+'\x22');return;}const _0x24763c=await loadSettings(_0x2eeef6),_0xcace24=_0x1930ee['koGDE'](formatSettings,_0x24763c);!_0xcace24?console['log'](_0x58ee1b(0x10a)+_0x2eeef6+'\x22'):console['log'](_0xcace24);}export async function configUnset(_0x2b7c6f,_0x2adcfa){const _0x4fd29b=_0x2f5b69,_0x489c30={'iSVUv':function(_0x2486d1,_0x19d431){return _0x2486d1(_0x19d431);},'dwUxs':function(_0x5334dd,_0x429c4b){return _0x5334dd(_0x429c4b);},'tWQOz':function(_0x1307be,_0x14c3e7,_0x3cb13b){return _0x1307be(_0x14c3e7,_0x3cb13b);}},_0x19baa6=_0x489c30['iSVUv'](getEnvDir,_0x2b7c6f);if(!_0x489c30[_0x4fd29b(0x100)](existsSync,_0x19baa6))throw new Error('Profile\x20\x22'+_0x2b7c6f+'\x22\x20does\x20not\x20exist.');const _0x31a9e1=await loadSettings(_0x2b7c6f),_0x4d4baa=_0x489c30[_0x4fd29b(0x109)](deleteNestedValue,_0x31a9e1,_0x2adcfa);_0x4d4baa?(await saveSettings(_0x2b7c6f,_0x31a9e1),console[_0x4fd29b(0xff)](_0x4fd29b(0xf2)+_0x2adcfa)):console[_0x4fd29b(0xff)](_0x4fd29b(0x10d)+_0x2adcfa+_0x4fd29b(0x107));}function _0x5f04(){const _0x35463b=['Set\x20','159294skJMXO','3548538NhITht','\x22\x20does\x20not\x20exist.','JjvXF','\x22\x20not\x20found','headless','tWQOz','No\x20configuration\x20set\x20for\x20\x22','koGDE','1527444hoUuPl','Key\x20\x22','includes','1506520QdGDdr','yZfFb','Removed\x20','2094760oyDRAb','allowInsecureLocalhost',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','45enjybD','(not\x20set)','36045FIAZzU','true','160jYrBfm','Dfkwt','uNGrL','cbvUX','Wavus','log','dwUxs','320735APNNmw'];_0x5f04=function(){return _0x35463b;};return _0x5f04();}
@@ -1 +1 @@
1
- const _0x5539e7=_0xd630;(function(_0x3acf4f,_0x57a113){const _0x214195=_0xd630,_0x207565=_0x3acf4f();while(!![]){try{const _0x56d3dc=parseInt(_0x214195(0x1f7))/0x1*(parseInt(_0x214195(0x205))/0x2)+-parseInt(_0x214195(0x206))/0x3*(parseInt(_0x214195(0x1fa))/0x4)+parseInt(_0x214195(0x1fd))/0x5*(parseInt(_0x214195(0x1f0))/0x6)+parseInt(_0x214195(0x1ef))/0x7+-parseInt(_0x214195(0x1ee))/0x8*(-parseInt(_0x214195(0x213))/0x9)+-parseInt(_0x214195(0x1f9))/0xa*(-parseInt(_0x214195(0x20f))/0xb)+parseInt(_0x214195(0x1f8))/0xc*(parseInt(_0x214195(0x201))/0xd);if(_0x56d3dc===_0x57a113)break;else _0x207565['push'](_0x207565['shift']());}catch(_0x3cfd86){_0x207565['push'](_0x207565['shift']());}}}(_0x3bee,0xe483e));function _0xd630(_0x535026,_0x1d43e9){_0x535026=_0x535026-0x1ee;const _0x3bee69=_0x3bee();let _0xd630e3=_0x3bee69[_0x535026];return _0xd630e3;}import{readdir,stat}from'fs/promises';function _0x3bee(){const _0x509e7f=['pXyaR','includes','1cksFCT','348tVrFji','10HaRXaT','12NlUtkb','log','Run:\x20ranger\x20profile\x20add\x20<profile-name>','5xnLLnO','kFsmX','sessions','kJHST','62348FCzBUh','.txt','environmentDetails','YpehF','452484JdfPvP','1547871KhCyPE','local','EYdwj','\x20\x20\x20\x20\x20\x20URL:\x20','baseUrl','push','\x0aProfiles:','legacy','\x0aNo\x20profiles\x20found.','1850321SZtiPz','sort','length','UWKdw','714501dXKpdx','104KazkDT','1911028rTxVli','3871626uRCVdo','iZOaL','bug-bashes','isDirectory','\x0a*\x20=\x20active\x20profile'];_0x3bee=function(){return _0x509e7f;};return _0x3bee();}import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=[_0x5539e7(0x1ff),_0x5539e7(0x1f2),'reports','local','ci'];export async function getEnvNames(){const _0x284660=_0x5539e7,_0x244c55={'YpehF':function(_0x2c3cc7){return _0x2c3cc7();},'pXyaR':function(_0x4b1ee6,_0x5ac29c,_0x3fe8cc){return _0x4b1ee6(_0x5ac29c,_0x3fe8cc);},'WlPQS':function(_0x5d2342,_0x48890e){return _0x5d2342(_0x48890e);},'kJHST':function(_0x512de2,_0xda0c4c){return _0x512de2(_0xda0c4c);},'EYdwj':function(_0x4e681e,_0x5838fe,_0x18d5fa){return _0x4e681e(_0x5838fe,_0x18d5fa);},'Mzssp':function(_0x39a98e,_0x107ee5,_0x1150b8){return _0x39a98e(_0x107ee5,_0x1150b8);},'tNGzq':function(_0x1c9d5d,_0x48b44b){return _0x1c9d5d(_0x48b44b);},'tNTzr':function(_0x5d168a,_0x40c6f4){return _0x5d168a(_0x40c6f4);},'dQBCv':'settings.json'},_0x411f17=getRangerDir();if(!existsSync(_0x411f17))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x4740cf=await _0x244c55[_0x284660(0x204)](readActiveProfileName),_0x17d429=[],_0x4d361d={},_0x2fa25e=_0x244c55[_0x284660(0x1f5)](join,_0x411f17,_0x284660(0x207));if(_0x244c55['WlPQS'](existsSync,_0x2fa25e)){const _0x507743=await _0x244c55[_0x284660(0x200)](readdir,_0x2fa25e);for(const _0x328b4 of _0x507743){const _0x15f2b1=_0x244c55[_0x284660(0x208)](join,_0x2fa25e,_0x328b4),_0x5cf830=await stat(_0x15f2b1);_0x5cf830['isDirectory']()&&(_0x17d429['push'](_0x328b4),_0x4d361d[_0x328b4]='local');}}const _0x4d497c=_0x244c55['Mzssp'](join,_0x411f17,'ci');if(existsSync(_0x4d497c)){const _0x452be5=await readdir(_0x4d497c);for(const _0x5d3c7a of _0x452be5){const _0x7a0acb=join(_0x4d497c,_0x5d3c7a),_0x1eb5c4=await _0x244c55['tNGzq'](stat,_0x7a0acb);_0x1eb5c4['isDirectory']()&&(_0x17d429[_0x284660(0x20b)](_0x5d3c7a),_0x4d361d[_0x5d3c7a]='ci');}}const _0x175999=await readdir(_0x411f17);for(const _0x207756 of _0x175999){if(NON_ENV_DIRS[_0x284660(0x1f6)](_0x207756))continue;if(_0x207756['startsWith']('.'))continue;if(_0x207756['endsWith'](_0x284660(0x202)))continue;const _0x1cfe4f=join(_0x411f17,_0x207756),_0x56e280=await stat(_0x1cfe4f);_0x56e280[_0x284660(0x1f3)]()&&_0x244c55['tNTzr'](existsSync,join(_0x1cfe4f,_0x244c55['dQBCv']))&&(!_0x17d429[_0x284660(0x1f6)](_0x207756)&&(_0x17d429['push'](_0x207756),_0x4d361d[_0x207756]=_0x284660(0x20d)));}return{'envNames':_0x17d429,'activeEnv':_0x4740cf,'envTypes':_0x4d361d};}export async function envList(){const _0x4a8ca2=_0x5539e7,_0x30092e={'oozZG':_0x4a8ca2(0x20e),'iZOaL':_0x4a8ca2(0x1fc),'UWKdw':_0x4a8ca2(0x20c),'kFsmX':function(_0x5b0da8,_0xb8e3a1){return _0x5b0da8===_0xb8e3a1;},'KyArq':'legacy'},{envNames:_0x3b449d,activeEnv:_0xc76a93,envTypes:_0x30e7c3}=await getEnvNames();if(_0x3b449d[_0x4a8ca2(0x211)]===0x0){console['log'](_0x30092e['oozZG']),console['log'](_0x30092e[_0x4a8ca2(0x1f1)]);return;}console[_0x4a8ca2(0x1fb)](_0x30092e[_0x4a8ca2(0x212)]);for(const _0x588605 of _0x3b449d[_0x4a8ca2(0x210)]()){const _0x496efb=_0x30092e[_0x4a8ca2(0x1fe)](_0x588605,_0xc76a93),_0x4bf1dc=_0x30e7c3[_0x588605]||'local',_0x331580=await loadSettings(_0x588605),_0x10e004=_0x30092e['kFsmX'](_0x4bf1dc,_0x30092e['KyArq'])?'':'\x20['+_0x4bf1dc+']';console['log']('\x20\x20'+(_0x496efb?'*\x20':'\x20\x20')+_0x588605+_0x10e004),_0x331580[_0x4a8ca2(0x20a)]&&console['log'](_0x4a8ca2(0x209)+_0x331580['baseUrl']),_0x331580[_0x4a8ca2(0x203)]&&console[_0x4a8ca2(0x1fb)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x331580['environmentDetails']);}_0xc76a93&&console['log'](_0x4a8ca2(0x1f4));}
1
+ const _0x3c7036=_0x2699;(function(_0x1b85ae,_0x3def1d){const _0x3a08d2=_0x2699,_0x10118e=_0x1b85ae();while(!![]){try{const _0x412192=parseInt(_0x3a08d2(0xbf))/0x1+-parseInt(_0x3a08d2(0xb9))/0x2+-parseInt(_0x3a08d2(0xa6))/0x3*(parseInt(_0x3a08d2(0xb5))/0x4)+-parseInt(_0x3a08d2(0xae))/0x5+-parseInt(_0x3a08d2(0xb4))/0x6*(parseInt(_0x3a08d2(0xaa))/0x7)+-parseInt(_0x3a08d2(0xb6))/0x8+parseInt(_0x3a08d2(0xba))/0x9*(parseInt(_0x3a08d2(0xac))/0xa);if(_0x412192===_0x3def1d)break;else _0x10118e['push'](_0x10118e['shift']());}catch(_0xd6a94){_0x10118e['push'](_0x10118e['shift']());}}}(_0x1d4f,0xbce3d));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x2699(_0x212bbe,_0x1657cb){_0x212bbe=_0x212bbe-0xa1;const _0x1d4f3c=_0x1d4f();let _0x2699f8=_0x1d4f3c[_0x212bbe];return _0x2699f8;}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x1d4f(){const _0x3dd5bb=['6CNXRtj','3035244EHmWmh','6069200aDbxRL','legacy','bxHcB','1729416vXzrkJ','9QJTcjW','JaAmx','local','\x0aProfiles:','isDirectory','1010815nrnhOq','length','sort','jBIVH','environmentDetails','startsWith','aTLAB','6uSXyxp','settings.json','endsWith','push','3288838FlkEQQ','cZXOr','48097390DDSdgX','qEJIj','7180235fakYQm','includes','log','obNKT','QZbkQ','cuAfB'];_0x1d4f=function(){return _0x3dd5bb;};return _0x1d4f();}const NON_ENV_DIRS=['sessions','bug-bashes','reports',_0x3c7036(0xbc),'ci'];export async function getEnvNames(){const _0x1bf715=_0x3c7036,_0x189c2f={'cuAfB':function(_0x3fea94){return _0x3fea94();},'JpOSH':function(_0x502584,_0x11a2e1){return _0x502584(_0x11a2e1);},'ykJIG':function(_0xc35f92,_0x31a65b,_0x26b709){return _0xc35f92(_0x31a65b,_0x26b709);},'obNKT':function(_0x11d39e,_0x473f2e){return _0x11d39e(_0x473f2e);},'QZbkQ':_0x1bf715(0xbc),'qEJIj':function(_0x3ab42a,_0x3f2928,_0x4f2a7c){return _0x3ab42a(_0x3f2928,_0x4f2a7c);},'VkEZW':'.txt','ByPGj':function(_0x367032,_0x43ff06,_0x215ad3){return _0x367032(_0x43ff06,_0x215ad3);},'aTLAB':function(_0x5beb1d,_0xdd5660){return _0x5beb1d(_0xdd5660);}},_0xb14d2d=_0x189c2f[_0x1bf715(0xb3)](getRangerDir);if(!_0x189c2f['JpOSH'](existsSync,_0xb14d2d))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x4d921a=await _0x189c2f['cuAfB'](readActiveProfileName),_0x3b571e=[],_0x12fbd3={},_0x4c9d32=join(_0xb14d2d,'local');if(existsSync(_0x4c9d32)){const _0x77e199=await readdir(_0x4c9d32);for(const _0x4272f2 of _0x77e199){const _0x5cd14c=_0x189c2f['ykJIG'](join,_0x4c9d32,_0x4272f2),_0x28f2cf=await _0x189c2f[_0x1bf715(0xb1)](stat,_0x5cd14c);_0x28f2cf['isDirectory']()&&(_0x3b571e[_0x1bf715(0xa9)](_0x4272f2),_0x12fbd3[_0x4272f2]=_0x189c2f[_0x1bf715(0xb2)]);}}const _0x1fce18=_0x189c2f[_0x1bf715(0xad)](join,_0xb14d2d,'ci');if(existsSync(_0x1fce18)){const _0x265118=await readdir(_0x1fce18);for(const _0x2db898 of _0x265118){const _0x2bed02=_0x189c2f['qEJIj'](join,_0x1fce18,_0x2db898),_0x1c9e56=await stat(_0x2bed02);_0x1c9e56['isDirectory']()&&(_0x3b571e['push'](_0x2db898),_0x12fbd3[_0x2db898]='ci');}}const _0x1ee1b9=await readdir(_0xb14d2d);for(const _0xe37a58 of _0x1ee1b9){if(NON_ENV_DIRS[_0x1bf715(0xaf)](_0xe37a58))continue;if(_0xe37a58[_0x1bf715(0xa4)]('.'))continue;if(_0xe37a58[_0x1bf715(0xa8)](_0x189c2f['VkEZW']))continue;const _0xf1c27b=_0x189c2f['ByPGj'](join,_0xb14d2d,_0xe37a58),_0x5de557=await stat(_0xf1c27b);_0x5de557[_0x1bf715(0xbe)]()&&_0x189c2f[_0x1bf715(0xa5)](existsSync,_0x189c2f['qEJIj'](join,_0xf1c27b,_0x1bf715(0xa7)))&&(!_0x3b571e['includes'](_0xe37a58)&&(_0x3b571e['push'](_0xe37a58),_0x12fbd3[_0xe37a58]=_0x1bf715(0xb7)));}return{'envNames':_0x3b571e,'activeEnv':_0x4d921a,'envTypes':_0x12fbd3};}export async function envList(){const _0x360334=_0x3c7036,_0x48fcf2={'JaAmx':'\x0aNo\x20profiles\x20found.','FhGox':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','cZXOr':_0x360334(0xbd),'jBIVH':function(_0x5ae967,_0x36f291){return _0x5ae967(_0x36f291);},'bxHcB':'legacy'},{envNames:_0x3a203c,activeEnv:_0x30d9ff,envTypes:_0x5a42b7}=await getEnvNames();if(_0x3a203c[_0x360334(0xc0)]===0x0){console[_0x360334(0xb0)](_0x48fcf2[_0x360334(0xbb)]),console[_0x360334(0xb0)](_0x48fcf2['FhGox']);return;}console[_0x360334(0xb0)](_0x48fcf2[_0x360334(0xab)]);for(const _0x36bd52 of _0x3a203c[_0x360334(0xa1)]()){const _0x298579=_0x36bd52===_0x30d9ff,_0x2559b3=_0x5a42b7[_0x36bd52]||_0x360334(0xbc),_0xf10156=await _0x48fcf2[_0x360334(0xa2)](loadSettings,_0x36bd52),_0x1c5ded=_0x2559b3===_0x48fcf2[_0x360334(0xb8)]?'':'\x20['+_0x2559b3+']';console['log']('\x20\x20'+(_0x298579?'*\x20':'\x20\x20')+_0x36bd52+_0x1c5ded),_0xf10156['baseUrl']&&console[_0x360334(0xb0)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0xf10156['baseUrl']),_0xf10156['environmentDetails']&&console[_0x360334(0xb0)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0xf10156[_0x360334(0xa3)]);}_0x30d9ff&&console['log']('\x0a*\x20=\x20active\x20profile');}
@@ -1 +1 @@
1
- function _0x42a3(){const _0x46bee6=['/api/v1/mcp/browser-sessions/','\x20/\x20','RecJt','split','gitRepoUrl','\x20\x20\x20\x20\x20ID:\x20','\x20\x20💬\x20','yxLfk','ELhOw','reports','QrpAV','1NYHPjn','\x1b[0m','No\x20scenarios\x20found.','Next\x20page:\x20ranger\x20list\x20--offset\x20','browserSessionId','output','env','assets','verification_in_progress','tzcQd','lsdFQ','utf-8','name','incompleteItems','4990794eBguxG','completedAt','checklistItems','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','LDsnr','ziEVL','2798109PGroeq','GWTIg','createdAt','nYuwk','aVlqW','stepName','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','currentSessionId','CLAUDE_SESSION_ID','write','description','tHHiU','parentItemId','\x20concluded.','quPBR','incompleteReason','\x20\x20\x20Progress:\x20','\x0a❌\x20Invalid\x20scenario\x20index:\x20','RojiB','\x20verified','JGyNK',':\x20\x22','evDWG','\x0a✅\x20Restored\x20feature\x20review:\x20','GwRrh','scenario','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','kpBek','xzEDQ','50lAdbdP','version','unaddressedComments','sknqb','kmqmT','DBPgo','toLocaleDateString','MfVwp','length','jzfBk','pop','closed','pdgyz','kHCvH','rtAgn','ijcsd','VDykV','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','iteration','\x20\x20\x20\x20\x20\x20Incomplete:\x20','assetType','terminalReason','TZAaW','CRXNh','\x20\x20\x20\x20\x20\x20Approved','olDcG','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','trim','stats','EGMOs','toLocaleString','KcwQD','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x0a⚠️\x20\x20','ftgZP','timing','VDVYy','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','ready','rThpx','\x20at\x20[','\x0a✅\x20Resumed\x20feature\x20review:\x20','5677160TppIXr','canonicalFlow','\x20\x20\x20\x20','63ZptVam','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','type','\x20\x20\x20▶️\x20Started\x20session\x20','error','\x20blocked','\x20of\x20','isTTY','\x20—\x20','pUEOF','git\x20remote\x20get-url\x20origin','includeDeleted','trimEnd','replace','agentResponse','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','MrTJg','approved','ufTUf','log','Screenshot\x20','blockedReason','authorName','uhogo','en-US','stdout','screenshot','gitBranch','assetUrl','vWZWX','qkXio','gjIih','join','map','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','FiaxO','...','status','ATEZL','6645HsRJdb','position','PKNyF','get','json','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','blockedItems','oeffw','\x20\x20\x20\x20\x20Branch:\x20','JxBDa','filter','QGIaT','domRef','Current\x20session\x20not\x20found.','yfhWJ','gfOkJ','xWNxp','LtTaf','warn','stringify','has','totalCount','zRNkM','coordinates','gMbzK','element','IrZMY','4228ClJUui','\x20\x20\x20\x20\x20📋\x20Selector:\x20','canceledReason','blocked','wCtmR','authorEmail','\x20[has\x20reviewer\x20feedback]','notes','Showing\x20','aNFnx','point','hhhfi','spatial','\x0a✅\x20Session\x20is\x20already\x20completed.','sessionId','find','QzVdj','github.com/','895296THVAkq','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','textContent','hupaA','selector','in_progress','3141470GRHWhx','\x20\x20\x20Completed:\x20','\x20\x20\x20Description:\x20','dashboardUrl','latestReview','pipe','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20Expected\x20flow:','toFixed','Cannot\x20conclude\x20session\x20with\x20status:\x20','kQmNV','SmiEL','\x20--limit\x20','completed','submittedAt','\x20Session\x20','QOdXJ','uBoBz','LOivW','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','scenarios','VTbaN','active-feature.txt','51269867nVSiis','No\x20sessions\x20found.','\x0a✅\x20Feature\x20review\x20created:\x20','\x20\x20\x20ID:\x20'];_0x42a3=function(){return _0x46bee6;};return _0x42a3();}const _0x492c6d=_0x56e7;(function(_0x21d07a,_0x480696){const _0x58578e=_0x56e7,_0x517c7d=_0x21d07a();while(!![]){try{const _0x1fef29=-parseInt(_0x58578e(0x13d))/0x1*(-parseInt(_0x58578e(0x117))/0x2)+parseInt(_0x58578e(0x14b))/0x3+parseInt(_0x58578e(0x1dd))/0x4*(parseInt(_0x58578e(0x1c2))/0x5)+parseInt(_0x58578e(0x111))/0x6*(-parseInt(_0x58578e(0x19b))/0x7)+parseInt(_0x58578e(0x198))/0x8+parseInt(_0x58578e(0x151))/0x9*(parseInt(_0x58578e(0x16e))/0xa)+-parseInt(_0x58578e(0x12e))/0xb;if(_0x1fef29===_0x480696)break;else _0x517c7d['push'](_0x517c7d['shift']());}catch(_0x281bd7){_0x517c7d['push'](_0x517c7d['shift']());}}}(_0x42a3,0xdb943));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x29615f from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE=_0x492c6d(0x12d),bold=_0x1dc034=>'\x1b[1m'+_0x1dc034+_0x492c6d(0x13e);function getGitRepoUrl(){const _0x1ceff0=_0x492c6d,_0x4fd855={'PIqDK':_0x1ceff0(0x1a5),'iNtKN':'pipe'};try{const _0x2a2d86=execSync(_0x4fd855['PIqDK'],{'encoding':'utf-8','stdio':[_0x1ceff0(0x11c),'pipe',_0x4fd855['iNtKN']]})[_0x1ceff0(0x189)]();return _0x2a2d86['replace'](/\.git$/,'')[_0x1ceff0(0x1a8)](/^git@github\.com:/,_0x1ceff0(0x110))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x24be31=_0x492c6d,_0x55e57b={'euCvA':function(_0x3d585b,_0x22907e,_0x50ddf0){return _0x3d585b(_0x22907e,_0x50ddf0);},'gdfMa':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','FMFBT':_0x24be31(0x148),'LDsnr':'pipe'};try{return _0x55e57b['euCvA'](execSync,_0x55e57b['gdfMa'],{'encoding':_0x55e57b['FMFBT'],'stdio':[_0x55e57b[_0x24be31(0x14f)],_0x24be31(0x11c),'pipe']})[_0x24be31(0x189)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x539496=_0x492c6d,_0x36d633={'dzsyT':function(_0x1942a6,_0x13bd41,_0x10b343){return _0x1942a6(_0x13bd41,_0x10b343);},'jkdVs':function(_0x501212){return _0x501212();},'kmqmT':_0x539496(0x148)},_0x4546df=_0x36d633['dzsyT'](join,_0x36d633['jkdVs'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x4546df))return null;try{const _0x241822=await readFile(_0x4546df,_0x36d633[_0x539496(0x172)]);return _0x241822['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x18d453){const _0x55caf5=_0x492c6d,_0x439dc0={'ATEZL':function(_0x25d07c,_0x2f171b,_0x36276c){return _0x25d07c(_0x2f171b,_0x36276c);},'VTbaN':function(_0x51f0b7,_0x23e6b2,_0x28d7ba,_0x2eb577){return _0x51f0b7(_0x23e6b2,_0x28d7ba,_0x2eb577);},'FiaxO':_0x55caf5(0x148)},_0x4a5352=getRangerDir(),_0x2fadda=join(_0x4a5352,ACTIVE_FEATURE_FILE);!existsSync(_0x4a5352)&&await _0x439dc0[_0x55caf5(0x1c1)](mkdir,_0x4a5352,{'recursive':!![]}),await _0x439dc0[_0x55caf5(0x12c)](writeFile,_0x2fadda,_0x18d453,_0x439dc0[_0x55caf5(0x1be)]);}function getProgressDisplay(_0x4b3279){const _0x2265b6=_0x492c6d,_0x2ed766={'ziEVL':function(_0x5f2a90,_0x1d5d9b){return _0x5f2a90+_0x1d5d9b;},'ftgZP':function(_0x5af7d4,_0x2779b7){return _0x5af7d4+_0x2779b7;},'RecJt':function(_0x4a9a4f,_0x7484b1){return _0x4a9a4f+_0x7484b1;},'stvGt':function(_0x399d3d,_0x31f977){return _0x399d3d*_0x31f977;},'lsdFQ':function(_0x61c02,_0x59e859){return _0x61c02/_0x59e859;},'uBoBz':function(_0x2fc164,_0x259921){return _0x2fc164>_0x259921;}},_0x44fb10=_0x4b3279['verifiedItems']||0x0,_0x47083c=_0x4b3279['verificationInProgressItems']||0x0,_0x309d46=_0x4b3279[_0x2265b6(0x1c8)]||0x0,_0x348a55=_0x4b3279[_0x2265b6(0x14a)]||0x0,_0x1ed48b=_0x4b3279['pendingItems']||0x0,_0x530e4b=_0x2ed766[_0x2265b6(0x150)](_0x2ed766[_0x2265b6(0x190)](_0x2ed766[_0x2265b6(0x134)](_0x44fb10+_0x47083c,_0x309d46),_0x348a55),_0x1ed48b);if(_0x530e4b===0x0)return'-';const _0x39b100=0xa,_0x3e12a6=Math['round'](_0x2ed766['stvGt'](_0x2ed766[_0x2265b6(0x147)](_0x44fb10,_0x530e4b),_0x39b100)),_0x1064aa='█'['repeat'](_0x3e12a6)+'░'['repeat'](_0x39b100-_0x3e12a6),_0x100beb=[];if(_0x2ed766[_0x2265b6(0x128)](_0x309d46,0x0))_0x100beb['push'](_0x309d46+_0x2265b6(0x1a0));if(_0x348a55>0x0)_0x100beb['push'](_0x348a55+'\x20incomplete');if(_0x47083c>0x0)_0x100beb['push'](_0x47083c+'\x20in\x20progress');const _0x31ce26=_0x2ed766['uBoBz'](_0x100beb[_0x2265b6(0x176)],0x0)?'\x20('+_0x100beb['join'](',\x20')+')':'';return _0x1064aa+'\x20'+_0x44fb10+'/'+_0x530e4b+_0x2265b6(0x164)+_0x31ce26;}function getCurrentSessionItems(_0x73e644,_0xd392b8){const _0x5cd922=_0x492c6d;if(!_0x73e644['currentSessionId'])return _0xd392b8['filter'](_0x41f37e=>!_0x41f37e['sessionId']);return _0xd392b8[_0x5cd922(0x1cc)](_0x3476bf=>_0x3476bf[_0x5cd922(0x10d)]===_0x73e644['currentSessionId']||!_0x3476bf[_0x5cd922(0x10d)]);}function displayFeature(_0x300bd2,_0x488480){const _0x398d12=_0x492c6d,_0xa27599={'nYuwk':function(_0x2a0c6b,_0x5c159d){return _0x2a0c6b>_0x5c159d;},'tzcQd':function(_0x2acc34,_0x434f0e){return _0x2acc34<_0x434f0e;},'ogslj':function(_0x105e99,_0x1e67c4){return _0x105e99===_0x1e67c4;},'aVlqW':_0x398d12(0x1ac),'evDWG':function(_0x112cf0,_0x1256c9){return _0x112cf0===_0x1256c9;},'TZAaW':'verified','siKJu':'incomplete','QGIaT':_0x398d12(0x1e0),'QzVdj':'closed','LmwfE':'verification_in_progress','qFaHN':function(_0x3a54d6,_0x399247){return _0x3a54d6!==_0x399247;},'KyIxc':function(_0x3aa7d5,_0x4da89c){return _0x3aa7d5!==_0x4da89c;},'GWTIg':function(_0x34bdff,_0x832a3d){return _0x34bdff===_0x832a3d;}};console[_0x398d12(0x1ae)]('\x0a'+_0x300bd2['name']+'\x20('+_0x300bd2[_0x398d12(0x11a)]+')');_0x300bd2['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x300bd2['stats']));_0x300bd2['description']&&console['log'](_0x398d12(0x119)+_0x300bd2['description']);_0x300bd2[_0x398d12(0x136)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x300bd2['gitRepoUrl']);_0x300bd2['gitBranch']&&console[_0x398d12(0x1ae)]('\x20\x20\x20Branch:\x20'+_0x300bd2['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x300bd2[_0x398d12(0x153)])[_0x398d12(0x18c)]());_0x300bd2[_0x398d12(0x14c)]&&console['log'](_0x398d12(0x118)+new Date(_0x300bd2[_0x398d12(0x14c)])['toLocaleString']());if(_0x488480&&_0xa27599[_0x398d12(0x154)](_0x488480['length'],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x5d715b=0x0;_0xa27599[_0x398d12(0x146)](_0x5d715b,_0x488480['length']);_0x5d715b++){const _0xe2673b=_0x488480[_0x5d715b];let _0x22df10;if(_0xe2673b[_0x398d12(0x1c0)]==='closed'&&_0xa27599['ogslj'](_0xe2673b[_0x398d12(0x183)],_0xa27599['aVlqW']))_0x22df10='✅';else{if(_0xa27599[_0x398d12(0x167)](_0xe2673b['status'],_0xa27599[_0x398d12(0x184)]))_0x22df10='🟢';else{if(_0xa27599['ogslj'](_0xe2673b['status'],_0xa27599['siKJu']))_0x22df10='🟠';else{if(_0xa27599[_0x398d12(0x167)](_0xe2673b['status'],_0xa27599['QGIaT']))_0x22df10='🛑';else{if(_0xe2673b['status']===_0xa27599['QzVdj'])_0x22df10='⛔';else _0xa27599[_0x398d12(0x167)](_0xe2673b[_0x398d12(0x1c0)],_0xa27599['LmwfE'])?_0x22df10='⏳':_0x22df10='⬜';}}}}const _0x6a926f=_0xe2673b['version']>0x1?'\x20(v'+_0xe2673b[_0x398d12(0x16f)]+')':'',_0x5311b4=_0xe2673b[_0x398d12(0x16f)]>0x1&&_0xe2673b[_0x398d12(0x15d)]&&_0xa27599['qFaHN'](_0xe2673b['status'],'closed')&&_0xa27599['KyIxc'](_0xe2673b['status'],_0xa27599[_0x398d12(0x184)])?_0x398d12(0x1e3):'';console['log']('\x20\x20\x20'+(_0x5d715b+0x1)+'.\x20'+_0x22df10+'\x20'+_0xe2673b[_0x398d12(0x15b)]+_0x6a926f+_0x5311b4);_0xe2673b['status']===_0xa27599[_0x398d12(0x1cd)]&&_0xe2673b['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0xe2673b['blockedReason']);_0xa27599[_0x398d12(0x152)](_0xe2673b['status'],'incomplete')&&_0xe2673b['incompleteReason']&&console['log'](_0x398d12(0x181)+_0xe2673b['incompleteReason']);if(_0xa27599['evDWG'](_0xe2673b['status'],_0xa27599['QzVdj'])&&_0xe2673b['terminalReason']===_0xa27599[_0x398d12(0x155)])console[_0x398d12(0x1ae)](_0x398d12(0x186));else _0xe2673b[_0x398d12(0x1c0)]===_0xa27599[_0x398d12(0x10f)]&&_0xe2673b[_0x398d12(0x1df)]&&console[_0x398d12(0x1ae)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0xe2673b['canceledReason']);}}}export async function featureCreate(_0xf6cb54,_0x3e83dc){const _0xc9b646=_0x492c6d,_0x1ce76f={'bHgzd':function(_0x4fb7ea){return _0x4fb7ea();},'KAilK':function(_0x474558,_0x36a8db){return _0x474558===_0x36a8db;},'RojiB':function(_0x31c920,_0x51f707){return _0x31c920(_0x51f707);},'CPPaP':function(_0x9f5bce){return _0x9f5bce();},'tHHiU':function(_0x1b49f2){return _0x1b49f2();},'uvvxT':'\x0aCreating\x20feature\x20review...','kpBek':function(_0x1e21b0,_0xd7bfa2){return _0x1e21b0(_0xd7bfa2);},'KFxBJ':function(_0x199c77,_0x5a1dbb,_0xa9b5df){return _0x199c77(_0x5a1dbb,_0xa9b5df);}},{envNames:_0x4fe83b}=await _0x1ce76f['bHgzd'](getEnvNames);_0x1ce76f['KAilK'](_0x4fe83b[_0xc9b646(0x176)],0x0)&&console[_0xc9b646(0x1d4)]('\x0a'+_0x1ce76f[_0xc9b646(0x163)](formatProfileRequiredMessage,_0xf6f54c=>bold(_0xf6f54c)));const _0x3a7847=_0x3e83dc['scenarios']?_0x3e83dc[_0xc9b646(0x12b)][_0xc9b646(0x1bc)](_0x35187d=>_0x35187d['trim']()):[],_0x3baa3c=_0x1ce76f['CPPaP'](getGitRepoUrl),_0x5996cb=_0x1ce76f[_0xc9b646(0x15c)](getGitBranch);console['log'](_0x1ce76f['uvvxT']);const _0x4b7a55=await _0x1ce76f[_0xc9b646(0x163)](createFeature,{'name':_0xf6cb54,'description':_0x3e83dc['description'],'checklist':_0x3a7847,'gitRepoUrl':_0x3baa3c,'gitBranch':_0x5996cb});await _0x1ce76f[_0xc9b646(0x16c)](setActiveFeatureId,_0x4b7a55['id']),await _0x1ce76f['RojiB'](tryStartCurrentSession,_0x4b7a55['id']);const _0x48e6f1=process['env'][_0xc9b646(0x159)];_0x48e6f1&&_0x1ce76f['KFxBJ'](registerSession,_0x48e6f1,_0x4b7a55['id']),console[_0xc9b646(0x1ae)](_0xc9b646(0x130)+_0x4b7a55['id']),displayFeature(_0x4b7a55,_0x4b7a55[_0xc9b646(0x14d)]),console['log'](_0xc9b646(0x18e));}export async function featureList(_0x23e8e3){const _0x426727=_0x492c6d,_0x558bd6={'hupaA':function(_0x524ef2){return _0x524ef2();},'GwRrh':function(_0xa9ba7d){return _0xa9ba7d();},'aNFnx':function(_0x4b3e87,_0xe7b349){return _0x4b3e87(_0xe7b349);},'WOjhI':function(_0x4008b2,_0x288b6c){return _0x4008b2+_0x288b6c;},'nUhGb':'\x20--current-branch'},_0x203b01={'limit':_0x23e8e3['limit']??0xa,'offset':_0x23e8e3['offset']??0x0,'includeDeleted':_0x23e8e3[_0x426727(0x1a6)]};_0x23e8e3['currentBranch']&&(_0x203b01[_0x426727(0x136)]=_0x558bd6[_0x426727(0x114)](getGitRepoUrl),_0x203b01[_0x426727(0x1b6)]=_0x558bd6[_0x426727(0x169)](getGitBranch));const _0x36335c=await _0x558bd6[_0x426727(0x1e6)](listFeatures,_0x203b01);if(_0x36335c['items'][_0x426727(0x176)]===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x1cfb59=_0x36335c['totalCount']>_0x36335c['items']['length']?_0x426727(0x1e5)+_0x36335c['items'][_0x426727(0x176)]+_0x426727(0x1a1)+_0x36335c['totalCount']:_0x36335c[_0x426727(0x1d7)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1cfb59+':\x0a');for(const _0x3d8677 of _0x36335c['items']){console[_0x426727(0x1ae)](''+_0x3d8677['name']),console['log'](_0x426727(0x131)+_0x3d8677['id']),_0x3d8677[_0x426727(0x18a)]&&console['log'](_0x426727(0x161)+_0x558bd6['aNFnx'](getProgressDisplay,_0x3d8677['stats'])),_0x3d8677['gitBranch']&&console[_0x426727(0x1ae)]('\x20\x20\x20Branch:\x20'+_0x3d8677['gitBranch']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3d8677[_0x426727(0x153)])[_0x426727(0x174)]()),console['log']('');}const _0x360f40=_0x203b01['limit']??0xa,_0x3b0731=_0x558bd6['WOjhI'](_0x203b01['offset']??0x0,_0x36335c['items'][_0x426727(0x176)]);if(_0x3b0731<_0x36335c['totalCount']){const _0x515492=_0x360f40!==0xa?_0x426727(0x123)+_0x360f40:'',_0x410326=_0x23e8e3['currentBranch']?_0x558bd6['nUhGb']:'',_0x52fc8e=_0x23e8e3['includeDeleted']?'\x20--include-deleted':'';console[_0x426727(0x1ae)](_0x426727(0x140)+_0x3b0731+_0x515492+_0x410326+_0x52fc8e);}}function _0x56e7(_0x268715,_0x24379f){_0x268715=_0x268715-0x109;const _0x42a387=_0x42a3();let _0x56e7c0=_0x42a387[_0x268715];return _0x56e7c0;}export async function featureShow(_0x3aff8e){const _0x44b1e2=_0x492c6d,_0x44685c=_0x3aff8e||await getActiveFeatureId();if(!_0x44685c)throw new Error(_0x44b1e2(0x11d));const _0x39bf25=await getFeature(_0x44685c);displayFeature(_0x39bf25,_0x39bf25['checklistItems']);}export async function featureResume(_0x500f57){const _0x3c9112=_0x492c6d,_0x527c59={'LtTaf':function(_0x88596f,_0x80a5a8){return _0x88596f(_0x80a5a8);},'bgOvY':function(_0x145130){return _0x145130();},'AawUp':function(_0x312036,_0x293ef8){return _0x312036!==_0x293ef8;},'IrZMY':function(_0x5bf640,_0x5c89de,_0x2c5cd7){return _0x5bf640(_0x5c89de,_0x2c5cd7);},'GngDc':function(_0x13e221){return _0x13e221();},'NZqgx':function(_0x498531,_0x52408c){return _0x498531&&_0x52408c;},'PKNyF':'Not\x20in\x20a\x20git\x20repository.','hfkBx':'any','sknqb':function(_0x52e5f4,_0x365f64){return _0x52e5f4===_0x365f64;},'HhxZQ':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','BrjYv':'selected','XQHWJ':function(_0x5baee2,_0x242b1f){return _0x5baee2(_0x242b1f);},'Xvydo':function(_0x550740,_0x3b05ac,_0x2f54a4){return _0x550740(_0x3b05ac,_0x2f54a4);}};if(_0x500f57){const _0x26eb11=await getFeature(_0x500f57);await _0x527c59['LtTaf'](setActiveFeatureId,_0x26eb11['id']);const _0x5334f4=_0x527c59['bgOvY'](getGitBranch);_0x5334f4&&_0x527c59['AawUp'](_0x5334f4,_0x26eb11[_0x3c9112(0x1b6)])&&(await updateFeature(_0x26eb11['id'],{'gitBranch':_0x5334f4}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x5334f4));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x26eb11[_0x3c9112(0x149)]+'\x20('+_0x26eb11['id']+')'),await tryStartCurrentSession(_0x26eb11['id']);const _0x36bb69=process[_0x3c9112(0x143)]['CLAUDE_SESSION_ID'];_0x36bb69&&_0x527c59['IrZMY'](registerSession,_0x36bb69,_0x26eb11['id']);displayFeature(_0x26eb11,_0x26eb11['checklistItems']),await printFeedbackNudge(_0x26eb11['id']);return;}const _0x248b58=getGitRepoUrl(),_0x1c6a31=_0x527c59['GngDc'](getGitBranch);if(_0x527c59['NZqgx'](!_0x248b58,!_0x1c6a31))throw new Error(_0x527c59[_0x3c9112(0x1c4)]);console[_0x3c9112(0x1ae)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x248b58||'any')+_0x3c9112(0x133)+(_0x1c6a31||_0x527c59['hfkBx'])+_0x3c9112(0x1bf));const _0x1c4292=await _0x527c59[_0x3c9112(0x1d3)](listFeatures,{'gitRepoUrl':_0x248b58,'gitBranch':_0x1c6a31}),_0x3d3c2d=_0x1c4292['items'][_0x3c9112(0x1cc)](_0x155f69=>!_0x155f69[_0x3c9112(0x14c)]);if(_0x527c59[_0x3c9112(0x171)](_0x3d3c2d[_0x3c9112(0x176)],0x0)){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x3c9112(0x1aa));return;}let _0x231672;if(_0x527c59[_0x3c9112(0x171)](_0x3d3c2d['length'],0x1))_0x231672=_0x3d3c2d[0x0];else{const _0x7c08fe=process['stdin'][_0x3c9112(0x1a2)]&&process[_0x3c9112(0x1b4)][_0x3c9112(0x1a2)];if(!_0x7c08fe){console[_0x3c9112(0x1ae)](_0x3c9112(0x1c7));for(const _0x24e938 of _0x3d3c2d){console['log']('\x20\x20'+_0x24e938[_0x3c9112(0x149)]),console[_0x3c9112(0x1ae)](_0x3c9112(0x137)+_0x24e938['id']),_0x24e938[_0x3c9112(0x18a)]&&console[_0x3c9112(0x1ae)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x24e938[_0x3c9112(0x18a)])),_0x24e938[_0x3c9112(0x1b6)]&&console[_0x3c9112(0x1ae)](_0x3c9112(0x1ca)+_0x24e938['gitBranch']);}throw new Error(_0x527c59['HhxZQ']);}const {selected:_0x9939d4}=await _0x29615f['prompt']([{'type':'list','name':_0x527c59['BrjYv'],'message':_0x3c9112(0x17f),'choices':_0x3d3c2d['map'](_0x4e3ca7=>({'name':_0x4e3ca7[_0x3c9112(0x149)]+'\x20('+_0x4e3ca7['id']+')','value':_0x4e3ca7['id']}))}]);_0x231672=_0x3d3c2d[_0x3c9112(0x10e)](_0x49e5e3=>_0x49e5e3['id']===_0x9939d4);}await setActiveFeatureId(_0x231672['id']);_0x1c6a31&&_0x1c6a31!==_0x231672[_0x3c9112(0x1b6)]&&(await updateFeature(_0x231672['id'],{'gitBranch':_0x1c6a31}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x1c6a31));console['log'](_0x3c9112(0x197)+_0x231672[_0x3c9112(0x149)]+'\x20('+_0x231672['id']+')'),await _0x527c59['XQHWJ'](tryStartCurrentSession,_0x231672['id']);const _0x40c574=await _0x527c59[_0x3c9112(0x1d3)](getFeature,_0x231672['id']),_0x9b91ca=process['env']['CLAUDE_SESSION_ID'];_0x9b91ca&&_0x527c59['Xvydo'](registerSession,_0x9b91ca,_0x40c574['id']),_0x527c59[_0x3c9112(0x1dc)](displayFeature,_0x40c574,_0x40c574[_0x3c9112(0x14d)]),await printFeedbackNudge(_0x40c574['id']);}async function printFeedbackNudge(_0x456aaf){const _0x22f425=_0x492c6d,_0x37105c={'rtAgn':function(_0x3a14a3,_0x55a5fc){return _0x3a14a3(_0x55a5fc);},'QrpAV':function(_0x1807af,_0x22ce5d,_0x5e0f75){return _0x1807af(_0x22ce5d,_0x5e0f75);},'YLuqE':function(_0x470f51,_0x57cba5){return _0x470f51>_0x57cba5;},'yxLfk':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x100ab7}=await _0x37105c[_0x22f425(0x17c)](getActionItems,_0x456aaf);let _0x4aede5=0x0,_0x183ab4=0x0;for(const _0x4069c8 of _0x100ab7){const _0x213318=await _0x37105c[_0x22f425(0x13c)](getItemFeedback,_0x456aaf,_0x4069c8['id']);_0x37105c['YLuqE'](_0x213318[_0x22f425(0x170)]['length'],0x0)&&(_0x4aede5+=_0x213318['unaddressedComments']['length'],_0x183ab4++);}_0x4aede5>0x0&&(console[_0x22f425(0x1ae)](_0x22f425(0x18f)+_0x4aede5+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x183ab4+'\x20scenario(s).'),console['log'](_0x37105c[_0x22f425(0x139)]));}catch{}}async function tryStartCurrentSession(_0x1a1b84){const _0x1c324d=_0x492c6d,_0x4e7190={'EXNZh':function(_0x48b056,_0x3434e9){return _0x48b056(_0x3434e9);},'XrJlt':function(_0x148c70,_0x14e064,_0x47c872){return _0x148c70(_0x14e064,_0x47c872);}};try{const {sessions:_0x21ac14}=await _0x4e7190['EXNZh'](listFeatureSessions,_0x1a1b84),_0x213aee=_0x21ac14[_0x1c324d(0x10e)](_0x43e5eb=>_0x43e5eb['status']===_0x1c324d(0x194));_0x213aee&&(await _0x4e7190['XrJlt'](startSession,_0x1a1b84,_0x213aee['id']),console['log'](_0x1c324d(0x19e)+_0x213aee[_0x1c324d(0x180)]));}catch{}}export async function featureReport(_0x4399de,_0x5acc3a){const _0x3ca01f=_0x492c6d,_0x39401f={'xWNxp':function(_0x5f3e2f,_0x1d0c59,_0x877aa4){return _0x5f3e2f(_0x1d0c59,_0x877aa4);},'oeffw':function(_0x2d7d54,_0x26b877,_0xef7f27,_0x328afc){return _0x2d7d54(_0x26b877,_0xef7f27,_0x328afc);},'jzfBk':_0x3ca01f(0x13b),'zRNkM':function(_0x191d57,_0x1e29d8,_0x1aa1da){return _0x191d57(_0x1e29d8,_0x1aa1da);},'JGyNK':function(_0x3a9253,_0x337b19){return _0x3a9253(_0x337b19);},'hhhfi':function(_0x47bee4,_0x21f087,_0x3a4506){return _0x47bee4(_0x21f087,_0x3a4506);},'VDVYy':_0x3ca01f(0x148)},_0x550e4c=_0x4399de||await getActiveFeatureId();if(!_0x550e4c)throw new Error(_0x3ca01f(0x14e));console['log']('\x0aGenerating\x20report...');const _0x11e781=await _0x39401f[_0x3ca01f(0x1d2)](getFeatureReportMarkdown,_0x550e4c,{'style':_0x5acc3a['style']}),_0x1013e0=_0x5acc3a[_0x3ca01f(0x142)]||_0x39401f[_0x3ca01f(0x1c9)](join,getRangerDir(),_0x39401f[_0x3ca01f(0x177)],_0x550e4c+'.md'),_0x18e7ae=_0x39401f[_0x3ca01f(0x1d8)](join,_0x1013e0,'..');!_0x39401f[_0x3ca01f(0x165)](existsSync,_0x18e7ae)&&await _0x39401f[_0x3ca01f(0x10a)](mkdir,_0x18e7ae,{'recursive':!![]}),await _0x39401f['oeffw'](writeFile,_0x1013e0,_0x11e781,_0x39401f[_0x3ca01f(0x192)]),console[_0x3ca01f(0x1ae)]('\x0a✅\x20Report\x20generated:\x20'+_0x1013e0);}function getScenarioResult(_0x58cfbe){const _0x28baef=_0x492c6d,_0x190182={'XRMQX':_0x28baef(0x179),'pUEOF':function(_0x5cf6c4,_0x44bc94){return _0x5cf6c4===_0x44bc94;},'pAqkm':_0x28baef(0x145),'JxBDa':_0x28baef(0x116)};if(_0x58cfbe[_0x28baef(0x1c0)]===_0x190182['XRMQX'])return _0x58cfbe[_0x28baef(0x183)]??_0x28baef(0x179);if(_0x190182[_0x28baef(0x1a4)](_0x58cfbe['status'],_0x190182['pAqkm']))return _0x190182[_0x28baef(0x1cb)];return _0x58cfbe['status'];}function getScenarioRationale(_0x4534f2,_0x4b8797){const _0x55a572=_0x492c6d;if(_0x4b8797)return _0x4b8797;if(_0x4534f2[_0x55a572(0x1b0)])return _0x4534f2[_0x55a572(0x1b0)];if(_0x4534f2[_0x55a572(0x160)])return _0x4534f2[_0x55a572(0x160)];if(_0x4534f2[_0x55a572(0x1df)])return _0x4534f2[_0x55a572(0x1df)];if(_0x4534f2['notes'])return _0x4534f2[_0x55a572(0x1e4)];return null;}export async function featureReportPrDescription(_0x535e40,_0x17214b){const _0x24757c=_0x492c6d,_0x69896c={'zbMYP':function(_0x319263,_0x11e756,_0x343e3e){return _0x319263(_0x11e756,_0x343e3e);},'QJGmw':function(_0x2dc4a8,_0xd67e99){return _0x2dc4a8===_0xd67e99;},'uhogo':function(_0x2a4654,_0x453c6a){return _0x2a4654+_0x453c6a;},'wCtmR':_0x24757c(0x188),'VDykV':function(_0x527dbd,_0x1b7b44,_0x2472f8,_0x21c9f4){return _0x527dbd(_0x1b7b44,_0x2472f8,_0x21c9f4);}},_0x1c84cf=_0x535e40||await getActiveFeatureId();if(!_0x1c84cf)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x1e6fb6=await getFeature(_0x1c84cf),_0x154c6f=_0x1e6fb6[_0x24757c(0x14d)]||[],_0x418666=_0x69896c['zbMYP'](getCurrentSessionItems,_0x1e6fb6,_0x154c6f);_0x69896c['QJGmw'](_0x418666['length'],0x0)&&(console[_0x24757c(0x19f)](_0x24757c(0x193)),process['exit'](0x1));const _0x5e45f6=_0x17214b['excludeScenarios']??[],_0x2fe0ec=_0x5e45f6[_0x24757c(0x1cc)](_0x1055fa=>!Number['isInteger'](_0x1055fa)||_0x1055fa<0x1||_0x1055fa>_0x418666['length']);if(_0x2fe0ec[_0x24757c(0x176)]>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x2fe0ec[_0x24757c(0x1bb)](',\x20')),console[_0x24757c(0x1ae)]('\x0aAvailable\x20scenarios:');for(let _0x1711b9=0x0;_0x1711b9<_0x418666['length'];_0x1711b9++){console['log']('\x20\x20'+_0x69896c[_0x24757c(0x1b2)](_0x1711b9,0x1)+'.\x20'+_0x418666[_0x1711b9]['description']);}process['exit'](0x1);}const _0x34d173=new Set(_0x5e45f6[_0x24757c(0x1bc)](_0x396bbb=>_0x396bbb-0x1)),_0x2762ee=_0x418666['filter']((_0x241c06,_0x2f35ad)=>!_0x34d173[_0x24757c(0x1d6)](_0x2f35ad));_0x2762ee['length']===0x0&&(console['error'](_0x69896c[_0x24757c(0x1e1)]),process['exit'](0x1));if(_0x17214b[_0x24757c(0x1c6)])await _0x69896c[_0x24757c(0x17e)](outputJsonReport,_0x1c84cf,_0x1e6fb6,_0x2762ee);else{const _0x5db66e=await getFeatureReportMarkdown(_0x1c84cf,{'itemIds':_0x2762ee[_0x24757c(0x1bc)](_0x3ea62d=>_0x3ea62d['id'])});process[_0x24757c(0x1b4)][_0x24757c(0x15a)](_0x5db66e[_0x24757c(0x1a7)]()+'\x0a');}}async function outputJsonReport(_0x1b9a69,_0x5de1e3,_0x318208){const _0x21ca19=_0x492c6d,_0x4951a3={'ELhOw':function(_0x3ad79c){return _0x3ad79c();},'KcwQD':function(_0x345569,_0x3f2718){return _0x345569(_0x3f2718);}},_0xe97d73=_0x4951a3[_0x21ca19(0x13a)](getApiBaseUrl),_0x418fed=await _0x4951a3[_0x21ca19(0x18d)](getFeatureReport,_0x1b9a69),_0x54bc1c=new Map(_0x418fed[_0x21ca19(0x14d)]['map'](_0x7e6428=>[_0x7e6428['id'],_0x7e6428])),_0x5cadb6=await Promise['all'](_0x318208[_0x21ca19(0x1bc)](async _0x4c80ba=>{const _0x5e9446=_0x21ca19,_0x43b62c=_0x54bc1c[_0x5e9446(0x1c5)](_0x4c80ba['id']),_0x36d5ec=_0x43b62c?.['linkedSession']??null;let _0x1e3f0c=[];if(_0x4c80ba[_0x5e9446(0x141)])try{const {steps:_0x4506e2}=await getBrowserSessionSteps(_0x4c80ba['browserSessionId']);_0x4506e2[_0x5e9446(0x176)]>0x0&&(_0x1e3f0c=_0x4506e2[_0x5e9446(0x1bc)](_0x55b1d5=>{const _0x14f50a=_0x5e9446,_0x382b1d=_0x55b1d5[_0x14f50a(0x144)]['find'](_0x5de71c=>_0x5de71c[_0x14f50a(0x182)]===_0x14f50a(0x1b5)&&_0x5de71c[_0x14f50a(0x191)]==='after')??_0x55b1d5[_0x14f50a(0x144)]['find'](_0x3bedfd=>_0x3bedfd[_0x14f50a(0x182)]===_0x14f50a(0x1b5));let _0xddb7db=null,_0xf668a8=null;if(_0x382b1d){const _0x37a9e5=_0x382b1d['storage']['location'][_0x14f50a(0x135)]('/')[_0x14f50a(0x178)]();_0xddb7db=_0xe97d73+_0x14f50a(0x132)+_0x4c80ba['browserSessionId']+'/artifacts/'+_0x37a9e5,_0x37a9e5&&(_0xf668a8=_0x37a9e5[_0x14f50a(0x1a8)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x14f50a(0x1a8)](/[-_]/g,'\x20'));}return{'description':_0xf668a8||_0x55b1d5['description']||_0x55b1d5[_0x14f50a(0x156)]||'Step\x20'+_0x55b1d5[_0x14f50a(0x1c3)],'screenshot':_0xddb7db,'is_key_step':_0x55b1d5['isKeyStep']};}));}catch{}return _0x1e3f0c['length']===0x0&&_0x36d5ec?.['screenshotUrls']&&(_0x1e3f0c=_0x36d5ec['screenshotUrls']['map']((_0x1dcc71,_0xb3af25)=>({'description':_0x5e9446(0x1af)+(_0xb3af25+0x1),'screenshot':_0x1dcc71,'is_key_step':![]}))),{'description':_0x4c80ba[_0x5e9446(0x15b)],'result':getScenarioResult(_0x4c80ba),'rationale':getScenarioRationale(_0x4c80ba,_0x36d5ec?.[_0x5e9446(0x1a9)]),'steps':_0x1e3f0c};})),_0x236853={'url':_0x5de1e3['dashboardUrl'],'scenarios':_0x5cadb6};process['stdout']['write'](JSON[_0x21ca19(0x1d5)](_0x236853,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x186c57){const _0x34822e=_0x492c6d,_0x4783b6={'McazZ':_0x34822e(0x1cf),'EGMOs':function(_0x3f2114,_0x2a12ff){return _0x3f2114===_0x2a12ff;},'npyvv':function(_0x5b782f,_0x14ae34){return _0x5b782f!==_0x14ae34;}},_0x2d148b=_0x186c57||await getActiveFeatureId();if(!_0x2d148b)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x350e81=await getFeature(_0x2d148b);if(!_0x350e81[_0x34822e(0x158)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x604944}=await listFeatureSessions(_0x2d148b),_0x388ee4=_0x604944['find'](_0x5af8dc=>_0x5af8dc['id']===_0x350e81[_0x34822e(0x158)]);if(!_0x388ee4)throw new Error(_0x4783b6['McazZ']);if(_0x4783b6[_0x34822e(0x18b)](_0x388ee4[_0x34822e(0x1c0)],_0x34822e(0x124))){console[_0x34822e(0x1ae)](_0x34822e(0x10c));return;}if(_0x4783b6['npyvv'](_0x388ee4[_0x34822e(0x1c0)],'in_progress'))throw new Error(_0x34822e(0x120)+_0x388ee4['status']);console[_0x34822e(0x1ae)]('\x0aConcluding\x20session...'),await concludeSession(_0x2d148b,_0x350e81[_0x34822e(0x158)]),console['log']('\x0a✅\x20Session\x20'+_0x388ee4['iteration']+_0x34822e(0x15e)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x216687){const _0x691874=_0x492c6d,_0x2e6e2e={'gMbzK':function(_0x1b976f){return _0x1b976f();},'qkXio':_0x691874(0x14e),'rmMZi':function(_0x232419,_0xd7228a){return _0x232419(_0xd7228a);},'OZZNh':function(_0x3d0292,_0x17c65b){return _0x3d0292(_0x17c65b);},'QOdXJ':function(_0x560d65,_0x236d87){return _0x560d65===_0x236d87;},'mZqLO':function(_0x464300,_0x4a06cf){return _0x464300===_0x4a06cf;}},_0x5d1502=_0x216687||await _0x2e6e2e[_0x691874(0x1da)](getActiveFeatureId);if(!_0x5d1502)throw new Error(_0x2e6e2e[_0x691874(0x1b9)]);const _0x2df451=await _0x2e6e2e['rmMZi'](getFeature,_0x5d1502);console['log'](_0x691874(0x112)+_0x2df451['name']+'\x0a');const {sessions:_0x599696}=await _0x2e6e2e['OZZNh'](listFeatureSessions,_0x5d1502);if(_0x2e6e2e[_0x691874(0x127)](_0x599696[_0x691874(0x176)],0x0)){console['log'](_0x691874(0x12f));return;}for(const _0x3ee868 of _0x599696){const _0x357ce9=_0x2e6e2e['mZqLO'](_0x3ee868['status'],_0x691874(0x124))?'✅':_0x2e6e2e[_0x691874(0x127)](_0x3ee868[_0x691874(0x1c0)],_0x691874(0x116))?'🔄':'▶️';console[_0x691874(0x1ae)](_0x357ce9+_0x691874(0x126)+_0x3ee868[_0x691874(0x180)]+'\x20('+_0x3ee868['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x3ee868[_0x691874(0x1c0)]),console[_0x691874(0x1ae)]('\x20\x20\x20Created:\x20'+new Date(_0x3ee868['createdAt'])[_0x691874(0x18c)]()),_0x3ee868['completedAt']&&console['log'](_0x691874(0x118)+new Date(_0x3ee868['completedAt'])['toLocaleString']()),console[_0x691874(0x1ae)]('');}}export async function featureAddScenario(_0x1469e5,_0x291332){const _0x552efa=_0x492c6d,_0x584d9b={'olDcG':function(_0x2a3d1a){return _0x2a3d1a();},'neBaY':function(_0x30d607,_0x19cc09,_0x574e68){return _0x30d607(_0x19cc09,_0x574e68);},'kHCvH':function(_0x1ae8ef,_0x2547df,_0x377d7b){return _0x1ae8ef(_0x2547df,_0x377d7b);}},_0x223fc2=_0x291332||await _0x584d9b[_0x552efa(0x187)](getActiveFeatureId);if(!_0x223fc2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x417f6a=await getFeature(_0x223fc2);if(_0x417f6a[_0x552efa(0x11b)]&&!_0x417f6a['latestReview'][_0x552efa(0x125)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x417f6a['dashboardUrl']);await _0x584d9b['neBaY'](createChecklistItem,_0x223fc2,_0x1469e5);const _0x2ba8df=await getFeature(_0x223fc2);console[_0x552efa(0x1ae)]('\x0a✅\x20Scenario\x20added'),_0x584d9b[_0x552efa(0x17b)](displayFeature,_0x2ba8df,_0x2ba8df[_0x552efa(0x14d)]);}export async function featureEditScenario(_0x4dcb52,_0xb4fe6){const _0x241345=_0x492c6d,_0xefe041={'gjIih':function(_0x2c21bc){return _0x2c21bc();},'ijcsd':'Please\x20finish\x20your\x20review\x20first:','ykpzg':function(_0x13af42,_0x11fa52){return _0x13af42===_0x11fa52;},'gfOkJ':function(_0x16f4f6,_0x12077c){return _0x16f4f6===_0x12077c;},'ruVOL':'\x0aAvailable\x20scenarios:','yfhWJ':function(_0x50e2ec,_0x50463f){return _0x50e2ec<_0x50463f;},'SmiEL':function(_0x15eb82,_0x3347cc){return _0x15eb82-_0x3347cc;},'KQlsV':function(_0x5b0d02,_0x3ddba3){return _0x5b0d02<_0x3ddba3;},'kQmNV':function(_0x545475,_0x5212c2,_0x4d5026,_0x4f4a37){return _0x545475(_0x5212c2,_0x4d5026,_0x4f4a37);},'DBPgo':function(_0x3c0fb1,_0x357744){return _0x3c0fb1(_0x357744);},'xzEDQ':function(_0x32e754,_0x2245d5,_0x2996ae){return _0x32e754(_0x2245d5,_0x2996ae);}},_0x2d75b1=_0xb4fe6['id']||await _0xefe041[_0x241345(0x1ba)](getActiveFeatureId);!_0x2d75b1&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x10234b=await getFeature(_0x2d75b1);_0x10234b[_0x241345(0x11b)]&&!_0x10234b[_0x241345(0x11b)][_0x241345(0x125)]&&(console[_0x241345(0x19f)](_0x241345(0x157)),console[_0x241345(0x19f)](_0xefe041[_0x241345(0x17d)]),console[_0x241345(0x19f)]('\x20\x20'+_0x10234b['dashboardUrl']),process['exit'](0x1));const _0x5c6f9f=_0x10234b[_0x241345(0x14d)]||[];_0xefe041['ykpzg'](_0x5c6f9f['length'],0x0)&&(console[_0x241345(0x19f)](_0x241345(0x12a)),process['exit'](0x1));if(_0xefe041[_0x241345(0x1d1)](_0xb4fe6['scenario'],undefined)){console[_0x241345(0x19f)](_0x241345(0x1bd)),console[_0x241345(0x1ae)](_0xefe041['ruVOL']);for(let _0x3d005a=0x0;_0xefe041[_0x241345(0x1d0)](_0x3d005a,_0x5c6f9f[_0x241345(0x176)]);_0x3d005a++){console['log']('\x20\x20'+(_0x3d005a+0x1)+'.\x20'+_0x5c6f9f[_0x3d005a]['description']);}process['exit'](0x1);}const _0x7005f6=_0xefe041[_0x241345(0x122)](_0xb4fe6[_0x241345(0x16a)],0x1);if(_0xefe041['KQlsV'](_0x7005f6,0x0)||_0x7005f6>=_0x5c6f9f[_0x241345(0x176)]){console['error'](_0x241345(0x162)+_0xb4fe6[_0x241345(0x16a)]+'.\x20Feature\x20review\x20has\x20'+_0x5c6f9f[_0x241345(0x176)]+'\x20scenarios.'),console[_0x241345(0x1ae)]('\x0aAvailable\x20scenarios:');for(let _0x35f3d7=0x0;_0x35f3d7<_0x5c6f9f[_0x241345(0x176)];_0x35f3d7++){console[_0x241345(0x1ae)]('\x20\x20'+(_0x35f3d7+0x1)+'.\x20'+_0x5c6f9f[_0x35f3d7]['description']);}process['exit'](0x1);}const _0x31a9f2=_0x5c6f9f[_0x7005f6];await _0xefe041[_0x241345(0x121)](updateChecklistItem,_0x2d75b1,_0x31a9f2['id'],{'description':_0x4dcb52});const _0x5b0a02=await _0xefe041[_0x241345(0x173)](getFeature,_0x2d75b1);console['log']('\x0a✅\x20Scenario\x20updated'),_0xefe041[_0x241345(0x16d)](displayFeature,_0x5b0a02,_0x5b0a02['checklistItems']);}async function downloadFeedbackImage(_0x4e9d28,_0x527e22){const _0x1974e8={'Qhcbv':function(_0x2960e4){return _0x2960e4();}};try{const _0x5cc725=join(_0x1974e8['Qhcbv'](getRangerDir),'feedback-images');await mkdir(_0x5cc725,{'recursive':!![]});const _0x4618d2=join(_0x5cc725,'comment_'+_0x527e22+'.png'),_0x5ad93f=await fetch(_0x4e9d28);if(!_0x5ad93f['ok'])return null;const _0x22b19d=Buffer['from'](await _0x5ad93f['arrayBuffer']());return await writeFile(_0x4618d2,_0x22b19d),_0x4618d2;}catch{return null;}}export async function featureGetReview(_0x1cfd36){const _0x240a48=_0x492c6d,_0x7820cc={'NYeuU':function(_0x45f42a,_0x2d9dba){return _0x45f42a(_0x2d9dba);},'hdBzo':function(_0x1257d7,_0x211c79){return _0x1257d7===_0x211c79;},'GfEXz':_0x240a48(0x13f),'MrTJg':function(_0x2ca7d4,_0x186798){return _0x2ca7d4>_0x186798;},'AxmjZ':function(_0x322bca,_0x2e5961){return _0x322bca>_0x2e5961;},'OtTip':function(_0x2ea215,_0x158a11){return _0x2ea215+_0x158a11;},'LOivW':'numeric','vWZWX':'Unknown','HmVNq':function(_0x3efe1c,_0x4c853e,_0x3502cc){return _0x3efe1c(_0x4c853e,_0x3502cc);},'quPBR':'\x20>\x20','ufTUf':_0x240a48(0x109),'pdgyz':function(_0x31d304,_0x4b4eea){return _0x31d304>=_0x4b4eea;}},_0xaf3caa=_0x1cfd36||await getActiveFeatureId();if(!_0xaf3caa)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x1d47ef=await getFeature(_0xaf3caa),{items:_0x245d37}=await _0x7820cc['NYeuU'](getActionItems,_0xaf3caa);console[_0x240a48(0x1ae)]('\x0a📋\x20Feedback\x20for:\x20'+_0x1d47ef['name']+'\x20('+_0x1d47ef['id']+')\x0a');if(_0x7820cc['hdBzo'](_0x245d37[_0x240a48(0x176)],0x0)){console[_0x240a48(0x1ae)](_0x7820cc['GfEXz']);return;}for(let _0x7784bb=0x0;_0x7784bb<_0x245d37[_0x240a48(0x176)];_0x7784bb++){const _0x387bd4=_0x245d37[_0x7784bb],_0x3f4c97=_0x7820cc[_0x240a48(0x1ab)](_0x387bd4[_0x240a48(0x16f)],0x1)?'\x20(v'+_0x387bd4['version']+')':'',_0x10090f=await getItemFeedback(_0xaf3caa,_0x387bd4['id']);if(_0x7820cc['AxmjZ'](_0x10090f[_0x240a48(0x170)]['length'],0x0)){console['log']('Scenario\x20'+_0x7820cc['OtTip'](_0x7784bb,0x1)+_0x240a48(0x166)+_0x387bd4['description']+'\x22'+_0x3f4c97+_0x240a48(0x1a3)+_0x10090f[_0x240a48(0x170)][_0x240a48(0x176)]+'\x20unaddressed\x20comment(s)');for(const _0x4f7fad of _0x10090f[_0x240a48(0x170)]){const _0x2a5d2d=new Date(_0x4f7fad[_0x240a48(0x153)])[_0x240a48(0x174)](_0x240a48(0x1b3),{'month':'short','day':_0x7820cc[_0x240a48(0x129)]}),_0x3f2ff0=_0x4f7fad[_0x240a48(0x1b1)]||_0x4f7fad[_0x240a48(0x1e2)]||_0x7820cc[_0x240a48(0x1b8)];console['log'](_0x240a48(0x138)+_0x3f2ff0+'\x20('+_0x2a5d2d+'):\x20\x22'+_0x4f7fad['content']+'\x22');if(_0x4f7fad['assetUrl']){const _0x55ae9e=await _0x7820cc['HmVNq'](downloadFeedbackImage,_0x4f7fad[_0x240a48(0x1b7)],_0x4f7fad['id']);_0x55ae9e&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x55ae9e);}if(_0x4f7fad['domRef']){const _0x31efe1=_0x4f7fad['domRef']['selector']['split'](_0x7820cc[_0x240a48(0x15f)])['pop']()?.['split'](':')[0x0]||_0x240a48(0x1db),_0x55cae6=_0x4f7fad['domRef'][_0x240a48(0x113)]?'\x20\x22'+_0x4f7fad[_0x240a48(0x1ce)][_0x240a48(0x113)]['slice'](0x0,0x3c)+'\x22':'';console[_0x240a48(0x1ae)](_0x240a48(0x19c)+_0x31efe1+'>'+_0x55cae6),console['log'](_0x240a48(0x1de)+_0x4f7fad['domRef'][_0x240a48(0x115)]);}else{if(_0x4f7fad[_0x240a48(0x10b)]){const _0x2bb74e=_0x4f7fad[_0x240a48(0x10b)][_0x240a48(0x1d9)];_0x4f7fad['spatial'][_0x240a48(0x19d)]===_0x7820cc[_0x240a48(0x1ad)]&&_0x7820cc[_0x240a48(0x17a)](_0x2bb74e[_0x240a48(0x176)],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x2bb74e[0x0][_0x240a48(0x11f)](0x2)+',\x20'+_0x2bb74e[0x1][_0x240a48(0x11f)](0x2)+')'):console['log'](_0x240a48(0x16b)+_0x4f7fad[_0x240a48(0x10b)][_0x240a48(0x19d)]+_0x240a48(0x196)+_0x2bb74e[_0x240a48(0x1bc)](_0x36c0c0=>_0x36c0c0[_0x240a48(0x11f)](0x2))['join'](',\x20')+']');}}}if(_0x10090f[_0x240a48(0x199)]){console[_0x240a48(0x1ae)](_0x240a48(0x11e));for(const _0x29a82f of _0x10090f[_0x240a48(0x199)][_0x240a48(0x135)]('\x0a')){console[_0x240a48(0x1ae)](_0x240a48(0x19a)+_0x29a82f);}}}else console[_0x240a48(0x1ae)]('Scenario\x20'+(_0x7784bb+0x1)+_0x240a48(0x166)+_0x387bd4['description']+'\x22'+_0x3f4c97+'\x20—\x20no\x20comments'),console[_0x240a48(0x1ae)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x59b1f7){const _0x387b30=_0x492c6d,_0x58d295={'ulmvh':function(_0x4bca21,_0x24114d){return _0x4bca21(_0x24114d);},'rThpx':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x2bbb5c=_0x59b1f7||await getActiveFeatureId();if(!_0x2bbb5c)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x4f3148=await _0x58d295['ulmvh'](getFeature,_0x2bbb5c);await softDeleteFeature(_0x2bbb5c),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x4f3148[_0x387b30(0x149)]+'\x20('+_0x2bbb5c+')'),console[_0x387b30(0x1ae)](_0x58d295[_0x387b30(0x195)]+_0x2bbb5c);}export async function featureRestore(_0x555eb8){const _0x591c5e=_0x492c6d,_0x5366e1={'fTTcX':function(_0x22a6c9,_0x226efb){return _0x22a6c9(_0x226efb);},'MfVwp':function(_0x5b1f0a,_0x108154){return _0x5b1f0a(_0x108154);},'CRXNh':function(_0x255d63,_0x3dff20,_0x388387){return _0x255d63(_0x3dff20,_0x388387);}};await _0x5366e1['fTTcX'](restoreFeature,_0x555eb8);const _0x1c254d=await _0x5366e1[_0x591c5e(0x175)](getFeature,_0x555eb8);console['log'](_0x591c5e(0x168)+_0x1c254d['name']+'\x20('+_0x555eb8+')'),_0x5366e1[_0x591c5e(0x185)](displayFeature,_0x1c254d,_0x1c254d['checklistItems']);}
1
+ const _0x369c38=_0x2ae3;(function(_0x31db69,_0x594f87){const _0x42475e=_0x2ae3,_0x1dc5ba=_0x31db69();while(!![]){try{const _0x110815=parseInt(_0x42475e(0x10f))/0x1*(parseInt(_0x42475e(0x12c))/0x2)+-parseInt(_0x42475e(0x99))/0x3+-parseInt(_0x42475e(0xc8))/0x4*(parseInt(_0x42475e(0x96))/0x5)+parseInt(_0x42475e(0xbe))/0x6*(parseInt(_0x42475e(0xbb))/0x7)+parseInt(_0x42475e(0xd9))/0x8*(parseInt(_0x42475e(0x109))/0x9)+-parseInt(_0x42475e(0xfe))/0xa*(parseInt(_0x42475e(0x9e))/0xb)+parseInt(_0x42475e(0x10b))/0xc*(-parseInt(_0x42475e(0xc2))/0xd);if(_0x110815===_0x594f87)break;else _0x1dc5ba['push'](_0x1dc5ba['shift']());}catch(_0x43ef07){_0x1dc5ba['push'](_0x1dc5ba['shift']());}}}(_0x237a,0x27d7b));function _0x2ae3(_0x32363d,_0x1391c6){_0x32363d=_0x32363d-0x6c;const _0x237a7f=_0x237a();let _0x2ae39a=_0x237a7f[_0x32363d];return _0x2ae39a;}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0xb866d5 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=_0x344099=>_0x369c38(0xa4)+_0x344099+_0x369c38(0xf6);function getGitRepoUrl(){const _0x99974f=_0x369c38,_0x553a4c={'XjmDQ':function(_0x1fd114,_0x37429a,_0x20290c){return _0x1fd114(_0x37429a,_0x20290c);},'esnYc':_0x99974f(0x118),'VqRLf':'utf-8','cTfCk':'pipe'};try{const _0x2f9071=_0x553a4c['XjmDQ'](execSync,_0x553a4c['esnYc'],{'encoding':_0x553a4c['VqRLf'],'stdio':[_0x553a4c[_0x99974f(0x6f)],'pipe',_0x553a4c[_0x99974f(0x6f)]]})[_0x99974f(0x138)]();return _0x2f9071[_0x99974f(0x100)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x99974f(0xba))[_0x99974f(0x100)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x181ee6=_0x369c38,_0x49341d={'vvpiw':function(_0x1ca4b9,_0x2712d4,_0x844fc8){return _0x1ca4b9(_0x2712d4,_0x844fc8);},'CYFFz':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','ndyGk':'pipe'};try{return _0x49341d['vvpiw'](execSync,_0x49341d[_0x181ee6(0xa9)],{'encoding':'utf-8','stdio':[_0x181ee6(0x7f),_0x49341d['ndyGk'],_0x49341d['ndyGk']]})[_0x181ee6(0x138)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x26f764=_0x369c38,_0xd5beb7={'fjiqr':function(_0x37c0ac,_0x175b9a,_0x9eec76){return _0x37c0ac(_0x175b9a,_0x9eec76);}},_0xc0c712=_0xd5beb7['fjiqr'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xc0c712))return null;try{const _0x4fb719=await _0xd5beb7[_0x26f764(0xf2)](readFile,_0xc0c712,'utf-8');return _0x4fb719[_0x26f764(0x138)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x1da54b){const _0x523d20=_0x369c38,_0x5b52a8={'HuoSW':function(_0x22fcf0){return _0x22fcf0();},'jDhWH':function(_0x10d782,_0x332eb9,_0x35b934){return _0x10d782(_0x332eb9,_0x35b934);}},_0x251e34=_0x5b52a8[_0x523d20(0xea)](getRangerDir),_0x36da64=join(_0x251e34,ACTIVE_FEATURE_FILE);!existsSync(_0x251e34)&&await _0x5b52a8[_0x523d20(0xc6)](mkdir,_0x251e34,{'recursive':!![]}),await writeFile(_0x36da64,_0x1da54b,'utf-8');}function getProgressDisplay(_0x5dfbb7){const _0x43ee7c=_0x369c38,_0x170530={'wEhMm':function(_0x320dd9,_0x1d7b8e){return _0x320dd9+_0x1d7b8e;},'zBoqs':function(_0x2564ef,_0x1c3e29){return _0x2564ef===_0x1c3e29;},'OQZhZ':function(_0x591aad,_0x4b18f5){return _0x591aad*_0x4b18f5;},'ucKwb':function(_0x357560,_0xfcb445){return _0x357560/_0xfcb445;},'lokeI':function(_0x3c7d15,_0x469528){return _0x3c7d15>_0x469528;}},_0x1b94ab=_0x5dfbb7[_0x43ee7c(0x142)]||0x0,_0x5f05f5=_0x5dfbb7[_0x43ee7c(0xee)]||0x0,_0x5b975b=_0x5dfbb7['blockedItems']||0x0,_0x4b53d7=_0x5dfbb7[_0x43ee7c(0x8d)]||0x0,_0x1f83fe=_0x5dfbb7['pendingItems']||0x0,_0x42cb12=_0x170530['wEhMm'](_0x170530[_0x43ee7c(0x11c)](_0x1b94ab+_0x5f05f5+_0x5b975b,_0x4b53d7),_0x1f83fe);if(_0x170530[_0x43ee7c(0x111)](_0x42cb12,0x0))return'-';const _0x3deb46=0xa,_0x1be32a=Math[_0x43ee7c(0x77)](_0x170530[_0x43ee7c(0xec)](_0x170530['ucKwb'](_0x1b94ab,_0x42cb12),_0x3deb46)),_0x322fb7='█'['repeat'](_0x1be32a)+'░'['repeat'](_0x3deb46-_0x1be32a),_0x152e0c=[];if(_0x5b975b>0x0)_0x152e0c['push'](_0x5b975b+'\x20blocked');if(_0x4b53d7>0x0)_0x152e0c[_0x43ee7c(0x9f)](_0x4b53d7+'\x20incomplete');if(_0x170530['lokeI'](_0x5f05f5,0x0))_0x152e0c['push'](_0x5f05f5+_0x43ee7c(0x131));const _0x509a61=_0x152e0c[_0x43ee7c(0x130)]>0x0?'\x20('+_0x152e0c[_0x43ee7c(0x125)](',\x20')+')':'';return _0x322fb7+'\x20'+_0x1b94ab+'/'+_0x42cb12+'\x20verified'+_0x509a61;}function getCurrentSessionItems(_0x85bbfd,_0x13e8ce){const _0x44c720=_0x369c38;if(!_0x85bbfd['currentSessionId'])return _0x13e8ce['filter'](_0x5c706d=>!_0x5c706d[_0x44c720(0xd7)]);return _0x13e8ce[_0x44c720(0x6e)](_0x1109cc=>_0x1109cc['sessionId']===_0x85bbfd[_0x44c720(0x122)]||!_0x1109cc['sessionId']);}function displayFeature(_0x574507,_0x1f590e){const _0xbf5af9=_0x369c38,_0x1caad0={'KaxGu':function(_0x4b60cc,_0x191a24){return _0x4b60cc(_0x191a24);},'qTyJM':function(_0x139437,_0x2342f5){return _0x139437>_0x2342f5;},'ZHaMR':function(_0x5e6a46,_0x12aaab){return _0x5e6a46<_0x12aaab;},'FUcbj':_0xbf5af9(0x135),'DCyDW':function(_0x3a237c,_0x3cb501){return _0x3a237c===_0x3cb501;},'REcvT':'verified','WSUgh':function(_0x30d4bb,_0x2bc485){return _0x30d4bb===_0x2bc485;},'mMuFD':_0xbf5af9(0x10a),'Elkmg':'blocked','sculC':_0xbf5af9(0x78),'uQYzn':function(_0x3b40d4,_0x555a97){return _0x3b40d4!==_0x555a97;},'Zjiag':function(_0x417a83,_0x469a4b){return _0x417a83+_0x469a4b;},'YDQWB':function(_0x325481,_0xb330af){return _0x325481===_0xb330af;}};console[_0xbf5af9(0xfa)]('\x0a'+_0x574507['name']+'\x20('+_0x574507['dashboardUrl']+')');_0x574507['stats']&&console[_0xbf5af9(0xfa)]('\x20\x20\x20Progress:\x20'+_0x1caad0[_0xbf5af9(0xb1)](getProgressDisplay,_0x574507['stats']));_0x574507[_0xbf5af9(0x11d)]&&console[_0xbf5af9(0xfa)]('\x20\x20\x20Description:\x20'+_0x574507[_0xbf5af9(0x11d)]);_0x574507['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x574507['gitRepoUrl']);_0x574507['gitBranch']&&console['log'](_0xbf5af9(0xa0)+_0x574507[_0xbf5af9(0x117)]);console[_0xbf5af9(0xfa)]('\x20\x20\x20Created:\x20'+new Date(_0x574507[_0xbf5af9(0x87)])[_0xbf5af9(0xd4)]());_0x574507['completedAt']&&console[_0xbf5af9(0xfa)](_0xbf5af9(0xf0)+new Date(_0x574507['completedAt'])[_0xbf5af9(0xd4)]());if(_0x1f590e&&_0x1caad0['qTyJM'](_0x1f590e['length'],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x6d800d=0x0;_0x1caad0['ZHaMR'](_0x6d800d,_0x1f590e['length']);_0x6d800d++){const _0x442926=_0x1f590e[_0x6d800d];let _0x19a6b9;if(_0x442926[_0xbf5af9(0x105)]==='closed'&&_0x442926[_0xbf5af9(0x134)]===_0x1caad0['FUcbj'])_0x19a6b9='✅';else{if(_0x1caad0['DCyDW'](_0x442926['status'],_0x1caad0['REcvT']))_0x19a6b9='🟢';else{if(_0x1caad0['WSUgh'](_0x442926['status'],_0x1caad0['mMuFD']))_0x19a6b9='🟠';else{if(_0x442926['status']===_0x1caad0['Elkmg'])_0x19a6b9='🛑';else{if(_0x442926[_0xbf5af9(0x105)]===_0x1caad0['sculC'])_0x19a6b9='⛔';else _0x442926['status']===_0xbf5af9(0x88)?_0x19a6b9='⏳':_0x19a6b9='⬜';}}}}const _0x35a567=_0x1caad0['qTyJM'](_0x442926['version'],0x1)?'\x20(v'+_0x442926[_0xbf5af9(0xc4)]+')':'',_0x236b4e=_0x1caad0['qTyJM'](_0x442926[_0xbf5af9(0xc4)],0x1)&&_0x442926[_0xbf5af9(0x72)]&&_0x1caad0['uQYzn'](_0x442926['status'],_0xbf5af9(0x78))&&_0x442926[_0xbf5af9(0x105)]!=='verified'?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0x1caad0[_0xbf5af9(0xf1)](_0x6d800d,0x1)+'.\x20'+_0x19a6b9+'\x20'+_0x442926[_0xbf5af9(0x11d)]+_0x35a567+_0x236b4e);_0x442926['status']===_0x1caad0[_0xbf5af9(0x13e)]&&_0x442926['blockedReason']&&console[_0xbf5af9(0xfa)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x442926[_0xbf5af9(0x8b)]);_0x442926[_0xbf5af9(0x105)]==='incomplete'&&_0x442926[_0xbf5af9(0xf4)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x442926['incompleteReason']);if(_0x1caad0['WSUgh'](_0x442926[_0xbf5af9(0x105)],_0xbf5af9(0x78))&&_0x1caad0['YDQWB'](_0x442926['terminalReason'],'approved'))console['log'](_0xbf5af9(0xe9));else _0x442926[_0xbf5af9(0x105)]==='closed'&&_0x442926['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x442926[_0xbf5af9(0x112)]);}}}export async function featureCreate(_0x57683e,_0x2a3e9b){const _0x400a10=_0x369c38,_0x1ea1a8={'DbSXN':function(_0x28c8b2,_0x4e0a4e){return _0x28c8b2===_0x4e0a4e;},'SixsK':function(_0x20fad5,_0x41d012){return _0x20fad5(_0x41d012);},'GSoRF':function(_0x2c6cd5){return _0x2c6cd5();},'uHnrd':function(_0x24ee3b,_0x37fe57,_0xb754a6){return _0x24ee3b(_0x37fe57,_0xb754a6);}},{envNames:_0x736666}=await getEnvNames();_0x1ea1a8['DbSXN'](_0x736666['length'],0x0)&&console[_0x400a10(0xa5)]('\x0a'+_0x1ea1a8['SixsK'](formatProfileRequiredMessage,_0x7e6fc9=>bold(_0x7e6fc9)));const _0x54f0f7=_0x2a3e9b['scenarios']?_0x2a3e9b[_0x400a10(0x9a)][_0x400a10(0xbf)](_0x5c219c=>_0x5c219c[_0x400a10(0x138)]()):[],_0x51ea78=_0x1ea1a8['GSoRF'](getGitRepoUrl),_0x497409=getGitBranch();console[_0x400a10(0xfa)]('\x0aCreating\x20feature\x20review...');const _0x48ab53=await createFeature({'name':_0x57683e,'description':_0x2a3e9b[_0x400a10(0x11d)],'checklist':_0x54f0f7,'gitRepoUrl':_0x51ea78,'gitBranch':_0x497409});await _0x1ea1a8[_0x400a10(0xf5)](setActiveFeatureId,_0x48ab53['id']),await tryStartCurrentSession(_0x48ab53['id']);const _0x1f3979=process[_0x400a10(0xf3)]['CLAUDE_SESSION_ID'];_0x1f3979&&_0x1ea1a8['uHnrd'](registerSession,_0x1f3979,_0x48ab53['id']),console[_0x400a10(0xfa)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x48ab53['id']),displayFeature(_0x48ab53,_0x48ab53['checklistItems']),console[_0x400a10(0xfa)](_0x400a10(0xac));}export async function featureList(_0x4fe42d){const _0x2fb9e5=_0x369c38,_0x46ce0a={'flHYk':function(_0x58da17){return _0x58da17();},'qMmUS':function(_0x49f96f){return _0x49f96f();},'WWwZt':function(_0x555d16,_0x4e3b63){return _0x555d16(_0x4e3b63);},'lVNWM':function(_0x155a15,_0x5cbf10){return _0x155a15===_0x5cbf10;},'NDvci':_0x2fb9e5(0x6d),'HGPCY':function(_0x2890a2,_0x495a78){return _0x2890a2>_0x495a78;},'ljXtY':function(_0x1caa4c,_0x4fa571){return _0x1caa4c+_0x4fa571;}},_0x11d226={'limit':_0x4fe42d[_0x2fb9e5(0x83)]??0xa,'offset':_0x4fe42d['offset']??0x0,'includeDeleted':_0x4fe42d['includeDeleted']};_0x4fe42d[_0x2fb9e5(0xce)]&&(_0x11d226[_0x2fb9e5(0xab)]=_0x46ce0a[_0x2fb9e5(0xc3)](getGitRepoUrl),_0x11d226[_0x2fb9e5(0x117)]=_0x46ce0a['qMmUS'](getGitBranch));const _0x223051=await _0x46ce0a['WWwZt'](listFeatures,_0x11d226);if(_0x46ce0a[_0x2fb9e5(0x81)](_0x223051['items']['length'],0x0)){console['log'](_0x46ce0a['NDvci']);return;}const _0x32bce8=_0x46ce0a['HGPCY'](_0x223051['totalCount'],_0x223051[_0x2fb9e5(0xe5)][_0x2fb9e5(0x130)])?'Showing\x20'+_0x223051[_0x2fb9e5(0xe5)][_0x2fb9e5(0x130)]+'\x20of\x20'+_0x223051[_0x2fb9e5(0xb6)]:_0x223051[_0x2fb9e5(0xb6)]+_0x2fb9e5(0xe0);console['log']('\x0a'+_0x32bce8+':\x0a');for(const _0x3074a9 of _0x223051[_0x2fb9e5(0xe5)]){console['log'](''+_0x3074a9['name']),console['log']('\x20\x20\x20ID:\x20'+_0x3074a9['id']),_0x3074a9[_0x2fb9e5(0xbc)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x46ce0a[_0x2fb9e5(0x94)](getProgressDisplay,_0x3074a9[_0x2fb9e5(0xbc)])),_0x3074a9[_0x2fb9e5(0x117)]&&console[_0x2fb9e5(0xfa)]('\x20\x20\x20Branch:\x20'+_0x3074a9['gitBranch']),console['log'](_0x2fb9e5(0x97)+new Date(_0x3074a9[_0x2fb9e5(0x87)])[_0x2fb9e5(0x98)]()),console['log']('');}const _0x40f244=_0x11d226[_0x2fb9e5(0x83)]??0xa,_0x169619=_0x46ce0a['ljXtY'](_0x11d226[_0x2fb9e5(0x129)]??0x0,_0x223051[_0x2fb9e5(0xe5)]['length']);if(_0x169619<_0x223051['totalCount']){const _0x39781a=_0x40f244!==0xa?'\x20--limit\x20'+_0x40f244:'',_0x16dd74=_0x4fe42d['currentBranch']?_0x2fb9e5(0xca):'',_0x54724e=_0x4fe42d[_0x2fb9e5(0x132)]?_0x2fb9e5(0x126):'';console[_0x2fb9e5(0xfa)](_0x2fb9e5(0xe3)+_0x169619+_0x39781a+_0x16dd74+_0x54724e);}}export async function featureShow(_0x3413f4){const _0x2cbe8d=_0x369c38,_0x2266f8={'xzDFe':function(_0xb5c6c6){return _0xb5c6c6();},'nxMyf':function(_0x1c3633,_0x5ee619){return _0x1c3633(_0x5ee619);}},_0x11c38d=_0x3413f4||await _0x2266f8[_0x2cbe8d(0x121)](getActiveFeatureId);if(!_0x11c38d)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 _0xdd59f8=await _0x2266f8[_0x2cbe8d(0xe7)](getFeature,_0x11c38d);displayFeature(_0xdd59f8,_0xdd59f8['checklistItems']);}function _0x237a(){const _0x110215=['kxohJ','gitBranch','git\x20remote\x20get-url\x20origin','Hurli','latestReview','textContent','wEhMm','description','TiehI','assetType','SOAWB','xzDFe','currentSessionId','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','MpjRG','join','\x20--include-deleted','exit','llCex','offset','EatyJ','VAIgn','382nNFcOG','prompt','\x20scenario(s).','error','length','\x20in\x20progress','includeDeleted','pop','terminalReason','approved','canonicalFlow','Current\x20session\x20not\x20found.','trim','No\x20active\x20session\x20for\x20this\x20feature\x20review.','FlVTt','list','/api/v1/mcp/browser-sessions/','authorName','Elkmg','CDAho','location','iteration','verifiedItems','assets','\x0a⚠️\x20\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x0aNo\x20feature\x20reviews\x20found.','filter','cTfCk','numeric','\x20at\x20[','parentItemId','after','\x20\x20💬\x20','kpsVb','isTTY','round','closed','short','dashboardUrl','Please\x20finish\x20your\x20review\x20first:','\x20—\x20','AHquq','.png','pipe','zImlh','lVNWM','\x20\x20\x20\x20\x20Branch:\x20','limit','Not\x20in\x20a\x20git\x20repository.','IjLjI','dOJiW','createdAt','verification_in_progress','QNulE','BEHIa','blockedReason','iieFF','incompleteItems','TUHWU','WETtU','agentResponse','OWgtA','completed','completedAt','WWwZt','YKMKB','5vbnRZd','\x20\x20\x20Created:\x20','toLocaleDateString','255645nvTYtU','scenarios','HTvAE','\x0a✅\x20Resumed\x20feature\x20review:\x20','biZFu','528eGSJmf','push','\x20\x20\x20Branch:\x20','\x20scenarios.','wOwiq','xJpyN','\x1b[1m','warn','/artifacts/','assetUrl','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','CYFFz','leNXv','gitRepoUrl','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20concluded.','FChDe','unaddressedComments','KaxGu','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','selector','write','HfPhh','totalCount','RkGZw','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','domRef','github.com/','7ecURbt','stats','jahZU','1222206KeZXBj','map','stdout','fSNju','39aqdZHi','flHYk','version','stringify','jDhWH','spatial','94252fIhQyr','scenario','\x20--current-branch','\x20(v','pablf','YSOgF','currentBranch','eOmQA','isKeyStep','Scenario\x20','name','\x0a✅\x20Session\x20','toLocaleString','timing','KUuCU','sessionId','from','6264oPAhgu',':\x20\x22','JYqOQ','storage','get','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','screenshot','\x20feature\x20review(s)\x20found','find','\x0aAvailable\x20scenarios:','Next\x20page:\x20ranger\x20list\x20--offset\x20','MRZCh','items','xWTnS','nxMyf','coordinates','\x20\x20\x20\x20\x20\x20Approved','HuoSW','VwKrG','OQZhZ','DuahD','verificationInProgressItems','\x20\x20Expected\x20flow:','\x20\x20\x20Completed:\x20','Zjiag','fjiqr','env','incompleteReason','SixsK','\x1b[0m','zxhDR','szEvy','browserSessionId','log','hGoCd','split','excludeScenarios','36730GiMLkF','TVTlf','replace','eZQHq','\x20\x20\x20\x20\x20Progress:\x20','trimEnd','Cannot\x20conclude\x20session\x20with\x20status:\x20','status','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','style','\x0a✅\x20Scenario\x20added','3447rPWHRr','incomplete','557412kiXgsp','isInteger','OideW','gfpvE','440PlGQLr','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','zBoqs','canceledReason','\x20\x20\x20\x20','\x0aGenerating\x20report...','checklistItems'];_0x237a=function(){return _0x110215;};return _0x237a();}export async function featureResume(_0x235d83){const _0x39cab6=_0x369c38,_0x4cb813={'biZFu':function(_0x20f4e9,_0x3ace43){return _0x20f4e9!==_0x3ace43;},'dOJiW':function(_0xe4a9e4,_0x439c56,_0x195cff){return _0xe4a9e4(_0x439c56,_0x195cff);},'wMFgN':function(_0x190e39){return _0x190e39();},'szEvy':function(_0x486794,_0x289877){return _0x486794&&_0x289877;},'hGoCd':function(_0x449539,_0x3cac8b){return _0x449539||_0x3cac8b;},'mMlbr':'any','riKsi':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','RmZxK':_0x39cab6(0x13b),'xWTnS':'selected','RIPXD':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','xNeyy':function(_0x971e1d,_0x537147){return _0x971e1d(_0x537147);},'HfPhh':function(_0x45be97,_0x38d508,_0x180181){return _0x45be97(_0x38d508,_0x180181);},'cOKSv':function(_0x1fc1b2,_0x3182ac){return _0x1fc1b2(_0x3182ac);}};if(_0x235d83){const _0x58359b=await getFeature(_0x235d83);await setActiveFeatureId(_0x58359b['id']);const _0x47a1fe=getGitBranch();_0x47a1fe&&_0x4cb813[_0x39cab6(0x9d)](_0x47a1fe,_0x58359b['gitBranch'])&&(await updateFeature(_0x58359b['id'],{'gitBranch':_0x47a1fe}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x47a1fe));console['log'](_0x39cab6(0x9c)+_0x58359b['name']+'\x20('+_0x58359b['id']+')'),await tryStartCurrentSession(_0x58359b['id']);const _0x3f4391=process[_0x39cab6(0xf3)]['CLAUDE_SESSION_ID'];_0x3f4391&&_0x4cb813[_0x39cab6(0x86)](registerSession,_0x3f4391,_0x58359b['id']);displayFeature(_0x58359b,_0x58359b[_0x39cab6(0x115)]),await printFeedbackNudge(_0x58359b['id']);return;}const _0x1810a6=_0x4cb813['wMFgN'](getGitRepoUrl),_0x3d7bb3=getGitBranch();if(_0x4cb813[_0x39cab6(0xf8)](!_0x1810a6,!_0x3d7bb3))throw new Error(_0x39cab6(0x84));console['log'](_0x39cab6(0x106)+_0x4cb813[_0x39cab6(0xfb)](_0x1810a6,'any')+'\x20/\x20'+_0x4cb813[_0x39cab6(0xfb)](_0x3d7bb3,_0x4cb813['mMlbr'])+'...');const _0x197cd1=await listFeatures({'gitRepoUrl':_0x1810a6,'gitBranch':_0x3d7bb3}),_0x3eb74b=_0x197cd1['items'][_0x39cab6(0x6e)](_0x36b3e0=>!_0x36b3e0['completedAt']);if(_0x3eb74b['length']===0x0){console['log'](_0x39cab6(0x123)),console['log'](_0x4cb813['riKsi']);return;}let _0x45810b;if(_0x3eb74b[_0x39cab6(0x130)]===0x1)_0x45810b=_0x3eb74b[0x0];else{const _0x4b3541=process['stdin'][_0x39cab6(0x76)]&&process[_0x39cab6(0xc0)][_0x39cab6(0x76)];if(!_0x4b3541){console[_0x39cab6(0xfa)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4c79d1 of _0x3eb74b){console['log']('\x20\x20'+_0x4c79d1['name']),console[_0x39cab6(0xfa)]('\x20\x20\x20\x20\x20ID:\x20'+_0x4c79d1['id']),_0x4c79d1[_0x39cab6(0xbc)]&&console[_0x39cab6(0xfa)](_0x39cab6(0x102)+getProgressDisplay(_0x4c79d1['stats'])),_0x4c79d1[_0x39cab6(0x117)]&&console[_0x39cab6(0xfa)](_0x39cab6(0x82)+_0x4c79d1['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x2c20c0}=await _0xb866d5[_0x39cab6(0x12d)]([{'type':_0x4cb813['RmZxK'],'name':_0x4cb813[_0x39cab6(0xe6)],'message':_0x4cb813['RIPXD'],'choices':_0x3eb74b['map'](_0x3bca47=>({'name':_0x3bca47[_0x39cab6(0xd2)]+'\x20('+_0x3bca47['id']+')','value':_0x3bca47['id']}))}]);_0x45810b=_0x3eb74b[_0x39cab6(0xe1)](_0x3736e5=>_0x3736e5['id']===_0x2c20c0);}await setActiveFeatureId(_0x45810b['id']);_0x3d7bb3&&_0x3d7bb3!==_0x45810b[_0x39cab6(0x117)]&&(await updateFeature(_0x45810b['id'],{'gitBranch':_0x3d7bb3}),console[_0x39cab6(0xfa)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3d7bb3));console[_0x39cab6(0xfa)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x45810b['name']+'\x20('+_0x45810b['id']+')'),await _0x4cb813['xNeyy'](tryStartCurrentSession,_0x45810b['id']);const _0x4d89a6=await getFeature(_0x45810b['id']),_0x17a139=process[_0x39cab6(0xf3)]['CLAUDE_SESSION_ID'];_0x17a139&&_0x4cb813[_0x39cab6(0xb5)](registerSession,_0x17a139,_0x4d89a6['id']),_0x4cb813['HfPhh'](displayFeature,_0x4d89a6,_0x4d89a6['checklistItems']),await _0x4cb813['cOKSv'](printFeedbackNudge,_0x4d89a6['id']);}async function printFeedbackNudge(_0x36b307){const _0x464ab0=_0x369c38,_0x14dfec={'llCex':function(_0x32d8f9,_0x45b1fd){return _0x32d8f9(_0x45b1fd);},'jKdmS':function(_0x4fbd28,_0x21e6b4,_0x491327){return _0x4fbd28(_0x21e6b4,_0x491327);},'iieFF':function(_0x164f2c,_0x4abe6f){return _0x164f2c>_0x4abe6f;},'SzqRp':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x33a150}=await _0x14dfec[_0x464ab0(0x128)](getActionItems,_0x36b307);let _0x239ac8=0x0,_0x2e2735=0x0;for(const _0x3f6435 of _0x33a150){const _0x4d163f=await _0x14dfec['jKdmS'](getItemFeedback,_0x36b307,_0x3f6435['id']);_0x14dfec[_0x464ab0(0x8c)](_0x4d163f[_0x464ab0(0xb0)]['length'],0x0)&&(_0x239ac8+=_0x4d163f[_0x464ab0(0xb0)]['length'],_0x2e2735++);}_0x14dfec[_0x464ab0(0x8c)](_0x239ac8,0x0)&&(console['log'](_0x464ab0(0x144)+_0x239ac8+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x2e2735+_0x464ab0(0x12e)),console['log'](_0x14dfec['SzqRp']));}catch{}}async function tryStartCurrentSession(_0x1a147d){const _0x251747=_0x369c38,_0x550c12={'DuahD':function(_0x10c168,_0x47430f){return _0x10c168(_0x47430f);},'THKrT':function(_0x2285d3,_0x3f0f80,_0x244f8b){return _0x2285d3(_0x3f0f80,_0x244f8b);}};try{const {sessions:_0x352915}=await _0x550c12[_0x251747(0xed)](listFeatureSessions,_0x1a147d),_0x339bb0=_0x352915['find'](_0xcac62f=>_0xcac62f[_0x251747(0x105)]==='ready');_0x339bb0&&(await _0x550c12['THKrT'](startSession,_0x1a147d,_0x339bb0['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x339bb0[_0x251747(0x141)]));}catch{}}export async function featureReport(_0x11ac8c,_0x5808f1){const _0x5ddc3c=_0x369c38,_0x25242a={'yGCtP':function(_0x339b28){return _0x339b28();},'RkGZw':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Hurli':_0x5ddc3c(0x114),'fSNju':function(_0x34d0c8,_0x4596df,_0x459e83){return _0x34d0c8(_0x4596df,_0x459e83);},'FChDe':function(_0x333bcb,_0x1d6eb4,_0x1485ae,_0x55601f){return _0x333bcb(_0x1d6eb4,_0x1485ae,_0x55601f);},'WyvbC':function(_0x1c5635,_0x2714b8){return _0x1c5635(_0x2714b8);},'YKMKB':'utf-8'},_0x58fb4d=_0x11ac8c||await _0x25242a['yGCtP'](getActiveFeatureId);if(!_0x58fb4d)throw new Error(_0x25242a[_0x5ddc3c(0xb7)]);console[_0x5ddc3c(0xfa)](_0x25242a[_0x5ddc3c(0x119)]);const _0x3653e8=await _0x25242a[_0x5ddc3c(0xc1)](getFeatureReportMarkdown,_0x58fb4d,{'style':_0x5808f1[_0x5ddc3c(0x107)]}),_0x63caa6=_0x5808f1['output']||_0x25242a[_0x5ddc3c(0xaf)](join,getRangerDir(),'reports',_0x58fb4d+'.md'),_0x50eae8=join(_0x63caa6,'..');!_0x25242a['WyvbC'](existsSync,_0x50eae8)&&await mkdir(_0x50eae8,{'recursive':!![]}),await writeFile(_0x63caa6,_0x3653e8,_0x25242a[_0x5ddc3c(0x95)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x63caa6);}function getScenarioResult(_0x50a530){const _0x44476e=_0x369c38,_0x377b2a={'MdbIy':_0x44476e(0x78),'ptLwN':function(_0x12e6be,_0xad76b2){return _0x12e6be===_0xad76b2;},'CDAho':_0x44476e(0x88),'GbMxJ':'in_progress'};if(_0x50a530[_0x44476e(0x105)]===_0x44476e(0x78))return _0x50a530['terminalReason']??_0x377b2a['MdbIy'];if(_0x377b2a['ptLwN'](_0x50a530[_0x44476e(0x105)],_0x377b2a[_0x44476e(0x13f)]))return _0x377b2a['GbMxJ'];return _0x50a530['status'];}function getScenarioRationale(_0x2033a8,_0x39c90f){const _0x12a828=_0x369c38;if(_0x39c90f)return _0x39c90f;if(_0x2033a8['blockedReason'])return _0x2033a8['blockedReason'];if(_0x2033a8['incompleteReason'])return _0x2033a8['incompleteReason'];if(_0x2033a8[_0x12a828(0x112)])return _0x2033a8['canceledReason'];if(_0x2033a8['notes'])return _0x2033a8['notes'];return null;}export async function featureReportPrDescription(_0x1b5673,_0xaa234d){const _0x2a9bfe=_0x369c38,_0x3913e4={'Akedm':function(_0x42e31e){return _0x42e31e();},'TUHWU':function(_0x4c318a,_0x31f993){return _0x4c318a(_0x31f993);},'eOmQA':function(_0x19b936,_0x193dd7){return _0x19b936===_0x193dd7;},'AHquq':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','wOwiq':_0x2a9bfe(0xe2),'SOAWB':function(_0x1860f2,_0x492ffb,_0x4bfcf5){return _0x1860f2(_0x492ffb,_0x4bfcf5);}},_0x2a4a21=_0x1b5673||await _0x3913e4['Akedm'](getActiveFeatureId);if(!_0x2a4a21)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x4ec88b=await _0x3913e4[_0x2a9bfe(0x8e)](getFeature,_0x2a4a21),_0x2259bb=_0x4ec88b[_0x2a9bfe(0x115)]||[],_0xbc492f=getCurrentSessionItems(_0x4ec88b,_0x2259bb);_0x3913e4[_0x2a9bfe(0xcf)](_0xbc492f['length'],0x0)&&(console['error'](_0x3913e4[_0x2a9bfe(0x7d)]),process[_0x2a9bfe(0x127)](0x1));const _0x12bc4b=_0xaa234d[_0x2a9bfe(0xfd)]??[],_0x35656c=_0x12bc4b['filter'](_0x57f2ef=>!Number[_0x2a9bfe(0x10c)](_0x57f2ef)||_0x57f2ef<0x1||_0x57f2ef>_0xbc492f[_0x2a9bfe(0x130)]);if(_0x35656c['length']>0x0){console[_0x2a9bfe(0x12f)](_0x2a9bfe(0x145)+_0x35656c[_0x2a9bfe(0x125)](',\x20')),console[_0x2a9bfe(0xfa)](_0x3913e4[_0x2a9bfe(0xa2)]);for(let _0x200455=0x0;_0x200455<_0xbc492f[_0x2a9bfe(0x130)];_0x200455++){console['log']('\x20\x20'+(_0x200455+0x1)+'.\x20'+_0xbc492f[_0x200455]['description']);}process['exit'](0x1);}const _0x7b2b7a=new Set(_0x12bc4b['map'](_0x397b31=>_0x397b31-0x1)),_0x22dd2d=_0xbc492f[_0x2a9bfe(0x6e)]((_0x48c966,_0x3f08d1)=>!_0x7b2b7a['has'](_0x3f08d1));_0x3913e4[_0x2a9bfe(0xcf)](_0x22dd2d['length'],0x0)&&(console[_0x2a9bfe(0x12f)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x2a9bfe(0x127)](0x1));if(_0xaa234d['json'])await outputJsonReport(_0x2a4a21,_0x4ec88b,_0x22dd2d);else{const _0x27e295=await _0x3913e4[_0x2a9bfe(0x120)](getFeatureReportMarkdown,_0x2a4a21,{'itemIds':_0x22dd2d[_0x2a9bfe(0xbf)](_0x12a82b=>_0x12a82b['id'])});process[_0x2a9bfe(0xc0)][_0x2a9bfe(0xb4)](_0x27e295[_0x2a9bfe(0x103)]()+'\x0a');}}async function outputJsonReport(_0x45a56f,_0x14c88b,_0xdf80a2){const _0x2115fb=_0x369c38,_0x3f4edd={'VAIgn':function(_0x32178b,_0x3ff30d){return _0x32178b(_0x3ff30d);},'VwKrG':function(_0x235c5d,_0x2dc0a2){return _0x235c5d===_0x2dc0a2;},'hZsBQ':function(_0x3bfb6c,_0xe7fbbb){return _0x3bfb6c(_0xe7fbbb);},'TVTlf':function(_0x237910,_0x2b2514){return _0x237910(_0x2b2514);}},_0x5118dd=getApiBaseUrl(),_0x33f704=await _0x3f4edd[_0x2115fb(0xff)](getFeatureReport,_0x45a56f),_0x3f72e6=new Map(_0x33f704[_0x2115fb(0x115)]['map'](_0x30b8cd=>[_0x30b8cd['id'],_0x30b8cd])),_0xd2a92e=await Promise['all'](_0xdf80a2['map'](async _0x480405=>{const _0x4fb0d2=_0x2115fb,_0x5837c1=_0x3f72e6[_0x4fb0d2(0xdd)](_0x480405['id']),_0x385f70=_0x5837c1?.['linkedSession']??null;let _0x3a85a3=[];if(_0x480405['browserSessionId'])try{const {steps:_0x5eb9fa}=await _0x3f4edd[_0x4fb0d2(0x12b)](getBrowserSessionSteps,_0x480405['browserSessionId']);_0x5eb9fa[_0x4fb0d2(0x130)]>0x0&&(_0x3a85a3=_0x5eb9fa['map'](_0x4a7053=>{const _0x1bc008=_0x4fb0d2,_0x2f3b94=_0x4a7053['assets'][_0x1bc008(0xe1)](_0x46c05e=>_0x46c05e['assetType']===_0x1bc008(0xdf)&&_0x46c05e[_0x1bc008(0xd5)]===_0x1bc008(0x73))??_0x4a7053[_0x1bc008(0x143)]['find'](_0x4fcf4f=>_0x4fcf4f[_0x1bc008(0x11f)]===_0x1bc008(0xdf));let _0x48e776=null,_0x58d760=null;if(_0x2f3b94){const _0x308933=_0x2f3b94[_0x1bc008(0xdc)][_0x1bc008(0x140)][_0x1bc008(0xfc)]('/')[_0x1bc008(0x133)]();_0x48e776=_0x5118dd+_0x1bc008(0x13c)+_0x480405[_0x1bc008(0xf9)]+_0x1bc008(0xa6)+_0x308933,_0x308933&&(_0x58d760=_0x308933['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x58d760||_0x4a7053[_0x1bc008(0x11d)]||_0x4a7053['stepName']||'Step\x20'+_0x4a7053['position'],'screenshot':_0x48e776,'is_key_step':_0x4a7053[_0x1bc008(0xd0)]};}));}catch{}return _0x3f4edd[_0x4fb0d2(0xeb)](_0x3a85a3['length'],0x0)&&_0x385f70?.['screenshotUrls']&&(_0x3a85a3=_0x385f70['screenshotUrls']['map']((_0x465cb0,_0x4ff2bd)=>({'description':'Screenshot\x20'+(_0x4ff2bd+0x1),'screenshot':_0x465cb0,'is_key_step':![]}))),{'description':_0x480405['description'],'result':_0x3f4edd['hZsBQ'](getScenarioResult,_0x480405),'rationale':getScenarioRationale(_0x480405,_0x385f70?.[_0x4fb0d2(0x90)]),'steps':_0x3a85a3};})),_0x3a6852={'url':_0x14c88b[_0x2115fb(0x7a)],'scenarios':_0xd2a92e};process['stdout']['write'](JSON[_0x2115fb(0xc5)](_0x3a6852,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x3222f2){const _0x2a25d9=_0x369c38,_0x13e1da={'IjLjI':function(_0x235b9b){return _0x235b9b();},'DkzJT':_0x2a25d9(0xad),'KUuCU':function(_0x245976,_0x29637f){return _0x245976(_0x29637f);},'kpsVb':_0x2a25d9(0x137),'MRZCh':_0x2a25d9(0x92),'jahZU':'\x0a✅\x20Session\x20is\x20already\x20completed.','FlVTt':function(_0x31a5d3,_0x11f2db){return _0x31a5d3!==_0x11f2db;},'zxhDR':'in_progress','zMfPT':'\x0aConcluding\x20session...'},_0x2bd171=_0x3222f2||await _0x13e1da[_0x2a25d9(0x85)](getActiveFeatureId);if(!_0x2bd171)throw new Error(_0x13e1da['DkzJT']);const _0x2a36ec=await _0x13e1da['KUuCU'](getFeature,_0x2bd171);if(!_0x2a36ec['currentSessionId'])throw new Error(_0x2a25d9(0x139));const {sessions:_0x209286}=await _0x13e1da[_0x2a25d9(0xd6)](listFeatureSessions,_0x2bd171),_0x27f55e=_0x209286[_0x2a25d9(0xe1)](_0x4f1911=>_0x4f1911['id']===_0x2a36ec[_0x2a25d9(0x122)]);if(!_0x27f55e)throw new Error(_0x13e1da[_0x2a25d9(0x75)]);if(_0x27f55e['status']===_0x13e1da[_0x2a25d9(0xe4)]){console['log'](_0x13e1da[_0x2a25d9(0xbd)]);return;}if(_0x13e1da[_0x2a25d9(0x13a)](_0x27f55e['status'],_0x13e1da[_0x2a25d9(0xf7)]))throw new Error(_0x2a25d9(0x104)+_0x27f55e[_0x2a25d9(0x105)]);console['log'](_0x13e1da['zMfPT']),await concludeSession(_0x2bd171,_0x2a36ec['currentSessionId']),console['log'](_0x2a25d9(0xd3)+_0x27f55e['iteration']+_0x2a25d9(0xae)),console[_0x2a25d9(0xfa)](_0x2a25d9(0xb8));}export async function featureSessions(_0x4a979d){const _0x5f16c8=_0x369c38,_0x1abd02={'zImlh':function(_0x8f1210,_0x59458e){return _0x8f1210(_0x59458e);},'OWgtA':function(_0x2df057,_0x4eeaa4){return _0x2df057===_0x4eeaa4;},'leNXv':'No\x20sessions\x20found.','JdyMD':function(_0x261324,_0x4189b8){return _0x261324===_0x4189b8;},'FMSaJ':_0x5f16c8(0x92),'WETtU':'in_progress'},_0x4407dc=_0x4a979d||await getActiveFeatureId();if(!_0x4407dc)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5b68ed=await getFeature(_0x4407dc);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5b68ed[_0x5f16c8(0xd2)]+'\x0a');const {sessions:_0x331feb}=await _0x1abd02[_0x5f16c8(0x80)](listFeatureSessions,_0x4407dc);if(_0x1abd02[_0x5f16c8(0x91)](_0x331feb[_0x5f16c8(0x130)],0x0)){console['log'](_0x1abd02[_0x5f16c8(0xaa)]);return;}for(const _0x10c54a of _0x331feb){const _0x3f9247=_0x1abd02['JdyMD'](_0x10c54a['status'],_0x1abd02['FMSaJ'])?'✅':_0x1abd02['JdyMD'](_0x10c54a['status'],_0x1abd02[_0x5f16c8(0x8f)])?'🔄':'▶️';console['log'](_0x3f9247+'\x20Session\x20'+_0x10c54a['iteration']+'\x20('+_0x10c54a['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x10c54a[_0x5f16c8(0x105)]),console[_0x5f16c8(0xfa)](_0x5f16c8(0x97)+new Date(_0x10c54a['createdAt'])['toLocaleString']()),_0x10c54a[_0x5f16c8(0x93)]&&console['log'](_0x5f16c8(0xf0)+new Date(_0x10c54a['completedAt'])[_0x5f16c8(0xd4)]()),console[_0x5f16c8(0xfa)]('');}}export async function featureAddScenario(_0x4d6448,_0x39e9bd){const _0x441b63=_0x369c38,_0xe61137={'EatyJ':function(_0x27f073,_0x348d26,_0x2662ac){return _0x27f073(_0x348d26,_0x2662ac);}},_0x187830=_0x39e9bd||await getActiveFeatureId();if(!_0x187830)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 _0x41b7cd=await getFeature(_0x187830);if(_0x41b7cd[_0x441b63(0x11a)]&&!_0x41b7cd[_0x441b63(0x11a)]['submittedAt'])throw new Error(_0x441b63(0xa8)+_0x41b7cd[_0x441b63(0x7a)]);await createChecklistItem(_0x187830,_0x4d6448);const _0x541366=await getFeature(_0x187830);console['log'](_0x441b63(0x108)),_0xe61137[_0x441b63(0x12a)](displayFeature,_0x541366,_0x541366[_0x441b63(0x115)]);}export async function featureEditScenario(_0x5e993f,_0x25b8f8){const _0x3f0f76=_0x369c38,_0x57818c={'UkPZQ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','JYqOQ':function(_0x237b23,_0x102a08){return _0x237b23(_0x102a08);},'YSOgF':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','ZyQQf':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','kxohJ':function(_0x355e81,_0x319229){return _0x355e81===_0x319229;},'lRDTQ':function(_0x37514f,_0xbe134b){return _0x37514f<_0xbe134b;},'XzQfz':_0x3f0f76(0xe2),'gfpvE':function(_0x342c66,_0x314915){return _0x342c66+_0x314915;},'XwdmE':function(_0x3782ca,_0x57bdaf,_0x48a0b8,_0x2dd2d0){return _0x3782ca(_0x57bdaf,_0x48a0b8,_0x2dd2d0);},'HTvAE':function(_0x4d38df,_0x416bf7,_0x2cfc7b){return _0x4d38df(_0x416bf7,_0x2cfc7b);}},_0x543617=_0x25b8f8['id']||await getActiveFeatureId();!_0x543617&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x57818c['UkPZQ']),process['exit'](0x1));const _0x400b49=await _0x57818c[_0x3f0f76(0xdb)](getFeature,_0x543617);_0x400b49[_0x3f0f76(0x11a)]&&!_0x400b49['latestReview']['submittedAt']&&(console['error'](_0x57818c[_0x3f0f76(0xcd)]),console['error'](_0x3f0f76(0x7b)),console['error']('\x20\x20'+_0x400b49[_0x3f0f76(0x7a)]),process['exit'](0x1));const _0x1f4ea1=_0x400b49[_0x3f0f76(0x115)]||[];_0x1f4ea1[_0x3f0f76(0x130)]===0x0&&(console[_0x3f0f76(0x12f)](_0x57818c['ZyQQf']),process[_0x3f0f76(0x127)](0x1));if(_0x57818c[_0x3f0f76(0x116)](_0x25b8f8['scenario'],undefined)){console[_0x3f0f76(0x12f)](_0x3f0f76(0xde)),console[_0x3f0f76(0xfa)](_0x3f0f76(0xe2));for(let _0x163f3b=0x0;_0x57818c['lRDTQ'](_0x163f3b,_0x1f4ea1['length']);_0x163f3b++){console[_0x3f0f76(0xfa)]('\x20\x20'+(_0x163f3b+0x1)+'.\x20'+_0x1f4ea1[_0x163f3b]['description']);}process['exit'](0x1);}const _0x37942c=_0x25b8f8[_0x3f0f76(0xc9)]-0x1;if(_0x57818c['lRDTQ'](_0x37942c,0x0)||_0x37942c>=_0x1f4ea1[_0x3f0f76(0x130)]){console[_0x3f0f76(0x12f)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x25b8f8['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x1f4ea1['length']+_0x3f0f76(0xa1)),console[_0x3f0f76(0xfa)](_0x57818c['XzQfz']);for(let _0x2f3031=0x0;_0x57818c['lRDTQ'](_0x2f3031,_0x1f4ea1['length']);_0x2f3031++){console['log']('\x20\x20'+_0x57818c[_0x3f0f76(0x10e)](_0x2f3031,0x1)+'.\x20'+_0x1f4ea1[_0x2f3031]['description']);}process['exit'](0x1);}const _0x3a9a5c=_0x1f4ea1[_0x37942c];await _0x57818c['XwdmE'](updateChecklistItem,_0x543617,_0x3a9a5c['id'],{'description':_0x5e993f});const _0x149889=await getFeature(_0x543617);console['log']('\x0a✅\x20Scenario\x20updated'),_0x57818c[_0x3f0f76(0x9b)](displayFeature,_0x149889,_0x149889['checklistItems']);}async function downloadFeedbackImage(_0x3bfbf5,_0xf216fb){const _0x2c3999=_0x369c38,_0x24ad18={'MpjRG':function(_0x8d5560,_0xc77234,_0x92c1e5){return _0x8d5560(_0xc77234,_0x92c1e5);},'TiehI':function(_0x3a257e){return _0x3a257e();},'tsmBg':function(_0x1be6b2,_0x452a86){return _0x1be6b2(_0x452a86);}};try{const _0x3ae35c=_0x24ad18[_0x2c3999(0x124)](join,_0x24ad18[_0x2c3999(0x11e)](getRangerDir),'feedback-images');await mkdir(_0x3ae35c,{'recursive':!![]});const _0x6e01b0=_0x24ad18[_0x2c3999(0x124)](join,_0x3ae35c,'comment_'+_0xf216fb+_0x2c3999(0x7e)),_0x584622=await _0x24ad18['tsmBg'](fetch,_0x3bfbf5);if(!_0x584622['ok'])return null;const _0x458553=Buffer[_0x2c3999(0xd8)](await _0x584622['arrayBuffer']());return await writeFile(_0x6e01b0,_0x458553),_0x6e01b0;}catch{return null;}}export async function featureGetReview(_0x4c1da2){const _0x510b63=_0x369c38,_0x510fce={'eZQHq':_0x510b63(0xad),'cLpEd':function(_0x48162c,_0x19e0d6){return _0x48162c(_0x19e0d6);},'uczlc':function(_0x24d393,_0x23f396){return _0x24d393===_0x23f396;},'OideW':'No\x20scenarios\x20found.','BEHIa':function(_0x3ad5ce,_0x43064f){return _0x3ad5ce>_0x43064f;},'WFWtm':function(_0x17a19d,_0x178f29){return _0x17a19d>_0x178f29;},'IegiF':function(_0x297578,_0x2f5185,_0x136652){return _0x297578(_0x2f5185,_0x136652);},'xJpyN':'\x20>\x20','SirsF':function(_0x477f83,_0x39cd4d){return _0x477f83+_0x39cd4d;}},_0x3831e1=_0x4c1da2||await getActiveFeatureId();if(!_0x3831e1)throw new Error(_0x510fce[_0x510b63(0x101)]);const _0x420a7c=await _0x510fce['cLpEd'](getFeature,_0x3831e1),{items:_0x14436b}=await _0x510fce['cLpEd'](getActionItems,_0x3831e1);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x420a7c['name']+'\x20('+_0x420a7c['id']+')\x0a');if(_0x510fce['uczlc'](_0x14436b['length'],0x0)){console['log'](_0x510fce[_0x510b63(0x10d)]);return;}for(let _0xe2de0d=0x0;_0xe2de0d<_0x14436b['length'];_0xe2de0d++){const _0x29b2ae=_0x14436b[_0xe2de0d],_0x1edd46=_0x510fce[_0x510b63(0x8a)](_0x29b2ae['version'],0x1)?_0x510b63(0xcb)+_0x29b2ae[_0x510b63(0xc4)]+')':'',_0x2e1d91=await getItemFeedback(_0x3831e1,_0x29b2ae['id']);if(_0x510fce['WFWtm'](_0x2e1d91[_0x510b63(0xb0)]['length'],0x0)){console[_0x510b63(0xfa)](_0x510b63(0xd1)+(_0xe2de0d+0x1)+_0x510b63(0xda)+_0x29b2ae[_0x510b63(0x11d)]+'\x22'+_0x1edd46+_0x510b63(0x7c)+_0x2e1d91[_0x510b63(0xb0)][_0x510b63(0x130)]+'\x20unaddressed\x20comment(s)');for(const _0x5f336e of _0x2e1d91['unaddressedComments']){const _0x34567c=new Date(_0x5f336e['createdAt'])[_0x510b63(0x98)]('en-US',{'month':_0x510b63(0x79),'day':_0x510b63(0x70)}),_0xfe16db=_0x5f336e[_0x510b63(0x13d)]||_0x5f336e['authorEmail']||'Unknown';console['log'](_0x510b63(0x74)+_0xfe16db+'\x20('+_0x34567c+'):\x20\x22'+_0x5f336e['content']+'\x22');if(_0x5f336e['assetUrl']){const _0x2a6033=await _0x510fce['IegiF'](downloadFeedbackImage,_0x5f336e[_0x510b63(0xa7)],_0x5f336e['id']);_0x2a6033&&console['log'](_0x510b63(0x6c)+_0x2a6033);}if(_0x5f336e[_0x510b63(0xb9)]){const _0x5796bc=_0x5f336e['domRef'][_0x510b63(0xb3)][_0x510b63(0xfc)](_0x510fce[_0x510b63(0xa3)])['pop']()?.[_0x510b63(0xfc)](':')[0x0]||'element',_0x56fc58=_0x5f336e[_0x510b63(0xb9)][_0x510b63(0x11b)]?'\x20\x22'+_0x5f336e[_0x510b63(0xb9)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x510b63(0xfa)](_0x510b63(0x110)+_0x5796bc+'>'+_0x56fc58),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x5f336e[_0x510b63(0xb9)]['selector']);}else{if(_0x5f336e[_0x510b63(0xc7)]){const _0x2edc46=_0x5f336e[_0x510b63(0xc7)][_0x510b63(0xe8)];_0x5f336e['spatial']['type']==='point'&&_0x2edc46['length']>=0x2?console[_0x510b63(0xfa)](_0x510b63(0xb2)+_0x2edc46[0x0]['toFixed'](0x2)+',\x20'+_0x2edc46[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x5f336e[_0x510b63(0xc7)]['type']+_0x510b63(0x71)+_0x2edc46[_0x510b63(0xbf)](_0x40af84=>_0x40af84['toFixed'](0x2))[_0x510b63(0x125)](',\x20')+']');}}}if(_0x2e1d91['canonicalFlow']){console['log'](_0x510b63(0xef));for(const _0x199029 of _0x2e1d91[_0x510b63(0x136)][_0x510b63(0xfc)]('\x0a')){console[_0x510b63(0xfa)](_0x510b63(0x113)+_0x199029);}}}else console['log']('Scenario\x20'+_0x510fce['SirsF'](_0xe2de0d,0x1)+':\x20\x22'+_0x29b2ae['description']+'\x22'+_0x1edd46+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x645404){const _0x4a2f11=_0x369c38,_0x93a6f9={'iqIVq':function(_0x4e2d0c,_0x14c5ee){return _0x4e2d0c(_0x14c5ee);},'QNulE':function(_0x3e99c6,_0x3c58a0){return _0x3e99c6+_0x3c58a0;}},_0x4b4476=_0x645404||await getActiveFeatureId();if(!_0x4b4476)throw new Error(_0x4a2f11(0xad));const _0x3ef8ce=await _0x93a6f9['iqIVq'](getFeature,_0x4b4476);await _0x93a6f9['iqIVq'](softDeleteFeature,_0x4b4476),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x3ef8ce['name']+'\x20('+_0x4b4476+')'),console[_0x4a2f11(0xfa)](_0x93a6f9[_0x4a2f11(0x89)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x4b4476));}export async function featureRestore(_0x1b32bd){const _0x47fbbc=_0x369c38,_0x4505ce={'VIOyM':function(_0x5565d9,_0x31876a){return _0x5565d9(_0x31876a);},'pablf':function(_0x425dec,_0x269f07,_0x376dc2){return _0x425dec(_0x269f07,_0x376dc2);}};await restoreFeature(_0x1b32bd);const _0xf68ada=await _0x4505ce['VIOyM'](getFeature,_0x1b32bd);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0xf68ada['name']+'\x20('+_0x1b32bd+')'),_0x4505ce[_0x47fbbc(0xcc)](displayFeature,_0xf68ada,_0xf68ada[_0x47fbbc(0x115)]);}
@@ -1 +1 @@
1
- (function(_0x3690e2,_0x2bf3ca){const _0xa9d9bc=_0x3c3c,_0x28d7a5=_0x3690e2();while(!![]){try{const _0x7e928=-parseInt(_0xa9d9bc(0xb0))/0x1*(parseInt(_0xa9d9bc(0xb2))/0x2)+-parseInt(_0xa9d9bc(0xb3))/0x3+parseInt(_0xa9d9bc(0xad))/0x4+parseInt(_0xa9d9bc(0xac))/0x5+parseInt(_0xa9d9bc(0xae))/0x6+-parseInt(_0xa9d9bc(0xaf))/0x7+parseInt(_0xa9d9bc(0xab))/0x8;if(_0x7e928===_0x2bf3ca)break;else _0x28d7a5['push'](_0x28d7a5['shift']());}catch(_0x1bc344){_0x28d7a5['push'](_0x28d7a5['shift']());}}}(_0x4bf7,0x57db9));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x3c3c(_0x403c4c,_0x36dddb){_0x403c4c=_0x403c4c-0xab;const _0x4bf7e7=_0x4bf7();let _0x3c3c0f=_0x4bf7e7[_0x403c4c];return _0x3c3c0f;}function _0x4bf7(){const _0x58099c=['4070680uLjGGO','2037810rEdPXG','1249684NNkvCn','4145652lfgDfA','4169487mPZapi','2oKZuhL','Unknown\x20hook:\x20','275612PCHnwp','2065926FkKfZH','khfga','error','exit'];_0x4bf7=function(){return _0x58099c;};return _0x4bf7();}export async function hook(_0x46fcc6,_0x487887){const _0x28addb=_0x3c3c,_0x26e112={'khfga':function(_0x231985,_0x313423){return _0x231985(_0x313423);}},_0x453aa=HOOKS[_0x46fcc6];if(!_0x453aa){const _0x191760=Object['keys'](HOOKS)['join'](',\x20');console[_0x28addb(0xb5)](_0x28addb(0xb1)+_0x46fcc6),console['error']('Valid\x20hooks:\x20'+_0x191760),process[_0x28addb(0xb6)](0x1);}await _0x26e112[_0x28addb(0xb4)](_0x453aa,_0x487887);}
1
+ function _0x1728(){const _0x44a31f=['Valid\x20hooks:\x20','44jrjATm','840558YCQYDD','20964050fKQQBC','21FLTVbN','2005008tCLguk','35253idUngE','1589840wTcAPJ','1166877xvbuFo','328257UJHAVF','error','exit','992EcvSDh'];_0x1728=function(){return _0x44a31f;};return _0x1728();}function _0x5206(_0x25edad,_0x38f911){_0x25edad=_0x25edad-0x13e;const _0x1728e5=_0x1728();let _0x520691=_0x1728e5[_0x25edad];return _0x520691;}(function(_0x52bf64,_0x5ca538){const _0x55f113=_0x5206,_0x5d0510=_0x52bf64();while(!![]){try{const _0x2e9f05=parseInt(_0x55f113(0x140))/0x1+parseInt(_0x55f113(0x147))/0x2+parseInt(_0x55f113(0x141))/0x3*(-parseInt(_0x55f113(0x146))/0x4)+-parseInt(_0x55f113(0x13f))/0x5+parseInt(_0x55f113(0x14a))/0x6*(-parseInt(_0x55f113(0x149))/0x7)+parseInt(_0x55f113(0x144))/0x8*(-parseInt(_0x55f113(0x13e))/0x9)+parseInt(_0x55f113(0x148))/0xa;if(_0x2e9f05===_0x5ca538)break;else _0x5d0510['push'](_0x5d0510['shift']());}catch(_0x12e138){_0x5d0510['push'](_0x5d0510['shift']());}}}(_0x1728,0xa47ec));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};export async function hook(_0x4c9c6f,_0x12c404){const _0x1ded13=_0x5206,_0x276045=HOOKS[_0x4c9c6f];if(!_0x276045){const _0x2bf234=Object['keys'](HOOKS)['join'](',\x20');console[_0x1ded13(0x142)]('Unknown\x20hook:\x20'+_0x4c9c6f),console['error'](_0x1ded13(0x145)+_0x2bf234),process[_0x1ded13(0x143)](0x1);}await _0x276045(_0x12c404);}
@@ -1 +1 @@
1
- (function(_0x91464f,_0x4efd99){const _0x2bf179=_0x55a6,_0x49ac03=_0x91464f();while(!![]){try{const _0x4a8d84=-parseInt(_0x2bf179(0x81))/0x1+-parseInt(_0x2bf179(0x82))/0x2*(parseInt(_0x2bf179(0x84))/0x3)+-parseInt(_0x2bf179(0x8a))/0x4*(parseInt(_0x2bf179(0x89))/0x5)+-parseInt(_0x2bf179(0x83))/0x6+parseInt(_0x2bf179(0x88))/0x7+-parseInt(_0x2bf179(0x86))/0x8*(parseInt(_0x2bf179(0x8b))/0x9)+parseInt(_0x2bf179(0x85))/0xa;if(_0x4a8d84===_0x4efd99)break;else _0x49ac03['push'](_0x49ac03['shift']());}catch(_0x5d1c5b){_0x49ac03['push'](_0x49ac03['shift']());}}}(_0x110c,0xad9fd));import{readHookInput}from'./output.js';function _0x110c(){const _0x4cbf9b=['6489282fBOYJm','1702491SVWYLJ','48403140xYQwdU','1832MAjigo','session_id','2886870NenjIu','17145iPFEsn','612rUNhjQ','21852WZEKTi','1244369OMsGYF','4SEvdwa'];_0x110c=function(){return _0x4cbf9b;};return _0x110c();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';function _0x55a6(_0x5f0b0c,_0x50772c){_0x5f0b0c=_0x5f0b0c-0x81;const _0x110c16=_0x110c();let _0x55a655=_0x110c16[_0x5f0b0c];return _0x55a655;}export async function autoPrompt(){const _0x1e4757=_0x55a6,_0x2cb8cb={'iISkR':function(_0x4dece5,_0x5bb138){return _0x4dece5(_0x5bb138);}},_0x15fc5e=await readHookInput(),_0x288407=_0x15fc5e?.[_0x1e4757(0x87)];if(!_0x288407)return;if(isSessionEnabled(_0x288407)||_0x2cb8cb['iISkR'](hasSessionBeenPrompted,_0x288407))return;markSessionPrompted(_0x288407),console['log'](AUTO_PROMPT_TEXT);}
1
+ const _0x2b5d19=_0x49cb;(function(_0x5ab78d,_0x2e795c){const _0x10ea3b=_0x49cb,_0x166591=_0x5ab78d();while(!![]){try{const _0x419be5=-parseInt(_0x10ea3b(0x113))/0x1*(-parseInt(_0x10ea3b(0x10c))/0x2)+parseInt(_0x10ea3b(0x109))/0x3*(parseInt(_0x10ea3b(0x110))/0x4)+parseInt(_0x10ea3b(0x10d))/0x5+parseInt(_0x10ea3b(0x107))/0x6*(parseInt(_0x10ea3b(0x10b))/0x7)+parseInt(_0x10ea3b(0x112))/0x8*(parseInt(_0x10ea3b(0x10f))/0x9)+parseInt(_0x10ea3b(0x10e))/0xa+-parseInt(_0x10ea3b(0x111))/0xb;if(_0x419be5===_0x2e795c)break;else _0x166591['push'](_0x166591['shift']());}catch(_0x10d271){_0x166591['push'](_0x166591['shift']());}}}(_0x58d6,0xa5498));import{readHookInput}from'./output.js';function _0x58d6(){const _0x1693dd=['346843dyNVzA','1002936MyOWLY','\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.','2273976OIjtLw','log','7YmLulR','6CFejpa','6615900HSnMRI','2128100dHfjrL','1485nrzOLB','4ZcmVPz','34621301VEQskc','15648DxqrNi'];_0x58d6=function(){return _0x1693dd;};return _0x58d6();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x2b5d19(0x108);function _0x49cb(_0x506af2,_0xf2ef16){_0x506af2=_0x506af2-0x107;const _0x58d638=_0x58d6();let _0x49cbfd=_0x58d638[_0x506af2];return _0x49cbfd;}export async function autoPrompt(){const _0x516724=_0x2b5d19,_0x1cbf86={'fEVeM':function(_0xb0a302){return _0xb0a302();}},_0x5e6bc8=await _0x1cbf86['fEVeM'](readHookInput),_0x4f930a=_0x5e6bc8?.['session_id'];if(!_0x4f930a)return;if(isSessionEnabled(_0x4f930a)||hasSessionBeenPrompted(_0x4f930a))return;markSessionPrompted(_0x4f930a),console[_0x516724(0x10a)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x52bc4a,_0x2ab104){const _0xacde50=_0x1b7b,_0x122368=_0x52bc4a();while(!![]){try{const _0x54a955=parseInt(_0xacde50(0x87))/0x1*(parseInt(_0xacde50(0x95))/0x2)+parseInt(_0xacde50(0x94))/0x3+-parseInt(_0xacde50(0x8f))/0x4*(-parseInt(_0xacde50(0x88))/0x5)+parseInt(_0xacde50(0x93))/0x6*(-parseInt(_0xacde50(0x96))/0x7)+parseInt(_0xacde50(0x90))/0x8*(parseInt(_0xacde50(0x8b))/0x9)+parseInt(_0xacde50(0x8a))/0xa+-parseInt(_0xacde50(0x85))/0xb;if(_0x54a955===_0x2ab104)break;else _0x122368['push'](_0x122368['shift']());}catch(_0x5ecd62){_0x122368['push'](_0x122368['shift']());}}}(_0x166d,0xece46));function _0x166d(){const _0x2a3db1=['18uXRIjS','VUOmW','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','lEaZK','366500YvIoIN','362832IHRtIs','main','CLAUDE_SESSION_ID','6WyfMdy','3662220NBBRaV','24kmabdp','12240858cUoPgM','2159443FDQVUT','SmWid','7303RBcOgV','5zUHUVz','master','14246080cqEipW'];_0x166d=function(){return _0x2a3db1;};return _0x166d();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x1b7b(_0x552b7f,_0x4f7cec){_0x552b7f=_0x552b7f-0x85;const _0x166d9c=_0x166d();let _0x1b7b1d=_0x166d9c[_0x552b7f];return _0x1b7b1d;}import{printBlock}from'./output.js';export async function disable(_0x3c1839){const _0x2e1856=_0x1b7b,_0x6fc958={'SmWid':function(_0x51196a,_0x5d06ff){return _0x51196a(_0x5d06ff);},'lEaZK':function(_0x1f1a28,_0xd7ac18){return _0x1f1a28!==_0xd7ac18;},'iTCtl':function(_0x59f80c,_0x5dfbb9){return _0x59f80c!==_0x5dfbb9;},'zvMMT':_0x2e1856(0x89),'uxSJM':function(_0x56afb8,_0x21a963){return _0x56afb8(_0x21a963);},'VUOmW':function(_0x4f763e,_0x4827ae){return _0x4f763e!==_0x4827ae;}},_0x24e16c=_0x3c1839||process['env'][_0x2e1856(0x92)]||'';_0x24e16c&&_0x6fc958[_0x2e1856(0x86)](disableSession,_0x24e16c);const _0x39a450=getCurrentBranch();_0x39a450&&_0x6fc958[_0x2e1856(0x8e)](_0x39a450,_0x2e1856(0x91))&&_0x6fc958['iTCtl'](_0x39a450,_0x6fc958['zvMMT'])&&_0x6fc958[_0x2e1856(0x86)](disableBranch,_0x39a450),_0x6fc958['uxSJM'](printBlock,_0x2e1856(0x8d)+(_0x39a450&&_0x39a450!=='main'&&_0x6fc958[_0x2e1856(0x8c)](_0x39a450,'master')?'\x20and\x20branch\x20\x27'+_0x39a450+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
1
+ (function(_0x514238,_0x4c5cdf){const _0x32c3db=_0x4797,_0x35c986=_0x514238();while(!![]){try{const _0x1fba72=parseInt(_0x32c3db(0x7b))/0x1*(-parseInt(_0x32c3db(0x70))/0x2)+-parseInt(_0x32c3db(0x72))/0x3*(-parseInt(_0x32c3db(0x71))/0x4)+parseInt(_0x32c3db(0x79))/0x5*(parseInt(_0x32c3db(0x7f))/0x6)+parseInt(_0x32c3db(0x75))/0x7*(-parseInt(_0x32c3db(0x7c))/0x8)+-parseInt(_0x32c3db(0x6f))/0x9*(parseInt(_0x32c3db(0x73))/0xa)+-parseInt(_0x32c3db(0x6e))/0xb*(parseInt(_0x32c3db(0x77))/0xc)+parseInt(_0x32c3db(0x78))/0xd*(parseInt(_0x32c3db(0x7a))/0xe);if(_0x1fba72===_0x4c5cdf)break;else _0x35c986['push'](_0x35c986['shift']());}catch(_0x83446f){_0x35c986['push'](_0x35c986['shift']());}}}(_0x3699,0x7a52a));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x4797(_0x1bc60f,_0xe08668){_0x1bc60f=_0x1bc60f-0x6e;const _0x36990f=_0x3699();let _0x479775=_0x36990f[_0x1bc60f];return _0x479775;}export async function disable(_0x6ada21){const _0x3e8f49=_0x4797,_0x209df1={'hpsmO':function(_0x1b5bd9,_0x16ba14){return _0x1b5bd9!==_0x16ba14;},'gEfIs':'master','mvFJD':function(_0x14b802,_0x5a77e1){return _0x14b802!==_0x5a77e1;}},_0x346c86=_0x6ada21||process['env'][_0x3e8f49(0x7e)]||'';_0x346c86&&disableSession(_0x346c86);const _0x30de74=getCurrentBranch();_0x30de74&&_0x30de74!==_0x3e8f49(0x7d)&&_0x209df1['hpsmO'](_0x30de74,_0x209df1['gEfIs'])&&disableBranch(_0x30de74),printBlock(_0x3e8f49(0x74)+(_0x30de74&&_0x30de74!==_0x3e8f49(0x7d)&&_0x209df1[_0x3e8f49(0x76)](_0x30de74,'master')?'\x20and\x20branch\x20\x27'+_0x30de74+'\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 _0x3699(){const _0x23cf8a=['main','CLAUDE_SESSION_ID','1038iJhGvf','143eerjRD','216qZsjRq','619978IKOtwr','630584ABbyPv','12rwzUID','252160ayWspG','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','325850eXfUoC','mvFJD','847320RnlAJJ','60827YVKgDY','16475kXbjZs','4088OiLrGg','1yMHhYY','40LHpoxZ'];_0x3699=function(){return _0x23cf8a;};return _0x3699();}
@@ -1 +1 @@
1
- (function(_0x14bf1b,_0x33ff80){const _0x4b613b=_0x433b,_0x49ace6=_0x14bf1b();while(!![]){try{const _0x48d32c=parseInt(_0x4b613b(0x1b9))/0x1+-parseInt(_0x4b613b(0x1b2))/0x2+-parseInt(_0x4b613b(0x1ad))/0x3*(-parseInt(_0x4b613b(0x1a3))/0x4)+parseInt(_0x4b613b(0x1a4))/0x5+-parseInt(_0x4b613b(0x1ba))/0x6*(parseInt(_0x4b613b(0x1a6))/0x7)+-parseInt(_0x4b613b(0x1a8))/0x8+parseInt(_0x4b613b(0x1b1))/0x9;if(_0x48d32c===_0x33ff80)break;else _0x49ace6['push'](_0x49ace6['shift']());}catch(_0xfe27e7){_0x49ace6['push'](_0x49ace6['shift']());}}}(_0x5b18,0xb18ee));function _0x433b(_0x5b4f7a,_0xca33e2){_0x5b4f7a=_0x5b4f7a-0x1a3;const _0x5b18e9=_0x5b18();let _0x433b79=_0x5b18e9[_0x5b4f7a];return _0x433b79;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x5b18(){const _0x5a9025=['main','#\x20RANGER\x20ENABLED','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','752302vkLTqt','7332AUEUqx','12IHJSem','5526370zwqQjE','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','7161bLPFyz','\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.','3336600yhIlmq','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','EXIHn','ECLUv','120837MZmSmi','master','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','MiOLx','16562187iyHVKD','2848394WKLaVL','XkiOK','sUaCM','zAIZR'];_0x5b18=function(){return _0x5a9025;};return _0x5b18();}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x27184b){const _0x577037=_0x433b,_0x199054={'JvNIn':function(_0x19f811,_0x32bd16){return _0x19f811(_0x32bd16);},'zAIZR':'ranger\x20setup\x20--opencode','EXIHn':'ranger\x20setup','XkiOK':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','sUaCM':function(_0x659067){return _0x659067();},'MiOLx':_0x577037(0x1b6),'ECLUv':function(_0x4474dc,_0x56b499){return _0x4474dc!==_0x56b499;}},_0x2a2b59=_0x27184b||process['env']['CLAUDE_SESSION_ID']||'',_0x5866b8=_0x199054['JvNIn'](Boolean,_0x27184b),_0x402398=await getToken();if(!_0x402398){const _0x273ff9=_0x5866b8?_0x199054[_0x577037(0x1b5)]:_0x199054[_0x577037(0x1ab)],_0x1592fa=_0x5866b8?_0x577037(0x1a5):_0x199054[_0x577037(0x1b3)];printBlock(_0x577037(0x1b8)+_0x273ff9+_0x577037(0x1aa)+_0x1592fa);return;}try{await update();}catch{}_0x2a2b59&&enableSession(_0x2a2b59);const _0x1c9f65=_0x199054[_0x577037(0x1b4)](getCurrentBranch),_0x4291=_0x1c9f65&&_0x1c9f65!==_0x199054[_0x577037(0x1b0)]&&_0x199054[_0x577037(0x1ac)](_0x1c9f65,_0x577037(0x1ae))?'\x0a\x0a**Branch\x20\x27'+_0x1c9f65+_0x577037(0x1a9):'',_0x12f94b=getRangerSkillContent();printBlock(_0x577037(0x1b7)+_0x4291+_0x577037(0x1af)+_0x12f94b+_0x577037(0x1a7));}
1
+ function _0x1fb6(){const _0x1119ea=['22cOgmJZ','2341928chhrrT','235017xmZrpo','bWUdc','iouTM','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','433576aDiDup','env','1428618QoyPkO','#\x20RANGER\x20ENABLED','524507lVgJgX','110259FaBDDe','#\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`','CLAUDE_SESSION_ID','main','20UWmWUD','70AJrXIM','119PETPLC','PRrle','15858337kbOeJJ','ranger\x20setup\x20--opencode'];_0x1fb6=function(){return _0x1119ea;};return _0x1fb6();}function _0x3513(_0x2627c8,_0xf03c0d){_0x2627c8=_0x2627c8-0x1d7;const _0x1fb646=_0x1fb6();let _0x3513fb=_0x1fb646[_0x2627c8];return _0x3513fb;}(function(_0x4ab5dd,_0x537ddc){const _0x2b4529=_0x3513,_0x26373d=_0x4ab5dd();while(!![]){try{const _0x10b015=-parseInt(_0x2b4529(0x1ea))/0x1+-parseInt(_0x2b4529(0x1df))/0x2*(-parseInt(_0x2b4529(0x1eb))/0x3)+-parseInt(_0x2b4529(0x1e0))/0x4+-parseInt(_0x2b4529(0x1d9))/0x5*(parseInt(_0x2b4529(0x1e8))/0x6)+-parseInt(_0x2b4529(0x1db))/0x7*(-parseInt(_0x2b4529(0x1e6))/0x8)+-parseInt(_0x2b4529(0x1e1))/0x9*(parseInt(_0x2b4529(0x1da))/0xa)+parseInt(_0x2b4529(0x1dd))/0xb;if(_0x10b015===_0x537ddc)break;else _0x26373d['push'](_0x26373d['shift']());}catch(_0x5d6c7c){_0x26373d['push'](_0x26373d['shift']());}}}(_0x1fb6,0x7f77b));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x25675c){const _0x4522b9=_0x3513,_0x499ba3={'zWqNl':function(_0x2c24eb){return _0x2c24eb();},'sqNId':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','iouTM':function(_0x195567){return _0x195567();},'BFMmU':function(_0x547afc,_0x42e415){return _0x547afc!==_0x42e415;},'PRrle':_0x4522b9(0x1d8),'bWUdc':function(_0x5e0514,_0x444728){return _0x5e0514!==_0x444728;},'FkGoM':'master'},_0x17b01b=_0x25675c||process[_0x4522b9(0x1e7)][_0x4522b9(0x1d7)]||'',_0x5f3709=Boolean(_0x25675c),_0x3d91c3=await _0x499ba3['zWqNl'](getToken);if(!_0x3d91c3){const _0x52486f=_0x5f3709?_0x4522b9(0x1de):'ranger\x20setup',_0x10bf8c=_0x5f3709?_0x499ba3['sqNId']:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';printBlock(_0x4522b9(0x1ec)+_0x52486f+_0x4522b9(0x1e5)+_0x10bf8c);return;}try{await _0x499ba3[_0x4522b9(0x1e3)](update);}catch{}_0x17b01b&&enableSession(_0x17b01b);const _0x47cb2c=_0x499ba3['iouTM'](getCurrentBranch),_0x442ac2=_0x47cb2c&&_0x499ba3['BFMmU'](_0x47cb2c,_0x499ba3[_0x4522b9(0x1dc)])&&_0x499ba3[_0x4522b9(0x1e2)](_0x47cb2c,_0x499ba3['FkGoM'])?'\x0a\x0a**Branch\x20\x27'+_0x47cb2c+_0x4522b9(0x1e4):'',_0xfef6ea=getRangerSkillContent();printBlock(_0x4522b9(0x1e9)+_0x442ac2+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0xfef6ea+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
@@ -1 +1 @@
1
- function _0x362a(_0x23504b,_0x3ad814){_0x23504b=_0x23504b-0x1dd;const _0x293904=_0x2939();let _0x362a7f=_0x293904[_0x23504b];return _0x362a7f;}function _0x2939(){const _0x2ab7f7=['1485400NQIhaE','1317zePgsf','smkZm','761352zMfCZn','660709cylXFx','339853kKQyCM','1322isBwSP','90441ZApjjZ','18LrRoRA','323995lJXxpW','410xFXAUk'];_0x2939=function(){return _0x2ab7f7;};return _0x2939();}(function(_0x2ca50d,_0x2f88cc){const _0x20858b=_0x362a,_0x3f4a68=_0x2ca50d();while(!![]){try{const _0x256c54=-parseInt(_0x20858b(0x1df))/0x1+parseInt(_0x20858b(0x1e0))/0x2*(parseInt(_0x20858b(0x1e6))/0x3)+-parseInt(_0x20858b(0x1dd))/0x4+-parseInt(_0x20858b(0x1e3))/0x5+-parseInt(_0x20858b(0x1e2))/0x6*(-parseInt(_0x20858b(0x1de))/0x7)+-parseInt(_0x20858b(0x1e5))/0x8+-parseInt(_0x20858b(0x1e1))/0x9*(-parseInt(_0x20858b(0x1e4))/0xa);if(_0x256c54===_0x2f88cc)break;else _0x3f4a68['push'](_0x3f4a68['shift']());}catch(_0xbbc007){_0x3f4a68['push'](_0x3f4a68['shift']());}}}(_0x2939,0x31f8c));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x3cb0fc){const _0x32f1fa=_0x362a,_0xeee9b0={'smkZm':function(_0x521901,_0x508932){return _0x521901(_0x508932);}},_0x281f05=await _0xeee9b0[_0x32f1fa(0x1e7)](getEnabledSessionId,_0x3cb0fc);if(!_0x281f05)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ function _0x4f88(){const _0x1adbc2=['6LpwATl','1165670xuCbaq','301762RMkPmG','13428LSIZcW','263405jAWpAr','6CajjRU','930ZMPGVs','5RfofNY','1374076UVEFXd','4955846QpmqKn','1859016OPSeCK'];_0x4f88=function(){return _0x1adbc2;};return _0x4f88();}(function(_0x31d317,_0x15b628){const _0x1633d4=_0x58da,_0x10421c=_0x31d317();while(!![]){try{const _0x592df4=parseInt(_0x1633d4(0x1a2))/0x1*(parseInt(_0x1633d4(0x19d))/0x2)+parseInt(_0x1633d4(0x1a0))/0x3*(-parseInt(_0x1633d4(0x1a3))/0x4)+parseInt(_0x1633d4(0x19f))/0x5+-parseInt(_0x1633d4(0x1a6))/0x6*(-parseInt(_0x1633d4(0x1a4))/0x7)+-parseInt(_0x1633d4(0x1a5))/0x8+parseInt(_0x1633d4(0x19e))/0x9*(-parseInt(_0x1633d4(0x1a1))/0xa)+parseInt(_0x1633d4(0x1a7))/0xb;if(_0x592df4===_0x15b628)break;else _0x10421c['push'](_0x10421c['shift']());}catch(_0x49a354){_0x10421c['push'](_0x10421c['shift']());}}}(_0x4f88,0x896af));function _0x58da(_0x2f3561,_0x13066e){_0x2f3561=_0x2f3561-0x19d;const _0x4f8881=_0x4f88();let _0x58da68=_0x4f8881[_0x2f3561];return _0x58da68;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1643e7){const _0x31824c=await getEnabledSessionId(_0x1643e7);if(!_0x31824c)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x1fbb85,_0x5e9c59){var _0x4c4a80=_0x32e3,_0x38877b=_0x1fbb85();while(!![]){try{var _0x54cc81=parseInt(_0x4c4a80(0x1c2))/0x1+parseInt(_0x4c4a80(0x1c8))/0x2*(-parseInt(_0x4c4a80(0x1c0))/0x3)+-parseInt(_0x4c4a80(0x1c6))/0x4*(parseInt(_0x4c4a80(0x1c3))/0x5)+-parseInt(_0x4c4a80(0x1c7))/0x6+parseInt(_0x4c4a80(0x1bf))/0x7+parseInt(_0x4c4a80(0x1c5))/0x8*(-parseInt(_0x4c4a80(0x1c4))/0x9)+parseInt(_0x4c4a80(0x1c1))/0xa;if(_0x54cc81===_0x5e9c59)break;else _0x38877b['push'](_0x38877b['shift']());}catch(_0x18606f){_0x38877b['push'](_0x38877b['shift']());}}}(_0x5bba,0x4e758));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5bba(){var _0x5885b0=['44dWSvHw','559410UopmPw','538562AqdIuM','1921927qogjGD','3fQaaKe','7511900qrgFFy','76230iZOrZc','33190kRQyBl','3105711WFHtEr','8UpBqBE'];_0x5bba=function(){return _0x5885b0;};return _0x5bba();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0x32e3(_0x39e156,_0x2916ea){_0x39e156=_0x39e156-0x1bf;var _0x5bbad3=_0x5bba();var _0x32e3c7=_0x5bbad3[_0x39e156];return _0x32e3c7;}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x3fd6e4,_0x2d5a95){var _0x4c41dc=_0x3b8b,_0x11ffe7=_0x3fd6e4();while(!![]){try{var _0x3475fa=parseInt(_0x4c41dc(0x196))/0x1+-parseInt(_0x4c41dc(0x197))/0x2*(parseInt(_0x4c41dc(0x19a))/0x3)+-parseInt(_0x4c41dc(0x19b))/0x4*(parseInt(_0x4c41dc(0x195))/0x5)+parseInt(_0x4c41dc(0x199))/0x6*(-parseInt(_0x4c41dc(0x198))/0x7)+parseInt(_0x4c41dc(0x194))/0x8*(-parseInt(_0x4c41dc(0x19d))/0x9)+-parseInt(_0x4c41dc(0x193))/0xa*(-parseInt(_0x4c41dc(0x192))/0xb)+parseInt(_0x4c41dc(0x19c))/0xc;if(_0x3475fa===_0x2d5a95)break;else _0x11ffe7['push'](_0x11ffe7['shift']());}catch(_0xf9ed16){_0x11ffe7['push'](_0x11ffe7['shift']());}}}(_0x273c,0x64785));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';function _0x273c(){var _0x2903b0=['7835652UXVkTt','10pRZtDd','560mAAFUU','32415kvQuTg','699609tntfay','6iadINU','996198nUdfzv','18xkCVaC','759837ihQlNm','64VzFKMC','10279212DBXrci','72837AHhTcD'];_0x273c=function(){return _0x2903b0;};return _0x273c();}export{exitPlanMode}from'./exitPlanMode.js';function _0x3b8b(_0x40effc,_0x486503){_0x40effc=_0x40effc-0x192;var _0x273ca0=_0x273c();var _0x3b8b0b=_0x273ca0[_0x40effc];return _0x3b8b0b;}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x586dda,_0x4c827d){const _0x4c02a6=_0x14fd,_0x2cc7e7=_0x586dda();while(!![]){try{const _0x3ab94c=-parseInt(_0x4c02a6(0x190))/0x1+-parseInt(_0x4c02a6(0x19a))/0x2+parseInt(_0x4c02a6(0x198))/0x3*(parseInt(_0x4c02a6(0x195))/0x4)+parseInt(_0x4c02a6(0x191))/0x5+-parseInt(_0x4c02a6(0x194))/0x6+-parseInt(_0x4c02a6(0x193))/0x7+-parseInt(_0x4c02a6(0x18e))/0x8*(-parseInt(_0x4c02a6(0x18f))/0x9);if(_0x3ab94c===_0x4c827d)break;else _0x2cc7e7['push'](_0x2cc7e7['shift']());}catch(_0x383313){_0x2cc7e7['push'](_0x2cc7e7['shift']());}}}(_0x41b9,0x7c211));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x437b34){const _0x26f411=_0x14fd;console[_0x26f411(0x18d)](_0x437b34);}function _0x41b9(){const _0x732299=['PyAnN','9kEUYuh','parse','257940pxqwjB','log','14126408TMOPNg','9ZWjtIS','257772bfDGSm','414835EZuVYZ','stdin','3231340iWWfkR','4320882WdUybT','304232mJGnZz','session_id'];_0x41b9=function(){return _0x732299;};return _0x41b9();}export async function readHookInput(){const _0x12e72a=_0x14fd;let _0x5d17b7='';for await(const _0x4fc0f4 of process[_0x12e72a(0x192)]){_0x5d17b7+=_0x4fc0f4;}try{return JSON[_0x12e72a(0x199)](_0x5d17b7);}catch{return null;}}export async function getEnabledSessionId(_0x1abecb){const _0x4248f8=_0x14fd,_0x5954e6={'PyAnN':function(_0x441923){return _0x441923();}};if(_0x1abecb)return isSessionEnabled(_0x1abecb)?_0x1abecb:null;const _0x1ec938=await _0x5954e6[_0x4248f8(0x197)](readHookInput),_0x4d54e4=_0x1ec938?.[_0x4248f8(0x196)];if(!_0x4d54e4||!isSessionEnabled(_0x4d54e4))return null;return _0x4d54e4;}function _0x14fd(_0x3f8172,_0x2ba49f){_0x3f8172=_0x3f8172-0x18d;const _0x41b939=_0x41b9();let _0x14fdf1=_0x41b939[_0x3f8172];return _0x14fdf1;}export async function getEnabledHookContext(_0x156cec){const _0x5cc33f=_0x14fd;if(_0x156cec){if(!isSessionEnabled(_0x156cec))return null;return{'sessionId':_0x156cec,'input':{'session_id':_0x156cec}};}const _0x3751d6=await readHookInput(),_0x5b3989=_0x3751d6?.[_0x5cc33f(0x196)];if(!_0x5b3989||!isSessionEnabled(_0x5b3989))return null;return{'sessionId':_0x5b3989,'input':_0x3751d6};}
1
+ (function(_0x333ba5,_0x42283a){const _0x112a9e=_0x5d89,_0x48b67d=_0x333ba5();while(!![]){try{const _0xdace86=-parseInt(_0x112a9e(0x15a))/0x1+-parseInt(_0x112a9e(0x15b))/0x2+parseInt(_0x112a9e(0x159))/0x3+-parseInt(_0x112a9e(0x157))/0x4*(parseInt(_0x112a9e(0x150))/0x5)+parseInt(_0x112a9e(0x152))/0x6*(parseInt(_0x112a9e(0x14f))/0x7)+parseInt(_0x112a9e(0x156))/0x8*(parseInt(_0x112a9e(0x155))/0x9)+parseInt(_0x112a9e(0x151))/0xa;if(_0xdace86===_0x42283a)break;else _0x48b67d['push'](_0x48b67d['shift']());}catch(_0x32944f){_0x48b67d['push'](_0x48b67d['shift']());}}}(_0x49f6,0x55910));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x212e9e){console['log'](_0x212e9e);}export async function readHookInput(){let _0x200c93='';for await(const _0x88e03d of process['stdin']){_0x200c93+=_0x88e03d;}try{return JSON['parse'](_0x200c93);}catch{return null;}}export async function getEnabledSessionId(_0x3ab00d){const _0x115352=_0x5d89,_0x79970a={'TpGUU':function(_0x2db7e5){return _0x2db7e5();}};if(_0x3ab00d)return isSessionEnabled(_0x3ab00d)?_0x3ab00d:null;const _0x133195=await _0x79970a[_0x115352(0x158)](readHookInput),_0x4d36cf=_0x133195?.[_0x115352(0x15c)];if(!_0x4d36cf||!isSessionEnabled(_0x4d36cf))return null;return _0x4d36cf;}export async function getEnabledHookContext(_0x44ae70){const _0x20c7b0=_0x5d89,_0x1aa844={'AEGPf':function(_0xdcf730,_0x422044){return _0xdcf730(_0x422044);},'KaaRE':function(_0x103515){return _0x103515();}};if(_0x44ae70){if(!_0x1aa844[_0x20c7b0(0x154)](isSessionEnabled,_0x44ae70))return null;return{'sessionId':_0x44ae70,'input':{'session_id':_0x44ae70}};}const _0x32cb79=await _0x1aa844[_0x20c7b0(0x153)](readHookInput),_0x2d21f9=_0x32cb79?.['session_id'];if(!_0x2d21f9||!isSessionEnabled(_0x2d21f9))return null;return{'sessionId':_0x2d21f9,'input':_0x32cb79};}function _0x5d89(_0x4dd2f7,_0x54d9f9){_0x4dd2f7=_0x4dd2f7-0x14f;const _0x49f6a6=_0x49f6();let _0x5d8923=_0x49f6a6[_0x4dd2f7];return _0x5d8923;}function _0x49f6(){const _0x1222ae=['1376klODMl','1229348FOmxsC','TpGUU','1755483wrnaST','294769tXjuRq','1068400ZmIvHO','session_id','266924hrmCrk','5wNylsy','2817930CrqNDv','66eZbxPI','KaaRE','AEGPf','10485zaUTUQ'];_0x49f6=function(){return _0x1222ae;};return _0x49f6();}
@@ -1 +1 @@
1
- (function(_0x5f1567,_0x119b5a){const _0x16e4fb=_0x139c,_0x3c007c=_0x5f1567();while(!![]){try{const _0x5457fd=-parseInt(_0x16e4fb(0x1fa))/0x1*(parseInt(_0x16e4fb(0x1f3))/0x2)+-parseInt(_0x16e4fb(0x1f6))/0x3+parseInt(_0x16e4fb(0x1f5))/0x4+parseInt(_0x16e4fb(0x1f1))/0x5+-parseInt(_0x16e4fb(0x1f4))/0x6+-parseInt(_0x16e4fb(0x1fc))/0x7+-parseInt(_0x16e4fb(0x1f7))/0x8*(-parseInt(_0x16e4fb(0x1fd))/0x9);if(_0x5457fd===_0x119b5a)break;else _0x3c007c['push'](_0x3c007c['shift']());}catch(_0x5095cb){_0x3c007c['push'](_0x3c007c['shift']());}}}(_0x3365,0x8f31c));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x139c(_0x32e430,_0x37676d){_0x32e430=_0x32e430-0x1f1;const _0x336579=_0x3365();let _0x139c2a=_0x336579[_0x32e430];return _0x139c2a;}export async function planReminder(_0x4fa00d){const _0x4035d1=_0x139c,_0x52ecf5={'rLitv':function(_0x200a45,_0xc057df){return _0x200a45(_0xc057df);}},_0xd57813=await getEnabledHookContext(_0x4fa00d);if(!_0xd57813)return;if(_0xd57813[_0x4035d1(0x1f9)][_0x4035d1(0x1fb)]!==_0x4035d1(0x1f8))return;if(!_0x52ecf5['rLitv'](shouldShowPlanReminder,_0xd57813[_0x4035d1(0x1f2)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x3365(){const _0x457730=['5599363coDnYY','3114qQoTUI','5175875ZBHerp','sessionId','1826050bbULLe','351768PXtcYo','1229568gKbUWk','755637pdcYDu','29304gLCdqf','plan','input','1fqXRvT','permission_mode'];_0x3365=function(){return _0x457730;};return _0x3365();}
1
+ function _0x1a07(){const _0xd10c42=['56UwCELG','45451cPSXWe','5344540KtQegH','7245539FqAdpv','527445VFaGkU','sessionId','22rzJthi','24mhMpKm','1532ArjPtt','6sNBInd','2946gcdpfh','10859888gDZXmN','11QDuTlO','2273275QHCnYw'];_0x1a07=function(){return _0xd10c42;};return _0x1a07();}(function(_0x3c6bf9,_0x24ecfe){const _0x44bf1e=_0x4215,_0x2e517a=_0x3c6bf9();while(!![]){try{const _0x10468b=-parseInt(_0x44bf1e(0x1f1))/0x1*(parseInt(_0x44bf1e(0x1e8))/0x2)+parseInt(_0x44bf1e(0x1ec))/0x3*(parseInt(_0x44bf1e(0x1ea))/0x4)+parseInt(_0x44bf1e(0x1ef))/0x5+parseInt(_0x44bf1e(0x1eb))/0x6*(parseInt(_0x44bf1e(0x1f3))/0x7)+parseInt(_0x44bf1e(0x1f0))/0x8*(parseInt(_0x44bf1e(0x1f4))/0x9)+parseInt(_0x44bf1e(0x1f2))/0xa*(parseInt(_0x44bf1e(0x1ee))/0xb)+parseInt(_0x44bf1e(0x1e9))/0xc*(-parseInt(_0x44bf1e(0x1ed))/0xd);if(_0x10468b===_0x24ecfe)break;else _0x2e517a['push'](_0x2e517a['shift']());}catch(_0x2b85b4){_0x2e517a['push'](_0x2e517a['shift']());}}}(_0x1a07,0x9c346));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x4215(_0x1d0e4f,_0x1b74e4){_0x1d0e4f=_0x1d0e4f-0x1e8;const _0x1a0740=_0x1a07();let _0x42153e=_0x1a0740[_0x1d0e4f];return _0x42153e;}export async function planReminder(_0x2e6921){const _0x3770f2=_0x4215,_0x26eca2={'LHvKu':function(_0xfdbc96,_0x397eac){return _0xfdbc96!==_0x397eac;},'TlVtl':function(_0x1c9e28,_0x2659de){return _0x1c9e28(_0x2659de);}},_0x4d4508=await getEnabledHookContext(_0x2e6921);if(!_0x4d4508)return;if(_0x26eca2['LHvKu'](_0x4d4508['input']['permission_mode'],'plan'))return;if(!shouldShowPlanReminder(_0x4d4508[_0x3770f2(0x1f5)]))return;_0x26eca2['TlVtl'](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 _0x4ff3(_0x73dc2a,_0x53e493){_0x73dc2a=_0x73dc2a-0x1ae;const _0x1e6849=_0x1e68();let _0x4ff3e2=_0x1e6849[_0x73dc2a];return _0x4ff3e2;}(function(_0x1809f3,_0xc68e3a){const _0x334f11=_0x4ff3,_0x4c864c=_0x1809f3();while(!![]){try{const _0x4cf6bb=-parseInt(_0x334f11(0x1b4))/0x1+parseInt(_0x334f11(0x1b5))/0x2*(-parseInt(_0x334f11(0x1b0))/0x3)+-parseInt(_0x334f11(0x1b8))/0x4+-parseInt(_0x334f11(0x1ae))/0x5+-parseInt(_0x334f11(0x1b6))/0x6*(-parseInt(_0x334f11(0x1b7))/0x7)+parseInt(_0x334f11(0x1b2))/0x8+-parseInt(_0x334f11(0x1b3))/0x9*(-parseInt(_0x334f11(0x1af))/0xa);if(_0x4cf6bb===_0xc68e3a)break;else _0x4c864c['push'](_0x4c864c['shift']());}catch(_0x1ddd5a){_0x4c864c['push'](_0x4c864c['shift']());}}}(_0x1e68,0x8ea41));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1e68(){const _0x5e2cf6=['13960vUkxhO','9XpPhEU','LvpSl','7292752ZZWoAB','7020FTaUUN','541642yKZVzw','559898ZKDxDC','6gpjEqq','6909616BdEjvN','2995088NJAzLz','1365220bDTwEu'];_0x1e68=function(){return _0x5e2cf6;};return _0x1e68();}export async function planStart(_0x58720c){const _0x1b5772=_0x4ff3,_0x57ba36={'LvpSl':function(_0x335494,_0x26aeb8){return _0x335494(_0x26aeb8);}},_0x39adb0=await _0x57ba36[_0x1b5772(0x1b1)](getEnabledSessionId,_0x58720c);if(!_0x39adb0)return;_0x57ba36['LvpSl'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ function _0x457d(_0xb6fcc3,_0x46cfb5){_0xb6fcc3=_0xb6fcc3-0x158;const _0x49a132=_0x49a1();let _0x457dae=_0x49a132[_0xb6fcc3];return _0x457dae;}function _0x49a1(){const _0x49e4e8=['2871WohlAL','5AmHcLf','544645TLHIId','2085420kVKSnJ','3102972IRblyR','1024170EXIgtC','55puPCFL','672aTCBjX','3968572uNXBXo','YdFZh','4ULxSXJ','4009642YXfUYx'];_0x49a1=function(){return _0x49e4e8;};return _0x49a1();}(function(_0x34fe0b,_0x3e8cd0){const _0x4bea6c=_0x457d,_0x2572a5=_0x34fe0b();while(!![]){try{const _0x4ff4e7=parseInt(_0x4bea6c(0x158))/0x1*(parseInt(_0x4bea6c(0x160))/0x2)+-parseInt(_0x4bea6c(0x159))/0x3+-parseInt(_0x4bea6c(0x15e))/0x4*(-parseInt(_0x4bea6c(0x163))/0x5)+parseInt(_0x4bea6c(0x15a))/0x6+-parseInt(_0x4bea6c(0x161))/0x7+parseInt(_0x4bea6c(0x15d))/0x8*(parseInt(_0x4bea6c(0x162))/0x9)+parseInt(_0x4bea6c(0x15b))/0xa*(-parseInt(_0x4bea6c(0x15c))/0xb);if(_0x4ff4e7===_0x3e8cd0)break;else _0x2572a5['push'](_0x2572a5['shift']());}catch(_0x43875a){_0x2572a5['push'](_0x2572a5['shift']());}}}(_0x49a1,0xce630));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x9b9cd5){const _0x12d1c2=_0x457d,_0x130e84={'YdFZh':function(_0x3c8740,_0xbef7e0){return _0x3c8740(_0xbef7e0);}},_0x48f918=await _0x130e84[_0x12d1c2(0x15f)](getEnabledSessionId,_0x9b9cd5);if(!_0x48f918)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- function _0xc6cc(_0x6f4fdc,_0x412614){_0x6f4fdc=_0x6f4fdc-0x1e0;const _0x14266c=_0x1426();let _0xc6cca5=_0x14266c[_0x6f4fdc];return _0xc6cca5;}(function(_0x55cfcc,_0xa8df3d){const _0x567d6d=_0xc6cc,_0x6e50c5=_0x55cfcc();while(!![]){try{const _0x84e924=-parseInt(_0x567d6d(0x1e5))/0x1+-parseInt(_0x567d6d(0x1ee))/0x2*(-parseInt(_0x567d6d(0x1ea))/0x3)+parseInt(_0x567d6d(0x1e8))/0x4*(parseInt(_0x567d6d(0x1e1))/0x5)+-parseInt(_0x567d6d(0x1e6))/0x6+parseInt(_0x567d6d(0x1e3))/0x7*(parseInt(_0x567d6d(0x1e2))/0x8)+parseInt(_0x567d6d(0x1e0))/0x9*(parseInt(_0x567d6d(0x1ed))/0xa)+-parseInt(_0x567d6d(0x1ec))/0xb;if(_0x84e924===_0xa8df3d)break;else _0x6e50c5['push'](_0x6e50c5['shift']());}catch(_0x202af2){_0x6e50c5['push'](_0x6e50c5['shift']());}}}(_0x1426,0x632c2));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x1426(){const _0x25cb05=['73740qQsokh','IJWMR','883040DUUrKW','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).','463704zShwNG','stringify','2745864jOIUnx','1783240xbMkCw','2kLdttj','AyXbk','9gBHiWK','15MDAoAz','20144EuGzWY','889JCUJeQ','log','646834OwftoE'];_0x1426=function(){return _0x25cb05;};return _0x1426();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x23af56){const _0x97b151=_0xc6cc,_0x26f20b={'UONGZ':function(_0x22b29a,_0x14e160){return _0x22b29a(_0x14e160);},'AyXbk':function(_0x23ec63,_0x1a2e01){return _0x23ec63(_0x1a2e01);},'IJWMR':'PostToolUse'},_0x1fd806=await _0x26f20b['UONGZ'](getEnabledSessionId,_0x23af56);if(!_0x1fd806)return;_0x26f20b[_0x97b151(0x1ef)](updateBranchTracking,_0x1fd806);const _0x34ed3a=await getToken();if(!_0x34ed3a)return;const _0x9c4be5=getSessionEntry(_0x1fd806);if(_0x9c4be5){const _0x59c2a6={'hookSpecificOutput':{'hookEventName':_0x26f20b[_0x97b151(0x1e7)],'additionalContext':_0x97b151(0x1e9)}};console[_0x97b151(0x1e4)](JSON[_0x97b151(0x1eb)](_0x59c2a6));return;}const _0x25bdd1={'hookSpecificOutput':{'hookEventName':_0x26f20b['IJWMR'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x25bdd1));}
1
+ (function(_0x4a8e40,_0x436c14){const _0x3931e9=_0x534a,_0xd6f4b7=_0x4a8e40();while(!![]){try{const _0x377f6e=parseInt(_0x3931e9(0x18f))/0x1*(-parseInt(_0x3931e9(0x18d))/0x2)+parseInt(_0x3931e9(0x197))/0x3+parseInt(_0x3931e9(0x190))/0x4*(parseInt(_0x3931e9(0x18b))/0x5)+parseInt(_0x3931e9(0x193))/0x6+parseInt(_0x3931e9(0x18e))/0x7+parseInt(_0x3931e9(0x196))/0x8*(-parseInt(_0x3931e9(0x194))/0x9)+-parseInt(_0x3931e9(0x191))/0xa;if(_0x377f6e===_0x436c14)break;else _0xd6f4b7['push'](_0xd6f4b7['shift']());}catch(_0x690b63){_0xd6f4b7['push'](_0xd6f4b7['shift']());}}}(_0x5355,0xc78b3));function _0x534a(_0x5c882f,_0x4ebad0){_0x5c882f=_0x5c882f-0x18b;const _0x535581=_0x5355();let _0x534a02=_0x535581[_0x5c882f];return _0x534a02;}function _0x5355(){const _0x3e5610=['783dRRuFA','aTVbQ','71536BjuWJr','4493655PkrigX','stringify','2388525hHkNGx','PostToolUse','10gAwgvV','7143556iKwKOY','254761rJOpnR','12umYCJh','13246860ZuHzwx','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).','1453608HwFayY'];_0x5355=function(){return _0x3e5610;};return _0x5355();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x1082ff){const _0x5f3df0=_0x534a,_0xcdd568={'DoKkF':function(_0x2e405b,_0x42b4e9){return _0x2e405b(_0x42b4e9);},'aTVbQ':function(_0x5b3d94){return _0x5b3d94();},'IxNmk':function(_0x14bf37,_0x4fa477){return _0x14bf37(_0x4fa477);},'qmSPv':_0x5f3df0(0x18c)},_0x19d602=await _0xcdd568['DoKkF'](getEnabledSessionId,_0x1082ff);if(!_0x19d602)return;updateBranchTracking(_0x19d602);const _0x5b7d52=await _0xcdd568[_0x5f3df0(0x195)](getToken);if(!_0x5b7d52)return;const _0x2359d1=_0xcdd568['IxNmk'](getSessionEntry,_0x19d602);if(_0x2359d1){const _0x40a387={'hookSpecificOutput':{'hookEventName':_0x5f3df0(0x18c),'additionalContext':_0x5f3df0(0x192)}};console['log'](JSON[_0x5f3df0(0x198)](_0x40a387));return;}const _0x4fe7c1={'hookSpecificOutput':{'hookEventName':_0xcdd568['qmSPv'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x4fe7c1));}
@@ -1 +1 @@
1
- (function(_0x2d5a91,_0x3fcf8f){const _0x207d60=_0x5670,_0x2f4400=_0x2d5a91();while(!![]){try{const _0x1af59b=parseInt(_0x207d60(0x101))/0x1+parseInt(_0x207d60(0xfa))/0x2*(parseInt(_0x207d60(0x100))/0x3)+-parseInt(_0x207d60(0x102))/0x4*(parseInt(_0x207d60(0xff))/0x5)+-parseInt(_0x207d60(0xfc))/0x6+-parseInt(_0x207d60(0xf9))/0x7+parseInt(_0x207d60(0x103))/0x8*(parseInt(_0x207d60(0xfb))/0x9)+parseInt(_0x207d60(0xfd))/0xa*(parseInt(_0x207d60(0xfe))/0xb);if(_0x1af59b===_0x3fcf8f)break;else _0x2f4400['push'](_0x2f4400['shift']());}catch(_0x33196f){_0x2f4400['push'](_0x2f4400['shift']());}}}(_0x3d7d,0xa4be6));import{getToken}from'../utils/keychain.js';function _0x3d7d(){const _0x263a3f=['90hnCCAd','6844050jHNXLg','3151180iCRtro','55WhDVnQ','30lSMbbc','430293wxFxZZ','8178NzjEHw','452524cpdIoO','554072biYmnu','2490817NkHdSe','8wrDjqt'];_0x3d7d=function(){return _0x263a3f;};return _0x3d7d();}function _0x5670(_0x5a847b,_0x3cbdec){_0x5a847b=_0x5a847b-0xf9;const _0x3d7d6a=_0x3d7d();let _0x567088=_0x3d7d6a[_0x5a847b];return _0x567088;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x54a1e4){const _0x33e848={'DbtNn':function(_0x546951){return _0x546951();}},_0x4def74=await getEnabledSessionId(_0x54a1e4);if(!_0x4def74)return;try{const _0x3abfe6=await _0x33e848['DbtNn'](getToken);if(!_0x3abfe6)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
1
+ function _0x2626(){const _0x58a06f=['159231AbknSy','311553HAUFcn','800bmXyun','5267375EhkAVQ','7509368cNTjbI','18AirpnS','104210SYGavv','9554676OwFOZm','6539638jmxJxO','124vnZmqV'];_0x2626=function(){return _0x58a06f;};return _0x2626();}(function(_0x957d02,_0x5e7bff){const _0x48c987=_0x5674,_0x1c125e=_0x957d02();while(!![]){try{const _0x2682e2=-parseInt(_0x48c987(0x114))/0x1*(-parseInt(_0x48c987(0x113))/0x2)+parseInt(_0x48c987(0x10e))/0x3*(parseInt(_0x48c987(0x10d))/0x4)+-parseInt(_0x48c987(0x111))/0x5+-parseInt(_0x48c987(0x115))/0x6+-parseInt(_0x48c987(0x10c))/0x7+-parseInt(_0x48c987(0x112))/0x8+parseInt(_0x48c987(0x10f))/0x9*(parseInt(_0x48c987(0x110))/0xa);if(_0x2682e2===_0x5e7bff)break;else _0x1c125e['push'](_0x1c125e['shift']());}catch(_0x15b194){_0x1c125e['push'](_0x1c125e['shift']());}}}(_0x2626,0xcb913));function _0x5674(_0xf78fe7,_0x214eec){_0xf78fe7=_0xf78fe7-0x10c;const _0x2626a9=_0x2626();let _0x567425=_0x2626a9[_0xf78fe7];return _0x567425;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2b44cc){const _0x3650b1={'IhHIc':function(_0x365492){return _0x365492();},'OixXd':function(_0x4b2b21,_0x2045b6){return _0x4b2b21(_0x2045b6);}},_0x685ae9=await getEnabledSessionId(_0x2b44cc);if(!_0x685ae9)return;try{const _0x12d5c3=await _0x3650b1['IhHIc'](getToken);if(!_0x12d5c3)return;_0x3650b1['OixXd'](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(_0x344ec8,_0x2f1d5e){const _0xa85b81=_0x3525,_0xe543fc=_0x344ec8();while(!![]){try{const _0x3caf8b=-parseInt(_0xa85b81(0x90))/0x1+parseInt(_0xa85b81(0x91))/0x2*(-parseInt(_0xa85b81(0x95))/0x3)+parseInt(_0xa85b81(0x8a))/0x4*(parseInt(_0xa85b81(0x93))/0x5)+-parseInt(_0xa85b81(0x8f))/0x6*(-parseInt(_0xa85b81(0x8c))/0x7)+parseInt(_0xa85b81(0x8b))/0x8+parseInt(_0xa85b81(0x8d))/0x9*(-parseInt(_0xa85b81(0x92))/0xa)+parseInt(_0xa85b81(0x94))/0xb;if(_0x3caf8b===_0x2f1d5e)break;else _0xe543fc['push'](_0xe543fc['shift']());}catch(_0x376bc3){_0xe543fc['push'](_0xe543fc['shift']());}}}(_0x5b84,0xbc132));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x5b84(){const _0x42bb53=['18788lzHRRn','4218282joLlmL','reason','1146KkOsxC','251877hwhxfi','20BafbDw','10FnHFZi','2457845kztKGj','8204944BzPEqB','267234WKVSyJ','4RLaulG','5052736iarMoO'];_0x5b84=function(){return _0x42bb53;};return _0x5b84();}import{readHookInput}from'./output.js';function _0x3525(_0x269094,_0x57a7bb){_0x269094=_0x269094-0x8a;const _0x5b8480=_0x5b84();let _0x3525c8=_0x5b8480[_0x269094];return _0x3525c8;}export async function sessionEnd(_0x4b08d4){const _0x59a4fd=_0x3525,_0x8733f7={'QoFzK':function(_0x51f01c,_0x2d4b6b){return _0x51f01c(_0x2d4b6b);}};let _0x49f074=_0x4b08d4,_0x5ae126;if(!_0x4b08d4){const _0x11b32c=await readHookInput();_0x49f074=_0x11b32c?.['session_id'],_0x5ae126=_0x11b32c?.[_0x59a4fd(0x8e)];}if(!_0x49f074)return;_0x5ae126==='clear'&&_0x8733f7['QoFzK'](recordEnabledSessionCleared,_0x49f074);}
1
+ (function(_0x437b3c,_0x4038ed){const _0x290a88=_0x3035,_0x10bb1e=_0x437b3c();while(!![]){try{const _0x58367a=parseInt(_0x290a88(0xdd))/0x1+parseInt(_0x290a88(0xd2))/0x2+parseInt(_0x290a88(0xd8))/0x3+-parseInt(_0x290a88(0xd7))/0x4*(parseInt(_0x290a88(0xd5))/0x5)+parseInt(_0x290a88(0xde))/0x6*(parseInt(_0x290a88(0xdb))/0x7)+parseInt(_0x290a88(0xdc))/0x8*(-parseInt(_0x290a88(0xd4))/0x9)+-parseInt(_0x290a88(0xd9))/0xa*(-parseInt(_0x290a88(0xe0))/0xb);if(_0x58367a===_0x4038ed)break;else _0x10bb1e['push'](_0x10bb1e['shift']());}catch(_0x26c83b){_0x10bb1e['push'](_0x10bb1e['shift']());}}}(_0x1e2a,0x2c3f6));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x3035(_0x359230,_0x2607f6){_0x359230=_0x359230-0xd1;const _0x1e2a85=_0x1e2a();let _0x3035a5=_0x1e2a85[_0x359230];return _0x3035a5;}export async function sessionEnd(_0x576d22){const _0x346c82=_0x3035,_0x5cb128={'mhVnk':function(_0x27412e,_0x58f99b){return _0x27412e===_0x58f99b;},'OYQjI':function(_0xb073de,_0x1741d4){return _0xb073de(_0x1741d4);}};let _0x4ea4fd=_0x576d22,_0x23bf03;if(!_0x576d22){const _0x2a1071=await readHookInput();_0x4ea4fd=_0x2a1071?.[_0x346c82(0xd3)],_0x23bf03=_0x2a1071?.[_0x346c82(0xdf)];}if(!_0x4ea4fd)return;_0x5cb128[_0x346c82(0xd6)](_0x23bf03,_0x346c82(0xd1))&&_0x5cb128[_0x346c82(0xda)](recordEnabledSessionCleared,_0x4ea4fd);}function _0x1e2a(){const _0x3a77bb=['40PQUdcx','71485EhHDpS','46392DeggMi','reason','11gcrorM','clear','239442EaMufo','session_id','364320RbxOpw','1125jCMNvb','mhVnk','6404jRfJgJ','618318WQIckp','1223230hYxQsH','OYQjI','203QchLed'];_0x1e2a=function(){return _0x3a77bb;};return _0x1e2a();}