@ranger-testing/ranger-cli 2.2.3 → 2.2.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 (67) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/browserSessionsApi.js +1 -1
  35. package/build/commands/utils/claudeConfig.js +1 -1
  36. package/build/commands/utils/claudePlugin.js +1 -1
  37. package/build/commands/utils/crypto.js +1 -1
  38. package/build/commands/utils/desirePathLog.js +1 -1
  39. package/build/commands/utils/deviceAuth.js +1 -1
  40. package/build/commands/utils/environment.js +1 -1
  41. package/build/commands/utils/featureApi.js +1 -1
  42. package/build/commands/utils/featureReportGenerator.js +1 -1
  43. package/build/commands/utils/fixWebmDuration.js +1 -1
  44. package/build/commands/utils/git.js +1 -1
  45. package/build/commands/utils/keychain.js +1 -1
  46. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  47. package/build/commands/utils/mcpImageBase64.js +1 -1
  48. package/build/commands/utils/model.js +1 -1
  49. package/build/commands/utils/opencodeConfig.js +1 -1
  50. package/build/commands/utils/profileMessages.js +1 -1
  51. package/build/commands/utils/profileSetupBanner.js +1 -1
  52. package/build/commands/utils/rangerConfig.js +1 -1
  53. package/build/commands/utils/rangerRoot.js +1 -1
  54. package/build/commands/utils/reportGenerator.js +1 -1
  55. package/build/commands/utils/retry.js +1 -1
  56. package/build/commands/utils/sessionCache.js +1 -1
  57. package/build/commands/utils/settings.js +1 -1
  58. package/build/commands/utils/skillContent.js +1 -1
  59. package/build/commands/utils/skills.js +1 -1
  60. package/build/commands/utils/stitchWebmFiles.js +1 -1
  61. package/build/commands/utils/telemetry.js +1 -1
  62. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  63. package/build/commands/utils/userApi.js +1 -1
  64. package/build/commands/utils/version.js +1 -1
  65. package/build/commands/verifyFeature.js +1 -1
  66. package/build/commands/verifyInBrowser.js +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x15cf67=_0x2b30;(function(_0x53fa54,_0x54ad58){const _0xeb5ad2=_0x2b30,_0x37e67e=_0x53fa54();while(!![]){try{const _0x2b3a52=parseInt(_0xeb5ad2(0x16a))/0x1*(parseInt(_0xeb5ad2(0x16d))/0x2)+parseInt(_0xeb5ad2(0x185))/0x3*(parseInt(_0xeb5ad2(0x184))/0x4)+-parseInt(_0xeb5ad2(0x187))/0x5+-parseInt(_0xeb5ad2(0x179))/0x6*(parseInt(_0xeb5ad2(0x171))/0x7)+-parseInt(_0xeb5ad2(0x176))/0x8*(parseInt(_0xeb5ad2(0x170))/0x9)+-parseInt(_0xeb5ad2(0x17c))/0xa+parseInt(_0xeb5ad2(0x186))/0xb;if(_0x2b3a52===_0x54ad58)break;else _0x37e67e['push'](_0x37e67e['shift']());}catch(_0x368958){_0x37e67e['push'](_0x37e67e['shift']());}}}(_0x25b5,0x1bc6f));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x2b30(_0x473cfe,_0x12cdb1){_0x473cfe=_0x473cfe-0x169;const _0x25b52f=_0x25b5();let _0x2b30a5=_0x25b52f[_0x473cfe];return _0x2b30a5;}function _0x25b5(){const _0x3ed502=['.txt','goChi','push','length','44gmRNWE','61431Gqucdu','4152236HHbMuz','819755QjpYqG','jyGHe','6kbQaur','bug-bashes','FvTDG','11626paeJDU','settings.json','baseUrl','829827azPLYr','11522RAuTgW','sWSmd','log','iuSHi','legacy','16wVOsrS','uPgaF','\x0a*\x20=\x20active\x20profile','336reuxdP','\x0aProfiles:','JGDqO','832930xLnSrd','nmasR','OOZhH','KmJSN'];_0x25b5=function(){return _0x3ed502;};return _0x25b5();}const NON_ENV_DIRS=['sessions',_0x15cf67(0x16b),'reports','local','ci'];export async function getEnvNames(){const _0x2f7aea=_0x15cf67,_0x161d28={'uPgaF':function(_0x341527){return _0x341527();},'JGDqO':function(_0x263679,_0x473018,_0x10ca68){return _0x263679(_0x473018,_0x10ca68);},'jyGHe':'local','sWSmd':function(_0x24d4b2,_0x2878dd){return _0x24d4b2(_0x2878dd);},'nmasR':function(_0xfdab83,_0x59f36d,_0x6939a7){return _0xfdab83(_0x59f36d,_0x6939a7);},'iuSHi':function(_0x320a54,_0x35c567){return _0x320a54(_0x35c567);},'gheBc':function(_0x2dacab,_0x2c845c){return _0x2dacab(_0x2c845c);},'OOZhH':_0x2f7aea(0x180),'uhseA':function(_0x3dc433,_0x53d184){return _0x3dc433(_0x53d184);},'FvTDG':'legacy'},_0x3af264=_0x161d28[_0x2f7aea(0x177)](getRangerDir);if(!existsSync(_0x3af264))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0xccb19f=await _0x161d28[_0x2f7aea(0x177)](readActiveProfileName),_0x405ce9=[],_0x3812c0={},_0x3c3539=_0x161d28['JGDqO'](join,_0x3af264,_0x161d28[_0x2f7aea(0x169)]);if(_0x161d28[_0x2f7aea(0x172)](existsSync,_0x3c3539)){const _0x30a1c3=await _0x161d28['sWSmd'](readdir,_0x3c3539);for(const _0x54191e of _0x30a1c3){const _0x3ff6dd=join(_0x3c3539,_0x54191e),_0x34c0ff=await _0x161d28[_0x2f7aea(0x172)](stat,_0x3ff6dd);_0x34c0ff['isDirectory']()&&(_0x405ce9['push'](_0x54191e),_0x3812c0[_0x54191e]='local');}}const _0x572f78=_0x161d28[_0x2f7aea(0x17d)](join,_0x3af264,'ci');if(existsSync(_0x572f78)){const _0x3d7215=await _0x161d28['iuSHi'](readdir,_0x572f78);for(const _0x117798 of _0x3d7215){const _0x31bb8f=_0x161d28[_0x2f7aea(0x17b)](join,_0x572f78,_0x117798),_0x70c2a=await _0x161d28[_0x2f7aea(0x174)](stat,_0x31bb8f);_0x70c2a['isDirectory']()&&(_0x405ce9[_0x2f7aea(0x182)](_0x117798),_0x3812c0[_0x117798]='ci');}}const _0x3c9886=await _0x161d28['gheBc'](readdir,_0x3af264);for(const _0x4d22b6 of _0x3c9886){if(NON_ENV_DIRS['includes'](_0x4d22b6))continue;if(_0x4d22b6['startsWith']('.'))continue;if(_0x4d22b6['endsWith'](_0x161d28[_0x2f7aea(0x17e)]))continue;const _0x2da026=join(_0x3af264,_0x4d22b6),_0x296fbe=await stat(_0x2da026);_0x296fbe['isDirectory']()&&_0x161d28['uhseA'](existsSync,_0x161d28['nmasR'](join,_0x2da026,_0x2f7aea(0x16e)))&&(!_0x405ce9['includes'](_0x4d22b6)&&(_0x405ce9['push'](_0x4d22b6),_0x3812c0[_0x4d22b6]=_0x161d28[_0x2f7aea(0x16c)]));}return{'envNames':_0x405ce9,'activeEnv':_0xccb19f,'envTypes':_0x3812c0};}export async function envList(){const _0x2da781=_0x15cf67,_0x3327a6={'KmJSN':function(_0x13c12d){return _0x13c12d();},'goChi':'\x0aNo\x20profiles\x20found.','humEk':'local'},{envNames:_0x20c029,activeEnv:_0x51a03e,envTypes:_0x5de8be}=await _0x3327a6[_0x2da781(0x17f)](getEnvNames);if(_0x20c029[_0x2da781(0x183)]===0x0){console['log'](_0x3327a6[_0x2da781(0x181)]),console['log']('Run:\x20ranger\x20profile\x20add\x20<profile-name>');return;}console[_0x2da781(0x173)](_0x2da781(0x17a));for(const _0x4ced1c of _0x20c029['sort']()){const _0x334793=_0x4ced1c===_0x51a03e,_0x355a28=_0x5de8be[_0x4ced1c]||_0x3327a6['humEk'],_0x5ae2fb=await loadSettings(_0x4ced1c),_0x1f1e0e=_0x355a28===_0x2da781(0x175)?'':'\x20['+_0x355a28+']';console['log']('\x20\x20'+(_0x334793?'*\x20':'\x20\x20')+_0x4ced1c+_0x1f1e0e),_0x5ae2fb[_0x2da781(0x16f)]&&console[_0x2da781(0x173)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x5ae2fb['baseUrl']),_0x5ae2fb['environmentDetails']&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x5ae2fb['environmentDetails']);}_0x51a03e&&console['log'](_0x2da781(0x178));}
