@ranger-testing/ranger-cli 2.4.3 → 2.4.5

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 (72) 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 -0
  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 -0
  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/package.json +1 -1
@@ -1 +1 @@
1
- const _0x2bca89=_0x4529;(function(_0x34023c,_0x17010c){const _0x3fc782=_0x4529,_0xc40341=_0x34023c();while(!![]){try{const _0x47aadd=parseInt(_0x3fc782(0xdc))/0x1+-parseInt(_0x3fc782(0xec))/0x2*(parseInt(_0x3fc782(0xe3))/0x3)+parseInt(_0x3fc782(0xdd))/0x4+-parseInt(_0x3fc782(0xd8))/0x5+-parseInt(_0x3fc782(0xe9))/0x6+-parseInt(_0x3fc782(0xf0))/0x7+parseInt(_0x3fc782(0xe5))/0x8;if(_0x47aadd===_0x17010c)break;else _0xc40341['push'](_0xc40341['shift']());}catch(_0x18531b){_0xc40341['push'](_0xc40341['shift']());}}}(_0x2b2f,0xc9d07));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x2bca89(0xda)];function _0x4529(_0x5de3f1,_0x3000d7){_0x5de3f1=_0x5de3f1-0xd8;const _0x2b2f42=_0x2b2f();let _0x45295b=_0x2b2f42[_0x5de3f1];return _0x45295b;}function _0x2b2f(){const _0x2c2417=['gPCVf','460698fMGFmZ','hZRYk','rdMwW','2SVEuRi','pPvos','\x22\x20does\x20not\x20exist.',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','2012115rfPrzi','3669775HlAqKS','stringify','allowInsecureLocalhost','KZjOP','1310972VtHedx','2924580JYgQzW','true','No\x20configuration\x20set\x20for\x20\x22','Profile\x20\x22','pGqOt','jWkIm','1099965wVuwFQ','dvpfS','1994816iZZCyY','(not\x20set)','log'];_0x2b2f=function(){return _0x2c2417;};return _0x2b2f();}function parseValue(_0xce982f,_0x27f775){const _0x1ad689=_0x2bca89,_0xab15b5={'pGqOt':function(_0x37d845,_0x32321a){return _0x37d845===_0x32321a;},'nXksu':_0x1ad689(0xde)};if(BOOLEAN_KEYS['includes'](_0xce982f)){if(_0xab15b5[_0x1ad689(0xe1)](_0x27f775,_0xab15b5['nXksu']))return!![];if(_0x27f775==='false')return![];throw new Error('Invalid\x20value\x20for\x20'+_0xce982f+_0x1ad689(0xef));}return _0x27f775;}export async function configSet(_0xa1a90,_0x1fc332,_0x5905fd){const _0x42a58a=_0x2bca89,_0x1d805c={'jWkIm':function(_0x59367f,_0x4d3f77){return _0x59367f(_0x4d3f77);},'pPvos':function(_0x258880,_0x510dcb,_0x42855c){return _0x258880(_0x510dcb,_0x42855c);}},_0x1cb933=getEnvDir(_0xa1a90);if(!_0x1d805c[_0x42a58a(0xe2)](existsSync,_0x1cb933))throw new Error('Profile\x20\x22'+_0xa1a90+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0xa1a90);const _0x173078=await loadSettings(_0xa1a90),_0x1a72ad=parseValue(_0x1fc332,_0x5905fd);setNestedValue(_0x173078,_0x1fc332,_0x1a72ad),await _0x1d805c[_0x42a58a(0xed)](saveSettings,_0xa1a90,_0x173078),console['log']('Set\x20'+_0x1fc332+'\x20=\x20'+_0x1a72ad);}export async function configGet(_0x1bd98b,_0x2972ef){const _0x3160f6=_0x2bca89,_0x46680b={'VbifL':function(_0x23fb3b,_0x48bd33,_0x479a4d){return _0x23fb3b(_0x48bd33,_0x479a4d);},'rdMwW':function(_0x53002a,_0x1d9ac3){return _0x53002a===_0x1d9ac3;},'KZjOP':'object'},_0xfefe76=getEnvDir(_0x1bd98b);if(!existsSync(_0xfefe76))throw new Error(_0x3160f6(0xe0)+_0x1bd98b+'\x22\x20does\x20not\x20exist.');const _0x1f4045=await loadSettings(_0x1bd98b),_0x1429f0=_0x46680b['VbifL'](getNestedValue,_0x1f4045,_0x2972ef);if(_0x1429f0===undefined)console[_0x3160f6(0xe7)](_0x3160f6(0xe6));else _0x46680b[_0x3160f6(0xeb)](typeof _0x1429f0,_0x46680b[_0x3160f6(0xdb)])?console['log'](JSON[_0x3160f6(0xd9)](_0x1429f0,null,0x2)):console[_0x3160f6(0xe7)](_0x1429f0);}export async function configList(_0x5ea301){const _0xfed4c3=_0x2bca89,_0x3af125={'dvpfS':function(_0x14ff7a,_0x21aa15){return _0x14ff7a(_0x21aa15);},'hZRYk':function(_0x410bc0,_0x46d379){return _0x410bc0(_0x46d379);}},_0x1335d0=_0x3af125[_0xfed4c3(0xe4)](getSettingsPath,_0x5ea301);if(!existsSync(_0x1335d0)){const _0x27cce0=getEnvDir(_0x5ea301);if(!_0x3af125[_0xfed4c3(0xea)](existsSync,_0x27cce0))throw new Error('Profile\x20\x22'+_0x5ea301+_0xfed4c3(0xee));console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x5ea301+'\x22');return;}const _0x4cba25=await loadSettings(_0x5ea301),_0x1b2bf2=formatSettings(_0x4cba25);!_0x1b2bf2?console['log'](_0xfed4c3(0xdf)+_0x5ea301+'\x22'):console['log'](_0x1b2bf2);}export async function configUnset(_0x4e322a,_0x1586f3){const _0xd5b84=_0x2bca89,_0x3776a9={'gPCVf':function(_0x342f8f,_0x18e4e5){return _0x342f8f(_0x18e4e5);}},_0x2111ec=_0x3776a9['gPCVf'](getEnvDir,_0x4e322a);if(!_0x3776a9[_0xd5b84(0xe8)](existsSync,_0x2111ec))throw new Error(_0xd5b84(0xe0)+_0x4e322a+'\x22\x20does\x20not\x20exist.');const _0xade04c=await _0x3776a9['gPCVf'](loadSettings,_0x4e322a),_0x17e590=deleteNestedValue(_0xade04c,_0x1586f3);_0x17e590?(await saveSettings(_0x4e322a,_0xade04c),console['log']('Removed\x20'+_0x1586f3)):console['log']('Key\x20\x22'+_0x1586f3+'\x22\x20not\x20found');}
1
+ const _0x1397c5=_0x538d;(function(_0x339a2b,_0xc7e312){const _0x30ec4a=_0x538d,_0x5d6187=_0x339a2b();while(!![]){try{const _0x1530ba=parseInt(_0x30ec4a(0xa6))/0x1+parseInt(_0x30ec4a(0xb5))/0x2*(parseInt(_0x30ec4a(0xad))/0x3)+parseInt(_0x30ec4a(0xb8))/0x4+parseInt(_0x30ec4a(0xa5))/0x5*(-parseInt(_0x30ec4a(0xab))/0x6)+parseInt(_0x30ec4a(0xba))/0x7*(-parseInt(_0x30ec4a(0xa1))/0x8)+parseInt(_0x30ec4a(0xbf))/0x9+parseInt(_0x30ec4a(0xac))/0xa*(-parseInt(_0x30ec4a(0xa8))/0xb);if(_0x1530ba===_0xc7e312)break;else _0x5d6187['push'](_0x5d6187['shift']());}catch(_0x5f467d){_0x5d6187['push'](_0x5d6187['shift']());}}}(_0x45f7,0x84cdf));import{existsSync}from'fs';function _0x45f7(){const _0x567b7e=['includes','4EaUejP','SGgLo','XHeJC','1062404NJQVik','acqCo','4636919KaUKMk','Profile\x20\x22','brHwc','dKhvm','No\x20configuration\x20set\x20for\x20\x22','3475692lRKZec','allowInsecureLocalhost','8nCrFRU','\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20','MICcL','IgyeF','5ZcLJqN','959555yqAVNK','NybTL','737PSVPxw','AFFIf','object','6373266QRZDcY','20910SVZsIh','1196022oiEKke','Key\x20\x22','log','\x22\x20not\x20found','stringify','\x22\x20does\x20not\x20exist.','uHAPb'];_0x45f7=function(){return _0x567b7e;};return _0x45f7();}import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x1397c5(0xa0)];function parseValue(_0x218adf,_0x1c5718){const _0x2c8996=_0x1397c5,_0x4f45e6={'SGgLo':'true','qRMrP':function(_0x11d0c0,_0x1eb822){return _0x11d0c0===_0x1eb822;}};if(BOOLEAN_KEYS[_0x2c8996(0xb4)](_0x218adf)){if(_0x1c5718===_0x4f45e6[_0x2c8996(0xb6)])return!![];if(_0x4f45e6['qRMrP'](_0x1c5718,'false'))return![];throw new Error('Invalid\x20value\x20for\x20'+_0x218adf+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x1c5718;}function _0x538d(_0x46c8e8,_0x3fa9a9){_0x46c8e8=_0x46c8e8-0xa0;const _0x45f745=_0x45f7();let _0x538d33=_0x45f745[_0x46c8e8];return _0x538d33;}export async function configSet(_0x504dc5,_0x5b542b,_0x51e2dd){const _0x32674a=_0x1397c5,_0x3322c4={'IgyeF':function(_0x2d36bd,_0x1c7cd0){return _0x2d36bd(_0x1c7cd0);},'XHeJC':function(_0x5259dd,_0xd6d773,_0x100205){return _0x5259dd(_0xd6d773,_0x100205);},'VHjhu':function(_0x258285,_0x11d8ec,_0x452144,_0x3d0da8){return _0x258285(_0x11d8ec,_0x452144,_0x3d0da8);}},_0x2ac97f=getEnvDir(_0x504dc5);if(!existsSync(_0x2ac97f))throw new Error(_0x32674a(0xbb)+_0x504dc5+_0x32674a(0xa2)+_0x504dc5);const _0x34102d=await _0x3322c4[_0x32674a(0xa4)](loadSettings,_0x504dc5),_0x1adba8=_0x3322c4[_0x32674a(0xb7)](parseValue,_0x5b542b,_0x51e2dd);_0x3322c4['VHjhu'](setNestedValue,_0x34102d,_0x5b542b,_0x1adba8),await saveSettings(_0x504dc5,_0x34102d),console['log']('Set\x20'+_0x5b542b+'\x20=\x20'+_0x1adba8);}export async function configGet(_0x138c58,_0x2ca0fd){const _0x119b73=_0x1397c5,_0x557959={'OMXdl':function(_0x5ed86b,_0x48fd7e){return _0x5ed86b(_0x48fd7e);},'NybTL':function(_0x162640,_0xa81d16){return _0x162640(_0xa81d16);},'MICcL':function(_0x2cd98a,_0x1cffbc,_0x4517ed){return _0x2cd98a(_0x1cffbc,_0x4517ed);},'brHwc':function(_0x44b66d,_0x549870){return _0x44b66d===_0x549870;},'tethC':_0x119b73(0xaa)},_0x1a73b2=getEnvDir(_0x138c58);if(!_0x557959['OMXdl'](existsSync,_0x1a73b2))throw new Error('Profile\x20\x22'+_0x138c58+_0x119b73(0xb2));const _0x3f8161=await _0x557959[_0x119b73(0xa7)](loadSettings,_0x138c58),_0x2cf653=_0x557959[_0x119b73(0xa3)](getNestedValue,_0x3f8161,_0x2ca0fd);if(_0x2cf653===undefined)console[_0x119b73(0xaf)]('(not\x20set)');else _0x557959[_0x119b73(0xbc)](typeof _0x2cf653,_0x557959['tethC'])?console['log'](JSON[_0x119b73(0xb1)](_0x2cf653,null,0x2)):console['log'](_0x2cf653);}export async function configList(_0x37b812){const _0xd5926e=_0x1397c5,_0x467f65={'tlNfE':function(_0x20dacc,_0x578fec){return _0x20dacc(_0x578fec);},'AFFIf':function(_0x4b4ab1,_0x193bdd){return _0x4b4ab1(_0x193bdd);},'uHAPb':function(_0x1701ca,_0x41aa4e){return _0x1701ca(_0x41aa4e);}},_0x42bce7=_0x467f65['tlNfE'](getSettingsPath,_0x37b812);if(!_0x467f65[_0xd5926e(0xa9)](existsSync,_0x42bce7)){const _0x2e8fe0=_0x467f65[_0xd5926e(0xb3)](getEnvDir,_0x37b812);if(!_0x467f65['uHAPb'](existsSync,_0x2e8fe0))throw new Error(_0xd5926e(0xbb)+_0x37b812+'\x22\x20does\x20not\x20exist.');console[_0xd5926e(0xaf)](_0xd5926e(0xbe)+_0x37b812+'\x22');return;}const _0x56b495=await _0x467f65['tlNfE'](loadSettings,_0x37b812),_0x21b4e0=_0x467f65[_0xd5926e(0xa9)](formatSettings,_0x56b495);!_0x21b4e0?console[_0xd5926e(0xaf)](_0xd5926e(0xbe)+_0x37b812+'\x22'):console['log'](_0x21b4e0);}export async function configUnset(_0xf346f1,_0x1063a7){const _0x2bb041=_0x1397c5,_0x4f9679={'dKhvm':function(_0x5e030f,_0x194634){return _0x5e030f(_0x194634);},'acqCo':function(_0x3d5718,_0x541f5b,_0x3599b2){return _0x3d5718(_0x541f5b,_0x3599b2);}},_0x5159bd=getEnvDir(_0xf346f1);if(!_0x4f9679[_0x2bb041(0xbd)](existsSync,_0x5159bd))throw new Error('Profile\x20\x22'+_0xf346f1+'\x22\x20does\x20not\x20exist.');const _0x45466f=await loadSettings(_0xf346f1),_0x2beff0=_0x4f9679[_0x2bb041(0xb9)](deleteNestedValue,_0x45466f,_0x1063a7);_0x2beff0?(await saveSettings(_0xf346f1,_0x45466f),console[_0x2bb041(0xaf)]('Removed\x20'+_0x1063a7)):console['log'](_0x2bb041(0xae)+_0x1063a7+_0x2bb041(0xb0));}
@@ -1 +1 @@
1
- function _0x5c3f(){const _0x369673=['DtCxp','DnhvI','push','891330KIMdkx','.txt','195021JaDoiN','HvySc','isDirectory','\x20\x20\x20\x20\x20\x20URL:\x20','reports','includes','bug-bashes','TcYpv','711iAiWhG','9550DHogMZ','local','hPzJc','SXsPQ','9200jNKFoP','log','482424wNbexN','\x20\x20\x20\x20\x20\x20Details:\x20','907300jjXqna','baseUrl','1389GKVFNu','30LKdDXZ','\x0aProfiles:','244GbZUjT','environmentDetails','xBYyo','sPWTw','7wspZBy','XWVRc','ZtcGa','\x0a*\x20=\x20active\x20profile','Run:\x20ranger\x20profile\x20add\x20<profile-name>'];_0x5c3f=function(){return _0x369673;};return _0x5c3f();}const _0x24ad4c=_0x7ca1;(function(_0x2cb6db,_0x10f129){const _0x4a2102=_0x7ca1,_0x479323=_0x2cb6db();while(!![]){try{const _0x562f1c=parseInt(_0x4a2102(0x100))/0x1+-parseInt(_0x4a2102(0xf0))/0x2*(parseInt(_0x4a2102(0xef))/0x3)+parseInt(_0x4a2102(0xf2))/0x4*(parseInt(_0x4a2102(0x109))/0x5)+-parseInt(_0x4a2102(0xeb))/0x6*(parseInt(_0x4a2102(0xf6))/0x7)+-parseInt(_0x4a2102(0xe9))/0x8*(-parseInt(_0x4a2102(0x108))/0x9)+-parseInt(_0x4a2102(0xed))/0xa+-parseInt(_0x4a2102(0xfe))/0xb;if(_0x562f1c===_0x10f129)break;else _0x479323['push'](_0x479323['shift']());}catch(_0xcb8d40){_0x479323['push'](_0x479323['shift']());}}}(_0x5c3f,0x22fa8));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';function _0x7ca1(_0x326ad5,_0x50c8cd){_0x326ad5=_0x326ad5-0xe6;const _0x5c3fc5=_0x5c3f();let _0x7ca1d0=_0x5c3fc5[_0x326ad5];return _0x7ca1d0;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions',_0x24ad4c(0x106),_0x24ad4c(0x104),'local','ci'];export async function getEnvNames(){const _0x158e1e=_0x24ad4c,_0x1d3c66={'DnhvI':function(_0x28dc2a){return _0x28dc2a();},'xBYyo':_0x158e1e(0xe6),'DtCxp':function(_0x5a8c7d,_0xc22e5d){return _0x5a8c7d(_0xc22e5d);},'SXsPQ':function(_0x4ebe92,_0x388193){return _0x4ebe92(_0x388193);},'giXfX':function(_0x526ebc,_0xd491ec,_0xf46e7){return _0x526ebc(_0xd491ec,_0xf46e7);},'HvySc':function(_0x3ac02c,_0x22204a){return _0x3ac02c(_0x22204a);},'bOpnf':function(_0x5bef91,_0xe98fb){return _0x5bef91(_0xe98fb);},'hPzJc':function(_0x3bdd01,_0x28006e,_0x3522af){return _0x3bdd01(_0x28006e,_0x3522af);},'sPWTw':'legacy'},_0x2b16b5=_0x1d3c66[_0x158e1e(0xfc)](getRangerDir);if(!existsSync(_0x2b16b5))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x441c8a=await readActiveProfileName(),_0x57a33a=[],_0x3416fb={},_0x30c18d=join(_0x2b16b5,_0x1d3c66[_0x158e1e(0xf4)]);if(_0x1d3c66['DtCxp'](existsSync,_0x30c18d)){const _0x377e3d=await _0x1d3c66[_0x158e1e(0xe8)](readdir,_0x30c18d);for(const _0x10e57b of _0x377e3d){const _0x378cb9=join(_0x30c18d,_0x10e57b),_0x1b7616=await stat(_0x378cb9);_0x1b7616[_0x158e1e(0x102)]()&&(_0x57a33a[_0x158e1e(0xfd)](_0x10e57b),_0x3416fb[_0x10e57b]=_0x158e1e(0xe6));}}const _0x551377=_0x1d3c66['giXfX'](join,_0x2b16b5,'ci');if(existsSync(_0x551377)){const _0x16d837=await _0x1d3c66[_0x158e1e(0x101)](readdir,_0x551377);for(const _0x4ec996 of _0x16d837){const _0x45ae8e=join(_0x551377,_0x4ec996),_0x686598=await _0x1d3c66['SXsPQ'](stat,_0x45ae8e);_0x686598[_0x158e1e(0x102)]()&&(_0x57a33a[_0x158e1e(0xfd)](_0x4ec996),_0x3416fb[_0x4ec996]='ci');}}const _0x13832d=await _0x1d3c66[_0x158e1e(0xfb)](readdir,_0x2b16b5);for(const _0x6c5a5 of _0x13832d){if(NON_ENV_DIRS[_0x158e1e(0x105)](_0x6c5a5))continue;if(_0x6c5a5['startsWith']('.'))continue;if(_0x6c5a5['endsWith'](_0x158e1e(0xff)))continue;const _0x22330d=_0x1d3c66['giXfX'](join,_0x2b16b5,_0x6c5a5),_0x413920=await _0x1d3c66['bOpnf'](stat,_0x22330d);_0x413920['isDirectory']()&&existsSync(_0x1d3c66[_0x158e1e(0xe7)](join,_0x22330d,'settings.json'))&&(!_0x57a33a[_0x158e1e(0x105)](_0x6c5a5)&&(_0x57a33a['push'](_0x6c5a5),_0x3416fb[_0x6c5a5]=_0x1d3c66[_0x158e1e(0xf5)]));}return{'envNames':_0x57a33a,'activeEnv':_0x441c8a,'envTypes':_0x3416fb};}export async function envList(){const _0x38af33=_0x24ad4c,_0x1ba2c0={'wvFRI':'\x0aNo\x20profiles\x20found.','XWVRc':_0x38af33(0xfa),'BNEDY':function(_0x113baa,_0x6b7f0){return _0x113baa===_0x6b7f0;},'ZtcGa':_0x38af33(0xe6),'TcYpv':function(_0x485aee,_0x471efe){return _0x485aee===_0x471efe;},'enwwf':'legacy'},{envNames:_0x898750,activeEnv:_0x37fd13,envTypes:_0x1e3ef9}=await getEnvNames();if(_0x898750['length']===0x0){console['log'](_0x1ba2c0['wvFRI']),console['log'](_0x1ba2c0[_0x38af33(0xf7)]);return;}console[_0x38af33(0xea)](_0x38af33(0xf1));for(const _0x3db165 of _0x898750['sort']()){const _0x1e8c3f=_0x1ba2c0['BNEDY'](_0x3db165,_0x37fd13),_0x5df3d8=_0x1e3ef9[_0x3db165]||_0x1ba2c0[_0x38af33(0xf8)],_0x452eb9=await loadSettings(_0x3db165),_0x150511=_0x1ba2c0[_0x38af33(0x107)](_0x5df3d8,_0x1ba2c0['enwwf'])?'':'\x20['+_0x5df3d8+']';console['log']('\x20\x20'+(_0x1e8c3f?'*\x20':'\x20\x20')+_0x3db165+_0x150511),_0x452eb9[_0x38af33(0xee)]&&console[_0x38af33(0xea)](_0x38af33(0x103)+_0x452eb9[_0x38af33(0xee)]),_0x452eb9['environmentDetails']&&console[_0x38af33(0xea)](_0x38af33(0xec)+_0x452eb9[_0x38af33(0xf3)]);}_0x37fd13&&console['log'](_0x38af33(0xf9));}
1
+ (function(_0x193b7d,_0x7d3823){const _0x381c7e=_0x11b4,_0x22025c=_0x193b7d();while(!![]){try{const _0xc8726a=-parseInt(_0x381c7e(0x1bf))/0x1+parseInt(_0x381c7e(0x1bb))/0x2*(parseInt(_0x381c7e(0x1ce))/0x3)+parseInt(_0x381c7e(0x1c7))/0x4+parseInt(_0x381c7e(0x1da))/0x5*(parseInt(_0x381c7e(0x1c8))/0x6)+-parseInt(_0x381c7e(0x1cf))/0x7*(-parseInt(_0x381c7e(0x1c5))/0x8)+-parseInt(_0x381c7e(0x1ba))/0x9*(parseInt(_0x381c7e(0x1c2))/0xa)+parseInt(_0x381c7e(0x1c1))/0xb*(parseInt(_0x381c7e(0x1d1))/0xc);if(_0xc8726a===_0x7d3823)break;else _0x22025c['push'](_0x22025c['shift']());}catch(_0x4bf3eb){_0x22025c['push'](_0x22025c['shift']());}}}(_0x25bd,0x81941));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x25bd(){const _0x5ec00a=['2085GVakrL','JghTA','18AKmBBN','1343458CGPcSn','pOSFE','settings.json','zkikL','910323mPNwGP','push','110bqJezY','4982770YretsQ','baseUrl','.txt','120DJIYwS','legacy','219412bOajkF','7674aGowEu','sort','\x0a*\x20=\x20active\x20profile','local','CSmhv','environmentDetails','3OFdTci','282961FRJbXP','length','685632fhKpGJ','rTzXj','startsWith','includes','GgaWM','log','isDirectory','XGvdw','STEOH'];_0x25bd=function(){return _0x5ec00a;};return _0x25bd();}import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions','bug-bashes','reports','local','ci'];function _0x11b4(_0x19e848,_0x47dbec){_0x19e848=_0x19e848-0x1b9;const _0x25bd0c=_0x25bd();let _0x11b418=_0x25bd0c[_0x19e848];return _0x11b418;}export async function getEnvNames(){const _0x15a8d9=_0x11b4,_0x29839f={'STEOH':function(_0x4b64b4){return _0x4b64b4();},'HUElB':function(_0x49d3e4,_0x3ced71){return _0x49d3e4(_0x3ced71);},'XGvdw':function(_0x49f105,_0x190ad1){return _0x49f105(_0x190ad1);},'ouQkx':function(_0xa410d0,_0x24367e,_0x5640f9){return _0xa410d0(_0x24367e,_0x5640f9);},'dXuhU':function(_0x75920,_0x1ee403,_0x1644fc){return _0x75920(_0x1ee403,_0x1644fc);},'zkikL':function(_0x4fb5a8,_0x6487c1){return _0x4fb5a8(_0x6487c1);},'rTzXj':function(_0x5917b7,_0xa3bfe6,_0x2a4e27){return _0x5917b7(_0xa3bfe6,_0x2a4e27);},'CSmhv':_0x15a8d9(0x1bd),'xkIFL':'legacy'},_0x3ca812=_0x29839f[_0x15a8d9(0x1d9)](getRangerDir);if(!_0x29839f['HUElB'](existsSync,_0x3ca812))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x36f81f=await readActiveProfileName(),_0x3fca07=[],_0x3f13e9={},_0x248dcb=join(_0x3ca812,_0x15a8d9(0x1cb));if(_0x29839f[_0x15a8d9(0x1d8)](existsSync,_0x248dcb)){const _0x4ae773=await readdir(_0x248dcb);for(const _0x526eb4 of _0x4ae773){const _0x321250=_0x29839f['ouQkx'](join,_0x248dcb,_0x526eb4),_0x5af779=await _0x29839f['XGvdw'](stat,_0x321250);_0x5af779[_0x15a8d9(0x1d7)]()&&(_0x3fca07[_0x15a8d9(0x1c0)](_0x526eb4),_0x3f13e9[_0x526eb4]=_0x15a8d9(0x1cb));}}const _0xc852f1=join(_0x3ca812,'ci');if(existsSync(_0xc852f1)){const _0x1835a2=await readdir(_0xc852f1);for(const _0x94c93b of _0x1835a2){const _0x429f56=_0x29839f['dXuhU'](join,_0xc852f1,_0x94c93b),_0x2348ce=await _0x29839f[_0x15a8d9(0x1be)](stat,_0x429f56);_0x2348ce['isDirectory']()&&(_0x3fca07[_0x15a8d9(0x1c0)](_0x94c93b),_0x3f13e9[_0x94c93b]='ci');}}const _0x5e6d85=await readdir(_0x3ca812);for(const _0x254af1 of _0x5e6d85){if(NON_ENV_DIRS[_0x15a8d9(0x1d4)](_0x254af1))continue;if(_0x254af1[_0x15a8d9(0x1d3)]('.'))continue;if(_0x254af1['endsWith'](_0x15a8d9(0x1c4)))continue;const _0xfcc1e6=_0x29839f[_0x15a8d9(0x1d2)](join,_0x3ca812,_0x254af1),_0x37708d=await stat(_0xfcc1e6);_0x37708d[_0x15a8d9(0x1d7)]()&&existsSync(join(_0xfcc1e6,_0x29839f[_0x15a8d9(0x1cc)]))&&(!_0x3fca07[_0x15a8d9(0x1d4)](_0x254af1)&&(_0x3fca07['push'](_0x254af1),_0x3f13e9[_0x254af1]=_0x29839f['xkIFL']));}return{'envNames':_0x3fca07,'activeEnv':_0x36f81f,'envTypes':_0x3f13e9};}export async function envList(){const _0x1d0c40=_0x11b4,_0x2ba0b5={'dQlYj':function(_0x3c074d){return _0x3c074d();},'LzKPr':'\x0aNo\x20profiles\x20found.','GgaWM':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','JghTA':_0x1d0c40(0x1cb),'pOSFE':_0x1d0c40(0x1c6)},{envNames:_0x2f0721,activeEnv:_0x550c3d,envTypes:_0x4cd591}=await _0x2ba0b5['dQlYj'](getEnvNames);if(_0x2f0721[_0x1d0c40(0x1d0)]===0x0){console['log'](_0x2ba0b5['LzKPr']),console[_0x1d0c40(0x1d6)](_0x2ba0b5[_0x1d0c40(0x1d5)]);return;}console[_0x1d0c40(0x1d6)]('\x0aProfiles:');for(const _0x8442e4 of _0x2f0721[_0x1d0c40(0x1c9)]()){const _0xb2087a=_0x8442e4===_0x550c3d,_0xfeacd6=_0x4cd591[_0x8442e4]||_0x2ba0b5[_0x1d0c40(0x1b9)],_0x11e973=await loadSettings(_0x8442e4),_0x28c000=_0xfeacd6===_0x2ba0b5[_0x1d0c40(0x1bc)]?'':'\x20['+_0xfeacd6+']';console['log']('\x20\x20'+(_0xb2087a?'*\x20':'\x20\x20')+_0x8442e4+_0x28c000),_0x11e973[_0x1d0c40(0x1c3)]&&console['log']('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x11e973[_0x1d0c40(0x1c3)]),_0x11e973[_0x1d0c40(0x1cd)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x11e973['environmentDetails']);}_0x550c3d&&console['log'](_0x1d0c40(0x1ca));}
@@ -1 +1 @@
1
- (function(_0x192fdd,_0x242dc1){const _0x4ca81c=_0x26e7,_0x301f5e=_0x192fdd();while(!![]){try{const _0x4339af=parseInt(_0x4ca81c(0x161))/0x1*(parseInt(_0x4ca81c(0x1c0))/0x2)+parseInt(_0x4ca81c(0x15e))/0x3*(parseInt(_0x4ca81c(0x1d2))/0x4)+-parseInt(_0x4ca81c(0x19c))/0x5+parseInt(_0x4ca81c(0x188))/0x6+parseInt(_0x4ca81c(0x124))/0x7+parseInt(_0x4ca81c(0x157))/0x8*(-parseInt(_0x4ca81c(0x162))/0x9)+-parseInt(_0x4ca81c(0x18b))/0xa*(parseInt(_0x4ca81c(0x189))/0xb);if(_0x4339af===_0x242dc1)break;else _0x301f5e['push'](_0x301f5e['shift']());}catch(_0x584740){_0x301f5e['push'](_0x301f5e['shift']());}}}(_0x4ef9,0x65ec5));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x1732ef 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';function _0x4ef9(){const _0xc1f34e=['list','toFixed','\x20\x20✅\x20No\x20feedback\x20to\x20address','Wkssj','xokbf','\x20in\x20progress','assets','exit','NSJla','xEDLQ','\x20\x20\x20▶️\x20Started\x20session\x20','name','oSgcp','MsRea','.png','No\x20sessions\x20found.','browserSessionId','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','sessionId','git\x20remote\x20get-url\x20origin','NuPil','eRuJd','vLnMS','\x20/\x20','spatial','\x20—\x20no\x20comments','yvlbS','scenario','\x20\x20\x20\x20\x20\x20Incomplete:\x20','XBsoy','stats','mUsIj','stdin','from','2937990jdqRax','33AqiiPp','bLNVD','1667230AIFMku','SNEIn','point','blockedReason','slice','approved','utf-8','gitRepoUrl','CLAUDE_SESSION_ID','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','/api/v1/mcp/browser-sessions/','\x0a📋\x20Feedback\x20for:\x20','assetType','type','any','\x0a✅\x20Report\x20generated:\x20','AbkYI','431930zNYywX','gitBranch','alste','length','wYCUg','find','imDjL','textContent','pop','description','position','DoWbK','closed','dashboardUrl','\x20--current-branch','liKos','terminalReason','\x0a✅\x20Scenario\x20updated','output','\x20at\x20[','after','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20\x20Expected\x20flow:','trim','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','uNKel','No\x20active\x20session\x20for\x20this\x20feature\x20review.','offset','Scenario\x20','NVAwL','selected','stringify','Please\x20finish\x20your\x20review\x20first:','completed','Unknown','6WwHctt','XouWK','\x20\x20\x20Description:\x20','TbdyV','isInteger','log','.\x20Feature\x20review\x20has\x20','xQOEz','incomplete','pendingItems','.md','xPDQv','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20\x20\x20Completed:\x20','replace','\x20verified','pipe','latestReview','8UtczlD','ELmxw','join','in_progress','jbUbF','hGEuv','includeDeleted','items','\x0aNo\x20feature\x20reviews\x20found.','error','JczLs','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20\x20\x20\x20Approved','\x20blocked','\x20\x20\x20Updated\x20branch\x20to:\x20','iteration','incompleteReason','\x20\x20\x20\x20\x20\x20Blocked:\x20','version','unaddressedComments','WLnAs','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','trimEnd','prompt','\x0a✅\x20Resumed\x20feature\x20review:\x20','tdSpf','currentSessionId','domRef','completedAt','\x0aAvailable\x20scenarios:','Not\x20in\x20a\x20git\x20repository.','oEWuF','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','PvVKd','all','\x20\x20\x20\x20\x20Progress:\x20','verificationInProgressItems','status','4331908OvRKcZ','filter','\x20\x20💬\x20','\x20[has\x20reviewer\x20feedback]','TPZIT','WdQEZ','env','feedback-images','yyocJ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','limit','selector','\x20\x20\x20Branch:\x20','Stmqt','createdAt','screenshotUrls','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20concluded.','\x0a⚠️\x20\x20','\x0aConcluding\x20session...','oPFsU','storage','map','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','push','Fgizv','\x20Session\x20','\x20scenario(s).','toLocaleString','totalCount','location','\x20\x20\x20Progress:\x20','uGpmD','canceledReason','arrayBuffer','wlfUd','isTTY','stnyL','NlLeL','...','\x0aGenerating\x20report...','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','lwzrL','checklistItems','AGFZy','verifiedItems','):\x20\x22',':\x20\x22','split','\x20\x20\x20\x20','KDAmm','93816cUlqDF','submittedAt','\x20scenarios.','pCqgP','stdout','EinNX','slMXi','273669VooxIj','gnaYq','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','88082iDykuy','423qWyApF','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','fpjYs'];_0x4ef9=function(){return _0xc1f34e;};return _0x4ef9();}const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x3666a1=>'\x1b[1m'+_0x3666a1+'\x1b[0m';function getGitRepoUrl(){const _0x1dd2da=_0x26e7,_0x4d3f27={'ExwqC':function(_0x5d6964,_0x948780,_0x416bf2){return _0x5d6964(_0x948780,_0x416bf2);},'PvVKd':'utf-8','wlfUd':_0x1dd2da(0x1d0)};try{const _0x4d084a=_0x4d3f27['ExwqC'](execSync,_0x1dd2da(0x179),{'encoding':_0x4d3f27[_0x1dd2da(0x11f)],'stdio':[_0x4d3f27['wlfUd'],'pipe',_0x4d3f27[_0x1dd2da(0x147)]]})[_0x1dd2da(0x1b4)]();return _0x4d084a['replace'](/\.git$/,'')[_0x1dd2da(0x1ce)](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x252d08=_0x26e7;try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x252d08(0x191),'stdio':['pipe','pipe',_0x252d08(0x1d0)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x2c943c=_0x26e7,_0x1d9d68={'liKos':function(_0x215ae5,_0x4dd328,_0x4b4ba3){return _0x215ae5(_0x4dd328,_0x4b4ba3);},'slMXi':function(_0x4b1c3a,_0x57695d,_0x237430){return _0x4b1c3a(_0x57695d,_0x237430);}},_0x18bf65=_0x1d9d68[_0x2c943c(0x1ab)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x18bf65))return null;try{const _0x4604c5=await _0x1d9d68[_0x2c943c(0x15d)](readFile,_0x18bf65,_0x2c943c(0x191));return _0x4604c5['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0xa60b55){const _0x46216e={'Nwjju':function(_0x5c37f7,_0x337844,_0x2576ef){return _0x5c37f7(_0x337844,_0x2576ef);},'QOwZN':function(_0x102a5b,_0x46fd42){return _0x102a5b(_0x46fd42);},'xPGhL':function(_0x358b00,_0x10d989,_0x1822bd,_0x2e78b){return _0x358b00(_0x10d989,_0x1822bd,_0x2e78b);}},_0x39b25a=getRangerDir(),_0x443e5b=_0x46216e['Nwjju'](join,_0x39b25a,ACTIVE_FEATURE_FILE);!_0x46216e['QOwZN'](existsSync,_0x39b25a)&&await _0x46216e['Nwjju'](mkdir,_0x39b25a,{'recursive':!![]}),await _0x46216e['xPGhL'](writeFile,_0x443e5b,_0xa60b55,'utf-8');}function getProgressDisplay(_0x1b46ea){const _0x284d24=_0x26e7,_0x3623bb={'gnaYq':function(_0x4b0dac,_0x5a4cb6){return _0x4b0dac+_0x5a4cb6;},'oPFsU':function(_0x3d17e6,_0x15b2d0){return _0x3d17e6===_0x15b2d0;},'NfykO':function(_0x4aadb5,_0x4bcc5d){return _0x4aadb5+_0x4bcc5d;},'ykvOP':function(_0x4e6794,_0x518a79){return _0x4e6794-_0x518a79;},'TPZIT':function(_0x1b91e8,_0x1574d0){return _0x1b91e8>_0x1574d0;},'yupss':function(_0x4ac5a5,_0x2aa42e){return _0x4ac5a5>_0x2aa42e;}},_0x41bd6f=_0x1b46ea[_0x284d24(0x151)]||0x0,_0x367a62=_0x1b46ea[_0x284d24(0x122)]||0x0,_0xea198e=_0x1b46ea['blockedItems']||0x0,_0x11e781=_0x1b46ea['incompleteItems']||0x0,_0x4e3384=_0x1b46ea[_0x284d24(0x1c9)]||0x0,_0x182a90=_0x3623bb[_0x284d24(0x15f)](_0x3623bb['gnaYq'](_0x41bd6f,_0x367a62)+_0xea198e+_0x11e781,_0x4e3384);if(_0x3623bb[_0x284d24(0x138)](_0x182a90,0x0))return'-';const _0x51107e=0xa,_0x57a8a1=Math['round'](_0x41bd6f/_0x182a90*_0x51107e),_0x2294ad=_0x3623bb['NfykO']('█'['repeat'](_0x57a8a1),'░'['repeat'](_0x3623bb['ykvOP'](_0x51107e,_0x57a8a1))),_0x5ed25a=[];if(_0x3623bb[_0x284d24(0x128)](_0xea198e,0x0))_0x5ed25a[_0x284d24(0x13c)](_0xea198e+_0x284d24(0x1e0));if(_0x3623bb['yupss'](_0x11e781,0x0))_0x5ed25a[_0x284d24(0x13c)](_0x11e781+'\x20incomplete');if(_0x367a62>0x0)_0x5ed25a['push'](_0x367a62+_0x284d24(0x16a));const _0x54417e=_0x5ed25a['length']>0x0?'\x20('+_0x5ed25a['join'](',\x20')+')':'';return _0x2294ad+'\x20'+_0x41bd6f+'/'+_0x182a90+_0x284d24(0x1cf)+_0x54417e;}function getCurrentSessionItems(_0x3d1c47,_0x487b92){const _0x19d9df=_0x26e7;if(!_0x3d1c47['currentSessionId'])return _0x487b92[_0x19d9df(0x125)](_0x577eb9=>!_0x577eb9['sessionId']);return _0x487b92['filter'](_0x4fbc63=>_0x4fbc63[_0x19d9df(0x178)]===_0x3d1c47[_0x19d9df(0x118)]||!_0x4fbc63['sessionId']);}function displayFeature(_0x136a08,_0x46d0f9){const _0xf89b08=_0x26e7,_0x43a2b0={'xQOEz':function(_0x4b2b3b,_0x5f0c3b){return _0x4b2b3b(_0x5f0c3b);},'VwaRe':function(_0x586cc2,_0x548625){return _0x586cc2===_0x548625;},'oSgcp':'closed','EaPhu':function(_0x27f4d7,_0x32790b){return _0x27f4d7===_0x32790b;},'xEDLQ':'verified','OwPCM':function(_0x3022bb,_0x5ba633){return _0x3022bb===_0x5ba633;},'NlLeL':function(_0x201a88,_0x1151b9){return _0x201a88===_0x1151b9;},'DVaZg':function(_0x3690cf,_0x5b6184){return _0x3690cf>_0x5b6184;},'eWOjh':function(_0x1c59db,_0x53b716){return _0x1c59db>_0x53b716;},'NuPil':function(_0x76e536,_0x401a0e){return _0x76e536!==_0x401a0e;},'uGpmD':function(_0x56494e,_0x37e0ec){return _0x56494e+_0x37e0ec;},'BRROM':'blocked','alste':'incomplete','XouWK':function(_0x4c5825,_0x5b2fe4){return _0x4c5825===_0x5b2fe4;}};console['log']('\x0a'+_0x136a08[_0xf89b08(0x170)]+'\x20('+_0x136a08['dashboardUrl']+')');_0x136a08['stats']&&console['log'](_0xf89b08(0x143)+_0x43a2b0[_0xf89b08(0x1c7)](getProgressDisplay,_0x136a08['stats']));_0x136a08['description']&&console[_0xf89b08(0x1c5)](_0xf89b08(0x1c2)+_0x136a08['description']);_0x136a08[_0xf89b08(0x192)]&&console[_0xf89b08(0x1c5)]('\x20\x20\x20Repository:\x20'+_0x136a08[_0xf89b08(0x192)]);_0x136a08['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x136a08[_0xf89b08(0x19d)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x136a08[_0xf89b08(0x132)])['toLocaleString']());_0x136a08['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x136a08[_0xf89b08(0x11a)])[_0xf89b08(0x140)]());if(_0x46d0f9&&_0x46d0f9[_0xf89b08(0x19f)]>0x0){console[_0xf89b08(0x1c5)]('\x0a\x20\x20\x20Scenarios:');for(let _0x2283d4=0x0;_0x2283d4<_0x46d0f9['length'];_0x2283d4++){const _0x51673c=_0x46d0f9[_0x2283d4];let _0x2d3c94;if(_0x43a2b0['VwaRe'](_0x51673c['status'],_0x43a2b0[_0xf89b08(0x171)])&&_0x43a2b0['VwaRe'](_0x51673c[_0xf89b08(0x1ac)],'approved'))_0x2d3c94='✅';else{if(_0x43a2b0['EaPhu'](_0x51673c[_0xf89b08(0x123)],_0x43a2b0[_0xf89b08(0x16e)]))_0x2d3c94='🟢';else{if(_0x51673c['status']===_0xf89b08(0x1c8))_0x2d3c94='🟠';else{if(_0x51673c[_0xf89b08(0x123)]==='blocked')_0x2d3c94='🛑';else{if(_0x43a2b0['OwPCM'](_0x51673c['status'],_0xf89b08(0x1a8)))_0x2d3c94='⛔';else _0x43a2b0[_0xf89b08(0x14a)](_0x51673c[_0xf89b08(0x123)],'verification_in_progress')?_0x2d3c94='⏳':_0x2d3c94='⬜';}}}}const _0x2584a7=_0x43a2b0['DVaZg'](_0x51673c['version'],0x1)?'\x20(v'+_0x51673c['version']+')':'',_0x112d27=_0x43a2b0['eWOjh'](_0x51673c['version'],0x1)&&_0x51673c['parentItemId']&&_0x43a2b0['NuPil'](_0x51673c[_0xf89b08(0x123)],_0x43a2b0[_0xf89b08(0x171)])&&_0x43a2b0[_0xf89b08(0x17a)](_0x51673c[_0xf89b08(0x123)],_0x43a2b0['xEDLQ'])?_0xf89b08(0x127):'';console['log']('\x20\x20\x20'+_0x43a2b0[_0xf89b08(0x144)](_0x2283d4,0x1)+'.\x20'+_0x2d3c94+'\x20'+_0x51673c[_0xf89b08(0x1a5)]+_0x2584a7+_0x112d27);_0x51673c[_0xf89b08(0x123)]===_0x43a2b0['BRROM']&&_0x51673c['blockedReason']&&console['log'](_0xf89b08(0x1e4)+_0x51673c[_0xf89b08(0x18e)]);_0x51673c[_0xf89b08(0x123)]===_0x43a2b0[_0xf89b08(0x19e)]&&_0x51673c[_0xf89b08(0x1e3)]&&console[_0xf89b08(0x1c5)](_0xf89b08(0x182)+_0x51673c[_0xf89b08(0x1e3)]);if(_0x43a2b0[_0xf89b08(0x1c1)](_0x51673c[_0xf89b08(0x123)],_0x43a2b0['oSgcp'])&&_0x51673c['terminalReason']===_0xf89b08(0x190))console[_0xf89b08(0x1c5)](_0xf89b08(0x1df));else _0x43a2b0[_0xf89b08(0x14a)](_0x51673c[_0xf89b08(0x123)],_0x43a2b0[_0xf89b08(0x171)])&&_0x51673c[_0xf89b08(0x145)]&&console[_0xf89b08(0x1c5)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x51673c[_0xf89b08(0x145)]);}}}export async function featureCreate(_0x478d7c,_0x3a4f73){const _0x4541bd=_0x26e7,_0x2a6700={'eJxMi':function(_0x544776,_0x2bbf64){return _0x544776===_0x2bbf64;},'mOekU':function(_0x5bde8b,_0x6225b6){return _0x5bde8b(_0x6225b6);},'RZhiz':function(_0x350b87){return _0x350b87();},'IbIMH':'\x0aCreating\x20feature\x20review...','tdSpf':function(_0x56b736,_0x189127,_0x4b2fad){return _0x56b736(_0x189127,_0x4b2fad);}},{envNames:_0x532325}=await getEnvNames();_0x2a6700['eJxMi'](_0x532325['length'],0x0)&&console['warn']('\x0a'+_0x2a6700['mOekU'](formatProfileRequiredMessage,_0x5a7b0a=>bold(_0x5a7b0a)));const _0x2037f1=_0x3a4f73['scenarios']?_0x3a4f73['scenarios']['map'](_0x166a89=>_0x166a89['trim']()):[],_0x487fa7=getGitRepoUrl(),_0x25b769=_0x2a6700['RZhiz'](getGitBranch);console[_0x4541bd(0x1c5)](_0x2a6700['IbIMH']);const _0x5a76f4=await createFeature({'name':_0x478d7c,'description':_0x3a4f73['description'],'checklist':_0x2037f1,'gitRepoUrl':_0x487fa7,'gitBranch':_0x25b769});await _0x2a6700['mOekU'](setActiveFeatureId,_0x5a76f4['id']),await tryStartCurrentSession(_0x5a76f4['id']);const _0x5c8e75=process[_0x4541bd(0x12a)]['CLAUDE_SESSION_ID'];_0x5c8e75&&registerSession(_0x5c8e75,_0x5a76f4['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5a76f4['id']),_0x2a6700[_0x4541bd(0x117)](displayFeature,_0x5a76f4,_0x5a76f4['checklistItems']),console[_0x4541bd(0x1c5)](_0x4541bd(0x1de));}export async function featureList(_0x4a72ea){const _0x382d95=_0x26e7,_0x1cc310={'mPeEA':function(_0x3f419a){return _0x3f419a();},'WLnAs':function(_0x540a63,_0x54950e){return _0x540a63(_0x54950e);},'hlqbX':_0x382d95(0x1da),'xokbf':function(_0x3b42e2,_0x4714d4){return _0x3b42e2>_0x4714d4;},'Esvvc':function(_0x2844e2,_0x38b5c4){return _0x2844e2!==_0x38b5c4;},'SNEIn':'\x20--include-deleted'},_0x20872f={'limit':_0x4a72ea['limit']??0xa,'offset':_0x4a72ea['offset']??0x0,'includeDeleted':_0x4a72ea[_0x382d95(0x1d8)]};_0x4a72ea['currentBranch']&&(_0x20872f['gitRepoUrl']=_0x1cc310['mPeEA'](getGitRepoUrl),_0x20872f[_0x382d95(0x19d)]=getGitBranch());const _0x3594af=await _0x1cc310[_0x382d95(0x112)](listFeatures,_0x20872f);if(_0x3594af[_0x382d95(0x1d9)][_0x382d95(0x19f)]===0x0){console[_0x382d95(0x1c5)](_0x1cc310['hlqbX']);return;}const _0x452b0c=_0x1cc310[_0x382d95(0x169)](_0x3594af[_0x382d95(0x141)],_0x3594af[_0x382d95(0x1d9)][_0x382d95(0x19f)])?'Showing\x20'+_0x3594af[_0x382d95(0x1d9)]['length']+'\x20of\x20'+_0x3594af['totalCount']:_0x3594af['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x452b0c+':\x0a');for(const _0xabd88c of _0x3594af[_0x382d95(0x1d9)]){const _0xd6e18d='3|5|2|1|4|0'[_0x382d95(0x154)]('|');let _0x1c2480=0x0;while(!![]){switch(_0xd6e18d[_0x1c2480++]){case'0':console['log']('');continue;case'1':_0xabd88c[_0x382d95(0x19d)]&&console['log'](_0x382d95(0x130)+_0xabd88c[_0x382d95(0x19d)]);continue;case'2':_0xabd88c['stats']&&console['log'](_0x382d95(0x143)+getProgressDisplay(_0xabd88c[_0x382d95(0x184)]));continue;case'3':console[_0x382d95(0x1c5)](''+_0xabd88c[_0x382d95(0x170)]);continue;case'4':console['log']('\x20\x20\x20Created:\x20'+new Date(_0xabd88c[_0x382d95(0x132)])['toLocaleDateString']());continue;case'5':console[_0x382d95(0x1c5)]('\x20\x20\x20ID:\x20'+_0xabd88c['id']);continue;}break;}}const _0x36b9af=_0x20872f[_0x382d95(0x12e)]??0xa,_0x504737=(_0x20872f[_0x382d95(0x1b8)]??0x0)+_0x3594af['items'][_0x382d95(0x19f)];if(_0x504737<_0x3594af[_0x382d95(0x141)]){const _0x92f0af=_0x1cc310['Esvvc'](_0x36b9af,0xa)?'\x20--limit\x20'+_0x36b9af:'',_0x45d0c3=_0x4a72ea['currentBranch']?_0x382d95(0x1aa):'',_0x4538d6=_0x4a72ea[_0x382d95(0x1d8)]?_0x1cc310[_0x382d95(0x18c)]:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x504737+_0x92f0af+_0x45d0c3+_0x4538d6);}}export async function featureShow(_0x7c72ab){const _0x3bb5a8=_0x26e7,_0x540763={'hGEuv':function(_0xb58e84,_0x33211a){return _0xb58e84(_0x33211a);},'GFDVD':function(_0x305bd7,_0x279ce9,_0x1e4359){return _0x305bd7(_0x279ce9,_0x1e4359);}},_0x488ab8=_0x7c72ab||await getActiveFeatureId();if(!_0x488ab8)throw new Error(_0x3bb5a8(0x177));const _0x49eae8=await _0x540763[_0x3bb5a8(0x1d7)](getFeature,_0x488ab8);_0x540763['GFDVD'](displayFeature,_0x49eae8,_0x49eae8['checklistItems']);}export async function featureResume(_0x35d888){const _0x18ba6d=_0x26e7,_0x3c74e4={'EinNX':function(_0x52915b,_0x1efd47){return _0x52915b(_0x1efd47);},'jbUbF':function(_0x27c960){return _0x27c960();},'VuXjC':function(_0x209431,_0x40c7b5,_0x6be003){return _0x209431(_0x40c7b5,_0x6be003);},'UnKIF':function(_0x296c4e,_0x2f0e35){return _0x296c4e||_0x2f0e35;},'aoJKX':function(_0x117be7,_0x5775b7){return _0x117be7===_0x5775b7;},'TbdyV':_0x18ba6d(0x1cc),'XBsoy':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','zMFGG':function(_0x214d81,_0x5345b7){return _0x214d81(_0x5345b7);},'wYCUg':function(_0x5ac044,_0x30254b){return _0x5ac044!==_0x30254b;},'iZmaK':function(_0x26d078,_0x1deea2,_0xaf0425){return _0x26d078(_0x1deea2,_0xaf0425);}};if(_0x35d888){const _0x5bfa3d=await getFeature(_0x35d888);await _0x3c74e4[_0x18ba6d(0x15c)](setActiveFeatureId,_0x5bfa3d['id']);const _0x37c8ab=_0x3c74e4[_0x18ba6d(0x1d6)](getGitBranch);_0x37c8ab&&_0x37c8ab!==_0x5bfa3d[_0x18ba6d(0x19d)]&&(await updateFeature(_0x5bfa3d['id'],{'gitBranch':_0x37c8ab}),console[_0x18ba6d(0x1c5)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x37c8ab));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x5bfa3d['name']+'\x20('+_0x5bfa3d['id']+')'),await tryStartCurrentSession(_0x5bfa3d['id']);const _0x9692ca=process['env']['CLAUDE_SESSION_ID'];_0x9692ca&&registerSession(_0x9692ca,_0x5bfa3d['id']);_0x3c74e4['VuXjC'](displayFeature,_0x5bfa3d,_0x5bfa3d['checklistItems']),await printFeedbackNudge(_0x5bfa3d['id']);return;}const _0x145e58=getGitRepoUrl(),_0x3e0681=_0x3c74e4[_0x18ba6d(0x1d6)](getGitBranch);if(!_0x145e58&&!_0x3e0681)throw new Error(_0x18ba6d(0x11c));console['log'](_0x18ba6d(0x176)+_0x3c74e4['UnKIF'](_0x145e58,_0x18ba6d(0x199))+_0x18ba6d(0x17d)+(_0x3e0681||'any')+_0x18ba6d(0x14b));const _0x2f78c3=await listFeatures({'gitRepoUrl':_0x145e58,'gitBranch':_0x3e0681}),_0x2b7474=_0x2f78c3[_0x18ba6d(0x1d9)][_0x18ba6d(0x125)](_0x14e802=>!_0x14e802[_0x18ba6d(0x11a)]);if(_0x3c74e4['aoJKX'](_0x2b7474[_0x18ba6d(0x19f)],0x0)){console[_0x18ba6d(0x1c5)](_0x18ba6d(0x134)),console[_0x18ba6d(0x1c5)](_0x3c74e4[_0x18ba6d(0x1c3)]);return;}let _0x36c5a0;if(_0x3c74e4['aoJKX'](_0x2b7474[_0x18ba6d(0x19f)],0x1))_0x36c5a0=_0x2b7474[0x0];else{const _0x44a5b3=process[_0x18ba6d(0x186)][_0x18ba6d(0x148)]&&process[_0x18ba6d(0x15b)]['isTTY'];if(!_0x44a5b3){console[_0x18ba6d(0x1c5)](_0x3c74e4[_0x18ba6d(0x183)]);for(const _0xc67a54 of _0x2b7474){console[_0x18ba6d(0x1c5)]('\x20\x20'+_0xc67a54['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0xc67a54['id']),_0xc67a54[_0x18ba6d(0x184)]&&console[_0x18ba6d(0x1c5)](_0x18ba6d(0x121)+_0x3c74e4['zMFGG'](getProgressDisplay,_0xc67a54['stats'])),_0xc67a54['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0xc67a54['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x4beafe}=await _0x1732ef[_0x18ba6d(0x115)]([{'type':_0x18ba6d(0x165),'name':_0x18ba6d(0x1bb),'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x2b7474['map'](_0xf9b729=>({'name':_0xf9b729['name']+'\x20('+_0xf9b729['id']+')','value':_0xf9b729['id']}))}]);_0x36c5a0=_0x2b7474['find'](_0x46c381=>_0x46c381['id']===_0x4beafe);}await setActiveFeatureId(_0x36c5a0['id']);_0x3e0681&&_0x3c74e4[_0x18ba6d(0x1a0)](_0x3e0681,_0x36c5a0['gitBranch'])&&(await updateFeature(_0x36c5a0['id'],{'gitBranch':_0x3e0681}),console['log'](_0x18ba6d(0x1e1)+_0x3e0681));console['log'](_0x18ba6d(0x116)+_0x36c5a0['name']+'\x20('+_0x36c5a0['id']+')'),await tryStartCurrentSession(_0x36c5a0['id']);const _0x150782=await getFeature(_0x36c5a0['id']),_0x422b98=process[_0x18ba6d(0x12a)][_0x18ba6d(0x193)];_0x422b98&&_0x3c74e4['iZmaK'](registerSession,_0x422b98,_0x150782['id']),displayFeature(_0x150782,_0x150782[_0x18ba6d(0x14f)]),await printFeedbackNudge(_0x150782['id']);}async function printFeedbackNudge(_0x192e60){const _0x349531=_0x26e7,_0x51d265={'Fgizv':function(_0xa41f29,_0x1f7f5a){return _0xa41f29>_0x1f7f5a;}};try{const {items:_0x410b6c}=await getActionItems(_0x192e60);let _0x451e3b=0x0,_0xec04a9=0x0;for(const _0x5a33e9 of _0x410b6c){const _0x105ccc=await getItemFeedback(_0x192e60,_0x5a33e9['id']);_0x51d265[_0x349531(0x13d)](_0x105ccc['unaddressedComments'][_0x349531(0x19f)],0x0)&&(_0x451e3b+=_0x105ccc['unaddressedComments'][_0x349531(0x19f)],_0xec04a9++);}_0x51d265[_0x349531(0x13d)](_0x451e3b,0x0)&&(console[_0x349531(0x1c5)](_0x349531(0x136)+_0x451e3b+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0xec04a9+_0x349531(0x13f)),console[_0x349531(0x1c5)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0xde3dc0){const _0x5db71a=_0x26e7,_0xcc5f74={'AMbfR':function(_0x56aa83,_0x555bfe){return _0x56aa83(_0x555bfe);},'WoIeo':function(_0x1ebc82,_0x4a33fc,_0x3e1894){return _0x1ebc82(_0x4a33fc,_0x3e1894);}};try{const {sessions:_0x40e7b1}=await _0xcc5f74['AMbfR'](listFeatureSessions,_0xde3dc0),_0x575294=_0x40e7b1[_0x5db71a(0x1a1)](_0x330d0a=>_0x330d0a[_0x5db71a(0x123)]==='ready');_0x575294&&(await _0xcc5f74['WoIeo'](startSession,_0xde3dc0,_0x575294['id']),console[_0x5db71a(0x1c5)](_0x5db71a(0x16f)+_0x575294['iteration']));}catch{}}export async function featureReport(_0x429510,_0x1f6691){const _0x5f390d=_0x26e7,_0x3e9899={'xPDQv':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','YxtJa':_0x5f390d(0x14c),'WdQEZ':function(_0x5854c3,_0x36ecf0,_0x4c63af){return _0x5854c3(_0x36ecf0,_0x4c63af);},'GQHHH':function(_0x2c6c9c,_0x1261ca,_0x35a9c6,_0x2b9b4b){return _0x2c6c9c(_0x1261ca,_0x35a9c6,_0x2b9b4b);},'ELmxw':function(_0x48c81e){return _0x48c81e();},'ChiNI':'reports'},_0x291ea8=_0x429510||await getActiveFeatureId();if(!_0x291ea8)throw new Error(_0x3e9899[_0x5f390d(0x1cb)]);console[_0x5f390d(0x1c5)](_0x3e9899['YxtJa']);const _0x12de99=await _0x3e9899[_0x5f390d(0x129)](getFeatureReportMarkdown,_0x291ea8,{'style':_0x1f6691['style']}),_0x1d2420=_0x1f6691[_0x5f390d(0x1ae)]||_0x3e9899['GQHHH'](join,_0x3e9899[_0x5f390d(0x1d3)](getRangerDir),_0x3e9899['ChiNI'],_0x291ea8+_0x5f390d(0x1ca)),_0x132856=join(_0x1d2420,'..');!existsSync(_0x132856)&&await mkdir(_0x132856,{'recursive':!![]}),await _0x3e9899['GQHHH'](writeFile,_0x1d2420,_0x12de99,'utf-8'),console['log'](_0x5f390d(0x19a)+_0x1d2420);}function getScenarioResult(_0x6ac1b3){const _0x162f1e=_0x26e7,_0xf01574={'yyocJ':'closed'};if(_0x6ac1b3[_0x162f1e(0x123)]===_0xf01574[_0x162f1e(0x12c)])return _0x6ac1b3['terminalReason']??_0x162f1e(0x1a8);if(_0x6ac1b3['status']==='verification_in_progress')return _0x162f1e(0x1d5);return _0x6ac1b3['status'];}function getScenarioRationale(_0x1c8ce9,_0x429231){const _0xe47b90=_0x26e7;if(_0x429231)return _0x429231;if(_0x1c8ce9['blockedReason'])return _0x1c8ce9['blockedReason'];if(_0x1c8ce9[_0xe47b90(0x1e3)])return _0x1c8ce9['incompleteReason'];if(_0x1c8ce9['canceledReason'])return _0x1c8ce9[_0xe47b90(0x145)];if(_0x1c8ce9['notes'])return _0x1c8ce9['notes'];return null;}export async function featureReportPrDescription(_0x7aae15,_0xa82eae){const _0x2f7cd5=_0x26e7,_0x17b579={'Stmqt':function(_0x35053c,_0x2209c9){return _0x35053c(_0x2209c9);},'eRuJd':function(_0x26b9f2,_0x94712,_0x27f13f){return _0x26b9f2(_0x94712,_0x27f13f);},'EuJCv':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','oEWuF':_0x2f7cd5(0x160)},_0x510489=_0x7aae15||await getActiveFeatureId();if(!_0x510489)throw new Error(_0x2f7cd5(0x1b1));const _0x190e87=await _0x17b579[_0x2f7cd5(0x131)](getFeature,_0x510489),_0x11b9ae=_0x190e87[_0x2f7cd5(0x14f)]||[],_0xbcbdca=_0x17b579[_0x2f7cd5(0x17b)](getCurrentSessionItems,_0x190e87,_0x11b9ae);_0xbcbdca[_0x2f7cd5(0x19f)]===0x0&&(console['error'](_0x17b579['EuJCv']),process['exit'](0x1));const _0x34f975=_0xa82eae['excludeScenarios']??[],_0x142ab5=_0x34f975[_0x2f7cd5(0x125)](_0x3ff66a=>!Number[_0x2f7cd5(0x1c4)](_0x3ff66a)||_0x3ff66a<0x1||_0x3ff66a>_0xbcbdca['length']);if(_0x142ab5['length']>0x0){console['error'](_0x2f7cd5(0x1b5)+_0x142ab5[_0x2f7cd5(0x1d4)](',\x20')),console[_0x2f7cd5(0x1c5)]('\x0aAvailable\x20scenarios:');for(let _0x5d84c0=0x0;_0x5d84c0<_0xbcbdca[_0x2f7cd5(0x19f)];_0x5d84c0++){console['log']('\x20\x20'+(_0x5d84c0+0x1)+'.\x20'+_0xbcbdca[_0x5d84c0]['description']);}process['exit'](0x1);}const _0x4c88ee=new Set(_0x34f975[_0x2f7cd5(0x13a)](_0x29bc44=>_0x29bc44-0x1)),_0x15e407=_0xbcbdca['filter']((_0xf310cb,_0x20e3c3)=>!_0x4c88ee['has'](_0x20e3c3));_0x15e407['length']===0x0&&(console[_0x2f7cd5(0x1db)](_0x17b579[_0x2f7cd5(0x11d)]),process['exit'](0x1));if(_0xa82eae['json'])await outputJsonReport(_0x510489,_0x190e87,_0x15e407);else{const _0x347c99=await _0x17b579[_0x2f7cd5(0x17b)](getFeatureReportMarkdown,_0x510489,{'itemIds':_0x15e407[_0x2f7cd5(0x13a)](_0x2591c6=>_0x2591c6['id'])});process['stdout']['write'](_0x347c99[_0x2f7cd5(0x114)]()+'\x0a');}}async function outputJsonReport(_0x2c63b3,_0x1c0fdd,_0x302755){const _0x129c7f=_0x26e7,_0x5ae5b6={'CqkGA':function(_0x52a16f,_0x21f50b){return _0x52a16f(_0x21f50b);},'FKrjj':function(_0x40acd5,_0x19eabd,_0x12a451){return _0x40acd5(_0x19eabd,_0x12a451);}},_0x1ad6ce=getApiBaseUrl(),_0x4f6898=await getFeatureReport(_0x2c63b3),_0x3be8ba=new Map(_0x4f6898['checklistItems']['map'](_0x2e91bd=>[_0x2e91bd['id'],_0x2e91bd])),_0x4ba15b=await Promise[_0x129c7f(0x120)](_0x302755[_0x129c7f(0x13a)](async _0xcd8b00=>{const _0x402d33=_0x129c7f,_0x3b3e6b=_0x3be8ba['get'](_0xcd8b00['id']),_0x16750e=_0x3b3e6b?.['linkedSession']??null;let _0x325e6f=[];if(_0xcd8b00['browserSessionId'])try{const {steps:_0x16d82d}=await getBrowserSessionSteps(_0xcd8b00[_0x402d33(0x175)]);_0x16d82d['length']>0x0&&(_0x325e6f=_0x16d82d[_0x402d33(0x13a)](_0x48c7f4=>{const _0x37b063=_0x402d33,_0xae036c=_0x48c7f4[_0x37b063(0x16b)][_0x37b063(0x1a1)](_0x4e1a92=>_0x4e1a92['assetType']==='screenshot'&&_0x4e1a92['timing']===_0x37b063(0x1b0))??_0x48c7f4['assets'][_0x37b063(0x1a1)](_0x3b5c04=>_0x3b5c04[_0x37b063(0x197)]==='screenshot');let _0x190702=null,_0x1896e5=null;if(_0xae036c){const _0x1a74aa=_0xae036c[_0x37b063(0x139)][_0x37b063(0x142)]['split']('/')[_0x37b063(0x1a4)]();_0x190702=_0x1ad6ce+_0x37b063(0x195)+_0xcd8b00[_0x37b063(0x175)]+'/artifacts/'+_0x1a74aa,_0x1a74aa&&(_0x1896e5=_0x1a74aa['replace'](/\.\w+$/,'')[_0x37b063(0x1ce)](/^(key_)?\d+_/,'')[_0x37b063(0x1ce)](/[-_]/g,'\x20'));}return{'description':_0x1896e5||_0x48c7f4['description']||_0x48c7f4['stepName']||'Step\x20'+_0x48c7f4[_0x37b063(0x1a6)],'screenshot':_0x190702,'is_key_step':_0x48c7f4['isKeyStep']};}));}catch{}return _0x325e6f[_0x402d33(0x19f)]===0x0&&_0x16750e?.[_0x402d33(0x133)]&&(_0x325e6f=_0x16750e[_0x402d33(0x133)]['map']((_0x3c419e,_0x4e3ef)=>({'description':'Screenshot\x20'+(_0x4e3ef+0x1),'screenshot':_0x3c419e,'is_key_step':![]}))),{'description':_0xcd8b00['description'],'result':_0x5ae5b6['CqkGA'](getScenarioResult,_0xcd8b00),'rationale':_0x5ae5b6['FKrjj'](getScenarioRationale,_0xcd8b00,_0x16750e?.['agentResponse']),'steps':_0x325e6f};})),_0x224a46={'url':_0x1c0fdd['dashboardUrl'],'scenarios':_0x4ba15b};process[_0x129c7f(0x15b)]['write'](JSON[_0x129c7f(0x1bc)](_0x224a46,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2b45c5){const _0x937e16=_0x26e7,_0x41697d={'zaWuX':function(_0x5a3829){return _0x5a3829();},'stnyL':function(_0x2ce9cd,_0x2d69e4){return _0x2ce9cd(_0x2d69e4);},'WwsGn':_0x937e16(0x1b7),'KDAmm':function(_0x2ee46a,_0x5779cb){return _0x2ee46a(_0x5779cb);},'NmpGp':'Current\x20session\x20not\x20found.','sXCqB':function(_0x50aa37,_0x311c8c){return _0x50aa37===_0x311c8c;},'JLlcV':_0x937e16(0x1be),'AGFZy':'\x0a✅\x20Session\x20is\x20already\x20completed.','GMTxF':function(_0x121e11,_0x5e3fe8){return _0x121e11!==_0x5e3fe8;},'JoMjG':_0x937e16(0x1d5),'lQaUa':function(_0x178a18,_0x4ed350,_0x3a1b2a){return _0x178a18(_0x4ed350,_0x3a1b2a);}},_0x4cb5ad=_0x2b45c5||await _0x41697d['zaWuX'](getActiveFeatureId);if(!_0x4cb5ad)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 _0x5d4bba=await _0x41697d[_0x937e16(0x149)](getFeature,_0x4cb5ad);if(!_0x5d4bba['currentSessionId'])throw new Error(_0x41697d['WwsGn']);const {sessions:_0x56eb3e}=await _0x41697d[_0x937e16(0x156)](listFeatureSessions,_0x4cb5ad),_0x4c03ef=_0x56eb3e['find'](_0x5bd38c=>_0x5bd38c['id']===_0x5d4bba['currentSessionId']);if(!_0x4c03ef)throw new Error(_0x41697d['NmpGp']);if(_0x41697d['sXCqB'](_0x4c03ef['status'],_0x41697d['JLlcV'])){console['log'](_0x41697d[_0x937e16(0x150)]);return;}if(_0x41697d['GMTxF'](_0x4c03ef[_0x937e16(0x123)],_0x41697d['JoMjG']))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4c03ef[_0x937e16(0x123)]);console[_0x937e16(0x1c5)](_0x937e16(0x137)),await _0x41697d['lQaUa'](concludeSession,_0x4cb5ad,_0x5d4bba[_0x937e16(0x118)]),console['log']('\x0a✅\x20Session\x20'+_0x4c03ef['iteration']+_0x937e16(0x135)),console[_0x937e16(0x1c5)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x510dc1){const _0x2406f6=_0x26e7,_0x59cf49={'BgKON':_0x2406f6(0x1b1),'IGoEZ':function(_0x1df8da,_0x7f03a){return _0x1df8da(_0x7f03a);},'JuKbE':function(_0x1e4273,_0x13791f){return _0x1e4273===_0x13791f;},'jJsxy':_0x2406f6(0x174),'NSJla':_0x2406f6(0x1d5)},_0x51baf2=_0x510dc1||await getActiveFeatureId();if(!_0x51baf2)throw new Error(_0x59cf49['BgKON']);const _0x6c43c3=await _0x59cf49['IGoEZ'](getFeature,_0x51baf2);console[_0x2406f6(0x1c5)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x6c43c3['name']+'\x0a');const {sessions:_0x3566ee}=await listFeatureSessions(_0x51baf2);if(_0x59cf49['JuKbE'](_0x3566ee['length'],0x0)){console[_0x2406f6(0x1c5)](_0x59cf49['jJsxy']);return;}for(const _0x40e9e6 of _0x3566ee){const _0x29fffa=_0x40e9e6[_0x2406f6(0x123)]==='completed'?'✅':_0x40e9e6['status']===_0x59cf49[_0x2406f6(0x16d)]?'🔄':'▶️';console[_0x2406f6(0x1c5)](_0x29fffa+_0x2406f6(0x13e)+_0x40e9e6[_0x2406f6(0x1e2)]+'\x20('+_0x40e9e6['id']+')'),console[_0x2406f6(0x1c5)]('\x20\x20\x20Status:\x20'+_0x40e9e6[_0x2406f6(0x123)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x40e9e6[_0x2406f6(0x132)])[_0x2406f6(0x140)]()),_0x40e9e6[_0x2406f6(0x11a)]&&console[_0x2406f6(0x1c5)](_0x2406f6(0x1cd)+new Date(_0x40e9e6['completedAt'])[_0x2406f6(0x140)]()),console['log']('');}}function _0x26e7(_0x1ccdd9,_0x3df46a){_0x1ccdd9=_0x1ccdd9-0x111;const _0x4ef9a3=_0x4ef9();let _0x26e7bd=_0x4ef9a3[_0x1ccdd9];return _0x26e7bd;}export async function featureAddScenario(_0x57f73e,_0x2203cf){const _0x34df0d=_0x26e7,_0x4a1fde={'tZPUw':function(_0xd39833){return _0xd39833();},'DoWbK':function(_0x343f09,_0x35c476){return _0x343f09(_0x35c476);},'pCqgP':function(_0x3d29c2,_0x572af5,_0x532f92){return _0x3d29c2(_0x572af5,_0x532f92);}},_0x3e770e=_0x2203cf||await _0x4a1fde['tZPUw'](getActiveFeatureId);if(!_0x3e770e)throw new Error(_0x34df0d(0x177));const _0x34b428=await _0x4a1fde[_0x34df0d(0x1a7)](getFeature,_0x3e770e);if(_0x34b428[_0x34df0d(0x1d1)]&&!_0x34b428[_0x34df0d(0x1d1)]['submittedAt'])throw new Error(_0x34df0d(0x113)+_0x34b428[_0x34df0d(0x1a9)]);await _0x4a1fde[_0x34df0d(0x15a)](createChecklistItem,_0x3e770e,_0x57f73e);const _0x210f64=await getFeature(_0x3e770e);console['log']('\x0a✅\x20Scenario\x20added'),_0x4a1fde['pCqgP'](displayFeature,_0x210f64,_0x210f64[_0x34df0d(0x14f)]);}export async function featureEditScenario(_0x4b3407,_0x5c8d1b){const _0x319b32=_0x26e7,_0x5c0498={'sLKNz':function(_0x2bd6a2){return _0x2bd6a2();},'AbkYI':_0x319b32(0x1bd),'MsRea':_0x319b32(0x163),'vLnMS':function(_0x4f414b,_0x22ea23){return _0x4f414b===_0x22ea23;},'IZnnB':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','imDjL':function(_0x3fe61d,_0xdbab74){return _0x3fe61d<_0xdbab74;},'rJjQL':_0x319b32(0x11b),'EUJQW':function(_0x4625da,_0x284052){return _0x4625da+_0x284052;},'CmvTo':function(_0x521ba8,_0x430145){return _0x521ba8(_0x430145);}},_0xbc0994=_0x5c8d1b['id']||await _0x5c0498['sLKNz'](getActiveFeatureId);!_0xbc0994&&(console[_0x319b32(0x1db)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x319b32(0x1db)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x319b32(0x16c)](0x1));const _0x519432=await getFeature(_0xbc0994);_0x519432['latestReview']&&!_0x519432[_0x319b32(0x1d1)][_0x319b32(0x158)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error'](_0x5c0498[_0x319b32(0x19b)]),console['error']('\x20\x20'+_0x519432[_0x319b32(0x1a9)]),process['exit'](0x1));const _0x11ae7a=_0x519432['checklistItems']||[];_0x11ae7a[_0x319b32(0x19f)]===0x0&&(console['error'](_0x5c0498[_0x319b32(0x172)]),process[_0x319b32(0x16c)](0x1));if(_0x5c0498[_0x319b32(0x17c)](_0x5c8d1b[_0x319b32(0x181)],undefined)){console[_0x319b32(0x1db)](_0x5c0498['IZnnB']),console['log']('\x0aAvailable\x20scenarios:');for(let _0x3afa02=0x0;_0x3afa02<_0x11ae7a[_0x319b32(0x19f)];_0x3afa02++){console[_0x319b32(0x1c5)]('\x20\x20'+(_0x3afa02+0x1)+'.\x20'+_0x11ae7a[_0x3afa02][_0x319b32(0x1a5)]);}process['exit'](0x1);}const _0x3346a0=_0x5c8d1b[_0x319b32(0x181)]-0x1;if(_0x5c0498[_0x319b32(0x1a2)](_0x3346a0,0x0)||_0x3346a0>=_0x11ae7a['length']){console['error'](_0x319b32(0x12d)+_0x5c8d1b['scenario']+_0x319b32(0x1c6)+_0x11ae7a[_0x319b32(0x19f)]+_0x319b32(0x159)),console['log'](_0x5c0498['rJjQL']);for(let _0xd604db=0x0;_0xd604db<_0x11ae7a['length'];_0xd604db++){console[_0x319b32(0x1c5)]('\x20\x20'+_0x5c0498['EUJQW'](_0xd604db,0x1)+'.\x20'+_0x11ae7a[_0xd604db]['description']);}process[_0x319b32(0x16c)](0x1);}const _0x38e479=_0x11ae7a[_0x3346a0];await updateChecklistItem(_0xbc0994,_0x38e479['id'],{'description':_0x4b3407});const _0x534f5d=await _0x5c0498['CmvTo'](getFeature,_0xbc0994);console[_0x319b32(0x1c5)](_0x319b32(0x1ad)),displayFeature(_0x534f5d,_0x534f5d['checklistItems']);}async function downloadFeedbackImage(_0x11390d,_0x38c336){const _0x47762c=_0x26e7,_0x37437c={'lwzrL':function(_0x462799,_0x46b30b,_0x12f07b){return _0x462799(_0x46b30b,_0x12f07b);},'rowBB':_0x47762c(0x12b)};try{const _0xfcf661=_0x37437c[_0x47762c(0x14e)](join,getRangerDir(),_0x37437c['rowBB']);await _0x37437c['lwzrL'](mkdir,_0xfcf661,{'recursive':!![]});const _0x275324=_0x37437c['lwzrL'](join,_0xfcf661,'comment_'+_0x38c336+_0x47762c(0x173)),_0x1457ea=await fetch(_0x11390d);if(!_0x1457ea['ok'])return null;const _0x451aae=Buffer[_0x47762c(0x187)](await _0x1457ea[_0x47762c(0x146)]());return await _0x37437c[_0x47762c(0x14e)](writeFile,_0x275324,_0x451aae),_0x275324;}catch{return null;}}export async function featureGetReview(_0x4a338c){const _0x47eea9=_0x26e7,_0xb608f6={'NVAwL':function(_0x562614){return _0x562614();},'Sttit':_0x47eea9(0x177),'mUsIj':function(_0x499325,_0x30d1f1){return _0x499325(_0x30d1f1);},'fpjYs':'No\x20scenarios\x20found.','gjtgf':function(_0x13b7e9,_0x174adb){return _0x13b7e9<_0x174adb;},'pxhIT':function(_0x28e657,_0x17fcf8){return _0x28e657>_0x17fcf8;},'Wkssj':function(_0x44a4e5,_0x31614f){return _0x44a4e5+_0x31614f;},'eAaWd':'en-US','kbxjR':'numeric','bPDIs':function(_0x51f2fb,_0x4d2e40,_0x296c46){return _0x51f2fb(_0x4d2e40,_0x296c46);},'bLNVD':_0x47eea9(0x18d),'uNKel':function(_0x5d5c9e,_0x4a6616){return _0x5d5c9e>=_0x4a6616;},'hNtVy':function(_0x5c06d3,_0x73cc99){return _0x5c06d3+_0x73cc99;}},_0x188175=_0x4a338c||await _0xb608f6[_0x47eea9(0x1ba)](getActiveFeatureId);if(!_0x188175)throw new Error(_0xb608f6['Sttit']);const _0x5902a6=await _0xb608f6[_0x47eea9(0x185)](getFeature,_0x188175),{items:_0x185820}=await getActionItems(_0x188175);console['log'](_0x47eea9(0x196)+_0x5902a6['name']+'\x20('+_0x5902a6['id']+')\x0a');if(_0x185820['length']===0x0){console['log'](_0xb608f6[_0x47eea9(0x164)]);return;}for(let _0x35d421=0x0;_0xb608f6['gjtgf'](_0x35d421,_0x185820[_0x47eea9(0x19f)]);_0x35d421++){const _0x123bc6=_0x185820[_0x35d421],_0x98541f=_0xb608f6['pxhIT'](_0x123bc6[_0x47eea9(0x1e5)],0x1)?'\x20(v'+_0x123bc6[_0x47eea9(0x1e5)]+')':'',_0x3b7e2c=await getItemFeedback(_0x188175,_0x123bc6['id']);if(_0x3b7e2c[_0x47eea9(0x111)]['length']>0x0){console[_0x47eea9(0x1c5)](_0x47eea9(0x1b9)+_0xb608f6[_0x47eea9(0x168)](_0x35d421,0x1)+_0x47eea9(0x153)+_0x123bc6['description']+'\x22'+_0x98541f+'\x20—\x20'+_0x3b7e2c[_0x47eea9(0x111)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x29bab0 of _0x3b7e2c[_0x47eea9(0x111)]){const _0x539831=new Date(_0x29bab0[_0x47eea9(0x132)])['toLocaleDateString'](_0xb608f6['eAaWd'],{'month':'short','day':_0xb608f6['kbxjR']}),_0x45911f=_0x29bab0['authorName']||_0x29bab0['authorEmail']||_0x47eea9(0x1bf);console[_0x47eea9(0x1c5)](_0x47eea9(0x126)+_0x45911f+'\x20('+_0x539831+_0x47eea9(0x152)+_0x29bab0['content']+'\x22');if(_0x29bab0['assetUrl']){const _0x4a7ff5=await _0xb608f6['bPDIs'](downloadFeedbackImage,_0x29bab0['assetUrl'],_0x29bab0['id']);_0x4a7ff5&&console[_0x47eea9(0x1c5)](_0x47eea9(0x14d)+_0x4a7ff5);}if(_0x29bab0[_0x47eea9(0x119)]){const _0x59dff4=_0x29bab0[_0x47eea9(0x119)]['selector'][_0x47eea9(0x154)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||'element',_0x319985=_0x29bab0['domRef'][_0x47eea9(0x1a3)]?'\x20\x22'+_0x29bab0['domRef'][_0x47eea9(0x1a3)][_0x47eea9(0x18f)](0x0,0x3c)+'\x22':'';console['log'](_0x47eea9(0x194)+_0x59dff4+'>'+_0x319985),console['log'](_0x47eea9(0x1b2)+_0x29bab0[_0x47eea9(0x119)][_0x47eea9(0x12f)]);}else{if(_0x29bab0['spatial']){const _0x246cf1=_0x29bab0[_0x47eea9(0x17e)]['coordinates'];_0x29bab0[_0x47eea9(0x17e)]['type']===_0xb608f6[_0x47eea9(0x18a)]&&_0xb608f6[_0x47eea9(0x1b6)](_0x246cf1['length'],0x2)?console[_0x47eea9(0x1c5)](_0x47eea9(0x11e)+_0x246cf1[0x0][_0x47eea9(0x166)](0x2)+',\x20'+_0x246cf1[0x1]['toFixed'](0x2)+')'):console[_0x47eea9(0x1c5)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x29bab0[_0x47eea9(0x17e)][_0x47eea9(0x198)]+_0x47eea9(0x1af)+_0x246cf1[_0x47eea9(0x13a)](_0x5cb4e1=>_0x5cb4e1[_0x47eea9(0x166)](0x2))[_0x47eea9(0x1d4)](',\x20')+']');}}}if(_0x3b7e2c['canonicalFlow']){console[_0x47eea9(0x1c5)](_0x47eea9(0x1b3));for(const _0x3ff6ed of _0x3b7e2c['canonicalFlow']['split']('\x0a')){console['log'](_0x47eea9(0x155)+_0x3ff6ed);}}}else console[_0x47eea9(0x1c5)]('Scenario\x20'+_0xb608f6['hNtVy'](_0x35d421,0x1)+_0x47eea9(0x153)+_0x123bc6['description']+'\x22'+_0x98541f+_0x47eea9(0x17f)),console[_0x47eea9(0x1c5)](_0x47eea9(0x167));console['log']('');}}export async function featureDelete(_0x3caf9b){const _0x27a2ff=_0x26e7,_0x3a1f89={'yvlbS':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x5db655=_0x3caf9b||await getActiveFeatureId();if(!_0x5db655)throw new Error(_0x3a1f89[_0x27a2ff(0x180)]);const _0x3c82c6=await getFeature(_0x5db655);await softDeleteFeature(_0x5db655),console[_0x27a2ff(0x1c5)](_0x27a2ff(0x13b)+_0x3c82c6['name']+'\x20('+_0x5db655+')'),console['log'](_0x27a2ff(0x1dd)+_0x5db655);}export async function featureRestore(_0x1743d4){const _0x403d6=_0x26e7,_0x261b2c={'JczLs':function(_0x3b2624,_0x883d5a){return _0x3b2624(_0x883d5a);}};await _0x261b2c[_0x403d6(0x1dc)](restoreFeature,_0x1743d4);const _0x18ecd6=await _0x261b2c['JczLs'](getFeature,_0x1743d4);console[_0x403d6(0x1c5)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x18ecd6['name']+'\x20('+_0x1743d4+')'),displayFeature(_0x18ecd6,_0x18ecd6['checklistItems']);}
1
+ const _0xfecff9=_0x356a;(function(_0x53562f,_0x495ba4){const _0x2e9785=_0x356a,_0x46fd72=_0x53562f();while(!![]){try{const _0x43e128=parseInt(_0x2e9785(0x1a0))/0x1*(-parseInt(_0x2e9785(0x19a))/0x2)+parseInt(_0x2e9785(0x1c1))/0x3+parseInt(_0x2e9785(0x151))/0x4*(parseInt(_0x2e9785(0x1aa))/0x5)+-parseInt(_0x2e9785(0x192))/0x6*(-parseInt(_0x2e9785(0x169))/0x7)+-parseInt(_0x2e9785(0x14e))/0x8+-parseInt(_0x2e9785(0x190))/0x9+parseInt(_0x2e9785(0x14b))/0xa*(parseInt(_0x2e9785(0x170))/0xb);if(_0x43e128===_0x495ba4)break;else _0x46fd72['push'](_0x46fd72['shift']());}catch(_0x478b30){_0x46fd72['push'](_0x46fd72['shift']());}}}(_0x494a,0xc3442));import{readFile,writeFile,mkdir}from'fs/promises';function _0x356a(_0xcc5319,_0x1db511){_0xcc5319=_0xcc5319-0x121;const _0x494a65=_0x494a();let _0x356a6d=_0x494a65[_0xcc5319];return _0x356a6d;}import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x48efea from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x3f4a2f=>'\x1b[1m'+_0x3f4a2f+_0xfecff9(0x1c3);function getGitRepoUrl(){const _0x36b6eb=_0xfecff9,_0x4e60ef={'EoNVu':function(_0x5194da,_0x54e750,_0x1a7782){return _0x5194da(_0x54e750,_0x1a7782);},'hBHZB':'git\x20remote\x20get-url\x20origin','kwvdT':'utf-8','ZPQmB':_0x36b6eb(0x1e6)};try{const _0x286ac9=_0x4e60ef['EoNVu'](execSync,_0x4e60ef[_0x36b6eb(0x143)],{'encoding':_0x4e60ef['kwvdT'],'stdio':[_0x4e60ef['ZPQmB'],_0x4e60ef[_0x36b6eb(0x1bd)],_0x4e60ef[_0x36b6eb(0x1bd)]]})['trim']();return _0x286ac9['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x36b6eb(0x166))[_0x36b6eb(0x1cd)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0xc4403c=_0xfecff9,_0xcda4d0={'rRhVO':function(_0x14baf1,_0x1f2b99,_0x521a3a){return _0x14baf1(_0x1f2b99,_0x521a3a);},'fOOcb':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','mFtnV':'pipe'};try{return _0xcda4d0[_0xc4403c(0x18d)](execSync,_0xcda4d0['fOOcb'],{'encoding':_0xc4403c(0x1fd),'stdio':[_0xc4403c(0x1e6),_0xcda4d0[_0xc4403c(0x1ca)],'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x549cff=_0xfecff9,_0x2b9d23={'NNYtQ':function(_0x1985b8,_0x58c180,_0x35ab08){return _0x1985b8(_0x58c180,_0x35ab08);}},_0xe3e44=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xe3e44))return null;try{const _0x1f72f5=await _0x2b9d23['NNYtQ'](readFile,_0xe3e44,_0x549cff(0x1fd));return _0x1f72f5['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0xfbbf8e){const _0x2c9316=_0xfecff9,_0x1840e6={'ChGXd':function(_0x5c8a00){return _0x5c8a00();},'ErCKI':function(_0x4be7fc,_0x4aeb07,_0x390669){return _0x4be7fc(_0x4aeb07,_0x390669);},'TNeFv':function(_0x5d9ef3,_0x2c3b2f){return _0x5d9ef3(_0x2c3b2f);},'ZhGNb':function(_0x2a2154,_0x198fdc,_0x15fdd9,_0x130e79){return _0x2a2154(_0x198fdc,_0x15fdd9,_0x130e79);}},_0x3304e4=_0x1840e6[_0x2c9316(0x1cb)](getRangerDir),_0x32a17a=_0x1840e6['ErCKI'](join,_0x3304e4,ACTIVE_FEATURE_FILE);!_0x1840e6[_0x2c9316(0x1b7)](existsSync,_0x3304e4)&&await mkdir(_0x3304e4,{'recursive':!![]}),await _0x1840e6['ZhGNb'](writeFile,_0x32a17a,_0xfbbf8e,_0x2c9316(0x1fd));}function getProgressDisplay(_0x213df3){const _0x56176d=_0xfecff9,_0x5d8104={'usYzO':function(_0x132957,_0x2637dc){return _0x132957+_0x2637dc;},'HYVvI':function(_0x30db47,_0x321c10){return _0x30db47+_0x321c10;},'TFcJq':function(_0x258dcf,_0x5bdd1b){return _0x258dcf===_0x5bdd1b;},'tmYDl':function(_0x391b05,_0x51dcd5){return _0x391b05*_0x51dcd5;},'ygOeg':function(_0x3d0c55,_0x1212cb){return _0x3d0c55>_0x1212cb;}},_0x1e552d=_0x213df3['verifiedItems']||0x0,_0x260b49=_0x213df3[_0x56176d(0x1bc)]||0x0,_0x3b1394=_0x213df3[_0x56176d(0x172)]||0x0,_0x3d4d8e=_0x213df3[_0x56176d(0x132)]||0x0,_0x197490=_0x213df3[_0x56176d(0x158)]||0x0,_0x60a4a1=_0x5d8104['usYzO'](_0x5d8104[_0x56176d(0x1a5)](_0x1e552d+_0x260b49,_0x3b1394)+_0x3d4d8e,_0x197490);if(_0x5d8104['TFcJq'](_0x60a4a1,0x0))return'-';const _0x3f7c91=0xa,_0x3489e6=Math[_0x56176d(0x186)](_0x5d8104['tmYDl'](_0x1e552d/_0x60a4a1,_0x3f7c91)),_0x4aed40='█'[_0x56176d(0x1e3)](_0x3489e6)+'░'[_0x56176d(0x1e3)](_0x3f7c91-_0x3489e6),_0x255387=[];if(_0x3b1394>0x0)_0x255387[_0x56176d(0x1e1)](_0x3b1394+_0x56176d(0x17c));if(_0x3d4d8e>0x0)_0x255387['push'](_0x3d4d8e+'\x20incomplete');if(_0x5d8104[_0x56176d(0x12f)](_0x260b49,0x0))_0x255387['push'](_0x260b49+_0x56176d(0x19b));const _0x14e479=_0x255387['length']>0x0?'\x20('+_0x255387[_0x56176d(0x18a)](',\x20')+')':'';return _0x4aed40+'\x20'+_0x1e552d+'/'+_0x60a4a1+'\x20verified'+_0x14e479;}function _0x494a(){const _0x57657d=['11jLxadH','WsdkH','blockedItems','feedback-images','GYrBH','description','includeDeleted','Jkvnk','\x20scenarios.','\x20\x20\x20\x20\x20\x20Incomplete:\x20','latestReview','OZSFq','\x20blocked','notes','hEdfo','\x20\x20\x20▶️\x20Started\x20session\x20','AszvJ','zQAtR','JKwKI','\x20\x20\x20\x20\x20Progress:\x20','sADkg','env','round','assetType','KSBgd','stepName','join','\x20\x20\x20Created:\x20','status','rRhVO','\x20\x20\x20\x20\x20📋\x20Selector:\x20','stdin','13489938MTstpS','Scenario\x20','2154786geUlkL','epoew','qLhxC','qIixI','\x0aGenerating\x20report...','\x0aNo\x20feature\x20reviews\x20found.','en-US','Unknown','405658AgrXtW','\x20in\x20progress','createdAt','gitRepoUrl','\x20/\x20','tmJAh','5jZQKlW','verification_in_progress','domRef','pop','get','HYVvI','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','exit','items','closed','1363955MqgtWK','\x0a✅\x20Session\x20is\x20already\x20completed.','KOyaU','isTTY','dashboardUrl','jrJLi','checklistItems','aSuQa','wPXRy','NxcuC','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','all','currentSessionId','TNeFv','\x20\x20\x20Status:\x20','assetUrl','write','ready','verificationInProgressItems','ZPQmB','bOaEs','isInteger','NrGpt','4312800mHAFZD','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x1b[0m','point','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','VFkgV','version','browserSessionId','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','mFtnV','ChGXd','\x20>\x20','replace','verified','stringify','mfDvp','Not\x20in\x20a\x20git\x20repository.','aEQex','dPvXb','error','\x20at\x20[','screenshotUrls','lMPwB','\x20\x20\x20\x20\x20\x20Approved','gitBranch','iteration','hnFJb','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20[has\x20reviewer\x20feedback]','eGMeF','offset','/api/v1/mcp/browser-sessions/','push','MXdYc','repeat','limit','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','pipe','FxkvY','ehGEz','position','sessionId','parentItemId','iXnvA','\x20scenario(s).','vBwJc','in_progress','WyWwW','TBJmc','\x0aAvailable\x20scenarios:','ZuiJV','gcXER','split','storage','isKeyStep','\x0a✅\x20Session\x20','submittedAt','HUsxt','\x20\x20\x20Progress:\x20','incompleteReason','utf-8','hqHpb','kXuzR','wlxTU','\x20unaddressed\x20comment(s)','NOSTV','eAmul','toLocaleDateString','\x20\x20\x20Branch:\x20','rabnj','\x20\x20\x20ID:\x20','TpSGv','spatial','\x20\x20\x20\x20\x20\x20Cancelled:\x20','sXEXs','\x0a📋\x20Feedback\x20for:\x20','authorEmail','cjdBK','linkedSession','content','reports','stdout','textContent','nvPlZ','log','yAMEB','ygOeg','\x20\x20\x20Description:\x20','name','incompleteItems','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','any','\x0a✅\x20Feature\x20review\x20created:\x20','LRvmJ','\x20--include-deleted','CLAUDE_SESSION_ID','No\x20scenarios\x20found.','WDYvb','toFixed','filter','...','snlUw','comment_','totalCount','prompt','location','hBHZB','\x20\x20\x20Updated\x20branch\x20to:\x20','IZqQo','iVFHi','completedAt','find','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','645230bvmONd','canceledReason','\x0a✅\x20Resumed\x20feature\x20review:\x20','7918120OZfOAA','2|4|0|5|3|1','riCCi','20wiHvVI','qzQug','incomplete','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','CEpqa','\x0a✅\x20Report\x20generated:\x20','output','pendingItems','CqiAJ','YBOQv','JjWHQ','screenshot','zeovD','wrXxH','QrZtF','boLEp','.\x20Feature\x20review\x20has\x20','toLocaleString','gMmOC','map','blocked','github.com/','):\x20\x22','\x0aConcluding\x20session...','28zEtCwy','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','stats','length','blockedReason','Screenshot\x20','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>'];_0x494a=function(){return _0x57657d;};return _0x494a();}function getCurrentSessionItems(_0x4c2c37,_0x45de60){const _0x114054=_0xfecff9;if(!_0x4c2c37[_0x114054(0x1b6)])return _0x45de60['filter'](_0x1a8107=>!_0x1a8107['sessionId']);return _0x45de60['filter'](_0x39ef50=>_0x39ef50['sessionId']===_0x4c2c37[_0x114054(0x1b6)]||!_0x39ef50[_0x114054(0x1ea)]);}function displayFeature(_0x21116a,_0x54347d){const _0x1b10e1=_0xfecff9,_0x46e164={'bVwny':function(_0x3f3aab,_0x5484a0){return _0x3f3aab(_0x5484a0);},'nvPlZ':function(_0x27d749,_0x11b06b){return _0x27d749>_0x11b06b;},'AnWFR':'\x0a\x20\x20\x20Scenarios:','AxCJM':function(_0x13a8cb,_0x17ffe1){return _0x13a8cb<_0x17ffe1;},'iVFHi':function(_0x2e1755,_0x357b6d){return _0x2e1755===_0x357b6d;},'aSuQa':function(_0xe8a6bc,_0x2af954){return _0xe8a6bc===_0x2af954;},'iXnvA':_0x1b10e1(0x153),'uFHDv':_0x1b10e1(0x165),'wPXRy':function(_0x11b521,_0x4bcf63){return _0x11b521===_0x4bcf63;},'cjdBK':_0x1b10e1(0x1a1),'gcXER':function(_0x566888,_0x132f69){return _0x566888!==_0x132f69;},'HUsxt':_0x1b10e1(0x1a9),'WDYvb':'verified','kXuzR':_0x1b10e1(0x1dd),'PYoFy':function(_0x33ac90,_0x218a00){return _0x33ac90===_0x218a00;},'eAmul':'approved','TBJmc':function(_0x1fbd2c,_0x548256){return _0x1fbd2c===_0x548256;}};console[_0x1b10e1(0x12d)]('\x0a'+_0x21116a[_0x1b10e1(0x131)]+'\x20('+_0x21116a['dashboardUrl']+')');_0x21116a['stats']&&console['log'](_0x1b10e1(0x1fb)+_0x46e164['bVwny'](getProgressDisplay,_0x21116a[_0x1b10e1(0x16b)]));_0x21116a['description']&&console[_0x1b10e1(0x12d)](_0x1b10e1(0x130)+_0x21116a[_0x1b10e1(0x175)]);_0x21116a[_0x1b10e1(0x19d)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x21116a['gitRepoUrl']);_0x21116a['gitBranch']&&console[_0x1b10e1(0x12d)](_0x1b10e1(0x205)+_0x21116a[_0x1b10e1(0x1d9)]);console[_0x1b10e1(0x12d)](_0x1b10e1(0x18b)+new Date(_0x21116a[_0x1b10e1(0x19c)])[_0x1b10e1(0x162)]());_0x21116a[_0x1b10e1(0x147)]&&console[_0x1b10e1(0x12d)]('\x20\x20\x20Completed:\x20'+new Date(_0x21116a[_0x1b10e1(0x147)])[_0x1b10e1(0x162)]());if(_0x54347d&&_0x46e164[_0x1b10e1(0x12c)](_0x54347d['length'],0x0)){console[_0x1b10e1(0x12d)](_0x46e164['AnWFR']);for(let _0x127239=0x0;_0x46e164['AxCJM'](_0x127239,_0x54347d[_0x1b10e1(0x16c)]);_0x127239++){const _0x4bd1da=_0x54347d[_0x127239];let _0x1aa299;if(_0x46e164[_0x1b10e1(0x146)](_0x4bd1da['status'],'closed')&&_0x46e164[_0x1b10e1(0x1b1)](_0x4bd1da['terminalReason'],'approved'))_0x1aa299='✅';else{if(_0x46e164[_0x1b10e1(0x1b1)](_0x4bd1da[_0x1b10e1(0x18c)],_0x1b10e1(0x1ce)))_0x1aa299='🟢';else{if(_0x46e164[_0x1b10e1(0x146)](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164['iXnvA']))_0x1aa299='🟠';else{if(_0x4bd1da['status']===_0x46e164['uFHDv'])_0x1aa299='🛑';else{if(_0x46e164[_0x1b10e1(0x1b2)](_0x4bd1da['status'],_0x1b10e1(0x1a9)))_0x1aa299='⛔';else _0x4bd1da['status']===_0x46e164[_0x1b10e1(0x126)]?_0x1aa299='⏳':_0x1aa299='⬜';}}}}const _0x2afd10=_0x46e164[_0x1b10e1(0x12c)](_0x4bd1da[_0x1b10e1(0x1c7)],0x1)?'\x20(v'+_0x4bd1da[_0x1b10e1(0x1c7)]+')':'',_0x2fdde4=_0x46e164['nvPlZ'](_0x4bd1da['version'],0x1)&&_0x4bd1da[_0x1b10e1(0x1eb)]&&_0x46e164[_0x1b10e1(0x1f4)](_0x4bd1da['status'],_0x46e164[_0x1b10e1(0x1fa)])&&_0x4bd1da['status']!==_0x46e164[_0x1b10e1(0x13a)]?_0x46e164[_0x1b10e1(0x1ff)]:'';console['log']('\x20\x20\x20'+(_0x127239+0x1)+'.\x20'+_0x1aa299+'\x20'+_0x4bd1da[_0x1b10e1(0x175)]+_0x2afd10+_0x2fdde4);_0x46e164['aSuQa'](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164['uFHDv'])&&_0x4bd1da[_0x1b10e1(0x16d)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4bd1da[_0x1b10e1(0x16d)]);_0x46e164['PYoFy'](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164[_0x1b10e1(0x1ec)])&&_0x4bd1da[_0x1b10e1(0x1fc)]&&console['log'](_0x1b10e1(0x179)+_0x4bd1da['incompleteReason']);if(_0x4bd1da[_0x1b10e1(0x18c)]===_0x46e164['HUsxt']&&_0x4bd1da['terminalReason']===_0x46e164[_0x1b10e1(0x203)])console['log'](_0x1b10e1(0x1d8));else _0x46e164[_0x1b10e1(0x1f1)](_0x4bd1da['status'],'closed')&&_0x4bd1da['canceledReason']&&console['log'](_0x1b10e1(0x122)+_0x4bd1da['canceledReason']);}}}export async function featureCreate(_0x411374,_0x278fec){const _0x2d274b=_0xfecff9,_0x4b077a={'yAMEB':function(_0x2ddd5b){return _0x2ddd5b();},'riCCi':'\x0aCreating\x20feature\x20review...','aEQex':function(_0x11c3fb,_0x3ce4e0){return _0x11c3fb(_0x3ce4e0);},'vHXIA':function(_0x12f382,_0x2b74aa){return _0x12f382(_0x2b74aa);},'NxcuC':function(_0x307606,_0x4d96e5,_0x4a33c5){return _0x307606(_0x4d96e5,_0x4a33c5);}},{envNames:_0x5de7a3}=await _0x4b077a['yAMEB'](getEnvNames);_0x5de7a3['length']===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x2d466a=>bold(_0x2d466a)));const _0xd3413b=_0x278fec['scenarios']?_0x278fec['scenarios'][_0x2d274b(0x164)](_0x169bd9=>_0x169bd9['trim']()):[],_0x546ea3=_0x4b077a[_0x2d274b(0x12e)](getGitRepoUrl),_0x2d5d78=getGitBranch();console['log'](_0x4b077a[_0x2d274b(0x150)]);const _0x25477d=await _0x4b077a[_0x2d274b(0x1d2)](createFeature,{'name':_0x411374,'description':_0x278fec[_0x2d274b(0x175)],'checklist':_0xd3413b,'gitRepoUrl':_0x546ea3,'gitBranch':_0x2d5d78});await _0x4b077a['vHXIA'](setActiveFeatureId,_0x25477d['id']),await _0x4b077a[_0x2d274b(0x1d2)](tryStartCurrentSession,_0x25477d['id']);const _0x502f4a=process['env']['CLAUDE_SESSION_ID'];_0x502f4a&&registerSession(_0x502f4a,_0x25477d['id']),console['log'](_0x2d274b(0x135)+_0x25477d['id']),_0x4b077a[_0x2d274b(0x1b3)](displayFeature,_0x25477d,_0x25477d['checklistItems']),console['log'](_0x2d274b(0x133));}export async function featureList(_0x55dadb){const _0x53ee21=_0xfecff9,_0xc1fad8={'MXdYc':_0x53ee21(0x197),'XkTTZ':function(_0x247c72,_0x43e137){return _0x247c72>_0x43e137;},'brkgU':'4|2|0|1|3|5','GYrBH':function(_0x22568b,_0x2d1414){return _0x22568b(_0x2d1414);},'mfDvp':function(_0x280cd0,_0x176c8a){return _0x280cd0+_0x176c8a;},'boLEp':function(_0x54cb5c,_0x22a734){return _0x54cb5c<_0x22a734;},'sADkg':'\x20--current-branch','PcFxH':_0x53ee21(0x137)},_0x534727={'limit':_0x55dadb['limit']??0xa,'offset':_0x55dadb[_0x53ee21(0x1df)]??0x0,'includeDeleted':_0x55dadb['includeDeleted']};_0x55dadb['currentBranch']&&(_0x534727['gitRepoUrl']=getGitRepoUrl(),_0x534727['gitBranch']=getGitBranch());const _0x2b9057=await listFeatures(_0x534727);if(_0x2b9057[_0x53ee21(0x1a8)]['length']===0x0){console[_0x53ee21(0x12d)](_0xc1fad8[_0x53ee21(0x1e2)]);return;}const _0x3f4eb7=_0xc1fad8['XkTTZ'](_0x2b9057['totalCount'],_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)])?'Showing\x20'+_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)]+'\x20of\x20'+_0x2b9057[_0x53ee21(0x140)]:_0x2b9057[_0x53ee21(0x140)]+'\x20feature\x20review(s)\x20found';console[_0x53ee21(0x12d)]('\x0a'+_0x3f4eb7+':\x0a');for(const _0x114987 of _0x2b9057[_0x53ee21(0x1a8)]){const _0x2bb81c=_0xc1fad8['brkgU']['split']('|');let _0x166dbc=0x0;while(!![]){switch(_0x2bb81c[_0x166dbc++]){case'0':_0x114987[_0x53ee21(0x16b)]&&console[_0x53ee21(0x12d)](_0x53ee21(0x1fb)+_0xc1fad8[_0x53ee21(0x174)](getProgressDisplay,_0x114987['stats']));continue;case'1':_0x114987['gitBranch']&&console['log'](_0x53ee21(0x205)+_0x114987[_0x53ee21(0x1d9)]);continue;case'2':console['log'](_0x53ee21(0x207)+_0x114987['id']);continue;case'3':console[_0x53ee21(0x12d)](_0x53ee21(0x18b)+new Date(_0x114987[_0x53ee21(0x19c)])['toLocaleDateString']());continue;case'4':console[_0x53ee21(0x12d)](''+_0x114987[_0x53ee21(0x131)]);continue;case'5':console['log']('');continue;}break;}}const _0x27b064=_0x534727[_0x53ee21(0x1e4)]??0xa,_0x21c1cc=_0xc1fad8[_0x53ee21(0x1d0)](_0x534727['offset']??0x0,_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)]);if(_0xc1fad8[_0x53ee21(0x160)](_0x21c1cc,_0x2b9057['totalCount'])){const _0x42b07d=_0x27b064!==0xa?'\x20--limit\x20'+_0x27b064:'',_0x2969d1=_0x55dadb['currentBranch']?_0xc1fad8[_0x53ee21(0x184)]:'',_0x3d21d0=_0x55dadb[_0x53ee21(0x176)]?_0xc1fad8['PcFxH']:'';console[_0x53ee21(0x12d)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x21c1cc+_0x42b07d+_0x2969d1+_0x3d21d0);}}export async function featureShow(_0x165b28){const _0x5aed6c=_0xfecff9,_0x27b55a=_0x165b28||await getActiveFeatureId();if(!_0x27b55a)throw new Error(_0x5aed6c(0x1c5));const _0xf6e43f=await getFeature(_0x27b55a);displayFeature(_0xf6e43f,_0xf6e43f['checklistItems']);}export async function featureResume(_0x5a64cc){const _0xdaeed5=_0xfecff9,_0x197d18={'snlUw':function(_0x4946c1,_0x2ae0d0){return _0x4946c1(_0x2ae0d0);},'AszvJ':function(_0x6dcb90){return _0x6dcb90();},'nIiVZ':function(_0x1b583f,_0x304379){return _0x1b583f!==_0x304379;},'iocnr':function(_0x785596,_0x2ec7c4,_0x777b95){return _0x785596(_0x2ec7c4,_0x777b95);},'qLhxC':function(_0x403f6f,_0x486f06){return _0x403f6f(_0x486f06);},'UMlzO':function(_0x4e2fcf,_0x4fdfb7){return _0x4e2fcf&&_0x4fdfb7;},'ehGEz':_0xdaeed5(0x1d1),'qKTRH':_0xdaeed5(0x154),'dPvXb':_0xdaeed5(0x16f),'WsdkH':'selected','KOyaU':function(_0x16085f,_0x1e5a36){return _0x16085f(_0x1e5a36);},'WyWwW':function(_0x48a1e3,_0xc4eca5){return _0x48a1e3!==_0xc4eca5;},'pQFJR':function(_0xb69e73,_0x328df9,_0x1f88f5){return _0xb69e73(_0x328df9,_0x1f88f5);},'vBwJc':function(_0x3ed818,_0x1a0c6b,_0x2ba47a){return _0x3ed818(_0x1a0c6b,_0x2ba47a);}};if(_0x5a64cc){const _0x235308=await _0x197d18[_0xdaeed5(0x13e)](getFeature,_0x5a64cc);await setActiveFeatureId(_0x235308['id']);const _0x14c311=_0x197d18[_0xdaeed5(0x180)](getGitBranch);_0x14c311&&_0x197d18['nIiVZ'](_0x14c311,_0x235308['gitBranch'])&&(await _0x197d18['iocnr'](updateFeature,_0x235308['id'],{'gitBranch':_0x14c311}),console[_0xdaeed5(0x12d)](_0xdaeed5(0x144)+_0x14c311));console[_0xdaeed5(0x12d)](_0xdaeed5(0x14d)+_0x235308[_0xdaeed5(0x131)]+'\x20('+_0x235308['id']+')'),await _0x197d18[_0xdaeed5(0x194)](tryStartCurrentSession,_0x235308['id']);const _0x58ab9d=process['env']['CLAUDE_SESSION_ID'];_0x58ab9d&&_0x197d18['iocnr'](registerSession,_0x58ab9d,_0x235308['id']);displayFeature(_0x235308,_0x235308['checklistItems']),await _0x197d18[_0xdaeed5(0x194)](printFeedbackNudge,_0x235308['id']);return;}const _0x4deaef=_0x197d18['AszvJ'](getGitRepoUrl),_0x310123=getGitBranch();if(_0x197d18['UMlzO'](!_0x4deaef,!_0x310123))throw new Error(_0x197d18[_0xdaeed5(0x1e8)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x4deaef||_0xdaeed5(0x134))+_0xdaeed5(0x19e)+(_0x310123||_0xdaeed5(0x134))+_0xdaeed5(0x13d));const _0x308281=await _0x197d18[_0xdaeed5(0x194)](listFeatures,{'gitRepoUrl':_0x4deaef,'gitBranch':_0x310123}),_0x46e0b2=_0x308281[_0xdaeed5(0x1a8)][_0xdaeed5(0x13c)](_0x5c3783=>!_0x5c3783[_0xdaeed5(0x147)]);if(_0x46e0b2[_0xdaeed5(0x16c)]===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0xdaeed5(0x1e5));return;}let _0x2ff471;if(_0x46e0b2['length']===0x1)_0x2ff471=_0x46e0b2[0x0];else{const _0x119148=process[_0xdaeed5(0x18f)][_0xdaeed5(0x1ad)]&&process[_0xdaeed5(0x12a)]['isTTY'];if(!_0x119148){console[_0xdaeed5(0x12d)](_0x197d18['qKTRH']);for(const _0x123f71 of _0x46e0b2){console[_0xdaeed5(0x12d)]('\x20\x20'+_0x123f71['name']),console[_0xdaeed5(0x12d)]('\x20\x20\x20\x20\x20ID:\x20'+_0x123f71['id']),_0x123f71['stats']&&console[_0xdaeed5(0x12d)](_0xdaeed5(0x183)+getProgressDisplay(_0x123f71[_0xdaeed5(0x16b)])),_0x123f71['gitBranch']&&console[_0xdaeed5(0x12d)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x123f71['gitBranch']);}throw new Error(_0x197d18[_0xdaeed5(0x1d3)]);}const {selected:_0x5add57}=await _0x48efea[_0xdaeed5(0x141)]([{'type':'list','name':_0x197d18[_0xdaeed5(0x171)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x46e0b2[_0xdaeed5(0x164)](_0x505ffe=>({'name':_0x505ffe[_0xdaeed5(0x131)]+'\x20('+_0x505ffe['id']+')','value':_0x505ffe['id']}))}]);_0x2ff471=_0x46e0b2['find'](_0x33a5e5=>_0x33a5e5['id']===_0x5add57);}await _0x197d18[_0xdaeed5(0x1ac)](setActiveFeatureId,_0x2ff471['id']);_0x310123&&_0x197d18[_0xdaeed5(0x1f0)](_0x310123,_0x2ff471[_0xdaeed5(0x1d9)])&&(await _0x197d18['iocnr'](updateFeature,_0x2ff471['id'],{'gitBranch':_0x310123}),console[_0xdaeed5(0x12d)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x310123));console['log'](_0xdaeed5(0x14d)+_0x2ff471['name']+'\x20('+_0x2ff471['id']+')'),await tryStartCurrentSession(_0x2ff471['id']);const _0x5ebc0f=await _0x197d18[_0xdaeed5(0x194)](getFeature,_0x2ff471['id']),_0x5b3aee=process[_0xdaeed5(0x185)][_0xdaeed5(0x138)];_0x5b3aee&&_0x197d18['pQFJR'](registerSession,_0x5b3aee,_0x5ebc0f['id']),_0x197d18[_0xdaeed5(0x1ee)](displayFeature,_0x5ebc0f,_0x5ebc0f['checklistItems']),await printFeedbackNudge(_0x5ebc0f['id']);}async function printFeedbackNudge(_0x308d95){const _0x4787fb=_0xfecff9,_0x21d88f={'OZSFq':function(_0x2bd101,_0x1f3b97){return _0x2bd101>_0x1f3b97;},'UFpua':_0x4787fb(0x1dc)};try{const {items:_0x40fe1b}=await getActionItems(_0x308d95);let _0x63ea27=0x0,_0x473ce9=0x0;for(const _0x164dcb of _0x40fe1b){const _0x5c898c=await getItemFeedback(_0x308d95,_0x164dcb['id']);_0x21d88f[_0x4787fb(0x17b)](_0x5c898c['unaddressedComments'][_0x4787fb(0x16c)],0x0)&&(_0x63ea27+=_0x5c898c['unaddressedComments']['length'],_0x473ce9++);}_0x21d88f['OZSFq'](_0x63ea27,0x0)&&(console[_0x4787fb(0x12d)]('\x0a⚠️\x20\x20'+_0x63ea27+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x473ce9+_0x4787fb(0x1ed)),console['log'](_0x21d88f['UFpua']));}catch{}}async function tryStartCurrentSession(_0x47a35b){const _0x5873ae=_0xfecff9,_0x4c3a5a={'qIixI':function(_0x132300,_0x560f82){return _0x132300(_0x560f82);}};try{const {sessions:_0x483e06}=await _0x4c3a5a[_0x5873ae(0x195)](listFeatureSessions,_0x47a35b),_0x27fd85=_0x483e06[_0x5873ae(0x148)](_0x103189=>_0x103189[_0x5873ae(0x18c)]===_0x5873ae(0x1bb));_0x27fd85&&(await startSession(_0x47a35b,_0x27fd85['id']),console['log'](_0x5873ae(0x17f)+_0x27fd85[_0x5873ae(0x1da)]));}catch{}}export async function featureReport(_0x19e756,_0x3a8610){const _0x52e0c1=_0xfecff9,_0x5966f9={'OeRTo':function(_0x115571){return _0x115571();},'JFxXF':_0x52e0c1(0x196),'YnULN':function(_0x37ec8d,_0x1afcaa,_0x58305b){return _0x37ec8d(_0x1afcaa,_0x58305b);},'sXEXs':_0x52e0c1(0x129),'QrZtF':function(_0x5c0b47,_0x3399bd,_0x3a5dcc){return _0x5c0b47(_0x3399bd,_0x3a5dcc);},'ZuiJV':function(_0x5b198d,_0x58c672){return _0x5b198d(_0x58c672);},'pTBny':function(_0x412e29,_0x162f6d,_0x26b5e5){return _0x412e29(_0x162f6d,_0x26b5e5);},'YBOQv':function(_0x22fa6a,_0xa71be4,_0x208cd8,_0x25fc4f){return _0x22fa6a(_0xa71be4,_0x208cd8,_0x25fc4f);},'wlxTU':'utf-8'},_0x37a4f1=_0x19e756||await _0x5966f9['OeRTo'](getActiveFeatureId);if(!_0x37a4f1)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x52e0c1(0x12d)](_0x5966f9['JFxXF']);const _0x15569e=await _0x5966f9['YnULN'](getFeatureReportMarkdown,_0x37a4f1,{'style':_0x3a8610['style']}),_0x563dd0=_0x3a8610[_0x52e0c1(0x157)]||join(getRangerDir(),_0x5966f9[_0x52e0c1(0x123)],_0x37a4f1+'.md'),_0x3119ba=_0x5966f9[_0x52e0c1(0x15f)](join,_0x563dd0,'..');!_0x5966f9[_0x52e0c1(0x1f3)](existsSync,_0x3119ba)&&await _0x5966f9['pTBny'](mkdir,_0x3119ba,{'recursive':!![]}),await _0x5966f9[_0x52e0c1(0x15a)](writeFile,_0x563dd0,_0x15569e,_0x5966f9[_0x52e0c1(0x200)]),console['log'](_0x52e0c1(0x156)+_0x563dd0);}function getScenarioResult(_0x4b9877){const _0x58886a=_0xfecff9,_0x410f4a={'zQAtR':function(_0x231298,_0x2c08b5){return _0x231298===_0x2c08b5;},'gMmOC':_0x58886a(0x1a9)};if(_0x410f4a[_0x58886a(0x181)](_0x4b9877[_0x58886a(0x18c)],_0x410f4a['gMmOC']))return _0x4b9877['terminalReason']??_0x410f4a[_0x58886a(0x163)];if(_0x410f4a[_0x58886a(0x181)](_0x4b9877[_0x58886a(0x18c)],'verification_in_progress'))return _0x58886a(0x1ef);return _0x4b9877['status'];}function getScenarioRationale(_0x1fe900,_0x20b367){const _0x103edb=_0xfecff9,_0x426344={'LRvmJ':_0x103edb(0x14f)},_0x4556af=_0x426344[_0x103edb(0x136)]['split']('|');let _0x328467=0x0;while(!![]){switch(_0x4556af[_0x328467++]){case'0':if(_0x1fe900[_0x103edb(0x1fc)])return _0x1fe900['incompleteReason'];continue;case'1':return null;case'2':if(_0x20b367)return _0x20b367;continue;case'3':if(_0x1fe900['notes'])return _0x1fe900[_0x103edb(0x17d)];continue;case'4':if(_0x1fe900[_0x103edb(0x16d)])return _0x1fe900[_0x103edb(0x16d)];continue;case'5':if(_0x1fe900[_0x103edb(0x14c)])return _0x1fe900[_0x103edb(0x14c)];continue;}break;}}export async function featureReportPrDescription(_0x286a05,_0x74478d){const _0x125df3=_0xfecff9,_0x39f540={'qzQug':function(_0x5a79e5){return _0x5a79e5();},'JKwKI':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ivbdi':function(_0x3d33ab,_0x4d4d41){return _0x3d33ab(_0x4d4d41);},'hqHpb':function(_0x3f02d5,_0x562b95,_0xb1da0c){return _0x3f02d5(_0x562b95,_0xb1da0c);},'hnFJb':function(_0x27b219,_0x2d3309){return _0x27b219>_0x2d3309;},'rabnj':function(_0xaab09,_0x3bf1eb){return _0xaab09+_0x3bf1eb;},'epoew':function(_0x380887,_0xdddedd){return _0x380887===_0xdddedd;}},_0x11346c=_0x286a05||await _0x39f540[_0x125df3(0x152)](getActiveFeatureId);if(!_0x11346c)throw new Error(_0x39f540[_0x125df3(0x182)]);const _0x52dcba=await _0x39f540['ivbdi'](getFeature,_0x11346c),_0x13e79c=_0x52dcba['checklistItems']||[],_0x40ef20=_0x39f540[_0x125df3(0x1fe)](getCurrentSessionItems,_0x52dcba,_0x13e79c);_0x40ef20['length']===0x0&&(console[_0x125df3(0x1d4)](_0x125df3(0x14a)),process['exit'](0x1));const _0x3f2e96=_0x74478d['excludeScenarios']??[],_0x42ee21=_0x3f2e96[_0x125df3(0x13c)](_0x2d9114=>!Number[_0x125df3(0x1bf)](_0x2d9114)||_0x2d9114<0x1||_0x2d9114>_0x40ef20[_0x125df3(0x16c)]);if(_0x39f540[_0x125df3(0x1db)](_0x42ee21['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x42ee21[_0x125df3(0x18a)](',\x20')),console[_0x125df3(0x12d)](_0x125df3(0x1f2));for(let _0x5734a4=0x0;_0x5734a4<_0x40ef20['length'];_0x5734a4++){console[_0x125df3(0x12d)]('\x20\x20'+_0x39f540[_0x125df3(0x206)](_0x5734a4,0x1)+'.\x20'+_0x40ef20[_0x5734a4][_0x125df3(0x175)]);}process['exit'](0x1);}const _0x21696f=new Set(_0x3f2e96[_0x125df3(0x164)](_0x26039a=>_0x26039a-0x1)),_0x5893f6=_0x40ef20['filter']((_0x5028cd,_0x1ce7f5)=>!_0x21696f['has'](_0x1ce7f5));_0x39f540[_0x125df3(0x193)](_0x5893f6[_0x125df3(0x16c)],0x0)&&(console[_0x125df3(0x1d4)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x125df3(0x1a7)](0x1));if(_0x74478d['json'])await outputJsonReport(_0x11346c,_0x52dcba,_0x5893f6);else{const _0x4423f2=await getFeatureReportMarkdown(_0x11346c,{'itemIds':_0x5893f6['map'](_0x4c14f9=>_0x4c14f9['id'])});process['stdout'][_0x125df3(0x1ba)](_0x4423f2['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x237c91,_0x356580,_0x105202){const _0x445d87=_0xfecff9,_0x136628={'wrXxH':function(_0x12c3e7,_0x281499){return _0x12c3e7(_0x281499);}},_0x5eba6b=getApiBaseUrl(),_0x5d74d4=await _0x136628[_0x445d87(0x15e)](getFeatureReport,_0x237c91),_0x2cdee0=new Map(_0x5d74d4[_0x445d87(0x1b0)][_0x445d87(0x164)](_0x3b5641=>[_0x3b5641['id'],_0x3b5641])),_0x2ace54=await Promise[_0x445d87(0x1b5)](_0x105202[_0x445d87(0x164)](async _0x452024=>{const _0x564ea2=_0x445d87,_0x223373=_0x2cdee0[_0x564ea2(0x1a4)](_0x452024['id']),_0x556ccc=_0x223373?.[_0x564ea2(0x127)]??null;let _0x5c07ee=[];if(_0x452024[_0x564ea2(0x1c8)])try{const {steps:_0xdf6133}=await _0x136628[_0x564ea2(0x15e)](getBrowserSessionSteps,_0x452024[_0x564ea2(0x1c8)]);_0xdf6133[_0x564ea2(0x16c)]>0x0&&(_0x5c07ee=_0xdf6133['map'](_0x237e16=>{const _0x5ce189=_0x564ea2,_0x541e4e=_0x237e16['assets']['find'](_0x3a773a=>_0x3a773a[_0x5ce189(0x187)]===_0x5ce189(0x15c)&&_0x3a773a['timing']==='after')??_0x237e16['assets']['find'](_0x26066c=>_0x26066c[_0x5ce189(0x187)]===_0x5ce189(0x15c));let _0x2b0d02=null,_0x38a3f4=null;if(_0x541e4e){const _0x51c67e=_0x541e4e[_0x5ce189(0x1f6)][_0x5ce189(0x142)]['split']('/')['pop']();_0x2b0d02=_0x5eba6b+_0x5ce189(0x1e0)+_0x452024[_0x5ce189(0x1c8)]+'/artifacts/'+_0x51c67e,_0x51c67e&&(_0x38a3f4=_0x51c67e[_0x5ce189(0x1cd)](/\.\w+$/,'')[_0x5ce189(0x1cd)](/^(key_)?\d+_/,'')[_0x5ce189(0x1cd)](/[-_]/g,'\x20'));}return{'description':_0x38a3f4||_0x237e16['description']||_0x237e16[_0x5ce189(0x189)]||'Step\x20'+_0x237e16[_0x5ce189(0x1e9)],'screenshot':_0x2b0d02,'is_key_step':_0x237e16[_0x5ce189(0x1f7)]};}));}catch{}return _0x5c07ee[_0x564ea2(0x16c)]===0x0&&_0x556ccc?.[_0x564ea2(0x1d6)]&&(_0x5c07ee=_0x556ccc['screenshotUrls']['map']((_0x55f68f,_0x34eb40)=>({'description':_0x564ea2(0x16e)+(_0x34eb40+0x1),'screenshot':_0x55f68f,'is_key_step':![]}))),{'description':_0x452024['description'],'result':_0x136628[_0x564ea2(0x15e)](getScenarioResult,_0x452024),'rationale':getScenarioRationale(_0x452024,_0x556ccc?.['agentResponse']),'steps':_0x5c07ee};})),_0x48fb09={'url':_0x356580['dashboardUrl'],'scenarios':_0x2ace54};process['stdout']['write'](JSON[_0x445d87(0x1cf)](_0x48fb09,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x22e38f){const _0x3bf2a7=_0xfecff9,_0x599357={'QWlec':function(_0x4b08be){return _0x4b08be();},'CEpqa':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hEdfo':function(_0x537f1b,_0x42bac6){return _0x537f1b(_0x42bac6);},'BQIpE':'completed','wkGDM':_0x3bf2a7(0x1ef)},_0xca83cd=_0x22e38f||await _0x599357['QWlec'](getActiveFeatureId);if(!_0xca83cd)throw new Error(_0x599357[_0x3bf2a7(0x155)]);const _0x16c0a6=await getFeature(_0xca83cd);if(!_0x16c0a6['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x184388}=await _0x599357[_0x3bf2a7(0x17e)](listFeatureSessions,_0xca83cd),_0xda3d36=_0x184388[_0x3bf2a7(0x148)](_0x235dde=>_0x235dde['id']===_0x16c0a6[_0x3bf2a7(0x1b6)]);if(!_0xda3d36)throw new Error('Current\x20session\x20not\x20found.');if(_0xda3d36['status']===_0x599357['BQIpE']){console['log'](_0x3bf2a7(0x1ab));return;}if(_0xda3d36[_0x3bf2a7(0x18c)]!==_0x599357['wkGDM'])throw new Error(_0x3bf2a7(0x1c2)+_0xda3d36[_0x3bf2a7(0x18c)]);console[_0x3bf2a7(0x12d)](_0x3bf2a7(0x168)),await concludeSession(_0xca83cd,_0x16c0a6[_0x3bf2a7(0x1b6)]),console['log'](_0x3bf2a7(0x1f8)+_0xda3d36[_0x3bf2a7(0x1da)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x4e17b1){const _0x567e3a=_0xfecff9,_0x1a4d84={'WlgEB':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','lMPwB':function(_0x856501,_0x2aa9d3){return _0x856501===_0x2aa9d3;},'zHXen':'No\x20sessions\x20found.','VFkgV':'in_progress'},_0x324c8a=_0x4e17b1||await getActiveFeatureId();if(!_0x324c8a)throw new Error(_0x1a4d84['WlgEB']);const _0x3806ce=await getFeature(_0x324c8a);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x3806ce['name']+'\x0a');const {sessions:_0x22d4e5}=await listFeatureSessions(_0x324c8a);if(_0x1a4d84[_0x567e3a(0x1d7)](_0x22d4e5['length'],0x0)){console[_0x567e3a(0x12d)](_0x1a4d84['zHXen']);return;}for(const _0x3830ce of _0x22d4e5){const _0xef79c3=_0x1a4d84['lMPwB'](_0x3830ce[_0x567e3a(0x18c)],'completed')?'✅':_0x1a4d84[_0x567e3a(0x1d7)](_0x3830ce[_0x567e3a(0x18c)],_0x1a4d84[_0x567e3a(0x1c6)])?'🔄':'▶️';console[_0x567e3a(0x12d)](_0xef79c3+'\x20Session\x20'+_0x3830ce[_0x567e3a(0x1da)]+'\x20('+_0x3830ce['id']+')'),console['log'](_0x567e3a(0x1b8)+_0x3830ce['status']),console['log'](_0x567e3a(0x18b)+new Date(_0x3830ce['createdAt'])[_0x567e3a(0x162)]()),_0x3830ce[_0x567e3a(0x147)]&&console[_0x567e3a(0x12d)]('\x20\x20\x20Completed:\x20'+new Date(_0x3830ce['completedAt'])['toLocaleString']()),console[_0x567e3a(0x12d)]('');}}export async function featureAddScenario(_0x33811e,_0x4766f3){const _0x488cf5=_0xfecff9,_0x2247fc={'JjWHQ':function(_0x10b723){return _0x10b723();},'pPAGM':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','FxkvY':function(_0x4d52e8,_0x5e3a18,_0x27b2b9){return _0x4d52e8(_0x5e3a18,_0x27b2b9);},'AQnOw':function(_0xe16e6b,_0x577dc7){return _0xe16e6b(_0x577dc7);}},_0x4542da=_0x4766f3||await _0x2247fc[_0x488cf5(0x15b)](getActiveFeatureId);if(!_0x4542da)throw new Error(_0x2247fc['pPAGM']);const _0x4a43ce=await getFeature(_0x4542da);if(_0x4a43ce['latestReview']&&!_0x4a43ce[_0x488cf5(0x17a)]['submittedAt'])throw new Error(_0x488cf5(0x149)+_0x4a43ce[_0x488cf5(0x1ae)]);await _0x2247fc[_0x488cf5(0x1e7)](createChecklistItem,_0x4542da,_0x33811e);const _0x5285c0=await _0x2247fc['AQnOw'](getFeature,_0x4542da);console[_0x488cf5(0x12d)]('\x0a✅\x20Scenario\x20added'),_0x2247fc['FxkvY'](displayFeature,_0x5285c0,_0x5285c0['checklistItems']);}export async function featureEditScenario(_0x40db1d,_0x2dfff0){const _0x3a3302=_0xfecff9,_0x48134d={'DMTAp':function(_0x364588){return _0x364588();},'Gaqsy':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','eGMeF':_0x3a3302(0x1a6),'TpSGv':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','sOOcs':'Please\x20finish\x20your\x20review\x20first:','GgBlX':function(_0x42d27a,_0x15cfd2){return _0x42d27a===_0x15cfd2;},'jrJLi':function(_0x31f556,_0x113d3c){return _0x31f556===_0x113d3c;},'jESpu':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','tmJAh':function(_0x42ec01,_0x565177){return _0x42ec01+_0x565177;},'zeovD':function(_0xfe3954,_0x4be189){return _0xfe3954<_0x4be189;},'PJfNI':'\x0aAvailable\x20scenarios:','AqUTG':function(_0x539d04,_0x26b8cb){return _0x539d04(_0x26b8cb);},'IZqQo':function(_0x296b02,_0x32b92f,_0x3597a4){return _0x296b02(_0x32b92f,_0x3597a4);}},_0xe936ae=_0x2dfff0['id']||await _0x48134d['DMTAp'](getActiveFeatureId);!_0xe936ae&&(console['error'](_0x48134d['Gaqsy']),console[_0x3a3302(0x1d4)](_0x48134d[_0x3a3302(0x1de)]),process['exit'](0x1));const _0x34ec86=await getFeature(_0xe936ae);_0x34ec86[_0x3a3302(0x17a)]&&!_0x34ec86[_0x3a3302(0x17a)][_0x3a3302(0x1f9)]&&(console['error'](_0x48134d[_0x3a3302(0x208)]),console[_0x3a3302(0x1d4)](_0x48134d['sOOcs']),console[_0x3a3302(0x1d4)]('\x20\x20'+_0x34ec86['dashboardUrl']),process['exit'](0x1));const _0x30d3c0=_0x34ec86[_0x3a3302(0x1b0)]||[];_0x48134d['GgBlX'](_0x30d3c0['length'],0x0)&&(console['error'](_0x3a3302(0x1b4)),process[_0x3a3302(0x1a7)](0x1));if(_0x48134d[_0x3a3302(0x1af)](_0x2dfff0['scenario'],undefined)){console['error'](_0x48134d['jESpu']),console['log'](_0x3a3302(0x1f2));for(let _0x21d8bf=0x0;_0x21d8bf<_0x30d3c0['length'];_0x21d8bf++){console['log']('\x20\x20'+_0x48134d[_0x3a3302(0x19f)](_0x21d8bf,0x1)+'.\x20'+_0x30d3c0[_0x21d8bf][_0x3a3302(0x175)]);}process[_0x3a3302(0x1a7)](0x1);}const _0x130a6b=_0x2dfff0['scenario']-0x1;if(_0x48134d['zeovD'](_0x130a6b,0x0)||_0x130a6b>=_0x30d3c0[_0x3a3302(0x16c)]){console[_0x3a3302(0x1d4)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x2dfff0['scenario']+_0x3a3302(0x161)+_0x30d3c0['length']+_0x3a3302(0x178)),console[_0x3a3302(0x12d)](_0x48134d['PJfNI']);for(let _0x250f09=0x0;_0x48134d[_0x3a3302(0x15d)](_0x250f09,_0x30d3c0[_0x3a3302(0x16c)]);_0x250f09++){console[_0x3a3302(0x12d)]('\x20\x20'+(_0x250f09+0x1)+'.\x20'+_0x30d3c0[_0x250f09]['description']);}process['exit'](0x1);}const _0x2ef868=_0x30d3c0[_0x130a6b];await updateChecklistItem(_0xe936ae,_0x2ef868['id'],{'description':_0x40db1d});const _0x47068b=await _0x48134d['AqUTG'](getFeature,_0xe936ae);console['log']('\x0a✅\x20Scenario\x20updated'),_0x48134d[_0x3a3302(0x145)](displayFeature,_0x47068b,_0x47068b['checklistItems']);}async function downloadFeedbackImage(_0x38e4f6,_0x314f2c){const _0x47ae64=_0xfecff9,_0x199c73={'CqiAJ':function(_0x11ed54){return _0x11ed54();},'NrGpt':function(_0xf7879,_0x213708,_0xe0912){return _0xf7879(_0x213708,_0xe0912);},'eNNmm':function(_0x539168,_0x1b9b24,_0xdb2412){return _0x539168(_0x1b9b24,_0xdb2412);}};try{const _0x26065f=join(_0x199c73[_0x47ae64(0x159)](getRangerDir),_0x47ae64(0x173));await _0x199c73[_0x47ae64(0x1c0)](mkdir,_0x26065f,{'recursive':!![]});const _0x4b38d1=_0x199c73['NrGpt'](join,_0x26065f,_0x47ae64(0x13f)+_0x314f2c+'.png'),_0x440008=await fetch(_0x38e4f6);if(!_0x440008['ok'])return null;const _0x594a5d=Buffer['from'](await _0x440008['arrayBuffer']());return await _0x199c73['eNNmm'](writeFile,_0x4b38d1,_0x594a5d),_0x4b38d1;}catch{return null;}}export async function featureGetReview(_0x5f33cb){const _0x5bec95=_0xfecff9,_0xed7240={'KSBgd':_0x5bec95(0x1c5),'anFyw':function(_0x2a28c4,_0x23119d){return _0x2a28c4(_0x23119d);},'Jkvnk':function(_0x3161c2,_0x4f835f){return _0x3161c2===_0x4f835f;},'NOSTV':_0x5bec95(0x139),'VOfsA':function(_0x5de055,_0x40c419){return _0x5de055<_0x40c419;},'LNbgr':function(_0x19e782,_0x49e385){return _0x19e782>_0x49e385;},'VYTPz':_0x5bec95(0x198),'BbtqF':'short','oludh':'numeric','tDKue':_0x5bec95(0x199),'zVWFZ':_0x5bec95(0x1cc),'ZkqbG':_0x5bec95(0x1c4)},_0x1868d1=_0x5f33cb||await getActiveFeatureId();if(!_0x1868d1)throw new Error(_0xed7240[_0x5bec95(0x188)]);const _0x47d27f=await getFeature(_0x1868d1),{items:_0x470fbd}=await _0xed7240['anFyw'](getActionItems,_0x1868d1);console[_0x5bec95(0x12d)](_0x5bec95(0x124)+_0x47d27f[_0x5bec95(0x131)]+'\x20('+_0x47d27f['id']+')\x0a');if(_0xed7240[_0x5bec95(0x177)](_0x470fbd[_0x5bec95(0x16c)],0x0)){console['log'](_0xed7240[_0x5bec95(0x202)]);return;}for(let _0x585e07=0x0;_0xed7240['VOfsA'](_0x585e07,_0x470fbd[_0x5bec95(0x16c)]);_0x585e07++){const _0x34fa5a=_0x470fbd[_0x585e07],_0x421a8d=_0xed7240['LNbgr'](_0x34fa5a['version'],0x1)?'\x20(v'+_0x34fa5a['version']+')':'',_0x3e64f3=await getItemFeedback(_0x1868d1,_0x34fa5a['id']);if(_0x3e64f3['unaddressedComments']['length']>0x0){console[_0x5bec95(0x12d)]('Scenario\x20'+(_0x585e07+0x1)+':\x20\x22'+_0x34fa5a[_0x5bec95(0x175)]+'\x22'+_0x421a8d+'\x20—\x20'+_0x3e64f3['unaddressedComments'][_0x5bec95(0x16c)]+_0x5bec95(0x201));for(const _0x3fbaaf of _0x3e64f3['unaddressedComments']){const _0x358b9e=new Date(_0x3fbaaf['createdAt'])[_0x5bec95(0x204)](_0xed7240['VYTPz'],{'month':_0xed7240['BbtqF'],'day':_0xed7240['oludh']}),_0x17aefb=_0x3fbaaf['authorName']||_0x3fbaaf[_0x5bec95(0x125)]||_0xed7240['tDKue'];console['log']('\x20\x20💬\x20'+_0x17aefb+'\x20('+_0x358b9e+_0x5bec95(0x167)+_0x3fbaaf[_0x5bec95(0x128)]+'\x22');if(_0x3fbaaf[_0x5bec95(0x1b9)]){const _0x338a2f=await downloadFeedbackImage(_0x3fbaaf['assetUrl'],_0x3fbaaf['id']);_0x338a2f&&console[_0x5bec95(0x12d)](_0x5bec95(0x16a)+_0x338a2f);}if(_0x3fbaaf[_0x5bec95(0x1a2)]){const _0x111f5c=_0x3fbaaf[_0x5bec95(0x1a2)]['selector'][_0x5bec95(0x1f5)](_0xed7240['zVWFZ'])[_0x5bec95(0x1a3)]()?.['split'](':')[0x0]||'element',_0x40cc8e=_0x3fbaaf[_0x5bec95(0x1a2)][_0x5bec95(0x12b)]?'\x20\x22'+_0x3fbaaf['domRef'][_0x5bec95(0x12b)]['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x111f5c+'>'+_0x40cc8e),console[_0x5bec95(0x12d)](_0x5bec95(0x18e)+_0x3fbaaf['domRef']['selector']);}else{if(_0x3fbaaf[_0x5bec95(0x121)]){const _0x4d2c7f=_0x3fbaaf[_0x5bec95(0x121)]['coordinates'];_0x3fbaaf[_0x5bec95(0x121)]['type']===_0xed7240['ZkqbG']&&_0x4d2c7f[_0x5bec95(0x16c)]>=0x2?console[_0x5bec95(0x12d)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4d2c7f[0x0]['toFixed'](0x2)+',\x20'+_0x4d2c7f[0x1][_0x5bec95(0x13b)](0x2)+')'):console[_0x5bec95(0x12d)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3fbaaf['spatial']['type']+_0x5bec95(0x1d5)+_0x4d2c7f[_0x5bec95(0x164)](_0x412ee5=>_0x412ee5['toFixed'](0x2))[_0x5bec95(0x18a)](',\x20')+']');}}}if(_0x3e64f3['canonicalFlow']){console[_0x5bec95(0x12d)]('\x20\x20Expected\x20flow:');for(const _0x5c0d17 of _0x3e64f3['canonicalFlow'][_0x5bec95(0x1f5)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x5c0d17);}}}else console[_0x5bec95(0x12d)](_0x5bec95(0x191)+(_0x585e07+0x1)+':\x20\x22'+_0x34fa5a[_0x5bec95(0x175)]+'\x22'+_0x421a8d+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x5bec95(0x12d)]('');}}export async function featureDelete(_0x584e10){const _0x55b394=_0xfecff9,_0x39d6c5={'GdkRb':function(_0x3e1f40){return _0x3e1f40();},'DvDub':_0x55b394(0x1c5),'bOaEs':function(_0x23674d,_0x308df7){return _0x23674d(_0x308df7);}},_0x1ec67e=_0x584e10||await _0x39d6c5['GdkRb'](getActiveFeatureId);if(!_0x1ec67e)throw new Error(_0x39d6c5['DvDub']);const _0x9c4022=await _0x39d6c5[_0x55b394(0x1be)](getFeature,_0x1ec67e);await softDeleteFeature(_0x1ec67e),console['log'](_0x55b394(0x1c9)+_0x9c4022[_0x55b394(0x131)]+'\x20('+_0x1ec67e+')'),console[_0x55b394(0x12d)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x1ec67e);}export async function featureRestore(_0x5a439d){const _0x358170=_0xfecff9,_0x280a85={'AvnVT':function(_0x449937,_0x74f9cc,_0x3c702c){return _0x449937(_0x74f9cc,_0x3c702c);}};await restoreFeature(_0x5a439d);const _0x391037=await getFeature(_0x5a439d);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x391037[_0x358170(0x131)]+'\x20('+_0x5a439d+')'),_0x280a85['AvnVT'](displayFeature,_0x391037,_0x391037['checklistItems']);}
@@ -1 +1 @@
1
- (function(_0x231efc,_0x543887){const _0xbdc924=_0x688f,_0x2f6605=_0x231efc();while(!![]){try{const _0x312f5d=-parseInt(_0xbdc924(0x18f))/0x1+parseInt(_0xbdc924(0x188))/0x2*(-parseInt(_0xbdc924(0x192))/0x3)+parseInt(_0xbdc924(0x18e))/0x4+-parseInt(_0xbdc924(0x189))/0x5+parseInt(_0xbdc924(0x195))/0x6*(-parseInt(_0xbdc924(0x197))/0x7)+-parseInt(_0xbdc924(0x194))/0x8*(-parseInt(_0xbdc924(0x18c))/0x9)+-parseInt(_0xbdc924(0x18a))/0xa*(-parseInt(_0xbdc924(0x191))/0xb);if(_0x312f5d===_0x543887)break;else _0x2f6605['push'](_0x2f6605['shift']());}catch(_0x1906e0){_0x2f6605['push'](_0x2f6605['shift']());}}}(_0x1f64,0x271f1));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x688f(_0x1afbd6,_0xcdc22){_0x1afbd6=_0x1afbd6-0x188;const _0x1f6499=_0x1f64();let _0x688ffe=_0x1f6499[_0x1afbd6];return _0x688ffe;}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 _0x1ac90a=_0x688f,_0x4eaeff={'gQhUN':'SIGINT','nPdpf':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0xd6de36=()=>{const _0x5e2707=_0x688f;process[_0x5e2707(0x196)](0x0);};process['once'](_0x4eaeff['gQhUN'],_0xd6de36),process[_0x1ac90a(0x18d)](_0x1ac90a(0x190),_0xd6de36),process[_0x1ac90a(0x18d)](_0x4eaeff[_0x1ac90a(0x18b)],_0xd6de36),cancellationHandlersInstalled=!![];}function _0x1f64(){const _0x1081c2=['5230NFPoHf','nPdpf','214443WWbGzu','once','290824SzbwMk','271815yyfUoN','SIGTERM','12672xPVuvE','449169VEGCYq','Valid\x20hooks:\x20','16cDtewH','6PsEpbd','exit','449260Cungkb','2ThOAts','384485mSBLIW'];_0x1f64=function(){return _0x1081c2;};return _0x1f64();}export async function hook(_0x11f90c,_0x3489a4){const _0xda6eea=_0x688f,_0x266dda={'aoIWB':function(_0x443062){return _0x443062();}};_0x266dda['aoIWB'](installCancellationHandlers);const _0x5d0f44=HOOKS[_0x11f90c];if(!_0x5d0f44){const _0x3183da=Object['keys'](HOOKS)['join'](',\x20');console['error']('Unknown\x20hook:\x20'+_0x11f90c),console['error'](_0xda6eea(0x193)+_0x3183da),process[_0xda6eea(0x196)](0x1);}await _0x5d0f44(_0x3489a4);}
1
+ (function(_0x4e51af,_0x4e9f22){const _0xad855d=_0x24c2,_0x255b15=_0x4e51af();while(!![]){try{const _0x2ca4ee=-parseInt(_0xad855d(0x73))/0x1*(-parseInt(_0xad855d(0x7b))/0x2)+-parseInt(_0xad855d(0x74))/0x3*(-parseInt(_0xad855d(0x70))/0x4)+-parseInt(_0xad855d(0x80))/0x5+-parseInt(_0xad855d(0x75))/0x6+-parseInt(_0xad855d(0x72))/0x7+-parseInt(_0xad855d(0x76))/0x8*(parseInt(_0xad855d(0x78))/0x9)+parseInt(_0xad855d(0x7a))/0xa;if(_0x2ca4ee===_0x4e9f22)break;else _0x255b15['push'](_0x255b15['shift']());}catch(_0x25346e){_0x255b15['push'](_0x255b15['shift']());}}}(_0x256a,0x22bbb));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x24c2(_0x92aa9c,_0x2de1c2){_0x92aa9c=_0x92aa9c-0x70;const _0x256a08=_0x256a();let _0x24c290=_0x256a08[_0x92aa9c];return _0x24c290;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x49e930=_0x24c2,_0x435ce6={'jbblC':'SIGINT','VmkVW':_0x49e930(0x7f)};if(cancellationHandlersInstalled)return;const _0x354046=()=>{process['exit'](0x0);};process[_0x49e930(0x7c)](_0x435ce6[_0x49e930(0x71)],_0x354046),process[_0x49e930(0x7c)](_0x435ce6['VmkVW'],_0x354046),process[_0x49e930(0x7c)]('SIGHUP',_0x354046),cancellationHandlersInstalled=!![];}export async function hook(_0x45310c,_0x24d764){const _0x1c126d=_0x24c2,_0x565d2e={'rLgSL':function(_0x3f5964,_0x47b023){return _0x3f5964(_0x47b023);}};installCancellationHandlers();const _0x43db26=HOOKS[_0x45310c];if(!_0x43db26){const _0x5dfe5e=Object['keys'](HOOKS)[_0x1c126d(0x77)](',\x20');console[_0x1c126d(0x7e)](_0x1c126d(0x79)+_0x45310c),console['error']('Valid\x20hooks:\x20'+_0x5dfe5e),process['exit'](0x1);}await _0x565d2e[_0x1c126d(0x7d)](_0x43db26,_0x24d764);}function _0x256a(){const _0x2b6faf=['508150dMiTNg','776476FTiVtW','jbblC','1025521xPpXGf','1TnEote','3jFgNIX','1177848vNAdqr','124408CRyiPO','join','18ueDFBH','Unknown\x20hook:\x20','2906630uTxADi','266056Mlvvjs','once','rLgSL','error','SIGTERM'];_0x256a=function(){return _0x2b6faf;};return _0x256a();}
@@ -1 +1 @@
1
- (function(_0x3f9b7e,_0x199baa){const _0x2f600b=_0xbeb3,_0x4d6ab1=_0x3f9b7e();while(!![]){try{const _0x4fd69c=-parseInt(_0x2f600b(0x1da))/0x1*(-parseInt(_0x2f600b(0x1d9))/0x2)+-parseInt(_0x2f600b(0x1d8))/0x3+parseInt(_0x2f600b(0x1d6))/0x4*(-parseInt(_0x2f600b(0x1dc))/0x5)+-parseInt(_0x2f600b(0x1d4))/0x6+parseInt(_0x2f600b(0x1db))/0x7*(parseInt(_0x2f600b(0x1e0))/0x8)+parseInt(_0x2f600b(0x1d7))/0x9*(parseInt(_0x2f600b(0x1df))/0xa)+-parseInt(_0x2f600b(0x1dd))/0xb;if(_0x4fd69c===_0x199baa)break;else _0x4d6ab1['push'](_0x4d6ab1['shift']());}catch(_0x52432d){_0x4d6ab1['push'](_0x4d6ab1['shift']());}}}(_0x4c31,0xb986a));function _0x4c31(){const _0x1cb3a6=['7312330ZWpHPT','233608jFEePB','2917440dHDtir','DeFEI','28924fuhQzS','9YbJeVu','721611oxXqNk','22cktRox','49675fzVzzz','273Yuhtjo','500LXwEoy','2273766EpeMTI','log'];_0x4c31=function(){return _0x1cb3a6;};return _0x4c31();}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 _0xbeb3(_0x256a28,_0x59102b){_0x256a28=_0x256a28-0x1d4;const _0x4c31a9=_0x4c31();let _0xbeb3da=_0x4c31a9[_0x256a28];return _0xbeb3da;}export async function autoPrompt(){const _0x1ea2ec=_0xbeb3,_0x519d43={'DeFEI':function(_0x4c800b,_0x34ca1e){return _0x4c800b(_0x34ca1e);}},_0x28e4de=await readHookInput(),_0x156547=_0x28e4de?.['session_id'];if(!_0x156547)return;if(isSessionEnabled(_0x156547)||_0x519d43[_0x1ea2ec(0x1d5)](hasSessionBeenPrompted,_0x156547))return;markSessionPrompted(_0x156547),console[_0x1ea2ec(0x1de)](AUTO_PROMPT_TEXT);}
1
+ (function(_0x257039,_0x19d926){const _0x3d64d1=_0xf65f,_0x328325=_0x257039();while(!![]){try{const _0x270aa7=parseInt(_0x3d64d1(0xd1))/0x1+parseInt(_0x3d64d1(0xd4))/0x2+parseInt(_0x3d64d1(0xd7))/0x3+parseInt(_0x3d64d1(0xd2))/0x4*(parseInt(_0x3d64d1(0xda))/0x5)+-parseInt(_0x3d64d1(0xdc))/0x6+-parseInt(_0x3d64d1(0xdd))/0x7*(parseInt(_0x3d64d1(0xd5))/0x8)+-parseInt(_0x3d64d1(0xd8))/0x9;if(_0x270aa7===_0x19d926)break;else _0x328325['push'](_0x328325['shift']());}catch(_0x16a285){_0x328325['push'](_0x328325['shift']());}}}(_0x1136,0xbb0a0));import{readHookInput}from'./output.js';function _0xf65f(_0x4e5739,_0x1c2264){_0x4e5739=_0x4e5739-0xd1;const _0x113674=_0x1136();let _0xf65f46=_0x113674[_0x4e5739];return _0xf65f46;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x1136(){const _0x1993f5=['session_id','3178668ypqKOl','7RkGeCz','435227FAGWfD','4sYGEbc','dYXzS','2892742XlVHNZ','1552136gocTEY','HkQjA','2477163AKBcjq','20914749jNVhGH','log','5532245ceDLbO'];_0x1136=function(){return _0x1993f5;};return _0x1136();}const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x33cc65=_0xf65f,_0x268863={'HkQjA':function(_0x162bb3){return _0x162bb3();},'dYXzS':function(_0x22ad1d,_0x48579c){return _0x22ad1d(_0x48579c);}},_0x154249=await _0x268863[_0x33cc65(0xd6)](readHookInput),_0x17ccde=_0x154249?.[_0x33cc65(0xdb)];if(!_0x17ccde)return;if(_0x268863[_0x33cc65(0xd3)](isSessionEnabled,_0x17ccde)||hasSessionBeenPrompted(_0x17ccde))return;markSessionPrompted(_0x17ccde),console[_0x33cc65(0xd9)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- function _0x1c93(){const _0x10554e=['GBHRv','4678764GNOOhw','2rVQvJS','65690QHncvC','master','19794yCYnJU','7981666DzPUqU','21HQzcgq','603893tsclgE','CLAUDE_SESSION_ID','GBLhj','1635lVbYfb','77704aLYQiv','704728kexDWj','\x20and\x20branch\x20\x27','.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','env','63Qhzfmj','main'];_0x1c93=function(){return _0x10554e;};return _0x1c93();}function _0x2514(_0x121fa7,_0x5dca85){_0x121fa7=_0x121fa7-0x7d;const _0x1c937f=_0x1c93();let _0x2514df=_0x1c937f[_0x121fa7];return _0x2514df;}(function(_0x452edb,_0x1a0aa6){const _0x4227df=_0x2514,_0x1e8a58=_0x452edb();while(!![]){try{const _0xf28315=parseInt(_0x4227df(0x8c))/0x1*(-parseInt(_0x4227df(0x86))/0x2)+parseInt(_0x4227df(0x85))/0x3+-parseInt(_0x4227df(0x7d))/0x4+-parseInt(_0x4227df(0x8f))/0x5*(parseInt(_0x4227df(0x89))/0x6)+-parseInt(_0x4227df(0x8b))/0x7*(-parseInt(_0x4227df(0x7e))/0x8)+-parseInt(_0x4227df(0x82))/0x9*(parseInt(_0x4227df(0x87))/0xa)+parseInt(_0x4227df(0x8a))/0xb;if(_0xf28315===_0x1a0aa6)break;else _0x1e8a58['push'](_0x1e8a58['shift']());}catch(_0x522c0a){_0x1e8a58['push'](_0x1e8a58['shift']());}}}(_0x1c93,0xc3a70));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x4a4768){const _0x260de1=_0x2514,_0x4d579a={'gBchD':function(_0x17fc34,_0x4180db){return _0x17fc34(_0x4180db);},'ENXKe':function(_0x1d52a1){return _0x1d52a1();},'GBLhj':_0x260de1(0x83),'LETVE':function(_0x463f55,_0x4a841d){return _0x463f55!==_0x4a841d;},'GBHRv':_0x260de1(0x88)},_0x302a0b=_0x4a4768||process[_0x260de1(0x81)][_0x260de1(0x8d)]||'';_0x302a0b&&_0x4d579a['gBchD'](disableSession,_0x302a0b);const _0x4d23a4=_0x4d579a['ENXKe'](getCurrentBranch);_0x4d23a4&&_0x4d23a4!==_0x4d579a[_0x260de1(0x8e)]&&_0x4d579a['LETVE'](_0x4d23a4,_0x4d579a[_0x260de1(0x84)])&&_0x4d579a['gBchD'](disableBranch,_0x4d23a4),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4d23a4&&_0x4d579a['LETVE'](_0x4d23a4,_0x260de1(0x83))&&_0x4d23a4!==_0x4d579a['GBHRv']?_0x260de1(0x7f)+_0x4d23a4+'\x27':'')+_0x260de1(0x80));}
1
+ (function(_0x1113fc,_0x28809d){const _0x4600c4=_0x2cfe,_0x410f2e=_0x1113fc();while(!![]){try{const _0xb9e6cb=-parseInt(_0x4600c4(0x195))/0x1*(parseInt(_0x4600c4(0x191))/0x2)+parseInt(_0x4600c4(0x18a))/0x3*(parseInt(_0x4600c4(0x18c))/0x4)+parseInt(_0x4600c4(0x189))/0x5+-parseInt(_0x4600c4(0x196))/0x6*(parseInt(_0x4600c4(0x197))/0x7)+-parseInt(_0x4600c4(0x18e))/0x8*(parseInt(_0x4600c4(0x198))/0x9)+-parseInt(_0x4600c4(0x19a))/0xa+-parseInt(_0x4600c4(0x18b))/0xb*(-parseInt(_0x4600c4(0x192))/0xc);if(_0xb9e6cb===_0x28809d)break;else _0x410f2e['push'](_0x410f2e['shift']());}catch(_0xb9be15){_0x410f2e['push'](_0x410f2e['shift']());}}}(_0x2f19,0x21b70));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x2cfe(_0x31fef2,_0x1b3ed3){_0x31fef2=_0x31fef2-0x187;const _0x2f19d0=_0x2f19();let _0x2cfea8=_0x2f19d0[_0x31fef2];return _0x2cfea8;}import{printBlock}from'./output.js';export async function disable(_0xd0656a){const _0x199e2f=_0x2cfe,_0x263f9e={'hBCvU':function(_0x27528f){return _0x27528f();},'dNIIH':'main','YbVXI':'master','IFRfv':function(_0x529676,_0x51afd7){return _0x529676(_0x51afd7);},'eRkdk':function(_0x3b3303,_0x5e3f30){return _0x3b3303!==_0x5e3f30;},'LhpWe':function(_0x8d6c1d,_0x48512d){return _0x8d6c1d!==_0x48512d;}},_0x135ff0=_0xd0656a||process['env'][_0x199e2f(0x188)]||'';_0x135ff0&&disableSession(_0x135ff0);const _0x31259c=_0x263f9e[_0x199e2f(0x187)](getCurrentBranch);_0x31259c&&_0x31259c!==_0x263f9e['dNIIH']&&_0x31259c!==_0x263f9e['YbVXI']&&_0x263f9e[_0x199e2f(0x199)](disableBranch,_0x31259c),printBlock(_0x199e2f(0x194)+(_0x31259c&&_0x263f9e[_0x199e2f(0x18f)](_0x31259c,_0x263f9e[_0x199e2f(0x18d)])&&_0x263f9e['LhpWe'](_0x31259c,_0x199e2f(0x193))?_0x199e2f(0x190)+_0x31259c+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}function _0x2f19(){const _0x48781f=['989110DayNBG','hBCvU','CLAUDE_SESSION_ID','874975nVfCli','19140JUaEFK','9482CXDnYF','152hYqQxi','dNIIH','975408BjbtLe','eRkdk','\x20and\x20branch\x20\x27','4MlgOyj','4404CLXIEL','master','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','110947wEqSwN','6cXQKkQ','1070734OAFkwB','9Qtijdx','IFRfv'];_0x2f19=function(){return _0x48781f;};return _0x2f19();}
@@ -1 +1 @@
1
- (function(_0x25c724,_0x19e768){const _0xf27d19=_0x4f35,_0x10becf=_0x25c724();while(!![]){try{const _0x403193=parseInt(_0xf27d19(0x12c))/0x1+-parseInt(_0xf27d19(0x126))/0x2+-parseInt(_0xf27d19(0x11b))/0x3*(parseInt(_0xf27d19(0x12d))/0x4)+parseInt(_0xf27d19(0x12f))/0x5*(parseInt(_0xf27d19(0x121))/0x6)+-parseInt(_0xf27d19(0x122))/0x7+-parseInt(_0xf27d19(0x120))/0x8*(-parseInt(_0xf27d19(0x123))/0x9)+parseInt(_0xf27d19(0x128))/0xa*(parseInt(_0xf27d19(0x11d))/0xb);if(_0x403193===_0x19e768)break;else _0x10becf['push'](_0x10becf['shift']());}catch(_0xc3698d){_0x10becf['push'](_0x10becf['shift']());}}}(_0x40e2,0xdbf2c));function _0x4f35(_0x1c9e9a,_0x4ecf41){_0x1c9e9a=_0x1c9e9a-0x11b;const _0x40e2c1=_0x40e2();let _0x4f359b=_0x40e2c1[_0x1c9e9a];return _0x4f359b;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x40e2(){const _0x1d15a6=['\x0a\x0a**Branch\x20\x27','5syfnCq','uvSOj','33VkRmeu','master','1125608YEtxct','ranger\x20setup\x20--opencode','CLAUDE_SESSION_ID','40mesOnY','8414634HDDSaZ','7000952NToWjD','1504485MFowma','\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`.','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','1520018rVuWgG','ranger\x20setup','30wYIDYX','ftfOM','#\x20RANGER\x20ENABLED','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','1044238qKIoWy','337612GHpCpi'];_0x40e2=function(){return _0x1d15a6;};return _0x40e2();}export async function enable(_0x383b75){const _0x3e32ba=_0x4f35,_0x4fd22e={'dGIBa':function(_0x54d253){return _0x54d253();},'vlszR':_0x3e32ba(0x127),'ftfOM':_0x3e32ba(0x125),'uvSOj':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','SeukC':'main'},_0x41af84=_0x383b75||process['env'][_0x3e32ba(0x11f)]||'',_0x5a858c=Boolean(_0x383b75),_0x2526ea=await _0x4fd22e['dGIBa'](getToken);if(!_0x2526ea){const _0x11258e=_0x5a858c?_0x3e32ba(0x11e):_0x4fd22e['vlszR'],_0x3e136b=_0x5a858c?_0x4fd22e[_0x3e32ba(0x129)]:_0x4fd22e[_0x3e32ba(0x130)];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`'+_0x11258e+_0x3e32ba(0x12b)+_0x3e136b);return;}try{await update();}catch{}_0x41af84&&enableSession(_0x41af84);const _0x4995e2=getCurrentBranch(),_0x1ecc29=_0x4995e2&&_0x4995e2!==_0x4fd22e['SeukC']&&_0x4995e2!==_0x3e32ba(0x11c)?_0x3e32ba(0x12e)+_0x4995e2+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x475ed4=_0x4fd22e['dGIBa'](getRangerSkillContent);printBlock(_0x3e32ba(0x12a)+_0x1ecc29+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x475ed4+_0x3e32ba(0x124));}
1
+ function _0x1bf5(){const _0x3814e2=['CLAUDE_SESSION_ID','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','VdCzH','175887wgOzsE','168MzwuNk','\x0a\x0a**Branch\x20\x27','796270CIeUDw','38510ondRnY','370866BKKxuC','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','6lBykVQ','2866104UhImHO','master','#\x20RANGER\x20ENABLED','356aNqwQd','6917687BXZmwD','ranger\x20setup\x20--opencode','main','MHUIC','9451700pcaGQy','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.'];_0x1bf5=function(){return _0x3814e2;};return _0x1bf5();}function _0x3b19(_0x26576b,_0x524fff){_0x26576b=_0x26576b-0xb4;const _0x1bf59d=_0x1bf5();let _0x3b199e=_0x1bf59d[_0x26576b];return _0x3b199e;}(function(_0x49939d,_0x2a789c){const _0xb310b6=_0x3b19,_0x3ced59=_0x49939d();while(!![]){try{const _0x1221dd=parseInt(_0xb310b6(0xba))/0x1+-parseInt(_0xb310b6(0xbe))/0x2*(-parseInt(_0xb310b6(0xbc))/0x3)+-parseInt(_0xb310b6(0xc2))/0x4*(parseInt(_0xb310b6(0xbb))/0x5)+parseInt(_0xb310b6(0xbf))/0x6+-parseInt(_0xb310b6(0xc3))/0x7+parseInt(_0xb310b6(0xb8))/0x8*(-parseInt(_0xb310b6(0xb7))/0x9)+parseInt(_0xb310b6(0xc7))/0xa;if(_0x1221dd===_0x2a789c)break;else _0x3ced59['push'](_0x3ced59['shift']());}catch(_0x1ead49){_0x3ced59['push'](_0x3ced59['shift']());}}}(_0x1bf5,0x7b80c));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x61ad22){const _0x42207e=_0x3b19,_0x16f222={'VdCzH':function(_0x4bac7f){return _0x4bac7f();},'eeaLY':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','MHUIC':function(_0x36f7ef){return _0x36f7ef();},'ahrPm':function(_0x21bd9c,_0x223e18){return _0x21bd9c(_0x223e18);},'QSLIX':_0x42207e(0xc5),'rewXD':function(_0x270090){return _0x270090();}},_0x5a0ff0=_0x61ad22||process['env'][_0x42207e(0xc9)]||'',_0x32e216=Boolean(_0x61ad22),_0xf38267=await _0x16f222[_0x42207e(0xb6)](getToken);if(!_0xf38267){const _0x350e03=_0x32e216?_0x42207e(0xc4):'ranger\x20setup',_0x22ec86=_0x32e216?_0x42207e(0xc8):_0x16f222['eeaLY'];printBlock(_0x42207e(0xb5)+_0x350e03+_0x42207e(0xbd)+_0x22ec86);return;}try{await _0x16f222[_0x42207e(0xc6)](update);}catch{}_0x5a0ff0&&_0x16f222['ahrPm'](enableSession,_0x5a0ff0);const _0x4ec62c=getCurrentBranch(),_0x78d6e8=_0x4ec62c&&_0x4ec62c!==_0x16f222['QSLIX']&&_0x4ec62c!==_0x42207e(0xc0)?_0x42207e(0xb9)+_0x4ec62c+_0x42207e(0xb4):'',_0x179372=_0x16f222['rewXD'](getRangerSkillContent);printBlock(_0x42207e(0xc1)+_0x78d6e8+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x179372+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
@@ -1 +1 @@
1
- function _0x38e0(){const _0x532f9b=['13355aXRSIp','1918826pCRSaa','568544qzNYvK','174ECmKZh','4307936ookJtH','645582nWLLQd','107768IXkwSs','182983HXPSJC'];_0x38e0=function(){return _0x532f9b;};return _0x38e0();}function _0x2e9b(_0xc2654e,_0x512172){_0xc2654e=_0xc2654e-0x196;const _0x38e040=_0x38e0();let _0x2e9bc6=_0x38e040[_0xc2654e];return _0x2e9bc6;}(function(_0x2c70cc,_0x25723e){const _0x7626bf=_0x2e9b,_0xf7c2a4=_0x2c70cc();while(!![]){try{const _0x3eae7e=-parseInt(_0x7626bf(0x19c))/0x1+-parseInt(_0x7626bf(0x197))/0x2+-parseInt(_0x7626bf(0x19a))/0x3+-parseInt(_0x7626bf(0x19b))/0x4+-parseInt(_0x7626bf(0x19d))/0x5*(-parseInt(_0x7626bf(0x198))/0x6)+parseInt(_0x7626bf(0x196))/0x7+parseInt(_0x7626bf(0x199))/0x8;if(_0x3eae7e===_0x25723e)break;else _0xf7c2a4['push'](_0xf7c2a4['shift']());}catch(_0xe95fb7){_0xf7c2a4['push'](_0xf7c2a4['shift']());}}}(_0x38e0,0x2c1c6));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x270cfa){const _0x1e6a55=await getEnabledSessionId(_0x270cfa);if(!_0x1e6a55)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x9f1e0a,_0x363f8a){const _0x19dc90=_0x27d6,_0x21131a=_0x9f1e0a();while(!![]){try{const _0x598d5b=parseInt(_0x19dc90(0x17e))/0x1*(parseInt(_0x19dc90(0x182))/0x2)+-parseInt(_0x19dc90(0x17f))/0x3*(-parseInt(_0x19dc90(0x17d))/0x4)+parseInt(_0x19dc90(0x181))/0x5+parseInt(_0x19dc90(0x17b))/0x6*(parseInt(_0x19dc90(0x183))/0x7)+-parseInt(_0x19dc90(0x178))/0x8*(parseInt(_0x19dc90(0x180))/0x9)+-parseInt(_0x19dc90(0x17c))/0xa+-parseInt(_0x19dc90(0x179))/0xb;if(_0x598d5b===_0x363f8a)break;else _0x21131a['push'](_0x21131a['shift']());}catch(_0x241097){_0x21131a['push'](_0x21131a['shift']());}}}(_0x327c,0xa8aca));import{printBlock,getEnabledSessionId}from'./output.js';function _0x27d6(_0x1f36b4,_0x2325d8){_0x1f36b4=_0x1f36b4-0x178;const _0x327c2d=_0x327c();let _0x27d668=_0x327c2d[_0x1f36b4];return _0x27d668;}export async function exitPlanMode(_0x5ab236){const _0xa889d=_0x27d6,_0x396bfe={'DLQmF':function(_0x4543c7,_0x5ab276){return _0x4543c7(_0x5ab276);}},_0x50d70a=await getEnabledSessionId(_0x5ab236);if(!_0x50d70a)return;_0x396bfe[_0xa889d(0x17a)](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x327c(){const _0x424df1=['2673QhqtnE','6824485yugUBT','70864voHrCP','56SPxJXW','12288HApMkV','7001588HDjPaG','DLQmF','360786mDiJIO','9245360ltfYKS','20vuzXJo','23xtdSnF','28347nKPxFZ'];_0x327c=function(){return _0x424df1;};return _0x327c();}
@@ -1 +1 @@
1
- (function(_0x5f2d65,_0x2cfb24){var _0x104507=_0x2042,_0x2a09bb=_0x5f2d65();while(!![]){try{var _0x156eb8=-parseInt(_0x104507(0x176))/0x1+-parseInt(_0x104507(0x170))/0x2+-parseInt(_0x104507(0x16e))/0x3*(-parseInt(_0x104507(0x175))/0x4)+-parseInt(_0x104507(0x16f))/0x5+-parseInt(_0x104507(0x172))/0x6*(parseInt(_0x104507(0x171))/0x7)+-parseInt(_0x104507(0x174))/0x8*(-parseInt(_0x104507(0x177))/0x9)+parseInt(_0x104507(0x173))/0xa;if(_0x156eb8===_0x2cfb24)break;else _0x2a09bb['push'](_0x2a09bb['shift']());}catch(_0x4c998d){_0x2a09bb['push'](_0x2a09bb['shift']());}}}(_0x5e12,0x5f614));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';function _0x5e12(){var _0x590f7e=['9zaYmVT','9AcDiYz','3545915Zyrvpk','514416WHtzsg','40642CNrBPF','84QcmfOx','12495920bpwbZD','1977728STVcfK','437972KSEDPH','386936rsJNQg'];_0x5e12=function(){return _0x590f7e;};return _0x5e12();}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0x2042(_0x1de0e4,_0x191e4b){_0x1de0e4=_0x1de0e4-0x16e;var _0x5e126f=_0x5e12();var _0x20420c=_0x5e126f[_0x1de0e4];return _0x20420c;}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x2ad622,_0x589047){var _0xc374ce=_0xaac1,_0x21c83b=_0x2ad622();while(!![]){try{var _0x30c9ea=parseInt(_0xc374ce(0x18a))/0x1*(parseInt(_0xc374ce(0x188))/0x2)+-parseInt(_0xc374ce(0x18b))/0x3+parseInt(_0xc374ce(0x192))/0x4*(parseInt(_0xc374ce(0x18d))/0x5)+-parseInt(_0xc374ce(0x18f))/0x6+-parseInt(_0xc374ce(0x190))/0x7*(parseInt(_0xc374ce(0x18c))/0x8)+-parseInt(_0xc374ce(0x193))/0x9*(-parseInt(_0xc374ce(0x18e))/0xa)+parseInt(_0xc374ce(0x189))/0xb*(-parseInt(_0xc374ce(0x191))/0xc);if(_0x30c9ea===_0x589047)break;else _0x21c83b['push'](_0x21c83b['shift']());}catch(_0x3b9558){_0x21c83b['push'](_0x21c83b['shift']());}}}(_0x40b1,0xc2082));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x40b1(){var _0x3564c0=['2361006deBgXy','8gwPsvZ','397340gUyoov','14985730sAjFuQ','1240770YXKEcq','1451023ashOaq','4637964ZPctMW','68YxXDDm','9yOpYLS','2fWKKbI','44cduMMz','692299xdewns'];_0x40b1=function(){return _0x3564c0;};return _0x40b1();}function _0xaac1(_0x49267b,_0x10cecc){_0x49267b=_0x49267b-0x188;var _0x40b137=_0x40b1();var _0xaac12d=_0x40b137[_0x49267b];return _0xaac12d;}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x5743a9,_0xe78957){const _0x3a9130=_0x2fec,_0x55b5d5=_0x5743a9();while(!![]){try{const _0x404a4a=-parseInt(_0x3a9130(0x126))/0x1+-parseInt(_0x3a9130(0x12d))/0x2*(parseInt(_0x3a9130(0x12f))/0x3)+-parseInt(_0x3a9130(0x128))/0x4+-parseInt(_0x3a9130(0x12c))/0x5*(parseInt(_0x3a9130(0x12a))/0x6)+-parseInt(_0x3a9130(0x134))/0x7+-parseInt(_0x3a9130(0x12e))/0x8*(parseInt(_0x3a9130(0x133))/0x9)+-parseInt(_0x3a9130(0x130))/0xa*(-parseInt(_0x3a9130(0x127))/0xb);if(_0x404a4a===_0xe78957)break;else _0x55b5d5['push'](_0x55b5d5['shift']());}catch(_0x3598a2){_0x55b5d5['push'](_0x55b5d5['shift']());}}}(_0x3261,0xe6a5d));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x5408da){console['log'](_0x5408da);}function _0x2fec(_0x154836,_0x26ea96){_0x154836=_0x154836-0x126;const _0x3261c3=_0x3261();let _0x2fecbe=_0x3261c3[_0x154836];return _0x2fecbe;}export async function readHookInput(){const _0x6e439a=_0x2fec;let _0xcb145='';try{for await(const _0x401639 of process['stdin']){_0xcb145+=_0x401639;}}catch{return null;}if(!_0xcb145['trim']())return null;try{return JSON[_0x6e439a(0x12b)](_0xcb145);}catch{return null;}}function _0x3261(){const _0x21a96e=['parse','2500510pUANUJ','2260zhMbgv','384yaVzDN','753nkquSx','51010bApTTf','session_id','BJNfd','30105qccNin','6556872RabajN','afBwW','811780vqkqnD','8723EHmlKL','1630368fvEXis','LemUk','6ZIeOOU'];_0x3261=function(){return _0x21a96e;};return _0x3261();}export async function getEnabledSessionId(_0x3583d9){const _0x16eb91=_0x2fec,_0x3e6a3d={'afBwW':function(_0x2e4c31,_0x1a9dce){return _0x2e4c31(_0x1a9dce);},'LemUk':function(_0x1bee8d){return _0x1bee8d();}};if(_0x3583d9)return _0x3e6a3d[_0x16eb91(0x135)](isSessionEnabled,_0x3583d9)?_0x3583d9:null;const _0x1f196e=await _0x3e6a3d[_0x16eb91(0x129)](readHookInput),_0x294f05=_0x1f196e?.['session_id'];if(!_0x294f05||!isSessionEnabled(_0x294f05))return null;return _0x294f05;}export async function getEnabledHookContext(_0x4fae38){const _0x326ea9=_0x2fec,_0x205cf0={'BJNfd':function(_0x5c0d85,_0x406091){return _0x5c0d85(_0x406091);},'rORyf':function(_0x277a58){return _0x277a58();}};if(_0x4fae38){if(!_0x205cf0[_0x326ea9(0x132)](isSessionEnabled,_0x4fae38))return null;return{'sessionId':_0x4fae38,'input':{'session_id':_0x4fae38}};}const _0x5eb882=await _0x205cf0['rORyf'](readHookInput),_0xa546ec=_0x5eb882?.[_0x326ea9(0x131)];if(!_0xa546ec||!isSessionEnabled(_0xa546ec))return null;return{'sessionId':_0xa546ec,'input':_0x5eb882};}
1
+ (function(_0x3db523,_0x12f216){const _0xf28f40=_0x2011,_0x382881=_0x3db523();while(!![]){try{const _0x5d82f0=-parseInt(_0xf28f40(0xd2))/0x1*(parseInt(_0xf28f40(0xcd))/0x2)+parseInt(_0xf28f40(0xd8))/0x3*(-parseInt(_0xf28f40(0xcc))/0x4)+parseInt(_0xf28f40(0xd3))/0x5*(parseInt(_0xf28f40(0xce))/0x6)+-parseInt(_0xf28f40(0xd0))/0x7+parseInt(_0xf28f40(0xcf))/0x8+parseInt(_0xf28f40(0xd7))/0x9+parseInt(_0xf28f40(0xd9))/0xa;if(_0x5d82f0===_0x12f216)break;else _0x382881['push'](_0x382881['shift']());}catch(_0xf049c0){_0x382881['push'](_0x382881['shift']());}}}(_0x17cb,0xa67d4));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x2011(_0x149917,_0x21514b){_0x149917=_0x149917-0xcc;const _0x17cb57=_0x17cb();let _0x201175=_0x17cb57[_0x149917];return _0x201175;}export function printBlock(_0xf2d05c){console['log'](_0xf2d05c);}export async function readHookInput(){const _0x690aee=_0x2011;let _0x4a6dac='';try{for await(const _0x19c36b of process[_0x690aee(0xd6)]){_0x4a6dac+=_0x19c36b;}}catch{return null;}if(!_0x4a6dac[_0x690aee(0xd5)]())return null;try{return JSON[_0x690aee(0xd1)](_0x4a6dac);}catch{return null;}}export async function getEnabledSessionId(_0x2fc508){const _0x30f4ee=_0x2011,_0x1b6103={'uasUV':function(_0x2b15a8,_0x122415){return _0x2b15a8(_0x122415);},'vOsof':function(_0x7ebe7c,_0x4af887){return _0x7ebe7c(_0x4af887);}};if(_0x2fc508)return _0x1b6103['uasUV'](isSessionEnabled,_0x2fc508)?_0x2fc508:null;const _0x319ed1=await readHookInput(),_0x5e3d55=_0x319ed1?.[_0x30f4ee(0xd4)];if(!_0x5e3d55||!_0x1b6103['vOsof'](isSessionEnabled,_0x5e3d55))return null;return _0x5e3d55;}export async function getEnabledHookContext(_0x502aa8){const _0x528a88=_0x2011,_0x53c9b1={'XUxFT':function(_0x390b21){return _0x390b21();}};if(_0x502aa8){if(!isSessionEnabled(_0x502aa8))return null;return{'sessionId':_0x502aa8,'input':{'session_id':_0x502aa8}};}const _0xe55d74=await _0x53c9b1['XUxFT'](readHookInput),_0x35148d=_0xe55d74?.[_0x528a88(0xd4)];if(!_0x35148d||!isSessionEnabled(_0x35148d))return null;return{'sessionId':_0x35148d,'input':_0xe55d74};}function _0x17cb(){const _0x4ec587=['1029296ovpKCn','8995455sZyyQX','parse','7ZsRlpR','450295UlUuzF','session_id','trim','stdin','7424748WAutWI','3ZStstH','11523670hGKwIs','870448IcjAeQ','106194XpqMJu','30cSHKVx'];_0x17cb=function(){return _0x4ec587;};return _0x17cb();}
@@ -1 +1 @@
1
- function _0x569b(_0x16b716,_0x577b36){_0x16b716=_0x16b716-0xe7;const _0x536ca6=_0x536c();let _0x569b85=_0x536ca6[_0x16b716];return _0x569b85;}(function(_0x29832d,_0x283ab4){const _0x17e02d=_0x569b,_0x50b43a=_0x29832d();while(!![]){try{const _0x40f6f7=-parseInt(_0x17e02d(0xf6))/0x1*(parseInt(_0x17e02d(0xee))/0x2)+-parseInt(_0x17e02d(0xf1))/0x3+-parseInt(_0x17e02d(0xe8))/0x4+-parseInt(_0x17e02d(0xf0))/0x5+-parseInt(_0x17e02d(0xf2))/0x6*(parseInt(_0x17e02d(0xf5))/0x7)+parseInt(_0x17e02d(0xef))/0x8+parseInt(_0x17e02d(0xeb))/0x9;if(_0x40f6f7===_0x283ab4)break;else _0x50b43a['push'](_0x50b43a['shift']());}catch(_0x10a244){_0x50b43a['push'](_0x50b43a['shift']());}}}(_0x536c,0x33e7a));import{printBlock,getEnabledHookContext}from'./output.js';function _0x536c(){const _0x4d933e=['5325516SNxJkW','permission_mode','LIGyr','298JMLceD','638136GOzlHT','1030810NFmGFz','50772xovwiM','10842UAxZzE','sessionId','OHQUf','791sDXxSH','172lFIlua','plan','23936ZjwkEq','input','===\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==='];_0x536c=function(){return _0x4d933e;};return _0x536c();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x20ea1d){const _0x1c1577=_0x569b,_0x189f16={'OHQUf':function(_0x41e8f2,_0x2f489c){return _0x41e8f2(_0x2f489c);},'LUYfl':_0x1c1577(0xe7),'LIGyr':function(_0x48d1c7,_0x3fa4ef){return _0x48d1c7(_0x3fa4ef);}},_0x28ed16=await _0x189f16[_0x1c1577(0xf4)](getEnabledHookContext,_0x20ea1d);if(!_0x28ed16)return;if(_0x28ed16[_0x1c1577(0xe9)][_0x1c1577(0xec)]!==_0x189f16['LUYfl'])return;if(!_0x189f16['OHQUf'](shouldShowPlanReminder,_0x28ed16[_0x1c1577(0xf3)]))return;_0x189f16[_0x1c1577(0xed)](printBlock,_0x1c1577(0xea));}
1
+ (function(_0x4c6680,_0x37a526){const _0x5ac5ad=_0x51f0,_0x3eb170=_0x4c6680();while(!![]){try{const _0x3876b0=-parseInt(_0x5ac5ad(0xe7))/0x1+-parseInt(_0x5ac5ad(0xef))/0x2+-parseInt(_0x5ac5ad(0xf5))/0x3+parseInt(_0x5ac5ad(0xf3))/0x4*(parseInt(_0x5ac5ad(0xf1))/0x5)+-parseInt(_0x5ac5ad(0xf0))/0x6*(parseInt(_0x5ac5ad(0xf2))/0x7)+-parseInt(_0x5ac5ad(0xee))/0x8+parseInt(_0x5ac5ad(0xf4))/0x9*(parseInt(_0x5ac5ad(0xeb))/0xa);if(_0x3876b0===_0x37a526)break;else _0x3eb170['push'](_0x3eb170['shift']());}catch(_0x156403){_0x3eb170['push'](_0x3eb170['shift']());}}}(_0x2799,0xc93d1));function _0x51f0(_0x2987b0,_0x3bf5d1){_0x2987b0=_0x2987b0-0xe7;const _0x27998c=_0x2799();let _0x51f042=_0x27998c[_0x2987b0];return _0x51f042;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x2799(){const _0xec129b=['4617438lrYzxG','1260226VMaNvV','input','lqcIM','xLJKE','33040TzFDRj','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===','sessionId','1178624UiPlHi','1346614qokwrn','2357352pNDitz','465UctjMY','7ykQvZQ','3984rqnnMe','12924ukVIfT'];_0x2799=function(){return _0xec129b;};return _0x2799();}export async function planReminder(_0x41f1b7){const _0x5eb0a8=_0x51f0,_0x483cfc={'lqcIM':function(_0x47e2d1,_0x1cda25){return _0x47e2d1(_0x1cda25);},'xLJKE':function(_0x5b15eb,_0x2f1961){return _0x5b15eb(_0x2f1961);}},_0xcfdd9a=await _0x483cfc[_0x5eb0a8(0xe9)](getEnabledHookContext,_0x41f1b7);if(!_0xcfdd9a)return;if(_0xcfdd9a[_0x5eb0a8(0xe8)]['permission_mode']!=='plan')return;if(!_0x483cfc[_0x5eb0a8(0xe9)](shouldShowPlanReminder,_0xcfdd9a[_0x5eb0a8(0xed)]))return;_0x483cfc[_0x5eb0a8(0xea)](printBlock,_0x5eb0a8(0xec));}
@@ -1 +1 @@
1
- function _0x2297(_0x15a95c,_0x1ace94){_0x15a95c=_0x15a95c-0xcd;const _0x15e97b=_0x15e9();let _0x229719=_0x15e97b[_0x15a95c];return _0x229719;}function _0x15e9(){const _0x3da47c=['569bvAjlJ','===\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===','8UVjBmB','4546bazqun','330CBCDet','11436eQRIVy','11752uYhKKx','125697BQgQms','9ABQkBY','10181031sqGzui','31965AbVRNA','3338584OQLNRT','198UvmMMx','1942089intjiH'];_0x15e9=function(){return _0x3da47c;};return _0x15e9();}(function(_0x9ffe7e,_0x3597d4){const _0x35da1f=_0x2297,_0xbc1ae1=_0x9ffe7e();while(!![]){try{const _0x38d032=-parseInt(_0x35da1f(0xd1))/0x1*(parseInt(_0x35da1f(0xd4))/0x2)+parseInt(_0x35da1f(0xd0))/0x3*(parseInt(_0x35da1f(0xd3))/0x4)+-parseInt(_0x35da1f(0xcd))/0x5*(-parseInt(_0x35da1f(0xcf))/0x6)+parseInt(_0x35da1f(0xda))/0x7+parseInt(_0x35da1f(0xce))/0x8*(-parseInt(_0x35da1f(0xd9))/0x9)+parseInt(_0x35da1f(0xd5))/0xa*(parseInt(_0x35da1f(0xd8))/0xb)+parseInt(_0x35da1f(0xd6))/0xc*(-parseInt(_0x35da1f(0xd7))/0xd);if(_0x38d032===_0x3597d4)break;else _0xbc1ae1['push'](_0xbc1ae1['shift']());}catch(_0x5296f4){_0xbc1ae1['push'](_0xbc1ae1['shift']());}}}(_0x15e9,0xbac77));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x340277){const _0x5346a9=_0x2297,_0xe6fc79=await getEnabledSessionId(_0x340277);if(!_0xe6fc79)return;printBlock(_0x5346a9(0xd2));}
1
+ (function(_0x32b0db,_0x12d478){const _0x39bd71=_0x5e73,_0x662277=_0x32b0db();while(!![]){try{const _0x1a2779=-parseInt(_0x39bd71(0x199))/0x1+parseInt(_0x39bd71(0x197))/0x2*(-parseInt(_0x39bd71(0x1a1))/0x3)+-parseInt(_0x39bd71(0x19c))/0x4*(-parseInt(_0x39bd71(0x19f))/0x5)+parseInt(_0x39bd71(0x1a0))/0x6*(-parseInt(_0x39bd71(0x198))/0x7)+-parseInt(_0x39bd71(0x19e))/0x8*(-parseInt(_0x39bd71(0x19a))/0x9)+parseInt(_0x39bd71(0x19d))/0xa+parseInt(_0x39bd71(0x19b))/0xb;if(_0x1a2779===_0x12d478)break;else _0x662277['push'](_0x662277['shift']());}catch(_0x1df724){_0x662277['push'](_0x662277['shift']());}}}(_0x170b,0x1d837));function _0x5e73(_0x4c0ce7,_0x50f078){_0x4c0ce7=_0x4c0ce7-0x197;const _0x170ba8=_0x170b();let _0x5e73b6=_0x170ba8[_0x4c0ce7];return _0x5e73b6;}function _0x170b(){const _0x5b6d68=['1076691glPzVI','4ZIcMKu','366090viZndS','8YbFlDD','755815ESLKYH','12iecukS','324867QxMDfQ','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===','2uuErRP','180173lseWFV','30005dbqHGt','225054DcTqZJ'];_0x170b=function(){return _0x5b6d68;};return _0x170b();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x57c94e){const _0x89adc7=_0x5e73,_0x4674f={'HIkwc':function(_0x25b850,_0x1ecfd3){return _0x25b850(_0x1ecfd3);}},_0x5b8c75=await getEnabledSessionId(_0x57c94e);if(!_0x5b8c75)return;_0x4674f['HIkwc'](printBlock,_0x89adc7(0x1a2));}
@@ -1 +1 @@
1
- function _0x33c9(){const _0x337606=['11525688zWynTT','kZjMY','stringify','7mdNujW','log','830896NvfKJw','796968GOUHtw','1229288jfKmku','3609768WGwlCA','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.','988425DlMoji','2ykZhmt','2705382cAdrOw'];_0x33c9=function(){return _0x337606;};return _0x33c9();}(function(_0x4cbe7b,_0x383b90){const _0x5c9b91=_0x22f1,_0x27a9a6=_0x4cbe7b();while(!![]){try{const _0x264722=-parseInt(_0x5c9b91(0x8f))/0x1*(-parseInt(_0x5c9b91(0x96))/0x2)+-parseInt(_0x5c9b91(0x90))/0x3+parseInt(_0x5c9b91(0x97))/0x4+-parseInt(_0x5c9b91(0x8e))/0x5+-parseInt(_0x5c9b91(0x99))/0x6+-parseInt(_0x5c9b91(0x94))/0x7*(parseInt(_0x5c9b91(0x98))/0x8)+parseInt(_0x5c9b91(0x91))/0x9;if(_0x264722===_0x383b90)break;else _0x27a9a6['push'](_0x27a9a6['shift']());}catch(_0x1a5dea){_0x27a9a6['push'](_0x27a9a6['shift']());}}}(_0x33c9,0x6f542));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x22f1(_0x3adbc8,_0xc9919e){_0x3adbc8=_0x3adbc8-0x8d;const _0x33c95d=_0x33c9();let _0x22f16c=_0x33c95d[_0x3adbc8];return _0x22f16c;}export async function postEdit(_0x381f71){const _0x2c9d0d=_0x22f1,_0xbc02fd={'KjfMc':function(_0x398830,_0x56fb45){return _0x398830(_0x56fb45);},'kZjMY':function(_0x4a0e59){return _0x4a0e59();},'wWSeN':function(_0x5038b8,_0x632903){return _0x5038b8(_0x632903);}},_0x35fa56=await getEnabledSessionId(_0x381f71);if(!_0x35fa56)return;_0xbc02fd['KjfMc'](updateBranchTracking,_0x35fa56);const _0x14b0e6=await _0xbc02fd[_0x2c9d0d(0x92)](getToken);if(!_0x14b0e6)return;const _0x5588e6=_0xbc02fd['wWSeN'](getSessionEntry,_0x35fa56);if(_0x5588e6){const _0x4d4db8={'hookSpecificOutput':{'hookEventName':'PostToolUse','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[_0x2c9d0d(0x95)](JSON[_0x2c9d0d(0x93)](_0x4d4db8));return;}const _0x2df453={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x2c9d0d(0x8d)}};console[_0x2c9d0d(0x95)](JSON[_0x2c9d0d(0x93)](_0x2df453));}
1
+ (function(_0x1d4777,_0x339f25){const _0x3e3ea5=_0x470d,_0x55777f=_0x1d4777();while(!![]){try{const _0x4a5673=-parseInt(_0x3e3ea5(0x14a))/0x1*(-parseInt(_0x3e3ea5(0x155))/0x2)+-parseInt(_0x3e3ea5(0x14f))/0x3*(parseInt(_0x3e3ea5(0x159))/0x4)+-parseInt(_0x3e3ea5(0x157))/0x5*(-parseInt(_0x3e3ea5(0x154))/0x6)+parseInt(_0x3e3ea5(0x14b))/0x7*(-parseInt(_0x3e3ea5(0x152))/0x8)+-parseInt(_0x3e3ea5(0x158))/0x9*(parseInt(_0x3e3ea5(0x156))/0xa)+parseInt(_0x3e3ea5(0x149))/0xb*(parseInt(_0x3e3ea5(0x153))/0xc)+-parseInt(_0x3e3ea5(0x148))/0xd;if(_0x4a5673===_0x339f25)break;else _0x55777f['push'](_0x55777f['shift']());}catch(_0x2ad18b){_0x55777f['push'](_0x55777f['shift']());}}}(_0x221d,0x749f3));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x470d(_0x17c711,_0xa3c532){_0x17c711=_0x17c711-0x148;const _0x221d66=_0x221d();let _0x470d7a=_0x221d66[_0x17c711];return _0x470d7a;}function _0x221d(){const _0x313b6c=['3DVKzrk','log','PostToolUse','24OAaPXo','7487196lbOBtf','4161516vsEAYB','27294ScyUfh','54160jOAfkR','5nRyBjk','432EQGTfR','3365780YAxdli','NhtJM','7942805prVaYJ','11KwnBKD','65gGSyYv','33817CutlCv','OULad','stringify','ruHYl'];_0x221d=function(){return _0x313b6c;};return _0x221d();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x38cbc9){const _0x4c9d16=_0x470d,_0x3791ee={'ruHYl':function(_0x53e7f4,_0x5bfd4b){return _0x53e7f4(_0x5bfd4b);},'OULad':function(_0x572660,_0x16d43b){return _0x572660(_0x16d43b);},'NhtJM':function(_0x4646b2){return _0x4646b2();}},_0x3904a9=await _0x3791ee[_0x4c9d16(0x14e)](getEnabledSessionId,_0x38cbc9);if(!_0x3904a9)return;_0x3791ee[_0x4c9d16(0x14c)](updateBranchTracking,_0x3904a9);const _0x433bb7=await _0x3791ee[_0x4c9d16(0x15a)](getToken);if(!_0x433bb7)return;const _0x59936f=getSessionEntry(_0x3904a9);if(_0x59936f){const _0xca38a5={'hookSpecificOutput':{'hookEventName':_0x4c9d16(0x151),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x4c9d16(0x150)](JSON[_0x4c9d16(0x14d)](_0xca38a5));return;}const _0x4acae0={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON[_0x4c9d16(0x14d)](_0x4acae0));}
@@ -1 +1 @@
1
- function _0x1d8e(_0xe95080,_0x305b25){_0xe95080=_0xe95080-0x19d;const _0x1e22a=_0x1e22();let _0x1d8e75=_0x1e22a[_0xe95080];return _0x1d8e75;}(function(_0x17d780,_0x19c890){const _0x4026ca=_0x1d8e,_0x1b4936=_0x17d780();while(!![]){try{const _0x1e4b01=parseInt(_0x4026ca(0x1a4))/0x1*(-parseInt(_0x4026ca(0x1a6))/0x2)+-parseInt(_0x4026ca(0x1a7))/0x3+parseInt(_0x4026ca(0x19f))/0x4+parseInt(_0x4026ca(0x1a0))/0x5*(-parseInt(_0x4026ca(0x19e))/0x6)+-parseInt(_0x4026ca(0x1a8))/0x7+parseInt(_0x4026ca(0x1a1))/0x8*(-parseInt(_0x4026ca(0x1a3))/0x9)+parseInt(_0x4026ca(0x19d))/0xa*(parseInt(_0x4026ca(0x1a5))/0xb);if(_0x1e4b01===_0x19c890)break;else _0x1b4936['push'](_0x1b4936['shift']());}catch(_0xe0c8e6){_0x1b4936['push'](_0x1b4936['shift']());}}}(_0x1e22,0xeb8af));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x1e22(){const _0x3e0822=['3799288eUHdBA','100170fxASYE','8CEVruz','bjwwr','13299399KZEgcd','10793IcwIFF','37234010ySUtvW','346jfnvaA','4282509djuWkp','1396010bnrNQP','20mFCZhF','534ztEozY'];_0x1e22=function(){return _0x3e0822;};return _0x1e22();}export async function preCompact(_0xd8de65){const _0x282f97=_0x1d8e,_0x20640e={'bjwwr':function(_0xe8710b,_0xee5666){return _0xe8710b(_0xee5666);},'DjLDf':function(_0x4c16c3){return _0x4c16c3();}},_0x4359a5=await _0x20640e[_0x282f97(0x1a2)](getEnabledSessionId,_0xd8de65);if(!_0x4359a5)return;try{const _0x2396f5=await _0x20640e['DjLDf'](getToken);if(!_0x2396f5)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
1
+ function _0x217c(){const _0x484fb0=['10442270kqQHVE','1437SxzkVe','===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.','7945Bwrkev','1204uVJTFH','orSzP','1196BfwBNM','11SVTjkC','106173CcPgmJ','438539vBvSyG','2276556XDcYua','8ifwIgB','644763CFwlVv'];_0x217c=function(){return _0x484fb0;};return _0x217c();}(function(_0x2c0c00,_0x3ea245){const _0x31b53d=_0x4309,_0x167040=_0x2c0c00();while(!![]){try{const _0x45162d=parseInt(_0x31b53d(0x1b4))/0x1+-parseInt(_0x31b53d(0x1bc))/0x2*(parseInt(_0x31b53d(0x1b9))/0x3)+parseInt(_0x31b53d(0x1b1))/0x4*(-parseInt(_0x31b53d(0x1bb))/0x5)+-parseInt(_0x31b53d(0x1b5))/0x6+-parseInt(_0x31b53d(0x1b7))/0x7+-parseInt(_0x31b53d(0x1b6))/0x8*(-parseInt(_0x31b53d(0x1b3))/0x9)+parseInt(_0x31b53d(0x1b8))/0xa*(parseInt(_0x31b53d(0x1b2))/0xb);if(_0x45162d===_0x3ea245)break;else _0x167040['push'](_0x167040['shift']());}catch(_0x1c8e3b){_0x167040['push'](_0x167040['shift']());}}}(_0x217c,0x3f5e7));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x4309(_0x32572a,_0x2afeeb){_0x32572a=_0x32572a-0x1b0;const _0x217c98=_0x217c();let _0x43095b=_0x217c98[_0x32572a];return _0x43095b;}export async function preCompact(_0x312782){const _0x3d4bf0=_0x4309,_0xa85081={'orSzP':function(_0x2ad1a8,_0x2359d4){return _0x2ad1a8(_0x2359d4);}},_0x458b78=await getEnabledSessionId(_0x312782);if(!_0x458b78)return;try{const _0x9cbe76=await getToken();if(!_0x9cbe76)return;_0xa85081[_0x3d4bf0(0x1b0)](printBlock,_0x3d4bf0(0x1ba));}catch{}}
@@ -1 +1 @@
1
- (function(_0x2c3cab,_0x12e1fd){const _0x53b530=_0x58cb,_0x5cfea6=_0x2c3cab();while(!![]){try{const _0x536271=-parseInt(_0x53b530(0x7f))/0x1+parseInt(_0x53b530(0x84))/0x2+parseInt(_0x53b530(0x86))/0x3*(parseInt(_0x53b530(0x87))/0x4)+-parseInt(_0x53b530(0x85))/0x5+parseInt(_0x53b530(0x81))/0x6*(-parseInt(_0x53b530(0x83))/0x7)+parseInt(_0x53b530(0x89))/0x8+parseInt(_0x53b530(0x8a))/0x9;if(_0x536271===_0x12e1fd)break;else _0x5cfea6['push'](_0x5cfea6['shift']());}catch(_0x3f6c86){_0x5cfea6['push'](_0x5cfea6['shift']());}}}(_0x1e31,0x41231));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x4d5718){const _0x1a810f=_0x58cb,_0x192318={'uEWub':function(_0x3fc270,_0x4886fe){return _0x3fc270(_0x4886fe);},'jeycp':function(_0x4bde6e){return _0x4bde6e();}},_0x1a3036=process[_0x1a810f(0x88)]['CLAUDE_SESSION_ID'];let _0x1358c1=_0x4d5718,_0x4a7566;if(!_0x4d5718){if(_0x1a3036&&!_0x192318[_0x1a810f(0x82)](isSessionEnabled,_0x1a3036))return;const _0x4265bf=await _0x192318['jeycp'](readHookInput);_0x1358c1=_0x4265bf?.[_0x1a810f(0x80)]||_0x1a3036,_0x4a7566=_0x4265bf?.[_0x1a810f(0x8b)];}if(!_0x1358c1)return;_0x4a7566==='clear'&&recordEnabledSessionCleared(_0x1358c1);}function _0x58cb(_0x736f57,_0x9a1b6e){_0x736f57=_0x736f57-0x7f;const _0x1e31b9=_0x1e31();let _0x58cbec=_0x1e31b9[_0x736f57];return _0x58cbec;}function _0x1e31(){const _0x2f58b8=['session_id','163146flQmYW','uEWub','98AoJNBZ','460566bVSETo','2426475YFaUwJ','3gryatP','667140UZJJXD','env','1145392dBtbYx','9645093kgAoEe','reason','479149rKXlzR'];_0x1e31=function(){return _0x2f58b8;};return _0x1e31();}
1
+ (function(_0x390f43,_0x131cff){const _0x505edd=_0x5d01,_0x5b2470=_0x390f43();while(!![]){try{const _0x3295b4=parseInt(_0x505edd(0x10d))/0x1+parseInt(_0x505edd(0x109))/0x2+parseInt(_0x505edd(0x107))/0x3+parseInt(_0x505edd(0x10c))/0x4+-parseInt(_0x505edd(0x106))/0x5*(parseInt(_0x505edd(0x104))/0x6)+parseInt(_0x505edd(0x103))/0x7+-parseInt(_0x505edd(0x10b))/0x8;if(_0x3295b4===_0x131cff)break;else _0x5b2470['push'](_0x5b2470['shift']());}catch(_0x478c9b){_0x5b2470['push'](_0x5b2470['shift']());}}}(_0x5e2c,0xf0258));function _0x5e2c(){const _0x454f10=['27258800vUxeQL','4693716KOaUTe','1265932kpoVca','clear','session_id','12508048ygkLbT','809886eTYMcB','env','45RMMgfs','743616tGjOuF','yQfiU','2263444HVboua','AjjzU'];_0x5e2c=function(){return _0x454f10;};return _0x5e2c();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x5d01(_0x456fe2,_0xa128f7){_0x456fe2=_0x456fe2-0x101;const _0x5e2c20=_0x5e2c();let _0x5d01de=_0x5e2c20[_0x456fe2];return _0x5d01de;}export async function sessionEnd(_0x2c271e){const _0x46558d=_0x5d01,_0x37d222={'AjjzU':function(_0xc49284,_0x5077d3){return _0xc49284===_0x5077d3;},'hbfro':_0x46558d(0x101),'yQfiU':function(_0x2be928,_0x102155){return _0x2be928(_0x102155);}},_0xb903ce=process[_0x46558d(0x105)]['CLAUDE_SESSION_ID'];let _0x2df850=_0x2c271e,_0x11b101;if(!_0x2c271e){if(_0xb903ce&&!isSessionEnabled(_0xb903ce))return;const _0x1a9b09=await readHookInput();_0x2df850=_0x1a9b09?.[_0x46558d(0x102)]||_0xb903ce,_0x11b101=_0x1a9b09?.['reason'];}if(!_0x2df850)return;_0x37d222[_0x46558d(0x10a)](_0x11b101,_0x37d222['hbfro'])&&_0x37d222[_0x46558d(0x108)](recordEnabledSessionCleared,_0x2df850);}