@ranger-testing/ranger-cli 2.4.5 → 2.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/agentEnv.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  38. package/build/commands/utils/claudePlugin.js +1 -1
  39. package/build/commands/utils/crypto.js +1 -1
  40. package/build/commands/utils/desirePathLog.js +1 -1
  41. package/build/commands/utils/deviceAuth.js +1 -1
  42. package/build/commands/utils/environment.js +1 -1
  43. package/build/commands/utils/featureApi.js +1 -1
  44. package/build/commands/utils/featureReportGenerator.js +1 -1
  45. package/build/commands/utils/fixWebmDuration.js +1 -1
  46. package/build/commands/utils/git.js +1 -1
  47. package/build/commands/utils/keychain.js +1 -1
  48. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  49. package/build/commands/utils/mcpImageBase64.js +1 -1
  50. package/build/commands/utils/model.js +1 -1
  51. package/build/commands/utils/opencodeConfig.js +1 -1
  52. package/build/commands/utils/playwrightCli.js +1 -1
  53. package/build/commands/utils/profileMessages.js +1 -1
  54. package/build/commands/utils/profileSetupBanner.js +1 -1
  55. package/build/commands/utils/rangerConfig.js +1 -1
  56. package/build/commands/utils/rangerRoot.js +1 -1
  57. package/build/commands/utils/reportGenerator.js +1 -1
  58. package/build/commands/utils/retry.js +1 -1
  59. package/build/commands/utils/sessionCache.js +1 -1
  60. package/build/commands/utils/settings.js +1 -1
  61. package/build/commands/utils/skillContent.js +1 -1
  62. package/build/commands/utils/skills.js +1 -1
  63. package/build/commands/utils/stitchWebmFiles.js +1 -1
  64. package/build/commands/utils/telemetry.js +1 -1
  65. package/build/commands/utils/tokenRefresh.js +1 -1
  66. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  67. package/build/commands/utils/userApi.js +1 -1
  68. package/build/commands/utils/version.js +1 -1
  69. package/build/commands/verifyFeature.js +1 -1
  70. package/build/commands/verifyFeatureCli.js +1 -1
  71. package/build/commands/verifyInBrowser.js +1 -1
  72. package/build/skills/ranger/SKILL.md +38 -41
  73. package/build/skills/ranger/create.md +5 -13
  74. package/build/skills/ranger/feedback.md +3 -3
  75. package/build/skills/ranger/start.md +13 -13
  76. package/build/skills/ranger/verify.md +15 -28
  77. package/package.json +5 -3
  78. package/scripts/postinstall.js +4 -1