1
+ const _0x4cb039=_0x4f57;(function(_0x4bccf9,_0x387b84){const _0x2c9c57=_0x4f57,_0x2e1bf7=_0x4bccf9();while(!![]){try{const _0x328e5c=parseInt(_0x2c9c57(0xcd))/0x1*(-parseInt(_0x2c9c57(0xcc))/0x2)+parseInt(_0x2c9c57(0xb7))/0x3*(-parseInt(_0x2c9c57(0xc0))/0x4)+-parseInt(_0x2c9c57(0xc7))/0x5*(-parseInt(_0x2c9c57(0xb3))/0x6)+-parseInt(_0x2c9c57(0xbf))/0x7*(-parseInt(_0x2c9c57(0xcb))/0x8)+parseInt(_0x2c9c57(0xca))/0x9+parseInt(_0x2c9c57(0xbb))/0xa+parseInt(_0x2c9c57(0xc4))/0xb*(-parseInt(_0x2c9c57(0xbc))/0xc);if(_0x328e5c===_0x387b84)break;else _0x2e1bf7['push'](_0x2e1bf7['shift']());}catch(_0x1b52c0){_0x2e1bf7['push'](_0x2e1bf7['shift']());}}}(_0x2fc0,0xedf45));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x2fc0(){const _0x3a2cbc=['32twSixd','652076AMnbqw','1saEHFY','includes','length','oBugY','\x20\x20\x20\x20\x20\x20URL:\x20','\x0aNo\x20profiles\x20found.','Run:\x20ranger\x20profile\x20add\x20<profile-name>','1290jNNEII','log','reports','pYWkE','38238misrNV','baseUrl','environmentDetails','\x0a*\x20=\x20active\x20profile','7427780Weyhvb','4105116CEYRxK','oMAda','push','1261267jgYZDO','236GbTfOy','bug-bashes','settings.json','local','33nxCZas','isDirectory','endsWith','10185pjsHXz','startsWith','NvZlf','10597815gWzbwE'];_0x2fc0=function(){return _0x3a2cbc;};return _0x2fc0();}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x4f57(_0x4446c3,_0x47326a){_0x4446c3=_0x4446c3-0xae;const _0x2fc0e2=_0x2fc0();let _0x4f57b8=_0x2fc0e2[_0x4446c3];return _0x4f57b8;}const NON_ENV_DIRS=['sessions',_0x4cb039(0xc1),_0x4cb039(0xb5),'local','ci'];export async function getEnvNames(){const _0x446db9=_0x4cb039,_0x37f178={'PBOTa':function(_0x231d6c,_0x34dca1){return _0x231d6c(_0x34dca1);},'AkqKY':function(_0xad285d){return _0xad285d();},'oMAda':_0x446db9(0xc3),'Rueep':function(_0x5ba9b1,_0x524fd7){return _0x5ba9b1(_0x524fd7);},'pYWkE':function(_0x297fa0,_0x42a0b2,_0x13512c){return _0x297fa0(_0x42a0b2,_0x13512c);},'NvZlf':function(_0x23b92e,_0x327849){return _0x23b92e(_0x327849);},'oBugY':function(_0x5df5f0,_0x51c128){return _0x5df5f0(_0x51c128);},'xDTxU':'.txt','tFmkf':function(_0x5dab5f,_0x21a43e,_0x5bf880){return _0x5dab5f(_0x21a43e,_0x5bf880);},'FndoV':function(_0x1d45bb,_0x3cbf00,_0x505d5b){return _0x1d45bb(_0x3cbf00,_0x505d5b);},'xbYPk':'legacy'},_0x38bb66=getRangerDir();if(!_0x37f178['PBOTa'](existsSync,_0x38bb66))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x28c678=await _0x37f178['AkqKY'](readActiveProfileName),_0x4caf5e=[],_0x24bd85={},_0x192e4f=join(_0x38bb66,_0x37f178[_0x446db9(0xbd)]);if(existsSync(_0x192e4f)){const _0x21496d=await _0x37f178['Rueep'](readdir,_0x192e4f);for(const _0x2930f0 of _0x21496d){const _0x59adec=_0x37f178['pYWkE'](join,_0x192e4f,_0x2930f0),_0x47305b=await _0x37f178['NvZlf'](stat,_0x59adec);_0x47305b[_0x446db9(0xc5)]()&&(_0x4caf5e[_0x446db9(0xbe)](_0x2930f0),_0x24bd85[_0x2930f0]=_0x37f178[_0x446db9(0xbd)]);}}const _0x29e2d2=_0x37f178[_0x446db9(0xb6)](join,_0x38bb66,'ci');if(existsSync(_0x29e2d2)){const _0x3093a7=await _0x37f178[_0x446db9(0xc9)](readdir,_0x29e2d2);for(const _0x24f811 of _0x3093a7){const _0x5b476b=_0x37f178[_0x446db9(0xb6)](join,_0x29e2d2,_0x24f811),_0x24f0c3=await stat(_0x5b476b);_0x24f0c3[_0x446db9(0xc5)]()&&(_0x4caf5e[_0x446db9(0xbe)](_0x24f811),_0x24bd85[_0x24f811]='ci');}}const _0x429a7a=await _0x37f178[_0x446db9(0xaf)](readdir,_0x38bb66);for(const _0x48aa25 of _0x429a7a){if(NON_ENV_DIRS[_0x446db9(0xce)](_0x48aa25))continue;if(_0x48aa25[_0x446db9(0xc8)]('.'))continue;if(_0x48aa25[_0x446db9(0xc6)](_0x37f178['xDTxU']))continue;const _0x5a8318=_0x37f178['tFmkf'](join,_0x38bb66,_0x48aa25),_0x4d8b7e=await _0x37f178['Rueep'](stat,_0x5a8318);_0x4d8b7e[_0x446db9(0xc5)]()&&existsSync(_0x37f178['FndoV'](join,_0x5a8318,_0x446db9(0xc2)))&&(!_0x4caf5e[_0x446db9(0xce)](_0x48aa25)&&(_0x4caf5e['push'](_0x48aa25),_0x24bd85[_0x48aa25]=_0x37f178['xbYPk']));}return{'envNames':_0x4caf5e,'activeEnv':_0x28c678,'envTypes':_0x24bd85};}export async function envList(){const _0x3d4186=_0x4cb039,_0x35c89c={'oBDBO':_0x3d4186(0xb1),'IzZWA':_0x3d4186(0xb2),'HpYxK':'\x0aProfiles:','zvVTY':'legacy'},{envNames:_0x405ed5,activeEnv:_0xe605a,envTypes:_0x2236b7}=await getEnvNames();if(_0x405ed5[_0x3d4186(0xae)]===0x0){console['log'](_0x35c89c['oBDBO']),console[_0x3d4186(0xb4)](_0x35c89c['IzZWA']);return;}console[_0x3d4186(0xb4)](_0x35c89c['HpYxK']);for(const _0x1f8920 of _0x405ed5['sort']()){const _0x35bfe4=_0x1f8920===_0xe605a,_0x58c6f5=_0x2236b7[_0x1f8920]||_0x3d4186(0xc3),_0x3baebe=await loadSettings(_0x1f8920),_0x1600b4=_0x58c6f5===_0x35c89c['zvVTY']?'':'\x20['+_0x58c6f5+']';console['log']('\x20\x20'+(_0x35bfe4?'*\x20':'\x20\x20')+_0x1f8920+_0x1600b4),_0x3baebe[_0x3d4186(0xb8)]&&console[_0x3d4186(0xb4)](_0x3d4186(0xb0)+_0x3baebe[_0x3d4186(0xb8)]),_0x3baebe['environmentDetails']&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x3baebe[_0x3d4186(0xb9)]);}_0xe605a&&console['log'](_0x3d4186(0xba));}
@@ -1 +1 @@
1
- (function(_0x40170a,_0x55c12e){const _0xa6de93=_0x4bac,_0x3d853d=_0x40170a();while(!![]){try{const _0x51e9da=parseInt(_0xa6de93(0x1fe))/0x1*(-parseInt(_0xa6de93(0x25d))/0x2)+parseInt(_0xa6de93(0x275))/0x3+-parseInt(_0xa6de93(0x1f2))/0x4*(-parseInt(_0xa6de93(0x248))/0x5)+-parseInt(_0xa6de93(0x1ff))/0x6*(parseInt(_0xa6de93(0x28e))/0x7)+-parseInt(_0xa6de93(0x207))/0x8+parseInt(_0xa6de93(0x20a))/0x9+-parseInt(_0xa6de93(0x24a))/0xa*(-parseInt(_0xa6de93(0x1ee))/0xb);if(_0x51e9da===_0x55c12e)break;else _0x3d853d['push'](_0x3d853d['shift']());}catch(_0x3165d8){_0x3d853d['push'](_0x3d853d['shift']());}}}(_0x58f3,0xd0d5e));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5eeedd from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x1c89d6=>'\x1b[1m'+_0x1c89d6+'\x1b[0m';function getGitRepoUrl(){const _0x150b80=_0x4bac,_0x351e02={'nWrwc':function(_0x4b1f1d,_0x3ef944,_0x192958){return _0x4b1f1d(_0x3ef944,_0x192958);},'FGnSK':'utf-8','LIxqi':'pipe'};try{const _0x3c709d=_0x351e02[_0x150b80(0x1f9)](execSync,_0x150b80(0x26a),{'encoding':_0x351e02[_0x150b80(0x1f7)],'stdio':[_0x150b80(0x25c),_0x351e02[_0x150b80(0x25e)],_0x351e02[_0x150b80(0x25e)]]})[_0x150b80(0x293)]();return _0x3c709d[_0x150b80(0x277)](/\.git$/,'')[_0x150b80(0x277)](/^git@github\.com:/,'github.com/')[_0x150b80(0x277)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x6f801a=_0x4bac,_0x4f92f9={'uMCOs':function(_0x5682dd,_0x11d674,_0x55c8fe){return _0x5682dd(_0x11d674,_0x55c8fe);},'ETiWm':_0x6f801a(0x243),'xDRrl':'pipe'};try{return _0x4f92f9[_0x6f801a(0x218)](execSync,_0x6f801a(0x209),{'encoding':_0x4f92f9['ETiWm'],'stdio':['pipe',_0x4f92f9[_0x6f801a(0x205)],_0x6f801a(0x25c)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3cb247=_0x4bac,_0x1d5826={'ZgfEb':function(_0x1ab241){return _0x1ab241();},'msfOx':_0x3cb247(0x243)},_0x3425af=join(_0x1d5826['ZgfEb'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x3425af))return null;try{const _0x112916=await readFile(_0x3425af,_0x1d5826['msfOx']);return _0x112916['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x262a24){const _0x448f29=_0x4bac,_0x5a3558={'YBgLI':function(_0x5492c8,_0x2a4f4c,_0x2e92bc,_0x20668e){return _0x5492c8(_0x2a4f4c,_0x2e92bc,_0x20668e);}},_0x298ed8=getRangerDir(),_0x2155de=join(_0x298ed8,ACTIVE_FEATURE_FILE);!existsSync(_0x298ed8)&&await mkdir(_0x298ed8,{'recursive':!![]}),await _0x5a3558[_0x448f29(0x246)](writeFile,_0x2155de,_0x262a24,_0x448f29(0x243));}function getProgressDisplay(_0x329b97){const _0x50ba59=_0x4bac,_0x220b82={'nSJch':function(_0x56d9f6,_0x3c3b02){return _0x56d9f6+_0x3c3b02;},'pMkcS':function(_0x411f9e,_0x5e0967){return _0x411f9e+_0x5e0967;},'rSEwg':function(_0x464b54,_0x23fc98){return _0x464b54-_0x23fc98;},'FnSmD':function(_0x5acd26,_0x182993){return _0x5acd26>_0x182993;},'gZAnc':function(_0x3044b0,_0x5787ef){return _0x3044b0>_0x5787ef;}},_0x520bd8=_0x329b97[_0x50ba59(0x253)]||0x0,_0x625454=_0x329b97[_0x50ba59(0x239)]||0x0,_0x3e82f3=_0x329b97[_0x50ba59(0x26f)]||0x0,_0x5e3a38=_0x329b97['incompleteItems']||0x0,_0x117f93=_0x329b97['pendingItems']||0x0,_0x1abccd=_0x220b82['nSJch'](_0x220b82[_0x50ba59(0x237)](_0x520bd8,_0x625454),_0x3e82f3)+_0x5e3a38+_0x117f93;if(_0x1abccd===0x0)return'-';const _0x240f9f=0xa,_0x1a44da=Math['round'](_0x520bd8/_0x1abccd*_0x240f9f),_0x1385d3='█'['repeat'](_0x1a44da)+'░'['repeat'](_0x220b82[_0x50ba59(0x213)](_0x240f9f,_0x1a44da)),_0x88738b=[];if(_0x3e82f3>0x0)_0x88738b['push'](_0x3e82f3+'\x20blocked');if(_0x5e3a38>0x0)_0x88738b[_0x50ba59(0x242)](_0x5e3a38+_0x50ba59(0x20c));if(_0x220b82[_0x50ba59(0x284)](_0x625454,0x0))_0x88738b[_0x50ba59(0x242)](_0x625454+'\x20in\x20progress');const _0x273ab4=_0x220b82[_0x50ba59(0x1fb)](_0x88738b['length'],0x0)?'\x20('+_0x88738b['join'](',\x20')+')':'';return _0x1385d3+'\x20'+_0x520bd8+'/'+_0x1abccd+'\x20verified'+_0x273ab4;}function getCurrentSessionItems(_0x2dacd7,_0x603786){const _0x481208=_0x4bac;if(!_0x2dacd7['currentSessionId'])return _0x603786['filter'](_0x3d5d6f=>!_0x3d5d6f['sessionId']);return _0x603786[_0x481208(0x278)](_0x161f31=>_0x161f31['sessionId']===_0x2dacd7['currentSessionId']||!_0x161f31[_0x481208(0x220)]);}function displayFeature(_0x3017e2,_0x29b837){const _0x20efda=_0x4bac,_0x453a04={'KiAso':function(_0x5c3ae0,_0x406ffc){return _0x5c3ae0>_0x406ffc;},'Cjpoo':function(_0x3791ad,_0x3c0421){return _0x3791ad<_0x3c0421;},'IuFos':_0x20efda(0x206),'gMjgi':function(_0x3018d,_0x13eef8){return _0x3018d===_0x13eef8;},'sfmHP':'approved','dWXmm':'verified','NDjcr':function(_0x1c5ee6,_0x3ebdcd){return _0x1c5ee6===_0x3ebdcd;},'NcoiU':function(_0xaa848e,_0x45f03b){return _0xaa848e!==_0x45f03b;},'GjcFF':'\x20[has\x20reviewer\x20feedback]','YaNgO':function(_0x2c51cc,_0x30a111){return _0x2c51cc+_0x30a111;},'iwjYI':_0x20efda(0x240),'hOXDX':function(_0x9fd4b,_0x3e3e90){return _0x9fd4b===_0x3e3e90;},'jFkBl':function(_0xecc225,_0x49f7c){return _0xecc225===_0x49f7c;}};console['log']('\x0a'+_0x3017e2['name']+'\x20('+_0x3017e2['dashboardUrl']+')');_0x3017e2[_0x20efda(0x1e0)]&&console[_0x20efda(0x217)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3017e2[_0x20efda(0x1e0)]));_0x3017e2[_0x20efda(0x1d6)]&&console['log'](_0x20efda(0x28d)+_0x3017e2['description']);_0x3017e2['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x3017e2['gitRepoUrl']);_0x3017e2['gitBranch']&&console['log'](_0x20efda(0x20f)+_0x3017e2['gitBranch']);console[_0x20efda(0x217)]('\x20\x20\x20Created:\x20'+new Date(_0x3017e2['createdAt'])['toLocaleString']());_0x3017e2[_0x20efda(0x23d)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3017e2[_0x20efda(0x23d)])['toLocaleString']());if(_0x29b837&&_0x453a04['KiAso'](_0x29b837[_0x20efda(0x1eb)],0x0)){console[_0x20efda(0x217)]('\x0a\x20\x20\x20Scenarios:');for(let _0x1d489d=0x0;_0x453a04['Cjpoo'](_0x1d489d,_0x29b837['length']);_0x1d489d++){const _0x4951d1=_0x29b837[_0x1d489d];let _0x1ffaf5;if(_0x4951d1[_0x20efda(0x25b)]===_0x453a04[_0x20efda(0x21f)]&&_0x453a04[_0x20efda(0x245)](_0x4951d1['terminalReason'],_0x453a04[_0x20efda(0x202)]))_0x1ffaf5='✅';else{if(_0x4951d1['status']===_0x453a04['dWXmm'])_0x1ffaf5='🟢';else{if(_0x4951d1[_0x20efda(0x25b)]==='incomplete')_0x1ffaf5='🟠';else{if(_0x453a04['gMjgi'](_0x4951d1['status'],'blocked'))_0x1ffaf5='🛑';else{if(_0x453a04['NDjcr'](_0x4951d1['status'],_0x453a04['IuFos']))_0x1ffaf5='⛔';else _0x4951d1['status']==='verification_in_progress'?_0x1ffaf5='⏳':_0x1ffaf5='⬜';}}}}const _0x26247a=_0x4951d1['version']>0x1?'\x20(v'+_0x4951d1['version']+')':'',_0x4f280e=_0x4951d1['version']>0x1&&_0x4951d1[_0x20efda(0x264)]&&_0x4951d1[_0x20efda(0x25b)]!=='closed'&&_0x453a04['NcoiU'](_0x4951d1['status'],_0x453a04['dWXmm'])?_0x453a04[_0x20efda(0x1f0)]:'';console[_0x20efda(0x217)](_0x20efda(0x221)+_0x453a04[_0x20efda(0x288)](_0x1d489d,0x1)+'.\x20'+_0x1ffaf5+'\x20'+_0x4951d1['description']+_0x26247a+_0x4f280e);_0x4951d1[_0x20efda(0x25b)]===_0x453a04['iwjYI']&&_0x4951d1['blockedReason']&&console[_0x20efda(0x217)](_0x20efda(0x289)+_0x4951d1['blockedReason']);_0x4951d1[_0x20efda(0x25b)]==='incomplete'&&_0x4951d1['incompleteReason']&&console['log'](_0x20efda(0x236)+_0x4951d1['incompleteReason']);if(_0x4951d1[_0x20efda(0x25b)]===_0x20efda(0x206)&&_0x453a04[_0x20efda(0x1e8)](_0x4951d1[_0x20efda(0x210)],'approved'))console[_0x20efda(0x217)](_0x20efda(0x235));else _0x453a04['jFkBl'](_0x4951d1['status'],_0x453a04[_0x20efda(0x21f)])&&_0x4951d1['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4951d1[_0x20efda(0x1ec)]);}}}function _0x4bac(_0x195396,_0xfebc9a){_0x195396=_0x195396-0x1d3;const _0x58f3a6=_0x58f3();let _0x4bac08=_0x58f3a6[_0x195396];return _0x4bac08;}export async function featureCreate(_0x19339c,_0x3f0d24){const _0x37b4d4=_0x4bac,_0xdbc751={'UomeD':function(_0x5a413a){return _0x5a413a();},'PHaYa':function(_0x45eee6,_0x5d9197){return _0x45eee6===_0x5d9197;},'Axpsc':function(_0x22a1f0,_0x4e32bc){return _0x22a1f0(_0x4e32bc);},'beoqp':function(_0x4c2307,_0x38024a,_0x165f01){return _0x4c2307(_0x38024a,_0x165f01);}},{envNames:_0x5f14de}=await _0xdbc751['UomeD'](getEnvNames);_0xdbc751['PHaYa'](_0x5f14de['length'],0x0)&&console[_0x37b4d4(0x23a)]('\x0a'+_0xdbc751[_0x37b4d4(0x1e7)](formatProfileRequiredMessage,_0x5285d2=>bold(_0x5285d2)));const _0xf8bd24=_0x3f0d24[_0x37b4d4(0x1f4)]?_0x3f0d24[_0x37b4d4(0x1f4)][_0x37b4d4(0x294)](_0x4edc4e=>_0x4edc4e['trim']()):[],_0x7fbd32=_0xdbc751[_0x37b4d4(0x201)](getGitRepoUrl),_0x5b2b83=getGitBranch();console['log']('\x0aCreating\x20feature\x20review...');const _0x1e9d55=await createFeature({'name':_0x19339c,'description':_0x3f0d24['description'],'checklist':_0xf8bd24,'gitRepoUrl':_0x7fbd32,'gitBranch':_0x5b2b83});await setActiveFeatureId(_0x1e9d55['id']),await _0xdbc751[_0x37b4d4(0x1e7)](tryStartCurrentSession,_0x1e9d55['id']);const _0x1d359f=process[_0x37b4d4(0x266)]['CLAUDE_SESSION_ID'];_0x1d359f&&_0xdbc751['beoqp'](registerSession,_0x1d359f,_0x1e9d55['id']),console['log'](_0x37b4d4(0x244)+_0x1e9d55['id']),displayFeature(_0x1e9d55,_0x1e9d55['checklistItems']),console['log'](_0x37b4d4(0x203));}export async function featureList(_0x2ca3fc){const _0x27a007=_0x4bac,_0x59dde3={'ZciFh':function(_0x803544){return _0x803544();},'RkkbC':function(_0x23d427,_0x144a32){return _0x23d427(_0x144a32);},'NHTLe':function(_0x451862,_0x43044b){return _0x451862>_0x43044b;},'WoVID':'\x20--include-deleted'},_0x4fcddf={'limit':_0x2ca3fc['limit']??0xa,'offset':_0x2ca3fc['offset']??0x0,'includeDeleted':_0x2ca3fc[_0x27a007(0x1d5)]};_0x2ca3fc[_0x27a007(0x1de)]&&(_0x4fcddf[_0x27a007(0x261)]=getGitRepoUrl(),_0x4fcddf[_0x27a007(0x22a)]=_0x59dde3[_0x27a007(0x226)](getGitBranch));const _0x11f637=await _0x59dde3['RkkbC'](listFeatures,_0x4fcddf);if(_0x11f637['items']['length']===0x0){console[_0x27a007(0x217)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x5ca8a3=_0x59dde3[_0x27a007(0x1f6)](_0x11f637['totalCount'],_0x11f637['items']['length'])?_0x27a007(0x27e)+_0x11f637[_0x27a007(0x1e3)][_0x27a007(0x1eb)]+_0x27a007(0x250)+_0x11f637[_0x27a007(0x252)]:_0x11f637[_0x27a007(0x252)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x5ca8a3+':\x0a');for(const _0x5ca130 of _0x11f637[_0x27a007(0x1e3)]){const _0x1e8a4b='0|3|2|4|1|5'[_0x27a007(0x23c)]('|');let _0x497f72=0x0;while(!![]){switch(_0x1e8a4b[_0x497f72++]){case'0':console[_0x27a007(0x217)](''+_0x5ca130[_0x27a007(0x259)]);continue;case'1':console['log'](_0x27a007(0x1e2)+new Date(_0x5ca130['createdAt'])[_0x27a007(0x234)]());continue;case'2':_0x5ca130['stats']&&console[_0x27a007(0x217)]('\x20\x20\x20Progress:\x20'+_0x59dde3['RkkbC'](getProgressDisplay,_0x5ca130['stats']));continue;case'3':console['log']('\x20\x20\x20ID:\x20'+_0x5ca130['id']);continue;case'4':_0x5ca130['gitBranch']&&console[_0x27a007(0x217)](_0x27a007(0x20f)+_0x5ca130['gitBranch']);continue;case'5':console[_0x27a007(0x217)]('');continue;}break;}}const _0x1ce94a=_0x4fcddf[_0x27a007(0x1fc)]??0xa,_0x177e3a=(_0x4fcddf[_0x27a007(0x27d)]??0x0)+_0x11f637['items'][_0x27a007(0x1eb)];if(_0x177e3a<_0x11f637['totalCount']){const _0x528ac0=_0x1ce94a!==0xa?'\x20--limit\x20'+_0x1ce94a:'',_0xc4f2d3=_0x2ca3fc['currentBranch']?'\x20--current-branch':'',_0x45eada=_0x2ca3fc[_0x27a007(0x1d5)]?_0x59dde3['WoVID']:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x177e3a+_0x528ac0+_0xc4f2d3+_0x45eada);}}export async function featureShow(_0x3c74f0){const _0x32bc72={'VywLT':function(_0x347bf3,_0x1aca6d){return _0x347bf3(_0x1aca6d);},'QyjSM':function(_0x413785,_0x524d3f,_0x3b4c0c){return _0x413785(_0x524d3f,_0x3b4c0c);}},_0x27e693=_0x3c74f0||await getActiveFeatureId();if(!_0x27e693)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x2f3367=await _0x32bc72['VywLT'](getFeature,_0x27e693);_0x32bc72['QyjSM'](displayFeature,_0x2f3367,_0x2f3367['checklistItems']);}export async function featureResume(_0x9be4f5){const _0x26b193=_0x4bac,_0x577ce1={'dWdxa':function(_0x192b1d,_0x495744){return _0x192b1d(_0x495744);},'wlrPq':function(_0x2086a9,_0xd5048b){return _0x2086a9(_0xd5048b);},'khjKo':function(_0x2b1e74){return _0x2b1e74();},'fYOJn':function(_0x3f2087,_0x1934f6,_0x15638a){return _0x3f2087(_0x1934f6,_0x15638a);},'kgNCl':function(_0x476257){return _0x476257();},'KAbyQ':function(_0x16615b){return _0x16615b();},'opDnV':function(_0x2c50c9,_0x8c0dd6){return _0x2c50c9&&_0x8c0dd6;},'cmfgH':function(_0x5b264f,_0x4cff2b){return _0x5b264f||_0x4cff2b;},'SiDaa':function(_0x4b1a30,_0x243381){return _0x4b1a30===_0x243381;},'vsNTY':_0x26b193(0x1d4),'fxwGU':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','hBbJp':'list','cTGDm':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','wHSRX':function(_0x33a66e,_0x22bee4){return _0x33a66e!==_0x22bee4;},'PjSBm':function(_0x43af52,_0x1bc5e5){return _0x43af52(_0x1bc5e5);},'UYSRZ':function(_0x3db589,_0x55d17b,_0x512bb0){return _0x3db589(_0x55d17b,_0x512bb0);}};if(_0x9be4f5){const _0x38c364=await _0x577ce1['dWdxa'](getFeature,_0x9be4f5);await _0x577ce1[_0x26b193(0x211)](setActiveFeatureId,_0x38c364['id']);const _0xe38918=_0x577ce1['khjKo'](getGitBranch);_0xe38918&&_0xe38918!==_0x38c364['gitBranch']&&(await _0x577ce1[_0x26b193(0x269)](updateFeature,_0x38c364['id'],{'gitBranch':_0xe38918}),console['log'](_0x26b193(0x23b)+_0xe38918));console[_0x26b193(0x217)](_0x26b193(0x24f)+_0x38c364['name']+'\x20('+_0x38c364['id']+')'),await tryStartCurrentSession(_0x38c364['id']);const _0x1c59c1=process[_0x26b193(0x266)][_0x26b193(0x20b)];_0x1c59c1&&registerSession(_0x1c59c1,_0x38c364['id']);_0x577ce1['fYOJn'](displayFeature,_0x38c364,_0x38c364['checklistItems']),await printFeedbackNudge(_0x38c364['id']);return;}const _0x4a75c1=_0x577ce1['kgNCl'](getGitRepoUrl),_0x2a3259=_0x577ce1['KAbyQ'](getGitBranch);if(_0x577ce1[_0x26b193(0x282)](!_0x4a75c1,!_0x2a3259))throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x26b193(0x217)](_0x26b193(0x1d3)+_0x577ce1[_0x26b193(0x274)](_0x4a75c1,'any')+_0x26b193(0x1fa)+(_0x2a3259||_0x26b193(0x295))+'...');const _0x273926=await listFeatures({'gitRepoUrl':_0x4a75c1,'gitBranch':_0x2a3259}),_0x30c538=_0x273926[_0x26b193(0x1e3)][_0x26b193(0x278)](_0x4b43f8=>!_0x4b43f8['completedAt']);if(_0x577ce1['SiDaa'](_0x30c538['length'],0x0)){console[_0x26b193(0x217)](_0x26b193(0x214)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x21f8ee;if(_0x30c538[_0x26b193(0x1eb)]===0x1)_0x21f8ee=_0x30c538[0x0];else{const _0x1b1786=process[_0x26b193(0x1fd)][_0x26b193(0x258)]&&process['stdout']['isTTY'];if(!_0x1b1786){console['log'](_0x577ce1['vsNTY']);for(const _0x12e252 of _0x30c538){console[_0x26b193(0x217)]('\x20\x20'+_0x12e252[_0x26b193(0x259)]),console[_0x26b193(0x217)](_0x26b193(0x27a)+_0x12e252['id']),_0x12e252[_0x26b193(0x1e0)]&&console[_0x26b193(0x217)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x12e252[_0x26b193(0x1e0)])),_0x12e252[_0x26b193(0x22a)]&&console[_0x26b193(0x217)](_0x26b193(0x1e9)+_0x12e252[_0x26b193(0x22a)]);}throw new Error(_0x577ce1['fxwGU']);}const {selected:_0x172c29}=await _0x5eeedd[_0x26b193(0x287)]([{'type':_0x577ce1['hBbJp'],'name':'selected','message':_0x577ce1[_0x26b193(0x27f)],'choices':_0x30c538['map'](_0x148036=>({'name':_0x148036['name']+'\x20('+_0x148036['id']+')','value':_0x148036['id']}))}]);_0x21f8ee=_0x30c538[_0x26b193(0x223)](_0xae5d51=>_0xae5d51['id']===_0x172c29);}await setActiveFeatureId(_0x21f8ee['id']);_0x2a3259&&_0x577ce1[_0x26b193(0x28c)](_0x2a3259,_0x21f8ee[_0x26b193(0x22a)])&&(await _0x577ce1[_0x26b193(0x269)](updateFeature,_0x21f8ee['id'],{'gitBranch':_0x2a3259}),console['log'](_0x26b193(0x23b)+_0x2a3259));console[_0x26b193(0x217)](_0x26b193(0x24f)+_0x21f8ee['name']+'\x20('+_0x21f8ee['id']+')'),await _0x577ce1[_0x26b193(0x263)](tryStartCurrentSession,_0x21f8ee['id']);const _0x2e1052=await getFeature(_0x21f8ee['id']),_0x12f70f=process['env'][_0x26b193(0x20b)];_0x12f70f&&_0x577ce1['fYOJn'](registerSession,_0x12f70f,_0x2e1052['id']),_0x577ce1[_0x26b193(0x24d)](displayFeature,_0x2e1052,_0x2e1052[_0x26b193(0x28a)]),await _0x577ce1['PjSBm'](printFeedbackNudge,_0x2e1052['id']);}async function printFeedbackNudge(_0x52d0cd){const _0x5d2015=_0x4bac,_0x2ebf44={'SzVaZ':function(_0x53358b,_0x5dfa68){return _0x53358b(_0x5dfa68);},'oSpbk':function(_0x4932b8,_0x5a516c,_0x1d8337){return _0x4932b8(_0x5a516c,_0x1d8337);},'owUen':function(_0x333178,_0x4cf818){return _0x333178>_0x4cf818;}};try{const {items:_0x5f263a}=await _0x2ebf44[_0x5d2015(0x1db)](getActionItems,_0x52d0cd);let _0x40c291=0x0,_0x31cfcb=0x0;for(const _0x5e5b1b of _0x5f263a){const _0x33d70b=await _0x2ebf44['oSpbk'](getItemFeedback,_0x52d0cd,_0x5e5b1b['id']);_0x33d70b['unaddressedComments']['length']>0x0&&(_0x40c291+=_0x33d70b[_0x5d2015(0x27c)]['length'],_0x31cfcb++);}_0x2ebf44['owUen'](_0x40c291,0x0)&&(console['log']('\x0a⚠️\x20\x20'+_0x40c291+_0x5d2015(0x216)+_0x31cfcb+'\x20scenario(s).'),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x495c57){const _0x5be9c4=_0x4bac,_0x2806da={'wWjNK':function(_0x1de292,_0x24a16a){return _0x1de292(_0x24a16a);},'fkqOV':function(_0x4f0e7e,_0x5b53a5,_0x415d6a){return _0x4f0e7e(_0x5b53a5,_0x415d6a);}};try{const {sessions:_0x52e362}=await _0x2806da[_0x5be9c4(0x1ed)](listFeatureSessions,_0x495c57),_0x4a154a=_0x52e362['find'](_0x48cca9=>_0x48cca9[_0x5be9c4(0x25b)]==='ready');_0x4a154a&&(await _0x2806da['fkqOV'](startSession,_0x495c57,_0x4a154a['id']),console['log'](_0x5be9c4(0x1df)+_0x4a154a[_0x5be9c4(0x238)]));}catch{}}export async function featureReport(_0xe0f39c,_0x619ffe){const _0x34894e=_0x4bac,_0x3daf44={'EJwgD':'\x0aGenerating\x20report...','ScbdB':function(_0x35316c,_0x291a28,_0x466976,_0x443da8){return _0x35316c(_0x291a28,_0x466976,_0x443da8);},'QdTEy':'reports','TqUrZ':function(_0x2474e6,_0x6d4a73,_0x4e3880){return _0x2474e6(_0x6d4a73,_0x4e3880);}},_0x1f45a1=_0xe0f39c||await getActiveFeatureId();if(!_0x1f45a1)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x3daf44['EJwgD']);const _0x5961f1=await getFeatureReportMarkdown(_0x1f45a1,{'style':_0x619ffe['style']}),_0x5f37d6=_0x619ffe['output']||_0x3daf44[_0x34894e(0x21c)](join,getRangerDir(),_0x3daf44['QdTEy'],_0x1f45a1+_0x34894e(0x276)),_0x4a67e0=join(_0x5f37d6,'..');!existsSync(_0x4a67e0)&&await _0x3daf44['TqUrZ'](mkdir,_0x4a67e0,{'recursive':!![]}),await writeFile(_0x5f37d6,_0x5961f1,_0x34894e(0x243)),console[_0x34894e(0x217)]('\x0a✅\x20Report\x20generated:\x20'+_0x5f37d6);}function getScenarioResult(_0x2c8ad0){const _0x245d74=_0x4bac,_0x50e619={'IHhru':'closed','nBGeK':function(_0x3aa5b7,_0x4978a0){return _0x3aa5b7===_0x4978a0;}};if(_0x2c8ad0['status']===_0x50e619[_0x245d74(0x23e)])return _0x2c8ad0['terminalReason']??_0x50e619['IHhru'];if(_0x50e619['nBGeK'](_0x2c8ad0[_0x245d74(0x25b)],_0x245d74(0x28b)))return'in_progress';return _0x2c8ad0[_0x245d74(0x25b)];}function getScenarioRationale(_0x5b554e,_0x2bbbfd){const _0x405c76=_0x4bac;if(_0x2bbbfd)return _0x2bbbfd;if(_0x5b554e[_0x405c76(0x279)])return _0x5b554e[_0x405c76(0x279)];if(_0x5b554e['incompleteReason'])return _0x5b554e['incompleteReason'];if(_0x5b554e[_0x405c76(0x1ec)])return _0x5b554e['canceledReason'];if(_0x5b554e['notes'])return _0x5b554e[_0x405c76(0x26b)];return null;}export async function featureReportPrDescription(_0x1316d4,_0x341bff){const _0x3b07f7=_0x4bac,_0x44e857={'mUyfI':function(_0x1a8172){return _0x1a8172();},'AnGgC':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','hLEIS':function(_0x526000,_0x48fea0){return _0x526000>_0x48fea0;},'CDQEu':'\x0aAvailable\x20scenarios:','lUjtT':function(_0x5cfdef,_0x1f52fe){return _0x5cfdef<_0x1f52fe;},'VlXBt':function(_0x295673,_0x31adb4){return _0x295673+_0x31adb4;},'iEsQx':function(_0x183076,_0x26b2c3){return _0x183076===_0x26b2c3;},'uQWal':_0x3b07f7(0x270)},_0x5853c6=_0x1316d4||await _0x44e857['mUyfI'](getActiveFeatureId);if(!_0x5853c6)throw new Error(_0x44e857['AnGgC']);const _0x519407=await getFeature(_0x5853c6),_0xc5bf79=_0x519407['checklistItems']||[],_0x2ec963=getCurrentSessionItems(_0x519407,_0xc5bf79);_0x2ec963['length']===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0x3b07f7(0x1f5)](0x1));const _0x12eee9=_0x341bff[_0x3b07f7(0x1d7)]??[],_0x3be1d1=_0x12eee9[_0x3b07f7(0x278)](_0x34c2f7=>!Number['isInteger'](_0x34c2f7)||_0x34c2f7<0x1||_0x34c2f7>_0x2ec963['length']);if(_0x44e857['hLEIS'](_0x3be1d1[_0x3b07f7(0x1eb)],0x0)){console['error'](_0x3b07f7(0x292)+_0x3be1d1['join'](',\x20')),console[_0x3b07f7(0x217)](_0x44e857[_0x3b07f7(0x21b)]);for(let _0x270b4f=0x0;_0x44e857['lUjtT'](_0x270b4f,_0x2ec963[_0x3b07f7(0x1eb)]);_0x270b4f++){console['log']('\x20\x20'+_0x44e857['VlXBt'](_0x270b4f,0x1)+'.\x20'+_0x2ec963[_0x270b4f]['description']);}process['exit'](0x1);}const _0x429286=new Set(_0x12eee9[_0x3b07f7(0x294)](_0x3001bb=>_0x3001bb-0x1)),_0x5e0bdb=_0x2ec963[_0x3b07f7(0x278)]((_0x123b6f,_0x371742)=>!_0x429286[_0x3b07f7(0x21d)](_0x371742));_0x44e857[_0x3b07f7(0x268)](_0x5e0bdb['length'],0x0)&&(console[_0x3b07f7(0x232)](_0x44e857[_0x3b07f7(0x273)]),process['exit'](0x1));if(_0x341bff[_0x3b07f7(0x22b)])await outputJsonReport(_0x5853c6,_0x519407,_0x5e0bdb);else{const _0x3f2d77=await getFeatureReportMarkdown(_0x5853c6,{'itemIds':_0x5e0bdb[_0x3b07f7(0x294)](_0x27eb56=>_0x27eb56['id'])});process['stdout']['write'](_0x3f2d77[_0x3b07f7(0x208)]()+'\x0a');}}async function outputJsonReport(_0x4bb312,_0x49fe4a,_0x188d9e){const _0x3a0b7a=_0x4bac,_0x44f1e2={'UJEFm':function(_0x1a73d7,_0x3996e3){return _0x1a73d7+_0x3996e3;}},_0x4029e2=getApiBaseUrl(),_0x49b981=await getFeatureReport(_0x4bb312),_0x172048=new Map(_0x49b981['checklistItems'][_0x3a0b7a(0x294)](_0x25758a=>[_0x25758a['id'],_0x25758a])),_0x48a789=await Promise['all'](_0x188d9e['map'](async _0xbb3916=>{const _0x5e3acb=_0x3a0b7a,_0x204174=_0x172048['get'](_0xbb3916['id']),_0x5b12b4=_0x204174?.['linkedSession']??null;let _0xdfb4b8=[];if(_0xbb3916[_0x5e3acb(0x1e5)])try{const {steps:_0x51b9fc}=await getBrowserSessionSteps(_0xbb3916['browserSessionId']);_0x51b9fc[_0x5e3acb(0x1eb)]>0x0&&(_0xdfb4b8=_0x51b9fc[_0x5e3acb(0x294)](_0x162c81=>{const _0x3df8a8=_0x5e3acb,_0x2d9739=_0x162c81['assets']['find'](_0x510544=>_0x510544[_0x3df8a8(0x1d9)]==='screenshot'&&_0x510544['timing']===_0x3df8a8(0x219))??_0x162c81['assets']['find'](_0x408ca9=>_0x408ca9[_0x3df8a8(0x1d9)]==='screenshot');let _0x50e754=null,_0x567436=null;if(_0x2d9739){const _0x50ee0e=_0x2d9739[_0x3df8a8(0x241)][_0x3df8a8(0x1f8)]['split']('/')[_0x3df8a8(0x229)]();_0x50e754=_0x4029e2+_0x3df8a8(0x1f1)+_0xbb3916['browserSessionId']+_0x3df8a8(0x255)+_0x50ee0e,_0x50ee0e&&(_0x567436=_0x50ee0e['replace'](/\.\w+$/,'')[_0x3df8a8(0x277)](/^(key_)?\d+_/,'')[_0x3df8a8(0x277)](/[-_]/g,'\x20'));}return{'description':_0x567436||_0x162c81['description']||_0x162c81[_0x3df8a8(0x254)]||_0x3df8a8(0x272)+_0x162c81['position'],'screenshot':_0x50e754,'is_key_step':_0x162c81[_0x3df8a8(0x249)]};}));}catch{}return _0xdfb4b8[_0x5e3acb(0x1eb)]===0x0&&_0x5b12b4?.[_0x5e3acb(0x215)]&&(_0xdfb4b8=_0x5b12b4['screenshotUrls'][_0x5e3acb(0x294)]((_0x5cc215,_0x31a99e)=>({'description':'Screenshot\x20'+(_0x31a99e+0x1),'screenshot':_0x5cc215,'is_key_step':![]}))),{'description':_0xbb3916[_0x5e3acb(0x1d6)],'result':getScenarioResult(_0xbb3916),'rationale':getScenarioRationale(_0xbb3916,_0x5b12b4?.['agentResponse']),'steps':_0xdfb4b8};})),_0x408681={'url':_0x49fe4a[_0x3a0b7a(0x251)],'scenarios':_0x48a789};process['stdout']['write'](_0x44f1e2['UJEFm'](JSON[_0x3a0b7a(0x212)](_0x408681,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x22d79d){const _0x55916b=_0x4bac,_0x4d655e={'wYhkl':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','HTBMo':'completed','fPfvW':function(_0x43a34b,_0x12c35a){return _0x43a34b!==_0x12c35a;},'jNINu':'\x0aConcluding\x20session...','bVPnX':function(_0x587542,_0x3c5847,_0x3a5da9){return _0x587542(_0x3c5847,_0x3a5da9);}},_0x3cdb38=_0x22d79d||await getActiveFeatureId();if(!_0x3cdb38)throw new Error(_0x55916b(0x280));const _0x2c89ed=await getFeature(_0x3cdb38);if(!_0x2c89ed['currentSessionId'])throw new Error(_0x4d655e[_0x55916b(0x224)]);const {sessions:_0x4b1aca}=await listFeatureSessions(_0x3cdb38),_0x1c5248=_0x4b1aca[_0x55916b(0x223)](_0x29a8d6=>_0x29a8d6['id']===_0x2c89ed['currentSessionId']);if(!_0x1c5248)throw new Error('Current\x20session\x20not\x20found.');if(_0x1c5248['status']===_0x4d655e['HTBMo']){console[_0x55916b(0x217)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x4d655e['fPfvW'](_0x1c5248[_0x55916b(0x25b)],_0x55916b(0x286)))throw new Error(_0x55916b(0x1e4)+_0x1c5248[_0x55916b(0x25b)]);console[_0x55916b(0x217)](_0x4d655e['jNINu']),await _0x4d655e[_0x55916b(0x22f)](concludeSession,_0x3cdb38,_0x2c89ed['currentSessionId']),console['log'](_0x55916b(0x283)+_0x1c5248[_0x55916b(0x238)]+'\x20concluded.'),console['log'](_0x55916b(0x296));}export async function featureSessions(_0x1b6aa7){const _0x3fa419=_0x4bac,_0x307658={'mKDGc':function(_0x25d587,_0x1bb34c){return _0x25d587(_0x1bb34c);},'PAcPC':function(_0x21c725,_0x5c88c3){return _0x21c725===_0x5c88c3;},'SgtEt':function(_0x3531b7,_0x3e5863){return _0x3531b7===_0x3e5863;}},_0x5555d2=_0x1b6aa7||await getActiveFeatureId();if(!_0x5555d2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5a97e0=await getFeature(_0x5555d2);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5a97e0['name']+'\x0a');const {sessions:_0x464da5}=await _0x307658['mKDGc'](listFeatureSessions,_0x5555d2);if(_0x464da5[_0x3fa419(0x1eb)]===0x0){console['log'](_0x3fa419(0x1f3));return;}for(const _0x5352da of _0x464da5){const _0x3fe2bf=_0x307658['PAcPC'](_0x5352da[_0x3fa419(0x25b)],'completed')?'✅':_0x307658['SgtEt'](_0x5352da['status'],'in_progress')?'🔄':'▶️';console['log'](_0x3fe2bf+_0x3fa419(0x1ef)+_0x5352da['iteration']+'\x20('+_0x5352da['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x5352da[_0x3fa419(0x25b)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x5352da[_0x3fa419(0x1dd)])['toLocaleString']()),_0x5352da[_0x3fa419(0x23d)]&&console['log'](_0x3fa419(0x233)+new Date(_0x5352da[_0x3fa419(0x23d)])['toLocaleString']()),console[_0x3fa419(0x217)]('');}}export async function featureAddScenario(_0x409b71,_0x241387){const _0x448804=_0x4bac,_0x46545b={'oPxVv':function(_0x5d7d14,_0x16083b){return _0x5d7d14(_0x16083b);},'UQkXm':function(_0x3f4b35,_0x18529c,_0x4caaca){return _0x3f4b35(_0x18529c,_0x4caaca);},'eVkTC':function(_0x2dd909,_0x14288d,_0xd2b13){return _0x2dd909(_0x14288d,_0xd2b13);}},_0x59529f=_0x241387||await getActiveFeatureId();if(!_0x59529f)throw new Error(_0x448804(0x280));const _0x43a7ce=await _0x46545b['oPxVv'](getFeature,_0x59529f);if(_0x43a7ce[_0x448804(0x20d)]&&!_0x43a7ce['latestReview'][_0x448804(0x26e)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x43a7ce[_0x448804(0x251)]);await _0x46545b['UQkXm'](createChecklistItem,_0x59529f,_0x409b71);const _0x4303d9=await getFeature(_0x59529f);console['log'](_0x448804(0x25a)),_0x46545b[_0x448804(0x1da)](displayFeature,_0x4303d9,_0x4303d9[_0x448804(0x28a)]);}export async function featureEditScenario(_0x46ee19,_0x4aea8f){const _0x25845a=_0x4bac,_0x1d71c0={'mKPyy':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','LTzxp':function(_0x2b7aaf,_0x2aa91b){return _0x2b7aaf<_0x2aa91b;},'jVqXG':function(_0x3df8b2,_0x3e000f){return _0x3df8b2+_0x3e000f;},'rCDhq':function(_0x17d7a5,_0x4518b4,_0x599ca1,_0x452cde){return _0x17d7a5(_0x4518b4,_0x599ca1,_0x452cde);},'IRMiM':function(_0x196992,_0x4f3091,_0xe9e817){return _0x196992(_0x4f3091,_0xe9e817);}},_0x2ed92c=_0x4aea8f['id']||await getActiveFeatureId();!_0x2ed92c&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x25845a(0x232)](_0x1d71c0['mKPyy']),process[_0x25845a(0x1f5)](0x1));const _0x52a710=await getFeature(_0x2ed92c);_0x52a710['latestReview']&&!_0x52a710['latestReview']['submittedAt']&&(console[_0x25845a(0x232)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x25845a(0x232)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x25845a(0x232)]('\x20\x20'+_0x52a710['dashboardUrl']),process['exit'](0x1));const _0xbd74e5=_0x52a710['checklistItems']||[];_0xbd74e5['length']===0x0&&(console[_0x25845a(0x232)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x25845a(0x1f5)](0x1));if(_0x4aea8f['scenario']===undefined){console[_0x25845a(0x232)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x25845a(0x285));for(let _0x3872e0=0x0;_0x3872e0<_0xbd74e5[_0x25845a(0x1eb)];_0x3872e0++){console['log']('\x20\x20'+(_0x3872e0+0x1)+'.\x20'+_0xbd74e5[_0x3872e0]['description']);}process[_0x25845a(0x1f5)](0x1);}const _0x1d0716=_0x4aea8f['scenario']-0x1;if(_0x1d0716<0x0||_0x1d0716>=_0xbd74e5['length']){console[_0x25845a(0x232)](_0x25845a(0x297)+_0x4aea8f[_0x25845a(0x23f)]+'.\x20Feature\x20review\x20has\x20'+_0xbd74e5[_0x25845a(0x1eb)]+'\x20scenarios.'),console['log'](_0x25845a(0x285));for(let _0x4354e4=0x0;_0x1d71c0['LTzxp'](_0x4354e4,_0xbd74e5['length']);_0x4354e4++){console[_0x25845a(0x217)]('\x20\x20'+_0x1d71c0[_0x25845a(0x204)](_0x4354e4,0x1)+'.\x20'+_0xbd74e5[_0x4354e4][_0x25845a(0x1d6)]);}process[_0x25845a(0x1f5)](0x1);}const _0xf6e59a=_0xbd74e5[_0x1d0716];await _0x1d71c0[_0x25845a(0x20e)](updateChecklistItem,_0x2ed92c,_0xf6e59a['id'],{'description':_0x46ee19});const _0x160bb0=await getFeature(_0x2ed92c);console['log']('\x0a✅\x20Scenario\x20updated'),_0x1d71c0[_0x25845a(0x256)](displayFeature,_0x160bb0,_0x160bb0['checklistItems']);}function _0x58f3(){const _0x5ab8f0=['pMkcS','iteration','verificationInProgressItems','warn','\x20\x20\x20Updated\x20branch\x20to:\x20','split','completedAt','IHhru','scenario','blocked','storage','push','utf-8','\x0a✅\x20Feature\x20review\x20created:\x20','gMjgi','YBgLI','toFixed','5pQBNBW','isKeyStep','13649650PBZeug','UKiNh','Qkkwl','UYSRZ','domRef','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x20of\x20','dashboardUrl','totalCount','verifiedItems','stepName','/artifacts/','IRMiM','join','isTTY','name','\x0a✅\x20Scenario\x20added','status','pipe','97252vzTWIO','LIxqi','\x20>\x20','No\x20scenarios\x20found.','gitRepoUrl','yzdai','PjSBm','parentItemId','authorName','env','\x20\x20💬\x20','iEsQx','fYOJn','git\x20remote\x20get-url\x20origin','notes','\x20—\x20no\x20comments','comment_','submittedAt','blockedItems','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','VRSum','Step\x20','uQWal','cmfgH','2634270reZpWn','.md','replace','filter','blockedReason','\x20\x20\x20\x20\x20ID:\x20','type','unaddressedComments','offset','Showing\x20','cTGDm','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review',':\x20\x22','opDnV','\x0a✅\x20Session\x20','FnSmD','\x0aAvailable\x20scenarios:','in_progress','prompt','YaNgO','\x20\x20\x20\x20\x20\x20Blocked:\x20','checklistItems','verification_in_progress','wHSRX','\x20\x20\x20Description:\x20','30569XwTLQL','ylzFf','MvAPo','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','trim','map','any','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','includeDeleted','description','excludeScenarios','\x20\x20Expected\x20flow:','assetType','eVkTC','SzVaZ','nDROA','createdAt','currentBranch','\x20\x20\x20▶️\x20Started\x20session\x20','stats','canonicalFlow','\x20\x20\x20Created:\x20','items','Cannot\x20conclude\x20session\x20with\x20status:\x20','browserSessionId','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','Axpsc','hOXDX','\x20\x20\x20\x20\x20Branch:\x20','GSbOC','length','canceledReason','wWjNK','11SHZCxN','\x20Session\x20','GjcFF','/api/v1/mcp/browser-sessions/','1534396RGoAAC','No\x20sessions\x20found.','scenarios','exit','NHTLe','FGnSK','location','nWrwc','\x20/\x20','gZAnc','limit','stdin','31nppZFi','78FzqOVr','content','UomeD','sfmHP','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','jVqXG','xDRrl','closed','8777840nyZIHq','trimEnd','git\x20rev-parse\x20--abbrev-ref\x20HEAD','8011287VTiLtv','CLAUDE_SESSION_ID','\x20incomplete','latestReview','rCDhq','\x20\x20\x20Branch:\x20','terminalReason','wlrPq','stringify','rSEwg','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','screenshotUrls','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','log','uMCOs','after','version','CDQEu','ScbdB','has','GhmJT','IuFos','sessionId','\x20\x20\x20','):\x20\x22','find','wYhkl','slice','ZciFh','\x20at\x20[','spatial','pop','gitBranch','json','Scenario\x20','feedback-images','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','bVPnX','TsGQs','\x20\x20\x20\x20\x20📋\x20Selector:\x20','error','\x20\x20\x20Completed:\x20','toLocaleDateString','\x20\x20\x20\x20\x20\x20Approved','\x20\x20\x20\x20\x20\x20Incomplete:\x20'];_0x58f3=function(){return _0x5ab8f0;};return _0x58f3();}async function downloadFeedbackImage(_0x159d49,_0x262ccc){const _0x4e268f=_0x4bac,_0x49a552={'cjMui':function(_0x2e4fed){return _0x2e4fed();},'sVfoL':function(_0x59cb25,_0x183eae,_0x108a8e){return _0x59cb25(_0x183eae,_0x108a8e);},'okSgs':function(_0x37f55c,_0x27b82e){return _0x37f55c(_0x27b82e);}};try{const _0xa8dd94=join(_0x49a552['cjMui'](getRangerDir),_0x4e268f(0x22d));await mkdir(_0xa8dd94,{'recursive':!![]});const _0x3dcb83=_0x49a552['sVfoL'](join,_0xa8dd94,_0x4e268f(0x26d)+_0x262ccc+'.png'),_0x2b4ca0=await _0x49a552['okSgs'](fetch,_0x159d49);if(!_0x2b4ca0['ok'])return null;const _0x4e1fa1=Buffer['from'](await _0x2b4ca0['arrayBuffer']());return await _0x49a552['sVfoL'](writeFile,_0x3dcb83,_0x4e1fa1),_0x3dcb83;}catch{return null;}}export async function featureGetReview(_0x588db5){const _0x357ae3=_0x4bac,_0x4e196e={'yzdai':function(_0x1ce15c){return _0x1ce15c();},'RjWPJ':_0x357ae3(0x280),'UKiNh':function(_0x21f8f9,_0x195347){return _0x21f8f9===_0x195347;},'GSbOC':function(_0x2de0a3,_0x4f11ea){return _0x2de0a3<_0x4f11ea;},'VRSum':function(_0x3dc53a,_0x49868c){return _0x3dc53a>_0x49868c;},'TnrSf':'short','Qkkwl':function(_0xd46888,_0x4fe061,_0x6eb17b){return _0xd46888(_0x4fe061,_0x6eb17b);},'vwzeu':_0x357ae3(0x25f),'lntxY':'element','eoeJP':function(_0x1f0e8f,_0x43028c){return _0x1f0e8f===_0x43028c;},'nDROA':function(_0x40c575,_0x449d5f){return _0x40c575>=_0x449d5f;},'uXuIw':function(_0x27b689,_0x103605){return _0x27b689+_0x103605;}},_0x212abd=_0x588db5||await _0x4e196e[_0x357ae3(0x262)](getActiveFeatureId);if(!_0x212abd)throw new Error(_0x4e196e['RjWPJ']);const _0x420a6b=await getFeature(_0x212abd),{items:_0xea0c12}=await getActionItems(_0x212abd);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x420a6b[_0x357ae3(0x259)]+'\x20('+_0x420a6b['id']+')\x0a');if(_0x4e196e[_0x357ae3(0x24b)](_0xea0c12[_0x357ae3(0x1eb)],0x0)){console[_0x357ae3(0x217)](_0x357ae3(0x260));return;}for(let _0x1f9f36=0x0;_0x4e196e[_0x357ae3(0x1ea)](_0x1f9f36,_0xea0c12[_0x357ae3(0x1eb)]);_0x1f9f36++){const _0x419e24=_0xea0c12[_0x1f9f36],_0x4a020f=_0x4e196e[_0x357ae3(0x271)](_0x419e24[_0x357ae3(0x21a)],0x1)?'\x20(v'+_0x419e24['version']+')':'',_0x24ecb7=await getItemFeedback(_0x212abd,_0x419e24['id']);if(_0x24ecb7['unaddressedComments']['length']>0x0){console[_0x357ae3(0x217)](_0x357ae3(0x22c)+(_0x1f9f36+0x1)+_0x357ae3(0x281)+_0x419e24['description']+'\x22'+_0x4a020f+'\x20—\x20'+_0x24ecb7['unaddressedComments'][_0x357ae3(0x1eb)]+'\x20unaddressed\x20comment(s)');for(const _0x4c57c7 of _0x24ecb7['unaddressedComments']){const _0x3c191b=new Date(_0x4c57c7['createdAt'])[_0x357ae3(0x234)]('en-US',{'month':_0x4e196e['TnrSf'],'day':'numeric'}),_0x548f76=_0x4c57c7[_0x357ae3(0x265)]||_0x4c57c7['authorEmail']||'Unknown';console['log'](_0x357ae3(0x267)+_0x548f76+'\x20('+_0x3c191b+_0x357ae3(0x222)+_0x4c57c7[_0x357ae3(0x200)]+'\x22');if(_0x4c57c7['assetUrl']){const _0x41b4fd=await _0x4e196e[_0x357ae3(0x24c)](downloadFeedbackImage,_0x4c57c7['assetUrl'],_0x4c57c7['id']);_0x41b4fd&&console[_0x357ae3(0x217)](_0x357ae3(0x22e)+_0x41b4fd);}if(_0x4c57c7['domRef']){const _0x32bff8=_0x4c57c7[_0x357ae3(0x24e)]['selector'][_0x357ae3(0x23c)](_0x4e196e['vwzeu'])[_0x357ae3(0x229)]()?.['split'](':')[0x0]||_0x4e196e['lntxY'],_0x572dfd=_0x4c57c7['domRef']['textContent']?'\x20\x22'+_0x4c57c7[_0x357ae3(0x24e)]['textContent'][_0x357ae3(0x225)](0x0,0x3c)+'\x22':'';console[_0x357ae3(0x217)](_0x357ae3(0x291)+_0x32bff8+'>'+_0x572dfd),console[_0x357ae3(0x217)](_0x357ae3(0x231)+_0x4c57c7['domRef']['selector']);}else{if(_0x4c57c7['spatial']){const _0x21b33f=_0x4c57c7[_0x357ae3(0x228)]['coordinates'];_0x4e196e['eoeJP'](_0x4c57c7[_0x357ae3(0x228)][_0x357ae3(0x27b)],'point')&&_0x4e196e[_0x357ae3(0x1dc)](_0x21b33f['length'],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x21b33f[0x0][_0x357ae3(0x247)](0x2)+',\x20'+_0x21b33f[0x1]['toFixed'](0x2)+')'):console['log'](_0x357ae3(0x1e6)+_0x4c57c7[_0x357ae3(0x228)]['type']+_0x357ae3(0x227)+_0x21b33f['map'](_0x114324=>_0x114324['toFixed'](0x2))[_0x357ae3(0x257)](',\x20')+']');}}}if(_0x24ecb7[_0x357ae3(0x1e1)]){console['log'](_0x357ae3(0x1d8));for(const _0x12b908 of _0x24ecb7['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x12b908);}}}else console[_0x357ae3(0x217)]('Scenario\x20'+_0x4e196e['uXuIw'](_0x1f9f36,0x1)+':\x20\x22'+_0x419e24['description']+'\x22'+_0x4a020f+_0x357ae3(0x26c)),console[_0x357ae3(0x217)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x566bb7){const _0x1f34d6=_0x4bac,_0x53b8c5={'ylzFf':function(_0x138238){return _0x138238();},'hoRrR':function(_0x70850f,_0x45c7ab){return _0x70850f(_0x45c7ab);},'GhmJT':function(_0x5d1748,_0x5d3021){return _0x5d1748+_0x5d3021;},'TsGQs':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x2366d9=_0x566bb7||await _0x53b8c5[_0x1f34d6(0x28f)](getActiveFeatureId);if(!_0x2366d9)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x44e9ea=await getFeature(_0x2366d9);await _0x53b8c5['hoRrR'](softDeleteFeature,_0x2366d9),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x44e9ea[_0x1f34d6(0x259)]+'\x20('+_0x2366d9+')'),console['log'](_0x53b8c5[_0x1f34d6(0x21e)](_0x53b8c5[_0x1f34d6(0x230)],_0x2366d9));}export async function featureRestore(_0x4a25cc){const _0x11a688=_0x4bac,_0x1dc4f1={'dZPaL':function(_0x7229e,_0x33474a){return _0x7229e(_0x33474a);},'MvAPo':function(_0x1d7a54,_0x28c654,_0xa3d168){return _0x1d7a54(_0x28c654,_0xa3d168);}};await _0x1dc4f1['dZPaL'](restoreFeature,_0x4a25cc);const _0x555d71=await getFeature(_0x4a25cc);console[_0x11a688(0x217)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x555d71[_0x11a688(0x259)]+'\x20('+_0x4a25cc+')'),_0x1dc4f1[_0x11a688(0x290)](displayFeature,_0x555d71,_0x555d71[_0x11a688(0x28a)]);}
1
+ const _0xc65e02=_0x1064;(function(_0x4bed51,_0x4a439d){const _0x402474=_0x1064,_0x5988fd=_0x4bed51();while(!![]){try{const _0x1bd5c8=parseInt(_0x402474(0x8d))/0x1*(-parseInt(_0x402474(0xe8))/0x2)+-parseInt(_0x402474(0x10b))/0x3+-parseInt(_0x402474(0x13d))/0x4*(parseInt(_0x402474(0xe5))/0x5)+parseInt(_0x402474(0xa2))/0x6*(parseInt(_0x402474(0xa9))/0x7)+-parseInt(_0x402474(0xf3))/0x8*(-parseInt(_0x402474(0xc1))/0x9)+-parseInt(_0x402474(0xb1))/0xa*(parseInt(_0x402474(0xd6))/0xb)+-parseInt(_0x402474(0x79))/0xc*(-parseInt(_0x402474(0x11a))/0xd);if(_0x1bd5c8===_0x4a439d)break;else _0x5988fd['push'](_0x5988fd['shift']());}catch(_0x27e21f){_0x5988fd['push'](_0x5988fd['shift']());}}}(_0x4cfc,0x7c679));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x4cb599 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=_0xc85ade=>'\x1b[1m'+_0xc85ade+_0xc65e02(0x154);function getGitRepoUrl(){const _0xded7fa=_0xc65e02,_0x2cfc2a={'RKaCX':_0xded7fa(0xb9),'fFDgW':'utf-8','FCnbO':_0xded7fa(0xf7),'sYjOX':'github.com/'};try{const _0x4bf52a=execSync(_0x2cfc2a['RKaCX'],{'encoding':_0x2cfc2a[_0xded7fa(0x12f)],'stdio':[_0xded7fa(0xf7),_0x2cfc2a['FCnbO'],_0x2cfc2a[_0xded7fa(0xde)]]})[_0xded7fa(0xfb)]();return _0x4bf52a['replace'](/\.git$/,'')[_0xded7fa(0xee)](/^git@github\.com:/,_0x2cfc2a['sYjOX'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x2fb012=_0xc65e02,_0x39fc44={'lEqTe':function(_0x56d554,_0x32e04b,_0x22fe8e){return _0x56d554(_0x32e04b,_0x22fe8e);},'NPlfE':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','UcTmE':'pipe'};try{return _0x39fc44['lEqTe'](execSync,_0x39fc44['NPlfE'],{'encoding':_0x2fb012(0x155),'stdio':[_0x2fb012(0xf7),_0x39fc44[_0x2fb012(0x12b)],_0x39fc44[_0x2fb012(0x12b)]]})[_0x2fb012(0xfb)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3c00db=_0xc65e02,_0x1ac3cd={'RkLxB':_0x3c00db(0x155)},_0x116d59=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x116d59))return null;try{const _0x347d8c=await readFile(_0x116d59,_0x1ac3cd['RkLxB']);return _0x347d8c['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x36926e){const _0x4e8f69=_0xc65e02,_0x29bc5b={'QnPmy':function(_0x24e0d3){return _0x24e0d3();},'ehPCZ':function(_0x47f910,_0x90b247,_0x1f082b){return _0x47f910(_0x90b247,_0x1f082b);},'WWzUU':function(_0x5c99a8,_0x1e414c,_0x1e124a,_0x3ee59f){return _0x5c99a8(_0x1e414c,_0x1e124a,_0x3ee59f);}},_0x205217=_0x29bc5b[_0x4e8f69(0xd5)](getRangerDir),_0xeed0ea=_0x29bc5b[_0x4e8f69(0x113)](join,_0x205217,ACTIVE_FEATURE_FILE);!existsSync(_0x205217)&&await _0x29bc5b['ehPCZ'](mkdir,_0x205217,{'recursive':!![]}),await _0x29bc5b['WWzUU'](writeFile,_0xeed0ea,_0x36926e,'utf-8');}function getProgressDisplay(_0x4d559e){const _0x336e70=_0xc65e02,_0x484614={'yxtDm':function(_0x180c27,_0x2a10f4){return _0x180c27+_0x2a10f4;},'KbZiJ':function(_0x1e8c15,_0x32449f){return _0x1e8c15>_0x32449f;},'anOYC':function(_0x36a9ad,_0x155c8e){return _0x36a9ad>_0x155c8e;}},_0x316db4=_0x4d559e['verifiedItems']||0x0,_0x595159=_0x4d559e[_0x336e70(0x130)]||0x0,_0x1b7932=_0x4d559e[_0x336e70(0x11b)]||0x0,_0x519322=_0x4d559e[_0x336e70(0x141)]||0x0,_0x576fbf=_0x4d559e[_0x336e70(0x13c)]||0x0,_0x1c499c=_0x484614['yxtDm'](_0x484614['yxtDm'](_0x316db4,_0x595159)+_0x1b7932+_0x519322,_0x576fbf);if(_0x1c499c===0x0)return'-';const _0x560dc7=0xa,_0x56962c=Math[_0x336e70(0x13f)](_0x316db4/_0x1c499c*_0x560dc7),_0x38e26f=_0x484614[_0x336e70(0xd3)]('█'['repeat'](_0x56962c),'░'[_0x336e70(0x10f)](_0x560dc7-_0x56962c)),_0xe2f5fc=[];if(_0x1b7932>0x0)_0xe2f5fc[_0x336e70(0x72)](_0x1b7932+'\x20blocked');if(_0x484614[_0x336e70(0xbe)](_0x519322,0x0))_0xe2f5fc[_0x336e70(0x72)](_0x519322+'\x20incomplete');if(_0x595159>0x0)_0xe2f5fc['push'](_0x595159+_0x336e70(0x7e));const _0x58bfcf=_0x484614[_0x336e70(0xae)](_0xe2f5fc[_0x336e70(0x95)],0x0)?'\x20('+_0xe2f5fc[_0x336e70(0xcc)](',\x20')+')':'';return _0x38e26f+'\x20'+_0x316db4+'/'+_0x1c499c+'\x20verified'+_0x58bfcf;}function getCurrentSessionItems(_0x4bf2f9,_0x785952){const _0x563702=_0xc65e02;if(!_0x4bf2f9[_0x563702(0xec)])return _0x785952[_0x563702(0x88)](_0x5ee449=>!_0x5ee449[_0x563702(0xf6)]);return _0x785952['filter'](_0x5efece=>_0x5efece['sessionId']===_0x4bf2f9['currentSessionId']||!_0x5efece[_0x563702(0xf6)]);}function displayFeature(_0x5563e9,_0x45da8c){const _0x3a09ae=_0xc65e02,_0xd3aa7f={'LXWhL':'\x0a\x20\x20\x20Scenarios:','evEFg':function(_0x138e83,_0x59efce){return _0x138e83<_0x59efce;},'DLeXw':function(_0x4f304b,_0x3aed58){return _0x4f304b===_0x3aed58;},'Hyydw':'closed','WVskq':'verified','IZMFA':'incomplete','LWGqg':function(_0x2a25d8,_0x1ab94e){return _0x2a25d8===_0x1ab94e;},'MHGon':_0x3a09ae(0x134),'pqvjv':'verification_in_progress','txyPq':function(_0x2628d8,_0x11e1cd){return _0x2628d8>_0x11e1cd;},'lPmMy':function(_0x197995,_0x42178f){return _0x197995!==_0x42178f;},'ZuONc':function(_0x1ac4dd,_0x302629){return _0x1ac4dd!==_0x302629;},'hRMDF':function(_0x430578,_0x39c8c5){return _0x430578+_0x39c8c5;},'QxsUI':function(_0x427de5,_0x4ddf20){return _0x427de5===_0x4ddf20;},'AnKYG':function(_0x473f07,_0x55fad7){return _0x473f07===_0x55fad7;},'PdgVS':_0x3a09ae(0x111)};console['log']('\x0a'+_0x5563e9[_0x3a09ae(0xca)]+'\x20('+_0x5563e9['dashboardUrl']+')');_0x5563e9['stats']&&console[_0x3a09ae(0xb2)](_0x3a09ae(0x123)+getProgressDisplay(_0x5563e9['stats']));_0x5563e9['description']&&console[_0x3a09ae(0xb2)]('\x20\x20\x20Description:\x20'+_0x5563e9['description']);_0x5563e9['gitRepoUrl']&&console[_0x3a09ae(0xb2)]('\x20\x20\x20Repository:\x20'+_0x5563e9['gitRepoUrl']);_0x5563e9['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x5563e9['gitBranch']);console[_0x3a09ae(0xb2)](_0x3a09ae(0x133)+new Date(_0x5563e9[_0x3a09ae(0xb5)])[_0x3a09ae(0xc7)]());_0x5563e9['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x5563e9['completedAt'])[_0x3a09ae(0xc7)]());if(_0x45da8c&&_0x45da8c['length']>0x0){console['log'](_0xd3aa7f['LXWhL']);for(let _0xfa4604=0x0;_0xd3aa7f[_0x3a09ae(0x94)](_0xfa4604,_0x45da8c[_0x3a09ae(0x95)]);_0xfa4604++){const _0x5c9bc2=_0x45da8c[_0xfa4604];let _0x5f4e71;if(_0xd3aa7f['DLeXw'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f[_0x3a09ae(0x108)])&&_0xd3aa7f[_0x3a09ae(0x99)](_0x5c9bc2['terminalReason'],_0x3a09ae(0x111)))_0x5f4e71='✅';else{if(_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f[_0x3a09ae(0xc8)])_0x5f4e71='🟢';else{if(_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f['IZMFA'])_0x5f4e71='🟠';else{if(_0xd3aa7f[_0x3a09ae(0x103)](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['MHGon']))_0x5f4e71='🛑';else{if(_0x5c9bc2['status']===_0x3a09ae(0xd2))_0x5f4e71='⛔';else _0xd3aa7f['DLeXw'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['pqvjv'])?_0x5f4e71='⏳':_0x5f4e71='⬜';}}}}const _0x2febc1=_0xd3aa7f[_0x3a09ae(0x12e)](_0x5c9bc2[_0x3a09ae(0x10d)],0x1)?'\x20(v'+_0x5c9bc2['version']+')':'',_0x16398d=_0x5c9bc2['version']>0x1&&_0x5c9bc2[_0x3a09ae(0xdc)]&&_0xd3aa7f['lPmMy'](_0x5c9bc2['status'],_0xd3aa7f['Hyydw'])&&_0xd3aa7f['ZuONc'](_0x5c9bc2[_0x3a09ae(0x11d)],'verified')?'\x20[has\x20reviewer\x20feedback]':'';console[_0x3a09ae(0xb2)]('\x20\x20\x20'+_0xd3aa7f[_0x3a09ae(0xf5)](_0xfa4604,0x1)+'.\x20'+_0x5f4e71+'\x20'+_0x5c9bc2[_0x3a09ae(0xa3)]+_0x2febc1+_0x16398d);_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f[_0x3a09ae(0x140)]&&_0x5c9bc2['blockedReason']&&console['log'](_0x3a09ae(0x110)+_0x5c9bc2['blockedReason']);_0xd3aa7f['LWGqg'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['IZMFA'])&&_0x5c9bc2[_0x3a09ae(0xe3)]&&console[_0x3a09ae(0xb2)](_0x3a09ae(0xa7)+_0x5c9bc2[_0x3a09ae(0xe3)]);if(_0xd3aa7f['QxsUI'](_0x5c9bc2['status'],_0xd3aa7f['Hyydw'])&&_0xd3aa7f['AnKYG'](_0x5c9bc2[_0x3a09ae(0x126)],_0xd3aa7f[_0x3a09ae(0x8b)]))console[_0x3a09ae(0xb2)]('\x20\x20\x20\x20\x20\x20Approved');else _0x5c9bc2['status']===_0x3a09ae(0xd2)&&_0x5c9bc2[_0x3a09ae(0xdd)]&&console[_0x3a09ae(0xb2)](_0x3a09ae(0x10e)+_0x5c9bc2['canceledReason']);}}}export async function featureCreate(_0x4d1a48,_0x14a139){const _0x3fa474=_0xc65e02,_0x324ec9={'RAENj':function(_0x45db40,_0x484a5c){return _0x45db40===_0x484a5c;},'bekBI':function(_0xf8e9fd,_0x5533f0){return _0xf8e9fd(_0x5533f0);},'XxqtI':function(_0x3f1883,_0x23b691){return _0x3f1883(_0x23b691);},'NyRNP':function(_0x4011f9,_0x401c96){return _0x4011f9(_0x401c96);}},{envNames:_0xbadea6}=await getEnvNames();_0x324ec9[_0x3fa474(0xdb)](_0xbadea6[_0x3fa474(0x95)],0x0)&&console['warn']('\x0a'+_0x324ec9['bekBI'](formatProfileRequiredMessage,_0x3ba9ac=>bold(_0x3ba9ac)));const _0xe92e6=_0x14a139[_0x3fa474(0xd1)]?_0x14a139['scenarios']['map'](_0x509072=>_0x509072['trim']()):[],_0x18ff87=getGitRepoUrl(),_0x258c39=getGitBranch();console['log'](_0x3fa474(0xcf));const _0xee4ac8=await _0x324ec9[_0x3fa474(0x86)](createFeature,{'name':_0x4d1a48,'description':_0x14a139['description'],'checklist':_0xe92e6,'gitRepoUrl':_0x18ff87,'gitBranch':_0x258c39});await _0x324ec9['NyRNP'](setActiveFeatureId,_0xee4ac8['id']),await tryStartCurrentSession(_0xee4ac8['id']);const _0x362365=process[_0x3fa474(0x77)][_0x3fa474(0x9a)];_0x362365&&registerSession(_0x362365,_0xee4ac8['id']),console[_0x3fa474(0xb2)](_0x3fa474(0x83)+_0xee4ac8['id']),displayFeature(_0xee4ac8,_0xee4ac8['checklistItems']),console['log'](_0x3fa474(0x9f));}export async function featureList(_0x366c7e){const _0x5163e4=_0xc65e02,_0x59cfae={'XrCiw':function(_0x3a8a6b){return _0x3a8a6b();},'dMJwN':function(_0x36f5e9,_0x40febb){return _0x36f5e9(_0x40febb);},'qGSjP':function(_0x36b1a3,_0x3313ae){return _0x36b1a3>_0x3313ae;},'ErXXZ':function(_0x11b037,_0x5b4cba){return _0x11b037(_0x5b4cba);},'ntkuN':function(_0x157480,_0x17cc68){return _0x157480!==_0x17cc68;},'CMLvA':'\x20--current-branch','iIbeS':'\x20--include-deleted'},_0x3bb700={'limit':_0x366c7e['limit']??0xa,'offset':_0x366c7e['offset']??0x0,'includeDeleted':_0x366c7e['includeDeleted']};_0x366c7e[_0x5163e4(0xfa)]&&(_0x3bb700['gitRepoUrl']=_0x59cfae['XrCiw'](getGitRepoUrl),_0x3bb700['gitBranch']=getGitBranch());const _0x3fd6b7=await _0x59cfae[_0x5163e4(0x78)](listFeatures,_0x3bb700);if(_0x3fd6b7['items'][_0x5163e4(0x95)]===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x19c61d=_0x59cfae['qGSjP'](_0x3fd6b7[_0x5163e4(0xc3)],_0x3fd6b7['items'][_0x5163e4(0x95)])?'Showing\x20'+_0x3fd6b7['items']['length']+_0x5163e4(0x13e)+_0x3fd6b7['totalCount']:_0x3fd6b7['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x19c61d+':\x0a');for(const _0x1365f0 of _0x3fd6b7['items']){const _0x17ca1f=_0x5163e4(0x71)['split']('|');let _0x2e8d6f=0x0;while(!![]){switch(_0x17ca1f[_0x2e8d6f++]){case'0':console[_0x5163e4(0xb2)](''+_0x1365f0[_0x5163e4(0xca)]);continue;case'1':console[_0x5163e4(0xb2)]('');continue;case'2':console['log'](_0x5163e4(0x133)+new Date(_0x1365f0['createdAt'])['toLocaleDateString']());continue;case'3':_0x1365f0['gitBranch']&&console[_0x5163e4(0xb2)]('\x20\x20\x20Branch:\x20'+_0x1365f0['gitBranch']);continue;case'4':console['log']('\x20\x20\x20ID:\x20'+_0x1365f0['id']);continue;case'5':_0x1365f0[_0x5163e4(0xcb)]&&console['log'](_0x5163e4(0x123)+_0x59cfae['ErXXZ'](getProgressDisplay,_0x1365f0['stats']));continue;}break;}}const _0x56ac29=_0x3bb700[_0x5163e4(0x8f)]??0xa,_0x2d1861=(_0x3bb700['offset']??0x0)+_0x3fd6b7[_0x5163e4(0x143)][_0x5163e4(0x95)];if(_0x2d1861<_0x3fd6b7[_0x5163e4(0xc3)]){const _0x1a0416=_0x59cfae[_0x5163e4(0x87)](_0x56ac29,0xa)?_0x5163e4(0xd7)+_0x56ac29:'',_0x444781=_0x366c7e[_0x5163e4(0xfa)]?_0x59cfae[_0x5163e4(0x121)]:'',_0xa68c49=_0x366c7e[_0x5163e4(0x139)]?_0x59cfae[_0x5163e4(0x90)]:'';console['log'](_0x5163e4(0x117)+_0x2d1861+_0x1a0416+_0x444781+_0xa68c49);}}export async function featureShow(_0x37e2d0){const _0x343ca0=_0xc65e02,_0x371552={'oaHHT':function(_0x2cfa3f){return _0x2cfa3f();},'iNtzZ':_0x343ca0(0x73),'aYmBW':function(_0x3dbecd,_0x209b76){return _0x3dbecd(_0x209b76);}},_0x297760=_0x37e2d0||await _0x371552[_0x343ca0(0xb7)](getActiveFeatureId);if(!_0x297760)throw new Error(_0x371552[_0x343ca0(0x148)]);const _0x4c2bb0=await _0x371552['aYmBW'](getFeature,_0x297760);displayFeature(_0x4c2bb0,_0x4c2bb0[_0x343ca0(0xad)]);}export async function featureResume(_0x123c93){const _0x9322a7=_0xc65e02,_0x3ef975={'APpnO':function(_0x296ef0,_0x160815){return _0x296ef0(_0x160815);},'SxLrV':function(_0x3438df,_0x147ee0){return _0x3438df!==_0x147ee0;},'PTPYG':function(_0x5334f8,_0x2efe46,_0x3e6788){return _0x5334f8(_0x2efe46,_0x3e6788);},'szLQP':_0x9322a7(0xce),'HbONj':_0x9322a7(0x14d),'UVzVp':_0x9322a7(0x137),'ihzaV':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','OlnQp':_0x9322a7(0xe6),'VOGjD':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','GMETH':function(_0x5ce6e8,_0x1cc5da){return _0x5ce6e8(_0x1cc5da);}};if(_0x123c93){const _0x14d5de=await getFeature(_0x123c93);await _0x3ef975[_0x9322a7(0x13a)](setActiveFeatureId,_0x14d5de['id']);const _0x55ac84=getGitBranch();_0x55ac84&&_0x3ef975[_0x9322a7(0x8e)](_0x55ac84,_0x14d5de[_0x9322a7(0xfc)])&&(await _0x3ef975['PTPYG'](updateFeature,_0x14d5de['id'],{'gitBranch':_0x55ac84}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x55ac84));console[_0x9322a7(0xb2)](_0x9322a7(0x105)+_0x14d5de['name']+'\x20('+_0x14d5de['id']+')'),await tryStartCurrentSession(_0x14d5de['id']);const _0x1c22ca=process[_0x9322a7(0x77)][_0x9322a7(0x9a)];_0x1c22ca&&registerSession(_0x1c22ca,_0x14d5de['id']);displayFeature(_0x14d5de,_0x14d5de['checklistItems']),await printFeedbackNudge(_0x14d5de['id']);return;}const _0x2d60f0=getGitRepoUrl(),_0x316628=getGitBranch();if(!_0x2d60f0&&!_0x316628)throw new Error(_0x3ef975[_0x9322a7(0x119)]);console[_0x9322a7(0xb2)](_0x9322a7(0xbd)+(_0x2d60f0||_0x3ef975['HbONj'])+'\x20/\x20'+(_0x316628||_0x9322a7(0x14d))+_0x9322a7(0x82));const _0x2f932d=await listFeatures({'gitRepoUrl':_0x2d60f0,'gitBranch':_0x316628}),_0x264367=_0x2f932d[_0x9322a7(0x143)][_0x9322a7(0x88)](_0x23a4c9=>!_0x23a4c9[_0x9322a7(0x146)]);if(_0x264367[_0x9322a7(0x95)]===0x0){console[_0x9322a7(0xb2)](_0x3ef975['UVzVp']),console['log'](_0x3ef975['ihzaV']);return;}let _0x464a92;if(_0x264367[_0x9322a7(0x95)]===0x1)_0x464a92=_0x264367[0x0];else{const _0x2f91cf=process[_0x9322a7(0xa6)][_0x9322a7(0x11c)]&&process['stdout']['isTTY'];if(!_0x2f91cf){console[_0x9322a7(0xb2)](_0x9322a7(0xd4));for(const _0x59c3f5 of _0x264367){console['log']('\x20\x20'+_0x59c3f5[_0x9322a7(0xca)]),console['log'](_0x9322a7(0x81)+_0x59c3f5['id']),_0x59c3f5['stats']&&console[_0x9322a7(0xb2)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x59c3f5['stats'])),_0x59c3f5[_0x9322a7(0xfc)]&&console[_0x9322a7(0xb2)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x59c3f5['gitBranch']);}throw new Error(_0x3ef975[_0x9322a7(0xb6)]);}const {selected:_0x90eeef}=await _0x4cb599[_0x9322a7(0xe7)]([{'type':'list','name':'selected','message':_0x3ef975[_0x9322a7(0xff)],'choices':_0x264367['map'](_0x3442c7=>({'name':_0x3442c7['name']+'\x20('+_0x3442c7['id']+')','value':_0x3442c7['id']}))}]);_0x464a92=_0x264367['find'](_0x3147de=>_0x3147de['id']===_0x90eeef);}await _0x3ef975[_0x9322a7(0x13a)](setActiveFeatureId,_0x464a92['id']);_0x316628&&_0x316628!==_0x464a92['gitBranch']&&(await _0x3ef975['PTPYG'](updateFeature,_0x464a92['id'],{'gitBranch':_0x316628}),console['log'](_0x9322a7(0xb3)+_0x316628));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x464a92['name']+'\x20('+_0x464a92['id']+')'),await _0x3ef975['GMETH'](tryStartCurrentSession,_0x464a92['id']);const _0x7efb67=await getFeature(_0x464a92['id']),_0xeca7da=process[_0x9322a7(0x77)][_0x9322a7(0x9a)];_0xeca7da&&registerSession(_0xeca7da,_0x7efb67['id']),displayFeature(_0x7efb67,_0x7efb67[_0x9322a7(0xad)]),await printFeedbackNudge(_0x7efb67['id']);}async function printFeedbackNudge(_0x4b5640){const _0x11a64f=_0xc65e02,_0xe82073={'VZOaf':function(_0x1eab0a,_0x4b0d38){return _0x1eab0a(_0x4b0d38);},'IdPOM':function(_0x1b6e3b,_0x587210){return _0x1b6e3b>_0x587210;},'CnvUw':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x24a4eb}=await _0xe82073['VZOaf'](getActionItems,_0x4b5640);let _0x540123=0x0,_0x2f4b9e=0x0;for(const _0x3743d6 of _0x24a4eb){const _0x3a2e94=await getItemFeedback(_0x4b5640,_0x3743d6['id']);_0xe82073['IdPOM'](_0x3a2e94[_0x11a64f(0x157)]['length'],0x0)&&(_0x540123+=_0x3a2e94['unaddressedComments']['length'],_0x2f4b9e++);}_0xe82073[_0x11a64f(0xef)](_0x540123,0x0)&&(console[_0x11a64f(0xb2)](_0x11a64f(0x7f)+_0x540123+_0x11a64f(0x118)+_0x2f4b9e+_0x11a64f(0x8a)),console['log'](_0xe82073[_0x11a64f(0x106)]));}catch{}}async function tryStartCurrentSession(_0x38e832){const _0x11c396=_0xc65e02,_0x2374cd={'NUjAn':function(_0x1d0868,_0x349c14){return _0x1d0868(_0x349c14);}};try{const {sessions:_0x4251ee}=await _0x2374cd[_0x11c396(0x107)](listFeatureSessions,_0x38e832),_0xdbef9c=_0x4251ee['find'](_0x1afdfe=>_0x1afdfe[_0x11c396(0x11d)]==='ready');_0xdbef9c&&(await startSession(_0x38e832,_0xdbef9c['id']),console[_0x11c396(0xb2)](_0x11c396(0x145)+_0xdbef9c['iteration']));}catch{}}export async function featureReport(_0x37bcad,_0x2090ea){const _0x24989e=_0xc65e02,_0x3ee81c={'KdnbK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','JeuQo':function(_0x321691,_0x47dcf9,_0x49b45b){return _0x321691(_0x47dcf9,_0x49b45b);},'NbrRt':function(_0x26d1ee,_0x339340,_0x5dfee7,_0x36cff0){return _0x26d1ee(_0x339340,_0x5dfee7,_0x36cff0);},'ujEIK':function(_0x4e61eb){return _0x4e61eb();},'bGwcS':function(_0x19e73d,_0x3da91d,_0x38c6db){return _0x19e73d(_0x3da91d,_0x38c6db);},'Vfxvm':'utf-8'},_0x37fafb=_0x37bcad||await getActiveFeatureId();if(!_0x37fafb)throw new Error(_0x3ee81c[_0x24989e(0x12a)]);console[_0x24989e(0xb2)]('\x0aGenerating\x20report...');const _0x4c75a2=await _0x3ee81c['JeuQo'](getFeatureReportMarkdown,_0x37fafb,{'style':_0x2090ea['style']}),_0x14ae4c=_0x2090ea[_0x24989e(0x12d)]||_0x3ee81c[_0x24989e(0x10c)](join,_0x3ee81c[_0x24989e(0x12c)](getRangerDir),_0x24989e(0xf8),_0x37fafb+'.md'),_0xf6973f=_0x3ee81c[_0x24989e(0x11f)](join,_0x14ae4c,'..');!existsSync(_0xf6973f)&&await _0x3ee81c[_0x24989e(0x142)](mkdir,_0xf6973f,{'recursive':!![]}),await writeFile(_0x14ae4c,_0x4c75a2,_0x3ee81c[_0x24989e(0x131)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x14ae4c);}function getScenarioResult(_0x36b490){const _0x161abb=_0xc65e02,_0x2a3d2d={'DeRYH':function(_0x332eae,_0x4e1b60){return _0x332eae===_0x4e1b60;}};if(_0x2a3d2d[_0x161abb(0xf0)](_0x36b490['status'],'closed'))return _0x36b490[_0x161abb(0x126)]??_0x161abb(0xd2);if(_0x2a3d2d['DeRYH'](_0x36b490[_0x161abb(0x11d)],_0x161abb(0xd8)))return _0x161abb(0xbf);return _0x36b490['status'];}function getScenarioRationale(_0x3c10e4,_0x58e511){const _0x55345c=_0xc65e02;if(_0x58e511)return _0x58e511;if(_0x3c10e4[_0x55345c(0x8c)])return _0x3c10e4[_0x55345c(0x8c)];if(_0x3c10e4[_0x55345c(0xe3)])return _0x3c10e4['incompleteReason'];if(_0x3c10e4['canceledReason'])return _0x3c10e4['canceledReason'];if(_0x3c10e4['notes'])return _0x3c10e4['notes'];return null;}export async function featureReportPrDescription(_0xaa1cf4,_0x36d25d){const _0x3a1e58=_0xc65e02,_0x19ad32={'jZbrk':_0x3a1e58(0x97),'eerlJ':function(_0x343c28,_0x388e7d){return _0x343c28(_0x388e7d);},'fPhZV':function(_0x2c8e42,_0x24bf9d,_0x2e99b8){return _0x2c8e42(_0x24bf9d,_0x2e99b8);},'qQCsk':function(_0x2ebf61,_0x18b297){return _0x2ebf61===_0x18b297;},'MpbJG':_0x3a1e58(0x7a),'lKbPt':function(_0x4fc245,_0x1f8da3){return _0x4fc245>_0x1f8da3;},'bmbFk':function(_0x593bbc,_0x57a9b3){return _0x593bbc<_0x57a9b3;},'dPaxT':function(_0x45b97b,_0x293a68){return _0x45b97b+_0x293a68;},'DGAXV':function(_0x25f10b,_0x6b8ed0){return _0x25f10b===_0x6b8ed0;},'vpSNz':function(_0x4b8de2,_0x46cdc3,_0x47f14f,_0x5d4179){return _0x4b8de2(_0x46cdc3,_0x47f14f,_0x5d4179);}},_0x48137b=_0xaa1cf4||await getActiveFeatureId();if(!_0x48137b)throw new Error(_0x19ad32['jZbrk']);const _0x2e43eb=await _0x19ad32['eerlJ'](getFeature,_0x48137b),_0xad09d9=_0x2e43eb['checklistItems']||[],_0x4f172c=_0x19ad32['fPhZV'](getCurrentSessionItems,_0x2e43eb,_0xad09d9);_0x19ad32['qQCsk'](_0x4f172c['length'],0x0)&&(console['error'](_0x19ad32[_0x3a1e58(0xd9)]),process['exit'](0x1));const _0x523a84=_0x36d25d[_0x3a1e58(0x149)]??[],_0x4ef0ed=_0x523a84['filter'](_0x3b556a=>!Number[_0x3a1e58(0xaf)](_0x3b556a)||_0x3b556a<0x1||_0x3b556a>_0x4f172c[_0x3a1e58(0x95)]);if(_0x19ad32['lKbPt'](_0x4ef0ed[_0x3a1e58(0x95)],0x0)){console[_0x3a1e58(0xa5)](_0x3a1e58(0x127)+_0x4ef0ed[_0x3a1e58(0xcc)](',\x20')),console[_0x3a1e58(0xb2)](_0x3a1e58(0x76));for(let _0x57ad28=0x0;_0x19ad32['bmbFk'](_0x57ad28,_0x4f172c['length']);_0x57ad28++){console[_0x3a1e58(0xb2)]('\x20\x20'+_0x19ad32['dPaxT'](_0x57ad28,0x1)+'.\x20'+_0x4f172c[_0x57ad28][_0x3a1e58(0xa3)]);}process[_0x3a1e58(0xc2)](0x1);}const _0x2a2fa6=new Set(_0x523a84[_0x3a1e58(0x114)](_0x11004c=>_0x11004c-0x1)),_0x305556=_0x4f172c[_0x3a1e58(0x88)]((_0x2a386e,_0x48b4e3)=>!_0x2a2fa6[_0x3a1e58(0xe4)](_0x48b4e3));_0x19ad32['DGAXV'](_0x305556['length'],0x0)&&(console['error'](_0x3a1e58(0xf1)),process[_0x3a1e58(0xc2)](0x1));if(_0x36d25d[_0x3a1e58(0xb4)])await _0x19ad32[_0x3a1e58(0x136)](outputJsonReport,_0x48137b,_0x2e43eb,_0x305556);else{const _0x3ecaae=await getFeatureReportMarkdown(_0x48137b,{'itemIds':_0x305556['map'](_0xe7b4a0=>_0xe7b4a0['id'])});process[_0x3a1e58(0xac)]['write'](_0x3ecaae['trimEnd']()+'\x0a');}}function _0x1064(_0x25f627,_0x5678dd){_0x25f627=_0x25f627-0x71;const _0x4cfcd6=_0x4cfc();let _0x10649f=_0x4cfcd6[_0x25f627];return _0x10649f;}async function outputJsonReport(_0x10681f,_0x44da79,_0x558c29){const _0x3f4b01=_0xc65e02,_0x10f2a4={'kSlEu':function(_0x4d3915,_0x1fc268){return _0x4d3915(_0x1fc268);},'oTZrR':function(_0x4b66f6,_0x14bac7){return _0x4b66f6===_0x14bac7;}},_0x5b3284=getApiBaseUrl(),_0x5b52ab=await getFeatureReport(_0x10681f),_0x1f5cdc=new Map(_0x5b52ab[_0x3f4b01(0xad)]['map'](_0x1f71c8=>[_0x1f71c8['id'],_0x1f71c8])),_0x584f6d=await Promise[_0x3f4b01(0x14f)](_0x558c29['map'](async _0x512f06=>{const _0x1c6a76=_0x3f4b01,_0x4bbde4=_0x1f5cdc[_0x1c6a76(0x100)](_0x512f06['id']),_0x18c525=_0x4bbde4?.[_0x1c6a76(0xc4)]??null;let _0x41e476=[];if(_0x512f06['browserSessionId'])try{const {steps:_0x376643}=await _0x10f2a4[_0x1c6a76(0x125)](getBrowserSessionSteps,_0x512f06['browserSessionId']);_0x376643[_0x1c6a76(0x95)]>0x0&&(_0x41e476=_0x376643[_0x1c6a76(0x114)](_0x3abe10=>{const _0x498880=_0x1c6a76,_0xab1377=_0x3abe10['assets'][_0x498880(0xfe)](_0x18395d=>_0x18395d['assetType']===_0x498880(0x96)&&_0x18395d['timing']==='after')??_0x3abe10[_0x498880(0xa0)]['find'](_0x2422ee=>_0x2422ee['assetType']==='screenshot');let _0x4986bb=null,_0x38018d=null;if(_0xab1377){const _0x3f45d6=_0xab1377[_0x498880(0x13b)]['location']['split']('/')['pop']();_0x4986bb=_0x5b3284+'/api/v1/mcp/browser-sessions/'+_0x512f06['browserSessionId']+_0x498880(0xed)+_0x3f45d6,_0x3f45d6&&(_0x38018d=_0x3f45d6[_0x498880(0xee)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x38018d||_0x3abe10[_0x498880(0xa3)]||_0x3abe10['stepName']||'Step\x20'+_0x3abe10['position'],'screenshot':_0x4986bb,'is_key_step':_0x3abe10[_0x498880(0xc9)]};}));}catch{}return _0x10f2a4['oTZrR'](_0x41e476['length'],0x0)&&_0x18c525?.['screenshotUrls']&&(_0x41e476=_0x18c525[_0x1c6a76(0x124)]['map']((_0x3e2fa7,_0x5557fb)=>({'description':_0x1c6a76(0x129)+(_0x5557fb+0x1),'screenshot':_0x3e2fa7,'is_key_step':![]}))),{'description':_0x512f06[_0x1c6a76(0xa3)],'result':getScenarioResult(_0x512f06),'rationale':getScenarioRationale(_0x512f06,_0x18c525?.['agentResponse']),'steps':_0x41e476};})),_0x22e392={'url':_0x44da79['dashboardUrl'],'scenarios':_0x584f6d};process['stdout']['write'](JSON['stringify'](_0x22e392,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2727fc){const _0x3b4f86=_0xc65e02,_0x491cb7={'wlrpW':function(_0x41d58a,_0x171b1d){return _0x41d58a(_0x171b1d);},'HGVda':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','FHAoA':function(_0x2f00f6,_0x2a7752){return _0x2f00f6!==_0x2a7752;}},_0x4e73db=_0x2727fc||await getActiveFeatureId();if(!_0x4e73db)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 _0x32fd3a=await _0x491cb7[_0x3b4f86(0x7d)](getFeature,_0x4e73db);if(!_0x32fd3a[_0x3b4f86(0xec)])throw new Error(_0x491cb7[_0x3b4f86(0xba)]);const {sessions:_0x3ec151}=await listFeatureSessions(_0x4e73db),_0x167694=_0x3ec151['find'](_0xbd85af=>_0xbd85af['id']===_0x32fd3a['currentSessionId']);if(!_0x167694)throw new Error(_0x3b4f86(0x144));if(_0x167694[_0x3b4f86(0x11d)]===_0x3b4f86(0x128)){console[_0x3b4f86(0xb2)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x491cb7[_0x3b4f86(0x93)](_0x167694[_0x3b4f86(0x11d)],'in_progress'))throw new Error(_0x3b4f86(0x153)+_0x167694[_0x3b4f86(0x11d)]);console[_0x3b4f86(0xb2)]('\x0aConcluding\x20session...'),await concludeSession(_0x4e73db,_0x32fd3a[_0x3b4f86(0xec)]),console[_0x3b4f86(0xb2)]('\x0a✅\x20Session\x20'+_0x167694['iteration']+_0x3b4f86(0x132)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0xc170f5){const _0x1377d5=_0xc65e02,_0x28ee94={'rHXKK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','iuRFg':function(_0x53938c,_0x141574){return _0x53938c(_0x141574);},'BhqAu':_0x1377d5(0xd0),'uXTGq':function(_0x1cb5e9,_0x584df6){return _0x1cb5e9===_0x584df6;},'oEMUi':'completed','DUHEE':function(_0x1c9248,_0x551db8){return _0x1c9248===_0x551db8;},'VanAw':'in_progress'},_0xd13a4f=_0xc170f5||await getActiveFeatureId();if(!_0xd13a4f)throw new Error(_0x28ee94[_0x1377d5(0x11e)]);const _0x5a12b1=await _0x28ee94['iuRFg'](getFeature,_0xd13a4f);console['log'](_0x1377d5(0x7b)+_0x5a12b1['name']+'\x0a');const {sessions:_0x4e1b76}=await listFeatureSessions(_0xd13a4f);if(_0x4e1b76['length']===0x0){console[_0x1377d5(0xb2)](_0x28ee94['BhqAu']);return;}for(const _0x81c24c of _0x4e1b76){const _0x16c060=_0x28ee94[_0x1377d5(0xda)](_0x81c24c['status'],_0x28ee94['oEMUi'])?'✅':_0x28ee94['DUHEE'](_0x81c24c['status'],_0x28ee94[_0x1377d5(0x98)])?'🔄':'▶️';console['log'](_0x16c060+'\x20Session\x20'+_0x81c24c['iteration']+'\x20('+_0x81c24c['id']+')'),console['log'](_0x1377d5(0xfd)+_0x81c24c[_0x1377d5(0x11d)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x81c24c[_0x1377d5(0xb5)])[_0x1377d5(0xc7)]()),_0x81c24c['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x81c24c[_0x1377d5(0x146)])[_0x1377d5(0xc7)]()),console[_0x1377d5(0xb2)]('');}}export async function featureAddScenario(_0x4e3d5b,_0x26250f){const _0x3f61c7=_0xc65e02,_0x6e31b3={'wGJkA':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','eXuNI':function(_0x5177a3,_0x477364){return _0x5177a3(_0x477364);},'bZElS':function(_0x5d492f,_0x296fca,_0x4435e8){return _0x5d492f(_0x296fca,_0x4435e8);}},_0x1a0824=_0x26250f||await getActiveFeatureId();if(!_0x1a0824)throw new Error(_0x6e31b3[_0x3f61c7(0x122)]);const _0x1c217e=await _0x6e31b3[_0x3f61c7(0x7c)](getFeature,_0x1a0824);if(_0x1c217e[_0x3f61c7(0x150)]&&!_0x1c217e[_0x3f61c7(0x150)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1c217e[_0x3f61c7(0x9e)]);await createChecklistItem(_0x1a0824,_0x4e3d5b);const _0x12b84f=await _0x6e31b3[_0x3f61c7(0x7c)](getFeature,_0x1a0824);console['log'](_0x3f61c7(0xaa)),_0x6e31b3[_0x3f61c7(0x14e)](displayFeature,_0x12b84f,_0x12b84f['checklistItems']);}export async function featureEditScenario(_0x5a1985,_0x477929){const _0x1e30e4=_0xc65e02,_0xdc4612={'IZkIX':function(_0x15bec0,_0x1bce08){return _0x15bec0(_0x1bce08);},'LTgBD':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','qUfeA':_0x1e30e4(0x76),'AccKg':function(_0x16a577,_0x258a6f){return _0x16a577<_0x258a6f;},'pWNqW':function(_0xc6e687,_0x48b98d){return _0xc6e687-_0x48b98d;},'pEymd':function(_0x795f79,_0x3c5c85){return _0x795f79>=_0x3c5c85;},'WAeZn':function(_0xf72e05,_0x313fa8){return _0xf72e05+_0x313fa8;},'Kbmmi':function(_0xc0f7b0,_0x237bc9,_0x4a4daa,_0x2824d1){return _0xc0f7b0(_0x237bc9,_0x4a4daa,_0x2824d1);},'cQXli':function(_0x1f30ac,_0x9ee05e,_0x2b26f8){return _0x1f30ac(_0x9ee05e,_0x2b26f8);}},_0x1b21c0=_0x477929['id']||await getActiveFeatureId();!_0x1b21c0&&(console[_0x1e30e4(0xa5)](_0x1e30e4(0x14b)),console[_0x1e30e4(0xa5)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x1e30e4(0xc2)](0x1));const _0xae8b81=await _0xdc4612['IZkIX'](getFeature,_0x1b21c0);_0xae8b81[_0x1e30e4(0x150)]&&!_0xae8b81['latestReview']['submittedAt']&&(console[_0x1e30e4(0xa5)](_0xdc4612[_0x1e30e4(0x147)]),console[_0x1e30e4(0xa5)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x1e30e4(0xa5)]('\x20\x20'+_0xae8b81[_0x1e30e4(0x9e)]),process['exit'](0x1));const _0x5d3c73=_0xae8b81[_0x1e30e4(0xad)]||[];_0x5d3c73[_0x1e30e4(0x95)]===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x1e30e4(0xc2)](0x1));if(_0x477929['scenario']===undefined){console[_0x1e30e4(0xa5)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x1e30e4(0xb2)](_0xdc4612['qUfeA']);for(let _0x216a5e=0x0;_0xdc4612[_0x1e30e4(0xa8)](_0x216a5e,_0x5d3c73[_0x1e30e4(0x95)]);_0x216a5e++){console['log']('\x20\x20'+(_0x216a5e+0x1)+'.\x20'+_0x5d3c73[_0x216a5e]['description']);}process['exit'](0x1);}const _0x103760=_0xdc4612['pWNqW'](_0x477929[_0x1e30e4(0x9c)],0x1);if(_0xdc4612['AccKg'](_0x103760,0x0)||_0xdc4612['pEymd'](_0x103760,_0x5d3c73['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x477929[_0x1e30e4(0x9c)]+'.\x20Feature\x20review\x20has\x20'+_0x5d3c73['length']+_0x1e30e4(0xe1)),console['log'](_0x1e30e4(0x76));for(let _0x25382f=0x0;_0xdc4612[_0x1e30e4(0xa8)](_0x25382f,_0x5d3c73[_0x1e30e4(0x95)]);_0x25382f++){console[_0x1e30e4(0xb2)]('\x20\x20'+_0xdc4612['WAeZn'](_0x25382f,0x1)+'.\x20'+_0x5d3c73[_0x25382f][_0x1e30e4(0xa3)]);}process['exit'](0x1);}const _0x5340da=_0x5d3c73[_0x103760];await _0xdc4612['Kbmmi'](updateChecklistItem,_0x1b21c0,_0x5340da['id'],{'description':_0x5a1985});const _0x37bdcc=await getFeature(_0x1b21c0);console['log'](_0x1e30e4(0x120)),_0xdc4612['cQXli'](displayFeature,_0x37bdcc,_0x37bdcc['checklistItems']);}async function downloadFeedbackImage(_0x3ab193,_0x15d7d2){const _0x4d5c89=_0xc65e02,_0x57d29d={'wEdVt':function(_0x229c55){return _0x229c55();},'Bwkqe':function(_0x31083c,_0xa7baa9,_0x305e17){return _0x31083c(_0xa7baa9,_0x305e17);},'eluxj':function(_0x2ff868,_0x295f4b){return _0x2ff868(_0x295f4b);}};try{const _0x5d3c89=join(_0x57d29d[_0x4d5c89(0x135)](getRangerDir),_0x4d5c89(0xe2));await mkdir(_0x5d3c89,{'recursive':!![]});const _0x440d0d=_0x57d29d[_0x4d5c89(0x84)](join,_0x5d3c89,'comment_'+_0x15d7d2+'.png'),_0x1154fc=await _0x57d29d[_0x4d5c89(0xb0)](fetch,_0x3ab193);if(!_0x1154fc['ok'])return null;const _0x114b36=Buffer[_0x4d5c89(0xf9)](await _0x1154fc[_0x4d5c89(0x10a)]());return await writeFile(_0x440d0d,_0x114b36),_0x440d0d;}catch{return null;}}function _0x4cfc(){const _0x560550=['feedback-images','incompleteReason','has','5QePzgE','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','prompt','10skIaLK','\x20at\x20[','element','domRef','currentSessionId','/artifacts/','replace','IdPOM','DeRYH','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20\x20✅\x20No\x20feedback\x20to\x20address','1024tbUzJl','content','hRMDF','sessionId','pipe','reports','from','currentBranch','trim','gitBranch','\x20\x20\x20Status:\x20','find','VOGjD','get',':\x20\x22','\x20unaddressed\x20comment(s)','LWGqg','toFixed','\x0a✅\x20Resumed\x20feature\x20review:\x20','CnvUw','NUjAn','Hyydw','vRQgz','arrayBuffer','696489LLMEyH','NbrRt','version','\x20\x20\x20\x20\x20\x20Cancelled:\x20','repeat','\x20\x20\x20\x20\x20\x20Blocked:\x20','approved','authorName','ehPCZ','map','ZGwrr','split','Next\x20page:\x20ranger\x20list\x20--offset\x20','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','szLQP','132158xWodrl','blockedItems','isTTY','status','rHXKK','bGwcS','\x0a✅\x20Scenario\x20updated','CMLvA','wGJkA','\x20\x20\x20Progress:\x20','screenshotUrls','kSlEu','terminalReason','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','completed','Screenshot\x20','KdnbK','UcTmE','ujEIK','output','txyPq','fFDgW','verificationInProgressItems','Vfxvm','\x20concluded.','\x20\x20\x20Created:\x20','blocked','wEdVt','vpSNz','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','authorEmail','includeDeleted','APpnO','storage','pendingItems','1709940ClqPrC','\x20of\x20','round','MHGon','incompleteItems','JeuQo','items','Current\x20session\x20not\x20found.','\x20\x20\x20▶️\x20Started\x20session\x20','completedAt','LTgBD','iNtzZ','excludeScenarios','textContent','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20>\x20','any','bZElS','all','latestReview','GUVsm','type','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x1b[0m','utf-8','pop','unaddressedComments','0|4|5|3|2|1','push','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','selector','\x0aAvailable\x20scenarios:','env','dMJwN','708nqRxhu','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','eXuNI','wlrpW','\x20in\x20progress','\x0a⚠️\x20\x20','\x20(v','\x20\x20\x20\x20\x20ID:\x20','...','\x0a✅\x20Feature\x20review\x20created:\x20','Bwkqe','EFgqA','XxqtI','ntkuN','filter','Scenario\x20','\x20scenario(s).','PdgVS','blockedReason','78762ukRlUa','SxLrV','limit','iIbeS','):\x20\x22','en-US','FHAoA','evEFg','length','screenshot','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','VanAw','DLeXw','CLAUDE_SESSION_ID','numeric','scenario','canonicalFlow','dashboardUrl','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','assets','Jvjpj','838446WDKRhU','description','\x20\x20\x20\x20','error','stdin','\x20\x20\x20\x20\x20\x20Incomplete:\x20','AccKg','49hIrLEC','\x0a✅\x20Scenario\x20added','short','stdout','checklistItems','anOYC','isInteger','eluxj','569460rfuVyp','log','\x20\x20\x20Updated\x20branch\x20to:\x20','json','createdAt','OlnQp','oaHHT','QvhDR','git\x20remote\x20get-url\x20origin','HGVda','toLocaleDateString','iEPpB','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','KbZiJ','in_progress','Unknown','2952GnbETD','exit','totalCount','linkedSession','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','nZwvg','toLocaleString','WVskq','isKeyStep','name','stats','join','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','Not\x20in\x20a\x20git\x20repository.','\x0aCreating\x20feature\x20review...','No\x20sessions\x20found.','scenarios','closed','yxtDm','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','QnPmy','11wJfwHg','\x20--limit\x20','verification_in_progress','MpbJG','uXTGq','RAENj','parentItemId','canceledReason','FCnbO','spatial','\x0a📋\x20Feedback\x20for:\x20','\x20scenarios.'];_0x4cfc=function(){return _0x560550;};return _0x4cfc();}export async function featureGetReview(_0x3f28e3){const _0x404dab=_0xc65e02,_0x31ed1b={'qrvHz':function(_0xfa6371,_0x54bf6f){return _0xfa6371(_0x54bf6f);},'GWsmB':function(_0x3d375f,_0x463ed7){return _0x3d375f===_0x463ed7;},'ZGwrr':function(_0x5107fd,_0x5a92bc){return _0x5107fd+_0x5a92bc;},'iEPpB':_0x404dab(0x92),'GUVsm':_0x404dab(0xc0),'vRQgz':function(_0x3075db,_0x2d909f,_0x1fa47b){return _0x3075db(_0x2d909f,_0x1fa47b);},'EzwRr':_0x404dab(0x14c),'nZwvg':_0x404dab(0xea),'Desjq':'point'},_0x26d698=_0x3f28e3||await getActiveFeatureId();if(!_0x26d698)throw new Error(_0x404dab(0x73));const _0x5deb7f=await getFeature(_0x26d698),{items:_0x7bca9c}=await _0x31ed1b['qrvHz'](getActionItems,_0x26d698);console['log'](_0x404dab(0xe0)+_0x5deb7f['name']+'\x20('+_0x5deb7f['id']+')\x0a');if(_0x31ed1b['GWsmB'](_0x7bca9c['length'],0x0)){console['log']('No\x20scenarios\x20found.');return;}for(let _0x2d7e96=0x0;_0x2d7e96<_0x7bca9c['length'];_0x2d7e96++){const _0x539060=_0x7bca9c[_0x2d7e96],_0x4b6786=_0x539060['version']>0x1?_0x404dab(0x80)+_0x539060[_0x404dab(0x10d)]+')':'',_0xddf8b=await getItemFeedback(_0x26d698,_0x539060['id']);if(_0xddf8b[_0x404dab(0x157)]['length']>0x0){console[_0x404dab(0xb2)]('Scenario\x20'+_0x31ed1b[_0x404dab(0x115)](_0x2d7e96,0x1)+_0x404dab(0x101)+_0x539060['description']+'\x22'+_0x4b6786+'\x20—\x20'+_0xddf8b['unaddressedComments'][_0x404dab(0x95)]+_0x404dab(0x102));for(const _0xdc91a0 of _0xddf8b[_0x404dab(0x157)]){const _0x1e63f9=new Date(_0xdc91a0['createdAt'])[_0x404dab(0xbb)](_0x31ed1b[_0x404dab(0xbc)],{'month':_0x404dab(0xab),'day':_0x404dab(0x9b)}),_0x1c0d0a=_0xdc91a0[_0x404dab(0x112)]||_0xdc91a0[_0x404dab(0x138)]||_0x31ed1b[_0x404dab(0x151)];console['log']('\x20\x20💬\x20'+_0x1c0d0a+'\x20('+_0x1e63f9+_0x404dab(0x91)+_0xdc91a0[_0x404dab(0xf4)]+'\x22');if(_0xdc91a0['assetUrl']){const _0x1c51cc=await _0x31ed1b[_0x404dab(0x109)](downloadFeedbackImage,_0xdc91a0['assetUrl'],_0xdc91a0['id']);_0x1c51cc&&console[_0x404dab(0xb2)](_0x404dab(0xc5)+_0x1c51cc);}if(_0xdc91a0['domRef']){const _0x1fc8a5=_0xdc91a0[_0x404dab(0xeb)][_0x404dab(0x75)]['split'](_0x31ed1b['EzwRr'])[_0x404dab(0x156)]()?.[_0x404dab(0x116)](':')[0x0]||_0x31ed1b[_0x404dab(0xc6)],_0x5a4c43=_0xdc91a0[_0x404dab(0xeb)]['textContent']?'\x20\x22'+_0xdc91a0[_0x404dab(0xeb)][_0x404dab(0x14a)]['slice'](0x0,0x3c)+'\x22':'';console[_0x404dab(0xb2)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1fc8a5+'>'+_0x5a4c43),console[_0x404dab(0xb2)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0xdc91a0['domRef']['selector']);}else{if(_0xdc91a0['spatial']){const _0x3f4594=_0xdc91a0[_0x404dab(0xdf)]['coordinates'];_0xdc91a0[_0x404dab(0xdf)]['type']===_0x31ed1b['Desjq']&&_0x3f4594['length']>=0x2?console['log'](_0x404dab(0xcd)+_0x3f4594[0x0][_0x404dab(0x104)](0x2)+',\x20'+_0x3f4594[0x1]['toFixed'](0x2)+')'):console['log'](_0x404dab(0x74)+_0xdc91a0[_0x404dab(0xdf)][_0x404dab(0x152)]+_0x404dab(0xe9)+_0x3f4594['map'](_0x4d6d5b=>_0x4d6d5b[_0x404dab(0x104)](0x2))[_0x404dab(0xcc)](',\x20')+']');}}}if(_0xddf8b[_0x404dab(0x9d)]){console[_0x404dab(0xb2)]('\x20\x20Expected\x20flow:');for(const _0xf96dfa of _0xddf8b['canonicalFlow'][_0x404dab(0x116)]('\x0a')){console['log'](_0x404dab(0xa4)+_0xf96dfa);}}}else console['log'](_0x404dab(0x89)+_0x31ed1b[_0x404dab(0x115)](_0x2d7e96,0x1)+_0x404dab(0x101)+_0x539060['description']+'\x22'+_0x4b6786+'\x20—\x20no\x20comments'),console['log'](_0x404dab(0xf2));console[_0x404dab(0xb2)]('');}}export async function featureDelete(_0x46ca99){const _0x1f7ea2=_0xc65e02,_0x3244d8={'acpDB':function(_0x553b9c){return _0x553b9c();},'bFysP':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','YKVmg':function(_0xbdb28f,_0x207f86){return _0xbdb28f(_0x207f86);},'kogND':function(_0x333752,_0x368ce0){return _0x333752+_0x368ce0;},'QvhDR':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x1a1706=_0x46ca99||await _0x3244d8['acpDB'](getActiveFeatureId);if(!_0x1a1706)throw new Error(_0x3244d8['bFysP']);const _0x309d2d=await getFeature(_0x1a1706);await _0x3244d8['YKVmg'](softDeleteFeature,_0x1a1706),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x309d2d['name']+'\x20('+_0x1a1706+')'),console[_0x1f7ea2(0xb2)](_0x3244d8['kogND'](_0x3244d8[_0x1f7ea2(0xb8)],_0x1a1706));}export async function featureRestore(_0x544bce){const _0x163a02=_0xc65e02,_0xd08e10={'EFgqA':function(_0x366106,_0x461ee6){return _0x366106(_0x461ee6);},'Jvjpj':function(_0x3889d5,_0x3b1b1c){return _0x3889d5(_0x3b1b1c);}};await _0xd08e10[_0x163a02(0x85)](restoreFeature,_0x544bce);const _0x1b02d2=await _0xd08e10[_0x163a02(0xa1)](getFeature,_0x544bce);console[_0x163a02(0xb2)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1b02d2['name']+'\x20('+_0x544bce+')'),displayFeature(_0x1b02d2,_0x1b02d2['checklistItems']);}
@@ -1 +1 @@
1
- (function(_0x5a318e,_0x299303){const _0x1965ac=_0x52b7,_0x887024=_0x5a318e();while(!![]){try{const _0x23b37a=-parseInt(_0x1965ac(0x140))/0x1*(parseInt(_0x1965ac(0x13f))/0x2)+-parseInt(_0x1965ac(0x142))/0x3+-parseInt(_0x1965ac(0x144))/0x4+parseInt(_0x1965ac(0x13c))/0x5*(-parseInt(_0x1965ac(0x138))/0x6)+-parseInt(_0x1965ac(0x137))/0x7*(-parseInt(_0x1965ac(0x141))/0x8)+-parseInt(_0x1965ac(0x13d))/0x9*(parseInt(_0x1965ac(0x13b))/0xa)+parseInt(_0x1965ac(0x139))/0xb;if(_0x23b37a===_0x299303)break;else _0x887024['push'](_0x887024['shift']());}catch(_0x551359){_0x887024['push'](_0x887024['shift']());}}}(_0x123d,0xc4ceb));function _0x52b7(_0x115726,_0x5c88b1){_0x115726=_0x115726-0x137;const _0x123d0e=_0x123d();let _0x52b7c3=_0x123d0e[_0x115726];return _0x52b7c3;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x123d(){const _0x41db89=['error','124870nRCNYj','6241615FPITYb','972TaQXnB','Unknown\x20hook:\x20','2354092cSDbGM','1yooVsN','4968kGhnHQ','103083OhRLbq','join','56348JDPMaf','exit','14189theoGH','6Cgydfc','37067459MJzWxb'];_0x123d=function(){return _0x41db89;};return _0x123d();}export async function hook(_0x5b3c6a,_0x3d5b76){const _0x1acac7=_0x52b7,_0x3612a4=HOOKS[_0x5b3c6a];if(!_0x3612a4){const _0x3cdec0=Object['keys'](HOOKS)[_0x1acac7(0x143)](',\x20');console['error'](_0x1acac7(0x13e)+_0x5b3c6a),console[_0x1acac7(0x13a)]('Valid\x20hooks:\x20'+_0x3cdec0),process[_0x1acac7(0x145)](0x1);}await _0x3612a4(_0x3d5b76);}
1
+ (function(_0x4e0329,_0x233861){const _0x14eb82=_0xe650,_0x49d802=_0x4e0329();while(!![]){try{const _0x3cc9a6=-parseInt(_0x14eb82(0xfd))/0x1*(-parseInt(_0x14eb82(0x102))/0x2)+-parseInt(_0x14eb82(0x107))/0x3*(-parseInt(_0x14eb82(0x103))/0x4)+-parseInt(_0x14eb82(0xfc))/0x5*(-parseInt(_0x14eb82(0x109))/0x6)+-parseInt(_0x14eb82(0x106))/0x7*(-parseInt(_0x14eb82(0xfe))/0x8)+-parseInt(_0x14eb82(0x105))/0x9+-parseInt(_0x14eb82(0x108))/0xa*(-parseInt(_0x14eb82(0x100))/0xb)+-parseInt(_0x14eb82(0xff))/0xc;if(_0x3cc9a6===_0x233861)break;else _0x49d802['push'](_0x49d802['shift']());}catch(_0x487860){_0x49d802['push'](_0x49d802['shift']());}}}(_0x310a,0x1a247));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0xe650(_0x2f3a6c,_0x6b1e11){_0x2f3a6c=_0x2f3a6c-0xfc;const _0x310a27=_0x310a();let _0xe6506b=_0x310a27[_0x2f3a6c];return _0xe6506b;}function _0x310a(){const _0x34a416=['keys','1680318gfYbVT','2513THlHUF','1887WEdOOV','6060pohTvM','6EJdxxW','KeVHW','758515fyOPBT','9091ypHaej','1784NVMteR','2093484tRHxyW','3157gaooXb','Unknown\x20hook:\x20','2CxUKgV','340hFVrXl'];_0x310a=function(){return _0x34a416;};return _0x310a();}export async function hook(_0x3e77eb,_0x256daf){const _0x52d530=_0xe650,_0x1bb662={'KeVHW':function(_0x391290,_0xdb639e){return _0x391290(_0xdb639e);}},_0x45ce6c=HOOKS[_0x3e77eb];if(!_0x45ce6c){const _0x52d80f=Object[_0x52d530(0x104)](HOOKS)['join'](',\x20');console['error'](_0x52d530(0x101)+_0x3e77eb),console['error']('Valid\x20hooks:\x20'+_0x52d80f),process['exit'](0x1);}await _0x1bb662[_0x52d530(0x10a)](_0x45ce6c,_0x256daf);}
@@ -1 +1 @@
1
- function _0x1049(_0x4523d5,_0x587db6){_0x4523d5=_0x4523d5-0x106;const _0x4ce7d1=_0x4ce7();let _0x1049c6=_0x4ce7d1[_0x4523d5];return _0x1049c6;}(function(_0x1badbc,_0x2857c6){const _0x1f4ed8=_0x1049,_0x4fa779=_0x1badbc();while(!![]){try{const _0x184b1a=-parseInt(_0x1f4ed8(0x110))/0x1+-parseInt(_0x1f4ed8(0x108))/0x2*(-parseInt(_0x1f4ed8(0x10d))/0x3)+parseInt(_0x1f4ed8(0x10c))/0x4*(parseInt(_0x1f4ed8(0x112))/0x5)+parseInt(_0x1f4ed8(0x10f))/0x6+parseInt(_0x1f4ed8(0x10b))/0x7+-parseInt(_0x1f4ed8(0x111))/0x8+parseInt(_0x1f4ed8(0x109))/0x9*(-parseInt(_0x1f4ed8(0x10e))/0xa);if(_0x184b1a===_0x2857c6)break;else _0x4fa779['push'](_0x4fa779['shift']());}catch(_0x5d7550){_0x4fa779['push'](_0x4fa779['shift']());}}}(_0x4ce7,0x6c950));import{readHookInput}from'./output.js';function _0x4ce7(){const _0xee53dd=['BvDNK','session_id','35536ankjPj','152748XsnVFG','log','338709JWfBtP','126884nUreNy','93xcreWI','230nLrQjz','5079618EwEobk','502275lenwuz','5942680uXgSqE','100ehUtEb'];_0x4ce7=function(){return _0xee53dd;};return _0x4ce7();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x3a9d32=_0x1049,_0x554cbe={'BvDNK':function(_0x2e8961,_0x477350){return _0x2e8961(_0x477350);}},_0x49ee75=await readHookInput(),_0x48cb6d=_0x49ee75?.[_0x3a9d32(0x107)];if(!_0x48cb6d)return;if(isSessionEnabled(_0x48cb6d)||hasSessionBeenPrompted(_0x48cb6d))return;_0x554cbe[_0x3a9d32(0x106)](markSessionPrompted,_0x48cb6d),console[_0x3a9d32(0x10a)](AUTO_PROMPT_TEXT);}
1
+ function _0x45aa(_0xa5edb0,_0x37177e){_0xa5edb0=_0xa5edb0-0x146;const _0x5165d8=_0x5165();let _0x45aa43=_0x5165d8[_0xa5edb0];return _0x45aa43;}const _0x2d797c=_0x45aa;(function(_0x5ab64a,_0x2de6fd){const _0x158822=_0x45aa,_0x3b3a9c=_0x5ab64a();while(!![]){try{const _0x368008=-parseInt(_0x158822(0x14c))/0x1*(parseInt(_0x158822(0x14d))/0x2)+parseInt(_0x158822(0x14f))/0x3+-parseInt(_0x158822(0x148))/0x4*(parseInt(_0x158822(0x14a))/0x5)+parseInt(_0x158822(0x146))/0x6+-parseInt(_0x158822(0x147))/0x7+parseInt(_0x158822(0x14e))/0x8+parseInt(_0x158822(0x150))/0x9*(-parseInt(_0x158822(0x14b))/0xa);if(_0x368008===_0x2de6fd)break;else _0x3b3a9c['push'](_0x3b3a9c['shift']());}catch(_0x2f5b17){_0x3b3a9c['push'](_0x3b3a9c['shift']());}}}(_0x5165,0xed0c6));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x2d797c(0x149);function _0x5165(){const _0x5ef755=['9684328NOTQjW','2501268QVJPIx','126YuoorJ','obHgM','82608lRvtYT','2479568hSHLQn','2032ZEdBtr','\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.','2960kFIBNw','124850dyWLFX','5OJKDDt','102946cIjsnn'];_0x5165=function(){return _0x5ef755;};return _0x5165();}export async function autoPrompt(){const _0x34a824=_0x2d797c,_0x4a34fc={'PWDOe':function(_0x2a536e){return _0x2a536e();},'obHgM':function(_0x138e49,_0x4941f0){return _0x138e49(_0x4941f0);}},_0x150ab0=await _0x4a34fc['PWDOe'](readHookInput),_0x295315=_0x150ab0?.['session_id'];if(!_0x295315)return;if(isSessionEnabled(_0x295315)||hasSessionBeenPrompted(_0x295315))return;_0x4a34fc[_0x34a824(0x151)](markSessionPrompted,_0x295315),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x35964b,_0x3ac904){const _0x4981ef=_0x128e,_0x1b2a18=_0x35964b();while(!![]){try{const _0x4a03b4=parseInt(_0x4981ef(0xd5))/0x1*(-parseInt(_0x4981ef(0xd7))/0x2)+parseInt(_0x4981ef(0xd8))/0x3+parseInt(_0x4981ef(0xd0))/0x4*(parseInt(_0x4981ef(0xd3))/0x5)+-parseInt(_0x4981ef(0xd9))/0x6+-parseInt(_0x4981ef(0xd2))/0x7*(parseInt(_0x4981ef(0xde))/0x8)+parseInt(_0x4981ef(0xd6))/0x9+parseInt(_0x4981ef(0xda))/0xa;if(_0x4a03b4===_0x3ac904)break;else _0x1b2a18['push'](_0x1b2a18['shift']());}catch(_0x1f3b95){_0x1b2a18['push'](_0x1b2a18['shift']());}}}(_0x1fb8,0x20ba3));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x1fb8(){const _0x19c0ee=['295COGtgE','.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','2nBYrcy','2370195hqTilD','64822mYqalB','400617ASAaMJ','307590bWUghD','791000iBNtGz','jSDWq','CXQAQ','lSlUX','1053992BjiXjs','2552fLJzgn','master','14xFpsMq'];_0x1fb8=function(){return _0x19c0ee;};return _0x1fb8();}function _0x128e(_0x12c359,_0x54b21b){_0x12c359=_0x12c359-0xd0;const _0x1fb89e=_0x1fb8();let _0x128edc=_0x1fb89e[_0x12c359];return _0x128edc;}import{printBlock}from'./output.js';export async function disable(_0x171cf0){const _0x1f829b=_0x128e,_0x3b205e={'vEnjb':function(_0x26e477,_0x20c1cd){return _0x26e477(_0x20c1cd);},'jSDWq':function(_0x1c3d28){return _0x1c3d28();},'CXQAQ':'main','xXRoC':function(_0x300f72,_0x3ca80c){return _0x300f72!==_0x3ca80c;},'lSlUX':function(_0x465ff3,_0x1ef1f3){return _0x465ff3!==_0x1ef1f3;}},_0x302303=_0x171cf0||process['env']['CLAUDE_SESSION_ID']||'';_0x302303&&_0x3b205e['vEnjb'](disableSession,_0x302303);const _0x49eb83=_0x3b205e[_0x1f829b(0xdb)](getCurrentBranch);_0x49eb83&&_0x49eb83!==_0x3b205e[_0x1f829b(0xdc)]&&_0x3b205e['xXRoC'](_0x49eb83,'master')&&disableBranch(_0x49eb83),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x49eb83&&_0x49eb83!==_0x3b205e['CXQAQ']&&_0x3b205e[_0x1f829b(0xdd)](_0x49eb83,_0x1f829b(0xd1))?'\x20and\x20branch\x20\x27'+_0x49eb83+'\x27':'')+_0x1f829b(0xd4));}
1
+ function _0x8b4c(_0x53a6b8,_0x39788f){_0x53a6b8=_0x53a6b8-0x114;const _0x827f09=_0x827f();let _0x8b4c20=_0x827f09[_0x53a6b8];return _0x8b4c20;}(function(_0x13e9d2,_0x431f2c){const _0x206fb5=_0x8b4c,_0x371123=_0x13e9d2();while(!![]){try{const _0x4534e1=-parseInt(_0x206fb5(0x11a))/0x1+parseInt(_0x206fb5(0x115))/0x2+-parseInt(_0x206fb5(0x120))/0x3+-parseInt(_0x206fb5(0x117))/0x4*(parseInt(_0x206fb5(0x121))/0x5)+parseInt(_0x206fb5(0x11e))/0x6*(parseInt(_0x206fb5(0x11b))/0x7)+-parseInt(_0x206fb5(0x116))/0x8+-parseInt(_0x206fb5(0x11f))/0x9*(-parseInt(_0x206fb5(0x123))/0xa);if(_0x4534e1===_0x431f2c)break;else _0x371123['push'](_0x371123['shift']());}catch(_0x30fa8){_0x371123['push'](_0x371123['shift']());}}}(_0x827f,0x5ba61));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x827f(){const _0x36ce17=['1097024pFVuFu','1540120tCpyaH','9956jUJhGf','.\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`.','CSONM','745114wibLlh','3502527PoXGzE','CLAUDE_SESSION_ID','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','6GvDcmk','4800015ouDEQm','2213421UrPtLy','130HKdQhh','UXLSr','20lGkEOo','main','HLtBU','\x20and\x20branch\x20\x27'];_0x827f=function(){return _0x36ce17;};return _0x827f();}import{printBlock}from'./output.js';export async function disable(_0x33453f){const _0x594a92=_0x8b4c,_0xb360d4={'HLtBU':function(_0x2811c1,_0x30e06e){return _0x2811c1(_0x30e06e);},'HWFac':'master','CSONM':function(_0x541765,_0x6b3c86){return _0x541765(_0x6b3c86);},'UXLSr':function(_0xea9367,_0x46acb2){return _0xea9367!==_0x46acb2;}},_0x55d2cf=_0x33453f||process['env'][_0x594a92(0x11c)]||'';_0x55d2cf&&_0xb360d4['HLtBU'](disableSession,_0x55d2cf);const _0x3942dd=getCurrentBranch();_0x3942dd&&_0x3942dd!==_0x594a92(0x124)&&_0x3942dd!==_0xb360d4['HWFac']&&_0xb360d4[_0x594a92(0x125)](disableBranch,_0x3942dd),_0xb360d4[_0x594a92(0x119)](printBlock,_0x594a92(0x11d)+(_0x3942dd&&_0x3942dd!=='main'&&_0xb360d4[_0x594a92(0x122)](_0x3942dd,_0xb360d4['HWFac'])?_0x594a92(0x114)+_0x3942dd+'\x27':'')+_0x594a92(0x118));}
@@ -1 +1 @@
1
- (function(_0x2c85ab,_0x3cf2c8){const _0x3d4f9d=_0x276b,_0x1b125f=_0x2c85ab();while(!![]){try{const _0x4a7dc7=parseInt(_0x3d4f9d(0x95))/0x1*(parseInt(_0x3d4f9d(0x9a))/0x2)+-parseInt(_0x3d4f9d(0x86))/0x3+-parseInt(_0x3d4f9d(0x89))/0x4*(-parseInt(_0x3d4f9d(0x8b))/0x5)+-parseInt(_0x3d4f9d(0x99))/0x6*(parseInt(_0x3d4f9d(0x9c))/0x7)+-parseInt(_0x3d4f9d(0x88))/0x8+parseInt(_0x3d4f9d(0x87))/0x9+parseInt(_0x3d4f9d(0x92))/0xa;if(_0x4a7dc7===_0x3cf2c8)break;else _0x1b125f['push'](_0x1b125f['shift']());}catch(_0x10033b){_0x1b125f['push'](_0x1b125f['shift']());}}}(_0x5e2d,0x861d2));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x276b(_0x2ac41a,_0x2af920){_0x2ac41a=_0x2ac41a-0x84;const _0x5e2d72=_0x5e2d();let _0x276b39=_0x5e2d72[_0x2ac41a];return _0x276b39;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x5e2d(){const _0x1e77fa=['RRIJl','main','kCdrf','9330670KatFwa','vvLGH','LNwTF','1BRnhiW','\x0a\x0a**Branch\x20\x27','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','tRyeR','18wZrmJP','282482DVlGRJ','ranger\x20setup\x20--opencode','1184764kLhZph','\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.','RKIOZ','2248884WUFaUT','8903223uLAxvs','6395592OahDXq','2170432UFwHKZ','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','5eLOCVJ','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','uQSpE','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.'];_0x5e2d=function(){return _0x1e77fa;};return _0x5e2d();}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x311786){const _0x20f453=_0x276b,_0x34c29f={'LNwTF':'ranger\x20setup','dVVLq':_0x20f453(0x8c),'kCdrf':function(_0x345e77){return _0x345e77();},'RKIOZ':function(_0x48da95,_0x3a2fc1){return _0x48da95(_0x3a2fc1);},'uQSpE':function(_0x2af40c,_0x16fc27){return _0x2af40c!==_0x16fc27;},'RRIJl':_0x20f453(0x90),'bEwQL':function(_0xfb501,_0x476816){return _0xfb501!==_0x476816;},'tRyeR':'master','vvLGH':function(_0x1742c4){return _0x1742c4();}},_0x332fad=_0x311786||process['env']['CLAUDE_SESSION_ID']||'',_0x54cc06=Boolean(_0x311786),_0x479fda=await getToken();if(!_0x479fda){const _0x1a6cda=_0x54cc06?_0x20f453(0x9b):_0x34c29f[_0x20f453(0x94)],_0x495abd=_0x54cc06?_0x20f453(0x8a):_0x34c29f['dVVLq'];printBlock(_0x20f453(0x97)+_0x1a6cda+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x495abd);return;}try{await _0x34c29f[_0x20f453(0x91)](update);}catch{}_0x332fad&&_0x34c29f[_0x20f453(0x85)](enableSession,_0x332fad);const _0x7f175b=getCurrentBranch(),_0x3f94e5=_0x7f175b&&_0x34c29f[_0x20f453(0x8d)](_0x7f175b,_0x34c29f[_0x20f453(0x8f)])&&_0x34c29f['bEwQL'](_0x7f175b,_0x34c29f[_0x20f453(0x98)])?_0x20f453(0x96)+_0x7f175b+_0x20f453(0x8e):'',_0x281350=_0x34c29f[_0x20f453(0x93)](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x3f94e5+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x281350+_0x20f453(0x84));}
1
+ (function(_0x1d4c7c,_0x59320e){const _0x7b8d38=_0x3584,_0xb33c26=_0x1d4c7c();while(!![]){try{const _0x29f44f=parseInt(_0x7b8d38(0x164))/0x1+-parseInt(_0x7b8d38(0x167))/0x2+parseInt(_0x7b8d38(0x163))/0x3+-parseInt(_0x7b8d38(0x160))/0x4+parseInt(_0x7b8d38(0x15f))/0x5*(parseInt(_0x7b8d38(0x162))/0x6)+parseInt(_0x7b8d38(0x16a))/0x7+parseInt(_0x7b8d38(0x171))/0x8*(parseInt(_0x7b8d38(0x166))/0x9);if(_0x29f44f===_0x59320e)break;else _0xb33c26['push'](_0xb33c26['shift']());}catch(_0x39f87f){_0xb33c26['push'](_0xb33c26['shift']());}}}(_0x1133,0xbb33a));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3584(_0x5b6bd4,_0x34168a){_0x5b6bd4=_0x5b6bd4-0x15f;const _0x113359=_0x1133();let _0x35841c=_0x113359[_0x5b6bd4];return _0x35841c;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x1133(){const _0x64096d=['\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','master','dsscw','#\x20RANGER\x20ENABLED','nRFcH','\x0a\x0a**Branch\x20\x27','259816hkQxXu','ranger\x20setup','3280925jQjWsP','5538840hsXZIT','MMdsa','6smblIr','1257048KyHlaD','637604Qyjftv','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','99zXlbXb','282890sbuHQA','env','AGKeK','1560167WjxQju'];_0x1133=function(){return _0x64096d;};return _0x1133();}import{update}from'../update.js';export async function enable(_0x2e25a3){const _0xa7b9bd=_0x3584,_0x3b42db={'mRgxB':function(_0x4a599d,_0x5256fd){return _0x4a599d(_0x5256fd);},'AGKeK':function(_0x1fe8dc){return _0x1fe8dc();},'mmnli':_0xa7b9bd(0x172),'LZLEm':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','nRFcH':_0xa7b9bd(0x165),'MMdsa':function(_0x24eb5a){return _0x24eb5a();},'dsscw':_0xa7b9bd(0x16c)},_0x18c8e9=_0x2e25a3||process[_0xa7b9bd(0x168)]['CLAUDE_SESSION_ID']||'',_0x35674b=_0x3b42db['mRgxB'](Boolean,_0x2e25a3),_0x3f559c=await _0x3b42db[_0xa7b9bd(0x169)](getToken);if(!_0x3f559c){const _0x8b87ed=_0x35674b?'ranger\x20setup\x20--opencode':_0x3b42db['mmnli'],_0x28edaa=_0x35674b?_0x3b42db['LZLEm']:_0x3b42db[_0xa7b9bd(0x16f)];_0x3b42db['mRgxB'](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`'+_0x8b87ed+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x28edaa);return;}try{await _0x3b42db[_0xa7b9bd(0x161)](update);}catch{}_0x18c8e9&&enableSession(_0x18c8e9);const _0x501f37=_0x3b42db['AGKeK'](getCurrentBranch),_0x5ab975=_0x501f37&&_0x501f37!=='main'&&_0x501f37!==_0x3b42db[_0xa7b9bd(0x16d)]?_0xa7b9bd(0x170)+_0x501f37+_0xa7b9bd(0x16b):'',_0x3fbb47=getRangerSkillContent();printBlock(_0xa7b9bd(0x16e)+_0x5ab975+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x3fbb47+'\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 _0x47cc(_0x23373a,_0x589265){_0x23373a=_0x23373a-0x73;const _0x2d07c4=_0x2d07();let _0x47ccb6=_0x2d07c4[_0x23373a];return _0x47ccb6;}(function(_0x365ace,_0x3fc754){const _0x50549b=_0x47cc,_0x3e441a=_0x365ace();while(!![]){try{const _0x963e78=parseInt(_0x50549b(0x7b))/0x1*(parseInt(_0x50549b(0x79))/0x2)+-parseInt(_0x50549b(0x77))/0x3*(-parseInt(_0x50549b(0x7d))/0x4)+-parseInt(_0x50549b(0x78))/0x5*(parseInt(_0x50549b(0x7c))/0x6)+-parseInt(_0x50549b(0x73))/0x7*(parseInt(_0x50549b(0x74))/0x8)+-parseInt(_0x50549b(0x76))/0x9+-parseInt(_0x50549b(0x75))/0xa+parseInt(_0x50549b(0x7a))/0xb;if(_0x963e78===_0x3fc754)break;else _0x3e441a['push'](_0x3e441a['shift']());}catch(_0x5b91c8){_0x3e441a['push'](_0x3e441a['shift']());}}}(_0x2d07,0x208c6));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x53702d){const _0x228269={'buaGD':function(_0x4e34cf,_0x952347){return _0x4e34cf(_0x952347);}},_0x1a5a38=await _0x228269['buaGD'](getEnabledSessionId,_0x53702d);if(!_0x1a5a38)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x2d07(){const _0x2e8f19=['22883dOnFAa','304OYCbLS','1841150VecNys','1221804qwKYlM','442182cZHDPY','85105bDnIMD','154202cBkOnl','6316079HGZxfb','1VphvhT','78xpKaaV','4yYJmvP'];_0x2d07=function(){return _0x2e8f19;};return _0x2d07();}
1
+ function _0x4f31(_0x28a8dd,_0x1f16a2){_0x28a8dd=_0x28a8dd-0x16f;const _0x1cc941=_0x1cc9();let _0x4f312d=_0x1cc941[_0x28a8dd];return _0x4f312d;}(function(_0x20038b,_0x2e3ea3){const _0x393de6=_0x4f31,_0x545fa3=_0x20038b();while(!![]){try{const _0xdc061b=parseInt(_0x393de6(0x172))/0x1*(parseInt(_0x393de6(0x170))/0x2)+parseInt(_0x393de6(0x16f))/0x3*(parseInt(_0x393de6(0x177))/0x4)+-parseInt(_0x393de6(0x174))/0x5+-parseInt(_0x393de6(0x171))/0x6+-parseInt(_0x393de6(0x176))/0x7*(parseInt(_0x393de6(0x175))/0x8)+parseInt(_0x393de6(0x178))/0x9+parseInt(_0x393de6(0x179))/0xa;if(_0xdc061b===_0x2e3ea3)break;else _0x545fa3['push'](_0x545fa3['shift']());}catch(_0x1bc4a3){_0x545fa3['push'](_0x545fa3['shift']());}}}(_0x1cc9,0x26522));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1cc9(){const _0x41d7ca=['128NemLZf','105721HhzySJ','31400JuSPkH','889146zHWrGO','2334900nMowOy','39fMYqsy','2MxCSFQ','937050CeblDz','150677aODzpj','===\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===','151130RHBFZw'];_0x1cc9=function(){return _0x41d7ca;};return _0x1cc9();}export async function exitPlanMode(_0x4ae03d){const _0x4d669c=_0x4f31,_0x3ca068={'RqSRX':function(_0x19c18d,_0x223f8a){return _0x19c18d(_0x223f8a);}},_0xd72631=await _0x3ca068['RqSRX'](getEnabledSessionId,_0x4ae03d);if(!_0xd72631)return;printBlock(_0x4d669c(0x173));}
@@ -1 +1 @@
1
- (function(_0xffaf77,_0x2007f4){var _0x1e3c12=_0x4edd,_0x9a0378=_0xffaf77();while(!![]){try{var _0x44cd7a=parseInt(_0x1e3c12(0x71))/0x1*(-parseInt(_0x1e3c12(0x73))/0x2)+parseInt(_0x1e3c12(0x76))/0x3+parseInt(_0x1e3c12(0x72))/0x4+-parseInt(_0x1e3c12(0x77))/0x5*(parseInt(_0x1e3c12(0x75))/0x6)+parseInt(_0x1e3c12(0x78))/0x7+-parseInt(_0x1e3c12(0x74))/0x8+parseInt(_0x1e3c12(0x70))/0x9;if(_0x44cd7a===_0x2007f4)break;else _0x9a0378['push'](_0x9a0378['shift']());}catch(_0x5d4a58){_0x9a0378['push'](_0x9a0378['shift']());}}}(_0x397c,0x404fa));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x4edd(_0x16f1e1,_0xba1a88){_0x16f1e1=_0x16f1e1-0x70;var _0x397c2d=_0x397c();var _0x4edd58=_0x397c2d[_0x16f1e1];return _0x4edd58;}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x397c(){var _0x27580a=['2355680oiAELT','1415472LIyuEu','1491663hTFqRN','10yJZXYM','2939244IkZYwA','871254vlQNXg','215AYcVCq','1009992FTRspH','2202NBJWln'];_0x397c=function(){return _0x27580a;};return _0x397c();}export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x1fe381,_0x55c414){var _0x5cd691=_0x2a7f,_0xa454af=_0x1fe381();while(!![]){try{var _0x382398=parseInt(_0x5cd691(0x1c5))/0x1+-parseInt(_0x5cd691(0x1c8))/0x2+parseInt(_0x5cd691(0x1c3))/0x3+-parseInt(_0x5cd691(0x1c1))/0x4*(-parseInt(_0x5cd691(0x1c6))/0x5)+-parseInt(_0x5cd691(0x1c7))/0x6+-parseInt(_0x5cd691(0x1c9))/0x7+parseInt(_0x5cd691(0x1c4))/0x8*(parseInt(_0x5cd691(0x1c2))/0x9);if(_0x382398===_0x55c414)break;else _0xa454af['push'](_0xa454af['shift']());}catch(_0x4f436d){_0xa454af['push'](_0xa454af['shift']());}}}(_0x2b9d,0xcbeab));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x2b9d(){var _0x20c83b=['8680749zgSIhL','4oHbYMg','11004948tJggnU','2185644VIgYYa','16PUwHji','315448GNKwBb','5611090izIeBq','7050558ifngyb','2722630nXFDcr'];_0x2b9d=function(){return _0x20c83b;};return _0x2b9d();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';function _0x2a7f(_0x522386,_0x4dc739){_0x522386=_0x522386-0x1c1;var _0x2b9d90=_0x2b9d();var _0x2a7f6b=_0x2b9d90[_0x522386];return _0x2a7f6b;}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0xc8da19,_0xf05049){const _0xbcd1f2=_0x57e7,_0x41178a=_0xc8da19();while(!![]){try{const _0x553831=-parseInt(_0xbcd1f2(0x71))/0x1*(-parseInt(_0xbcd1f2(0x7b))/0x2)+parseInt(_0xbcd1f2(0x76))/0x3+-parseInt(_0xbcd1f2(0x74))/0x4*(-parseInt(_0xbcd1f2(0x72))/0x5)+-parseInt(_0xbcd1f2(0x7a))/0x6*(parseInt(_0xbcd1f2(0x70))/0x7)+-parseInt(_0xbcd1f2(0x78))/0x8*(parseInt(_0xbcd1f2(0x77))/0x9)+-parseInt(_0xbcd1f2(0x75))/0xa+-parseInt(_0xbcd1f2(0x7c))/0xb*(-parseInt(_0xbcd1f2(0x79))/0xc);if(_0x553831===_0xf05049)break;else _0x41178a['push'](_0x41178a['shift']());}catch(_0x408b49){_0x41178a['push'](_0x41178a['shift']());}}}(_0x3bca,0xc32c0));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x259ec6){console['log'](_0x259ec6);}function _0x57e7(_0x3b908f,_0x3a9bdb){_0x3b908f=_0x3b908f-0x70;const _0x3bca7d=_0x3bca();let _0x57e728=_0x3bca7d[_0x3b908f];return _0x57e728;}export async function readHookInput(){let _0x5dbd6f='';for await(const _0x1a720f of process['stdin']){_0x5dbd6f+=_0x1a720f;}try{return JSON['parse'](_0x5dbd6f);}catch{return null;}}export async function getEnabledSessionId(_0x2ecc0c){const _0x3f1b2c=_0x57e7,_0x1abe17={'PmebC':function(_0x596ee2,_0x34d64e){return _0x596ee2(_0x34d64e);}};if(_0x2ecc0c)return _0x1abe17[_0x3f1b2c(0x7d)](isSessionEnabled,_0x2ecc0c)?_0x2ecc0c:null;const _0x14b630=await readHookInput(),_0x90a6bf=_0x14b630?.[_0x3f1b2c(0x73)];if(!_0x90a6bf||!_0x1abe17['PmebC'](isSessionEnabled,_0x90a6bf))return null;return _0x90a6bf;}export async function getEnabledHookContext(_0x17060e){const _0x51a2fe=_0x57e7;if(_0x17060e){if(!isSessionEnabled(_0x17060e))return null;return{'sessionId':_0x17060e,'input':{'session_id':_0x17060e}};}const _0xd8ea2c=await readHookInput(),_0x32e504=_0xd8ea2c?.[_0x51a2fe(0x73)];if(!_0x32e504||!isSessionEnabled(_0x32e504))return null;return{'sessionId':_0x32e504,'input':_0xd8ea2c};}function _0x3bca(){const _0x48962f=['27304bWEPul','352524NjKAfC','36438ibAvfX','10PJJSim','550aVTOLB','PmebC','455ZyFoPZ','24997UPcadZ','67190wuGVRH','session_id','8hEQfXe','5472130GLvNeD','1867146xUahbp','1323kyMiZh'];_0x3bca=function(){return _0x48962f;};return _0x3bca();}
1
+ (function(_0x151664,_0x205acb){const _0x142a87=_0x10b8,_0x4295a8=_0x151664();while(!![]){try{const _0x345a7d=parseInt(_0x142a87(0xa8))/0x1*(-parseInt(_0x142a87(0xb0))/0x2)+-parseInt(_0x142a87(0xa3))/0x3*(-parseInt(_0x142a87(0xac))/0x4)+-parseInt(_0x142a87(0xb1))/0x5*(parseInt(_0x142a87(0xae))/0x6)+-parseInt(_0x142a87(0xa9))/0x7*(parseInt(_0x142a87(0xa6))/0x8)+parseInt(_0x142a87(0xa4))/0x9+parseInt(_0x142a87(0xa5))/0xa*(-parseInt(_0x142a87(0xa2))/0xb)+-parseInt(_0x142a87(0xad))/0xc*(-parseInt(_0x142a87(0xab))/0xd);if(_0x345a7d===_0x205acb)break;else _0x4295a8['push'](_0x4295a8['shift']());}catch(_0x5da3ca){_0x4295a8['push'](_0x4295a8['shift']());}}}(_0x5e17,0x8c353));function _0x10b8(_0x267e2c,_0x375f50){_0x267e2c=_0x267e2c-0xa2;const _0x5e17ec=_0x5e17();let _0x10b8ed=_0x5e17ec[_0x267e2c];return _0x10b8ed;}function _0x5e17(){const _0x976779=['39COJDaD','9932724nScCnk','10BOxkpg','848SDbBPg','CHcoC','18779RTcZhq','51443zNLxKq','session_id','52rsRCdo','242108cGlYxU','1204188JWblPH','108fYMRFi','HwRnw','2RlohCS','137510AdThPJ','parse','stdin','4672613WNylDc'];_0x5e17=function(){return _0x976779;};return _0x5e17();}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0xb65b49){console['log'](_0xb65b49);}export async function readHookInput(){const _0x48ebad=_0x10b8;let _0x1f82ca='';for await(const _0xb27194 of process[_0x48ebad(0xb3)]){_0x1f82ca+=_0xb27194;}try{return JSON[_0x48ebad(0xb2)](_0x1f82ca);}catch{return null;}}export async function getEnabledSessionId(_0x31c716){const _0xfb3291=_0x10b8,_0x49b697={'CHcoC':function(_0x17e4f7,_0x569d5d){return _0x17e4f7(_0x569d5d);}};if(_0x31c716)return _0x49b697['CHcoC'](isSessionEnabled,_0x31c716)?_0x31c716:null;const _0x384d07=await readHookInput(),_0x588f08=_0x384d07?.[_0xfb3291(0xaa)];if(!_0x588f08||!_0x49b697[_0xfb3291(0xa7)](isSessionEnabled,_0x588f08))return null;return _0x588f08;}export async function getEnabledHookContext(_0x330fe8){const _0x2bda56=_0x10b8,_0x58f49e={'HwRnw':function(_0x363877,_0x573566){return _0x363877(_0x573566);}};if(_0x330fe8){if(!isSessionEnabled(_0x330fe8))return null;return{'sessionId':_0x330fe8,'input':{'session_id':_0x330fe8}};}const _0x4f90ff=await readHookInput(),_0xe14c58=_0x4f90ff?.['session_id'];if(!_0xe14c58||!_0x58f49e[_0x2bda56(0xaf)](isSessionEnabled,_0xe14c58))return null;return{'sessionId':_0xe14c58,'input':_0x4f90ff};}
@@ -1 +1 @@
1
- (function(_0x3105f3,_0xdd7cf1){const _0x9e8d00=_0x2d00,_0x505956=_0x3105f3();while(!![]){try{const _0x4cf5e5=parseInt(_0x9e8d00(0x84))/0x1*(-parseInt(_0x9e8d00(0x80))/0x2)+-parseInt(_0x9e8d00(0x7b))/0x3+parseInt(_0x9e8d00(0x82))/0x4*(-parseInt(_0x9e8d00(0x87))/0x5)+-parseInt(_0x9e8d00(0x7e))/0x6+parseInt(_0x9e8d00(0x81))/0x7*(parseInt(_0x9e8d00(0x86))/0x8)+-parseInt(_0x9e8d00(0x7c))/0x9+parseInt(_0x9e8d00(0x7d))/0xa*(parseInt(_0x9e8d00(0x85))/0xb);if(_0x4cf5e5===_0xdd7cf1)break;else _0x505956['push'](_0x505956['shift']());}catch(_0x558c24){_0x505956['push'](_0x505956['shift']());}}}(_0x5f2c,0x391ae));import{printBlock,getEnabledHookContext}from'./output.js';function _0x5f2c(){const _0x54131b=['778386HEGKkk','2180115cDQmIn','3130LGbSTb','1513722udXrnG','sessionId','130068hIlZKM','7QEhRTK','1476120zKEBKT','plan','4ZhSGKH','45848KuFMkQ','2499744SDuAiO','5hfvMWu'];_0x5f2c=function(){return _0x54131b;};return _0x5f2c();}function _0x2d00(_0x45b0c7,_0xcd4fe8){_0x45b0c7=_0x45b0c7-0x7b;const _0x5f2cc1=_0x5f2c();let _0x2d0058=_0x5f2cc1[_0x45b0c7];return _0x2d0058;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5f279a){const _0x7e3f0d=_0x2d00,_0x11235d={'axgwU':function(_0x4cde20,_0x472306){return _0x4cde20(_0x472306);}},_0x573aaa=await _0x11235d['axgwU'](getEnabledHookContext,_0x5f279a);if(!_0x573aaa)return;if(_0x573aaa['input']['permission_mode']!==_0x7e3f0d(0x83))return;if(!shouldShowPlanReminder(_0x573aaa[_0x7e3f0d(0x7f)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
1
+ function _0x51d8(){const _0x1010af=['2007212oZFcge','input','1835DWRgmT','890296qkZjMM','5380WQHIzi','161559VuKsll','1450wLqvoG','1457327zLNdVW','4910994qofnRm','581tIRUmN','plan','UAyAh','HMNJe','8718CSqDhv'];_0x51d8=function(){return _0x1010af;};return _0x51d8();}function _0x3e19(_0x47ebbd,_0x46fba0){_0x47ebbd=_0x47ebbd-0x143;const _0x51d87=_0x51d8();let _0x3e19a3=_0x51d87[_0x47ebbd];return _0x3e19a3;}(function(_0x143c71,_0x4d28c9){const _0x5b8360=_0x3e19,_0x50af71=_0x143c71();while(!![]){try{const _0x1f065c=parseInt(_0x5b8360(0x144))/0x1+-parseInt(_0x5b8360(0x14b))/0x2+-parseInt(_0x5b8360(0x145))/0x3+-parseInt(_0x5b8360(0x14f))/0x4*(parseInt(_0x5b8360(0x14d))/0x5)+-parseInt(_0x5b8360(0x14a))/0x6*(-parseInt(_0x5b8360(0x146))/0x7)+-parseInt(_0x5b8360(0x14e))/0x8+-parseInt(_0x5b8360(0x150))/0x9*(-parseInt(_0x5b8360(0x143))/0xa);if(_0x1f065c===_0x4d28c9)break;else _0x50af71['push'](_0x50af71['shift']());}catch(_0x4e0cdd){_0x50af71['push'](_0x50af71['shift']());}}}(_0x51d8,0xe4593));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x11d9e6){const _0x27dd5b=_0x3e19,_0x57ae69={'UAyAh':function(_0x1d1b20,_0x367b9f){return _0x1d1b20!==_0x367b9f;},'HMNJe':function(_0x316f34,_0x41a8d2){return _0x316f34(_0x41a8d2);}},_0x187cd8=await getEnabledHookContext(_0x11d9e6);if(!_0x187cd8)return;if(_0x57ae69[_0x27dd5b(0x148)](_0x187cd8[_0x27dd5b(0x14c)]['permission_mode'],_0x27dd5b(0x147)))return;if(!shouldShowPlanReminder(_0x187cd8['sessionId']))return;_0x57ae69[_0x27dd5b(0x149)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0xcaea79,_0x21f517){const _0x18053a=_0x1af7,_0x18f136=_0xcaea79();while(!![]){try{const _0x370569=parseInt(_0x18053a(0x76))/0x1*(parseInt(_0x18053a(0x6f))/0x2)+-parseInt(_0x18053a(0x74))/0x3+-parseInt(_0x18053a(0x6c))/0x4*(-parseInt(_0x18053a(0x75))/0x5)+-parseInt(_0x18053a(0x72))/0x6*(-parseInt(_0x18053a(0x6d))/0x7)+-parseInt(_0x18053a(0x70))/0x8+parseInt(_0x18053a(0x71))/0x9*(-parseInt(_0x18053a(0x6e))/0xa)+parseInt(_0x18053a(0x78))/0xb*(parseInt(_0x18053a(0x77))/0xc);if(_0x370569===_0x21f517)break;else _0x18f136['push'](_0x18f136['shift']());}catch(_0x3804ce){_0x18f136['push'](_0x18f136['shift']());}}}(_0x5e3e,0x684ad));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1af7(_0x53fb1d,_0x8309fd){_0x53fb1d=_0x53fb1d-0x6c;const _0x5e3e50=_0x5e3e();let _0x1af707=_0x5e3e50[_0x53fb1d];return _0x1af707;}export async function planStart(_0x2412c0){const _0x43169e=_0x1af7,_0x5071ff={'LnbZs':function(_0x151d0a,_0x3bc9d1){return _0x151d0a(_0x3bc9d1);}},_0x11f931=await getEnabledSessionId(_0x2412c0);if(!_0x11f931)return;_0x5071ff[_0x43169e(0x73)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}function _0x5e3e(){const _0x43316c=['3063044mSNOCk','21yhtaEZ','1790540AamDNd','2kPzjHU','6327648yZaFvs','9zyDNiI','1050402jbAWmP','LnbZs','570954UBVzEF','5GEAhth','228832QTfKmw','162516hwngzI','55nzaevp'];_0x5e3e=function(){return _0x43316c;};return _0x5e3e();}
1
+ (function(_0x5f16c9,_0x29a970){const _0xdf5c3=_0x313e,_0x20e101=_0x5f16c9();while(!![]){try{const _0x43f262=parseInt(_0xdf5c3(0x115))/0x1*(-parseInt(_0xdf5c3(0x114))/0x2)+parseInt(_0xdf5c3(0x112))/0x3+-parseInt(_0xdf5c3(0x10e))/0x4+parseInt(_0xdf5c3(0x10d))/0x5+parseInt(_0xdf5c3(0x10f))/0x6+parseInt(_0xdf5c3(0x111))/0x7+parseInt(_0xdf5c3(0x110))/0x8;if(_0x43f262===_0x29a970)break;else _0x20e101['push'](_0x20e101['shift']());}catch(_0x19f01d){_0x20e101['push'](_0x20e101['shift']());}}}(_0x4263,0xd40c4));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4abcc1){const _0x5c747d=_0x313e,_0x5f5cfe={'xMdbC':function(_0x1baaf9,_0xdbfead){return _0x1baaf9(_0xdbfead);}},_0x25220b=await getEnabledSessionId(_0x4abcc1);if(!_0x25220b)return;_0x5f5cfe[_0x5c747d(0x10c)](printBlock,_0x5c747d(0x113));}function _0x313e(_0x5ad3ba,_0x2671d1){_0x5ad3ba=_0x5ad3ba-0x10c;const _0x426340=_0x4263();let _0x313ef8=_0x426340[_0x5ad3ba];return _0x313ef8;}function _0x4263(){const _0xb53a2d=['4745728sMhDyR','6731466vBSRTU','1761992oDzzvL','524447aZkaCu','1770330bdchzI','===\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===','2zFHFcO','271021xVHBQF','xMdbC','1594050AqhLft'];_0x4263=function(){return _0xb53a2d;};return _0x4263();}
@@ -1 +1 @@
1
- (function(_0x783f67,_0x448f80){const _0x134475=_0x1adc,_0x4e44b7=_0x783f67();while(!![]){try{const _0x564e05=-parseInt(_0x134475(0x1a6))/0x1+-parseInt(_0x134475(0x1a7))/0x2*(parseInt(_0x134475(0x19e))/0x3)+-parseInt(_0x134475(0x1aa))/0x4+-parseInt(_0x134475(0x1a2))/0x5*(-parseInt(_0x134475(0x1a0))/0x6)+parseInt(_0x134475(0x19d))/0x7*(parseInt(_0x134475(0x1a3))/0x8)+-parseInt(_0x134475(0x1ab))/0x9*(parseInt(_0x134475(0x1a9))/0xa)+parseInt(_0x134475(0x1a4))/0xb;if(_0x564e05===_0x448f80)break;else _0x4e44b7['push'](_0x4e44b7['shift']());}catch(_0x537e3f){_0x4e44b7['push'](_0x4e44b7['shift']());}}}(_0x58ab,0x88927));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x1adc(_0x48d769,_0x16ed0){_0x48d769=_0x48d769-0x19d;const _0x58ab73=_0x58ab();let _0x1adc57=_0x58ab73[_0x48d769];return _0x1adc57;}function _0x58ab(){const _0x183716=['12AFJDbW','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).','1948565OVVfhI','8gXsgaV','9976714zUtCur','WJzkc','1063391vITxZd','20xtUnvp','PostToolUse','861480ixXPRr','878516bOWcTr','9WIbOQW','dLLSQ','2654799ejgRAx','41127xJewuJ','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'];_0x58ab=function(){return _0x183716;};return _0x58ab();}export async function postEdit(_0x64e1a){const _0x1ab23a=_0x1adc,_0x3bf74c={'WJzkc':function(_0x17e8c7,_0x2d0957){return _0x17e8c7(_0x2d0957);},'dLLSQ':function(_0x4b60b2){return _0x4b60b2();}},_0xcc398a=await getEnabledSessionId(_0x64e1a);if(!_0xcc398a)return;_0x3bf74c[_0x1ab23a(0x1a5)](updateBranchTracking,_0xcc398a);const _0x123733=await _0x3bf74c[_0x1ab23a(0x1ac)](getToken);if(!_0x123733)return;const _0x59377b=_0x3bf74c['WJzkc'](getSessionEntry,_0xcc398a);if(_0x59377b){const _0x363573={'hookSpecificOutput':{'hookEventName':_0x1ab23a(0x1a8),'additionalContext':_0x1ab23a(0x1a1)}};console['log'](JSON['stringify'](_0x363573));return;}const _0x55c393={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x1ab23a(0x19f)}};console['log'](JSON['stringify'](_0x55c393));}
1
+ (function(_0x52a7a2,_0x4b8886){const _0x35496f=_0x3981,_0x1f1efb=_0x52a7a2();while(!![]){try{const _0x3b9126=-parseInt(_0x35496f(0xe6))/0x1+parseInt(_0x35496f(0xed))/0x2*(-parseInt(_0x35496f(0xe2))/0x3)+parseInt(_0x35496f(0xdd))/0x4*(-parseInt(_0x35496f(0xec))/0x5)+parseInt(_0x35496f(0xe8))/0x6+-parseInt(_0x35496f(0xe0))/0x7+-parseInt(_0x35496f(0xe7))/0x8*(parseInt(_0x35496f(0xdf))/0x9)+-parseInt(_0x35496f(0xeb))/0xa*(-parseInt(_0x35496f(0xe3))/0xb);if(_0x3b9126===_0x4b8886)break;else _0x1f1efb['push'](_0x1f1efb['shift']());}catch(_0xaf41e6){_0x1f1efb['push'](_0x1f1efb['shift']());}}}(_0x27f4,0xa1638));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x3981(_0x11cd5b,_0x114484){_0x11cd5b=_0x11cd5b-0xdd;const _0x27f400=_0x27f4();let _0x3981a2=_0x27f400[_0x11cd5b];return _0x3981a2;}import{getToken}from'../utils/keychain.js';function _0x27f4(){const _0x35f385=['321515QwROdA','4SNVKmW','32YojrMC','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.','165357VFGcOG','2970457lpkTfS','stringify','209892JqJUXr','5126wBVgFk','PostToolUse','ipWiq','137039ZimRTk','568KmUCKS','4498110HeDCSm','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).','YLUzb','52180WsllQo'];_0x27f4=function(){return _0x35f385;};return _0x27f4();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x753539){const _0x485650=_0x3981,_0x28bfe1={'ipWiq':function(_0x3dde2e,_0x4e23fd){return _0x3dde2e(_0x4e23fd);},'YLUzb':_0x485650(0xe4)},_0x1e8f73=await _0x28bfe1['ipWiq'](getEnabledSessionId,_0x753539);if(!_0x1e8f73)return;updateBranchTracking(_0x1e8f73);const _0x3066ea=await getToken();if(!_0x3066ea)return;const _0x14cfff=_0x28bfe1[_0x485650(0xe5)](getSessionEntry,_0x1e8f73);if(_0x14cfff){const _0x386ecc={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x485650(0xe9)}};console['log'](JSON[_0x485650(0xe1)](_0x386ecc));return;}const _0x599124={'hookSpecificOutput':{'hookEventName':_0x28bfe1[_0x485650(0xea)],'additionalContext':_0x485650(0xde)}};console['log'](JSON['stringify'](_0x599124));}
@@ -1 +1 @@
1
- function _0x1e92(_0x438354,_0x8a3cc){_0x438354=_0x438354-0x14c;const _0x525e97=_0x525e();let _0x1e9279=_0x525e97[_0x438354];return _0x1e9279;}(function(_0xdca57e,_0x55fe53){const _0x1b17f7=_0x1e92,_0x18e62e=_0xdca57e();while(!![]){try{const _0x3e6f2c=parseInt(_0x1b17f7(0x152))/0x1+parseInt(_0x1b17f7(0x151))/0x2*(-parseInt(_0x1b17f7(0x158))/0x3)+-parseInt(_0x1b17f7(0x14c))/0x4*(parseInt(_0x1b17f7(0x156))/0x5)+parseInt(_0x1b17f7(0x150))/0x6*(-parseInt(_0x1b17f7(0x157))/0x7)+-parseInt(_0x1b17f7(0x14f))/0x8+-parseInt(_0x1b17f7(0x154))/0x9*(-parseInt(_0x1b17f7(0x155))/0xa)+-parseInt(_0x1b17f7(0x14e))/0xb*(-parseInt(_0x1b17f7(0x14d))/0xc);if(_0x3e6f2c===_0x55fe53)break;else _0x18e62e['push'](_0x18e62e['shift']());}catch(_0x16f3c5){_0x18e62e['push'](_0x18e62e['shift']());}}}(_0x525e,0x9e9bb));function _0x525e(){const _0x1d9723=['12414oOHNiU','1648068jHIWtZ','885366bkBPDo','BhidK','270sWUvEM','232230sDpTPN','1084645eKVIod','7BmbxZu','3SqtVSm','4MCKbtI','24VUjjdC','1452242edNkiM','1227272iXRVBB'];_0x525e=function(){return _0x1d9723;};return _0x525e();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x3c47e0){const _0x2059f7=_0x1e92,_0x1d3991={'BhidK':function(_0x93a8c0){return _0x93a8c0();}},_0x412ab1=await getEnabledSessionId(_0x3c47e0);if(!_0x412ab1)return;try{const _0x4abbec=await _0x1d3991[_0x2059f7(0x153)](getToken);if(!_0x4abbec)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
1
+ (function(_0x2ee681,_0x44f312){const _0x17ff5c=_0x2d82,_0x46b21f=_0x2ee681();while(!![]){try{const _0x150602=-parseInt(_0x17ff5c(0x143))/0x1*(parseInt(_0x17ff5c(0x144))/0x2)+parseInt(_0x17ff5c(0x145))/0x3+parseInt(_0x17ff5c(0x149))/0x4+-parseInt(_0x17ff5c(0x142))/0x5+-parseInt(_0x17ff5c(0x148))/0x6+parseInt(_0x17ff5c(0x141))/0x7*(parseInt(_0x17ff5c(0x146))/0x8)+-parseInt(_0x17ff5c(0x14a))/0x9*(-parseInt(_0x17ff5c(0x147))/0xa);if(_0x150602===_0x44f312)break;else _0x46b21f['push'](_0x46b21f['shift']());}catch(_0x340bf1){_0x46b21f['push'](_0x46b21f['shift']());}}}(_0x2660,0xe1323));import{getToken}from'../utils/keychain.js';function _0x2660(){const _0x594403=['260358EkyQck','8MkwvXH','301910irHdSW','3109470cjNEvK','6426416FoGkLL','207ttKaJr','KcFuE','10381749UVPOoI','3660925bVVvMb','1698057AMdrSV','2DVLdgG'];_0x2660=function(){return _0x594403;};return _0x2660();}function _0x2d82(_0x51e655,_0x911a17){_0x51e655=_0x51e655-0x140;const _0x2660a0=_0x2660();let _0x2d82bc=_0x2660a0[_0x51e655];return _0x2d82bc;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x27ec53){const _0x5388d6=_0x2d82,_0x28ceae={'dNpFg':function(_0x5306ac,_0x3cfe1e){return _0x5306ac(_0x3cfe1e);},'KcFuE':function(_0x3c0441,_0x23c783){return _0x3c0441(_0x23c783);}},_0xc0b9dc=await _0x28ceae['dNpFg'](getEnabledSessionId,_0x27ec53);if(!_0xc0b9dc)return;try{const _0x28be1e=await getToken();if(!_0x28be1e)return;_0x28ceae[_0x5388d6(0x140)](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
@@ -1 +1 @@
1
- function _0x21a0(){const _0x2b9417=['clear','IxtVC','2083039cmBmRj','11052CwgARL','6648nehxZw','2135HfLWhK','2806722VImxgM','541896ighKFv','407424QCsyRb','199448YgEcZj','sifJm','session_id','2540aXnnEg','36BdMraK'];_0x21a0=function(){return _0x2b9417;};return _0x21a0();}function _0xc5f3(_0x340591,_0x5bf073){_0x340591=_0x340591-0x127;const _0x21a0a3=_0x21a0();let _0xc5f3ae=_0x21a0a3[_0x340591];return _0xc5f3ae;}(function(_0x15476c,_0x2085d9){const _0x2a9d19=_0xc5f3,_0x66e315=_0x15476c();while(!![]){try{const _0xc60390=-parseInt(_0x2a9d19(0x12d))/0x1+-parseInt(_0x2a9d19(0x12e))/0x2*(-parseInt(_0x2a9d19(0x132))/0x3)+parseInt(_0x2a9d19(0x129))/0x4*(-parseInt(_0x2a9d19(0x12a))/0x5)+parseInt(_0x2a9d19(0x12b))/0x6+parseInt(_0x2a9d19(0x127))/0x7+parseInt(_0x2a9d19(0x12c))/0x8+parseInt(_0x2a9d19(0x128))/0x9*(-parseInt(_0x2a9d19(0x131))/0xa);if(_0xc60390===_0x2085d9)break;else _0x66e315['push'](_0x66e315['shift']());}catch(_0x40eabf){_0x66e315['push'](_0x66e315['shift']());}}}(_0x21a0,0x92acb));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x1a88e3){const _0xbed283=_0xc5f3,_0x5310df={'IxtVC':function(_0x550d62){return _0x550d62();},'AIgQh':_0xbed283(0x133),'sifJm':function(_0x26258f,_0x12f390){return _0x26258f(_0x12f390);}};let _0x477dda=_0x1a88e3,_0x2699f2;if(!_0x1a88e3){const _0x2b6e18=await _0x5310df[_0xbed283(0x134)](readHookInput);_0x477dda=_0x2b6e18?.[_0xbed283(0x130)],_0x2699f2=_0x2b6e18?.['reason'];}if(!_0x477dda)return;_0x2699f2===_0x5310df['AIgQh']&&_0x5310df[_0xbed283(0x12f)](recordEnabledSessionCleared,_0x477dda);}
1
+ (function(_0x2ef954,_0x40719f){const _0x106829=_0x2a9c,_0x3a5c4c=_0x2ef954();while(!![]){try{const _0x173c54=parseInt(_0x106829(0x124))/0x1*(parseInt(_0x106829(0x129))/0x2)+parseInt(_0x106829(0x125))/0x3*(parseInt(_0x106829(0x128))/0x4)+-parseInt(_0x106829(0x12f))/0x5*(-parseInt(_0x106829(0x12a))/0x6)+-parseInt(_0x106829(0x12b))/0x7*(parseInt(_0x106829(0x12d))/0x8)+parseInt(_0x106829(0x127))/0x9*(-parseInt(_0x106829(0x130))/0xa)+parseInt(_0x106829(0x12c))/0xb+-parseInt(_0x106829(0x12e))/0xc*(parseInt(_0x106829(0x126))/0xd);if(_0x173c54===_0x40719f)break;else _0x3a5c4c['push'](_0x3a5c4c['shift']());}catch(_0x5cff17){_0x3a5c4c['push'](_0x3a5c4c['shift']());}}}(_0x3099,0x63a79));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x2a9c(_0x2d4e19,_0xba654e){_0x2d4e19=_0x2d4e19-0x124;const _0x30992b=_0x3099();let _0x2a9c02=_0x30992b[_0x2d4e19];return _0x2a9c02;}import{readHookInput}from'./output.js';function _0x3099(){const _0x42b5ca=['51536kVcOeq','1548vFpjzT','1690265PbjJxZ','2110eFbTzy','326546KUtaDn','4041iklfKU','86151bPyCgA','15597btxjXg','596oyPQcv','2Svjmvw','12jgIGxZ','70qjtwjt','5387756DciEwf'];_0x3099=function(){return _0x42b5ca;};return _0x3099();}export async function sessionEnd(_0x3dad82){let _0x53783f=_0x3dad82,_0x12d38f;if(!_0x3dad82){const _0x356288=await readHookInput();_0x53783f=_0x356288?.['session_id'],_0x12d38f=_0x356288?.['reason'];}if(!_0x53783f)return;_0x12d38f==='clear'&&recordEnabledSessionCleared(_0x53783f);}
@@ -1 +1 @@
1
- const _0x989d74=_0x2c87;function _0x3293(){const _0xd50f2a=['source','2978956acmKew','\x20(Branch:\x20','KIDaP','=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================','357933vRGbKs','16fqSBbN','CLAUDE_ENV_FILE','export\x20CLAUDE_SESSION_ID=\x22','trackCommandEnd','3366748GWcQRE','628765iJyrFm','JLruD','14049497oAKkMC','PAQsH','stringify','8907561HJCSiu','session_id','186849YBTioa','78qTcyAC','fUWQG','stdin','xLIae','log','SessionStart','trackCommandStart','10yQHKLn','parse','44zhwOCz'];_0x3293=function(){return _0xd50f2a;};return _0x3293();}function _0x2c87(_0x44d1ad,_0x1305a8){_0x44d1ad=_0x44d1ad-0x14f;const _0x329313=_0x3293();let _0x2c8714=_0x329313[_0x44d1ad];return _0x2c8714;}(function(_0x208080,_0x23ea8b){const _0x4e364c=_0x2c87,_0x5fa0aa=_0x208080();while(!![]){try{const _0x51a8dd=-parseInt(_0x4e364c(0x152))/0x1+parseInt(_0x4e364c(0x15e))/0x2+parseInt(_0x4e364c(0x162))/0x3*(-parseInt(_0x4e364c(0x15c))/0x4)+-parseInt(_0x4e364c(0x168))/0x5*(-parseInt(_0x4e364c(0x153))/0x6)+parseInt(_0x4e364c(0x167))/0x7*(-parseInt(_0x4e364c(0x163))/0x8)+-parseInt(_0x4e364c(0x150))/0x9+parseInt(_0x4e364c(0x15a))/0xa*(parseInt(_0x4e364c(0x16a))/0xb);if(_0x51a8dd===_0x23ea8b)break;else _0x5fa0aa['push'](_0x5fa0aa['shift']());}catch(_0x1210bf){_0x5fa0aa['push'](_0x5fa0aa['shift']());}}}(_0x3293,0xe8127));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x989d74(0x161);export async function sessionStart(_0x42ab16){const _0x5bedf6=_0x989d74,_0x1dd07c={'gUHUU':_0x5bedf6(0x15d),'JLruD':function(_0x3de4a5,_0xc8c37d){return _0x3de4a5(_0xc8c37d);},'fUWQG':function(_0x48aaf4,_0x5daa30){return _0x48aaf4!==_0x5daa30;},'PAQsH':'main','CZsTz':'master','xLIae':_0x5bedf6(0x158),'KIDaP':function(_0x5f38c4,_0x46dbe0){return _0x5f38c4+_0x46dbe0;}};let _0x4f2537=_0x42ab16||'',_0x1d190d;if(!_0x42ab16){let _0x3e61cc='';for await(const _0x937c74 of process[_0x5bedf6(0x155)]){_0x3e61cc+=_0x937c74;}try{const _0x3465a3=JSON[_0x5bedf6(0x15b)](_0x3e61cc);_0x4f2537=_0x3465a3[_0x5bedf6(0x151)]||'',_0x1d190d=_0x3465a3[_0x1dd07c['gUHUU']];}catch{}const _0x218a80=process['env'][_0x5bedf6(0x164)];if(_0x218a80&&_0x4f2537)try{await appendFile(_0x218a80,_0x5bedf6(0x165)+_0x4f2537+'\x22\x0a');}catch{}}if(_0x4f2537){shouldAutoEnableAfterClear(_0x1d190d)&&_0x1dd07c[_0x5bedf6(0x169)](autoEnableAfterClear,_0x4f2537);_0x1dd07c['JLruD'](initBranchTracking,_0x4f2537);const _0x5166d3=isSessionEnabled(_0x4f2537);try{const _0x48d1b6=createTelemetryCollector('hook:session-start');await _0x48d1b6[_0x5bedf6(0x159)]({'sessionId':_0x4f2537,'hooksEnabled':_0x5166d3}),await _0x48d1b6[_0x5bedf6(0x166)]('success');}catch{}if(_0x5166d3){const _0x24e73f=getCurrentBranch(),_0x348104=_0x24e73f&&_0x1dd07c[_0x5bedf6(0x154)](_0x24e73f,_0x1dd07c[_0x5bedf6(0x16b)])&&_0x24e73f!==_0x1dd07c['CZsTz']?_0x5bedf6(0x15f)+_0x24e73f+')':'',_0x318a0d={'hookSpecificOutput':{'hookEventName':_0x1dd07c[_0x5bedf6(0x156)],'additionalContext':_0x1dd07c[_0x5bedf6(0x160)](RANGER_AUTO_ENABLED_PROMPT,_0x348104)}};console[_0x5bedf6(0x157)](JSON[_0x5bedf6(0x14f)](_0x318a0d));}}}
1
+ (function(_0x42e275,_0x1b1517){const _0x3ab132=_0x3781,_0x4d436b=_0x42e275();while(!![]){try{const _0x1938cc=-parseInt(_0x3ab132(0x166))/0x1+parseInt(_0x3ab132(0x170))/0x2*(-parseInt(_0x3ab132(0x176))/0x3)+parseInt(_0x3ab132(0x175))/0x4+-parseInt(_0x3ab132(0x164))/0x5*(parseInt(_0x3ab132(0x168))/0x6)+-parseInt(_0x3ab132(0x16d))/0x7+-parseInt(_0x3ab132(0x171))/0x8+parseInt(_0x3ab132(0x174))/0x9;if(_0x1938cc===_0x1b1517)break;else _0x4d436b['push'](_0x4d436b['shift']());}catch(_0x5ac924){_0x4d436b['push'](_0x4d436b['shift']());}}}(_0x3afc,0x77342));import{appendFile}from'fs/promises';function _0x3781(_0x2a36c5,_0x3f3538){_0x2a36c5=_0x2a36c5-0x164;const _0x3afc3e=_0x3afc();let _0x3781cf=_0x3afc3e[_0x2a36c5];return _0x3781cf;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x3afc(){const _0x2279a6=['564482wBRxgv','6423136eaFKVL','stringify','env','25702425FUTPEB','2654920FfEMjf','6eCFDyi','YrOuJ','GaSEn','fVfIk','hook:session-start','5KlQAEY','main','760573NULdPR','source','3296922sFUlnr','trackCommandEnd','session_id','\x20(Branch:\x20','tnsXV','2477041iEZnxH','SessionStart','log'];_0x3afc=function(){return _0x2279a6;};return _0x3afc();}const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x158ae2){const _0x253516=_0x3781,_0x12dad4={'GaSEn':function(_0x4d9700,_0x4b2892){return _0x4d9700||_0x4b2892;},'tnsXV':_0x253516(0x167),'ruMFw':function(_0x22e690,_0x1c99cb,_0x10672c){return _0x22e690(_0x1c99cb,_0x10672c);},'YrOuJ':function(_0xc258c6,_0x53ea1f){return _0xc258c6(_0x53ea1f);},'vfjmn':_0x253516(0x17a),'vEujU':function(_0x515d6a,_0x1b8030){return _0x515d6a!==_0x1b8030;},'ADCIF':_0x253516(0x16e),'fVfIk':function(_0x40e732,_0x46cc39){return _0x40e732+_0x46cc39;}};let _0x563689=_0x12dad4[_0x253516(0x178)](_0x158ae2,''),_0x1c892c;if(!_0x158ae2){let _0x2c343e='';for await(const _0x1ddcba of process['stdin']){_0x2c343e+=_0x1ddcba;}try{const _0x5096f8=JSON['parse'](_0x2c343e);_0x563689=_0x5096f8[_0x253516(0x16a)]||'',_0x1c892c=_0x5096f8[_0x12dad4[_0x253516(0x16c)]];}catch{}const _0x5d9716=process[_0x253516(0x173)]['CLAUDE_ENV_FILE'];if(_0x5d9716&&_0x563689)try{await _0x12dad4['ruMFw'](appendFile,_0x5d9716,'export\x20CLAUDE_SESSION_ID=\x22'+_0x563689+'\x22\x0a');}catch{}}if(_0x563689){_0x12dad4[_0x253516(0x177)](shouldAutoEnableAfterClear,_0x1c892c)&&autoEnableAfterClear(_0x563689);initBranchTracking(_0x563689);const _0xaf3f46=_0x12dad4[_0x253516(0x177)](isSessionEnabled,_0x563689);try{const _0x214c8c=createTelemetryCollector(_0x12dad4['vfjmn']);await _0x214c8c['trackCommandStart']({'sessionId':_0x563689,'hooksEnabled':_0xaf3f46}),await _0x214c8c[_0x253516(0x169)]('success');}catch{}if(_0xaf3f46){const _0x3a1f63=getCurrentBranch(),_0x8cc86e=_0x3a1f63&&_0x12dad4['vEujU'](_0x3a1f63,_0x253516(0x165))&&_0x3a1f63!=='master'?_0x253516(0x16b)+_0x3a1f63+')':'',_0x4d924a={'hookSpecificOutput':{'hookEventName':_0x12dad4['ADCIF'],'additionalContext':_0x12dad4[_0x253516(0x179)](RANGER_AUTO_ENABLED_PROMPT,_0x8cc86e)}};console[_0x253516(0x16f)](JSON[_0x253516(0x172)](_0x4d924a));}}}