@ranger-testing/ranger-cli 2.4.6 → 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 _0x535979=_0x6897;(function(_0x153894,_0x237af9){const _0x40df06=_0x6897,_0x37eb69=_0x153894();while(!![]){try{const _0x1c62c6=-parseInt(_0x40df06(0x107))/0x1+parseInt(_0x40df06(0x108))/0x2*(parseInt(_0x40df06(0x10b))/0x3)+parseInt(_0x40df06(0x10c))/0x4+parseInt(_0x40df06(0x10f))/0x5*(-parseInt(_0x40df06(0x106))/0x6)+-parseInt(_0x40df06(0x100))/0x7+-parseInt(_0x40df06(0x105))/0x8*(parseInt(_0x40df06(0x112))/0x9)+parseInt(_0x40df06(0x10e))/0xa;if(_0x1c62c6===_0x237af9)break;else _0x37eb69['push'](_0x37eb69['shift']());}catch(_0x3d14d3){_0x37eb69['push'](_0x37eb69['shift']());}}}(_0x38aa,0x46b2d));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x535979(0x10d)];function parseValue(_0x34500d,_0x229c6f){const _0x2ebb3f=_0x535979,_0x1cab25={'BRSDR':function(_0x18a6e2,_0x5922e4){return _0x18a6e2===_0x5922e4;}};if(BOOLEAN_KEYS['includes'](_0x34500d)){if(_0x1cab25['BRSDR'](_0x229c6f,_0x2ebb3f(0x111)))return!![];if(_0x229c6f===_0x2ebb3f(0x102))return![];throw new Error(_0x2ebb3f(0x114)+_0x34500d+_0x2ebb3f(0x109));}return _0x229c6f;}export async function configSet(_0x1f01bf,_0xf0477c,_0x2db7e8){const _0xc2e7e8=_0x535979,_0x3eeadf={'Bkcrg':function(_0x16e033,_0x5f033a){return _0x16e033(_0x5f033a);},'jxLRT':function(_0x1e4a6c,_0x123940,_0x2389b7){return _0x1e4a6c(_0x123940,_0x2389b7);}},_0x3f9950=_0x3eeadf[_0xc2e7e8(0x115)](getEnvDir,_0x1f01bf);if(!_0x3eeadf['Bkcrg'](existsSync,_0x3f9950))throw new Error('Profile\x20\x22'+_0x1f01bf+_0xc2e7e8(0x10a)+_0x1f01bf);const _0x293938=await loadSettings(_0x1f01bf),_0xb89c80=_0x3eeadf[_0xc2e7e8(0x101)](parseValue,_0xf0477c,_0x2db7e8);setNestedValue(_0x293938,_0xf0477c,_0xb89c80),await saveSettings(_0x1f01bf,_0x293938),console['log']('Set\x20'+_0xf0477c+'\x20=\x20'+_0xb89c80);}function _0x6897(_0x353695,_0x5450e3){_0x353695=_0x353695-0xff;const _0x38aa73=_0x38aa();let _0x6897a2=_0x38aa73[_0x353695];return _0x6897a2;}export async function configGet(_0x6ccfdf,_0x25a5bd){const _0x3b6fd2=_0x535979,_0x5a3645={'unOZH':function(_0x45d12f,_0x1a64ee){return _0x45d12f(_0x1a64ee);},'gxAOK':function(_0x1630f0,_0x4b2c57,_0x3c36a5){return _0x1630f0(_0x4b2c57,_0x3c36a5);},'mSXfR':function(_0x4cae8c,_0x162733){return _0x4cae8c===_0x162733;},'NiMvF':function(_0x43f453,_0x3d0ae8){return _0x43f453===_0x3d0ae8;},'EZqVH':'object'},_0x53f57c=_0x5a3645['unOZH'](getEnvDir,_0x6ccfdf);if(!existsSync(_0x53f57c))throw new Error('Profile\x20\x22'+_0x6ccfdf+'\x22\x20does\x20not\x20exist.');const _0x3caed3=await loadSettings(_0x6ccfdf),_0x5f45d7=_0x5a3645[_0x3b6fd2(0x103)](getNestedValue,_0x3caed3,_0x25a5bd);if(_0x5a3645['mSXfR'](_0x5f45d7,undefined))console['log']('(not\x20set)');else _0x5a3645['NiMvF'](typeof _0x5f45d7,_0x5a3645['EZqVH'])?console['log'](JSON['stringify'](_0x5f45d7,null,0x2)):console['log'](_0x5f45d7);}function _0x38aa(){const _0xc871bf=['true','5823bCjTvM','log','Invalid\x20value\x20for\x20','Bkcrg','Removed\x20','aIxqD','2090249tFJOFu','jxLRT','false','gxAOK','\x22\x20does\x20not\x20exist.','5432KRgXJz','42friKko','179905xpHpGS','79886mNrTbM',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20','3YlWGAE','455076VnxTjn','allowInsecureLocalhost','11878490JbGHGz','95825BCmshi','No\x20configuration\x20set\x20for\x20\x22'];_0x38aa=function(){return _0xc871bf;};return _0x38aa();}export async function configList(_0x29e02a){const _0x5d0b8f=_0x535979,_0x318233={'aIxqD':function(_0x29f0fc,_0x3218c9){return _0x29f0fc(_0x3218c9);}},_0x293cf3=_0x318233['aIxqD'](getSettingsPath,_0x29e02a);if(!existsSync(_0x293cf3)){const _0x4f8506=_0x318233[_0x5d0b8f(0xff)](getEnvDir,_0x29e02a);if(!existsSync(_0x4f8506))throw new Error('Profile\x20\x22'+_0x29e02a+'\x22\x20does\x20not\x20exist.');console['log'](_0x5d0b8f(0x110)+_0x29e02a+'\x22');return;}const _0x12b5da=await loadSettings(_0x29e02a),_0x20fbee=formatSettings(_0x12b5da);!_0x20fbee?console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x29e02a+'\x22'):console[_0x5d0b8f(0x113)](_0x20fbee);}export async function configUnset(_0x171691,_0x2767a7){const _0x250e3f=_0x535979,_0x2b2f41={'LPYDt':function(_0x5d8514,_0x3351e6){return _0x5d8514(_0x3351e6);},'ZNTlj':function(_0x1d5d7c,_0x29228b,_0x3cb267){return _0x1d5d7c(_0x29228b,_0x3cb267);}},_0x28ec0f=getEnvDir(_0x171691);if(!existsSync(_0x28ec0f))throw new Error('Profile\x20\x22'+_0x171691+_0x250e3f(0x104));const _0x2775a9=await _0x2b2f41['LPYDt'](loadSettings,_0x171691),_0x445fdb=deleteNestedValue(_0x2775a9,_0x2767a7);_0x445fdb?(await _0x2b2f41['ZNTlj'](saveSettings,_0x171691,_0x2775a9),console[_0x250e3f(0x113)](_0x250e3f(0x116)+_0x2767a7)):console['log']('Key\x20\x22'+_0x2767a7+'\x22\x20not\x20found');}
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
- const _0x108234=_0x3a86;function _0x56aa(){const _0x42a642=['24onpVhp','reports','SpQRS','environmentDetails','log','YMHPz','settings.json','1988693hQPiie','Yugtq','baseUrl','68828mXoGKW','KHhkU','\x20\x20\x20\x20\x20\x20URL:\x20','2429162rlQIaC','\x0aProfiles:','504459YWtaWO','length','oQqGG','sort','GynCU','10pvVMrx','push','\x0aNo\x20profiles\x20found.','6940190muBCaI','iScaV','55TIGfzH','.txt','177gUlAkB','853043lLTppM','mWjRa','1265466BVIaIe','local','isDirectory'];_0x56aa=function(){return _0x42a642;};return _0x56aa();}(function(_0x48c8f6,_0x3c1bc6){const _0x2707fd=_0x3a86,_0x2ce7f7=_0x48c8f6();while(!![]){try{const _0x5ecff4=-parseInt(_0x2707fd(0x12c))/0x1+-parseInt(_0x2707fd(0x11d))/0x2+-parseInt(_0x2707fd(0x12b))/0x3*(parseInt(_0x2707fd(0x11a))/0x4)+parseInt(_0x2707fd(0x124))/0x5*(-parseInt(_0x2707fd(0x12e))/0x6)+parseInt(_0x2707fd(0x117))/0x7*(parseInt(_0x2707fd(0x131))/0x8)+-parseInt(_0x2707fd(0x11f))/0x9+-parseInt(_0x2707fd(0x127))/0xa*(-parseInt(_0x2707fd(0x129))/0xb);if(_0x5ecff4===_0x3c1bc6)break;else _0x2ce7f7['push'](_0x2ce7f7['shift']());}catch(_0x354be9){_0x2ce7f7['push'](_0x2ce7f7['shift']());}}}(_0x56aa,0xb9f52));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x3a86(_0x685973,_0xd581da){_0x685973=_0x685973-0x111;const _0x56aaab=_0x56aa();let _0x3a8659=_0x56aaab[_0x685973];return _0x3a8659;}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions','bug-bashes',_0x108234(0x111),_0x108234(0x12f),'ci'];export async function getEnvNames(){const _0x1cfcea=_0x108234,_0x229d87={'YMHPz':function(_0x55963f,_0x26e0dc){return _0x55963f(_0x26e0dc);},'mWjRa':function(_0x259827){return _0x259827();},'KHhkU':_0x1cfcea(0x12f),'hqYqf':function(_0x415be5,_0x869a72){return _0x415be5(_0x869a72);},'GynCU':function(_0x103cda,_0x24bf4f){return _0x103cda(_0x24bf4f);},'SpQRS':function(_0x56e52c,_0x542a8a,_0x169ef9){return _0x56e52c(_0x542a8a,_0x169ef9);},'iScaV':function(_0x53a174,_0x4b2920){return _0x53a174(_0x4b2920);},'oQqGG':function(_0x2e8880,_0xb28de3,_0x3c9d2a){return _0x2e8880(_0xb28de3,_0x3c9d2a);},'xxurA':'legacy'},_0x4a6bfe=getRangerDir();if(!_0x229d87['YMHPz'](existsSync,_0x4a6bfe))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x5465fd=await _0x229d87[_0x1cfcea(0x12d)](readActiveProfileName),_0x4c8514=[],_0x8d1005={},_0x81b27e=join(_0x4a6bfe,_0x229d87[_0x1cfcea(0x11b)]);if(_0x229d87['hqYqf'](existsSync,_0x81b27e)){const _0x206daf=await _0x229d87[_0x1cfcea(0x123)](readdir,_0x81b27e);for(const _0x82ff6c of _0x206daf){const _0x1b6165=join(_0x81b27e,_0x82ff6c),_0x4738bf=await _0x229d87[_0x1cfcea(0x115)](stat,_0x1b6165);_0x4738bf[_0x1cfcea(0x130)]()&&(_0x4c8514[_0x1cfcea(0x125)](_0x82ff6c),_0x8d1005[_0x82ff6c]='local');}}const _0x338c8c=_0x229d87[_0x1cfcea(0x112)](join,_0x4a6bfe,'ci');if(existsSync(_0x338c8c)){const _0x3b35c8=await readdir(_0x338c8c);for(const _0x1e1397 of _0x3b35c8){const _0x359246=_0x229d87[_0x1cfcea(0x112)](join,_0x338c8c,_0x1e1397),_0x29a8c1=await _0x229d87[_0x1cfcea(0x128)](stat,_0x359246);_0x29a8c1[_0x1cfcea(0x130)]()&&(_0x4c8514[_0x1cfcea(0x125)](_0x1e1397),_0x8d1005[_0x1e1397]='ci');}}const _0x3ff021=await readdir(_0x4a6bfe);for(const _0x4fea17 of _0x3ff021){if(NON_ENV_DIRS['includes'](_0x4fea17))continue;if(_0x4fea17['startsWith']('.'))continue;if(_0x4fea17['endsWith'](_0x1cfcea(0x12a)))continue;const _0x4b326e=join(_0x4a6bfe,_0x4fea17),_0x16d838=await stat(_0x4b326e);_0x16d838['isDirectory']()&&existsSync(_0x229d87[_0x1cfcea(0x121)](join,_0x4b326e,_0x1cfcea(0x116)))&&(!_0x4c8514['includes'](_0x4fea17)&&(_0x4c8514['push'](_0x4fea17),_0x8d1005[_0x4fea17]=_0x229d87['xxurA']));}return{'envNames':_0x4c8514,'activeEnv':_0x5465fd,'envTypes':_0x8d1005};}export async function envList(){const _0x21b979=_0x108234,_0x2a776f={'LfhFe':function(_0x51cf43,_0x32c8b4){return _0x51cf43===_0x32c8b4;},'FszyS':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','Yugtq':_0x21b979(0x12f)},{envNames:_0x3c4a2e,activeEnv:_0x563a5a,envTypes:_0x17a63e}=await getEnvNames();if(_0x2a776f['LfhFe'](_0x3c4a2e[_0x21b979(0x120)],0x0)){console[_0x21b979(0x114)](_0x21b979(0x126)),console['log'](_0x2a776f['FszyS']);return;}console['log'](_0x21b979(0x11e));for(const _0x5414f7 of _0x3c4a2e[_0x21b979(0x122)]()){const _0x48a752=_0x5414f7===_0x563a5a,_0x49222a=_0x17a63e[_0x5414f7]||_0x2a776f[_0x21b979(0x118)],_0xc03ec2=await loadSettings(_0x5414f7),_0x1b546f=_0x49222a==='legacy'?'':'\x20['+_0x49222a+']';console[_0x21b979(0x114)]('\x20\x20'+(_0x48a752?'*\x20':'\x20\x20')+_0x5414f7+_0x1b546f),_0xc03ec2[_0x21b979(0x119)]&&console['log'](_0x21b979(0x11c)+_0xc03ec2[_0x21b979(0x119)]),_0xc03ec2[_0x21b979(0x113)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0xc03ec2[_0x21b979(0x113)]);}_0x563a5a&&console[_0x21b979(0x114)]('\x0a*\x20=\x20active\x20profile');}
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
- (function(_0x4bed91,_0x574ca8){const _0x50c6af=_0x5c21,_0x2f1017=_0x4bed91();while(!![]){try{const _0x3557ed=parseInt(_0x50c6af(0x1db))/0x1+parseInt(_0x50c6af(0x23d))/0x2*(-parseInt(_0x50c6af(0x256))/0x3)+-parseInt(_0x50c6af(0x1c6))/0x4*(-parseInt(_0x50c6af(0x1b9))/0x5)+parseInt(_0x50c6af(0x1e9))/0x6*(parseInt(_0x50c6af(0x1cd))/0x7)+-parseInt(_0x50c6af(0x1dd))/0x8+parseInt(_0x50c6af(0x202))/0x9+-parseInt(_0x50c6af(0x1b8))/0xa;if(_0x3557ed===_0x574ca8)break;else _0x2f1017['push'](_0x2f1017['shift']());}catch(_0x3bb198){_0x2f1017['push'](_0x2f1017['shift']());}}}(_0x3ef3,0x8efe6));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5f1fe5 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=_0x2a7fc3=>'\x1b[1m'+_0x2a7fc3+'\x1b[0m';function getGitRepoUrl(){const _0x22f50d=_0x5c21,_0xc47034={'YHDLc':function(_0x3f4a9a,_0x2b6b28,_0x3c5797){return _0x3f4a9a(_0x2b6b28,_0x3c5797);},'fyofK':'utf-8','NnrXe':'pipe'};try{const _0x29b737=_0xc47034[_0x22f50d(0x259)](execSync,_0x22f50d(0x250),{'encoding':_0xc47034[_0x22f50d(0x198)],'stdio':[_0xc47034[_0x22f50d(0x251)],'pipe',_0xc47034[_0x22f50d(0x251)]]})[_0x22f50d(0x189)]();return _0x29b737[_0x22f50d(0x245)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x22f50d(0x21d))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5c3351=_0x5c21,_0x4c38f8={'tnPJE':'pipe'};try{return execSync(_0x5c3351(0x1fd),{'encoding':'utf-8','stdio':[_0x5c3351(0x212),_0x4c38f8[_0x5c3351(0x19f)],_0x4c38f8['tnPJE']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x4009a4=_0x5c21,_0x680eeb={'jUJHE':function(_0x1e13f8){return _0x1e13f8();},'RasPC':function(_0x523df0,_0x1170ad){return _0x523df0(_0x1170ad);},'xtjKf':function(_0x244540,_0x1cc75c,_0x24fb22){return _0x244540(_0x1cc75c,_0x24fb22);},'zrkFX':'utf-8'},_0x37a002=join(_0x680eeb['jUJHE'](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x680eeb[_0x4009a4(0x1de)](existsSync,_0x37a002))return null;try{const _0x5be2df=await _0x680eeb['xtjKf'](readFile,_0x37a002,_0x680eeb['zrkFX']);return _0x5be2df['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x1784aa){const _0x372684=_0x5c21,_0x2d9cb8={'MwknI':function(_0x506834,_0x2b3d98,_0x266b86){return _0x506834(_0x2b3d98,_0x266b86);}},_0x12a588=getRangerDir(),_0x5e25d6=join(_0x12a588,ACTIVE_FEATURE_FILE);!existsSync(_0x12a588)&&await _0x2d9cb8['MwknI'](mkdir,_0x12a588,{'recursive':!![]}),await writeFile(_0x5e25d6,_0x1784aa,_0x372684(0x185));}function getProgressDisplay(_0x50e361){const _0xe03050=_0x5c21,_0x15e6cf={'Rmhst':function(_0x3d256c,_0x3003d6){return _0x3d256c+_0x3003d6;},'yWGIr':function(_0x205019,_0x2dcb71){return _0x205019-_0x2dcb71;},'htqap':function(_0x33820e,_0x3e6854){return _0x33820e>_0x3e6854;}},_0x1a1147=_0x50e361['verifiedItems']||0x0,_0xe2b5e7=_0x50e361['verificationInProgressItems']||0x0,_0x5a42e2=_0x50e361[_0xe03050(0x247)]||0x0,_0x358bad=_0x50e361[_0xe03050(0x22f)]||0x0,_0x5a92f1=_0x50e361['pendingItems']||0x0,_0x21bfaf=_0x15e6cf[_0xe03050(0x18f)](_0x1a1147+_0xe2b5e7,_0x5a42e2)+_0x358bad+_0x5a92f1;if(_0x21bfaf===0x0)return'-';const _0x57df75=0xa,_0xc793fa=Math['round'](_0x1a1147/_0x21bfaf*_0x57df75),_0x591c50=_0x15e6cf[_0xe03050(0x18f)]('█'['repeat'](_0xc793fa),'░'['repeat'](_0x15e6cf['yWGIr'](_0x57df75,_0xc793fa))),_0x267414=[];if(_0x5a42e2>0x0)_0x267414[_0xe03050(0x181)](_0x5a42e2+'\x20blocked');if(_0x358bad>0x0)_0x267414[_0xe03050(0x181)](_0x358bad+'\x20incomplete');if(_0xe2b5e7>0x0)_0x267414[_0xe03050(0x181)](_0xe2b5e7+'\x20in\x20progress');const _0x2702b2=_0x15e6cf['htqap'](_0x267414[_0xe03050(0x18c)],0x0)?'\x20('+_0x267414[_0xe03050(0x1af)](',\x20')+')':'';return _0x591c50+'\x20'+_0x1a1147+'/'+_0x21bfaf+'\x20verified'+_0x2702b2;}function getCurrentSessionItems(_0x50caa6,_0x30ed83){const _0x5511c2=_0x5c21;if(!_0x50caa6[_0x5511c2(0x228)])return _0x30ed83[_0x5511c2(0x1ab)](_0x1ac113=>!_0x1ac113['sessionId']);return _0x30ed83[_0x5511c2(0x1ab)](_0x357de2=>_0x357de2[_0x5511c2(0x1e8)]===_0x50caa6[_0x5511c2(0x228)]||!_0x357de2[_0x5511c2(0x1e8)]);}function displayFeature(_0x26fffd,_0x561510){const _0x4310b5=_0x5c21,_0x107924={'kTgkJ':function(_0x286223,_0x4f2216){return _0x286223(_0x4f2216);},'VTrgL':function(_0x49c2c9,_0x4fe158){return _0x49c2c9>_0x4fe158;},'pqJBw':_0x4310b5(0x21b),'YuvnZ':function(_0x2d12f8,_0xfb5fac){return _0x2d12f8===_0xfb5fac;},'EsTgd':function(_0x5c1812,_0x35ff6d){return _0x5c1812===_0x35ff6d;},'GtBnL':'verified','zgXqf':'blocked','OkABi':function(_0x218df5,_0x4e220a){return _0x218df5===_0x4e220a;},'RWghd':'verification_in_progress','kqMrz':function(_0xedc3e6,_0xa64e89){return _0xedc3e6+_0xa64e89;},'xfEbF':_0x4310b5(0x23b),'kJxGe':function(_0x1f6fda,_0x591eed){return _0x1f6fda===_0x591eed;},'qpdbB':_0x4310b5(0x206)};console[_0x4310b5(0x21e)]('\x0a'+_0x26fffd[_0x4310b5(0x21a)]+'\x20('+_0x26fffd[_0x4310b5(0x19d)]+')');_0x26fffd['stats']&&console['log'](_0x4310b5(0x21f)+_0x107924[_0x4310b5(0x227)](getProgressDisplay,_0x26fffd['stats']));_0x26fffd[_0x4310b5(0x246)]&&console['log']('\x20\x20\x20Description:\x20'+_0x26fffd[_0x4310b5(0x246)]);_0x26fffd['gitRepoUrl']&&console[_0x4310b5(0x21e)](_0x4310b5(0x1b4)+_0x26fffd[_0x4310b5(0x1fe)]);_0x26fffd[_0x4310b5(0x1e6)]&&console[_0x4310b5(0x21e)](_0x4310b5(0x191)+_0x26fffd[_0x4310b5(0x1e6)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x26fffd['createdAt'])['toLocaleString']());_0x26fffd['completedAt']&&console[_0x4310b5(0x21e)]('\x20\x20\x20Completed:\x20'+new Date(_0x26fffd['completedAt'])[_0x4310b5(0x213)]());if(_0x561510&&_0x107924[_0x4310b5(0x1cf)](_0x561510['length'],0x0)){console['log'](_0x107924['pqJBw']);for(let _0x21b84c=0x0;_0x21b84c<_0x561510[_0x4310b5(0x18c)];_0x21b84c++){const _0x4309fe=_0x561510[_0x21b84c];let _0x3b8c5e;if(_0x107924[_0x4310b5(0x239)](_0x4309fe[_0x4310b5(0x249)],_0x4310b5(0x23b))&&_0x107924[_0x4310b5(0x1da)](_0x4309fe[_0x4310b5(0x195)],'approved'))_0x3b8c5e='✅';else{if(_0x107924[_0x4310b5(0x1da)](_0x4309fe['status'],_0x107924['GtBnL']))_0x3b8c5e='🟢';else{if(_0x4309fe[_0x4310b5(0x249)]===_0x4310b5(0x19e))_0x3b8c5e='🟠';else{if(_0x4309fe[_0x4310b5(0x249)]===_0x107924[_0x4310b5(0x25a)])_0x3b8c5e='🛑';else{if(_0x4309fe['status']===_0x4310b5(0x23b))_0x3b8c5e='⛔';else _0x107924['OkABi'](_0x4309fe['status'],_0x107924['RWghd'])?_0x3b8c5e='⏳':_0x3b8c5e='⬜';}}}}const _0x304692=_0x107924[_0x4310b5(0x1cf)](_0x4309fe[_0x4310b5(0x17f)],0x1)?_0x4310b5(0x24d)+_0x4309fe['version']+')':'',_0x39d8e9=_0x107924[_0x4310b5(0x1cf)](_0x4309fe[_0x4310b5(0x17f)],0x1)&&_0x4309fe[_0x4310b5(0x1a4)]&&_0x4309fe[_0x4310b5(0x249)]!==_0x4310b5(0x23b)&&_0x4309fe['status']!=='verified'?_0x4310b5(0x1cb):'';console[_0x4310b5(0x21e)]('\x20\x20\x20'+_0x107924['kqMrz'](_0x21b84c,0x1)+'.\x20'+_0x3b8c5e+'\x20'+_0x4309fe[_0x4310b5(0x246)]+_0x304692+_0x39d8e9);_0x4309fe['status']===_0x107924[_0x4310b5(0x25a)]&&_0x4309fe['blockedReason']&&console['log'](_0x4310b5(0x241)+_0x4309fe[_0x4310b5(0x216)]);_0x4309fe['status']==='incomplete'&&_0x4309fe[_0x4310b5(0x1bf)]&&console['log'](_0x4310b5(0x1e7)+_0x4309fe[_0x4310b5(0x1bf)]);if(_0x107924[_0x4310b5(0x1da)](_0x4309fe[_0x4310b5(0x249)],_0x107924[_0x4310b5(0x255)])&&_0x107924['kJxGe'](_0x4309fe['terminalReason'],_0x107924[_0x4310b5(0x192)]))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x107924['EsTgd'](_0x4309fe[_0x4310b5(0x249)],'closed')&&_0x4309fe[_0x4310b5(0x254)]&&console['log'](_0x4310b5(0x20c)+_0x4309fe['canceledReason']);}}}export async function featureCreate(_0x568f64,_0x3e4b43){const _0x3cecd1=_0x5c21,_0x34b2b0={'GUYiJ':function(_0x2090b3){return _0x2090b3();},'dOiUX':function(_0x41c306,_0x26ae12){return _0x41c306===_0x26ae12;},'APKGI':_0x3cecd1(0x238),'AIwtS':function(_0x52c8dd,_0x43da31){return _0x52c8dd(_0x43da31);},'fnqAK':function(_0x4dd8f5,_0x2eb109,_0x4b14d8){return _0x4dd8f5(_0x2eb109,_0x4b14d8);}},{envNames:_0x39b957}=await _0x34b2b0['GUYiJ'](getEnvNames);_0x34b2b0['dOiUX'](_0x39b957['length'],0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x5011e5=>bold(_0x5011e5)));const _0x335ef2=_0x3e4b43[_0x3cecd1(0x1a0)]?_0x3e4b43['scenarios'][_0x3cecd1(0x1ad)](_0x611b04=>_0x611b04[_0x3cecd1(0x189)]()):[],_0x46d12b=getGitRepoUrl(),_0x501c6c=getGitBranch();console[_0x3cecd1(0x21e)](_0x34b2b0['APKGI']);const _0x3d9170=await _0x34b2b0[_0x3cecd1(0x190)](createFeature,{'name':_0x568f64,'description':_0x3e4b43['description'],'checklist':_0x335ef2,'gitRepoUrl':_0x46d12b,'gitBranch':_0x501c6c});await setActiveFeatureId(_0x3d9170['id']),await tryStartCurrentSession(_0x3d9170['id']);const _0x342315=process['env'][_0x3cecd1(0x1ef)];_0x342315&&registerSession(_0x342315,_0x3d9170['id']),console[_0x3cecd1(0x21e)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x3d9170['id']),_0x34b2b0[_0x3cecd1(0x242)](displayFeature,_0x3d9170,_0x3d9170['checklistItems']),console['log'](_0x3cecd1(0x252));}export async function featureList(_0x116d62){const _0x137e03=_0x5c21,_0x4a4eb6={'ZDeXq':function(_0x586874){return _0x586874();},'gOQBa':function(_0x25ca8a,_0x4d293e){return _0x25ca8a(_0x4d293e);},'TNYOb':function(_0x39170c,_0x468935){return _0x39170c+_0x468935;},'rjJgt':function(_0x2e1f39,_0xc321aa){return _0x2e1f39!==_0xc321aa;}},_0x1cd544={'limit':_0x116d62[_0x137e03(0x1b7)]??0xa,'offset':_0x116d62[_0x137e03(0x226)]??0x0,'includeDeleted':_0x116d62['includeDeleted']};_0x116d62[_0x137e03(0x1bb)]&&(_0x1cd544['gitRepoUrl']=_0x4a4eb6[_0x137e03(0x22c)](getGitRepoUrl),_0x1cd544[_0x137e03(0x1e6)]=getGitBranch());const _0x3c99c6=await _0x4a4eb6[_0x137e03(0x24a)](listFeatures,_0x1cd544);if(_0x3c99c6['items'][_0x137e03(0x18c)]===0x0){console[_0x137e03(0x21e)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x4f8087=_0x3c99c6[_0x137e03(0x205)]>_0x3c99c6['items'][_0x137e03(0x18c)]?'Showing\x20'+_0x3c99c6['items']['length']+_0x137e03(0x1f2)+_0x3c99c6['totalCount']:_0x3c99c6['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x4f8087+':\x0a');for(const _0x267ac0 of _0x3c99c6[_0x137e03(0x19b)]){const _0x1c5e0a='3|4|2|1|0|5'[_0x137e03(0x1fa)]('|');let _0x3c9da0=0x0;while(!![]){switch(_0x1c5e0a[_0x3c9da0++]){case'0':console[_0x137e03(0x21e)]('\x20\x20\x20Created:\x20'+new Date(_0x267ac0['createdAt'])['toLocaleDateString']());continue;case'1':_0x267ac0[_0x137e03(0x1e6)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x267ac0['gitBranch']);continue;case'2':_0x267ac0['stats']&&console['log'](_0x137e03(0x21f)+getProgressDisplay(_0x267ac0[_0x137e03(0x1b5)]));continue;case'3':console['log'](''+_0x267ac0[_0x137e03(0x21a)]);continue;case'4':console['log'](_0x137e03(0x1ec)+_0x267ac0['id']);continue;case'5':console['log']('');continue;}break;}}const _0xddb8ae=_0x1cd544[_0x137e03(0x1b7)]??0xa,_0x364f59=_0x4a4eb6[_0x137e03(0x1fb)](_0x1cd544['offset']??0x0,_0x3c99c6['items']['length']);if(_0x364f59<_0x3c99c6[_0x137e03(0x205)]){const _0x5bd882=_0x4a4eb6['rjJgt'](_0xddb8ae,0xa)?'\x20--limit\x20'+_0xddb8ae:'',_0x4dd249=_0x116d62['currentBranch']?'\x20--current-branch':'',_0x1cd90c=_0x116d62[_0x137e03(0x201)]?'\x20--include-deleted':'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x364f59+_0x5bd882+_0x4dd249+_0x1cd90c);}}export async function featureShow(_0x45c14b){const _0x1c141b=_0x5c21,_0x17de9d={'gLyLk':function(_0x1cdca1){return _0x1cdca1();},'WLseY':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','jMauE':function(_0x252b15,_0x1bbe3b){return _0x252b15(_0x1bbe3b);}},_0x51c684=_0x45c14b||await _0x17de9d['gLyLk'](getActiveFeatureId);if(!_0x51c684)throw new Error(_0x17de9d[_0x1c141b(0x1d0)]);const _0x5b5864=await _0x17de9d[_0x1c141b(0x207)](getFeature,_0x51c684);displayFeature(_0x5b5864,_0x5b5864['checklistItems']);}export async function featureResume(_0x438e9b){const _0x8b8e29=_0x5c21,_0x4b8327={'FWAZH':function(_0x4b4217,_0x407359){return _0x4b4217(_0x407359);},'VSmqs':function(_0x470591){return _0x470591();},'izzhu':function(_0x193f05,_0x54a135){return _0x193f05!==_0x54a135;},'EIUfC':function(_0x1598f8,_0xe86d65,_0x2362dc){return _0x1598f8(_0xe86d65,_0x2362dc);},'YzfQx':function(_0x277f8c,_0x5b6274){return _0x277f8c(_0x5b6274);},'Lttdx':function(_0x2f3814,_0x5c6a80,_0x28a6f4){return _0x2f3814(_0x5c6a80,_0x28a6f4);},'pNotc':function(_0x9e339a,_0x3bc5d3){return _0x9e339a&&_0x3bc5d3;},'oWMbM':_0x8b8e29(0x237),'LpcFj':function(_0x21a7bf,_0x1a56f6){return _0x21a7bf||_0x1a56f6;},'XIaSj':_0x8b8e29(0x196),'JbIwW':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','QrkAJ':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','CvNRC':_0x8b8e29(0x21c),'OmqaF':function(_0x226953,_0x243d10){return _0x226953(_0x243d10);},'JCxPa':function(_0x219a77,_0x576e13,_0x36edf0){return _0x219a77(_0x576e13,_0x36edf0);},'pQdOd':function(_0x15a20e,_0x1c93c6){return _0x15a20e(_0x1c93c6);},'gibjT':function(_0x30ce57,_0x719cb0){return _0x30ce57(_0x719cb0);}};if(_0x438e9b){const _0x2c84c1=await _0x4b8327[_0x8b8e29(0x1a3)](getFeature,_0x438e9b);await setActiveFeatureId(_0x2c84c1['id']);const _0x6969cd=_0x4b8327['VSmqs'](getGitBranch);_0x6969cd&&_0x4b8327['izzhu'](_0x6969cd,_0x2c84c1['gitBranch'])&&(await _0x4b8327['EIUfC'](updateFeature,_0x2c84c1['id'],{'gitBranch':_0x6969cd}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x6969cd));console['log'](_0x8b8e29(0x1ed)+_0x2c84c1[_0x8b8e29(0x21a)]+'\x20('+_0x2c84c1['id']+')'),await _0x4b8327[_0x8b8e29(0x1d4)](tryStartCurrentSession,_0x2c84c1['id']);const _0x1c8c4b=process[_0x8b8e29(0x215)][_0x8b8e29(0x1ef)];_0x1c8c4b&&_0x4b8327[_0x8b8e29(0x217)](registerSession,_0x1c8c4b,_0x2c84c1['id']);_0x4b8327['Lttdx'](displayFeature,_0x2c84c1,_0x2c84c1['checklistItems']),await printFeedbackNudge(_0x2c84c1['id']);return;}const _0x4da6d0=_0x4b8327['VSmqs'](getGitRepoUrl),_0x2cc0fc=_0x4b8327['VSmqs'](getGitBranch);if(_0x4b8327[_0x8b8e29(0x203)](!_0x4da6d0,!_0x2cc0fc))throw new Error(_0x4b8327[_0x8b8e29(0x1b1)]);console[_0x8b8e29(0x21e)](_0x8b8e29(0x1bd)+(_0x4da6d0||'any')+_0x8b8e29(0x18d)+_0x4b8327[_0x8b8e29(0x1a2)](_0x2cc0fc,_0x4b8327[_0x8b8e29(0x183)])+_0x8b8e29(0x23a));const _0x148207=await _0x4b8327[_0x8b8e29(0x1a3)](listFeatures,{'gitRepoUrl':_0x4da6d0,'gitBranch':_0x2cc0fc}),_0x40e5ab=_0x148207['items'][_0x8b8e29(0x1ab)](_0x169879=>!_0x169879['completedAt']);if(_0x40e5ab['length']===0x0){console[_0x8b8e29(0x21e)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x4b8327['JbIwW']);return;}let _0x421701;if(_0x40e5ab['length']===0x1)_0x421701=_0x40e5ab[0x0];else{const _0x297530=process['stdin'][_0x8b8e29(0x18b)]&&process[_0x8b8e29(0x20e)][_0x8b8e29(0x18b)];if(!_0x297530){console[_0x8b8e29(0x21e)](_0x4b8327[_0x8b8e29(0x221)]);for(const _0x166fe9 of _0x40e5ab){console[_0x8b8e29(0x21e)]('\x20\x20'+_0x166fe9[_0x8b8e29(0x21a)]),console[_0x8b8e29(0x21e)](_0x8b8e29(0x1c5)+_0x166fe9['id']),_0x166fe9[_0x8b8e29(0x1b5)]&&console[_0x8b8e29(0x21e)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x166fe9['stats'])),_0x166fe9['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x166fe9[_0x8b8e29(0x1e6)]);}throw new Error(_0x8b8e29(0x1d3));}const {selected:_0x139067}=await _0x5f1fe5['prompt']([{'type':'list','name':_0x8b8e29(0x19a),'message':_0x4b8327['CvNRC'],'choices':_0x40e5ab[_0x8b8e29(0x1ad)](_0x303ecb=>({'name':_0x303ecb['name']+'\x20('+_0x303ecb['id']+')','value':_0x303ecb['id']}))}]);_0x421701=_0x40e5ab[_0x8b8e29(0x1cc)](_0x5b8a79=>_0x5b8a79['id']===_0x139067);}await _0x4b8327['OmqaF'](setActiveFeatureId,_0x421701['id']);_0x2cc0fc&&_0x2cc0fc!==_0x421701[_0x8b8e29(0x1e6)]&&(await _0x4b8327['JCxPa'](updateFeature,_0x421701['id'],{'gitBranch':_0x2cc0fc}),console['log'](_0x8b8e29(0x1c9)+_0x2cc0fc));console['log'](_0x8b8e29(0x1ed)+_0x421701['name']+'\x20('+_0x421701['id']+')'),await _0x4b8327['pQdOd'](tryStartCurrentSession,_0x421701['id']);const _0x258139=await _0x4b8327[_0x8b8e29(0x1c3)](getFeature,_0x421701['id']),_0x2bada0=process['env']['CLAUDE_SESSION_ID'];_0x2bada0&&_0x4b8327[_0x8b8e29(0x217)](registerSession,_0x2bada0,_0x258139['id']),_0x4b8327[_0x8b8e29(0x217)](displayFeature,_0x258139,_0x258139[_0x8b8e29(0x1e2)]),await printFeedbackNudge(_0x258139['id']);}async function printFeedbackNudge(_0x1d068c){const _0x4bc051=_0x5c21,_0x483efa={'emhzQ':function(_0x463224,_0x349606){return _0x463224(_0x349606);},'QEcQb':function(_0x106f6f,_0x22be00,_0xffaa5a){return _0x106f6f(_0x22be00,_0xffaa5a);}};try{const {items:_0xffa00c}=await _0x483efa[_0x4bc051(0x1b2)](getActionItems,_0x1d068c);let _0x3bc690=0x0,_0xfd74cb=0x0;for(const _0x180794 of _0xffa00c){const _0x12e645=await _0x483efa['QEcQb'](getItemFeedback,_0x1d068c,_0x180794['id']);_0x12e645[_0x4bc051(0x1c7)]['length']>0x0&&(_0x3bc690+=_0x12e645[_0x4bc051(0x1c7)]['length'],_0xfd74cb++);}_0x3bc690>0x0&&(console['log'](_0x4bc051(0x253)+_0x3bc690+_0x4bc051(0x225)+_0xfd74cb+'\x20scenario(s).'),console['log'](_0x4bc051(0x20b)));}catch{}}async function tryStartCurrentSession(_0x1fea98){const _0x5b9c14=_0x5c21,_0x55f978={'gGpPv':function(_0x20c533,_0x24a461,_0x1340f3){return _0x20c533(_0x24a461,_0x1340f3);}};try{const {sessions:_0x4178e1}=await listFeatureSessions(_0x1fea98),_0x578b01=_0x4178e1['find'](_0x3193de=>_0x3193de['status']===_0x5b9c14(0x235));_0x578b01&&(await _0x55f978[_0x5b9c14(0x22b)](startSession,_0x1fea98,_0x578b01['id']),console[_0x5b9c14(0x21e)](_0x5b9c14(0x1a5)+_0x578b01[_0x5b9c14(0x1e5)]));}catch{}}export async function featureReport(_0x5b5b63,_0x54dd6a){const _0x32e7c2=_0x5c21,_0x467a0d={'NrTho':_0x32e7c2(0x222),'dsUTg':function(_0x2483ee){return _0x2483ee();},'DIOvl':_0x32e7c2(0x188),'dMrOA':function(_0x570038,_0xa86e9,_0x10a3eb){return _0x570038(_0xa86e9,_0x10a3eb);},'lGPAr':function(_0x4807f0,_0x957b00){return _0x4807f0(_0x957b00);}},_0x1363dd=_0x5b5b63||await getActiveFeatureId();if(!_0x1363dd)throw new Error(_0x467a0d['NrTho']);console['log'](_0x32e7c2(0x180));const _0x5bab30=await getFeatureReportMarkdown(_0x1363dd,{'style':_0x54dd6a['style']}),_0x2dd0fa=_0x54dd6a[_0x32e7c2(0x20d)]||join(_0x467a0d[_0x32e7c2(0x1f6)](getRangerDir),_0x467a0d['DIOvl'],_0x1363dd+'.md'),_0x335f82=_0x467a0d['dMrOA'](join,_0x2dd0fa,'..');!_0x467a0d[_0x32e7c2(0x218)](existsSync,_0x335f82)&&await _0x467a0d['dMrOA'](mkdir,_0x335f82,{'recursive':!![]}),await writeFile(_0x2dd0fa,_0x5bab30,_0x32e7c2(0x185)),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x2dd0fa);}function getScenarioResult(_0x1032aa){const _0x4be484=_0x5c21,_0x3a2d89={'wDuhH':function(_0x3e61e0,_0x4428cd){return _0x3e61e0===_0x4428cd;},'GqjRc':_0x4be484(0x23b),'BEUKc':'in_progress'};if(_0x3a2d89[_0x4be484(0x24b)](_0x1032aa['status'],'closed'))return _0x1032aa[_0x4be484(0x195)]??_0x3a2d89[_0x4be484(0x1aa)];if(_0x1032aa[_0x4be484(0x249)]===_0x4be484(0x1f1))return _0x3a2d89['BEUKc'];return _0x1032aa[_0x4be484(0x249)];}function getScenarioRationale(_0x40b35d,_0xf68ed7){const _0x51b20c=_0x5c21,_0x5850ea=_0x51b20c(0x1e3)['split']('|');let _0x2ba68f=0x0;while(!![]){switch(_0x5850ea[_0x2ba68f++]){case'0':return null;case'1':if(_0x40b35d[_0x51b20c(0x216)])return _0x40b35d[_0x51b20c(0x216)];continue;case'2':if(_0x40b35d[_0x51b20c(0x243)])return _0x40b35d[_0x51b20c(0x243)];continue;case'3':if(_0x40b35d['incompleteReason'])return _0x40b35d['incompleteReason'];continue;case'4':if(_0xf68ed7)return _0xf68ed7;continue;case'5':if(_0x40b35d[_0x51b20c(0x254)])return _0x40b35d['canceledReason'];continue;}break;}}export async function featureReportPrDescription(_0x429f95,_0x20605a){const _0x315865=_0x5c21,_0x200a9c={'ihIxS':function(_0x4d4f84){return _0x4d4f84();},'WlYUw':_0x315865(0x1c0),'ueKTY':function(_0x5a90f7,_0x39c4bd){return _0x5a90f7+_0x39c4bd;},'KEOfA':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x4fdb17=_0x429f95||await _0x200a9c[_0x315865(0x1a1)](getActiveFeatureId);if(!_0x4fdb17)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x3a4868=await getFeature(_0x4fdb17),_0x4abf95=_0x3a4868['checklistItems']||[],_0x5cad89=getCurrentSessionItems(_0x3a4868,_0x4abf95);_0x5cad89['length']===0x0&&(console['error'](_0x200a9c[_0x315865(0x231)]),process['exit'](0x1));const _0x2e871a=_0x20605a['excludeScenarios']??[],_0x826c48=_0x2e871a[_0x315865(0x1ab)](_0x58b369=>!Number[_0x315865(0x214)](_0x58b369)||_0x58b369<0x1||_0x58b369>_0x5cad89[_0x315865(0x18c)]);if(_0x826c48['length']>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x826c48['join'](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2613e1=0x0;_0x2613e1<_0x5cad89['length'];_0x2613e1++){console[_0x315865(0x21e)]('\x20\x20'+_0x200a9c[_0x315865(0x194)](_0x2613e1,0x1)+'.\x20'+_0x5cad89[_0x2613e1]['description']);}process['exit'](0x1);}const _0x2acc48=new Set(_0x2e871a[_0x315865(0x1ad)](_0x418082=>_0x418082-0x1)),_0x1a731f=_0x5cad89[_0x315865(0x1ab)]((_0x176bad,_0x216484)=>!_0x2acc48['has'](_0x216484));_0x1a731f['length']===0x0&&(console[_0x315865(0x22e)](_0x200a9c['KEOfA']),process[_0x315865(0x1d5)](0x1));if(_0x20605a[_0x315865(0x18a)])await outputJsonReport(_0x4fdb17,_0x3a4868,_0x1a731f);else{const _0xb7524f=await getFeatureReportMarkdown(_0x4fdb17,{'itemIds':_0x1a731f[_0x315865(0x1ad)](_0x3b455f=>_0x3b455f['id'])});process['stdout']['write'](_0xb7524f[_0x315865(0x20f)]()+'\x0a');}}async function outputJsonReport(_0x14a68a,_0x7a0b30,_0x2774ef){const _0x575d8b=_0x5c21,_0x132afd={'eQokX':function(_0x1355ff,_0xe9d2f7){return _0x1355ff>_0xe9d2f7;},'bUDJY':function(_0x595202,_0x3a0dc3){return _0x595202===_0x3a0dc3;},'CSknU':function(_0x3bb214,_0x2af54e){return _0x3bb214+_0x2af54e;}},_0xb24176=getApiBaseUrl(),_0x46adfb=await getFeatureReport(_0x14a68a),_0xed8d60=new Map(_0x46adfb['checklistItems']['map'](_0x3280f1=>[_0x3280f1['id'],_0x3280f1])),_0x3e26ff=await Promise[_0x575d8b(0x199)](_0x2774ef[_0x575d8b(0x1ad)](async _0x442362=>{const _0x5ecbe6=_0x575d8b,_0x12557f=_0xed8d60[_0x5ecbe6(0x1ce)](_0x442362['id']),_0x48f268=_0x12557f?.[_0x5ecbe6(0x244)]??null;let _0x377b9f=[];if(_0x442362['browserSessionId'])try{const {steps:_0x5ac13e}=await getBrowserSessionSteps(_0x442362[_0x5ecbe6(0x1b3)]);_0x132afd['eQokX'](_0x5ac13e['length'],0x0)&&(_0x377b9f=_0x5ac13e['map'](_0x42483c=>{const _0xf9ca00=_0x5ecbe6,_0x41089d=_0x42483c['assets']['find'](_0x5a7551=>_0x5a7551['assetType']===_0xf9ca00(0x1ea)&&_0x5a7551['timing']==='after')??_0x42483c[_0xf9ca00(0x1be)][_0xf9ca00(0x1cc)](_0x13652f=>_0x13652f[_0xf9ca00(0x1f9)]===_0xf9ca00(0x1ea));let _0x23bc5f=null,_0x47e70b=null;if(_0x41089d){const _0x2dce7e=_0x41089d['storage']['location'][_0xf9ca00(0x1fa)]('/')[_0xf9ca00(0x1ee)]();_0x23bc5f=_0xb24176+_0xf9ca00(0x23c)+_0x442362[_0xf9ca00(0x1b3)]+_0xf9ca00(0x1d6)+_0x2dce7e,_0x2dce7e&&(_0x47e70b=_0x2dce7e['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x47e70b||_0x42483c[_0xf9ca00(0x246)]||_0x42483c[_0xf9ca00(0x1c1)]||'Step\x20'+_0x42483c[_0xf9ca00(0x1d8)],'screenshot':_0x23bc5f,'is_key_step':_0x42483c['isKeyStep']};}));}catch{}return _0x132afd['bUDJY'](_0x377b9f['length'],0x0)&&_0x48f268?.['screenshotUrls']&&(_0x377b9f=_0x48f268[_0x5ecbe6(0x1dc)]['map']((_0x209dd4,_0x475997)=>({'description':'Screenshot\x20'+(_0x475997+0x1),'screenshot':_0x209dd4,'is_key_step':![]}))),{'description':_0x442362['description'],'result':getScenarioResult(_0x442362),'rationale':getScenarioRationale(_0x442362,_0x48f268?.[_0x5ecbe6(0x240)]),'steps':_0x377b9f};})),_0x3b9fef={'url':_0x7a0b30[_0x575d8b(0x19d)],'scenarios':_0x3e26ff};process[_0x575d8b(0x20e)][_0x575d8b(0x1df)](_0x132afd[_0x575d8b(0x197)](JSON['stringify'](_0x3b9fef,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x7a501b){const _0x1f6142=_0x5c21,_0x17edd6={'HUCYq':function(_0x315816){return _0x315816();},'AcGHl':function(_0x6bd456,_0x1fa910){return _0x6bd456(_0x1fa910);},'VnZiZ':function(_0x43f3ba,_0x3e0ab5){return _0x43f3ba(_0x3e0ab5);},'ExXMQ':_0x1f6142(0x236),'ANSMd':function(_0x133675,_0x1a0915){return _0x133675!==_0x1a0915;},'UHBTG':_0x1f6142(0x1f4),'mVWJK':function(_0x51b1d1,_0x1a6fe9,_0x34e2a1){return _0x51b1d1(_0x1a6fe9,_0x34e2a1);}},_0x22ee19=_0x7a501b||await _0x17edd6['HUCYq'](getActiveFeatureId);if(!_0x22ee19)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0xcab798=await _0x17edd6[_0x1f6142(0x210)](getFeature,_0x22ee19);if(!_0xcab798[_0x1f6142(0x228)])throw new Error(_0x1f6142(0x24c));const {sessions:_0x2c65ee}=await _0x17edd6[_0x1f6142(0x1f0)](listFeatureSessions,_0x22ee19),_0x710c5d=_0x2c65ee[_0x1f6142(0x1cc)](_0x55b994=>_0x55b994['id']===_0xcab798[_0x1f6142(0x228)]);if(!_0x710c5d)throw new Error('Current\x20session\x20not\x20found.');if(_0x710c5d[_0x1f6142(0x249)]===_0x17edd6['ExXMQ']){console[_0x1f6142(0x21e)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x17edd6['ANSMd'](_0x710c5d['status'],_0x17edd6['UHBTG']))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x710c5d[_0x1f6142(0x249)]);console['log'](_0x1f6142(0x1d7)),await _0x17edd6['mVWJK'](concludeSession,_0x22ee19,_0xcab798[_0x1f6142(0x228)]),console[_0x1f6142(0x21e)](_0x1f6142(0x204)+_0x710c5d['iteration']+'\x20concluded.'),console[_0x1f6142(0x21e)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x12e807){const _0x3cd7b7=_0x5c21,_0x273c96={'YYAFb':_0x3cd7b7(0x222),'QvqIC':function(_0x4e0e7f,_0xdc7330){return _0x4e0e7f(_0xdc7330);},'zUnzY':function(_0x1f773a,_0x3fac84){return _0x1f773a===_0x3fac84;}},_0x2d01fd=_0x12e807||await getActiveFeatureId();if(!_0x2d01fd)throw new Error(_0x273c96[_0x3cd7b7(0x234)]);const _0x56d063=await _0x273c96[_0x3cd7b7(0x23e)](getFeature,_0x2d01fd);console[_0x3cd7b7(0x21e)](_0x3cd7b7(0x1b6)+_0x56d063[_0x3cd7b7(0x21a)]+'\x0a');const {sessions:_0x423490}=await listFeatureSessions(_0x2d01fd);if(_0x273c96[_0x3cd7b7(0x1a7)](_0x423490[_0x3cd7b7(0x18c)],0x0)){console[_0x3cd7b7(0x21e)]('No\x20sessions\x20found.');return;}for(const _0x36e5b4 of _0x423490){const _0xe5489b=_0x36e5b4['status']==='completed'?'✅':_0x36e5b4['status']==='in_progress'?'🔄':'▶️';console['log'](_0xe5489b+'\x20Session\x20'+_0x36e5b4['iteration']+'\x20('+_0x36e5b4['id']+')'),console['log'](_0x3cd7b7(0x20a)+_0x36e5b4['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x36e5b4['createdAt'])['toLocaleString']()),_0x36e5b4[_0x3cd7b7(0x184)]&&console['log'](_0x3cd7b7(0x1f3)+new Date(_0x36e5b4['completedAt'])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x2a87c9,_0x185cd4){const _0xe1cb01=_0x5c21,_0x1b1f5f={'MdYag':function(_0x22c3bc){return _0x22c3bc();},'YUwpx':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IbgtO':function(_0x322c83,_0x35b3b8,_0x55674){return _0x322c83(_0x35b3b8,_0x55674);}},_0x4ebf6a=_0x185cd4||await _0x1b1f5f['MdYag'](getActiveFeatureId);if(!_0x4ebf6a)throw new Error(_0x1b1f5f[_0xe1cb01(0x1eb)]);const _0x410979=await getFeature(_0x4ebf6a);if(_0x410979['latestReview']&&!_0x410979['latestReview'][_0xe1cb01(0x1bc)])throw new Error(_0xe1cb01(0x1ba)+_0x410979[_0xe1cb01(0x19d)]);await _0x1b1f5f[_0xe1cb01(0x22d)](createChecklistItem,_0x4ebf6a,_0x2a87c9);const _0x1222f5=await getFeature(_0x4ebf6a);console[_0xe1cb01(0x21e)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x1222f5,_0x1222f5[_0xe1cb01(0x1e2)]);}export async function featureEditScenario(_0x5e705a,_0x41642e){const _0x1469a9=_0x5c21,_0xebf0ff={'Ecgck':_0x1469a9(0x1a6),'MkoLl':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','PtpsY':function(_0x4ec545,_0x43a09e){return _0x4ec545(_0x43a09e);},'fHPer':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','nCKHR':function(_0x4279ea,_0x4057ae){return _0x4279ea===_0x4057ae;},'YTqYx':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','GdQJm':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','JbHqh':'\x0aAvailable\x20scenarios:','sOHAG':function(_0x492e61,_0x46755d){return _0x492e61<_0x46755d;},'EJDxU':function(_0x3e93f5,_0x8f9f5f){return _0x3e93f5<_0x8f9f5f;},'AZnIP':function(_0x165507,_0x444270){return _0x165507>=_0x444270;},'geDbY':function(_0x5bbd1b,_0xe61c11,_0x1c2670,_0x3a9c6c){return _0x5bbd1b(_0xe61c11,_0x1c2670,_0x3a9c6c);},'WOtZc':function(_0x541ab8,_0x461877,_0xced4a0){return _0x541ab8(_0x461877,_0xced4a0);}},_0x4b5faf=_0x41642e['id']||await getActiveFeatureId();!_0x4b5faf&&(console[_0x1469a9(0x22e)](_0xebf0ff['Ecgck']),console['error'](_0xebf0ff[_0x1469a9(0x1c4)]),process[_0x1469a9(0x1d5)](0x1));const _0x546ec3=await _0xebf0ff[_0x1469a9(0x1d2)](getFeature,_0x4b5faf);_0x546ec3['latestReview']&&!_0x546ec3[_0x1469a9(0x1f5)]['submittedAt']&&(console[_0x1469a9(0x22e)](_0xebf0ff['fHPer']),console[_0x1469a9(0x22e)](_0x1469a9(0x1d9)),console['error']('\x20\x20'+_0x546ec3[_0x1469a9(0x19d)]),process['exit'](0x1));const _0x307347=_0x546ec3[_0x1469a9(0x1e2)]||[];_0xebf0ff['nCKHR'](_0x307347['length'],0x0)&&(console[_0x1469a9(0x22e)](_0xebf0ff[_0x1469a9(0x200)]),process['exit'](0x1));if(_0x41642e[_0x1469a9(0x209)]===undefined){console[_0x1469a9(0x22e)](_0xebf0ff['GdQJm']),console[_0x1469a9(0x21e)](_0xebf0ff['JbHqh']);for(let _0x37277a=0x0;_0xebf0ff['sOHAG'](_0x37277a,_0x307347[_0x1469a9(0x18c)]);_0x37277a++){console['log']('\x20\x20'+(_0x37277a+0x1)+'.\x20'+_0x307347[_0x37277a]['description']);}process['exit'](0x1);}const _0x218bf4=_0x41642e['scenario']-0x1;if(_0xebf0ff[_0x1469a9(0x1ff)](_0x218bf4,0x0)||_0xebf0ff[_0x1469a9(0x18e)](_0x218bf4,_0x307347[_0x1469a9(0x18c)])){console['error'](_0x1469a9(0x1e0)+_0x41642e[_0x1469a9(0x209)]+'.\x20Feature\x20review\x20has\x20'+_0x307347[_0x1469a9(0x18c)]+_0x1469a9(0x1e4)),console[_0x1469a9(0x21e)](_0xebf0ff[_0x1469a9(0x220)]);for(let _0x511245=0x0;_0x511245<_0x307347[_0x1469a9(0x18c)];_0x511245++){console[_0x1469a9(0x21e)]('\x20\x20'+(_0x511245+0x1)+'.\x20'+_0x307347[_0x511245]['description']);}process['exit'](0x1);}const _0x51f5f7=_0x307347[_0x218bf4];await _0xebf0ff['geDbY'](updateChecklistItem,_0x4b5faf,_0x51f5f7['id'],{'description':_0x5e705a});const _0x21263b=await getFeature(_0x4b5faf);console[_0x1469a9(0x21e)]('\x0a✅\x20Scenario\x20updated'),_0xebf0ff[_0x1469a9(0x258)](displayFeature,_0x21263b,_0x21263b['checklistItems']);}async function downloadFeedbackImage(_0x82e9d5,_0x2a3bd8){const _0x2d4f3c=_0x5c21,_0x207c77={'bduGI':function(_0x226d91,_0x17a043,_0x25cf18){return _0x226d91(_0x17a043,_0x25cf18);},'SCvDZ':function(_0x34056b,_0xa88191,_0x53ae06){return _0x34056b(_0xa88191,_0x53ae06);}};try{const _0x499668=_0x207c77['bduGI'](join,getRangerDir(),'feedback-images');await mkdir(_0x499668,{'recursive':!![]});const _0x3bdd4e=_0x207c77['SCvDZ'](join,_0x499668,'comment_'+_0x2a3bd8+_0x2d4f3c(0x229)),_0x540376=await fetch(_0x82e9d5);if(!_0x540376['ok'])return null;const _0x5efac9=Buffer[_0x2d4f3c(0x223)](await _0x540376['arrayBuffer']());return await writeFile(_0x3bdd4e,_0x5efac9),_0x3bdd4e;}catch{return null;}}export async function featureGetReview(_0x27e0a9){const _0x8eebfe=_0x5c21,_0xf113d={'xSNsH':function(_0x70392a,_0x2bac5b){return _0x70392a(_0x2bac5b);},'oiTjq':_0x8eebfe(0x219),'ofwKJ':function(_0x108275,_0x729e55,_0x3f2842){return _0x108275(_0x729e55,_0x3f2842);},'hLYlw':function(_0x206886,_0x1e0db5){return _0x206886>_0x1e0db5;},'JLFYY':_0x8eebfe(0x23f),'vmIWh':_0x8eebfe(0x211),'GTtRb':function(_0x1d840a,_0x3a4157,_0x57cfc8){return _0x1d840a(_0x3a4157,_0x57cfc8);},'VKQiq':'\x20>\x20','htrEb':function(_0x122de9,_0x1d1fc1){return _0x122de9>=_0x1d1fc1;},'UDJtf':function(_0x2fe7f0,_0xbf2cae){return _0x2fe7f0+_0xbf2cae;}},_0x4b4d39=_0x27e0a9||await getActiveFeatureId();if(!_0x4b4d39)throw new Error(_0x8eebfe(0x186));const _0x5c5ac2=await getFeature(_0x4b4d39),{items:_0x2a0c3f}=await _0xf113d['xSNsH'](getActionItems,_0x4b4d39);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x5c5ac2['name']+'\x20('+_0x5c5ac2['id']+')\x0a');if(_0x2a0c3f[_0x8eebfe(0x18c)]===0x0){console['log'](_0xf113d['oiTjq']);return;}for(let _0x2828cd=0x0;_0x2828cd<_0x2a0c3f['length'];_0x2828cd++){const _0x4f7bd3=_0x2a0c3f[_0x2828cd],_0xfb5582=_0x4f7bd3['version']>0x1?_0x8eebfe(0x24d)+_0x4f7bd3[_0x8eebfe(0x17f)]+')':'',_0x5481c2=await _0xf113d[_0x8eebfe(0x1ac)](getItemFeedback,_0x4b4d39,_0x4f7bd3['id']);if(_0xf113d[_0x8eebfe(0x1c8)](_0x5481c2[_0x8eebfe(0x1c7)]['length'],0x0)){console['log']('Scenario\x20'+(_0x2828cd+0x1)+':\x20\x22'+_0x4f7bd3['description']+'\x22'+_0xfb5582+'\x20—\x20'+_0x5481c2[_0x8eebfe(0x1c7)]['length']+_0x8eebfe(0x17e));for(const _0x1ce6ca of _0x5481c2['unaddressedComments']){const _0x3a21bb=new Date(_0x1ce6ca[_0x8eebfe(0x233)])['toLocaleDateString'](_0x8eebfe(0x22a),{'month':'short','day':_0xf113d[_0x8eebfe(0x1a9)]}),_0x5b4c46=_0x1ce6ca[_0x8eebfe(0x1a8)]||_0x1ce6ca[_0x8eebfe(0x1ae)]||_0xf113d['vmIWh'];console[_0x8eebfe(0x21e)](_0x8eebfe(0x232)+_0x5b4c46+'\x20('+_0x3a21bb+'):\x20\x22'+_0x1ce6ca['content']+'\x22');if(_0x1ce6ca[_0x8eebfe(0x1d1)]){const _0x71d490=await _0xf113d[_0x8eebfe(0x1f8)](downloadFeedbackImage,_0x1ce6ca[_0x8eebfe(0x1d1)],_0x1ce6ca['id']);_0x71d490&&console[_0x8eebfe(0x21e)](_0x8eebfe(0x1f7)+_0x71d490);}if(_0x1ce6ca['domRef']){const _0x5dcebd=_0x1ce6ca[_0x8eebfe(0x208)]['selector'][_0x8eebfe(0x1fa)](_0xf113d['VKQiq'])['pop']()?.[_0x8eebfe(0x1fa)](':')[0x0]||'element',_0x4a9e11=_0x1ce6ca['domRef']['textContent']?'\x20\x22'+_0x1ce6ca[_0x8eebfe(0x208)][_0x8eebfe(0x24e)][_0x8eebfe(0x230)](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x5dcebd+'>'+_0x4a9e11),console[_0x8eebfe(0x21e)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x1ce6ca[_0x8eebfe(0x208)][_0x8eebfe(0x24f)]);}else{if(_0x1ce6ca['spatial']){const _0x48a429=_0x1ce6ca[_0x8eebfe(0x1b0)]['coordinates'];_0x1ce6ca[_0x8eebfe(0x1b0)][_0x8eebfe(0x1c2)]===_0x8eebfe(0x248)&&_0xf113d[_0x8eebfe(0x17d)](_0x48a429[_0x8eebfe(0x18c)],0x2)?console[_0x8eebfe(0x21e)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x48a429[0x0]['toFixed'](0x2)+',\x20'+_0x48a429[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x1ce6ca[_0x8eebfe(0x1b0)]['type']+_0x8eebfe(0x187)+_0x48a429['map'](_0x5ca957=>_0x5ca957['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x5481c2[_0x8eebfe(0x19c)]){console[_0x8eebfe(0x21e)](_0x8eebfe(0x1e1));for(const _0x43927b of _0x5481c2[_0x8eebfe(0x19c)]['split']('\x0a')){console[_0x8eebfe(0x21e)](_0x8eebfe(0x1ca)+_0x43927b);}}}else console['log']('Scenario\x20'+_0xf113d[_0x8eebfe(0x1fc)](_0x2828cd,0x1)+':\x20\x22'+_0x4f7bd3[_0x8eebfe(0x246)]+'\x22'+_0xfb5582+_0x8eebfe(0x224)),console[_0x8eebfe(0x21e)](_0x8eebfe(0x193));console[_0x8eebfe(0x21e)]('');}}function _0x5c21(_0x11b896,_0x1f2f30){_0x11b896=_0x11b896-0x17d;const _0x3ef36c=_0x3ef3();let _0x5c21a9=_0x3ef36c[_0x11b896];return _0x5c21a9;}function _0x3ef3(){const _0x49ee7c=['FWAZH','parentItemId','\x20\x20\x20▶️\x20Started\x20session\x20','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','zUnzY','authorName','JLFYY','GqjRc','filter','ofwKJ','map','authorEmail','join','spatial','oWMbM','emhzQ','browserSessionId','\x20\x20\x20Repository:\x20','stats','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','limit','13790040vqnoKc','2749990qWeCMR','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','currentBranch','submittedAt','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','assets','incompleteReason','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','stepName','type','gibjT','MkoLl','\x20\x20\x20\x20\x20ID:\x20','8IhfLLy','unaddressedComments','hLYlw','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20\x20\x20\x20','\x20[has\x20reviewer\x20feedback]','find','222061WQuYSi','get','VTrgL','WLseY','assetUrl','PtpsY','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','YzfQx','exit','/artifacts/','\x0aConcluding\x20session...','position','Please\x20finish\x20your\x20review\x20first:','EsTgd','952721bBzWtk','screenshotUrls','4539368kvqTEs','RasPC','write','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x20\x20Expected\x20flow:','checklistItems','4|1|3|5|2|0','\x20scenarios.','iteration','gitBranch','\x20\x20\x20\x20\x20\x20Incomplete:\x20','sessionId','168JXUvHP','screenshot','YUwpx','\x20\x20\x20ID:\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','pop','CLAUDE_SESSION_ID','VnZiZ','verification_in_progress','\x20of\x20','\x20\x20\x20Completed:\x20','in_progress','latestReview','dsUTg','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','GTtRb','assetType','split','TNYOb','UDJtf','git\x20rev-parse\x20--abbrev-ref\x20HEAD','gitRepoUrl','EJDxU','YTqYx','includeDeleted','5020299NHAPoI','pNotc','\x0a✅\x20Session\x20','totalCount','approved','jMauE','domRef','scenario','\x20\x20\x20Status:\x20','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20\x20\x20\x20\x20Cancelled:\x20','output','stdout','trimEnd','AcGHl','Unknown','pipe','toLocaleString','isInteger','env','blockedReason','Lttdx','lGPAr','No\x20scenarios\x20found.','name','\x0a\x20\x20\x20Scenarios:','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','github.com/','log','\x20\x20\x20Progress:\x20','JbHqh','QrkAJ','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','from','\x20—\x20no\x20comments','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','offset','kTgkJ','currentSessionId','.png','en-US','gGpPv','ZDeXq','IbgtO','error','incompleteItems','slice','WlYUw','\x20\x20💬\x20','createdAt','YYAFb','ready','completed','Not\x20in\x20a\x20git\x20repository.','\x0aCreating\x20feature\x20review...','YuvnZ','...','closed','/api/v1/mcp/browser-sessions/','6JhGTaR','QvqIC','numeric','agentResponse','\x20\x20\x20\x20\x20\x20Blocked:\x20','fnqAK','notes','linkedSession','replace','description','blockedItems','point','status','gOQBa','wDuhH','No\x20active\x20session\x20for\x20this\x20feature\x20review.','\x20(v','textContent','selector','git\x20remote\x20get-url\x20origin','NnrXe','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x0a⚠️\x20\x20','canceledReason','xfEbF','966645yZzxhV','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','WOtZc','YHDLc','zgXqf','htrEb','\x20unaddressed\x20comment(s)','version','\x0aGenerating\x20report...','push','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','XIaSj','completedAt','utf-8','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20at\x20[','reports','trim','json','isTTY','length','\x20/\x20','AZnIP','Rmhst','AIwtS','\x20\x20\x20Branch:\x20','qpdbB','\x20\x20✅\x20No\x20feedback\x20to\x20address','ueKTY','terminalReason','any','CSknU','fyofK','all','selected','items','canonicalFlow','dashboardUrl','incomplete','tnPJE','scenarios','ihIxS','LpcFj'];_0x3ef3=function(){return _0x49ee7c;};return _0x3ef3();}export async function featureDelete(_0x2f7c33){const _0x20e271=_0x5c21,_0x45bc0a={'lWupf':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','MpRcm':function(_0x18f59d,_0x38e0e0){return _0x18f59d(_0x38e0e0);},'aazdU':function(_0x45c1ab,_0x112464){return _0x45c1ab+_0x112464;},'JUIax':_0x20e271(0x257)},_0x42c1a1=_0x2f7c33||await getActiveFeatureId();if(!_0x42c1a1)throw new Error(_0x45bc0a['lWupf']);const _0x5ab069=await _0x45bc0a['MpRcm'](getFeature,_0x42c1a1);await softDeleteFeature(_0x42c1a1),console['log'](_0x20e271(0x182)+_0x5ab069['name']+'\x20('+_0x42c1a1+')'),console[_0x20e271(0x21e)](_0x45bc0a['aazdU'](_0x45bc0a['JUIax'],_0x42c1a1));}export async function featureRestore(_0x2700bf){const _0x52aa6c=_0x5c21,_0x4938ea={'mjMHb':function(_0xc71fea,_0x45448a){return _0xc71fea(_0x45448a);},'EyuRl':function(_0x5be730,_0x52653d,_0x45db8c){return _0x5be730(_0x52653d,_0x45db8c);}};await _0x4938ea['mjMHb'](restoreFeature,_0x2700bf);const _0x5e66d2=await _0x4938ea['mjMHb'](getFeature,_0x2700bf);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x5e66d2[_0x52aa6c(0x21a)]+'\x20('+_0x2700bf+')'),_0x4938ea['EyuRl'](displayFeature,_0x5e66d2,_0x5e66d2[_0x52aa6c(0x1e2)]);}
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(_0x3e7c66,_0x3cc658){const _0x18f05e=_0x191b,_0x2f9167=_0x3e7c66();while(!![]){try{const _0xad6faf=parseInt(_0x18f05e(0x1cf))/0x1*(-parseInt(_0x18f05e(0x1d3))/0x2)+parseInt(_0x18f05e(0x1ce))/0x3+-parseInt(_0x18f05e(0x1d6))/0x4+-parseInt(_0x18f05e(0x1cc))/0x5+-parseInt(_0x18f05e(0x1d8))/0x6*(-parseInt(_0x18f05e(0x1d4))/0x7)+parseInt(_0x18f05e(0x1cd))/0x8*(parseInt(_0x18f05e(0x1d0))/0x9)+-parseInt(_0x18f05e(0x1d1))/0xa*(-parseInt(_0x18f05e(0x1d2))/0xb);if(_0xad6faf===_0x3cc658)break;else _0x2f9167['push'](_0x2f9167['shift']());}catch(_0x49eed6){_0x2f9167['push'](_0x2f9167['shift']());}}}(_0x5157,0x3a202));function _0x191b(_0x186071,_0x247018){_0x186071=_0x186071-0x1cc;const _0x5157e6=_0x5157();let _0x191b34=_0x5157e6[_0x186071];return _0x191b34;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x5157(){const _0x1d7ff1=['375550DLTZts','1035584HKxwkK','839352NKmyQW','19421vxaRfT','18tZQwBg','80kVHBTL','102223LEJZOb','22cCQAKx','35AwBOMn','SIGTERM','901264JcJeDG','once','166938hpWCWi','keys','join'];_0x5157=function(){return _0x1d7ff1;};return _0x5157();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x425a4d=_0x191b,_0x24f2fd={'EtBPV':'SIGINT'};if(cancellationHandlersInstalled)return;const _0x3849a3=()=>{process['exit'](0x0);};process['once'](_0x24f2fd['EtBPV'],_0x3849a3),process['once'](_0x425a4d(0x1d5),_0x3849a3),process[_0x425a4d(0x1d7)]('SIGHUP',_0x3849a3),cancellationHandlersInstalled=!![];}export async function hook(_0xbda919,_0x4eab70){const _0x3a8516=_0x191b;installCancellationHandlers();const _0x487abe=HOOKS[_0xbda919];if(!_0x487abe){const _0x9f313f=Object[_0x3a8516(0x1d9)](HOOKS)[_0x3a8516(0x1da)](',\x20');console['error']('Unknown\x20hook:\x20'+_0xbda919),console['error']('Valid\x20hooks:\x20'+_0x9f313f),process['exit'](0x1);}await _0x487abe(_0x4eab70);}
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
- const _0x3774d7=_0x4977;function _0x4977(_0x1a8202,_0x30ec4c){_0x1a8202=_0x1a8202-0xdb;const _0x1ac191=_0x1ac1();let _0x4977c1=_0x1ac191[_0x1a8202];return _0x4977c1;}(function(_0x59b32e,_0x2eb570){const _0x4c367a=_0x4977,_0x3e3178=_0x59b32e();while(!![]){try{const _0x3933da=parseInt(_0x4c367a(0xdf))/0x1+parseInt(_0x4c367a(0xdd))/0x2*(parseInt(_0x4c367a(0xe1))/0x3)+-parseInt(_0x4c367a(0xdc))/0x4+-parseInt(_0x4c367a(0xe5))/0x5*(-parseInt(_0x4c367a(0xe4))/0x6)+-parseInt(_0x4c367a(0xe2))/0x7+parseInt(_0x4c367a(0xe0))/0x8+parseInt(_0x4c367a(0xde))/0x9;if(_0x3933da===_0x2eb570)break;else _0x3e3178['push'](_0x3e3178['shift']());}catch(_0x38fde0){_0x3e3178['push'](_0x3e3178['shift']());}}}(_0x1ac1,0xaca4a));function _0x1ac1(){const _0x364b37=['36927nIWeJv','778407gmGweV','oXPmw','4966326ALpcSY','5gFtZaZ','\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.','5404052nQKRUM','12jVXnmG','1541502fnxSZH','380104ZuLOVT','5731224CFMtgl'];_0x1ac1=function(){return _0x364b37;};return _0x1ac1();}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x3774d7(0xdb);export async function autoPrompt(){const _0x131a5f=_0x3774d7,_0x2c776a={'kjwcI':function(_0x42f6f1){return _0x42f6f1();},'oXPmw':function(_0x5eca52,_0x3bfb0d){return _0x5eca52(_0x3bfb0d);}},_0x2ead59=await _0x2c776a['kjwcI'](readHookInput),_0x130331=_0x2ead59?.['session_id'];if(!_0x130331)return;if(isSessionEnabled(_0x130331)||hasSessionBeenPrompted(_0x130331))return;_0x2c776a[_0x131a5f(0xe3)](markSessionPrompted,_0x130331),console['log'](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(_0x733cc0,_0x3306b1){const _0x13d0cf=_0x39b0,_0x20c4b7=_0x733cc0();while(!![]){try{const _0x4662eb=parseInt(_0x13d0cf(0x169))/0x1*(parseInt(_0x13d0cf(0x170))/0x2)+parseInt(_0x13d0cf(0x172))/0x3+-parseInt(_0x13d0cf(0x168))/0x4+-parseInt(_0x13d0cf(0x176))/0x5+parseInt(_0x13d0cf(0x16d))/0x6*(-parseInt(_0x13d0cf(0x16c))/0x7)+-parseInt(_0x13d0cf(0x16f))/0x8*(-parseInt(_0x13d0cf(0x177))/0x9)+parseInt(_0x13d0cf(0x16e))/0xa;if(_0x4662eb===_0x3306b1)break;else _0x20c4b7['push'](_0x20c4b7['shift']());}catch(_0x1a82a9){_0x20c4b7['push'](_0x20c4b7['shift']());}}}(_0x35d8,0x98bfa));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x39b0(_0x524295,_0x4cfa81){_0x524295=_0x524295-0x168;const _0x35d804=_0x35d8();let _0x39b0e3=_0x35d804[_0x524295];return _0x39b0e3;}export async function disable(_0x458f79){const _0x22e227=_0x39b0,_0x5a4834={'txaOj':function(_0x162c84,_0x23b801){return _0x162c84(_0x23b801);},'BPScp':function(_0x2005aa){return _0x2005aa();},'bjvEQ':function(_0x5838a0,_0xb9d113){return _0x5838a0!==_0xb9d113;},'gCvwV':_0x22e227(0x175),'RhMVa':function(_0x230f94,_0x248db7){return _0x230f94(_0x248db7);},'vBSqD':function(_0x1d550f,_0xcd58a5){return _0x1d550f!==_0xcd58a5;},'ehHqC':'main','UUiug':function(_0x36a360,_0x1af6d5){return _0x36a360!==_0x1af6d5;}},_0x114a9e=_0x458f79||process['env']['CLAUDE_SESSION_ID']||'';_0x114a9e&&_0x5a4834[_0x22e227(0x178)](disableSession,_0x114a9e);const _0x5872f3=_0x5a4834['BPScp'](getCurrentBranch);_0x5872f3&&_0x5a4834['bjvEQ'](_0x5872f3,_0x22e227(0x171))&&_0x5872f3!==_0x5a4834['gCvwV']&&_0x5a4834[_0x22e227(0x174)](disableBranch,_0x5872f3),printBlock(_0x22e227(0x173)+(_0x5872f3&&_0x5a4834['vBSqD'](_0x5872f3,_0x5a4834['ehHqC'])&&_0x5a4834['UUiug'](_0x5872f3,_0x5a4834[_0x22e227(0x16b)])?'\x20and\x20branch\x20\x27'+_0x5872f3+'\x27':'')+_0x22e227(0x16a));}function _0x35d8(){const _0x29d6fd=['master','5798895qwnMNZ','4828779xokzGk','txaOj','4181036ebsKRC','127535bbyPLI','.\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`.','gCvwV','8604148hncZSo','6osNTwD','21434340PjQAWi','8kRvgGL','8uPPxrB','main','2609265dUEPFr','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','RhMVa'];_0x35d8=function(){return _0x29d6fd;};return _0x35d8();}
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(_0x2b66c6,_0x50dfd7){const _0x26884e=_0x1d43,_0x12ac85=_0x2b66c6();while(!![]){try{const _0x552298=parseInt(_0x26884e(0x6f))/0x1*(parseInt(_0x26884e(0x78))/0x2)+parseInt(_0x26884e(0x6e))/0x3+parseInt(_0x26884e(0x68))/0x4*(parseInt(_0x26884e(0x6b))/0x5)+-parseInt(_0x26884e(0x73))/0x6+parseInt(_0x26884e(0x6a))/0x7+parseInt(_0x26884e(0x7a))/0x8*(-parseInt(_0x26884e(0x71))/0x9)+-parseInt(_0x26884e(0x72))/0xa;if(_0x552298===_0x50dfd7)break;else _0x12ac85['push'](_0x12ac85['shift']());}catch(_0x34a83c){_0x12ac85['push'](_0x12ac85['shift']());}}}(_0x4fdf,0x216bd));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x4fdf(){const _0x49c01f=['ranger\x20setup\x20--opencode','696123Ozuilf','60180GsKCAS','1396200BKqoFv','#\x20RANGER\x20ENABLED','OPdHK','main','ranger\x20setup','2niKKsk','HfGDy','16PzuLJR','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','\x0a\x0a**Branch\x20\x27','468OugJgV','\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`.','1470000bHZeyq','3650GmqKMC','#\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`','master','115320zPqaTQ','196455SaacSs'];_0x4fdf=function(){return _0x49c01f;};return _0x4fdf();}function _0x1d43(_0x385037,_0x244960){_0x385037=_0x385037-0x66;const _0x4fdf85=_0x4fdf();let _0x1d43d6=_0x4fdf85[_0x385037];return _0x1d43d6;}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(_0x5936f0){const _0x3dff1e=_0x1d43,_0x4bd244={'OPdHK':function(_0x403edd,_0x3c23dd){return _0x403edd(_0x3c23dd);},'KTwaz':_0x3dff1e(0x77),'HfGDy':function(_0x574980,_0xf73a59){return _0x574980!==_0xf73a59;},'gqHgl':_0x3dff1e(0x6d)},_0xfa13cf=_0x5936f0||process['env']['CLAUDE_SESSION_ID']||'',_0x113309=_0x4bd244[_0x3dff1e(0x75)](Boolean,_0x5936f0),_0x541748=await getToken();if(!_0x541748){const _0x5bb213=_0x113309?_0x3dff1e(0x70):_0x4bd244['KTwaz'],_0x27a6f6=_0x113309?_0x3dff1e(0x66):'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x4bd244[_0x3dff1e(0x75)](printBlock,_0x3dff1e(0x6c)+_0x5bb213+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x27a6f6);return;}try{await update();}catch{}_0xfa13cf&&_0x4bd244['OPdHK'](enableSession,_0xfa13cf);const _0xca6b4e=getCurrentBranch(),_0x1a5804=_0xca6b4e&&_0x4bd244[_0x3dff1e(0x79)](_0xca6b4e,_0x3dff1e(0x76))&&_0xca6b4e!==_0x4bd244['gqHgl']?_0x3dff1e(0x67)+_0xca6b4e+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x158254=getRangerSkillContent();printBlock(_0x3dff1e(0x74)+_0x1a5804+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x158254+_0x3dff1e(0x69));}
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(_0x41e8d2,_0x1980d2){const _0x559deb=_0x3764,_0x435e04=_0x41e8d2();while(!![]){try{const _0x31a24f=-parseInt(_0x559deb(0x13d))/0x1*(parseInt(_0x559deb(0x140))/0x2)+parseInt(_0x559deb(0x13c))/0x3*(-parseInt(_0x559deb(0x144))/0x4)+parseInt(_0x559deb(0x143))/0x5+parseInt(_0x559deb(0x142))/0x6*(parseInt(_0x559deb(0x141))/0x7)+parseInt(_0x559deb(0x13a))/0x8+parseInt(_0x559deb(0x13e))/0x9*(parseInt(_0x559deb(0x13f))/0xa)+-parseInt(_0x559deb(0x13b))/0xb;if(_0x31a24f===_0x1980d2)break;else _0x435e04['push'](_0x435e04['shift']());}catch(_0x12eb5f){_0x435e04['push'](_0x435e04['shift']());}}}(_0x53f5,0x8dd6b));import{printBlock,getEnabledSessionId}from'./output.js';function _0x3764(_0x2b660c,_0x13618b){_0x2b660c=_0x2b660c-0x13a;const _0x53f58c=_0x53f5();let _0x3764d8=_0x53f58c[_0x2b660c];return _0x3764d8;}function _0x53f5(){const _0x13be66=['9170DJfprP','334uafKPf','216013oLzClX','114eTmglC','4615535BCiYVW','2932IduRdr','9008792RWqtPZ','18167050MaCRoD','3468YIAbiz','2089ObkFhr','7785sfTmRr'];_0x53f5=function(){return _0x13be66;};return _0x53f5();}export async function exitPlanMode(_0x498306){const _0x590732={'QaLIG':function(_0x4ef274,_0x52702f){return _0x4ef274(_0x52702f);}},_0x40e1f5=await getEnabledSessionId(_0x498306);if(!_0x40e1f5)return;_0x590732['QaLIG'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ function _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(_0x172bfa,_0x211369){var _0x6e1bf4=_0x2167,_0x4bd763=_0x172bfa();while(!![]){try{var _0x562f0a=parseInt(_0x6e1bf4(0x1eb))/0x1*(-parseInt(_0x6e1bf4(0x1ec))/0x2)+parseInt(_0x6e1bf4(0x1e8))/0x3+parseInt(_0x6e1bf4(0x1ee))/0x4*(-parseInt(_0x6e1bf4(0x1ef))/0x5)+-parseInt(_0x6e1bf4(0x1e9))/0x6+parseInt(_0x6e1bf4(0x1e7))/0x7+parseInt(_0x6e1bf4(0x1f0))/0x8*(parseInt(_0x6e1bf4(0x1ed))/0x9)+-parseInt(_0x6e1bf4(0x1e6))/0xa*(parseInt(_0x6e1bf4(0x1ea))/0xb);if(_0x562f0a===_0x211369)break;else _0x4bd763['push'](_0x4bd763['shift']());}catch(_0x31cdf2){_0x4bd763['push'](_0x4bd763['shift']());}}}(_0x162f,0xc2ae6));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x2167(_0x1eff0d,_0x2219b6){_0x1eff0d=_0x1eff0d-0x1e6;var _0x162f87=_0x162f();var _0x21676d=_0x162f87[_0x1eff0d];return _0x21676d;}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 _0x162f(){var _0x4a29a3=['10937800QumUTd','7237160WpKzpo','2787312CInDMW','1164000KVvIMd','11WKMQaw','400341fIkxJr','2UGIfpI','279TCrvVB','3932WsggXk','1455DDBPIc','208672JwKiGI'];_0x162f=function(){return _0x4a29a3;};return _0x162f();}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(_0x1e73f5,_0x22e4cc){const _0x22aae9=_0x4dc9,_0x4c6b03=_0x1e73f5();while(!![]){try{const _0x40ec1b=parseInt(_0x22aae9(0x96))/0x1*(parseInt(_0x22aae9(0x9b))/0x2)+-parseInt(_0x22aae9(0xa0))/0x3+parseInt(_0x22aae9(0x98))/0x4*(-parseInt(_0x22aae9(0x97))/0x5)+parseInt(_0x22aae9(0x9c))/0x6+parseInt(_0x22aae9(0xa2))/0x7*(parseInt(_0x22aae9(0x9d))/0x8)+-parseInt(_0x22aae9(0x9e))/0x9+parseInt(_0x22aae9(0xa3))/0xa*(-parseInt(_0x22aae9(0xa1))/0xb);if(_0x40ec1b===_0x22e4cc)break;else _0x4c6b03['push'](_0x4c6b03['shift']());}catch(_0x3904bb){_0x4c6b03['push'](_0x4c6b03['shift']());}}}(_0x3da9,0x98a01));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x87a32d){console['log'](_0x87a32d);}function _0x4dc9(_0x162113,_0x5131fc){_0x162113=_0x162113-0x95;const _0x3da969=_0x3da9();let _0x4dc9a6=_0x3da969[_0x162113];return _0x4dc9a6;}export async function readHookInput(){const _0x5a97f9=_0x4dc9;let _0x50817e='';try{for await(const _0x36ddba of process['stdin']){_0x50817e+=_0x36ddba;}}catch{return null;}if(!_0x50817e[_0x5a97f9(0x99)]())return null;try{return JSON[_0x5a97f9(0x9a)](_0x50817e);}catch{return null;}}function _0x3da9(){const _0x205830=['32BIUgyf','3720897npzrey','session_id','2279637vRhjph','550LYQVhw','1188474ApXuyR','50230XJbtxg','jvSkQ','1245857yTDhJk','5NUOpEr','3500716QDrqQU','trim','parse','2focqco','5998854xarWWG'];_0x3da9=function(){return _0x205830;};return _0x3da9();}export async function getEnabledSessionId(_0x868078){const _0x3ce350=_0x4dc9,_0x32f134={'jvSkQ':function(_0x1ac0dc){return _0x1ac0dc();},'vjSKn':function(_0x20cee0,_0x79a1a9){return _0x20cee0(_0x79a1a9);}};if(_0x868078)return isSessionEnabled(_0x868078)?_0x868078:null;const _0x2e7f72=await _0x32f134[_0x3ce350(0x95)](readHookInput),_0x19aa81=_0x2e7f72?.['session_id'];if(!_0x19aa81||!_0x32f134['vjSKn'](isSessionEnabled,_0x19aa81))return null;return _0x19aa81;}export async function getEnabledHookContext(_0x14492b){const _0x1e8ae7=_0x4dc9,_0x33316e={'Ycyth':function(_0x3e3c64){return _0x3e3c64();},'ebncN':function(_0x2b37bd,_0x467aa4){return _0x2b37bd(_0x467aa4);}};if(_0x14492b){if(!isSessionEnabled(_0x14492b))return null;return{'sessionId':_0x14492b,'input':{'session_id':_0x14492b}};}const _0x1f2b53=await _0x33316e['Ycyth'](readHookInput),_0x58bfb6=_0x1f2b53?.[_0x1e8ae7(0x9f)];if(!_0x58bfb6||!_0x33316e['ebncN'](isSessionEnabled,_0x58bfb6))return null;return{'sessionId':_0x58bfb6,'input':_0x1f2b53};}
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(_0x5a392b,_0x240bc0){const _0x5ec53d=_0xf4f7,_0x9c76bd=_0x5a392b();while(!![]){try{const _0x3f58df=parseInt(_0x5ec53d(0x138))/0x1+-parseInt(_0x5ec53d(0x135))/0x2+-parseInt(_0x5ec53d(0x137))/0x3+parseInt(_0x5ec53d(0x132))/0x4+-parseInt(_0x5ec53d(0x136))/0x5*(parseInt(_0x5ec53d(0x133))/0x6)+-parseInt(_0x5ec53d(0x13c))/0x7+parseInt(_0x5ec53d(0x139))/0x8;if(_0x3f58df===_0x240bc0)break;else _0x9c76bd['push'](_0x9c76bd['shift']());}catch(_0x2f6f1e){_0x9c76bd['push'](_0x9c76bd['shift']());}}}(_0x24f9,0xed52b));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0xf4f7(_0x3b9b6d,_0x20178e){_0x3b9b6d=_0x3b9b6d-0x132;const _0x24f9cb=_0x24f9();let _0xf4f7b4=_0x24f9cb[_0x3b9b6d];return _0xf4f7b4;}export async function planReminder(_0x4bbcd1){const _0x329b76=_0xf4f7,_0x40ec79={'DxfCw':function(_0x28bd29,_0xb43b7b){return _0x28bd29(_0xb43b7b);},'ZEGdg':function(_0x4f6334,_0x500179){return _0x4f6334(_0x500179);}},_0x431587=await _0x40ec79[_0x329b76(0x13a)](getEnabledHookContext,_0x4bbcd1);if(!_0x431587)return;if(_0x431587['input'][_0x329b76(0x134)]!=='plan')return;if(!_0x40ec79[_0x329b76(0x13b)](shouldShowPlanReminder,_0x431587['sessionId']))return;_0x40ec79[_0x329b76(0x13b)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x24f9(){const _0x1c305f=['609572pfDubX','3353995DrUroU','753687zSChOm','378898mFQbGC','22305528ZaawPw','DxfCw','ZEGdg','12119128TIGuEm','3052416ueBhNq','6WmugVJ','permission_mode'];_0x24f9=function(){return _0x1c305f;};return _0x24f9();}
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(_0x284783,_0x55b5f0){const _0x33c51b=_0x426b,_0x41d300=_0x284783();while(!![]){try{const _0x2ed79d=parseInt(_0x33c51b(0x158))/0x1*(-parseInt(_0x33c51b(0x151))/0x2)+-parseInt(_0x33c51b(0x152))/0x3+-parseInt(_0x33c51b(0x155))/0x4+parseInt(_0x33c51b(0x153))/0x5+-parseInt(_0x33c51b(0x14f))/0x6+parseInt(_0x33c51b(0x150))/0x7*(parseInt(_0x33c51b(0x156))/0x8)+parseInt(_0x33c51b(0x157))/0x9;if(_0x2ed79d===_0x55b5f0)break;else _0x41d300['push'](_0x41d300['shift']());}catch(_0x13dbd4){_0x41d300['push'](_0x41d300['shift']());}}}(_0x25fb,0xb55e9));function _0x426b(_0xc14af3,_0x9fba97){_0xc14af3=_0xc14af3-0x14f;const _0x25fb1b=_0x25fb();let _0x426bee=_0x25fb1b[_0xc14af3];return _0x426bee;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x266231){const _0x22fb9b=_0x426b,_0xe07004=await getEnabledSessionId(_0x266231);if(!_0xe07004)return;printBlock(_0x22fb9b(0x154));}function _0x25fb(){const _0x4f9be3=['3433947FbvPss','2987570tNYjMq','===\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===','5365812OfFSSD','8vYZVtY','23637483HolPia','5YCdULE','3972768gUhxUP','8339191kTRuhP','209638wslHQN'];_0x25fb=function(){return _0x4f9be3;};return _0x25fb();}
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(_0x4dbc5a,_0x571f40){const _0x250047=_0x25e9,_0x5ac61b=_0x4dbc5a();while(!![]){try{const _0x593550=parseInt(_0x250047(0x1dc))/0x1+-parseInt(_0x250047(0x1d4))/0x2+-parseInt(_0x250047(0x1d6))/0x3*(parseInt(_0x250047(0x1de))/0x4)+parseInt(_0x250047(0x1d7))/0x5*(parseInt(_0x250047(0x1d9))/0x6)+-parseInt(_0x250047(0x1db))/0x7+-parseInt(_0x250047(0x1d2))/0x8*(parseInt(_0x250047(0x1df))/0x9)+parseInt(_0x250047(0x1dd))/0xa*(parseInt(_0x250047(0x1d5))/0xb);if(_0x593550===_0x571f40)break;else _0x5ac61b['push'](_0x5ac61b['shift']());}catch(_0x130ced){_0x5ac61b['push'](_0x5ac61b['shift']());}}}(_0x277a,0xcf93e));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x25e9(_0x161137,_0x54b812){_0x161137=_0x161137-0x1d2;const _0x277a1f=_0x277a();let _0x25e919=_0x277a1f[_0x161137];return _0x25e919;}import{getToken}from'../utils/keychain.js';function _0x277a(){const _0x1f4050=['3266187RhSPLE','2760390pJuXCb','stringify','6vqCKlX','PostToolUse','9995251XebEzB','1050731pcaPhI','18650950QBvTKC','4mrZkEy','594189bbJCfW','160lNCTzh','SxQbv','1291438wntpFS','22YkRxfG'];_0x277a=function(){return _0x1f4050;};return _0x277a();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x5b7339){const _0x11ca66=_0x25e9,_0xf96c07={'JXVPA':function(_0x489bbd,_0x1f11c7){return _0x489bbd(_0x1f11c7);},'SxQbv':function(_0x51bf15){return _0x51bf15();},'fDNHm':_0x11ca66(0x1da)},_0x4e4a53=await getEnabledSessionId(_0x5b7339);if(!_0x4e4a53)return;_0xf96c07['JXVPA'](updateBranchTracking,_0x4e4a53);const _0x390494=await _0xf96c07[_0x11ca66(0x1d3)](getToken);if(!_0x390494)return;const _0x30ccf2=getSessionEntry(_0x4e4a53);if(_0x30ccf2){const _0x169e24={'hookSpecificOutput':{'hookEventName':_0xf96c07['fDNHm'],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON[_0x11ca66(0x1d8)](_0x169e24));return;}const _0x2d1896={'hookSpecificOutput':{'hookEventName':_0x11ca66(0x1da),'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'](_0x2d1896));}
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(_0xd8540e,_0x236789){const _0x2236fc=_0x22ee,_0x3da282=_0xd8540e();while(!![]){try{const _0x1c6413=parseInt(_0x2236fc(0x166))/0x1+parseInt(_0x2236fc(0x16a))/0x2+parseInt(_0x2236fc(0x168))/0x3*(parseInt(_0x2236fc(0x172))/0x4)+parseInt(_0x2236fc(0x16b))/0x5+-parseInt(_0x2236fc(0x16f))/0x6*(-parseInt(_0x2236fc(0x170))/0x7)+-parseInt(_0x2236fc(0x16e))/0x8+parseInt(_0x2236fc(0x169))/0x9*(-parseInt(_0x2236fc(0x16c))/0xa);if(_0x1c6413===_0x236789)break;else _0x3da282['push'](_0x3da282['shift']());}catch(_0x3367b1){_0x3da282['push'](_0x3da282['shift']());}}}(_0x4a9b,0xaad1b));function _0x22ee(_0x4de6fc,_0x5d749d){_0x4de6fc=_0x4de6fc-0x166;const _0x4a9b9d=_0x4a9b();let _0x22eedc=_0x4a9b9d[_0x4de6fc];return _0x22eedc;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x4a9b(){const _0x5de0eb=['1196674NCMliN','1406580QvAagC','240mUYPSp','tQoFj','40432ELTxGH','39798gKXDKE','903EfTIBC','XxwFR','4HxHBdd','485862EnkymA','===\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`.','382095lZLQIw','616428MHRYva'];_0x4a9b=function(){return _0x5de0eb;};return _0x4a9b();}export async function preCompact(_0x402d14){const _0x1ae5cd=_0x22ee,_0x40d879={'XxwFR':function(_0x16214c,_0x2e9bb7){return _0x16214c(_0x2e9bb7);},'tQoFj':function(_0x11bdd3){return _0x11bdd3();}},_0x1648cc=await _0x40d879[_0x1ae5cd(0x171)](getEnabledSessionId,_0x402d14);if(!_0x1648cc)return;try{const _0x354921=await _0x40d879[_0x1ae5cd(0x16d)](getToken);if(!_0x354921)return;_0x40d879['XxwFR'](printBlock,_0x1ae5cd(0x167));}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(_0x53b51d,_0x2e7edb){const _0x21c510=_0x362f,_0x147a69=_0x53b51d();while(!![]){try{const _0x1b915d=parseInt(_0x21c510(0x18f))/0x1*(parseInt(_0x21c510(0x18c))/0x2)+parseInt(_0x21c510(0x188))/0x3+-parseInt(_0x21c510(0x18b))/0x4+-parseInt(_0x21c510(0x190))/0x5*(parseInt(_0x21c510(0x193))/0x6)+parseInt(_0x21c510(0x18a))/0x7+-parseInt(_0x21c510(0x191))/0x8*(parseInt(_0x21c510(0x189))/0x9)+-parseInt(_0x21c510(0x18e))/0xa*(-parseInt(_0x21c510(0x187))/0xb);if(_0x1b915d===_0x2e7edb)break;else _0x147a69['push'](_0x147a69['shift']());}catch(_0x24e444){_0x147a69['push'](_0x147a69['shift']());}}}(_0x5ad9,0x9a178));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x362f(_0xa92891,_0x1c9303){_0xa92891=_0xa92891-0x186;const _0x5ad9a0=_0x5ad9();let _0x362fb1=_0x5ad9a0[_0xa92891];return _0x362fb1;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x50f07d){const _0x4a2270=_0x362f,_0x25c5c7={'NqnCi':function(_0x40eca4,_0x45fa3e){return _0x40eca4(_0x45fa3e);},'EUvlI':function(_0x30b35a){return _0x30b35a();},'daTHs':'clear'},_0x583c35=process['env']['CLAUDE_SESSION_ID'];let _0x2451c3=_0x50f07d,_0x18acdf;if(!_0x50f07d){if(_0x583c35&&!_0x25c5c7[_0x4a2270(0x186)](isSessionEnabled,_0x583c35))return;const _0x8a3e03=await _0x25c5c7['EUvlI'](readHookInput);_0x2451c3=_0x8a3e03?.[_0x4a2270(0x192)]||_0x583c35,_0x18acdf=_0x8a3e03?.['reason'];}if(!_0x2451c3)return;_0x18acdf===_0x25c5c7[_0x4a2270(0x18d)]&&recordEnabledSessionCleared(_0x2451c3);}function _0x5ad9(){const _0x227430=['3264879WlPHWY','1114677nZkrBe','4916408jPBCkg','1870200jQBlDa','4RtNWYA','daTHs','1451280ZVhMXn','200426HHLYNA','7960zNPgpO','56iXVJbJ','session_id','1398mRCKbl','NqnCi','11NbfuWZ'];_0x5ad9=function(){return _0x227430;};return _0x5ad9();}
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);}