@@ -1 +1 @@
1
- const _0x1397c5=_0x538d;(function(_0x339a2b,_0xc7e312){const _0x30ec4a=_0x538d,_0x5d6187=_0x339a2b();while(!![]){try{const _0x1530ba=parseInt(_0x30ec4a(0xa6))/0x1+parseInt(_0x30ec4a(0xb5))/0x2*(parseInt(_0x30ec4a(0xad))/0x3)+parseInt(_0x30ec4a(0xb8))/0x4+parseInt(_0x30ec4a(0xa5))/0x5*(-parseInt(_0x30ec4a(0xab))/0x6)+parseInt(_0x30ec4a(0xba))/0x7*(-parseInt(_0x30ec4a(0xa1))/0x8)+parseInt(_0x30ec4a(0xbf))/0x9+parseInt(_0x30ec4a(0xac))/0xa*(-parseInt(_0x30ec4a(0xa8))/0xb);if(_0x1530ba===_0xc7e312)break;else _0x5d6187['push'](_0x5d6187['shift']());}catch(_0x5f467d){_0x5d6187['push'](_0x5d6187['shift']());}}}(_0x45f7,0x84cdf));import{existsSync}from'fs';function _0x45f7(){const _0x567b7e=['includes','4EaUejP','SGgLo','XHeJC','1062404NJQVik','acqCo','4636919KaUKMk','Profile\x20\x22','brHwc','dKhvm','No\x20configuration\x20set\x20for\x20\x22','3475692lRKZec','allowInsecureLocalhost','8nCrFRU','\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20','MICcL','IgyeF','5ZcLJqN','959555yqAVNK','NybTL','737PSVPxw','AFFIf','object','6373266QRZDcY','20910SVZsIh','1196022oiEKke','Key\x20\x22','log','\x22\x20not\x20found','stringify','\x22\x20does\x20not\x20exist.','uHAPb'];_0x45f7=function(){return _0x567b7e;};return _0x45f7();}import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x1397c5(0xa0)];function parseValue(_0x218adf,_0x1c5718){const _0x2c8996=_0x1397c5,_0x4f45e6={'SGgLo':'true','qRMrP':function(_0x11d0c0,_0x1eb822){return _0x11d0c0===_0x1eb822;}};if(BOOLEAN_KEYS[_0x2c8996(0xb4)](_0x218adf)){if(_0x1c5718===_0x4f45e6[_0x2c8996(0xb6)])return!![];if(_0x4f45e6['qRMrP'](_0x1c5718,'false'))return![];throw new Error('Invalid\x20value\x20for\x20'+_0x218adf+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x1c5718;}function _0x538d(_0x46c8e8,_0x3fa9a9){_0x46c8e8=_0x46c8e8-0xa0;const _0x45f745=_0x45f7();let _0x538d33=_0x45f745[_0x46c8e8];return _0x538d33;}export async function configSet(_0x504dc5,_0x5b542b,_0x51e2dd){const _0x32674a=_0x1397c5,_0x3322c4={'IgyeF':function(_0x2d36bd,_0x1c7cd0){return _0x2d36bd(_0x1c7cd0);},'XHeJC':function(_0x5259dd,_0xd6d773,_0x100205){return _0x5259dd(_0xd6d773,_0x100205);},'VHjhu':function(_0x258285,_0x11d8ec,_0x452144,_0x3d0da8){return _0x258285(_0x11d8ec,_0x452144,_0x3d0da8);}},_0x2ac97f=getEnvDir(_0x504dc5);if(!existsSync(_0x2ac97f))throw new Error(_0x32674a(0xbb)+_0x504dc5+_0x32674a(0xa2)+_0x504dc5);const _0x34102d=await _0x3322c4[_0x32674a(0xa4)](loadSettings,_0x504dc5),_0x1adba8=_0x3322c4[_0x32674a(0xb7)](parseValue,_0x5b542b,_0x51e2dd);_0x3322c4['VHjhu'](setNestedValue,_0x34102d,_0x5b542b,_0x1adba8),await saveSettings(_0x504dc5,_0x34102d),console['log']('Set\x20'+_0x5b542b+'\x20=\x20'+_0x1adba8);}export async function configGet(_0x138c58,_0x2ca0fd){const _0x119b73=_0x1397c5,_0x557959={'OMXdl':function(_0x5ed86b,_0x48fd7e){return _0x5ed86b(_0x48fd7e);},'NybTL':function(_0x162640,_0xa81d16){return _0x162640(_0xa81d16);},'MICcL':function(_0x2cd98a,_0x1cffbc,_0x4517ed){return _0x2cd98a(_0x1cffbc,_0x4517ed);},'brHwc':function(_0x44b66d,_0x549870){return _0x44b66d===_0x549870;},'tethC':_0x119b73(0xaa)},_0x1a73b2=getEnvDir(_0x138c58);if(!_0x557959['OMXdl'](existsSync,_0x1a73b2))throw new Error('Profile\x20\x22'+_0x138c58+_0x119b73(0xb2));const _0x3f8161=await _0x557959[_0x119b73(0xa7)](loadSettings,_0x138c58),_0x2cf653=_0x557959[_0x119b73(0xa3)](getNestedValue,_0x3f8161,_0x2ca0fd);if(_0x2cf653===undefined)console[_0x119b73(0xaf)]('(not\x20set)');else _0x557959[_0x119b73(0xbc)](typeof _0x2cf653,_0x557959['tethC'])?console['log'](JSON[_0x119b73(0xb1)](_0x2cf653,null,0x2)):console['log'](_0x2cf653);}export async function configList(_0x37b812){const _0xd5926e=_0x1397c5,_0x467f65={'tlNfE':function(_0x20dacc,_0x578fec){return _0x20dacc(_0x578fec);},'AFFIf':function(_0x4b4ab1,_0x193bdd){return _0x4b4ab1(_0x193bdd);},'uHAPb':function(_0x1701ca,_0x41aa4e){return _0x1701ca(_0x41aa4e);}},_0x42bce7=_0x467f65['tlNfE'](getSettingsPath,_0x37b812);if(!_0x467f65[_0xd5926e(0xa9)](existsSync,_0x42bce7)){const _0x2e8fe0=_0x467f65[_0xd5926e(0xb3)](getEnvDir,_0x37b812);if(!_0x467f65['uHAPb'](existsSync,_0x2e8fe0))throw new Error(_0xd5926e(0xbb)+_0x37b812+'\x22\x20does\x20not\x20exist.');console[_0xd5926e(0xaf)](_0xd5926e(0xbe)+_0x37b812+'\x22');return;}const _0x56b495=await _0x467f65['tlNfE'](loadSettings,_0x37b812),_0x21b4e0=_0x467f65[_0xd5926e(0xa9)](formatSettings,_0x56b495);!_0x21b4e0?console[_0xd5926e(0xaf)](_0xd5926e(0xbe)+_0x37b812+'\x22'):console['log'](_0x21b4e0);}export async function configUnset(_0xf346f1,_0x1063a7){const _0x2bb041=_0x1397c5,_0x4f9679={'dKhvm':function(_0x5e030f,_0x194634){return _0x5e030f(_0x194634);},'acqCo':function(_0x3d5718,_0x541f5b,_0x3599b2){return _0x3d5718(_0x541f5b,_0x3599b2);}},_0x5159bd=getEnvDir(_0xf346f1);if(!_0x4f9679[_0x2bb041(0xbd)](existsSync,_0x5159bd))throw new Error('Profile\x20\x22'+_0xf346f1+'\x22\x20does\x20not\x20exist.');const _0x45466f=await loadSettings(_0xf346f1),_0x2beff0=_0x4f9679[_0x2bb041(0xb9)](deleteNestedValue,_0x45466f,_0x1063a7);_0x2beff0?(await saveSettings(_0xf346f1,_0x45466f),console[_0x2bb041(0xaf)]('Removed\x20'+_0x1063a7)):console['log'](_0x2bb041(0xae)+_0x1063a7+_0x2bb041(0xb0));}
1
+ const _0xfc8fbd=_0x19dc;(function(_0x5c19db,_0xc5a03c){const _0x25da17=_0x19dc,_0x254e96=_0x5c19db();while(!![]){try{const _0x3ff7a3=parseInt(_0x25da17(0x13a))/0x1*(-parseInt(_0x25da17(0x14d))/0x2)+-parseInt(_0x25da17(0x142))/0x3+parseInt(_0x25da17(0x13e))/0x4+-parseInt(_0x25da17(0x13b))/0x5*(-parseInt(_0x25da17(0x14a))/0x6)+-parseInt(_0x25da17(0x14c))/0x7*(parseInt(_0x25da17(0x143))/0x8)+-parseInt(_0x25da17(0x13d))/0x9+-parseInt(_0x25da17(0x147))/0xa*(-parseInt(_0x25da17(0x13c))/0xb);if(_0x3ff7a3===_0xc5a03c)break;else _0x254e96['push'](_0x254e96['shift']());}catch(_0x5eef24){_0x254e96['push'](_0x254e96['shift']());}}}(_0x5f41,0x42053));import{existsSync}from'fs';function _0x5f41(){const _0x2de316=['982296btVset','1928992dqyFsx',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','stringify','Profile\x20\x22','1529517hmoZKG','8FpCHZm','xncED','\x22\x20does\x20not\x20exist.','No\x20configuration\x20set\x20for\x20\x22','1610bohUgy','ehvQI','tOgNs','168WhsBWA','ECOSa','1683199vVyHKr','23434VwPTvP','log','includes','true','allowInsecureLocalhost','false','(not\x20set)','34QiCdyW','96020WzBvfQ','34727ooFauc'];_0x5f41=function(){return _0x2de316;};return _0x5f41();}import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0xfc8fbd(0x151)];function parseValue(_0x383bfc,_0x102e72){const _0x5c82b6=_0xfc8fbd,_0x2a2a75={'JsARZ':function(_0x714eb,_0x1e3c09){return _0x714eb===_0x1e3c09;},'ECOSa':_0x5c82b6(0x150)};if(BOOLEAN_KEYS[_0x5c82b6(0x14f)](_0x383bfc)){if(_0x2a2a75['JsARZ'](_0x102e72,_0x2a2a75[_0x5c82b6(0x14b)]))return!![];if(_0x102e72===_0x5c82b6(0x138))return![];throw new Error('Invalid\x20value\x20for\x20'+_0x383bfc+_0x5c82b6(0x13f));}return _0x102e72;}export async function configSet(_0x569786,_0x53f913,_0x447d4f){const _0x43ac21=_0xfc8fbd,_0x2ca089={'kGHMO':function(_0x127974,_0x18cabe){return _0x127974(_0x18cabe);},'LeaXU':function(_0x57f730,_0x162f39,_0xca71e7){return _0x57f730(_0x162f39,_0xca71e7);}},_0x5d98ba=_0x2ca089['kGHMO'](getEnvDir,_0x569786);if(!existsSync(_0x5d98ba))throw new Error(_0x43ac21(0x141)+_0x569786+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x569786);const _0x159614=await loadSettings(_0x569786),_0x5a1e51=_0x2ca089['LeaXU'](parseValue,_0x53f913,_0x447d4f);setNestedValue(_0x159614,_0x53f913,_0x5a1e51),await saveSettings(_0x569786,_0x159614),console['log']('Set\x20'+_0x53f913+'\x20=\x20'+_0x5a1e51);}function _0x19dc(_0x59ceca,_0xb61d76){_0x59ceca=_0x59ceca-0x138;const _0x5f41a3=_0x5f41();let _0x19dcad=_0x5f41a3[_0x59ceca];return _0x19dcad;}export async function configGet(_0x358884,_0x28b078){const _0x46973c=_0xfc8fbd,_0x2c0ae8={'vYJEA':function(_0xc56a15,_0x2a99a0){return _0xc56a15(_0x2a99a0);},'tOgNs':function(_0x15d03e,_0x11c66b,_0x3e2317){return _0x15d03e(_0x11c66b,_0x3e2317);}},_0x5997bc=getEnvDir(_0x358884);if(!_0x2c0ae8['vYJEA'](existsSync,_0x5997bc))throw new Error(_0x46973c(0x141)+_0x358884+'\x22\x20does\x20not\x20exist.');const _0x310d9c=await loadSettings(_0x358884),_0x27a088=_0x2c0ae8[_0x46973c(0x149)](getNestedValue,_0x310d9c,_0x28b078);if(_0x27a088===undefined)console[_0x46973c(0x14e)](_0x46973c(0x139));else typeof _0x27a088==='object'?console[_0x46973c(0x14e)](JSON[_0x46973c(0x140)](_0x27a088,null,0x2)):console[_0x46973c(0x14e)](_0x27a088);}export async function configList(_0x494d7c){const _0x139279=_0xfc8fbd,_0x8f328a={'qOBWk':function(_0x53ec0a,_0x14dfc2){return _0x53ec0a(_0x14dfc2);},'xncED':function(_0x52aaee,_0x40739d){return _0x52aaee(_0x40739d);}},_0x2f4d7f=_0x8f328a['qOBWk'](getSettingsPath,_0x494d7c);if(!existsSync(_0x2f4d7f)){const _0x26a72a=getEnvDir(_0x494d7c);if(!existsSync(_0x26a72a))throw new Error(_0x139279(0x141)+_0x494d7c+'\x22\x20does\x20not\x20exist.');console[_0x139279(0x14e)]('No\x20configuration\x20set\x20for\x20\x22'+_0x494d7c+'\x22');return;}const _0x4ec82e=await _0x8f328a[_0x139279(0x144)](loadSettings,_0x494d7c),_0x33d30f=_0x8f328a[_0x139279(0x144)](formatSettings,_0x4ec82e);!_0x33d30f?console[_0x139279(0x14e)](_0x139279(0x146)+_0x494d7c+'\x22'):console['log'](_0x33d30f);}export async function configUnset(_0x550a9b,_0x3054d4){const _0x2fede2=_0xfc8fbd,_0x3600b9={'HQuPY':function(_0xcbd5eb,_0x170fcf){return _0xcbd5eb(_0x170fcf);},'toIoU':function(_0x25a997,_0x3d5e27){return _0x25a997(_0x3d5e27);},'ehvQI':function(_0x3e4c0d,_0x334732,_0x243660){return _0x3e4c0d(_0x334732,_0x243660);}},_0x493dc6=_0x3600b9['HQuPY'](getEnvDir,_0x550a9b);if(!_0x3600b9['toIoU'](existsSync,_0x493dc6))throw new Error(_0x2fede2(0x141)+_0x550a9b+_0x2fede2(0x145));const _0x1d335b=await loadSettings(_0x550a9b),_0x50e0c5=_0x3600b9[_0x2fede2(0x148)](deleteNestedValue,_0x1d335b,_0x3054d4);_0x50e0c5?(await _0x3600b9[_0x2fede2(0x148)](saveSettings,_0x550a9b,_0x1d335b),console['log']('Removed\x20'+_0x3054d4)):console[_0x2fede2(0x14e)]('Key\x20\x22'+_0x3054d4+'\x22\x20not\x20found');}
@@ -1 +1 @@
1
- (function(_0x193b7d,_0x7d3823){const _0x381c7e=_0x11b4,_0x22025c=_0x193b7d();while(!![]){try{const _0xc8726a=-parseInt(_0x381c7e(0x1bf))/0x1+parseInt(_0x381c7e(0x1bb))/0x2*(parseInt(_0x381c7e(0x1ce))/0x3)+parseInt(_0x381c7e(0x1c7))/0x4+parseInt(_0x381c7e(0x1da))/0x5*(parseInt(_0x381c7e(0x1c8))/0x6)+-parseInt(_0x381c7e(0x1cf))/0x7*(-parseInt(_0x381c7e(0x1c5))/0x8)+-parseInt(_0x381c7e(0x1ba))/0x9*(parseInt(_0x381c7e(0x1c2))/0xa)+parseInt(_0x381c7e(0x1c1))/0xb*(parseInt(_0x381c7e(0x1d1))/0xc);if(_0xc8726a===_0x7d3823)break;else _0x22025c['push'](_0x22025c['shift']());}catch(_0x4bf3eb){_0x22025c['push'](_0x22025c['shift']());}}}(_0x25bd,0x81941));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x25bd(){const _0x5ec00a=['2085GVakrL','JghTA','18AKmBBN','1343458CGPcSn','pOSFE','settings.json','zkikL','910323mPNwGP','push','110bqJezY','4982770YretsQ','baseUrl','.txt','120DJIYwS','legacy','219412bOajkF','7674aGowEu','sort','\x0a*\x20=\x20active\x20profile','local','CSmhv','environmentDetails','3OFdTci','282961FRJbXP','length','685632fhKpGJ','rTzXj','startsWith','includes','GgaWM','log','isDirectory','XGvdw','STEOH'];_0x25bd=function(){return _0x5ec00a;};return _0x25bd();}import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions','bug-bashes','reports','local','ci'];function _0x11b4(_0x19e848,_0x47dbec){_0x19e848=_0x19e848-0x1b9;const _0x25bd0c=_0x25bd();let _0x11b418=_0x25bd0c[_0x19e848];return _0x11b418;}export async function getEnvNames(){const _0x15a8d9=_0x11b4,_0x29839f={'STEOH':function(_0x4b64b4){return _0x4b64b4();},'HUElB':function(_0x49d3e4,_0x3ced71){return _0x49d3e4(_0x3ced71);},'XGvdw':function(_0x49f105,_0x190ad1){return _0x49f105(_0x190ad1);},'ouQkx':function(_0xa410d0,_0x24367e,_0x5640f9){return _0xa410d0(_0x24367e,_0x5640f9);},'dXuhU':function(_0x75920,_0x1ee403,_0x1644fc){return _0x75920(_0x1ee403,_0x1644fc);},'zkikL':function(_0x4fb5a8,_0x6487c1){return _0x4fb5a8(_0x6487c1);},'rTzXj':function(_0x5917b7,_0xa3bfe6,_0x2a4e27){return _0x5917b7(_0xa3bfe6,_0x2a4e27);},'CSmhv':_0x15a8d9(0x1bd),'xkIFL':'legacy'},_0x3ca812=_0x29839f[_0x15a8d9(0x1d9)](getRangerDir);if(!_0x29839f['HUElB'](existsSync,_0x3ca812))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x36f81f=await readActiveProfileName(),_0x3fca07=[],_0x3f13e9={},_0x248dcb=join(_0x3ca812,_0x15a8d9(0x1cb));if(_0x29839f[_0x15a8d9(0x1d8)](existsSync,_0x248dcb)){const _0x4ae773=await readdir(_0x248dcb);for(const _0x526eb4 of _0x4ae773){const _0x321250=_0x29839f['ouQkx'](join,_0x248dcb,_0x526eb4),_0x5af779=await _0x29839f['XGvdw'](stat,_0x321250);_0x5af779[_0x15a8d9(0x1d7)]()&&(_0x3fca07[_0x15a8d9(0x1c0)](_0x526eb4),_0x3f13e9[_0x526eb4]=_0x15a8d9(0x1cb));}}const _0xc852f1=join(_0x3ca812,'ci');if(existsSync(_0xc852f1)){const _0x1835a2=await readdir(_0xc852f1);for(const _0x94c93b of _0x1835a2){const _0x429f56=_0x29839f['dXuhU'](join,_0xc852f1,_0x94c93b),_0x2348ce=await _0x29839f[_0x15a8d9(0x1be)](stat,_0x429f56);_0x2348ce['isDirectory']()&&(_0x3fca07[_0x15a8d9(0x1c0)](_0x94c93b),_0x3f13e9[_0x94c93b]='ci');}}const _0x5e6d85=await readdir(_0x3ca812);for(const _0x254af1 of _0x5e6d85){if(NON_ENV_DIRS[_0x15a8d9(0x1d4)](_0x254af1))continue;if(_0x254af1[_0x15a8d9(0x1d3)]('.'))continue;if(_0x254af1['endsWith'](_0x15a8d9(0x1c4)))continue;const _0xfcc1e6=_0x29839f[_0x15a8d9(0x1d2)](join,_0x3ca812,_0x254af1),_0x37708d=await stat(_0xfcc1e6);_0x37708d[_0x15a8d9(0x1d7)]()&&existsSync(join(_0xfcc1e6,_0x29839f[_0x15a8d9(0x1cc)]))&&(!_0x3fca07[_0x15a8d9(0x1d4)](_0x254af1)&&(_0x3fca07['push'](_0x254af1),_0x3f13e9[_0x254af1]=_0x29839f['xkIFL']));}return{'envNames':_0x3fca07,'activeEnv':_0x36f81f,'envTypes':_0x3f13e9};}export async function envList(){const _0x1d0c40=_0x11b4,_0x2ba0b5={'dQlYj':function(_0x3c074d){return _0x3c074d();},'LzKPr':'\x0aNo\x20profiles\x20found.','GgaWM':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','JghTA':_0x1d0c40(0x1cb),'pOSFE':_0x1d0c40(0x1c6)},{envNames:_0x2f0721,activeEnv:_0x550c3d,envTypes:_0x4cd591}=await _0x2ba0b5['dQlYj'](getEnvNames);if(_0x2f0721[_0x1d0c40(0x1d0)]===0x0){console['log'](_0x2ba0b5['LzKPr']),console[_0x1d0c40(0x1d6)](_0x2ba0b5[_0x1d0c40(0x1d5)]);return;}console[_0x1d0c40(0x1d6)]('\x0aProfiles:');for(const _0x8442e4 of _0x2f0721[_0x1d0c40(0x1c9)]()){const _0xb2087a=_0x8442e4===_0x550c3d,_0xfeacd6=_0x4cd591[_0x8442e4]||_0x2ba0b5[_0x1d0c40(0x1b9)],_0x11e973=await loadSettings(_0x8442e4),_0x28c000=_0xfeacd6===_0x2ba0b5[_0x1d0c40(0x1bc)]?'':'\x20['+_0xfeacd6+']';console['log']('\x20\x20'+(_0xb2087a?'*\x20':'\x20\x20')+_0x8442e4+_0x28c000),_0x11e973[_0x1d0c40(0x1c3)]&&console['log']('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x11e973[_0x1d0c40(0x1c3)]),_0x11e973[_0x1d0c40(0x1cd)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x11e973['environmentDetails']);}_0x550c3d&&console['log'](_0x1d0c40(0x1ca));}
1
+ const _0x4d3fc1=_0x317a;function _0x5ec0(){const _0x197ce5=['DZjVq','XVhdU','startsWith','includes','log','.txt','\x0aProfiles:','319134ZfsogA','sessions','1149412zeAWBV','46532fvAqdM','247992dxmrez','settings.json','gySfv','10471278cGwHTI','6KjwveB','baseUrl','push','87870jhRklA','RPBGu','reports','legacy','JdzqP','\x20\x20\x20\x20\x20\x20URL:\x20','endsWith','4377856tinzMu','isDirectory','55KBOeKp','\x0a*\x20=\x20active\x20profile','environmentDetails','length','sgocN','189IlSMmn'];_0x5ec0=function(){return _0x197ce5;};return _0x5ec0();}(function(_0x5e6b6d,_0x3f6265){const _0x242ef5=_0x317a,_0x5a0795=_0x5e6b6d();while(!![]){try{const _0x22a572=-parseInt(_0x242ef5(0xc0))/0x1+parseInt(_0x242ef5(0xbe))/0x2*(-parseInt(_0x242ef5(0xc6))/0x3)+parseInt(_0x242ef5(0xc1))/0x4*(parseInt(_0x242ef5(0xb1))/0x5)+parseInt(_0x242ef5(0xc5))/0x6+parseInt(_0x242ef5(0xaf))/0x7+parseInt(_0x242ef5(0xc2))/0x8+parseInt(_0x242ef5(0xb6))/0x9*(-parseInt(_0x242ef5(0xc9))/0xa);if(_0x22a572===_0x3f6265)break;else _0x5a0795['push'](_0x5a0795['shift']());}catch(_0x3c8199){_0x5a0795['push'](_0x5a0795['shift']());}}}(_0x5ec0,0xd5fde));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x317a(_0x59d79d,_0x32e384){_0x59d79d=_0x59d79d-0xad;const _0x5ec0b1=_0x5ec0();let _0x317a2f=_0x5ec0b1[_0x59d79d];return _0x317a2f;}const NON_ENV_DIRS=[_0x4d3fc1(0xbf),'bug-bashes',_0x4d3fc1(0xcb),'local','ci'];export async function getEnvNames(){const _0x6ba611=_0x4d3fc1,_0x261276={'JPAEU':function(_0x262ff6){return _0x262ff6();},'GhQup':'local','XVhdU':function(_0x4db535,_0x4119c1){return _0x4db535(_0x4119c1);},'JdzqP':function(_0x5c65cf,_0x20cd47){return _0x5c65cf(_0x20cd47);},'FhPVC':function(_0x47a53f,_0x124058,_0x4164a3){return _0x47a53f(_0x124058,_0x4164a3);},'DZjVq':function(_0x180f03,_0x41bc4d){return _0x180f03(_0x41bc4d);},'sgocN':_0x6ba611(0xbc)},_0x3ce5f6=_0x261276['JPAEU'](getRangerDir);if(!existsSync(_0x3ce5f6))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x10e375=await readActiveProfileName(),_0x1b9a86=[],_0x379314={},_0x479ecc=join(_0x3ce5f6,_0x261276['GhQup']);if(_0x261276[_0x6ba611(0xb8)](existsSync,_0x479ecc)){const _0x411c47=await readdir(_0x479ecc);for(const _0x300e58 of _0x411c47){const _0x1aacb9=join(_0x479ecc,_0x300e58),_0x53b59b=await _0x261276[_0x6ba611(0xcd)](stat,_0x1aacb9);_0x53b59b[_0x6ba611(0xb0)]()&&(_0x1b9a86[_0x6ba611(0xc8)](_0x300e58),_0x379314[_0x300e58]=_0x261276['GhQup']);}}const _0x1fe8fb=_0x261276['FhPVC'](join,_0x3ce5f6,'ci');if(_0x261276[_0x6ba611(0xb8)](existsSync,_0x1fe8fb)){const _0x55bebd=await _0x261276[_0x6ba611(0xb7)](readdir,_0x1fe8fb);for(const _0x1c814d of _0x55bebd){const _0x58432d=join(_0x1fe8fb,_0x1c814d),_0x511481=await stat(_0x58432d);_0x511481['isDirectory']()&&(_0x1b9a86['push'](_0x1c814d),_0x379314[_0x1c814d]='ci');}}const _0x3fee33=await _0x261276['JdzqP'](readdir,_0x3ce5f6);for(const _0x25dbd3 of _0x3fee33){if(NON_ENV_DIRS['includes'](_0x25dbd3))continue;if(_0x25dbd3[_0x6ba611(0xb9)]('.'))continue;if(_0x25dbd3[_0x6ba611(0xae)](_0x261276[_0x6ba611(0xb5)]))continue;const _0xca50c7=join(_0x3ce5f6,_0x25dbd3),_0x33a1c9=await stat(_0xca50c7);_0x33a1c9[_0x6ba611(0xb0)]()&&_0x261276[_0x6ba611(0xb7)](existsSync,join(_0xca50c7,_0x6ba611(0xc3)))&&(!_0x1b9a86[_0x6ba611(0xba)](_0x25dbd3)&&(_0x1b9a86[_0x6ba611(0xc8)](_0x25dbd3),_0x379314[_0x25dbd3]=_0x6ba611(0xcc)));}return{'envNames':_0x1b9a86,'activeEnv':_0x10e375,'envTypes':_0x379314};}export async function envList(){const _0x4568e5=_0x4d3fc1,_0x4c4ff4={'MytQm':function(_0x258811,_0x387dc1){return _0x258811===_0x387dc1;},'gySfv':'local','ZiEAt':function(_0x2b7afc,_0x2e51f1){return _0x2b7afc===_0x2e51f1;},'RPBGu':_0x4568e5(0xcc)},{envNames:_0x3b0c28,activeEnv:_0x58b1db,envTypes:_0x55eec9}=await getEnvNames();if(_0x3b0c28[_0x4568e5(0xb4)]===0x0){console['log']('\x0aNo\x20profiles\x20found.'),console[_0x4568e5(0xbb)]('Run:\x20ranger\x20profile\x20add\x20<profile-name>');return;}console[_0x4568e5(0xbb)](_0x4568e5(0xbd));for(const _0x44f37a of _0x3b0c28['sort']()){const _0x371b52=_0x4c4ff4['MytQm'](_0x44f37a,_0x58b1db),_0x1e12d8=_0x55eec9[_0x44f37a]||_0x4c4ff4[_0x4568e5(0xc4)],_0x216be3=await loadSettings(_0x44f37a),_0x168cdc=_0x4c4ff4['ZiEAt'](_0x1e12d8,_0x4c4ff4[_0x4568e5(0xca)])?'':'\x20['+_0x1e12d8+']';console[_0x4568e5(0xbb)]('\x20\x20'+(_0x371b52?'*\x20':'\x20\x20')+_0x44f37a+_0x168cdc),_0x216be3[_0x4568e5(0xc7)]&&console[_0x4568e5(0xbb)](_0x4568e5(0xad)+_0x216be3[_0x4568e5(0xc7)]),_0x216be3[_0x4568e5(0xb3)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x216be3['environmentDetails']);}_0x58b1db&&console['log'](_0x4568e5(0xb2));}
@@ -1 +1 @@
1
- const _0xfecff9=_0x356a;(function(_0x53562f,_0x495ba4){const _0x2e9785=_0x356a,_0x46fd72=_0x53562f();while(!![]){try{const _0x43e128=parseInt(_0x2e9785(0x1a0))/0x1*(-parseInt(_0x2e9785(0x19a))/0x2)+parseInt(_0x2e9785(0x1c1))/0x3+parseInt(_0x2e9785(0x151))/0x4*(parseInt(_0x2e9785(0x1aa))/0x5)+-parseInt(_0x2e9785(0x192))/0x6*(-parseInt(_0x2e9785(0x169))/0x7)+-parseInt(_0x2e9785(0x14e))/0x8+-parseInt(_0x2e9785(0x190))/0x9+parseInt(_0x2e9785(0x14b))/0xa*(parseInt(_0x2e9785(0x170))/0xb);if(_0x43e128===_0x495ba4)break;else _0x46fd72['push'](_0x46fd72['shift']());}catch(_0x478b30){_0x46fd72['push'](_0x46fd72['shift']());}}}(_0x494a,0xc3442));import{readFile,writeFile,mkdir}from'fs/promises';function _0x356a(_0xcc5319,_0x1db511){_0xcc5319=_0xcc5319-0x121;const _0x494a65=_0x494a();let _0x356a6d=_0x494a65[_0xcc5319];return _0x356a6d;}import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x48efea 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=_0x3f4a2f=>'\x1b[1m'+_0x3f4a2f+_0xfecff9(0x1c3);function getGitRepoUrl(){const _0x36b6eb=_0xfecff9,_0x4e60ef={'EoNVu':function(_0x5194da,_0x54e750,_0x1a7782){return _0x5194da(_0x54e750,_0x1a7782);},'hBHZB':'git\x20remote\x20get-url\x20origin','kwvdT':'utf-8','ZPQmB':_0x36b6eb(0x1e6)};try{const _0x286ac9=_0x4e60ef['EoNVu'](execSync,_0x4e60ef[_0x36b6eb(0x143)],{'encoding':_0x4e60ef['kwvdT'],'stdio':[_0x4e60ef['ZPQmB'],_0x4e60ef[_0x36b6eb(0x1bd)],_0x4e60ef[_0x36b6eb(0x1bd)]]})['trim']();return _0x286ac9['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x36b6eb(0x166))[_0x36b6eb(0x1cd)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0xc4403c=_0xfecff9,_0xcda4d0={'rRhVO':function(_0x14baf1,_0x1f2b99,_0x521a3a){return _0x14baf1(_0x1f2b99,_0x521a3a);},'fOOcb':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','mFtnV':'pipe'};try{return _0xcda4d0[_0xc4403c(0x18d)](execSync,_0xcda4d0['fOOcb'],{'encoding':_0xc4403c(0x1fd),'stdio':[_0xc4403c(0x1e6),_0xcda4d0[_0xc4403c(0x1ca)],'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x549cff=_0xfecff9,_0x2b9d23={'NNYtQ':function(_0x1985b8,_0x58c180,_0x35ab08){return _0x1985b8(_0x58c180,_0x35ab08);}},_0xe3e44=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xe3e44))return null;try{const _0x1f72f5=await _0x2b9d23['NNYtQ'](readFile,_0xe3e44,_0x549cff(0x1fd));return _0x1f72f5['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0xfbbf8e){const _0x2c9316=_0xfecff9,_0x1840e6={'ChGXd':function(_0x5c8a00){return _0x5c8a00();},'ErCKI':function(_0x4be7fc,_0x4aeb07,_0x390669){return _0x4be7fc(_0x4aeb07,_0x390669);},'TNeFv':function(_0x5d9ef3,_0x2c3b2f){return _0x5d9ef3(_0x2c3b2f);},'ZhGNb':function(_0x2a2154,_0x198fdc,_0x15fdd9,_0x130e79){return _0x2a2154(_0x198fdc,_0x15fdd9,_0x130e79);}},_0x3304e4=_0x1840e6[_0x2c9316(0x1cb)](getRangerDir),_0x32a17a=_0x1840e6['ErCKI'](join,_0x3304e4,ACTIVE_FEATURE_FILE);!_0x1840e6[_0x2c9316(0x1b7)](existsSync,_0x3304e4)&&await mkdir(_0x3304e4,{'recursive':!![]}),await _0x1840e6['ZhGNb'](writeFile,_0x32a17a,_0xfbbf8e,_0x2c9316(0x1fd));}function getProgressDisplay(_0x213df3){const _0x56176d=_0xfecff9,_0x5d8104={'usYzO':function(_0x132957,_0x2637dc){return _0x132957+_0x2637dc;},'HYVvI':function(_0x30db47,_0x321c10){return _0x30db47+_0x321c10;},'TFcJq':function(_0x258dcf,_0x5bdd1b){return _0x258dcf===_0x5bdd1b;},'tmYDl':function(_0x391b05,_0x51dcd5){return _0x391b05*_0x51dcd5;},'ygOeg':function(_0x3d0c55,_0x1212cb){return _0x3d0c55>_0x1212cb;}},_0x1e552d=_0x213df3['verifiedItems']||0x0,_0x260b49=_0x213df3[_0x56176d(0x1bc)]||0x0,_0x3b1394=_0x213df3[_0x56176d(0x172)]||0x0,_0x3d4d8e=_0x213df3[_0x56176d(0x132)]||0x0,_0x197490=_0x213df3[_0x56176d(0x158)]||0x0,_0x60a4a1=_0x5d8104['usYzO'](_0x5d8104[_0x56176d(0x1a5)](_0x1e552d+_0x260b49,_0x3b1394)+_0x3d4d8e,_0x197490);if(_0x5d8104['TFcJq'](_0x60a4a1,0x0))return'-';const _0x3f7c91=0xa,_0x3489e6=Math[_0x56176d(0x186)](_0x5d8104['tmYDl'](_0x1e552d/_0x60a4a1,_0x3f7c91)),_0x4aed40='█'[_0x56176d(0x1e3)](_0x3489e6)+'░'[_0x56176d(0x1e3)](_0x3f7c91-_0x3489e6),_0x255387=[];if(_0x3b1394>0x0)_0x255387[_0x56176d(0x1e1)](_0x3b1394+_0x56176d(0x17c));if(_0x3d4d8e>0x0)_0x255387['push'](_0x3d4d8e+'\x20incomplete');if(_0x5d8104[_0x56176d(0x12f)](_0x260b49,0x0))_0x255387['push'](_0x260b49+_0x56176d(0x19b));const _0x14e479=_0x255387['length']>0x0?'\x20('+_0x255387[_0x56176d(0x18a)](',\x20')+')':'';return _0x4aed40+'\x20'+_0x1e552d+'/'+_0x60a4a1+'\x20verified'+_0x14e479;}function _0x494a(){const _0x57657d=['11jLxadH','WsdkH','blockedItems','feedback-images','GYrBH','description','includeDeleted','Jkvnk','\x20scenarios.','\x20\x20\x20\x20\x20\x20Incomplete:\x20','latestReview','OZSFq','\x20blocked','notes','hEdfo','\x20\x20\x20▶️\x20Started\x20session\x20','AszvJ','zQAtR','JKwKI','\x20\x20\x20\x20\x20Progress:\x20','sADkg','env','round','assetType','KSBgd','stepName','join','\x20\x20\x20Created:\x20','status','rRhVO','\x20\x20\x20\x20\x20📋\x20Selector:\x20','stdin','13489938MTstpS','Scenario\x20','2154786geUlkL','epoew','qLhxC','qIixI','\x0aGenerating\x20report...','\x0aNo\x20feature\x20reviews\x20found.','en-US','Unknown','405658AgrXtW','\x20in\x20progress','createdAt','gitRepoUrl','\x20/\x20','tmJAh','5jZQKlW','verification_in_progress','domRef','pop','get','HYVvI','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','exit','items','closed','1363955MqgtWK','\x0a✅\x20Session\x20is\x20already\x20completed.','KOyaU','isTTY','dashboardUrl','jrJLi','checklistItems','aSuQa','wPXRy','NxcuC','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','all','currentSessionId','TNeFv','\x20\x20\x20Status:\x20','assetUrl','write','ready','verificationInProgressItems','ZPQmB','bOaEs','isInteger','NrGpt','4312800mHAFZD','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x1b[0m','point','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','VFkgV','version','browserSessionId','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','mFtnV','ChGXd','\x20>\x20','replace','verified','stringify','mfDvp','Not\x20in\x20a\x20git\x20repository.','aEQex','dPvXb','error','\x20at\x20[','screenshotUrls','lMPwB','\x20\x20\x20\x20\x20\x20Approved','gitBranch','iteration','hnFJb','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20[has\x20reviewer\x20feedback]','eGMeF','offset','/api/v1/mcp/browser-sessions/','push','MXdYc','repeat','limit','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','pipe','FxkvY','ehGEz','position','sessionId','parentItemId','iXnvA','\x20scenario(s).','vBwJc','in_progress','WyWwW','TBJmc','\x0aAvailable\x20scenarios:','ZuiJV','gcXER','split','storage','isKeyStep','\x0a✅\x20Session\x20','submittedAt','HUsxt','\x20\x20\x20Progress:\x20','incompleteReason','utf-8','hqHpb','kXuzR','wlxTU','\x20unaddressed\x20comment(s)','NOSTV','eAmul','toLocaleDateString','\x20\x20\x20Branch:\x20','rabnj','\x20\x20\x20ID:\x20','TpSGv','spatial','\x20\x20\x20\x20\x20\x20Cancelled:\x20','sXEXs','\x0a📋\x20Feedback\x20for:\x20','authorEmail','cjdBK','linkedSession','content','reports','stdout','textContent','nvPlZ','log','yAMEB','ygOeg','\x20\x20\x20Description:\x20','name','incompleteItems','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','any','\x0a✅\x20Feature\x20review\x20created:\x20','LRvmJ','\x20--include-deleted','CLAUDE_SESSION_ID','No\x20scenarios\x20found.','WDYvb','toFixed','filter','...','snlUw','comment_','totalCount','prompt','location','hBHZB','\x20\x20\x20Updated\x20branch\x20to:\x20','IZqQo','iVFHi','completedAt','find','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','645230bvmONd','canceledReason','\x0a✅\x20Resumed\x20feature\x20review:\x20','7918120OZfOAA','2|4|0|5|3|1','riCCi','20wiHvVI','qzQug','incomplete','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','CEpqa','\x0a✅\x20Report\x20generated:\x20','output','pendingItems','CqiAJ','YBOQv','JjWHQ','screenshot','zeovD','wrXxH','QrZtF','boLEp','.\x20Feature\x20review\x20has\x20','toLocaleString','gMmOC','map','blocked','github.com/','):\x20\x22','\x0aConcluding\x20session...','28zEtCwy','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','stats','length','blockedReason','Screenshot\x20','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>'];_0x494a=function(){return _0x57657d;};return _0x494a();}function getCurrentSessionItems(_0x4c2c37,_0x45de60){const _0x114054=_0xfecff9;if(!_0x4c2c37[_0x114054(0x1b6)])return _0x45de60['filter'](_0x1a8107=>!_0x1a8107['sessionId']);return _0x45de60['filter'](_0x39ef50=>_0x39ef50['sessionId']===_0x4c2c37[_0x114054(0x1b6)]||!_0x39ef50[_0x114054(0x1ea)]);}function displayFeature(_0x21116a,_0x54347d){const _0x1b10e1=_0xfecff9,_0x46e164={'bVwny':function(_0x3f3aab,_0x5484a0){return _0x3f3aab(_0x5484a0);},'nvPlZ':function(_0x27d749,_0x11b06b){return _0x27d749>_0x11b06b;},'AnWFR':'\x0a\x20\x20\x20Scenarios:','AxCJM':function(_0x13a8cb,_0x17ffe1){return _0x13a8cb<_0x17ffe1;},'iVFHi':function(_0x2e1755,_0x357b6d){return _0x2e1755===_0x357b6d;},'aSuQa':function(_0xe8a6bc,_0x2af954){return _0xe8a6bc===_0x2af954;},'iXnvA':_0x1b10e1(0x153),'uFHDv':_0x1b10e1(0x165),'wPXRy':function(_0x11b521,_0x4bcf63){return _0x11b521===_0x4bcf63;},'cjdBK':_0x1b10e1(0x1a1),'gcXER':function(_0x566888,_0x132f69){return _0x566888!==_0x132f69;},'HUsxt':_0x1b10e1(0x1a9),'WDYvb':'verified','kXuzR':_0x1b10e1(0x1dd),'PYoFy':function(_0x33ac90,_0x218a00){return _0x33ac90===_0x218a00;},'eAmul':'approved','TBJmc':function(_0x1fbd2c,_0x548256){return _0x1fbd2c===_0x548256;}};console[_0x1b10e1(0x12d)]('\x0a'+_0x21116a[_0x1b10e1(0x131)]+'\x20('+_0x21116a['dashboardUrl']+')');_0x21116a['stats']&&console['log'](_0x1b10e1(0x1fb)+_0x46e164['bVwny'](getProgressDisplay,_0x21116a[_0x1b10e1(0x16b)]));_0x21116a['description']&&console[_0x1b10e1(0x12d)](_0x1b10e1(0x130)+_0x21116a[_0x1b10e1(0x175)]);_0x21116a[_0x1b10e1(0x19d)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x21116a['gitRepoUrl']);_0x21116a['gitBranch']&&console[_0x1b10e1(0x12d)](_0x1b10e1(0x205)+_0x21116a[_0x1b10e1(0x1d9)]);console[_0x1b10e1(0x12d)](_0x1b10e1(0x18b)+new Date(_0x21116a[_0x1b10e1(0x19c)])[_0x1b10e1(0x162)]());_0x21116a[_0x1b10e1(0x147)]&&console[_0x1b10e1(0x12d)]('\x20\x20\x20Completed:\x20'+new Date(_0x21116a[_0x1b10e1(0x147)])[_0x1b10e1(0x162)]());if(_0x54347d&&_0x46e164[_0x1b10e1(0x12c)](_0x54347d['length'],0x0)){console[_0x1b10e1(0x12d)](_0x46e164['AnWFR']);for(let _0x127239=0x0;_0x46e164['AxCJM'](_0x127239,_0x54347d[_0x1b10e1(0x16c)]);_0x127239++){const _0x4bd1da=_0x54347d[_0x127239];let _0x1aa299;if(_0x46e164[_0x1b10e1(0x146)](_0x4bd1da['status'],'closed')&&_0x46e164[_0x1b10e1(0x1b1)](_0x4bd1da['terminalReason'],'approved'))_0x1aa299='✅';else{if(_0x46e164[_0x1b10e1(0x1b1)](_0x4bd1da[_0x1b10e1(0x18c)],_0x1b10e1(0x1ce)))_0x1aa299='🟢';else{if(_0x46e164[_0x1b10e1(0x146)](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164['iXnvA']))_0x1aa299='🟠';else{if(_0x4bd1da['status']===_0x46e164['uFHDv'])_0x1aa299='🛑';else{if(_0x46e164[_0x1b10e1(0x1b2)](_0x4bd1da['status'],_0x1b10e1(0x1a9)))_0x1aa299='⛔';else _0x4bd1da['status']===_0x46e164[_0x1b10e1(0x126)]?_0x1aa299='⏳':_0x1aa299='⬜';}}}}const _0x2afd10=_0x46e164[_0x1b10e1(0x12c)](_0x4bd1da[_0x1b10e1(0x1c7)],0x1)?'\x20(v'+_0x4bd1da[_0x1b10e1(0x1c7)]+')':'',_0x2fdde4=_0x46e164['nvPlZ'](_0x4bd1da['version'],0x1)&&_0x4bd1da[_0x1b10e1(0x1eb)]&&_0x46e164[_0x1b10e1(0x1f4)](_0x4bd1da['status'],_0x46e164[_0x1b10e1(0x1fa)])&&_0x4bd1da['status']!==_0x46e164[_0x1b10e1(0x13a)]?_0x46e164[_0x1b10e1(0x1ff)]:'';console['log']('\x20\x20\x20'+(_0x127239+0x1)+'.\x20'+_0x1aa299+'\x20'+_0x4bd1da[_0x1b10e1(0x175)]+_0x2afd10+_0x2fdde4);_0x46e164['aSuQa'](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164['uFHDv'])&&_0x4bd1da[_0x1b10e1(0x16d)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4bd1da[_0x1b10e1(0x16d)]);_0x46e164['PYoFy'](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164[_0x1b10e1(0x1ec)])&&_0x4bd1da[_0x1b10e1(0x1fc)]&&console['log'](_0x1b10e1(0x179)+_0x4bd1da['incompleteReason']);if(_0x4bd1da[_0x1b10e1(0x18c)]===_0x46e164['HUsxt']&&_0x4bd1da['terminalReason']===_0x46e164[_0x1b10e1(0x203)])console['log'](_0x1b10e1(0x1d8));else _0x46e164[_0x1b10e1(0x1f1)](_0x4bd1da['status'],'closed')&&_0x4bd1da['canceledReason']&&console['log'](_0x1b10e1(0x122)+_0x4bd1da['canceledReason']);}}}export async function featureCreate(_0x411374,_0x278fec){const _0x2d274b=_0xfecff9,_0x4b077a={'yAMEB':function(_0x2ddd5b){return _0x2ddd5b();},'riCCi':'\x0aCreating\x20feature\x20review...','aEQex':function(_0x11c3fb,_0x3ce4e0){return _0x11c3fb(_0x3ce4e0);},'vHXIA':function(_0x12f382,_0x2b74aa){return _0x12f382(_0x2b74aa);},'NxcuC':function(_0x307606,_0x4d96e5,_0x4a33c5){return _0x307606(_0x4d96e5,_0x4a33c5);}},{envNames:_0x5de7a3}=await _0x4b077a['yAMEB'](getEnvNames);_0x5de7a3['length']===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x2d466a=>bold(_0x2d466a)));const _0xd3413b=_0x278fec['scenarios']?_0x278fec['scenarios'][_0x2d274b(0x164)](_0x169bd9=>_0x169bd9['trim']()):[],_0x546ea3=_0x4b077a[_0x2d274b(0x12e)](getGitRepoUrl),_0x2d5d78=getGitBranch();console['log'](_0x4b077a[_0x2d274b(0x150)]);const _0x25477d=await _0x4b077a[_0x2d274b(0x1d2)](createFeature,{'name':_0x411374,'description':_0x278fec[_0x2d274b(0x175)],'checklist':_0xd3413b,'gitRepoUrl':_0x546ea3,'gitBranch':_0x2d5d78});await _0x4b077a['vHXIA'](setActiveFeatureId,_0x25477d['id']),await _0x4b077a[_0x2d274b(0x1d2)](tryStartCurrentSession,_0x25477d['id']);const _0x502f4a=process['env']['CLAUDE_SESSION_ID'];_0x502f4a&&registerSession(_0x502f4a,_0x25477d['id']),console['log'](_0x2d274b(0x135)+_0x25477d['id']),_0x4b077a[_0x2d274b(0x1b3)](displayFeature,_0x25477d,_0x25477d['checklistItems']),console['log'](_0x2d274b(0x133));}export async function featureList(_0x55dadb){const _0x53ee21=_0xfecff9,_0xc1fad8={'MXdYc':_0x53ee21(0x197),'XkTTZ':function(_0x247c72,_0x43e137){return _0x247c72>_0x43e137;},'brkgU':'4|2|0|1|3|5','GYrBH':function(_0x22568b,_0x2d1414){return _0x22568b(_0x2d1414);},'mfDvp':function(_0x280cd0,_0x176c8a){return _0x280cd0+_0x176c8a;},'boLEp':function(_0x54cb5c,_0x22a734){return _0x54cb5c<_0x22a734;},'sADkg':'\x20--current-branch','PcFxH':_0x53ee21(0x137)},_0x534727={'limit':_0x55dadb['limit']??0xa,'offset':_0x55dadb[_0x53ee21(0x1df)]??0x0,'includeDeleted':_0x55dadb['includeDeleted']};_0x55dadb['currentBranch']&&(_0x534727['gitRepoUrl']=getGitRepoUrl(),_0x534727['gitBranch']=getGitBranch());const _0x2b9057=await listFeatures(_0x534727);if(_0x2b9057[_0x53ee21(0x1a8)]['length']===0x0){console[_0x53ee21(0x12d)](_0xc1fad8[_0x53ee21(0x1e2)]);return;}const _0x3f4eb7=_0xc1fad8['XkTTZ'](_0x2b9057['totalCount'],_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)])?'Showing\x20'+_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)]+'\x20of\x20'+_0x2b9057[_0x53ee21(0x140)]:_0x2b9057[_0x53ee21(0x140)]+'\x20feature\x20review(s)\x20found';console[_0x53ee21(0x12d)]('\x0a'+_0x3f4eb7+':\x0a');for(const _0x114987 of _0x2b9057[_0x53ee21(0x1a8)]){const _0x2bb81c=_0xc1fad8['brkgU']['split']('|');let _0x166dbc=0x0;while(!![]){switch(_0x2bb81c[_0x166dbc++]){case'0':_0x114987[_0x53ee21(0x16b)]&&console[_0x53ee21(0x12d)](_0x53ee21(0x1fb)+_0xc1fad8[_0x53ee21(0x174)](getProgressDisplay,_0x114987['stats']));continue;case'1':_0x114987['gitBranch']&&console['log'](_0x53ee21(0x205)+_0x114987[_0x53ee21(0x1d9)]);continue;case'2':console['log'](_0x53ee21(0x207)+_0x114987['id']);continue;case'3':console[_0x53ee21(0x12d)](_0x53ee21(0x18b)+new Date(_0x114987[_0x53ee21(0x19c)])['toLocaleDateString']());continue;case'4':console[_0x53ee21(0x12d)](''+_0x114987[_0x53ee21(0x131)]);continue;case'5':console['log']('');continue;}break;}}const _0x27b064=_0x534727[_0x53ee21(0x1e4)]??0xa,_0x21c1cc=_0xc1fad8[_0x53ee21(0x1d0)](_0x534727['offset']??0x0,_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)]);if(_0xc1fad8[_0x53ee21(0x160)](_0x21c1cc,_0x2b9057['totalCount'])){const _0x42b07d=_0x27b064!==0xa?'\x20--limit\x20'+_0x27b064:'',_0x2969d1=_0x55dadb['currentBranch']?_0xc1fad8[_0x53ee21(0x184)]:'',_0x3d21d0=_0x55dadb[_0x53ee21(0x176)]?_0xc1fad8['PcFxH']:'';console[_0x53ee21(0x12d)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x21c1cc+_0x42b07d+_0x2969d1+_0x3d21d0);}}export async function featureShow(_0x165b28){const _0x5aed6c=_0xfecff9,_0x27b55a=_0x165b28||await getActiveFeatureId();if(!_0x27b55a)throw new Error(_0x5aed6c(0x1c5));const _0xf6e43f=await getFeature(_0x27b55a);displayFeature(_0xf6e43f,_0xf6e43f['checklistItems']);}export async function featureResume(_0x5a64cc){const _0xdaeed5=_0xfecff9,_0x197d18={'snlUw':function(_0x4946c1,_0x2ae0d0){return _0x4946c1(_0x2ae0d0);},'AszvJ':function(_0x6dcb90){return _0x6dcb90();},'nIiVZ':function(_0x1b583f,_0x304379){return _0x1b583f!==_0x304379;},'iocnr':function(_0x785596,_0x2ec7c4,_0x777b95){return _0x785596(_0x2ec7c4,_0x777b95);},'qLhxC':function(_0x403f6f,_0x486f06){return _0x403f6f(_0x486f06);},'UMlzO':function(_0x4e2fcf,_0x4fdfb7){return _0x4e2fcf&&_0x4fdfb7;},'ehGEz':_0xdaeed5(0x1d1),'qKTRH':_0xdaeed5(0x154),'dPvXb':_0xdaeed5(0x16f),'WsdkH':'selected','KOyaU':function(_0x16085f,_0x1e5a36){return _0x16085f(_0x1e5a36);},'WyWwW':function(_0x48a1e3,_0xc4eca5){return _0x48a1e3!==_0xc4eca5;},'pQFJR':function(_0xb69e73,_0x328df9,_0x1f88f5){return _0xb69e73(_0x328df9,_0x1f88f5);},'vBwJc':function(_0x3ed818,_0x1a0c6b,_0x2ba47a){return _0x3ed818(_0x1a0c6b,_0x2ba47a);}};if(_0x5a64cc){const _0x235308=await _0x197d18[_0xdaeed5(0x13e)](getFeature,_0x5a64cc);await setActiveFeatureId(_0x235308['id']);const _0x14c311=_0x197d18[_0xdaeed5(0x180)](getGitBranch);_0x14c311&&_0x197d18['nIiVZ'](_0x14c311,_0x235308['gitBranch'])&&(await _0x197d18['iocnr'](updateFeature,_0x235308['id'],{'gitBranch':_0x14c311}),console[_0xdaeed5(0x12d)](_0xdaeed5(0x144)+_0x14c311));console[_0xdaeed5(0x12d)](_0xdaeed5(0x14d)+_0x235308[_0xdaeed5(0x131)]+'\x20('+_0x235308['id']+')'),await _0x197d18[_0xdaeed5(0x194)](tryStartCurrentSession,_0x235308['id']);const _0x58ab9d=process['env']['CLAUDE_SESSION_ID'];_0x58ab9d&&_0x197d18['iocnr'](registerSession,_0x58ab9d,_0x235308['id']);displayFeature(_0x235308,_0x235308['checklistItems']),await _0x197d18[_0xdaeed5(0x194)](printFeedbackNudge,_0x235308['id']);return;}const _0x4deaef=_0x197d18['AszvJ'](getGitRepoUrl),_0x310123=getGitBranch();if(_0x197d18['UMlzO'](!_0x4deaef,!_0x310123))throw new Error(_0x197d18[_0xdaeed5(0x1e8)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x4deaef||_0xdaeed5(0x134))+_0xdaeed5(0x19e)+(_0x310123||_0xdaeed5(0x134))+_0xdaeed5(0x13d));const _0x308281=await _0x197d18[_0xdaeed5(0x194)](listFeatures,{'gitRepoUrl':_0x4deaef,'gitBranch':_0x310123}),_0x46e0b2=_0x308281[_0xdaeed5(0x1a8)][_0xdaeed5(0x13c)](_0x5c3783=>!_0x5c3783[_0xdaeed5(0x147)]);if(_0x46e0b2[_0xdaeed5(0x16c)]===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0xdaeed5(0x1e5));return;}let _0x2ff471;if(_0x46e0b2['length']===0x1)_0x2ff471=_0x46e0b2[0x0];else{const _0x119148=process[_0xdaeed5(0x18f)][_0xdaeed5(0x1ad)]&&process[_0xdaeed5(0x12a)]['isTTY'];if(!_0x119148){console[_0xdaeed5(0x12d)](_0x197d18['qKTRH']);for(const _0x123f71 of _0x46e0b2){console[_0xdaeed5(0x12d)]('\x20\x20'+_0x123f71['name']),console[_0xdaeed5(0x12d)]('\x20\x20\x20\x20\x20ID:\x20'+_0x123f71['id']),_0x123f71['stats']&&console[_0xdaeed5(0x12d)](_0xdaeed5(0x183)+getProgressDisplay(_0x123f71[_0xdaeed5(0x16b)])),_0x123f71['gitBranch']&&console[_0xdaeed5(0x12d)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x123f71['gitBranch']);}throw new Error(_0x197d18[_0xdaeed5(0x1d3)]);}const {selected:_0x5add57}=await _0x48efea[_0xdaeed5(0x141)]([{'type':'list','name':_0x197d18[_0xdaeed5(0x171)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x46e0b2[_0xdaeed5(0x164)](_0x505ffe=>({'name':_0x505ffe[_0xdaeed5(0x131)]+'\x20('+_0x505ffe['id']+')','value':_0x505ffe['id']}))}]);_0x2ff471=_0x46e0b2['find'](_0x33a5e5=>_0x33a5e5['id']===_0x5add57);}await _0x197d18[_0xdaeed5(0x1ac)](setActiveFeatureId,_0x2ff471['id']);_0x310123&&_0x197d18[_0xdaeed5(0x1f0)](_0x310123,_0x2ff471[_0xdaeed5(0x1d9)])&&(await _0x197d18['iocnr'](updateFeature,_0x2ff471['id'],{'gitBranch':_0x310123}),console[_0xdaeed5(0x12d)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x310123));console['log'](_0xdaeed5(0x14d)+_0x2ff471['name']+'\x20('+_0x2ff471['id']+')'),await tryStartCurrentSession(_0x2ff471['id']);const _0x5ebc0f=await _0x197d18[_0xdaeed5(0x194)](getFeature,_0x2ff471['id']),_0x5b3aee=process[_0xdaeed5(0x185)][_0xdaeed5(0x138)];_0x5b3aee&&_0x197d18['pQFJR'](registerSession,_0x5b3aee,_0x5ebc0f['id']),_0x197d18[_0xdaeed5(0x1ee)](displayFeature,_0x5ebc0f,_0x5ebc0f['checklistItems']),await printFeedbackNudge(_0x5ebc0f['id']);}async function printFeedbackNudge(_0x308d95){const _0x4787fb=_0xfecff9,_0x21d88f={'OZSFq':function(_0x2bd101,_0x1f3b97){return _0x2bd101>_0x1f3b97;},'UFpua':_0x4787fb(0x1dc)};try{const {items:_0x40fe1b}=await getActionItems(_0x308d95);let _0x63ea27=0x0,_0x473ce9=0x0;for(const _0x164dcb of _0x40fe1b){const _0x5c898c=await getItemFeedback(_0x308d95,_0x164dcb['id']);_0x21d88f[_0x4787fb(0x17b)](_0x5c898c['unaddressedComments'][_0x4787fb(0x16c)],0x0)&&(_0x63ea27+=_0x5c898c['unaddressedComments']['length'],_0x473ce9++);}_0x21d88f['OZSFq'](_0x63ea27,0x0)&&(console[_0x4787fb(0x12d)]('\x0a⚠️\x20\x20'+_0x63ea27+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x473ce9+_0x4787fb(0x1ed)),console['log'](_0x21d88f['UFpua']));}catch{}}async function tryStartCurrentSession(_0x47a35b){const _0x5873ae=_0xfecff9,_0x4c3a5a={'qIixI':function(_0x132300,_0x560f82){return _0x132300(_0x560f82);}};try{const {sessions:_0x483e06}=await _0x4c3a5a[_0x5873ae(0x195)](listFeatureSessions,_0x47a35b),_0x27fd85=_0x483e06[_0x5873ae(0x148)](_0x103189=>_0x103189[_0x5873ae(0x18c)]===_0x5873ae(0x1bb));_0x27fd85&&(await startSession(_0x47a35b,_0x27fd85['id']),console['log'](_0x5873ae(0x17f)+_0x27fd85[_0x5873ae(0x1da)]));}catch{}}export async function featureReport(_0x19e756,_0x3a8610){const _0x52e0c1=_0xfecff9,_0x5966f9={'OeRTo':function(_0x115571){return _0x115571();},'JFxXF':_0x52e0c1(0x196),'YnULN':function(_0x37ec8d,_0x1afcaa,_0x58305b){return _0x37ec8d(_0x1afcaa,_0x58305b);},'sXEXs':_0x52e0c1(0x129),'QrZtF':function(_0x5c0b47,_0x3399bd,_0x3a5dcc){return _0x5c0b47(_0x3399bd,_0x3a5dcc);},'ZuiJV':function(_0x5b198d,_0x58c672){return _0x5b198d(_0x58c672);},'pTBny':function(_0x412e29,_0x162f6d,_0x26b5e5){return _0x412e29(_0x162f6d,_0x26b5e5);},'YBOQv':function(_0x22fa6a,_0xa71be4,_0x208cd8,_0x25fc4f){return _0x22fa6a(_0xa71be4,_0x208cd8,_0x25fc4f);},'wlxTU':'utf-8'},_0x37a4f1=_0x19e756||await _0x5966f9['OeRTo'](getActiveFeatureId);if(!_0x37a4f1)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x52e0c1(0x12d)](_0x5966f9['JFxXF']);const _0x15569e=await _0x5966f9['YnULN'](getFeatureReportMarkdown,_0x37a4f1,{'style':_0x3a8610['style']}),_0x563dd0=_0x3a8610[_0x52e0c1(0x157)]||join(getRangerDir(),_0x5966f9[_0x52e0c1(0x123)],_0x37a4f1+'.md'),_0x3119ba=_0x5966f9[_0x52e0c1(0x15f)](join,_0x563dd0,'..');!_0x5966f9[_0x52e0c1(0x1f3)](existsSync,_0x3119ba)&&await _0x5966f9['pTBny'](mkdir,_0x3119ba,{'recursive':!![]}),await _0x5966f9[_0x52e0c1(0x15a)](writeFile,_0x563dd0,_0x15569e,_0x5966f9[_0x52e0c1(0x200)]),console['log'](_0x52e0c1(0x156)+_0x563dd0);}function getScenarioResult(_0x4b9877){const _0x58886a=_0xfecff9,_0x410f4a={'zQAtR':function(_0x231298,_0x2c08b5){return _0x231298===_0x2c08b5;},'gMmOC':_0x58886a(0x1a9)};if(_0x410f4a[_0x58886a(0x181)](_0x4b9877[_0x58886a(0x18c)],_0x410f4a['gMmOC']))return _0x4b9877['terminalReason']??_0x410f4a[_0x58886a(0x163)];if(_0x410f4a[_0x58886a(0x181)](_0x4b9877[_0x58886a(0x18c)],'verification_in_progress'))return _0x58886a(0x1ef);return _0x4b9877['status'];}function getScenarioRationale(_0x1fe900,_0x20b367){const _0x103edb=_0xfecff9,_0x426344={'LRvmJ':_0x103edb(0x14f)},_0x4556af=_0x426344[_0x103edb(0x136)]['split']('|');let _0x328467=0x0;while(!![]){switch(_0x4556af[_0x328467++]){case'0':if(_0x1fe900[_0x103edb(0x1fc)])return _0x1fe900['incompleteReason'];continue;case'1':return null;case'2':if(_0x20b367)return _0x20b367;continue;case'3':if(_0x1fe900['notes'])return _0x1fe900[_0x103edb(0x17d)];continue;case'4':if(_0x1fe900[_0x103edb(0x16d)])return _0x1fe900[_0x103edb(0x16d)];continue;case'5':if(_0x1fe900[_0x103edb(0x14c)])return _0x1fe900[_0x103edb(0x14c)];continue;}break;}}export async function featureReportPrDescription(_0x286a05,_0x74478d){const _0x125df3=_0xfecff9,_0x39f540={'qzQug':function(_0x5a79e5){return _0x5a79e5();},'JKwKI':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ivbdi':function(_0x3d33ab,_0x4d4d41){return _0x3d33ab(_0x4d4d41);},'hqHpb':function(_0x3f02d5,_0x562b95,_0xb1da0c){return _0x3f02d5(_0x562b95,_0xb1da0c);},'hnFJb':function(_0x27b219,_0x2d3309){return _0x27b219>_0x2d3309;},'rabnj':function(_0xaab09,_0x3bf1eb){return _0xaab09+_0x3bf1eb;},'epoew':function(_0x380887,_0xdddedd){return _0x380887===_0xdddedd;}},_0x11346c=_0x286a05||await _0x39f540[_0x125df3(0x152)](getActiveFeatureId);if(!_0x11346c)throw new Error(_0x39f540[_0x125df3(0x182)]);const _0x52dcba=await _0x39f540['ivbdi'](getFeature,_0x11346c),_0x13e79c=_0x52dcba['checklistItems']||[],_0x40ef20=_0x39f540[_0x125df3(0x1fe)](getCurrentSessionItems,_0x52dcba,_0x13e79c);_0x40ef20['length']===0x0&&(console[_0x125df3(0x1d4)](_0x125df3(0x14a)),process['exit'](0x1));const _0x3f2e96=_0x74478d['excludeScenarios']??[],_0x42ee21=_0x3f2e96[_0x125df3(0x13c)](_0x2d9114=>!Number[_0x125df3(0x1bf)](_0x2d9114)||_0x2d9114<0x1||_0x2d9114>_0x40ef20[_0x125df3(0x16c)]);if(_0x39f540[_0x125df3(0x1db)](_0x42ee21['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x42ee21[_0x125df3(0x18a)](',\x20')),console[_0x125df3(0x12d)](_0x125df3(0x1f2));for(let _0x5734a4=0x0;_0x5734a4<_0x40ef20['length'];_0x5734a4++){console[_0x125df3(0x12d)]('\x20\x20'+_0x39f540[_0x125df3(0x206)](_0x5734a4,0x1)+'.\x20'+_0x40ef20[_0x5734a4][_0x125df3(0x175)]);}process['exit'](0x1);}const _0x21696f=new Set(_0x3f2e96[_0x125df3(0x164)](_0x26039a=>_0x26039a-0x1)),_0x5893f6=_0x40ef20['filter']((_0x5028cd,_0x1ce7f5)=>!_0x21696f['has'](_0x1ce7f5));_0x39f540[_0x125df3(0x193)](_0x5893f6[_0x125df3(0x16c)],0x0)&&(console[_0x125df3(0x1d4)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x125df3(0x1a7)](0x1));if(_0x74478d['json'])await outputJsonReport(_0x11346c,_0x52dcba,_0x5893f6);else{const _0x4423f2=await getFeatureReportMarkdown(_0x11346c,{'itemIds':_0x5893f6['map'](_0x4c14f9=>_0x4c14f9['id'])});process['stdout'][_0x125df3(0x1ba)](_0x4423f2['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x237c91,_0x356580,_0x105202){const _0x445d87=_0xfecff9,_0x136628={'wrXxH':function(_0x12c3e7,_0x281499){return _0x12c3e7(_0x281499);}},_0x5eba6b=getApiBaseUrl(),_0x5d74d4=await _0x136628[_0x445d87(0x15e)](getFeatureReport,_0x237c91),_0x2cdee0=new Map(_0x5d74d4[_0x445d87(0x1b0)][_0x445d87(0x164)](_0x3b5641=>[_0x3b5641['id'],_0x3b5641])),_0x2ace54=await Promise[_0x445d87(0x1b5)](_0x105202[_0x445d87(0x164)](async _0x452024=>{const _0x564ea2=_0x445d87,_0x223373=_0x2cdee0[_0x564ea2(0x1a4)](_0x452024['id']),_0x556ccc=_0x223373?.[_0x564ea2(0x127)]??null;let _0x5c07ee=[];if(_0x452024[_0x564ea2(0x1c8)])try{const {steps:_0xdf6133}=await _0x136628[_0x564ea2(0x15e)](getBrowserSessionSteps,_0x452024[_0x564ea2(0x1c8)]);_0xdf6133[_0x564ea2(0x16c)]>0x0&&(_0x5c07ee=_0xdf6133['map'](_0x237e16=>{const _0x5ce189=_0x564ea2,_0x541e4e=_0x237e16['assets']['find'](_0x3a773a=>_0x3a773a[_0x5ce189(0x187)]===_0x5ce189(0x15c)&&_0x3a773a['timing']==='after')??_0x237e16['assets']['find'](_0x26066c=>_0x26066c[_0x5ce189(0x187)]===_0x5ce189(0x15c));let _0x2b0d02=null,_0x38a3f4=null;if(_0x541e4e){const _0x51c67e=_0x541e4e[_0x5ce189(0x1f6)][_0x5ce189(0x142)]['split']('/')['pop']();_0x2b0d02=_0x5eba6b+_0x5ce189(0x1e0)+_0x452024[_0x5ce189(0x1c8)]+'/artifacts/'+_0x51c67e,_0x51c67e&&(_0x38a3f4=_0x51c67e[_0x5ce189(0x1cd)](/\.\w+$/,'')[_0x5ce189(0x1cd)](/^(key_)?\d+_/,'')[_0x5ce189(0x1cd)](/[-_]/g,'\x20'));}return{'description':_0x38a3f4||_0x237e16['description']||_0x237e16[_0x5ce189(0x189)]||'Step\x20'+_0x237e16[_0x5ce189(0x1e9)],'screenshot':_0x2b0d02,'is_key_step':_0x237e16[_0x5ce189(0x1f7)]};}));}catch{}return _0x5c07ee[_0x564ea2(0x16c)]===0x0&&_0x556ccc?.[_0x564ea2(0x1d6)]&&(_0x5c07ee=_0x556ccc['screenshotUrls']['map']((_0x55f68f,_0x34eb40)=>({'description':_0x564ea2(0x16e)+(_0x34eb40+0x1),'screenshot':_0x55f68f,'is_key_step':![]}))),{'description':_0x452024['description'],'result':_0x136628[_0x564ea2(0x15e)](getScenarioResult,_0x452024),'rationale':getScenarioRationale(_0x452024,_0x556ccc?.['agentResponse']),'steps':_0x5c07ee};})),_0x48fb09={'url':_0x356580['dashboardUrl'],'scenarios':_0x2ace54};process['stdout']['write'](JSON[_0x445d87(0x1cf)](_0x48fb09,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x22e38f){const _0x3bf2a7=_0xfecff9,_0x599357={'QWlec':function(_0x4b08be){return _0x4b08be();},'CEpqa':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hEdfo':function(_0x537f1b,_0x42bac6){return _0x537f1b(_0x42bac6);},'BQIpE':'completed','wkGDM':_0x3bf2a7(0x1ef)},_0xca83cd=_0x22e38f||await _0x599357['QWlec'](getActiveFeatureId);if(!_0xca83cd)throw new Error(_0x599357[_0x3bf2a7(0x155)]);const _0x16c0a6=await getFeature(_0xca83cd);if(!_0x16c0a6['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x184388}=await _0x599357[_0x3bf2a7(0x17e)](listFeatureSessions,_0xca83cd),_0xda3d36=_0x184388[_0x3bf2a7(0x148)](_0x235dde=>_0x235dde['id']===_0x16c0a6[_0x3bf2a7(0x1b6)]);if(!_0xda3d36)throw new Error('Current\x20session\x20not\x20found.');if(_0xda3d36['status']===_0x599357['BQIpE']){console['log'](_0x3bf2a7(0x1ab));return;}if(_0xda3d36[_0x3bf2a7(0x18c)]!==_0x599357['wkGDM'])throw new Error(_0x3bf2a7(0x1c2)+_0xda3d36[_0x3bf2a7(0x18c)]);console[_0x3bf2a7(0x12d)](_0x3bf2a7(0x168)),await concludeSession(_0xca83cd,_0x16c0a6[_0x3bf2a7(0x1b6)]),console['log'](_0x3bf2a7(0x1f8)+_0xda3d36[_0x3bf2a7(0x1da)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x4e17b1){const _0x567e3a=_0xfecff9,_0x1a4d84={'WlgEB':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','lMPwB':function(_0x856501,_0x2aa9d3){return _0x856501===_0x2aa9d3;},'zHXen':'No\x20sessions\x20found.','VFkgV':'in_progress'},_0x324c8a=_0x4e17b1||await getActiveFeatureId();if(!_0x324c8a)throw new Error(_0x1a4d84['WlgEB']);const _0x3806ce=await getFeature(_0x324c8a);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x3806ce['name']+'\x0a');const {sessions:_0x22d4e5}=await listFeatureSessions(_0x324c8a);if(_0x1a4d84[_0x567e3a(0x1d7)](_0x22d4e5['length'],0x0)){console[_0x567e3a(0x12d)](_0x1a4d84['zHXen']);return;}for(const _0x3830ce of _0x22d4e5){const _0xef79c3=_0x1a4d84['lMPwB'](_0x3830ce[_0x567e3a(0x18c)],'completed')?'✅':_0x1a4d84[_0x567e3a(0x1d7)](_0x3830ce[_0x567e3a(0x18c)],_0x1a4d84[_0x567e3a(0x1c6)])?'🔄':'▶️';console[_0x567e3a(0x12d)](_0xef79c3+'\x20Session\x20'+_0x3830ce[_0x567e3a(0x1da)]+'\x20('+_0x3830ce['id']+')'),console['log'](_0x567e3a(0x1b8)+_0x3830ce['status']),console['log'](_0x567e3a(0x18b)+new Date(_0x3830ce['createdAt'])[_0x567e3a(0x162)]()),_0x3830ce[_0x567e3a(0x147)]&&console[_0x567e3a(0x12d)]('\x20\x20\x20Completed:\x20'+new Date(_0x3830ce['completedAt'])['toLocaleString']()),console[_0x567e3a(0x12d)]('');}}export async function featureAddScenario(_0x33811e,_0x4766f3){const _0x488cf5=_0xfecff9,_0x2247fc={'JjWHQ':function(_0x10b723){return _0x10b723();},'pPAGM':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','FxkvY':function(_0x4d52e8,_0x5e3a18,_0x27b2b9){return _0x4d52e8(_0x5e3a18,_0x27b2b9);},'AQnOw':function(_0xe16e6b,_0x577dc7){return _0xe16e6b(_0x577dc7);}},_0x4542da=_0x4766f3||await _0x2247fc[_0x488cf5(0x15b)](getActiveFeatureId);if(!_0x4542da)throw new Error(_0x2247fc['pPAGM']);const _0x4a43ce=await getFeature(_0x4542da);if(_0x4a43ce['latestReview']&&!_0x4a43ce[_0x488cf5(0x17a)]['submittedAt'])throw new Error(_0x488cf5(0x149)+_0x4a43ce[_0x488cf5(0x1ae)]);await _0x2247fc[_0x488cf5(0x1e7)](createChecklistItem,_0x4542da,_0x33811e);const _0x5285c0=await _0x2247fc['AQnOw'](getFeature,_0x4542da);console[_0x488cf5(0x12d)]('\x0a✅\x20Scenario\x20added'),_0x2247fc['FxkvY'](displayFeature,_0x5285c0,_0x5285c0['checklistItems']);}export async function featureEditScenario(_0x40db1d,_0x2dfff0){const _0x3a3302=_0xfecff9,_0x48134d={'DMTAp':function(_0x364588){return _0x364588();},'Gaqsy':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','eGMeF':_0x3a3302(0x1a6),'TpSGv':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','sOOcs':'Please\x20finish\x20your\x20review\x20first:','GgBlX':function(_0x42d27a,_0x15cfd2){return _0x42d27a===_0x15cfd2;},'jrJLi':function(_0x31f556,_0x113d3c){return _0x31f556===_0x113d3c;},'jESpu':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','tmJAh':function(_0x42ec01,_0x565177){return _0x42ec01+_0x565177;},'zeovD':function(_0xfe3954,_0x4be189){return _0xfe3954<_0x4be189;},'PJfNI':'\x0aAvailable\x20scenarios:','AqUTG':function(_0x539d04,_0x26b8cb){return _0x539d04(_0x26b8cb);},'IZqQo':function(_0x296b02,_0x32b92f,_0x3597a4){return _0x296b02(_0x32b92f,_0x3597a4);}},_0xe936ae=_0x2dfff0['id']||await _0x48134d['DMTAp'](getActiveFeatureId);!_0xe936ae&&(console['error'](_0x48134d['Gaqsy']),console[_0x3a3302(0x1d4)](_0x48134d[_0x3a3302(0x1de)]),process['exit'](0x1));const _0x34ec86=await getFeature(_0xe936ae);_0x34ec86[_0x3a3302(0x17a)]&&!_0x34ec86[_0x3a3302(0x17a)][_0x3a3302(0x1f9)]&&(console['error'](_0x48134d[_0x3a3302(0x208)]),console[_0x3a3302(0x1d4)](_0x48134d['sOOcs']),console[_0x3a3302(0x1d4)]('\x20\x20'+_0x34ec86['dashboardUrl']),process['exit'](0x1));const _0x30d3c0=_0x34ec86[_0x3a3302(0x1b0)]||[];_0x48134d['GgBlX'](_0x30d3c0['length'],0x0)&&(console['error'](_0x3a3302(0x1b4)),process[_0x3a3302(0x1a7)](0x1));if(_0x48134d[_0x3a3302(0x1af)](_0x2dfff0['scenario'],undefined)){console['error'](_0x48134d['jESpu']),console['log'](_0x3a3302(0x1f2));for(let _0x21d8bf=0x0;_0x21d8bf<_0x30d3c0['length'];_0x21d8bf++){console['log']('\x20\x20'+_0x48134d[_0x3a3302(0x19f)](_0x21d8bf,0x1)+'.\x20'+_0x30d3c0[_0x21d8bf][_0x3a3302(0x175)]);}process[_0x3a3302(0x1a7)](0x1);}const _0x130a6b=_0x2dfff0['scenario']-0x1;if(_0x48134d['zeovD'](_0x130a6b,0x0)||_0x130a6b>=_0x30d3c0[_0x3a3302(0x16c)]){console[_0x3a3302(0x1d4)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x2dfff0['scenario']+_0x3a3302(0x161)+_0x30d3c0['length']+_0x3a3302(0x178)),console[_0x3a3302(0x12d)](_0x48134d['PJfNI']);for(let _0x250f09=0x0;_0x48134d[_0x3a3302(0x15d)](_0x250f09,_0x30d3c0[_0x3a3302(0x16c)]);_0x250f09++){console[_0x3a3302(0x12d)]('\x20\x20'+(_0x250f09+0x1)+'.\x20'+_0x30d3c0[_0x250f09]['description']);}process['exit'](0x1);}const _0x2ef868=_0x30d3c0[_0x130a6b];await updateChecklistItem(_0xe936ae,_0x2ef868['id'],{'description':_0x40db1d});const _0x47068b=await _0x48134d['AqUTG'](getFeature,_0xe936ae);console['log']('\x0a✅\x20Scenario\x20updated'),_0x48134d[_0x3a3302(0x145)](displayFeature,_0x47068b,_0x47068b['checklistItems']);}async function downloadFeedbackImage(_0x38e4f6,_0x314f2c){const _0x47ae64=_0xfecff9,_0x199c73={'CqiAJ':function(_0x11ed54){return _0x11ed54();},'NrGpt':function(_0xf7879,_0x213708,_0xe0912){return _0xf7879(_0x213708,_0xe0912);},'eNNmm':function(_0x539168,_0x1b9b24,_0xdb2412){return _0x539168(_0x1b9b24,_0xdb2412);}};try{const _0x26065f=join(_0x199c73[_0x47ae64(0x159)](getRangerDir),_0x47ae64(0x173));await _0x199c73[_0x47ae64(0x1c0)](mkdir,_0x26065f,{'recursive':!![]});const _0x4b38d1=_0x199c73['NrGpt'](join,_0x26065f,_0x47ae64(0x13f)+_0x314f2c+'.png'),_0x440008=await fetch(_0x38e4f6);if(!_0x440008['ok'])return null;const _0x594a5d=Buffer['from'](await _0x440008['arrayBuffer']());return await _0x199c73['eNNmm'](writeFile,_0x4b38d1,_0x594a5d),_0x4b38d1;}catch{return null;}}export async function featureGetReview(_0x5f33cb){const _0x5bec95=_0xfecff9,_0xed7240={'KSBgd':_0x5bec95(0x1c5),'anFyw':function(_0x2a28c4,_0x23119d){return _0x2a28c4(_0x23119d);},'Jkvnk':function(_0x3161c2,_0x4f835f){return _0x3161c2===_0x4f835f;},'NOSTV':_0x5bec95(0x139),'VOfsA':function(_0x5de055,_0x40c419){return _0x5de055<_0x40c419;},'LNbgr':function(_0x19e782,_0x49e385){return _0x19e782>_0x49e385;},'VYTPz':_0x5bec95(0x198),'BbtqF':'short','oludh':'numeric','tDKue':_0x5bec95(0x199),'zVWFZ':_0x5bec95(0x1cc),'ZkqbG':_0x5bec95(0x1c4)},_0x1868d1=_0x5f33cb||await getActiveFeatureId();if(!_0x1868d1)throw new Error(_0xed7240[_0x5bec95(0x188)]);const _0x47d27f=await getFeature(_0x1868d1),{items:_0x470fbd}=await _0xed7240['anFyw'](getActionItems,_0x1868d1);console[_0x5bec95(0x12d)](_0x5bec95(0x124)+_0x47d27f[_0x5bec95(0x131)]+'\x20('+_0x47d27f['id']+')\x0a');if(_0xed7240[_0x5bec95(0x177)](_0x470fbd[_0x5bec95(0x16c)],0x0)){console['log'](_0xed7240[_0x5bec95(0x202)]);return;}for(let _0x585e07=0x0;_0xed7240['VOfsA'](_0x585e07,_0x470fbd[_0x5bec95(0x16c)]);_0x585e07++){const _0x34fa5a=_0x470fbd[_0x585e07],_0x421a8d=_0xed7240['LNbgr'](_0x34fa5a['version'],0x1)?'\x20(v'+_0x34fa5a['version']+')':'',_0x3e64f3=await getItemFeedback(_0x1868d1,_0x34fa5a['id']);if(_0x3e64f3['unaddressedComments']['length']>0x0){console[_0x5bec95(0x12d)]('Scenario\x20'+(_0x585e07+0x1)+':\x20\x22'+_0x34fa5a[_0x5bec95(0x175)]+'\x22'+_0x421a8d+'\x20—\x20'+_0x3e64f3['unaddressedComments'][_0x5bec95(0x16c)]+_0x5bec95(0x201));for(const _0x3fbaaf of _0x3e64f3['unaddressedComments']){const _0x358b9e=new Date(_0x3fbaaf['createdAt'])[_0x5bec95(0x204)](_0xed7240['VYTPz'],{'month':_0xed7240['BbtqF'],'day':_0xed7240['oludh']}),_0x17aefb=_0x3fbaaf['authorName']||_0x3fbaaf[_0x5bec95(0x125)]||_0xed7240['tDKue'];console['log']('\x20\x20💬\x20'+_0x17aefb+'\x20('+_0x358b9e+_0x5bec95(0x167)+_0x3fbaaf[_0x5bec95(0x128)]+'\x22');if(_0x3fbaaf[_0x5bec95(0x1b9)]){const _0x338a2f=await downloadFeedbackImage(_0x3fbaaf['assetUrl'],_0x3fbaaf['id']);_0x338a2f&&console[_0x5bec95(0x12d)](_0x5bec95(0x16a)+_0x338a2f);}if(_0x3fbaaf[_0x5bec95(0x1a2)]){const _0x111f5c=_0x3fbaaf[_0x5bec95(0x1a2)]['selector'][_0x5bec95(0x1f5)](_0xed7240['zVWFZ'])[_0x5bec95(0x1a3)]()?.['split'](':')[0x0]||'element',_0x40cc8e=_0x3fbaaf[_0x5bec95(0x1a2)][_0x5bec95(0x12b)]?'\x20\x22'+_0x3fbaaf['domRef'][_0x5bec95(0x12b)]['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x111f5c+'>'+_0x40cc8e),console[_0x5bec95(0x12d)](_0x5bec95(0x18e)+_0x3fbaaf['domRef']['selector']);}else{if(_0x3fbaaf[_0x5bec95(0x121)]){const _0x4d2c7f=_0x3fbaaf[_0x5bec95(0x121)]['coordinates'];_0x3fbaaf[_0x5bec95(0x121)]['type']===_0xed7240['ZkqbG']&&_0x4d2c7f[_0x5bec95(0x16c)]>=0x2?console[_0x5bec95(0x12d)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4d2c7f[0x0]['toFixed'](0x2)+',\x20'+_0x4d2c7f[0x1][_0x5bec95(0x13b)](0x2)+')'):console[_0x5bec95(0x12d)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3fbaaf['spatial']['type']+_0x5bec95(0x1d5)+_0x4d2c7f[_0x5bec95(0x164)](_0x412ee5=>_0x412ee5['toFixed'](0x2))[_0x5bec95(0x18a)](',\x20')+']');}}}if(_0x3e64f3['canonicalFlow']){console[_0x5bec95(0x12d)]('\x20\x20Expected\x20flow:');for(const _0x5c0d17 of _0x3e64f3['canonicalFlow'][_0x5bec95(0x1f5)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x5c0d17);}}}else console[_0x5bec95(0x12d)](_0x5bec95(0x191)+(_0x585e07+0x1)+':\x20\x22'+_0x34fa5a[_0x5bec95(0x175)]+'\x22'+_0x421a8d+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x5bec95(0x12d)]('');}}export async function featureDelete(_0x584e10){const _0x55b394=_0xfecff9,_0x39d6c5={'GdkRb':function(_0x3e1f40){return _0x3e1f40();},'DvDub':_0x55b394(0x1c5),'bOaEs':function(_0x23674d,_0x308df7){return _0x23674d(_0x308df7);}},_0x1ec67e=_0x584e10||await _0x39d6c5['GdkRb'](getActiveFeatureId);if(!_0x1ec67e)throw new Error(_0x39d6c5['DvDub']);const _0x9c4022=await _0x39d6c5[_0x55b394(0x1be)](getFeature,_0x1ec67e);await softDeleteFeature(_0x1ec67e),console['log'](_0x55b394(0x1c9)+_0x9c4022[_0x55b394(0x131)]+'\x20('+_0x1ec67e+')'),console[_0x55b394(0x12d)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x1ec67e);}export async function featureRestore(_0x5a439d){const _0x358170=_0xfecff9,_0x280a85={'AvnVT':function(_0x449937,_0x74f9cc,_0x3c702c){return _0x449937(_0x74f9cc,_0x3c702c);}};await restoreFeature(_0x5a439d);const _0x391037=await getFeature(_0x5a439d);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x391037[_0x358170(0x131)]+'\x20('+_0x5a439d+')'),_0x280a85['AvnVT'](displayFeature,_0x391037,_0x391037['checklistItems']);}
1
+ const _0x52aa40=_0x3041;(function(_0x54ee2d,_0x5823a7){const _0x23f623=_0x3041,_0x644b23=_0x54ee2d();while(!![]){try{const _0x4f23ae=-parseInt(_0x23f623(0xb5))/0x1+-parseInt(_0x23f623(0x13b))/0x2+parseInt(_0x23f623(0xd8))/0x3+-parseInt(_0x23f623(0x15a))/0x4*(parseInt(_0x23f623(0x15e))/0x5)+parseInt(_0x23f623(0x146))/0x6*(-parseInt(_0x23f623(0xee))/0x7)+parseInt(_0x23f623(0xb3))/0x8+-parseInt(_0x23f623(0x9f))/0x9*(-parseInt(_0x23f623(0x145))/0xa);if(_0x4f23ae===_0x5823a7)break;else _0x644b23['push'](_0x644b23['shift']());}catch(_0x591fa7){_0x644b23['push'](_0x644b23['shift']());}}}(_0x4801,0x642a3));import{readFile,writeFile,mkdir}from'fs/promises';function _0x3041(_0x18b22f,_0x3aa82d){_0x18b22f=_0x18b22f-0x9b;const _0x48015d=_0x4801();let _0x30414b=_0x48015d[_0x18b22f];return _0x30414b;}import{join}from'path';import{existsSync}from'fs';function _0x4801(){const _0x1be8e4=['\x20\x20\x20Completed:\x20','blockedReason','JdGNE','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','currentBranch','checklistItems','qTAJP','Scenario\x20','pipe','reports','\x20\x20\x20Updated\x20branch\x20to:\x20','2794240pYxgab','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','426760pvEabT','env','/artifacts/','yAEDE','NvyaC','\x20--limit\x20','trim','\x0a✅\x20Restored\x20feature\x20review:\x20','filter','LfudB','repeat','jKpJf','storage','stats','has','nDVhV','uQhiB','Xqhoy','toLocaleDateString','replace','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x0aConcluding\x20session...','stringify','currentSessionId','iteration','map','totalCount','No\x20active\x20session\x20for\x20this\x20feature\x20review.','TAJGH','\x20\x20\x20\x20\x20ID:\x20','find','completedAt','textContent','createdAt','utf-8','258267LaLteQ','RBIpI','gitRepoUrl','any','error','Not\x20in\x20a\x20git\x20repository.','\x20>\x20','sessionId','selector','mPRgR','\x20\x20\x20Description:\x20','exit','\x20verified','PGqEC','Step\x20','iIgwF','gitBranch','log','VGqhj','HZxPF','get','blocked','7LTBsZl','comment_','HHzel','isInteger','JfkpT','ddMLx','\x0a✅\x20Feature\x20review\x20created:\x20','dashboardUrl','canceledReason','submittedAt','\x20\x20\x20\x20\x20\x20Blocked:\x20','isKeyStep','MUBBR','\x0a✅\x20Scenario\x20added','\x20--include-deleted','completed','pop','dbalx','status','wcyBz',':\x20\x22','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','write','lxrWs','oEWum','terminalReason','domRef','ljZXk','\x20\x20\x20ID:\x20','split','in_progress','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','assetUrl','\x20\x20\x20\x20','aIfET','\x20\x20\x20','incompleteReason','offset','Showing\x20','\x20[has\x20reviewer\x20feedback]','\x0a✅\x20Session\x20is\x20already\x20completed.','daHvT','Please\x20finish\x20your\x20review\x20first:','\x20(v','luqFl','FQGOg','PYGAe','\x20--current-branch','KEwKZ','agentResponse','kNiri','nlnGg','oDvJl','\x20\x20\x20Repository:\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','OELSN','CLAUDE_SESSION_ID','\x0a✅\x20Session\x20','notes','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','\x20Session\x20','position','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','TrIgJ','browserSessionId','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','\x1b[1m','stdout','name','length','incompleteItems','nWFDw','fpEgs','active-feature.txt','iSkZF','\x20—\x20no\x20comments','...','1164416LMwTii','ready','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','scenario','push','CzCRW','QWPob','AxsRt','\x20\x20\x20Created:\x20','AAvcw','20YMRGNy','1254906XTjwMO','iOaon','items','gZjCW','arrayBuffer','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20blocked','Current\x20session\x20not\x20found.','verified','yGKmu','screenshot','selected','version','json','1|4|3|0|2|5','\x20feature\x20review(s)\x20found','toLocaleString','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','XBida','GMmTE','4qWAlUD','spatial','assetType','description','478435sGmBBp','aSEwo','\x20\x20\x20\x20\x20\x20Cancelled:\x20','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','latestReview','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','dryVl','dVKVE','stepName','limit','verification_in_progress','.png','unaddressedComments','ODhKH','qOBxk','\x0a⚠️\x20\x20','all','\x20\x20\x20Branch:\x20','5799204EBeCvP','element','toFixed','\x20\x20\x20Progress:\x20','\x20in\x20progress','assets','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','location'];_0x4801=function(){return _0x1be8e4;};return _0x4801();}import{execSync}from'child_process';import _0x351ff2 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=_0x52aa40(0x137),bold=_0x440f9e=>_0x52aa40(0x130)+_0x440f9e+'\x1b[0m';function getGitRepoUrl(){const _0x4a9884=_0x52aa40,_0xcfaa63={'Xqhoy':function(_0x2eded7,_0x3f2d6e,_0x19b4d9){return _0x2eded7(_0x3f2d6e,_0x19b4d9);},'WNzlW':'utf-8','lxrWs':_0x4a9884(0xb0),'dbalx':'github.com/'};try{const _0x58b5da=_0xcfaa63[_0x4a9884(0xc6)](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0xcfaa63['WNzlW'],'stdio':['pipe',_0xcfaa63[_0x4a9884(0x105)],'pipe']})[_0x4a9884(0xbb)]();return _0x58b5da[_0x4a9884(0xc8)](/\.git$/,'')[_0x4a9884(0xc8)](/^git@github\.com:/,_0xcfaa63[_0x4a9884(0xff)])[_0x4a9884(0xc8)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x4184b0=_0x52aa40,_0xaa6e34={'MNNWb':'utf-8','PYGAe':_0x4184b0(0xb0)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0xaa6e34['MNNWb'],'stdio':[_0x4184b0(0xb0),_0xaa6e34[_0x4184b0(0x11c)],_0x4184b0(0xb0)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x2113e6=_0x52aa40,_0x5a1182={'Sxhoz':function(_0x5c6097){return _0x5c6097();},'kNiri':function(_0x40430a,_0x5324c4){return _0x40430a(_0x5324c4);},'URiff':function(_0x19942d,_0x5a0239,_0x15147c){return _0x19942d(_0x5a0239,_0x15147c);}},_0x40999c=join(_0x5a1182['Sxhoz'](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x5a1182[_0x2113e6(0x120)](existsSync,_0x40999c))return null;try{const _0x3a38f9=await _0x5a1182['URiff'](readFile,_0x40999c,_0x2113e6(0xd7));return _0x3a38f9['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x128f55){const _0x53462a=_0x52aa40,_0x118f55={'yAEDE':function(_0x33b05d){return _0x33b05d();},'qZdLj':function(_0x53bbf6,_0x29196f){return _0x53bbf6(_0x29196f);},'zaOxL':function(_0x333b6a,_0x4a89b2,_0x47c169,_0x67d551){return _0x333b6a(_0x4a89b2,_0x47c169,_0x67d551);}},_0x458653=_0x118f55[_0x53462a(0xb8)](getRangerDir),_0x48972f=join(_0x458653,ACTIVE_FEATURE_FILE);!_0x118f55['qZdLj'](existsSync,_0x458653)&&await mkdir(_0x458653,{'recursive':!![]}),await _0x118f55['zaOxL'](writeFile,_0x48972f,_0x128f55,_0x53462a(0xd7));}function getProgressDisplay(_0x261359){const _0x32ed09=_0x52aa40,_0x212fa5={'fpEgs':function(_0x373539,_0x2fe5ae){return _0x373539+_0x2fe5ae;},'pkUVW':function(_0xfe1972,_0x5b0db1){return _0xfe1972-_0x5b0db1;},'aPVOw':function(_0x2271ac,_0x3282ac){return _0x2271ac>_0x3282ac;},'LfudB':function(_0x5947b0,_0x5be3d5){return _0x5947b0>_0x5be3d5;},'BmlKJ':function(_0x521a46,_0x34761e){return _0x521a46>_0x34761e;}},_0x1dd057=_0x261359['verifiedItems']||0x0,_0x112761=_0x261359['verificationInProgressItems']||0x0,_0x5bc553=_0x261359['blockedItems']||0x0,_0x18ce40=_0x261359[_0x32ed09(0x134)]||0x0,_0x57fa17=_0x261359['pendingItems']||0x0,_0x9b3c23=_0x212fa5[_0x32ed09(0x136)](_0x212fa5['fpEgs'](_0x1dd057+_0x112761+_0x5bc553,_0x18ce40),_0x57fa17);if(_0x9b3c23===0x0)return'-';const _0x2d0997=0xa,_0x10ee81=Math['round'](_0x1dd057/_0x9b3c23*_0x2d0997),_0x19b4dc='█'[_0x32ed09(0xbf)](_0x10ee81)+'░'[_0x32ed09(0xbf)](_0x212fa5['pkUVW'](_0x2d0997,_0x10ee81)),_0x230581=[];if(_0x212fa5['aPVOw'](_0x5bc553,0x0))_0x230581[_0x32ed09(0x13f)](_0x5bc553+_0x32ed09(0x14c));if(_0x212fa5[_0x32ed09(0xbe)](_0x18ce40,0x0))_0x230581['push'](_0x18ce40+'\x20incomplete');if(_0x212fa5['BmlKJ'](_0x112761,0x0))_0x230581[_0x32ed09(0x13f)](_0x112761+_0x32ed09(0xa3));const _0x5dc096=_0x230581['length']>0x0?'\x20('+_0x230581['join'](',\x20')+')':'';return _0x19b4dc+'\x20'+_0x1dd057+'/'+_0x9b3c23+_0x32ed09(0xe4)+_0x5dc096;}function getCurrentSessionItems(_0x3859ea,_0x44fe18){const _0x281bb8=_0x52aa40;if(!_0x3859ea['currentSessionId'])return _0x44fe18['filter'](_0x3a4efe=>!_0x3a4efe['sessionId']);return _0x44fe18['filter'](_0x23a44d=>_0x23a44d['sessionId']===_0x3859ea['currentSessionId']||!_0x23a44d[_0x281bb8(0xdf)]);}function displayFeature(_0x1f9891,_0x192135){const _0x116861=_0x52aa40,_0x42c8d6={'Uwvri':function(_0x238436,_0x217a88){return _0x238436(_0x217a88);},'duVkT':function(_0x32abf9,_0x556426){return _0x32abf9<_0x556426;},'NvyaC':_0x116861(0x14e),'qZFRr':function(_0x14bea8,_0x520c83){return _0x14bea8===_0x520c83;},'aIfET':'incomplete','luqFl':function(_0x1851e9,_0x284195){return _0x1851e9===_0x284195;},'aSEwo':'closed','VHhbp':function(_0xb8ade1,_0x3d7f41){return _0xb8ade1>_0x3d7f41;},'AAvcw':function(_0x55dec5,_0x312fdb){return _0x55dec5!==_0x312fdb;},'oEWum':function(_0x42ff87,_0xfd0d72){return _0x42ff87+_0xfd0d72;},'muYVW':function(_0xcc0848,_0x1a4074){return _0xcc0848===_0x1a4074;},'ufWhT':'approved'};console[_0x116861(0xe9)]('\x0a'+_0x1f9891[_0x116861(0x132)]+'\x20('+_0x1f9891['dashboardUrl']+')');_0x1f9891[_0x116861(0xc2)]&&console[_0x116861(0xe9)](_0x116861(0xa2)+_0x42c8d6['Uwvri'](getProgressDisplay,_0x1f9891['stats']));_0x1f9891[_0x116861(0x15d)]&&console[_0x116861(0xe9)](_0x116861(0xe2)+_0x1f9891[_0x116861(0x15d)]);_0x1f9891['gitRepoUrl']&&console[_0x116861(0xe9)](_0x116861(0x123)+_0x1f9891['gitRepoUrl']);_0x1f9891['gitBranch']&&console['log'](_0x116861(0x9e)+_0x1f9891[_0x116861(0xe8)]);console[_0x116861(0xe9)]('\x20\x20\x20Created:\x20'+new Date(_0x1f9891[_0x116861(0xd6)])[_0x116861(0x156)]());_0x1f9891['completedAt']&&console[_0x116861(0xe9)](_0x116861(0xa7)+new Date(_0x1f9891['completedAt'])[_0x116861(0x156)]());if(_0x192135&&_0x192135[_0x116861(0x133)]>0x0){console[_0x116861(0xe9)]('\x0a\x20\x20\x20Scenarios:');for(let _0x4d503d=0x0;_0x42c8d6['duVkT'](_0x4d503d,_0x192135['length']);_0x4d503d++){const _0x449a01=_0x192135[_0x4d503d];let _0x276064;if(_0x449a01[_0x116861(0x100)]==='closed'&&_0x449a01[_0x116861(0x107)]==='approved')_0x276064='✅';else{if(_0x449a01[_0x116861(0x100)]===_0x42c8d6[_0x116861(0xb9)])_0x276064='🟢';else{if(_0x42c8d6['qZFRr'](_0x449a01[_0x116861(0x100)],_0x42c8d6[_0x116861(0x110)]))_0x276064='🟠';else{if(_0x42c8d6[_0x116861(0x11a)](_0x449a01['status'],'blocked'))_0x276064='🛑';else{if(_0x42c8d6[_0x116861(0x11a)](_0x449a01[_0x116861(0x100)],_0x42c8d6[_0x116861(0x15f)]))_0x276064='⛔';else _0x449a01[_0x116861(0x100)]===_0x116861(0x169)?_0x276064='⏳':_0x276064='⬜';}}}}const _0x33f739=_0x42c8d6['VHhbp'](_0x449a01['version'],0x1)?_0x116861(0x119)+_0x449a01[_0x116861(0x152)]+')':'',_0x202674=_0x449a01[_0x116861(0x152)]>0x1&&_0x449a01['parentItemId']&&_0x449a01['status']!==_0x42c8d6['aSEwo']&&_0x42c8d6[_0x116861(0x144)](_0x449a01[_0x116861(0x100)],_0x42c8d6['NvyaC'])?_0x116861(0x115):'';console['log'](_0x116861(0x111)+_0x42c8d6[_0x116861(0x106)](_0x4d503d,0x1)+'.\x20'+_0x276064+'\x20'+_0x449a01[_0x116861(0x15d)]+_0x33f739+_0x202674);_0x449a01['status']===_0x116861(0xed)&&_0x449a01[_0x116861(0xa8)]&&console['log'](_0x116861(0xf8)+_0x449a01[_0x116861(0xa8)]);_0x449a01['status']==='incomplete'&&_0x449a01['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x449a01['incompleteReason']);if(_0x449a01[_0x116861(0x100)]===_0x42c8d6['aSEwo']&&_0x42c8d6['muYVW'](_0x449a01[_0x116861(0x107)],_0x42c8d6['ufWhT']))console[_0x116861(0xe9)]('\x20\x20\x20\x20\x20\x20Approved');else _0x449a01['status']===_0x42c8d6[_0x116861(0x15f)]&&_0x449a01['canceledReason']&&console[_0x116861(0xe9)](_0x116861(0x160)+_0x449a01['canceledReason']);}}}export async function featureCreate(_0x5152b6,_0x24afa8){const _0x513f4f=_0x52aa40,_0x55685f={'TAJGH':function(_0x5131b4,_0x50f11a){return _0x5131b4(_0x50f11a);},'zvOFv':function(_0x4726c7,_0x5b0c2a){return _0x4726c7(_0x5b0c2a);}},{envNames:_0x3f82e1}=await getEnvNames();_0x3f82e1[_0x513f4f(0x133)]===0x0&&console['warn']('\x0a'+_0x55685f[_0x513f4f(0xd1)](formatProfileRequiredMessage,_0x4395ff=>bold(_0x4395ff)));const _0x155fcf=_0x24afa8['scenarios']?_0x24afa8['scenarios'][_0x513f4f(0xce)](_0x72521e=>_0x72521e['trim']()):[],_0x34cb88=getGitRepoUrl(),_0x1b1907=getGitBranch();console[_0x513f4f(0xe9)]('\x0aCreating\x20feature\x20review...');const _0x5a0eb4=await createFeature({'name':_0x5152b6,'description':_0x24afa8['description'],'checklist':_0x155fcf,'gitRepoUrl':_0x34cb88,'gitBranch':_0x1b1907});await _0x55685f['zvOFv'](setActiveFeatureId,_0x5a0eb4['id']),await tryStartCurrentSession(_0x5a0eb4['id']);const _0x50d72e=process[_0x513f4f(0xb6)]['CLAUDE_SESSION_ID'];_0x50d72e&&registerSession(_0x50d72e,_0x5a0eb4['id']),console[_0x513f4f(0xe9)](_0x513f4f(0xf4)+_0x5a0eb4['id']),displayFeature(_0x5a0eb4,_0x5a0eb4[_0x513f4f(0xad)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x3ef56f){const _0x5824ad=_0x52aa40,_0x594d66={'iryiM':function(_0x67314e){return _0x67314e();},'YxrcD':_0x5824ad(0x163),'RBIpI':function(_0x3f5258,_0x5e56d5){return _0x3f5258>_0x5e56d5;},'GMmTE':function(_0x55ac37,_0x1f5b1d){return _0x55ac37(_0x1f5b1d);},'bxjnC':function(_0xadd3c0,_0x3866a0){return _0xadd3c0+_0x3866a0;}},_0x15d6df={'limit':_0x3ef56f[_0x5824ad(0x168)]??0xa,'offset':_0x3ef56f[_0x5824ad(0x113)]??0x0,'includeDeleted':_0x3ef56f['includeDeleted']};_0x3ef56f['currentBranch']&&(_0x15d6df[_0x5824ad(0xda)]=_0x594d66['iryiM'](getGitRepoUrl),_0x15d6df['gitBranch']=_0x594d66['iryiM'](getGitBranch));const _0x4d21a7=await listFeatures(_0x15d6df);if(_0x4d21a7[_0x5824ad(0x148)]['length']===0x0){console[_0x5824ad(0xe9)](_0x594d66['YxrcD']);return;}const _0x28fa03=_0x594d66[_0x5824ad(0xd9)](_0x4d21a7[_0x5824ad(0xcf)],_0x4d21a7[_0x5824ad(0x148)][_0x5824ad(0x133)])?_0x5824ad(0x114)+_0x4d21a7['items']['length']+'\x20of\x20'+_0x4d21a7['totalCount']:_0x4d21a7[_0x5824ad(0xcf)]+_0x5824ad(0x155);console[_0x5824ad(0xe9)]('\x0a'+_0x28fa03+':\x0a');for(const _0x45f609 of _0x4d21a7[_0x5824ad(0x148)]){const _0x3dc6e4=_0x5824ad(0x154)[_0x5824ad(0x10b)]('|');let _0x549b9d=0x0;while(!![]){switch(_0x3dc6e4[_0x549b9d++]){case'0':_0x45f609[_0x5824ad(0xe8)]&&console[_0x5824ad(0xe9)]('\x20\x20\x20Branch:\x20'+_0x45f609[_0x5824ad(0xe8)]);continue;case'1':console[_0x5824ad(0xe9)](''+_0x45f609[_0x5824ad(0x132)]);continue;case'2':console['log'](_0x5824ad(0x143)+new Date(_0x45f609['createdAt'])[_0x5824ad(0xc7)]());continue;case'3':_0x45f609['stats']&&console['log'](_0x5824ad(0xa2)+_0x594d66[_0x5824ad(0x159)](getProgressDisplay,_0x45f609[_0x5824ad(0xc2)]));continue;case'4':console['log'](_0x5824ad(0x10a)+_0x45f609['id']);continue;case'5':console['log']('');continue;}break;}}const _0x4b6a09=_0x15d6df['limit']??0xa,_0x1b9906=_0x594d66['bxjnC'](_0x15d6df['offset']??0x0,_0x4d21a7['items'][_0x5824ad(0x133)]);if(_0x1b9906<_0x4d21a7[_0x5824ad(0xcf)]){const _0x288694=_0x4b6a09!==0xa?_0x5824ad(0xba)+_0x4b6a09:'',_0x39eb71=_0x3ef56f[_0x5824ad(0xac)]?_0x5824ad(0x11d):'',_0x12a1ac=_0x3ef56f['includeDeleted']?_0x5824ad(0xfc):'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x1b9906+_0x288694+_0x39eb71+_0x12a1ac);}}export async function featureShow(_0x1afa5a){const _0xf22a48=_0x52aa40,_0x7d5108={'Foaup':function(_0x4ad436){return _0x4ad436();},'CzCRW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CIvQV':function(_0x5b9b12,_0x4c4f7d,_0x1dd1ba){return _0x5b9b12(_0x4c4f7d,_0x1dd1ba);}},_0x35dc92=_0x1afa5a||await _0x7d5108['Foaup'](getActiveFeatureId);if(!_0x35dc92)throw new Error(_0x7d5108[_0xf22a48(0x140)]);const _0x3be8d1=await getFeature(_0x35dc92);_0x7d5108['CIvQV'](displayFeature,_0x3be8d1,_0x3be8d1['checklistItems']);}export async function featureResume(_0xb20a59){const _0x5a07e2=_0x52aa40,_0x54dc5b={'QWPob':function(_0x58e92e,_0x30c0f3){return _0x58e92e(_0x30c0f3);},'qOBxk':function(_0x410e38){return _0x410e38();},'dVKVE':function(_0x2f9c16,_0x5d7f67){return _0x2f9c16(_0x5d7f67);},'lgcrd':function(_0x391480,_0x59d175){return _0x391480&&_0x59d175;},'KEwKZ':_0x5a07e2(0xdd),'MUBBR':'any','ljZXk':function(_0x567d42,_0x3ad24b){return _0x567d42||_0x3ad24b;},'jhAuL':function(_0x3bb345,_0x3cb330){return _0x3bb345===_0x3cb330;},'ppcOx':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','iOaon':_0x5a07e2(0x161),'IdUiA':'list','QgWBk':_0x5a07e2(0x151),'kkRVI':_0x5a07e2(0x13d),'RyVGx':function(_0xd6f55d,_0x3f8fbc){return _0xd6f55d!==_0x3f8fbc;},'XBida':function(_0x5b97b1,_0x21fe25,_0x5bbf55){return _0x5b97b1(_0x21fe25,_0x5bbf55);},'mPRgR':function(_0x3a8906,_0x45cf6d){return _0x3a8906(_0x45cf6d);},'iIgwF':function(_0x5c62e7,_0x41ae35){return _0x5c62e7(_0x41ae35);}};if(_0xb20a59){const _0x1ad9fe=await _0x54dc5b['QWPob'](getFeature,_0xb20a59);await _0x54dc5b[_0x5a07e2(0x141)](setActiveFeatureId,_0x1ad9fe['id']);const _0x4edb8e=_0x54dc5b[_0x5a07e2(0x9b)](getGitBranch);_0x4edb8e&&_0x4edb8e!==_0x1ad9fe[_0x5a07e2(0xe8)]&&(await updateFeature(_0x1ad9fe['id'],{'gitBranch':_0x4edb8e}),console['log'](_0x5a07e2(0xb2)+_0x4edb8e));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x1ad9fe[_0x5a07e2(0x132)]+'\x20('+_0x1ad9fe['id']+')'),await tryStartCurrentSession(_0x1ad9fe['id']);const _0x2a34d3=process[_0x5a07e2(0xb6)][_0x5a07e2(0x126)];_0x2a34d3&&registerSession(_0x2a34d3,_0x1ad9fe['id']);displayFeature(_0x1ad9fe,_0x1ad9fe[_0x5a07e2(0xad)]),await _0x54dc5b[_0x5a07e2(0x166)](printFeedbackNudge,_0x1ad9fe['id']);return;}const _0x44e5ca=getGitRepoUrl(),_0x280ce4=_0x54dc5b[_0x5a07e2(0x9b)](getGitBranch);if(_0x54dc5b['lgcrd'](!_0x44e5ca,!_0x280ce4))throw new Error(_0x54dc5b[_0x5a07e2(0x11e)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x44e5ca||_0x54dc5b[_0x5a07e2(0xfa)])+'\x20/\x20'+_0x54dc5b[_0x5a07e2(0x109)](_0x280ce4,_0x5a07e2(0xdb))+_0x5a07e2(0x13a));const _0x37580c=await listFeatures({'gitRepoUrl':_0x44e5ca,'gitBranch':_0x280ce4}),_0x24436b=_0x37580c[_0x5a07e2(0x148)][_0x5a07e2(0xbd)](_0x352bd0=>!_0x352bd0['completedAt']);if(_0x24436b['length']===0x0){console['log'](_0x5a07e2(0x14b)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x3b1194;if(_0x54dc5b['jhAuL'](_0x24436b['length'],0x1))_0x3b1194=_0x24436b[0x0];else{const _0x21ff87=process['stdin']['isTTY']&&process[_0x5a07e2(0x131)]['isTTY'];if(!_0x21ff87){console[_0x5a07e2(0xe9)](_0x54dc5b['ppcOx']);for(const _0x4a3094 of _0x24436b){console[_0x5a07e2(0xe9)]('\x20\x20'+_0x4a3094['name']),console[_0x5a07e2(0xe9)](_0x5a07e2(0xd2)+_0x4a3094['id']),_0x4a3094[_0x5a07e2(0xc2)]&&console[_0x5a07e2(0xe9)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4a3094[_0x5a07e2(0xc2)])),_0x4a3094[_0x5a07e2(0xe8)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x4a3094[_0x5a07e2(0xe8)]);}throw new Error(_0x54dc5b[_0x5a07e2(0x147)]);}const {selected:_0x5abdd2}=await _0x351ff2['prompt']([{'type':_0x54dc5b['IdUiA'],'name':_0x54dc5b['QgWBk'],'message':_0x54dc5b['kkRVI'],'choices':_0x24436b['map'](_0x4c6c90=>({'name':_0x4c6c90['name']+'\x20('+_0x4c6c90['id']+')','value':_0x4c6c90['id']}))}]);_0x3b1194=_0x24436b['find'](_0x6ea0dc=>_0x6ea0dc['id']===_0x5abdd2);}await _0x54dc5b['QWPob'](setActiveFeatureId,_0x3b1194['id']);_0x280ce4&&_0x54dc5b['RyVGx'](_0x280ce4,_0x3b1194[_0x5a07e2(0xe8)])&&(await _0x54dc5b[_0x5a07e2(0x158)](updateFeature,_0x3b1194['id'],{'gitBranch':_0x280ce4}),console[_0x5a07e2(0xe9)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x280ce4));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3b1194[_0x5a07e2(0x132)]+'\x20('+_0x3b1194['id']+')'),await _0x54dc5b['mPRgR'](tryStartCurrentSession,_0x3b1194['id']);const _0x31cda5=await _0x54dc5b[_0x5a07e2(0xe1)](getFeature,_0x3b1194['id']),_0x2bddb0=process['env']['CLAUDE_SESSION_ID'];_0x2bddb0&&_0x54dc5b['XBida'](registerSession,_0x2bddb0,_0x31cda5['id']),displayFeature(_0x31cda5,_0x31cda5[_0x5a07e2(0xad)]),await _0x54dc5b[_0x5a07e2(0xe7)](printFeedbackNudge,_0x31cda5['id']);}async function printFeedbackNudge(_0x4f0d05){const _0x5e3594=_0x52aa40,_0x1749b0={'YmTjI':function(_0x3f2053,_0x2d816c){return _0x3f2053(_0x2d816c);},'OELSN':function(_0x1cc40c,_0x2ad9cd,_0x35beec){return _0x1cc40c(_0x2ad9cd,_0x35beec);},'ngfCg':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x5bb9c0}=await _0x1749b0['YmTjI'](getActionItems,_0x4f0d05);let _0x139311=0x0,_0x1a306c=0x0;for(const _0x391b7a of _0x5bb9c0){const _0xd47551=await _0x1749b0[_0x5e3594(0x125)](getItemFeedback,_0x4f0d05,_0x391b7a['id']);_0xd47551['unaddressedComments'][_0x5e3594(0x133)]>0x0&&(_0x139311+=_0xd47551['unaddressedComments'][_0x5e3594(0x133)],_0x1a306c++);}_0x139311>0x0&&(console[_0x5e3594(0xe9)](_0x5e3594(0x9c)+_0x139311+_0x5e3594(0x12f)+_0x1a306c+'\x20scenario(s).'),console[_0x5e3594(0xe9)](_0x1749b0['ngfCg']));}catch{}}async function tryStartCurrentSession(_0x13b233){const _0x52c015=_0x52aa40,_0x577a23={'uEZSr':function(_0x51ad28,_0x7070f,_0x2cb04d){return _0x51ad28(_0x7070f,_0x2cb04d);}};try{const {sessions:_0x2915bc}=await listFeatureSessions(_0x13b233),_0x467fa7=_0x2915bc['find'](_0x27fab6=>_0x27fab6[_0x52c015(0x100)]===_0x52c015(0x13c));_0x467fa7&&(await _0x577a23['uEZSr'](startSession,_0x13b233,_0x467fa7['id']),console[_0x52c015(0xe9)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x467fa7[_0x52c015(0xcd)]));}catch{}}export async function featureReport(_0x19aa7f,_0x38310a){const _0x4932e8=_0x52aa40,_0x3a8bd8={'vZbMj':function(_0x1af288,_0x547112,_0x62828f){return _0x1af288(_0x547112,_0x62828f);},'xEgXm':_0x4932e8(0xb1),'VGqhj':function(_0x119ef2,_0x16ae1e){return _0x119ef2(_0x16ae1e);}},_0x3813f2=_0x19aa7f||await getActiveFeatureId();if(!_0x3813f2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x4932e8(0xe9)]('\x0aGenerating\x20report...');const _0x7260d0=await _0x3a8bd8['vZbMj'](getFeatureReportMarkdown,_0x3813f2,{'style':_0x38310a['style']}),_0x53cc97=_0x38310a['output']||join(getRangerDir(),_0x3a8bd8['xEgXm'],_0x3813f2+'.md'),_0x49a492=join(_0x53cc97,'..');!_0x3a8bd8[_0x4932e8(0xea)](existsSync,_0x49a492)&&await mkdir(_0x49a492,{'recursive':!![]}),await writeFile(_0x53cc97,_0x7260d0,'utf-8'),console[_0x4932e8(0xe9)]('\x0a✅\x20Report\x20generated:\x20'+_0x53cc97);}function getScenarioResult(_0x383fe1){const _0x3afdb2=_0x52aa40,_0x7407b0={'XClUN':'closed'};if(_0x383fe1[_0x3afdb2(0x100)]===_0x7407b0['XClUN'])return _0x383fe1['terminalReason']??'closed';if(_0x383fe1[_0x3afdb2(0x100)]===_0x3afdb2(0x169))return _0x3afdb2(0x10c);return _0x383fe1['status'];}function getScenarioRationale(_0x3548a6,_0x1bc556){const _0x4a2429=_0x52aa40;if(_0x1bc556)return _0x1bc556;if(_0x3548a6[_0x4a2429(0xa8)])return _0x3548a6['blockedReason'];if(_0x3548a6['incompleteReason'])return _0x3548a6[_0x4a2429(0x112)];if(_0x3548a6['canceledReason'])return _0x3548a6[_0x4a2429(0xf6)];if(_0x3548a6[_0x4a2429(0x128)])return _0x3548a6[_0x4a2429(0x128)];return null;}export async function featureReportPrDescription(_0x2e9e98,_0x112159){const _0x16b806=_0x52aa40,_0x18d2d4={'dkazi':function(_0x190803){return _0x190803();},'AxsRt':_0x16b806(0xab),'TSYZk':function(_0x4afb9e,_0x6e0fb6){return _0x4afb9e(_0x6e0fb6);},'snwhU':function(_0x57eb8e,_0xf4f500,_0x2d03b4){return _0x57eb8e(_0xf4f500,_0x2d03b4);},'yGKmu':function(_0x7a4637,_0x46281a){return _0x7a4637>_0x46281a;},'ddMLx':'\x0aAvailable\x20scenarios:','daHvT':function(_0x12bd96,_0x28ab7e){return _0x12bd96+_0x28ab7e;},'ODhKH':_0x16b806(0x124),'dryVl':function(_0xd01d93,_0xab9b35,_0x167acd){return _0xd01d93(_0xab9b35,_0x167acd);}},_0xa38d0=_0x2e9e98||await _0x18d2d4['dkazi'](getActiveFeatureId);if(!_0xa38d0)throw new Error(_0x18d2d4[_0x16b806(0x142)]);const _0x5e0c04=await _0x18d2d4['TSYZk'](getFeature,_0xa38d0),_0x481783=_0x5e0c04['checklistItems']||[],_0xe0d8fc=_0x18d2d4['snwhU'](getCurrentSessionItems,_0x5e0c04,_0x481783);_0xe0d8fc[_0x16b806(0x133)]===0x0&&(console[_0x16b806(0xdc)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x58027e=_0x112159['excludeScenarios']??[],_0xc92f83=_0x58027e['filter'](_0x16ad39=>!Number[_0x16b806(0xf1)](_0x16ad39)||_0x16ad39<0x1||_0x16ad39>_0xe0d8fc['length']);if(_0x18d2d4[_0x16b806(0x14f)](_0xc92f83[_0x16b806(0x133)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0xc92f83['join'](',\x20')),console[_0x16b806(0xe9)](_0x18d2d4[_0x16b806(0xf3)]);for(let _0x5c19c5=0x0;_0x5c19c5<_0xe0d8fc['length'];_0x5c19c5++){console['log']('\x20\x20'+_0x18d2d4[_0x16b806(0x117)](_0x5c19c5,0x1)+'.\x20'+_0xe0d8fc[_0x5c19c5][_0x16b806(0x15d)]);}process['exit'](0x1);}const _0x5c4a54=new Set(_0x58027e['map'](_0x502db9=>_0x502db9-0x1)),_0x4f2ab3=_0xe0d8fc['filter']((_0x147a07,_0x105594)=>!_0x5c4a54[_0x16b806(0xc3)](_0x105594));_0x4f2ab3['length']===0x0&&(console[_0x16b806(0xdc)](_0x18d2d4[_0x16b806(0x16c)]),process[_0x16b806(0xe3)](0x1));if(_0x112159[_0x16b806(0x153)])await outputJsonReport(_0xa38d0,_0x5e0c04,_0x4f2ab3);else{const _0x10add1=await _0x18d2d4[_0x16b806(0x165)](getFeatureReportMarkdown,_0xa38d0,{'itemIds':_0x4f2ab3[_0x16b806(0xce)](_0xbfeaa0=>_0xbfeaa0['id'])});process['stdout'][_0x16b806(0x104)](_0x10add1['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x193f45,_0x4fc28f,_0x18a9fd){const _0x3a9f1b=_0x52aa40,_0x2db521={'PGqEC':function(_0xeec905,_0x3c3acc){return _0xeec905(_0x3c3acc);},'uQhiB':function(_0x1e66d1,_0x17eb62,_0x90247a){return _0x1e66d1(_0x17eb62,_0x90247a);},'jKpJf':function(_0x53b041){return _0x53b041();}},_0x5d5496=_0x2db521[_0x3a9f1b(0xc0)](getApiBaseUrl),_0x34f140=await getFeatureReport(_0x193f45),_0x533b02=new Map(_0x34f140['checklistItems'][_0x3a9f1b(0xce)](_0x32bfd0=>[_0x32bfd0['id'],_0x32bfd0])),_0x2f1451=await Promise[_0x3a9f1b(0x9d)](_0x18a9fd['map'](async _0x27ebfb=>{const _0x458114=_0x3a9f1b,_0x4add16=_0x533b02[_0x458114(0xec)](_0x27ebfb['id']),_0x287e96=_0x4add16?.['linkedSession']??null;let _0x3885ac=[];if(_0x27ebfb[_0x458114(0x12e)])try{const {steps:_0x4b4b6b}=await _0x2db521['PGqEC'](getBrowserSessionSteps,_0x27ebfb[_0x458114(0x12e)]);_0x4b4b6b[_0x458114(0x133)]>0x0&&(_0x3885ac=_0x4b4b6b[_0x458114(0xce)](_0x18e0b1=>{const _0x46d526=_0x458114,_0x77e83b=_0x18e0b1[_0x46d526(0xa4)]['find'](_0x2ed1e9=>_0x2ed1e9['assetType']==='screenshot'&&_0x2ed1e9['timing']==='after')??_0x18e0b1[_0x46d526(0xa4)][_0x46d526(0xd3)](_0x316acf=>_0x316acf[_0x46d526(0x15c)]===_0x46d526(0x150));let _0x57d96c=null,_0x1cf0d5=null;if(_0x77e83b){const _0x7a7a1d=_0x77e83b[_0x46d526(0xc1)][_0x46d526(0xa6)][_0x46d526(0x10b)]('/')[_0x46d526(0xfe)]();_0x57d96c=_0x5d5496+'/api/v1/mcp/browser-sessions/'+_0x27ebfb[_0x46d526(0x12e)]+_0x46d526(0xb7)+_0x7a7a1d,_0x7a7a1d&&(_0x1cf0d5=_0x7a7a1d['replace'](/\.\w+$/,'')[_0x46d526(0xc8)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x1cf0d5||_0x18e0b1['description']||_0x18e0b1[_0x46d526(0x167)]||_0x46d526(0xe6)+_0x18e0b1[_0x46d526(0x12b)],'screenshot':_0x57d96c,'is_key_step':_0x18e0b1[_0x46d526(0xf9)]};}));}catch{}return _0x3885ac[_0x458114(0x133)]===0x0&&_0x287e96?.['screenshotUrls']&&(_0x3885ac=_0x287e96['screenshotUrls']['map']((_0xd7c94,_0x2a21c4)=>({'description':'Screenshot\x20'+(_0x2a21c4+0x1),'screenshot':_0xd7c94,'is_key_step':![]}))),{'description':_0x27ebfb[_0x458114(0x15d)],'result':_0x2db521[_0x458114(0xe5)](getScenarioResult,_0x27ebfb),'rationale':_0x2db521[_0x458114(0xc5)](getScenarioRationale,_0x27ebfb,_0x287e96?.[_0x458114(0x11f)]),'steps':_0x3885ac};})),_0x2e5c48={'url':_0x4fc28f[_0x3a9f1b(0xf5)],'scenarios':_0x2f1451};process['stdout'][_0x3a9f1b(0x104)](JSON[_0x3a9f1b(0xcb)](_0x2e5c48,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x667649){const _0x711dce=_0x52aa40,_0x5e5845={'pPAme':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','AyIuI':function(_0x202e6,_0x56ec90){return _0x202e6(_0x56ec90);},'qvqVr':function(_0x2b7d4d,_0x501afa){return _0x2b7d4d(_0x501afa);},'PrELt':'completed','VxZkS':_0x711dce(0x116),'nplzl':function(_0x4c45e2,_0x503287){return _0x4c45e2!==_0x503287;},'PvKNj':_0x711dce(0x10c),'vnxjj':_0x711dce(0xca)},_0x3504ca=_0x667649||await getActiveFeatureId();if(!_0x3504ca)throw new Error(_0x5e5845['pPAme']);const _0x511181=await _0x5e5845['AyIuI'](getFeature,_0x3504ca);if(!_0x511181[_0x711dce(0xcc)])throw new Error(_0x711dce(0xd0));const {sessions:_0x5d4532}=await _0x5e5845['qvqVr'](listFeatureSessions,_0x3504ca),_0x506fd3=_0x5d4532['find'](_0x28320e=>_0x28320e['id']===_0x511181[_0x711dce(0xcc)]);if(!_0x506fd3)throw new Error(_0x711dce(0x14d));if(_0x506fd3[_0x711dce(0x100)]===_0x5e5845['PrELt']){console['log'](_0x5e5845['VxZkS']);return;}if(_0x5e5845['nplzl'](_0x506fd3[_0x711dce(0x100)],_0x5e5845['PvKNj']))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x506fd3[_0x711dce(0x100)]);console[_0x711dce(0xe9)](_0x5e5845['vnxjj']),await concludeSession(_0x3504ca,_0x511181[_0x711dce(0xcc)]),console[_0x711dce(0xe9)](_0x711dce(0x127)+_0x506fd3['iteration']+'\x20concluded.'),console['log'](_0x711dce(0xa5));}export async function featureSessions(_0x2f94bb){const _0x5d229a=_0x52aa40,_0x1f472a={'oDvJl':function(_0x20aa06){return _0x20aa06();},'wcyBz':_0x5d229a(0xab),'FNwps':function(_0x228093,_0x2636df){return _0x228093(_0x2636df);},'FQGOg':function(_0x57e35c,_0x56f58f){return _0x57e35c===_0x56f58f;},'nDVhV':'No\x20sessions\x20found.','xbgnj':_0x5d229a(0xfd)},_0x2edf6e=_0x2f94bb||await _0x1f472a[_0x5d229a(0x122)](getActiveFeatureId);if(!_0x2edf6e)throw new Error(_0x1f472a[_0x5d229a(0x101)]);const _0x541a6e=await _0x1f472a['FNwps'](getFeature,_0x2edf6e);console[_0x5d229a(0xe9)](_0x5d229a(0x129)+_0x541a6e[_0x5d229a(0x132)]+'\x0a');const {sessions:_0x926c9c}=await listFeatureSessions(_0x2edf6e);if(_0x1f472a[_0x5d229a(0x11b)](_0x926c9c[_0x5d229a(0x133)],0x0)){console[_0x5d229a(0xe9)](_0x1f472a[_0x5d229a(0xc4)]);return;}for(const _0x5cc236 of _0x926c9c){const _0x5a022a=_0x1f472a[_0x5d229a(0x11b)](_0x5cc236['status'],_0x1f472a['xbgnj'])?'✅':_0x1f472a[_0x5d229a(0x11b)](_0x5cc236[_0x5d229a(0x100)],_0x5d229a(0x10c))?'🔄':'▶️';console[_0x5d229a(0xe9)](_0x5a022a+_0x5d229a(0x12a)+_0x5cc236['iteration']+'\x20('+_0x5cc236['id']+')'),console[_0x5d229a(0xe9)]('\x20\x20\x20Status:\x20'+_0x5cc236[_0x5d229a(0x100)]),console[_0x5d229a(0xe9)](_0x5d229a(0x143)+new Date(_0x5cc236['createdAt'])[_0x5d229a(0x156)]()),_0x5cc236[_0x5d229a(0xd4)]&&console[_0x5d229a(0xe9)]('\x20\x20\x20Completed:\x20'+new Date(_0x5cc236['completedAt'])[_0x5d229a(0x156)]()),console[_0x5d229a(0xe9)]('');}}export async function featureAddScenario(_0x3f9f17,_0x1f0899){const _0x7c43cc=_0x52aa40,_0x179890={'HHzel':function(_0x1f4663,_0xe9e312,_0x34f334){return _0x1f4663(_0xe9e312,_0x34f334);},'NacUS':function(_0x53f3b5,_0x5521b8,_0x550971){return _0x53f3b5(_0x5521b8,_0x550971);}},_0x45ca56=_0x1f0899||await getActiveFeatureId();if(!_0x45ca56)throw new Error(_0x7c43cc(0x12c));const _0x29fbb9=await getFeature(_0x45ca56);if(_0x29fbb9['latestReview']&&!_0x29fbb9[_0x7c43cc(0x162)][_0x7c43cc(0xf7)])throw new Error(_0x7c43cc(0x10d)+_0x29fbb9[_0x7c43cc(0xf5)]);await _0x179890[_0x7c43cc(0xf0)](createChecklistItem,_0x45ca56,_0x3f9f17);const _0x4f22a7=await getFeature(_0x45ca56);console['log'](_0x7c43cc(0xfb)),_0x179890['NacUS'](displayFeature,_0x4f22a7,_0x4f22a7['checklistItems']);}export async function featureEditScenario(_0x3f7682,_0x5bd19c){const _0x709338=_0x52aa40,_0x4e87a3={'CibwD':function(_0x426b2c,_0x28d7cd){return _0x426b2c(_0x28d7cd);},'AKTby':_0x709338(0x157),'gZjCW':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','UprUb':function(_0xe1fb36,_0x422908){return _0xe1fb36+_0x422908;},'dzRde':function(_0x26dd33,_0x569cfb){return _0x26dd33-_0x569cfb;},'HZxPF':function(_0x265234,_0x198dae){return _0x265234>=_0x198dae;},'nlnGg':'\x0aAvailable\x20scenarios:','nWFDw':function(_0x144ad8,_0x20a5fe,_0x6233a4){return _0x144ad8(_0x20a5fe,_0x6233a4);}},_0x24e669=_0x5bd19c['id']||await getActiveFeatureId();!_0x24e669&&(console[_0x709338(0xdc)]('\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 _0x3db6df=await _0x4e87a3['CibwD'](getFeature,_0x24e669);_0x3db6df[_0x709338(0x162)]&&!_0x3db6df['latestReview'][_0x709338(0xf7)]&&(console[_0x709338(0xdc)](_0x4e87a3['AKTby']),console['error'](_0x709338(0x118)),console[_0x709338(0xdc)]('\x20\x20'+_0x3db6df[_0x709338(0xf5)]),process[_0x709338(0xe3)](0x1));const _0x407176=_0x3db6df['checklistItems']||[];_0x407176['length']===0x0&&(console[_0x709338(0xdc)](_0x4e87a3[_0x709338(0x149)]),process[_0x709338(0xe3)](0x1));if(_0x5bd19c[_0x709338(0x13e)]===undefined){console['error'](_0x709338(0xc9)),console[_0x709338(0xe9)]('\x0aAvailable\x20scenarios:');for(let _0x58b2da=0x0;_0x58b2da<_0x407176['length'];_0x58b2da++){console[_0x709338(0xe9)]('\x20\x20'+_0x4e87a3['UprUb'](_0x58b2da,0x1)+'.\x20'+_0x407176[_0x58b2da]['description']);}process['exit'](0x1);}const _0x2aba00=_0x4e87a3['dzRde'](_0x5bd19c['scenario'],0x1);if(_0x2aba00<0x0||_0x4e87a3[_0x709338(0xeb)](_0x2aba00,_0x407176['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5bd19c['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x407176[_0x709338(0x133)]+'\x20scenarios.'),console[_0x709338(0xe9)](_0x4e87a3[_0x709338(0x121)]);for(let _0x3209ad=0x0;_0x3209ad<_0x407176[_0x709338(0x133)];_0x3209ad++){console[_0x709338(0xe9)]('\x20\x20'+(_0x3209ad+0x1)+'.\x20'+_0x407176[_0x3209ad]['description']);}process[_0x709338(0xe3)](0x1);}const _0x38ad9e=_0x407176[_0x2aba00];await updateChecklistItem(_0x24e669,_0x38ad9e['id'],{'description':_0x3f7682});const _0x3a13c1=await getFeature(_0x24e669);console['log']('\x0a✅\x20Scenario\x20updated'),_0x4e87a3[_0x709338(0x135)](displayFeature,_0x3a13c1,_0x3a13c1['checklistItems']);}async function downloadFeedbackImage(_0x166fda,_0x1906b7){const _0x4c3192=_0x52aa40,_0x232ff9={'JdGNE':function(_0x2ff221){return _0x2ff221();},'BBijt':'feedback-images','uECJK':function(_0x4bcf69,_0x50d7be){return _0x4bcf69(_0x50d7be);},'bFeiF':function(_0x130a7a,_0x136002,_0x4beb8f){return _0x130a7a(_0x136002,_0x4beb8f);}};try{const _0x2fd21c=join(_0x232ff9[_0x4c3192(0xa9)](getRangerDir),_0x232ff9['BBijt']);await mkdir(_0x2fd21c,{'recursive':!![]});const _0x5b6f6d=join(_0x2fd21c,_0x4c3192(0xef)+_0x1906b7+_0x4c3192(0x16a)),_0x3fb0fb=await _0x232ff9['uECJK'](fetch,_0x166fda);if(!_0x3fb0fb['ok'])return null;const _0x5c349d=Buffer['from'](await _0x3fb0fb[_0x4c3192(0x14a)]());return await _0x232ff9['bFeiF'](writeFile,_0x5b6f6d,_0x5c349d),_0x5b6f6d;}catch{return null;}}export async function featureGetReview(_0x346aeb){const _0x1057dd=_0x52aa40,_0x2c0c20={'OshcQ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HGfAW':function(_0x8b652d,_0x53519f){return _0x8b652d(_0x53519f);},'JfkpT':function(_0x55bc24,_0x430542){return _0x55bc24<_0x430542;},'iSkZF':function(_0x1c3c66,_0x1fdb8c){return _0x1c3c66>_0x1fdb8c;},'uEtQe':function(_0x393c08,_0x126d3c,_0x528844){return _0x393c08(_0x126d3c,_0x528844);},'PhJDY':'short','gmYXZ':_0x1057dd(0xa0),'oGNuO':function(_0x6ca4c7,_0x124bc6){return _0x6ca4c7+_0x124bc6;}},_0x3b1c65=_0x346aeb||await getActiveFeatureId();if(!_0x3b1c65)throw new Error(_0x2c0c20['OshcQ']);const _0x4b8ae8=await _0x2c0c20['HGfAW'](getFeature,_0x3b1c65),{items:_0x339f30}=await getActionItems(_0x3b1c65);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x4b8ae8[_0x1057dd(0x132)]+'\x20('+_0x4b8ae8['id']+')\x0a');if(_0x339f30['length']===0x0){console[_0x1057dd(0xe9)]('No\x20scenarios\x20found.');return;}for(let _0x49552c=0x0;_0x2c0c20[_0x1057dd(0xf2)](_0x49552c,_0x339f30[_0x1057dd(0x133)]);_0x49552c++){const _0xfd2d7b=_0x339f30[_0x49552c],_0x1cc87a=_0x2c0c20[_0x1057dd(0x138)](_0xfd2d7b[_0x1057dd(0x152)],0x1)?'\x20(v'+_0xfd2d7b['version']+')':'',_0x68420f=await _0x2c0c20['uEtQe'](getItemFeedback,_0x3b1c65,_0xfd2d7b['id']);if(_0x68420f[_0x1057dd(0x16b)]['length']>0x0){console[_0x1057dd(0xe9)](_0x1057dd(0xaf)+(_0x49552c+0x1)+_0x1057dd(0x102)+_0xfd2d7b[_0x1057dd(0x15d)]+'\x22'+_0x1cc87a+'\x20—\x20'+_0x68420f[_0x1057dd(0x16b)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x1f83ae of _0x68420f['unaddressedComments']){const _0x22771a=new Date(_0x1f83ae[_0x1057dd(0xd6)])[_0x1057dd(0xc7)]('en-US',{'month':_0x2c0c20['PhJDY'],'day':'numeric'}),_0xaa8780=_0x1f83ae['authorName']||_0x1f83ae['authorEmail']||'Unknown';console[_0x1057dd(0xe9)]('\x20\x20💬\x20'+_0xaa8780+'\x20('+_0x22771a+'):\x20\x22'+_0x1f83ae['content']+'\x22');if(_0x1f83ae[_0x1057dd(0x10e)]){const _0x29fb6c=await downloadFeedbackImage(_0x1f83ae[_0x1057dd(0x10e)],_0x1f83ae['id']);_0x29fb6c&&console['log'](_0x1057dd(0xaa)+_0x29fb6c);}if(_0x1f83ae['domRef']){const _0x3c98bf=_0x1f83ae['domRef'][_0x1057dd(0xe0)][_0x1057dd(0x10b)](_0x1057dd(0xde))['pop']()?.['split'](':')[0x0]||_0x2c0c20['gmYXZ'],_0x5853dc=_0x1f83ae[_0x1057dd(0x108)][_0x1057dd(0xd5)]?'\x20\x22'+_0x1f83ae[_0x1057dd(0x108)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3c98bf+'>'+_0x5853dc),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x1f83ae['domRef']['selector']);}else{if(_0x1f83ae[_0x1057dd(0x15b)]){const _0x325aee=_0x1f83ae['spatial']['coordinates'];_0x1f83ae[_0x1057dd(0x15b)]['type']==='point'&&_0x325aee['length']>=0x2?console[_0x1057dd(0xe9)](_0x1057dd(0x164)+_0x325aee[0x0]['toFixed'](0x2)+',\x20'+_0x325aee[0x1]['toFixed'](0x2)+')'):console[_0x1057dd(0xe9)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x1f83ae['spatial']['type']+'\x20at\x20['+_0x325aee['map'](_0x4161f0=>_0x4161f0[_0x1057dd(0xa1)](0x2))['join'](',\x20')+']');}}}if(_0x68420f['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x42586a of _0x68420f['canonicalFlow']['split']('\x0a')){console[_0x1057dd(0xe9)](_0x1057dd(0x10f)+_0x42586a);}}}else console[_0x1057dd(0xe9)](_0x1057dd(0xaf)+_0x2c0c20['oGNuO'](_0x49552c,0x1)+':\x20\x22'+_0xfd2d7b['description']+'\x22'+_0x1cc87a+_0x1057dd(0x139)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x1057dd(0xe9)]('');}}export async function featureDelete(_0x1ae1af){const _0x57aab8=_0x52aa40,_0x5b08c7={'TrIgJ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x55e2fc=_0x1ae1af||await getActiveFeatureId();if(!_0x55e2fc)throw new Error(_0x5b08c7[_0x57aab8(0x12d)]);const _0x39ebc8=await getFeature(_0x55e2fc);await softDeleteFeature(_0x55e2fc),console[_0x57aab8(0xe9)](_0x57aab8(0x103)+_0x39ebc8['name']+'\x20('+_0x55e2fc+')'),console[_0x57aab8(0xe9)](_0x57aab8(0xb4)+_0x55e2fc);}export async function featureRestore(_0x12e61a){const _0x178f83=_0x52aa40,_0xff0f6a={'icDZB':function(_0x39784c,_0x32881c){return _0x39784c(_0x32881c);},'qTAJP':function(_0x3ceda2,_0x42c034,_0x43165f){return _0x3ceda2(_0x42c034,_0x43165f);}};await restoreFeature(_0x12e61a);const _0x16e569=await _0xff0f6a['icDZB'](getFeature,_0x12e61a);console['log'](_0x178f83(0xbc)+_0x16e569['name']+'\x20('+_0x12e61a+')'),_0xff0f6a[_0x178f83(0xae)](displayFeature,_0x16e569,_0x16e569[_0x178f83(0xad)]);}
@@ -1 +1 @@
1
- (function(_0x4e51af,_0x4e9f22){const _0xad855d=_0x24c2,_0x255b15=_0x4e51af();while(!![]){try{const _0x2ca4ee=-parseInt(_0xad855d(0x73))/0x1*(-parseInt(_0xad855d(0x7b))/0x2)+-parseInt(_0xad855d(0x74))/0x3*(-parseInt(_0xad855d(0x70))/0x4)+-parseInt(_0xad855d(0x80))/0x5+-parseInt(_0xad855d(0x75))/0x6+-parseInt(_0xad855d(0x72))/0x7+-parseInt(_0xad855d(0x76))/0x8*(parseInt(_0xad855d(0x78))/0x9)+parseInt(_0xad855d(0x7a))/0xa;if(_0x2ca4ee===_0x4e9f22)break;else _0x255b15['push'](_0x255b15['shift']());}catch(_0x25346e){_0x255b15['push'](_0x255b15['shift']());}}}(_0x256a,0x22bbb));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x24c2(_0x92aa9c,_0x2de1c2){_0x92aa9c=_0x92aa9c-0x70;const _0x256a08=_0x256a();let _0x24c290=_0x256a08[_0x92aa9c];return _0x24c290;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x49e930=_0x24c2,_0x435ce6={'jbblC':'SIGINT','VmkVW':_0x49e930(0x7f)};if(cancellationHandlersInstalled)return;const _0x354046=()=>{process['exit'](0x0);};process[_0x49e930(0x7c)](_0x435ce6[_0x49e930(0x71)],_0x354046),process[_0x49e930(0x7c)](_0x435ce6['VmkVW'],_0x354046),process[_0x49e930(0x7c)]('SIGHUP',_0x354046),cancellationHandlersInstalled=!![];}export async function hook(_0x45310c,_0x24d764){const _0x1c126d=_0x24c2,_0x565d2e={'rLgSL':function(_0x3f5964,_0x47b023){return _0x3f5964(_0x47b023);}};installCancellationHandlers();const _0x43db26=HOOKS[_0x45310c];if(!_0x43db26){const _0x5dfe5e=Object['keys'](HOOKS)[_0x1c126d(0x77)](',\x20');console[_0x1c126d(0x7e)](_0x1c126d(0x79)+_0x45310c),console['error']('Valid\x20hooks:\x20'+_0x5dfe5e),process['exit'](0x1);}await _0x565d2e[_0x1c126d(0x7d)](_0x43db26,_0x24d764);}function _0x256a(){const _0x2b6faf=['508150dMiTNg','776476FTiVtW','jbblC','1025521xPpXGf','1TnEote','3jFgNIX','1177848vNAdqr','124408CRyiPO','join','18ueDFBH','Unknown\x20hook:\x20','2906630uTxADi','266056Mlvvjs','once','rLgSL','error','SIGTERM'];_0x256a=function(){return _0x2b6faf;};return _0x256a();}
1
+ function _0x55fb(){const _0x3c8a27=['once','128SQOmgr','94128VjHuSv','Valid\x20hooks:\x20','22500tJdWhP','4864pJmByI','6651hOvAvF','7062377tXmuhZ','33STLgnX','85480xUfFnz','wVlzs','exit','keys','2385890EBwhFq','355qTjYFh','error','SIGHUP','162762mPcSTo','Unknown\x20hook:\x20','join','SIGTERM'];_0x55fb=function(){return _0x3c8a27;};return _0x55fb();}(function(_0x3e3926,_0x34110e){const _0x5add77=_0xa963,_0x2895d7=_0x3e3926();while(!![]){try{const _0x19fcc1=-parseInt(_0x5add77(0x13a))/0x1+parseInt(_0x5add77(0x12d))/0x2+-parseInt(_0x5add77(0x133))/0x3*(-parseInt(_0x5add77(0x132))/0x4)+parseInt(_0x5add77(0x12a))/0x5*(-parseInt(_0x5add77(0x135))/0x6)+parseInt(_0x5add77(0x138))/0x7+-parseInt(_0x5add77(0x136))/0x8*(parseInt(_0x5add77(0x137))/0x9)+parseInt(_0x5add77(0x129))/0xa*(-parseInt(_0x5add77(0x139))/0xb);if(_0x19fcc1===_0x34110e)break;else _0x2895d7['push'](_0x2895d7['shift']());}catch(_0x5e7044){_0x2895d7['push'](_0x2895d7['shift']());}}}(_0x55fb,0x8cfeb));function _0xa963(_0xc1efab,_0x1cb72b){_0xc1efab=_0xc1efab-0x129;const _0x55fb39=_0x55fb();let _0xa963b8=_0x55fb39[_0xc1efab];return _0xa963b8;}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};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x29863b=_0xa963,_0x1eebd5={'wVlzs':_0x29863b(0x12c)};if(cancellationHandlersInstalled)return;const _0xab80d8=()=>{const _0x48ca2a=_0x29863b;process[_0x48ca2a(0x13c)](0x0);};process['once']('SIGINT',_0xab80d8),process[_0x29863b(0x131)](_0x29863b(0x130),_0xab80d8),process[_0x29863b(0x131)](_0x1eebd5[_0x29863b(0x13b)],_0xab80d8),cancellationHandlersInstalled=!![];}export async function hook(_0x25ae60,_0x19dc80){const _0x1e6029=_0xa963,_0x43f588={'jfEWZ':function(_0x525878,_0x17fed2){return _0x525878(_0x17fed2);}};installCancellationHandlers();const _0x589f0d=HOOKS[_0x25ae60];if(!_0x589f0d){const _0x2acc32=Object[_0x1e6029(0x13d)](HOOKS)[_0x1e6029(0x12f)](',\x20');console[_0x1e6029(0x12b)](_0x1e6029(0x12e)+_0x25ae60),console['error'](_0x1e6029(0x134)+_0x2acc32),process[_0x1e6029(0x13c)](0x1);}await _0x43f588['jfEWZ'](_0x589f0d,_0x19dc80);}
@@ -1 +1 @@
1
- (function(_0x257039,_0x19d926){const _0x3d64d1=_0xf65f,_0x328325=_0x257039();while(!![]){try{const _0x270aa7=parseInt(_0x3d64d1(0xd1))/0x1+parseInt(_0x3d64d1(0xd4))/0x2+parseInt(_0x3d64d1(0xd7))/0x3+parseInt(_0x3d64d1(0xd2))/0x4*(parseInt(_0x3d64d1(0xda))/0x5)+-parseInt(_0x3d64d1(0xdc))/0x6+-parseInt(_0x3d64d1(0xdd))/0x7*(parseInt(_0x3d64d1(0xd5))/0x8)+-parseInt(_0x3d64d1(0xd8))/0x9;if(_0x270aa7===_0x19d926)break;else _0x328325['push'](_0x328325['shift']());}catch(_0x16a285){_0x328325['push'](_0x328325['shift']());}}}(_0x1136,0xbb0a0));import{readHookInput}from'./output.js';function _0xf65f(_0x4e5739,_0x1c2264){_0x4e5739=_0x4e5739-0xd1;const _0x113674=_0x1136();let _0xf65f46=_0x113674[_0x4e5739];return _0xf65f46;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x1136(){const _0x1993f5=['session_id','3178668ypqKOl','7RkGeCz','435227FAGWfD','4sYGEbc','dYXzS','2892742XlVHNZ','1552136gocTEY','HkQjA','2477163AKBcjq','20914749jNVhGH','log','5532245ceDLbO'];_0x1136=function(){return _0x1993f5;};return _0x1136();}const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x33cc65=_0xf65f,_0x268863={'HkQjA':function(_0x162bb3){return _0x162bb3();},'dYXzS':function(_0x22ad1d,_0x48579c){return _0x22ad1d(_0x48579c);}},_0x154249=await _0x268863[_0x33cc65(0xd6)](readHookInput),_0x17ccde=_0x154249?.[_0x33cc65(0xdb)];if(!_0x17ccde)return;if(_0x268863[_0x33cc65(0xd3)](isSessionEnabled,_0x17ccde)||hasSessionBeenPrompted(_0x17ccde))return;markSessionPrompted(_0x17ccde),console[_0x33cc65(0xd9)](AUTO_PROMPT_TEXT);}
1
+ (function(_0x52f93e,_0x407084){const _0x19b6a1=_0x473b,_0x32fb3f=_0x52f93e();while(!![]){try{const _0x113b59=parseInt(_0x19b6a1(0xd6))/0x1+parseInt(_0x19b6a1(0xde))/0x2+-parseInt(_0x19b6a1(0xdc))/0x3+parseInt(_0x19b6a1(0xdb))/0x4*(parseInt(_0x19b6a1(0xd5))/0x5)+-parseInt(_0x19b6a1(0xd7))/0x6+-parseInt(_0x19b6a1(0xda))/0x7*(parseInt(_0x19b6a1(0xdd))/0x8)+parseInt(_0x19b6a1(0xdf))/0x9*(parseInt(_0x19b6a1(0xe0))/0xa);if(_0x113b59===_0x407084)break;else _0x32fb3f['push'](_0x32fb3f['shift']());}catch(_0x207e00){_0x32fb3f['push'](_0x32fb3f['shift']());}}}(_0x597f,0x52cf5));function _0x473b(_0x4eb181,_0x541828){_0x4eb181=_0x4eb181-0xd5;const _0x597f85=_0x597f();let _0x473b92=_0x597f85[_0x4eb181];return _0x473b92;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';function _0x597f(){const _0x2b1458=['3530238LcYfNR','session_id','PhDBh','228529VHAcLa','8SNZUbt','142665LoocFq','152zcBchk','358894hQWBeY','7389918wNPSQu','10fctVjP','341995MrcbCV','458063DxpWli'];_0x597f=function(){return _0x2b1458;};return _0x597f();}export async function autoPrompt(){const _0x4d17be=_0x473b,_0x56881f={'PhDBh':function(_0x251811){return _0x251811();},'RjHwg':function(_0xf926bc,_0x465cee){return _0xf926bc(_0x465cee);}},_0x13189d=await _0x56881f[_0x4d17be(0xd9)](readHookInput),_0x2c607e=_0x13189d?.[_0x4d17be(0xd8)];if(!_0x2c607e)return;if(_0x56881f['RjHwg'](isSessionEnabled,_0x2c607e)||hasSessionBeenPrompted(_0x2c607e))return;markSessionPrompted(_0x2c607e),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x1113fc,_0x28809d){const _0x4600c4=_0x2cfe,_0x410f2e=_0x1113fc();while(!![]){try{const _0xb9e6cb=-parseInt(_0x4600c4(0x195))/0x1*(parseInt(_0x4600c4(0x191))/0x2)+parseInt(_0x4600c4(0x18a))/0x3*(parseInt(_0x4600c4(0x18c))/0x4)+parseInt(_0x4600c4(0x189))/0x5+-parseInt(_0x4600c4(0x196))/0x6*(parseInt(_0x4600c4(0x197))/0x7)+-parseInt(_0x4600c4(0x18e))/0x8*(parseInt(_0x4600c4(0x198))/0x9)+-parseInt(_0x4600c4(0x19a))/0xa+-parseInt(_0x4600c4(0x18b))/0xb*(-parseInt(_0x4600c4(0x192))/0xc);if(_0xb9e6cb===_0x28809d)break;else _0x410f2e['push'](_0x410f2e['shift']());}catch(_0xb9be15){_0x410f2e['push'](_0x410f2e['shift']());}}}(_0x2f19,0x21b70));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x2cfe(_0x31fef2,_0x1b3ed3){_0x31fef2=_0x31fef2-0x187;const _0x2f19d0=_0x2f19();let _0x2cfea8=_0x2f19d0[_0x31fef2];return _0x2cfea8;}import{printBlock}from'./output.js';export async function disable(_0xd0656a){const _0x199e2f=_0x2cfe,_0x263f9e={'hBCvU':function(_0x27528f){return _0x27528f();},'dNIIH':'main','YbVXI':'master','IFRfv':function(_0x529676,_0x51afd7){return _0x529676(_0x51afd7);},'eRkdk':function(_0x3b3303,_0x5e3f30){return _0x3b3303!==_0x5e3f30;},'LhpWe':function(_0x8d6c1d,_0x48512d){return _0x8d6c1d!==_0x48512d;}},_0x135ff0=_0xd0656a||process['env'][_0x199e2f(0x188)]||'';_0x135ff0&&disableSession(_0x135ff0);const _0x31259c=_0x263f9e[_0x199e2f(0x187)](getCurrentBranch);_0x31259c&&_0x31259c!==_0x263f9e['dNIIH']&&_0x31259c!==_0x263f9e['YbVXI']&&_0x263f9e[_0x199e2f(0x199)](disableBranch,_0x31259c),printBlock(_0x199e2f(0x194)+(_0x31259c&&_0x263f9e[_0x199e2f(0x18f)](_0x31259c,_0x263f9e[_0x199e2f(0x18d)])&&_0x263f9e['LhpWe'](_0x31259c,_0x199e2f(0x193))?_0x199e2f(0x190)+_0x31259c+'\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 _0x2f19(){const _0x48781f=['989110DayNBG','hBCvU','CLAUDE_SESSION_ID','874975nVfCli','19140JUaEFK','9482CXDnYF','152hYqQxi','dNIIH','975408BjbtLe','eRkdk','\x20and\x20branch\x20\x27','4MlgOyj','4404CLXIEL','master','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','110947wEqSwN','6cXQKkQ','1070734OAFkwB','9Qtijdx','IFRfv'];_0x2f19=function(){return _0x48781f;};return _0x2f19();}
1
+ (function(_0x2b905e,_0x26b554){const _0x273ab2=_0x5a08,_0x262bce=_0x2b905e();while(!![]){try{const _0xa54200=-parseInt(_0x273ab2(0x200))/0x1*(parseInt(_0x273ab2(0x1f9))/0x2)+parseInt(_0x273ab2(0x1fc))/0x3*(-parseInt(_0x273ab2(0x1f4))/0x4)+parseInt(_0x273ab2(0x1fd))/0x5*(parseInt(_0x273ab2(0x201))/0x6)+-parseInt(_0x273ab2(0x1fa))/0x7*(-parseInt(_0x273ab2(0x1f5))/0x8)+parseInt(_0x273ab2(0x1fb))/0x9+-parseInt(_0x273ab2(0x1f8))/0xa+-parseInt(_0x273ab2(0x1fe))/0xb*(-parseInt(_0x273ab2(0x1f6))/0xc);if(_0xa54200===_0x26b554)break;else _0x262bce['push'](_0x262bce['shift']());}catch(_0x509ccd){_0x262bce['push'](_0x262bce['shift']());}}}(_0x3e90,0x8da9c));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x5a08(_0x63f06a,_0x296aac){_0x63f06a=_0x63f06a-0x1f4;const _0x3e907a=_0x3e90();let _0x5a0856=_0x3e907a[_0x63f06a];return _0x5a0856;}function _0x3e90(){const _0x453c6d=['86212atasTx','3068960koPEhR','192KTlWhX','CLAUDE_SESSION_ID','11137950fWlVqg','385670ONgdjQ','14RRizcN','3848580vhFiOE','57ZhlxgB','1353035iRNJvn','836407sNRNSl','.\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`.','3qREvYH','6dhxoQF','master'];_0x3e90=function(){return _0x453c6d;};return _0x3e90();}import{printBlock}from'./output.js';export async function disable(_0x3cc36c){const _0x58bd4c=_0x5a08,_0x574ec9={'BOilP':function(_0x4e5d37){return _0x4e5d37();}},_0x3a8e17=_0x3cc36c||process['env'][_0x58bd4c(0x1f7)]||'';_0x3a8e17&&disableSession(_0x3a8e17);const _0xb9ab24=_0x574ec9['BOilP'](getCurrentBranch);_0xb9ab24&&_0xb9ab24!=='main'&&_0xb9ab24!==_0x58bd4c(0x202)&&disableBranch(_0xb9ab24),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0xb9ab24&&_0xb9ab24!=='main'&&_0xb9ab24!==_0x58bd4c(0x202)?'\x20and\x20branch\x20\x27'+_0xb9ab24+'\x27':'')+_0x58bd4c(0x1ff));}
@@ -1 +1 @@
1
- function _0x1bf5(){const _0x3814e2=['CLAUDE_SESSION_ID','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','#\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`','VdCzH','175887wgOzsE','168MzwuNk','\x0a\x0a**Branch\x20\x27','796270CIeUDw','38510ondRnY','370866BKKxuC','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','6lBykVQ','2866104UhImHO','master','#\x20RANGER\x20ENABLED','356aNqwQd','6917687BXZmwD','ranger\x20setup\x20--opencode','main','MHUIC','9451700pcaGQy','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.'];_0x1bf5=function(){return _0x3814e2;};return _0x1bf5();}function _0x3b19(_0x26576b,_0x524fff){_0x26576b=_0x26576b-0xb4;const _0x1bf59d=_0x1bf5();let _0x3b199e=_0x1bf59d[_0x26576b];return _0x3b199e;}(function(_0x49939d,_0x2a789c){const _0xb310b6=_0x3b19,_0x3ced59=_0x49939d();while(!![]){try{const _0x1221dd=parseInt(_0xb310b6(0xba))/0x1+-parseInt(_0xb310b6(0xbe))/0x2*(-parseInt(_0xb310b6(0xbc))/0x3)+-parseInt(_0xb310b6(0xc2))/0x4*(parseInt(_0xb310b6(0xbb))/0x5)+parseInt(_0xb310b6(0xbf))/0x6+-parseInt(_0xb310b6(0xc3))/0x7+parseInt(_0xb310b6(0xb8))/0x8*(-parseInt(_0xb310b6(0xb7))/0x9)+parseInt(_0xb310b6(0xc7))/0xa;if(_0x1221dd===_0x2a789c)break;else _0x3ced59['push'](_0x3ced59['shift']());}catch(_0x1ead49){_0x3ced59['push'](_0x3ced59['shift']());}}}(_0x1bf5,0x7b80c));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(_0x61ad22){const _0x42207e=_0x3b19,_0x16f222={'VdCzH':function(_0x4bac7f){return _0x4bac7f();},'eeaLY':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','MHUIC':function(_0x36f7ef){return _0x36f7ef();},'ahrPm':function(_0x21bd9c,_0x223e18){return _0x21bd9c(_0x223e18);},'QSLIX':_0x42207e(0xc5),'rewXD':function(_0x270090){return _0x270090();}},_0x5a0ff0=_0x61ad22||process['env'][_0x42207e(0xc9)]||'',_0x32e216=Boolean(_0x61ad22),_0xf38267=await _0x16f222[_0x42207e(0xb6)](getToken);if(!_0xf38267){const _0x350e03=_0x32e216?_0x42207e(0xc4):'ranger\x20setup',_0x22ec86=_0x32e216?_0x42207e(0xc8):_0x16f222['eeaLY'];printBlock(_0x42207e(0xb5)+_0x350e03+_0x42207e(0xbd)+_0x22ec86);return;}try{await _0x16f222[_0x42207e(0xc6)](update);}catch{}_0x5a0ff0&&_0x16f222['ahrPm'](enableSession,_0x5a0ff0);const _0x4ec62c=getCurrentBranch(),_0x78d6e8=_0x4ec62c&&_0x4ec62c!==_0x16f222['QSLIX']&&_0x4ec62c!==_0x42207e(0xc0)?_0x42207e(0xb9)+_0x4ec62c+_0x42207e(0xb4):'',_0x179372=_0x16f222['rewXD'](getRangerSkillContent);printBlock(_0x42207e(0xc1)+_0x78d6e8+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x179372+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
1
+ function _0x2b97(_0x1a4935,_0x9a62e2){_0x1a4935=_0x1a4935-0x134;const _0x457694=_0x4576();let _0x2b97f5=_0x457694[_0x1a4935];return _0x2b97f5;}function _0x4576(){const _0x3a965f=['obFWw','bWlzh','ranger\x20setup\x20--opencode','master','795496abWeTL','8625sUiJpu','2143758mGfVnn','#\x20RANGER\x20ENABLED','jeRcx','cjEUJ','YVQsm','\x0a\x0a**Branch\x20\x27','574lhmPTL','10kkGpxG','env','508772ySzMLd','1491237vLmMvX','280500sWajyu','SYBOV','9448tePXuq','46JNYuxB'];_0x4576=function(){return _0x3a965f;};return _0x4576();}(function(_0x3ab716,_0x1b8471){const _0x557e0f=_0x2b97,_0x4187e4=_0x3ab716();while(!![]){try{const _0x2f9697=parseInt(_0x557e0f(0x144))/0x1+-parseInt(_0x557e0f(0x134))/0x2*(-parseInt(_0x557e0f(0x13a))/0x3)+parseInt(_0x557e0f(0x139))/0x4*(parseInt(_0x557e0f(0x142))/0x5)+-parseInt(_0x557e0f(0x13b))/0x6+parseInt(_0x557e0f(0x141))/0x7*(-parseInt(_0x557e0f(0x148))/0x8)+-parseInt(_0x557e0f(0x145))/0x9+parseInt(_0x557e0f(0x146))/0xa;if(_0x2f9697===_0x1b8471)break;else _0x4187e4['push'](_0x4187e4['shift']());}catch(_0x4bf60d){_0x4187e4['push'](_0x4187e4['shift']());}}}(_0x4576,0x5cfc3));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(_0x160b36){const _0x123fb3=_0x2b97,_0x17f621={'wkQCx':_0x123fb3(0x137),'YVQsm':'ranger\x20setup','bWlzh':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','obFWw':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','jWFhB':function(_0x237086,_0x3acae1){return _0x237086(_0x3acae1);},'cjEUJ':function(_0x3dd83b){return _0x3dd83b();},'jeRcx':function(_0x2a030a,_0x4eaffe){return _0x2a030a!==_0x4eaffe;},'SYBOV':function(_0x31da64,_0x3d4621){return _0x31da64!==_0x3d4621;}},_0x15f039=_0x160b36||process[_0x123fb3(0x143)]['CLAUDE_SESSION_ID']||'',_0x4fa058=Boolean(_0x160b36),_0x5c37d9=await getToken();if(!_0x5c37d9){const _0xe9a252=_0x4fa058?_0x17f621['wkQCx']:_0x17f621[_0x123fb3(0x13f)],_0x1b350c=_0x4fa058?_0x17f621[_0x123fb3(0x136)]:_0x17f621[_0x123fb3(0x135)];_0x17f621['jWFhB'](printBlock,'#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0xe9a252+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x1b350c);return;}try{await update();}catch{}_0x15f039&&enableSession(_0x15f039);const _0x2849c8=_0x17f621[_0x123fb3(0x13e)](getCurrentBranch),_0x3c35ef=_0x2849c8&&_0x17f621[_0x123fb3(0x13d)](_0x2849c8,'main')&&_0x17f621[_0x123fb3(0x147)](_0x2849c8,_0x123fb3(0x138))?_0x123fb3(0x140)+_0x2849c8+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x5c42a4=getRangerSkillContent();printBlock(_0x123fb3(0x13c)+_0x3c35ef+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x5c42a4+'\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(_0x9f1e0a,_0x363f8a){const _0x19dc90=_0x27d6,_0x21131a=_0x9f1e0a();while(!![]){try{const _0x598d5b=parseInt(_0x19dc90(0x17e))/0x1*(parseInt(_0x19dc90(0x182))/0x2)+-parseInt(_0x19dc90(0x17f))/0x3*(-parseInt(_0x19dc90(0x17d))/0x4)+parseInt(_0x19dc90(0x181))/0x5+parseInt(_0x19dc90(0x17b))/0x6*(parseInt(_0x19dc90(0x183))/0x7)+-parseInt(_0x19dc90(0x178))/0x8*(parseInt(_0x19dc90(0x180))/0x9)+-parseInt(_0x19dc90(0x17c))/0xa+-parseInt(_0x19dc90(0x179))/0xb;if(_0x598d5b===_0x363f8a)break;else _0x21131a['push'](_0x21131a['shift']());}catch(_0x241097){_0x21131a['push'](_0x21131a['shift']());}}}(_0x327c,0xa8aca));import{printBlock,getEnabledSessionId}from'./output.js';function _0x27d6(_0x1f36b4,_0x2325d8){_0x1f36b4=_0x1f36b4-0x178;const _0x327c2d=_0x327c();let _0x27d668=_0x327c2d[_0x1f36b4];return _0x27d668;}export async function exitPlanMode(_0x5ab236){const _0xa889d=_0x27d6,_0x396bfe={'DLQmF':function(_0x4543c7,_0x5ab276){return _0x4543c7(_0x5ab276);}},_0x50d70a=await getEnabledSessionId(_0x5ab236);if(!_0x50d70a)return;_0x396bfe[_0xa889d(0x17a)](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x327c(){const _0x424df1=['2673QhqtnE','6824485yugUBT','70864voHrCP','56SPxJXW','12288HApMkV','7001588HDjPaG','DLQmF','360786mDiJIO','9245360ltfYKS','20vuzXJo','23xtdSnF','28347nKPxFZ'];_0x327c=function(){return _0x424df1;};return _0x327c();}
1
+ function _0x2b71(_0x63eb77,_0xd5283c){_0x63eb77=_0x63eb77-0xdf;const _0xdd2a65=_0xdd2a();let _0x2b7152=_0xdd2a65[_0x63eb77];return _0x2b7152;}(function(_0x4edbd4,_0x565d0e){const _0x198c8d=_0x2b71,_0x29b165=_0x4edbd4();while(!![]){try{const _0x47252c=-parseInt(_0x198c8d(0xe0))/0x1+parseInt(_0x198c8d(0xe7))/0x2*(parseInt(_0x198c8d(0xdf))/0x3)+-parseInt(_0x198c8d(0xe5))/0x4+-parseInt(_0x198c8d(0xe3))/0x5+parseInt(_0x198c8d(0xe2))/0x6+parseInt(_0x198c8d(0xe1))/0x7+-parseInt(_0x198c8d(0xe4))/0x8*(parseInt(_0x198c8d(0xe6))/0x9);if(_0x47252c===_0x565d0e)break;else _0x29b165['push'](_0x29b165['shift']());}catch(_0x4f1319){_0x29b165['push'](_0x29b165['shift']());}}}(_0xdd2a,0x9849f));function _0xdd2a(){const _0x177e76=['42116EKXnAS','141oNvndT','400108ldJpIU','1676458NWDfyX','3108582nDnubL','1711005albhHL','162312jkvBDS','551060ImtACy','108ByiSsa'];_0xdd2a=function(){return _0x177e76;};return _0xdd2a();}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x981806){const _0xd8f1b9={'wHXJy':function(_0x10d305,_0xb8bf0c){return _0x10d305(_0xb8bf0c);}},_0xbe93df=await _0xd8f1b9['wHXJy'](getEnabledSessionId,_0x981806);if(!_0xbe93df)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(_0x2ad622,_0x589047){var _0xc374ce=_0xaac1,_0x21c83b=_0x2ad622();while(!![]){try{var _0x30c9ea=parseInt(_0xc374ce(0x18a))/0x1*(parseInt(_0xc374ce(0x188))/0x2)+-parseInt(_0xc374ce(0x18b))/0x3+parseInt(_0xc374ce(0x192))/0x4*(parseInt(_0xc374ce(0x18d))/0x5)+-parseInt(_0xc374ce(0x18f))/0x6+-parseInt(_0xc374ce(0x190))/0x7*(parseInt(_0xc374ce(0x18c))/0x8)+-parseInt(_0xc374ce(0x193))/0x9*(-parseInt(_0xc374ce(0x18e))/0xa)+parseInt(_0xc374ce(0x189))/0xb*(-parseInt(_0xc374ce(0x191))/0xc);if(_0x30c9ea===_0x589047)break;else _0x21c83b['push'](_0x21c83b['shift']());}catch(_0x3b9558){_0x21c83b['push'](_0x21c83b['shift']());}}}(_0x40b1,0xc2082));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';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x40b1(){var _0x3564c0=['2361006deBgXy','8gwPsvZ','397340gUyoov','14985730sAjFuQ','1240770YXKEcq','1451023ashOaq','4637964ZPctMW','68YxXDDm','9yOpYLS','2fWKKbI','44cduMMz','692299xdewns'];_0x40b1=function(){return _0x3564c0;};return _0x40b1();}function _0xaac1(_0x49267b,_0x10cecc){_0x49267b=_0x49267b-0x188;var _0x40b137=_0x40b1();var _0xaac12d=_0x40b137[_0x49267b];return _0xaac12d;}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ function _0x4a99(){var _0x248e1d=['2251995gIjMls','4234311cnyyaW','111006waVfiz','5317376bCrVDo','3970chgtFi','54626PdYYyK','3692xPoUWv','198TyDnuB','786532fDKPbY','3dhRiTu','192oQIozH'];_0x4a99=function(){return _0x248e1d;};return _0x4a99();}(function(_0x210b20,_0xefca86){var _0x5acba2=_0x655f,_0xddfea=_0x210b20();while(!![]){try{var _0x5c5138=-parseInt(_0x5acba2(0x97))/0x1*(parseInt(_0x5acba2(0x90))/0x2)+parseInt(_0x5acba2(0x8f))/0x3*(-parseInt(_0x5acba2(0x8e))/0x4)+-parseInt(_0x5acba2(0x91))/0x5+-parseInt(_0x5acba2(0x98))/0x6*(-parseInt(_0x5acba2(0x93))/0x7)+-parseInt(_0x5acba2(0x94))/0x8+-parseInt(_0x5acba2(0x92))/0x9+parseInt(_0x5acba2(0x95))/0xa*(parseInt(_0x5acba2(0x96))/0xb);if(_0x5c5138===_0xefca86)break;else _0xddfea['push'](_0xddfea['shift']());}catch(_0x6bd162){_0xddfea['push'](_0xddfea['shift']());}}}(_0x4a99,0x57739));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 _0x655f(_0x200a29,_0x4503bd){_0x200a29=_0x200a29-0x8e;var _0x4a99a8=_0x4a99();var _0x655f50=_0x4a99a8[_0x200a29];return _0x655f50;}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x3db523,_0x12f216){const _0xf28f40=_0x2011,_0x382881=_0x3db523();while(!![]){try{const _0x5d82f0=-parseInt(_0xf28f40(0xd2))/0x1*(parseInt(_0xf28f40(0xcd))/0x2)+parseInt(_0xf28f40(0xd8))/0x3*(-parseInt(_0xf28f40(0xcc))/0x4)+parseInt(_0xf28f40(0xd3))/0x5*(parseInt(_0xf28f40(0xce))/0x6)+-parseInt(_0xf28f40(0xd0))/0x7+parseInt(_0xf28f40(0xcf))/0x8+parseInt(_0xf28f40(0xd7))/0x9+parseInt(_0xf28f40(0xd9))/0xa;if(_0x5d82f0===_0x12f216)break;else _0x382881['push'](_0x382881['shift']());}catch(_0xf049c0){_0x382881['push'](_0x382881['shift']());}}}(_0x17cb,0xa67d4));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x2011(_0x149917,_0x21514b){_0x149917=_0x149917-0xcc;const _0x17cb57=_0x17cb();let _0x201175=_0x17cb57[_0x149917];return _0x201175;}export function printBlock(_0xf2d05c){console['log'](_0xf2d05c);}export async function readHookInput(){const _0x690aee=_0x2011;let _0x4a6dac='';try{for await(const _0x19c36b of process[_0x690aee(0xd6)]){_0x4a6dac+=_0x19c36b;}}catch{return null;}if(!_0x4a6dac[_0x690aee(0xd5)]())return null;try{return JSON[_0x690aee(0xd1)](_0x4a6dac);}catch{return null;}}export async function getEnabledSessionId(_0x2fc508){const _0x30f4ee=_0x2011,_0x1b6103={'uasUV':function(_0x2b15a8,_0x122415){return _0x2b15a8(_0x122415);},'vOsof':function(_0x7ebe7c,_0x4af887){return _0x7ebe7c(_0x4af887);}};if(_0x2fc508)return _0x1b6103['uasUV'](isSessionEnabled,_0x2fc508)?_0x2fc508:null;const _0x319ed1=await readHookInput(),_0x5e3d55=_0x319ed1?.[_0x30f4ee(0xd4)];if(!_0x5e3d55||!_0x1b6103['vOsof'](isSessionEnabled,_0x5e3d55))return null;return _0x5e3d55;}export async function getEnabledHookContext(_0x502aa8){const _0x528a88=_0x2011,_0x53c9b1={'XUxFT':function(_0x390b21){return _0x390b21();}};if(_0x502aa8){if(!isSessionEnabled(_0x502aa8))return null;return{'sessionId':_0x502aa8,'input':{'session_id':_0x502aa8}};}const _0xe55d74=await _0x53c9b1['XUxFT'](readHookInput),_0x35148d=_0xe55d74?.[_0x528a88(0xd4)];if(!_0x35148d||!isSessionEnabled(_0x35148d))return null;return{'sessionId':_0x35148d,'input':_0xe55d74};}function _0x17cb(){const _0x4ec587=['1029296ovpKCn','8995455sZyyQX','parse','7ZsRlpR','450295UlUuzF','session_id','trim','stdin','7424748WAutWI','3ZStstH','11523670hGKwIs','870448IcjAeQ','106194XpqMJu','30cSHKVx'];_0x17cb=function(){return _0x4ec587;};return _0x17cb();}
1
+ (function(_0xb5e5a0,_0x2c0656){const _0x490db1=_0x3dc9,_0x136773=_0xb5e5a0();while(!![]){try{const _0x2816de=parseInt(_0x490db1(0x19d))/0x1+-parseInt(_0x490db1(0x1a2))/0x2+parseInt(_0x490db1(0x1a3))/0x3+-parseInt(_0x490db1(0x19b))/0x4+parseInt(_0x490db1(0x19a))/0x5+-parseInt(_0x490db1(0x199))/0x6*(-parseInt(_0x490db1(0x19f))/0x7)+parseInt(_0x490db1(0x19c))/0x8;if(_0x2816de===_0x2c0656)break;else _0x136773['push'](_0x136773['shift']());}catch(_0x3c23ba){_0x136773['push'](_0x136773['shift']());}}}(_0x300e,0x7989a));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x300e(){const _0x30dc3b=['MAnhG','7gEXjfC','hDdka','trim','1643940PSNPVE','1136235NfMkuY','1246602GCtZxq','967300kYyusI','1784316DsEsXw','419672ZzgCVZ','933436VCucmU'];_0x300e=function(){return _0x30dc3b;};return _0x300e();}function _0x3dc9(_0x1e358e,_0x259160){_0x1e358e=_0x1e358e-0x199;const _0x300e20=_0x300e();let _0x3dc930=_0x300e20[_0x1e358e];return _0x3dc930;}export function printBlock(_0x57d04c){console['log'](_0x57d04c);}export async function readHookInput(){const _0x2580db=_0x3dc9;let _0x3e9906='';try{for await(const _0x3a67b0 of process['stdin']){_0x3e9906+=_0x3a67b0;}}catch{return null;}if(!_0x3e9906[_0x2580db(0x1a1)]())return null;try{return JSON['parse'](_0x3e9906);}catch{return null;}}export async function getEnabledSessionId(_0x3b2f7b){const _0x2be459={'DmBNy':function(_0x55fa2e,_0x3e1160){return _0x55fa2e(_0x3e1160);}};if(_0x3b2f7b)return isSessionEnabled(_0x3b2f7b)?_0x3b2f7b:null;const _0x483f54=await readHookInput(),_0x2dd1e4=_0x483f54?.['session_id'];if(!_0x2dd1e4||!_0x2be459['DmBNy'](isSessionEnabled,_0x2dd1e4))return null;return _0x2dd1e4;}export async function getEnabledHookContext(_0x202b94){const _0x647cbc=_0x3dc9,_0x712d7d={'MAnhG':function(_0x1390ee,_0x2d8249){return _0x1390ee(_0x2d8249);},'hDdka':function(_0x2c8f2b,_0x16fe6a){return _0x2c8f2b(_0x16fe6a);}};if(_0x202b94){if(!_0x712d7d[_0x647cbc(0x19e)](isSessionEnabled,_0x202b94))return null;return{'sessionId':_0x202b94,'input':{'session_id':_0x202b94}};}const _0x142ced=await readHookInput(),_0x1dd25e=_0x142ced?.['session_id'];if(!_0x1dd25e||!_0x712d7d[_0x647cbc(0x1a0)](isSessionEnabled,_0x1dd25e))return null;return{'sessionId':_0x1dd25e,'input':_0x142ced};}
@@ -1 +1 @@
1
- (function(_0x4c6680,_0x37a526){const _0x5ac5ad=_0x51f0,_0x3eb170=_0x4c6680();while(!![]){try{const _0x3876b0=-parseInt(_0x5ac5ad(0xe7))/0x1+-parseInt(_0x5ac5ad(0xef))/0x2+-parseInt(_0x5ac5ad(0xf5))/0x3+parseInt(_0x5ac5ad(0xf3))/0x4*(parseInt(_0x5ac5ad(0xf1))/0x5)+-parseInt(_0x5ac5ad(0xf0))/0x6*(parseInt(_0x5ac5ad(0xf2))/0x7)+-parseInt(_0x5ac5ad(0xee))/0x8+parseInt(_0x5ac5ad(0xf4))/0x9*(parseInt(_0x5ac5ad(0xeb))/0xa);if(_0x3876b0===_0x37a526)break;else _0x3eb170['push'](_0x3eb170['shift']());}catch(_0x156403){_0x3eb170['push'](_0x3eb170['shift']());}}}(_0x2799,0xc93d1));function _0x51f0(_0x2987b0,_0x3bf5d1){_0x2987b0=_0x2987b0-0xe7;const _0x27998c=_0x2799();let _0x51f042=_0x27998c[_0x2987b0];return _0x51f042;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x2799(){const _0xec129b=['4617438lrYzxG','1260226VMaNvV','input','lqcIM','xLJKE','33040TzFDRj','===\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===','sessionId','1178624UiPlHi','1346614qokwrn','2357352pNDitz','465UctjMY','7ykQvZQ','3984rqnnMe','12924ukVIfT'];_0x2799=function(){return _0xec129b;};return _0x2799();}export async function planReminder(_0x41f1b7){const _0x5eb0a8=_0x51f0,_0x483cfc={'lqcIM':function(_0x47e2d1,_0x1cda25){return _0x47e2d1(_0x1cda25);},'xLJKE':function(_0x5b15eb,_0x2f1961){return _0x5b15eb(_0x2f1961);}},_0xcfdd9a=await _0x483cfc[_0x5eb0a8(0xe9)](getEnabledHookContext,_0x41f1b7);if(!_0xcfdd9a)return;if(_0xcfdd9a[_0x5eb0a8(0xe8)]['permission_mode']!=='plan')return;if(!_0x483cfc[_0x5eb0a8(0xe9)](shouldShowPlanReminder,_0xcfdd9a[_0x5eb0a8(0xed)]))return;_0x483cfc[_0x5eb0a8(0xea)](printBlock,_0x5eb0a8(0xec));}
1
+ (function(_0x40da30,_0x35e18e){const _0x5edc04=_0x350f,_0x3fda58=_0x40da30();while(!![]){try{const _0x5bd5fa=-parseInt(_0x5edc04(0x72))/0x1*(-parseInt(_0x5edc04(0x6a))/0x2)+-parseInt(_0x5edc04(0x76))/0x3*(-parseInt(_0x5edc04(0x6f))/0x4)+-parseInt(_0x5edc04(0x75))/0x5*(parseInt(_0x5edc04(0x70))/0x6)+-parseInt(_0x5edc04(0x71))/0x7*(-parseInt(_0x5edc04(0x73))/0x8)+parseInt(_0x5edc04(0x6d))/0x9+-parseInt(_0x5edc04(0x69))/0xa+parseInt(_0x5edc04(0x77))/0xb*(parseInt(_0x5edc04(0x78))/0xc);if(_0x5bd5fa===_0x35e18e)break;else _0x3fda58['push'](_0x3fda58['shift']());}catch(_0x162d12){_0x3fda58['push'](_0x3fda58['shift']());}}}(_0x1608,0xe2e19));function _0x350f(_0x192fe3,_0x14ecbd){_0x192fe3=_0x192fe3-0x69;const _0x1608a7=_0x1608();let _0x350ff8=_0x1608a7[_0x192fe3];return _0x350ff8;}import{printBlock,getEnabledHookContext}from'./output.js';function _0x1608(){const _0x3e6113=['1094061RwLStR','143uaJwWY','862044BlxMYm','18502360yxUxYm','2HxRpuI','permission_mode','PRYrl','15337170QqxdYD','===\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===','4HieHVB','59322rEGVdU','7lOAwOK','1168093afqtsO','1288072sbwvAZ','plan','785BDbaMo'];_0x1608=function(){return _0x3e6113;};return _0x1608();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4164ef){const _0x21b963=_0x350f,_0x1aebc4={'PRYrl':_0x21b963(0x74)},_0x59086d=await getEnabledHookContext(_0x4164ef);if(!_0x59086d)return;if(_0x59086d['input'][_0x21b963(0x6b)]!==_0x1aebc4[_0x21b963(0x6c)])return;if(!shouldShowPlanReminder(_0x59086d['sessionId']))return;printBlock(_0x21b963(0x6e));}
@@ -1 +1 @@
1
- (function(_0x32b0db,_0x12d478){const _0x39bd71=_0x5e73,_0x662277=_0x32b0db();while(!![]){try{const _0x1a2779=-parseInt(_0x39bd71(0x199))/0x1+parseInt(_0x39bd71(0x197))/0x2*(-parseInt(_0x39bd71(0x1a1))/0x3)+-parseInt(_0x39bd71(0x19c))/0x4*(-parseInt(_0x39bd71(0x19f))/0x5)+parseInt(_0x39bd71(0x1a0))/0x6*(-parseInt(_0x39bd71(0x198))/0x7)+-parseInt(_0x39bd71(0x19e))/0x8*(-parseInt(_0x39bd71(0x19a))/0x9)+parseInt(_0x39bd71(0x19d))/0xa+parseInt(_0x39bd71(0x19b))/0xb;if(_0x1a2779===_0x12d478)break;else _0x662277['push'](_0x662277['shift']());}catch(_0x1df724){_0x662277['push'](_0x662277['shift']());}}}(_0x170b,0x1d837));function _0x5e73(_0x4c0ce7,_0x50f078){_0x4c0ce7=_0x4c0ce7-0x197;const _0x170ba8=_0x170b();let _0x5e73b6=_0x170ba8[_0x4c0ce7];return _0x5e73b6;}function _0x170b(){const _0x5b6d68=['1076691glPzVI','4ZIcMKu','366090viZndS','8YbFlDD','755815ESLKYH','12iecukS','324867QxMDfQ','===\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===','2uuErRP','180173lseWFV','30005dbqHGt','225054DcTqZJ'];_0x170b=function(){return _0x5b6d68;};return _0x170b();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x57c94e){const _0x89adc7=_0x5e73,_0x4674f={'HIkwc':function(_0x25b850,_0x1ecfd3){return _0x25b850(_0x1ecfd3);}},_0x5b8c75=await getEnabledSessionId(_0x57c94e);if(!_0x5b8c75)return;_0x4674f['HIkwc'](printBlock,_0x89adc7(0x1a2));}
1
+ function _0x4ae0(){const _0x53435f=['94020mYxKsA','784KIOQLR','483540zhUInd','405GfstKa','32166nsErkf','98488HaUxEt','4670dLfmFv','4lVhOOf','251305kilgVW','1371692DYIDRl','16258EshUCZ'];_0x4ae0=function(){return _0x53435f;};return _0x4ae0();}function _0x4027(_0xf72cc5,_0x509dbb){_0xf72cc5=_0xf72cc5-0x68;const _0x4ae0ea=_0x4ae0();let _0x40279a=_0x4ae0ea[_0xf72cc5];return _0x40279a;}(function(_0xe53049,_0x20a3b3){const _0x4932c1=_0x4027,_0x3e5954=_0xe53049();while(!![]){try{const _0x36e79a=parseInt(_0x4932c1(0x70))/0x1+parseInt(_0x4932c1(0x6e))/0x2+parseInt(_0x4932c1(0x72))/0x3+-parseInt(_0x4932c1(0x6c))/0x4*(-parseInt(_0x4932c1(0x6d))/0x5)+-parseInt(_0x4932c1(0x69))/0x6*(-parseInt(_0x4932c1(0x71))/0x7)+parseInt(_0x4932c1(0x6a))/0x8*(-parseInt(_0x4932c1(0x68))/0x9)+parseInt(_0x4932c1(0x6b))/0xa*(-parseInt(_0x4932c1(0x6f))/0xb);if(_0x36e79a===_0x20a3b3)break;else _0x3e5954['push'](_0x3e5954['shift']());}catch(_0x30ac21){_0x3e5954['push'](_0x3e5954['shift']());}}}(_0x4ae0,0x54d7e));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x8f7631){const _0x4d6e2e=await getEnabledSessionId(_0x8f7631);if(!_0x4d6e2e)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(_0x1d4777,_0x339f25){const _0x3e3ea5=_0x470d,_0x55777f=_0x1d4777();while(!![]){try{const _0x4a5673=-parseInt(_0x3e3ea5(0x14a))/0x1*(-parseInt(_0x3e3ea5(0x155))/0x2)+-parseInt(_0x3e3ea5(0x14f))/0x3*(parseInt(_0x3e3ea5(0x159))/0x4)+-parseInt(_0x3e3ea5(0x157))/0x5*(-parseInt(_0x3e3ea5(0x154))/0x6)+parseInt(_0x3e3ea5(0x14b))/0x7*(-parseInt(_0x3e3ea5(0x152))/0x8)+-parseInt(_0x3e3ea5(0x158))/0x9*(parseInt(_0x3e3ea5(0x156))/0xa)+parseInt(_0x3e3ea5(0x149))/0xb*(parseInt(_0x3e3ea5(0x153))/0xc)+-parseInt(_0x3e3ea5(0x148))/0xd;if(_0x4a5673===_0x339f25)break;else _0x55777f['push'](_0x55777f['shift']());}catch(_0x2ad18b){_0x55777f['push'](_0x55777f['shift']());}}}(_0x221d,0x749f3));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x470d(_0x17c711,_0xa3c532){_0x17c711=_0x17c711-0x148;const _0x221d66=_0x221d();let _0x470d7a=_0x221d66[_0x17c711];return _0x470d7a;}function _0x221d(){const _0x313b6c=['3DVKzrk','log','PostToolUse','24OAaPXo','7487196lbOBtf','4161516vsEAYB','27294ScyUfh','54160jOAfkR','5nRyBjk','432EQGTfR','3365780YAxdli','NhtJM','7942805prVaYJ','11KwnBKD','65gGSyYv','33817CutlCv','OULad','stringify','ruHYl'];_0x221d=function(){return _0x313b6c;};return _0x221d();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x38cbc9){const _0x4c9d16=_0x470d,_0x3791ee={'ruHYl':function(_0x53e7f4,_0x5bfd4b){return _0x53e7f4(_0x5bfd4b);},'OULad':function(_0x572660,_0x16d43b){return _0x572660(_0x16d43b);},'NhtJM':function(_0x4646b2){return _0x4646b2();}},_0x3904a9=await _0x3791ee[_0x4c9d16(0x14e)](getEnabledSessionId,_0x38cbc9);if(!_0x3904a9)return;_0x3791ee[_0x4c9d16(0x14c)](updateBranchTracking,_0x3904a9);const _0x433bb7=await _0x3791ee[_0x4c9d16(0x15a)](getToken);if(!_0x433bb7)return;const _0x59936f=getSessionEntry(_0x3904a9);if(_0x59936f){const _0xca38a5={'hookSpecificOutput':{'hookEventName':_0x4c9d16(0x151),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x4c9d16(0x150)](JSON[_0x4c9d16(0x14d)](_0xca38a5));return;}const _0x4acae0={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON[_0x4c9d16(0x14d)](_0x4acae0));}
1
+ (function(_0x4aa333,_0x34b61c){const _0x8193da=_0x14ba,_0x49c9de=_0x4aa333();while(!![]){try{const _0x1ddf7f=-parseInt(_0x8193da(0xcc))/0x1*(parseInt(_0x8193da(0xc6))/0x2)+-parseInt(_0x8193da(0xd0))/0x3+-parseInt(_0x8193da(0xc8))/0x4*(parseInt(_0x8193da(0xc4))/0x5)+-parseInt(_0x8193da(0xc3))/0x6*(parseInt(_0x8193da(0xcb))/0x7)+parseInt(_0x8193da(0xc9))/0x8*(-parseInt(_0x8193da(0xce))/0x9)+parseInt(_0x8193da(0xca))/0xa+parseInt(_0x8193da(0xcd))/0xb;if(_0x1ddf7f===_0x34b61c)break;else _0x49c9de['push'](_0x49c9de['shift']());}catch(_0x306579){_0x49c9de['push'](_0x49c9de['shift']());}}}(_0x2649,0x91f38));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x14ba(_0x230251,_0x4cc706){_0x230251=_0x230251-0xc0;const _0x2649c0=_0x2649();let _0x14ba1e=_0x2649c0[_0x230251];return _0x14ba1e;}import{getEnabledSessionId}from'./output.js';function _0x2649(){const _0xb265af=['20419zkmFgU','271GkXCZI','33496826aemwTd','8667mYTzRa','Bemvq','2851347iWiwTO','hZWqI','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).','PostToolUse','1878SLylhI','211555ulGYzc','stringify','916COxwUD','KYEpQ','76woHGYa','232dGsbUc','3720740LRcodL'];_0x2649=function(){return _0xb265af;};return _0x2649();}export async function postEdit(_0x4653cc){const _0x5a6f96=_0x14ba,_0x3bc6c2={'KYEpQ':function(_0x143270,_0x42f995){return _0x143270(_0x42f995);},'hZWqI':function(_0x24111c,_0xe9b1d8){return _0x24111c(_0xe9b1d8);},'Bemvq':function(_0x5c2ff1){return _0x5c2ff1();},'SbgbV':'PostToolUse'},_0x27ee56=await _0x3bc6c2[_0x5a6f96(0xc7)](getEnabledSessionId,_0x4653cc);if(!_0x27ee56)return;_0x3bc6c2[_0x5a6f96(0xc0)](updateBranchTracking,_0x27ee56);const _0x30963d=await _0x3bc6c2[_0x5a6f96(0xcf)](getToken);if(!_0x30963d)return;const _0xf5a4d2=_0x3bc6c2['KYEpQ'](getSessionEntry,_0x27ee56);if(_0xf5a4d2){const _0x233fd1={'hookSpecificOutput':{'hookEventName':_0x5a6f96(0xc2),'additionalContext':_0x5a6f96(0xc1)}};console['log'](JSON[_0x5a6f96(0xc5)](_0x233fd1));return;}const _0x1ee4db={'hookSpecificOutput':{'hookEventName':_0x3bc6c2['SbgbV'],'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'](_0x1ee4db));}
@@ -1 +1 @@
1
- function _0x217c(){const _0x484fb0=['10442270kqQHVE','1437SxzkVe','===\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`.','7945Bwrkev','1204uVJTFH','orSzP','1196BfwBNM','11SVTjkC','106173CcPgmJ','438539vBvSyG','2276556XDcYua','8ifwIgB','644763CFwlVv'];_0x217c=function(){return _0x484fb0;};return _0x217c();}(function(_0x2c0c00,_0x3ea245){const _0x31b53d=_0x4309,_0x167040=_0x2c0c00();while(!![]){try{const _0x45162d=parseInt(_0x31b53d(0x1b4))/0x1+-parseInt(_0x31b53d(0x1bc))/0x2*(parseInt(_0x31b53d(0x1b9))/0x3)+parseInt(_0x31b53d(0x1b1))/0x4*(-parseInt(_0x31b53d(0x1bb))/0x5)+-parseInt(_0x31b53d(0x1b5))/0x6+-parseInt(_0x31b53d(0x1b7))/0x7+-parseInt(_0x31b53d(0x1b6))/0x8*(-parseInt(_0x31b53d(0x1b3))/0x9)+parseInt(_0x31b53d(0x1b8))/0xa*(parseInt(_0x31b53d(0x1b2))/0xb);if(_0x45162d===_0x3ea245)break;else _0x167040['push'](_0x167040['shift']());}catch(_0x1c8e3b){_0x167040['push'](_0x167040['shift']());}}}(_0x217c,0x3f5e7));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x4309(_0x32572a,_0x2afeeb){_0x32572a=_0x32572a-0x1b0;const _0x217c98=_0x217c();let _0x43095b=_0x217c98[_0x32572a];return _0x43095b;}export async function preCompact(_0x312782){const _0x3d4bf0=_0x4309,_0xa85081={'orSzP':function(_0x2ad1a8,_0x2359d4){return _0x2ad1a8(_0x2359d4);}},_0x458b78=await getEnabledSessionId(_0x312782);if(!_0x458b78)return;try{const _0x9cbe76=await getToken();if(!_0x9cbe76)return;_0xa85081[_0x3d4bf0(0x1b0)](printBlock,_0x3d4bf0(0x1ba));}catch{}}
1
+ (function(_0xf68585,_0x45beab){const _0x400045=_0x5a1a,_0x44cc5b=_0xf68585();while(!![]){try{const _0x1cbf4d=parseInt(_0x400045(0x108))/0x1+-parseInt(_0x400045(0x10c))/0x2*(parseInt(_0x400045(0x109))/0x3)+-parseInt(_0x400045(0x10d))/0x4*(parseInt(_0x400045(0x110))/0x5)+-parseInt(_0x400045(0x10a))/0x6+-parseInt(_0x400045(0x10f))/0x7+-parseInt(_0x400045(0x10e))/0x8*(-parseInt(_0x400045(0x107))/0x9)+parseInt(_0x400045(0x111))/0xa;if(_0x1cbf4d===_0x45beab)break;else _0x44cc5b['push'](_0x44cc5b['shift']());}catch(_0x9cc68c){_0x44cc5b['push'](_0x44cc5b['shift']());}}}(_0x4116,0x43c97));function _0x5a1a(_0x350bf4,_0x1434b4){_0x350bf4=_0x350bf4-0x107;const _0x4116ec=_0x4116();let _0x5a1a21=_0x4116ec[_0x350bf4];return _0x5a1a21;}function _0x4116(){const _0x4f832b=['76OIPfsH','1885272tsQkww','3781736QYUKZZ','136215orkymg','15675030SZRhGt','18kMhfxH','145792RUQWOA','451476dspGoT','2385702DEMVwv','fHFjB','6HNWBBC'];_0x4116=function(){return _0x4f832b;};return _0x4116();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2adb30){const _0x24d692=_0x5a1a,_0x5aa3d4={'fHFjB':function(_0x24c033,_0x6e9dde){return _0x24c033(_0x6e9dde);},'zjLoX':function(_0x1fbbe4){return _0x1fbbe4();},'RKZuh':function(_0x16d38a,_0x294397){return _0x16d38a(_0x294397);}},_0x4621b7=await _0x5aa3d4[_0x24d692(0x10b)](getEnabledSessionId,_0x2adb30);if(!_0x4621b7)return;try{const _0x267924=await _0x5aa3d4['zjLoX'](getToken);if(!_0x267924)return;_0x5aa3d4['RKZuh'](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(_0x390f43,_0x131cff){const _0x505edd=_0x5d01,_0x5b2470=_0x390f43();while(!![]){try{const _0x3295b4=parseInt(_0x505edd(0x10d))/0x1+parseInt(_0x505edd(0x109))/0x2+parseInt(_0x505edd(0x107))/0x3+parseInt(_0x505edd(0x10c))/0x4+-parseInt(_0x505edd(0x106))/0x5*(parseInt(_0x505edd(0x104))/0x6)+parseInt(_0x505edd(0x103))/0x7+-parseInt(_0x505edd(0x10b))/0x8;if(_0x3295b4===_0x131cff)break;else _0x5b2470['push'](_0x5b2470['shift']());}catch(_0x478c9b){_0x5b2470['push'](_0x5b2470['shift']());}}}(_0x5e2c,0xf0258));function _0x5e2c(){const _0x454f10=['27258800vUxeQL','4693716KOaUTe','1265932kpoVca','clear','session_id','12508048ygkLbT','809886eTYMcB','env','45RMMgfs','743616tGjOuF','yQfiU','2263444HVboua','AjjzU'];_0x5e2c=function(){return _0x454f10;};return _0x5e2c();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x5d01(_0x456fe2,_0xa128f7){_0x456fe2=_0x456fe2-0x101;const _0x5e2c20=_0x5e2c();let _0x5d01de=_0x5e2c20[_0x456fe2];return _0x5d01de;}export async function sessionEnd(_0x2c271e){const _0x46558d=_0x5d01,_0x37d222={'AjjzU':function(_0xc49284,_0x5077d3){return _0xc49284===_0x5077d3;},'hbfro':_0x46558d(0x101),'yQfiU':function(_0x2be928,_0x102155){return _0x2be928(_0x102155);}},_0xb903ce=process[_0x46558d(0x105)]['CLAUDE_SESSION_ID'];let _0x2df850=_0x2c271e,_0x11b101;if(!_0x2c271e){if(_0xb903ce&&!isSessionEnabled(_0xb903ce))return;const _0x1a9b09=await readHookInput();_0x2df850=_0x1a9b09?.[_0x46558d(0x102)]||_0xb903ce,_0x11b101=_0x1a9b09?.['reason'];}if(!_0x2df850)return;_0x37d222[_0x46558d(0x10a)](_0x11b101,_0x37d222['hbfro'])&&_0x37d222[_0x46558d(0x108)](recordEnabledSessionCleared,_0x2df850);}
1
+ function _0xe8a1(_0x5d20d9,_0xb82698){_0x5d20d9=_0x5d20d9-0xeb;const _0x3282d1=_0x3282();let _0xe8a132=_0x3282d1[_0x5d20d9];return _0xe8a132;}(function(_0x1ecede,_0x3e1e7c){const _0x3c5227=_0xe8a1,_0x36e9d5=_0x1ecede();while(!![]){try{const _0x2812c2=parseInt(_0x3c5227(0xef))/0x1+-parseInt(_0x3c5227(0xeb))/0x2+-parseInt(_0x3c5227(0xec))/0x3+parseInt(_0x3c5227(0xf2))/0x4+-parseInt(_0x3c5227(0xf3))/0x5+parseInt(_0x3c5227(0xf4))/0x6*(parseInt(_0x3c5227(0xf5))/0x7)+parseInt(_0x3c5227(0xed))/0x8;if(_0x2812c2===_0x3e1e7c)break;else _0x36e9d5['push'](_0x36e9d5['shift']());}catch(_0x233679){_0x36e9d5['push'](_0x36e9d5['shift']());}}}(_0x3282,0x8b4ef));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x3282(){const _0x18dccd=['1886385nXrtFB','1001820OjDFtR','35DOwtZE','session_id','1916112GAKyIs','1468101lyEawq','10435768ufTMdQ','env','105948kTrgOu','HWMAu','reason','600152fgzOQY'];_0x3282=function(){return _0x18dccd;};return _0x3282();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x942e73){const _0x4e4494=_0xe8a1,_0x380c58={'ApvZn':function(_0x44da2c){return _0x44da2c();},'HWMAu':'clear'},_0x36de91=process[_0x4e4494(0xee)]['CLAUDE_SESSION_ID'];let _0x370b08=_0x942e73,_0x448639;if(!_0x942e73){if(_0x36de91&&!isSessionEnabled(_0x36de91))return;const _0x2b6466=await _0x380c58['ApvZn'](readHookInput);_0x370b08=_0x2b6466?.[_0x4e4494(0xf6)]||_0x36de91,_0x448639=_0x2b6466?.[_0x4e4494(0xf1)];}if(!_0x370b08)return;_0x448639===_0x380c58[_0x4e4494(0xf0)]&&recordEnabledSessionCleared(_0x370b08);}